LeviLamina
Loading...
Searching...
No Matches
TheEndDimension.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/AutomaticID.h"
7#include "mc/world/level/dimension/Dimension.h"
8#include "mc/world/level/dimension/LimboEntitiesVersion.h"
9#include "mc/world/level/storage/StorageVersion.h"
10
11// auto generated forward declare list
12// clang-format off
13class BlockPos;
14class ChunkSource;
15class CompoundTag;
17class EndDragonFight;
18class LevelChunk;
19class Vec3;
20class WorldGenerator;
21struct BiomeIdType;
23namespace br::worldgen { class StructureSetRegistry; }
24// clang-format on
25
26class TheEndDimension : public ::Dimension {
27public:
28 // member variables
29 // NOLINTBEGIN
30 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::EndDragonFight>> mDragonFight;
31 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::EndChaosLightManager>> mEndChaosLightManager;
32 // NOLINTEND
33
34public:
35 // prevent constructor by default
36 TheEndDimension();
37
38public:
39 // virtual functions
40 // NOLINTBEGIN
41 virtual ~TheEndDimension() /*override*/ = default;
42
43 virtual void startLeaveGame() /*override*/;
44
45 virtual void init(::br::worldgen::StructureSetRegistry const& structureSetRegistry) /*override*/;
46
47 virtual void tick() /*override*/;
48
49 virtual ::BiomeIdType getDefaultBiomeId() const /*override*/;
50
51 virtual bool isNaturalDimension() const /*override*/;
52
53 virtual bool isValidSpawn(int x, int z) const /*override*/;
54
55 virtual short getCloudHeight() const /*override*/;
56
57 virtual bool mayRespawnViaBed() const /*override*/;
58
59 virtual ::BlockPos getSpawnPos() const /*override*/;
60
61 virtual int getSpawnYPosition() const /*override*/;
62
63 virtual ::Vec3 translatePosAcrossDimension(::Vec3 const& originalPos, ::DimensionType fromId) const /*override*/;
64
65 virtual void deserialize(::CompoundTag const& tag) /*override*/;
66
67 virtual void serialize(::CompoundTag& tag) const /*override*/;
68
69 virtual float getTimeOfDay(int time, float a) const /*override*/;
70
71 virtual ::std::unique_ptr<::WorldGenerator>
72 createGenerator(::br::worldgen::StructureSetRegistry const& structureSetRegistry) /*override*/;
73
74 virtual bool levelChunkNeedsUpgrade(::LevelChunk const& lc) const /*override*/;
75
76 virtual void upgradeLevelChunk(::ChunkSource& source, ::LevelChunk& lc, ::LevelChunk& generatedChunk) /*override*/;
77
78 virtual void fixWallChunk(::ChunkSource& source, ::LevelChunk& lc) /*override*/;
79
80 virtual ::Dimension::DirectionalLightState getDimensionDirectionalLightSourceState(float a) const /*override*/;
81
82 virtual void setDimensionDirectionalLightControls(
83 ::std::variant<::Dimension::ChaoticDirectionalLightControls> const& directionalLightControls
84 ) /*override*/;
85
86 virtual void _upgradeOldLimboEntity(::CompoundTag& tag, ::LimboEntitiesVersion vers) /*override*/;
87
88 virtual ::std::unique_ptr<::ChunkSource> _wrapStorageForVersionCompatibility(
89 ::std::unique_ptr<::ChunkSource> storageSource,
90 ::StorageVersion levelVersion
91 ) /*override*/;
92 // NOLINTEND
93
94public:
95 // member functions
96 // NOLINTBEGIN
97 MCAPI explicit TheEndDimension(::DerivedDimensionArguments&& args);
98
99 MCAPI_C void _handleSoundEffects() const;
100 // NOLINTEND
101
102public:
103 // constructor thunks
104 // NOLINTBEGIN
105 MCAPI void* $ctor(::DerivedDimensionArguments&& args);
106 // NOLINTEND
107
108public:
109 // virtual function thunks
110 // NOLINTBEGIN
111 MCAPI void $startLeaveGame();
112
113 MCAPI void $init(::br::worldgen::StructureSetRegistry const& structureSetRegistry);
114
115 MCAPI void $tick();
116
117 MCAPI ::BiomeIdType $getDefaultBiomeId() const;
118
119 MCFOLD bool $isNaturalDimension() const;
120
121 MCFOLD bool $isValidSpawn(int x, int z) const;
122
123 MCFOLD short $getCloudHeight() const;
124
125 MCFOLD bool $mayRespawnViaBed() const;
126
127 MCAPI ::BlockPos $getSpawnPos() const;
128
129 MCFOLD int $getSpawnYPosition() const;
130
131 MCAPI ::Vec3 $translatePosAcrossDimension(::Vec3 const& originalPos, ::DimensionType fromId) const;
132
133 MCAPI void $deserialize(::CompoundTag const& tag);
134
135 MCAPI void $serialize(::CompoundTag& tag) const;
136
137 MCFOLD float $getTimeOfDay(int time, float a) const;
138
139 MCAPI ::std::unique_ptr<::WorldGenerator>
140 $createGenerator(::br::worldgen::StructureSetRegistry const& structureSetRegistry);
141
142 MCFOLD bool $levelChunkNeedsUpgrade(::LevelChunk const& lc) const;
143
144 MCFOLD void $upgradeLevelChunk(::ChunkSource& source, ::LevelChunk& lc, ::LevelChunk& generatedChunk);
145
146 MCFOLD void $fixWallChunk(::ChunkSource& source, ::LevelChunk& lc);
147
148 MCAPI ::Dimension::DirectionalLightState $getDimensionDirectionalLightSourceState(float a) const;
149
150 MCAPI void $setDimensionDirectionalLightControls(
151 ::std::variant<::Dimension::ChaoticDirectionalLightControls> const& directionalLightControls
152 );
153
154 MCFOLD void $_upgradeOldLimboEntity(::CompoundTag& tag, ::LimboEntitiesVersion vers);
155
156 MCFOLD ::std::unique_ptr<::ChunkSource>
157 $_wrapStorageForVersionCompatibility(::std::unique_ptr<::ChunkSource> storageSource, ::StorageVersion levelVersion);
158
159
160 // NOLINTEND
161
162public:
163 // vftables
164 // NOLINTBEGIN
166
167 MCAPI static void** $vftableForIDimension();
168
169 MCNAPI static void** $vftableForSavedData();
170
171 MCNAPI static void** $vftableForLevelListener();
172 // NOLINTEND
173};
Definition BlockPos.h:19
Definition ChunkSource.h:37
Definition CompoundTag.h:23
static MCAPI void ** $vftableForIDimension()
Definition EndChaosLightManager.h:5
Definition EndDragonFight.h:25
Definition LevelChunk.h:79
static MCAPI void ** $vftableForSavedData()
static MCAPI void ** $vftableForLevelListener()
static MCAPI void ** $vftableForEnableNonOwnerReferences()
Definition Vec3.h:10
Definition WorldGenerator.h:31
Definition StructureSetRegistry.h:12
Definition BiomeIdType.h:8
Definition DerivedDimensionArguments.h:15