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/world/level/dimension/Dimension.h"
7#include "mc/world/level/dimension/LimboEntitiesVersion.h"
8#include "mc/world/level/storage/StorageVersion.h"
9
10// auto generated forward declare list
11// clang-format off
12class BlockPos;
13class ChunkSource;
14class CompoundTag;
16class EndDragonFight;
17class LevelChunk;
18class Vec3;
19class WorldGenerator;
20struct BiomeIdType;
22struct DimensionType;
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, int) 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>
89 _wrapStorageForVersionCompatibility(::std::unique_ptr<::ChunkSource> storageSource, ::StorageVersion) /*override*/;
90 // NOLINTEND
91
92public:
93 // member functions
94 // NOLINTBEGIN
95 MCAPI explicit TheEndDimension(::DerivedDimensionArguments&& args);
96
97 MCAPI void _handleSoundEffects() const;
98 // NOLINTEND
99
100public:
101 // constructor thunks
102 // NOLINTBEGIN
103 MCAPI void* $ctor(::DerivedDimensionArguments&& args);
104 // NOLINTEND
105
106public:
107 // virtual function thunks
108 // NOLINTBEGIN
109 MCAPI void $startLeaveGame();
110
111 MCAPI void $init(::br::worldgen::StructureSetRegistry const& structureSetRegistry);
112
113 MCAPI void $tick();
114
115 MCAPI ::BiomeIdType $getDefaultBiomeId() const;
116
117 MCFOLD bool $isNaturalDimension() const;
118
119 MCFOLD bool $isValidSpawn(int, int) const;
120
121 MCAPI short $getCloudHeight() const;
122
123 MCFOLD bool $mayRespawnViaBed() const;
124
125 MCAPI ::BlockPos $getSpawnPos() const;
126
127 MCAPI int $getSpawnYPosition() const;
128
129 MCAPI ::Vec3 $translatePosAcrossDimension(::Vec3 const& originalPos, ::DimensionType fromId) const;
130
131 MCAPI void $deserialize(::CompoundTag const& tag);
132
133 MCAPI void $serialize(::CompoundTag& tag) const;
134
135 MCFOLD float $getTimeOfDay(int time, float a) const;
136
137 MCAPI ::std::unique_ptr<::WorldGenerator>
138 $createGenerator(::br::worldgen::StructureSetRegistry const& structureSetRegistry);
139
140 MCFOLD bool $levelChunkNeedsUpgrade(::LevelChunk const& lc) const;
141
142 MCFOLD void $upgradeLevelChunk(::ChunkSource& source, ::LevelChunk& lc, ::LevelChunk& generatedChunk);
143
144 MCFOLD void $fixWallChunk(::ChunkSource& source, ::LevelChunk& lc);
145
146 MCAPI ::Dimension::DirectionalLightState $getDimensionDirectionalLightSourceState(float a) const;
147
148 MCAPI void $setDimensionDirectionalLightControls(
149 ::std::variant<::Dimension::ChaoticDirectionalLightControls> const& directionalLightControls
150 );
151
152 MCFOLD void $_upgradeOldLimboEntity(::CompoundTag& tag, ::LimboEntitiesVersion vers);
153
154 MCFOLD ::std::unique_ptr<::ChunkSource>
155 $_wrapStorageForVersionCompatibility(::std::unique_ptr<::ChunkSource> storageSource, ::StorageVersion);
156
157
158 // NOLINTEND
159
160public:
161 // vftables
162 // NOLINTBEGIN
164
165 MCAPI static void** $vftableForIDimension();
166
167 MCNAPI static void** $vftableForSavedData();
168
169 MCNAPI static void** $vftableForLevelListener();
170 // NOLINTEND
171};
Definition BlockPos.h:21
Definition ChunkSource.h:37
Definition CompoundTag.h:23
static MCAPI void ** $vftableForIDimension()
Definition EndChaosLightManager.h:10
Definition EndDragonFight.h:25
Definition LevelChunk.h:87
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
Definition DimensionType.h:5