LeviLamina
Loading...
Searching...
No Matches
CustomDimension.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/biome/BiomeIdType.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 ChunkSource;
14class CompoundTag;
15class LevelChunk;
16class Vec3;
17class WorldGenerator;
20struct DimensionType;
21namespace br::worldgen { class StructureSetRegistry; }
22namespace mce { class Color; }
23// clang-format on
24
25class CustomDimension : public ::Dimension {
26public:
27 // member variables
28 // NOLINTBEGIN
29 ::ll::TypedStorage<8, 64, ::std::function<::std::unique_ptr<::WorldGenerator>(::Dimension&)>> mGeneratorCreator;
30 ::ll::TypedStorage<2, 2, ::BiomeIdType> mDefaultBiome;
31 // NOLINTEND
32
33public:
34 // prevent constructor by default
35 CustomDimension();
36
37public:
38 // virtual functions
39 // NOLINTBEGIN
40 virtual ~CustomDimension() /*override*/ = default;
41
42 virtual ::Vec3 translatePosAcrossDimension(::Vec3 const& originalPos, ::DimensionType fromId) const /*override*/;
43
44 virtual ::std::unique_ptr<::WorldGenerator>
45 createGenerator(::br::worldgen::StructureSetRegistry const&) /*override*/;
46
47 virtual bool levelChunkNeedsUpgrade(::LevelChunk const&) const /*override*/;
48
49 virtual void upgradeLevelChunk(::ChunkSource&, ::LevelChunk&, ::LevelChunk&) /*override*/;
50
51 virtual void fixWallChunk(::ChunkSource&, ::LevelChunk&) /*override*/;
52
53 virtual ::mce::Color getBrightnessDependentFogColor(::mce::Color const& baseColor, float brightness) const
54 /*override*/;
55
56 virtual void _upgradeOldLimboEntity(::CompoundTag&, ::LimboEntitiesVersion) /*override*/;
57
58 virtual ::std::unique_ptr<::ChunkSource> _wrapStorageForVersionCompatibility(
59 ::std::unique_ptr<::ChunkSource> storageSource,
60 ::StorageVersion levelVersion
61 ) /*override*/;
62 // NOLINTEND
63
64public:
65 // member functions
66 // NOLINTBEGIN
67 MCAPI CustomDimension(
70 ::std::string const& name,
71 ::CustomDimensionOptions const& options
72 );
73 // NOLINTEND
74
75public:
76 // constructor thunks
77 // NOLINTBEGIN
78 MCAPI void* $ctor(
81 ::std::string const& name,
82 ::CustomDimensionOptions const& options
83 );
84 // NOLINTEND
85
86public:
87 // virtual function thunks
88 // NOLINTBEGIN
89 MCAPI ::Vec3 $translatePosAcrossDimension(::Vec3 const& originalPos, ::DimensionType fromId) const;
90
91 MCAPI ::std::unique_ptr<::WorldGenerator> $createGenerator(::br::worldgen::StructureSetRegistry const&);
92
93 MCFOLD bool $levelChunkNeedsUpgrade(::LevelChunk const&) const;
94
95 MCFOLD void $upgradeLevelChunk(::ChunkSource&, ::LevelChunk&, ::LevelChunk&);
96
97 MCFOLD void $fixWallChunk(::ChunkSource&, ::LevelChunk&);
98
99 MCAPI ::mce::Color $getBrightnessDependentFogColor(::mce::Color const& baseColor, float brightness) const;
100
101 MCFOLD void $_upgradeOldLimboEntity(::CompoundTag&, ::LimboEntitiesVersion);
102
103 MCAPI ::std::unique_ptr<::ChunkSource>
104 $_wrapStorageForVersionCompatibility(::std::unique_ptr<::ChunkSource> storageSource, ::StorageVersion levelVersion);
105
106
107 // NOLINTEND
108
109public:
110 // vftables
111 // NOLINTBEGIN
112 MCNAPI static void** $vftableForSavedData();
113
114 MCNAPI static void** $vftableForIDimension();
115
117
118 MCNAPI static void** $vftableForLevelListener();
119 // NOLINTEND
120};
Definition ChunkSource.h:36
Definition CompoundTag.h:18
static MCAPI void ** $vftableForIDimension()
static MCAPI void ** $vftableForEnableNonOwnerReferences()
static MCAPI void ** $vftableForSavedData()
static MCAPI void ** $vftableForLevelListener()
Definition LevelChunk.h:77
Definition Vec3.h:10
Definition WorldGenerator.h:35
Definition StructureSetRegistry.h:12
Definition Color.h:13
Definition CustomDimensionOptions.h:5
Definition DerivedDimensionArguments.h:15
Definition DimensionType.h:5