Skip to content
LeviMC
English
AutoLightDark
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 ::ll::TypedStorage<2, 2, short> mDefaultCloudHeight;
32 ::ll::TypedStorage<1, 1, bool> mRenderClouds;
33 // NOLINTEND
34
35public:
36 // prevent constructor by default
37 CustomDimension();
38
39public:
40 // virtual functions
41 // NOLINTBEGIN
42 virtual ~CustomDimension() /*override*/ = default;
43
44 virtual ::Vec3 translatePosAcrossDimension(::Vec3 const& originalPos, ::DimensionType fromId) const /*override*/;
45
46 virtual ::std::unique_ptr<::WorldGenerator>
47 createGenerator(::br::worldgen::StructureSetRegistry const&) /*override*/;
48
49 virtual bool levelChunkNeedsUpgrade(::LevelChunk const&) const /*override*/;
50
51 virtual void upgradeLevelChunk(::ChunkSource&, ::LevelChunk&, ::LevelChunk&) /*override*/;
52
53 virtual void fixWallChunk(::ChunkSource&, ::LevelChunk&) /*override*/;
54
55 virtual ::mce::Color getBrightnessDependentFogColor(::mce::Color const& baseColor, float brightness) const
56 /*override*/;
57
58 virtual short getCloudHeight() const /*override*/;
59
60 virtual bool shouldRenderClouds() const /*override*/;
61
62 virtual void _upgradeOldLimboEntity(::CompoundTag&, ::LimboEntitiesVersion) /*override*/;
63
64 virtual ::std::unique_ptr<::ChunkSource> _wrapStorageForVersionCompatibility(
65 ::std::unique_ptr<::ChunkSource> storageSource,
66 ::StorageVersion levelVersion
67 ) /*override*/;
68 // NOLINTEND
69
70public:
71 // member functions
72 // NOLINTBEGIN
76 ::std::string const& name,
77 ::CustomDimensionOptions const& options
78 );
79 // NOLINTEND
80
81public:
82 // constructor thunks
83 // NOLINTBEGIN
84 MCNAPI void* $ctor(
87 ::std::string const& name,
88 ::CustomDimensionOptions const& options
89 );
90 // NOLINTEND
91
92public:
93 // virtual function thunks
94 // NOLINTBEGIN
95 MCNAPI ::Vec3 $translatePosAcrossDimension(::Vec3 const& originalPos, ::DimensionType fromId) const;
96
97 MCNAPI ::std::unique_ptr<::WorldGenerator> $createGenerator(::br::worldgen::StructureSetRegistry const&);
98
99 MCFOLD bool $levelChunkNeedsUpgrade(::LevelChunk const&) const;
100
102
103 MCFOLD void $fixWallChunk(::ChunkSource&, ::LevelChunk&);
104
105 MCNAPI ::mce::Color $getBrightnessDependentFogColor(::mce::Color const& baseColor, float brightness) const;
106
107 MCNAPI short $getCloudHeight() const;
108
109 MCNAPI bool $shouldRenderClouds() const;
110
111 MCFOLD void $_upgradeOldLimboEntity(::CompoundTag&, ::LimboEntitiesVersion);
112
113 MCNAPI ::std::unique_ptr<::ChunkSource>
114 $_wrapStorageForVersionCompatibility(::std::unique_ptr<::ChunkSource> storageSource, ::StorageVersion levelVersion);
115
116
117 // NOLINTEND
118};
Definition ChunkSource.h:37
Definition CompoundTag.h:18
MCAPI::mce::Color $getBrightnessDependentFogColor(::mce::Color const &baseColor, float brightness) const
MCAPI void * $ctor(::DerivedDimensionArguments &&args, ::DimensionType id, ::std::string const &name, ::CustomDimensionOptions const &options)
MCAPI ::std::unique_ptr<::WorldGenerator > $createGenerator(::br::worldgen::StructureSetRegistry const &)
MCAPI bool $shouldRenderClouds() const
MCAPI CustomDimension(::DerivedDimensionArguments &&args, ::DimensionType id, ::std::string const &name, ::CustomDimensionOptions const &options)
MCAPI::Vec3 $translatePosAcrossDimension(::Vec3 const &originalPos, ::DimensionType fromId) const
MCAPI ::std::unique_ptr<::ChunkSource > $_wrapStorageForVersionCompatibility(::std::unique_ptr<::ChunkSource > storageSource, ::StorageVersion levelVersion)
MCAPI void $upgradeLevelChunk(::ChunkSource &, ::LevelChunk &, ::LevelChunk &)
MCAPI short $getCloudHeight() const
Definition LevelChunk.h:76
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