Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
IDimension.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/platform/brstd/function_ref.h"
7
8// auto generated forward declare list
9// clang-format off
10class Actor;
11class BiomeRegistry;
12class Block;
13class BlockPos;
14class BlockSource;
16class Packet;
17class Player;
18class Vec3;
19struct ActorUniqueID;
20struct DimensionType;
22// clang-format on
23
25public:
26 // virtual functions
27 // NOLINTBEGIN
28 virtual ~IDimension() = default;
29
30 virtual bool isNaturalDimension() const = 0;
31
32 virtual bool shouldRenderClouds() const = 0;
33
34 virtual ::DimensionType getDimensionId() const = 0;
35
36 virtual void sendPacketForPosition(::BlockPos const& position, ::Packet const& packet, ::Player const* except) = 0;
37
38 virtual void sendPacketForEntity(::Actor const& actor, ::Packet const& packet, ::Player const* except) = 0;
39
40 virtual void flushLevelChunkGarbageCollector() = 0;
41
42 virtual void
43 initializeWithLevelStorageManagerConnector(::ILevelStorageManagerConnector& levelStorageManagerConnector) = 0;
44
45 virtual ::BiomeRegistry& getBiomeRegistry() = 0;
46
47 virtual ::BiomeRegistry const& getBiomeRegistry() const = 0;
48
49 virtual ::Vec3 translatePosAcrossDimension(::Vec3 const& originalPos, ::DimensionType fromId) const = 0;
50
51 virtual void forEachPlayer(::brstd::function_ref<bool(::Player&)> callback) const = 0;
52
53 virtual ::Actor* fetchEntity(::ActorUniqueID actorID, bool getRemoved) const = 0;
54
55 virtual ::BlockSource& getBlockSourceFromMainChunkSource() const = 0;
56
57 virtual void buildPlayersForPositionPacket(
58 ::BlockPos const& position,
59 ::Player const* except,
60 ::std::vector<::NetworkIdentifierWithSubId>& result
61 ) const = 0;
62
63 virtual void updatePoiBlockStateChange(::BlockPos pos, ::Block const& removed, ::Block const& placed) const;
64 // NOLINTEND
65
66public:
67 // virtual function thunks
68 // NOLINTBEGIN
69 MCNAPI void $updatePoiBlockStateChange(::BlockPos pos, ::Block const& removed, ::Block const& placed) const;
70
71
72 // NOLINTEND
73};
Definition Actor.h:116
Definition BiomeRegistry.h:37
Definition BlockPos.h:14
Definition BlockSource.h:72
Definition Block.h:42
Definition IDimension.h:24
MCAPI void $updatePoiBlockStateChange(::BlockPos pos, ::Block const &removed, ::Block const &placed) const
Definition ILevelStorageManagerConnector.h:13
Definition Packet.h:29
Definition Player.h:131
Definition Vec3.h:10
Definition function_ref.h:60
Definition ActorUniqueID.h:5
Definition DimensionType.h:5
Definition NetworkIdentifierWithSubId.h:10