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/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 ChunkSource;
13class CompoundTag;
14class LevelChunk;
15class Vec3;
16class WorldGenerator;
18struct DimensionType;
19namespace br::worldgen { class StructureSetRegistry; }
20// clang-format on
21
22class CustomDimension : public ::Dimension {
23public:
24 // member variables
25 // NOLINTBEGIN
26 ::ll::TypedStorage<8, 64, ::std::function<::std::unique_ptr<::WorldGenerator>(::Dimension&)>> mGeneratorCreator;
27 // NOLINTEND
28
29public:
30 // prevent constructor by default
31 CustomDimension();
32
33public:
34 // virtual functions
35 // NOLINTBEGIN
36 virtual ~CustomDimension() /*override*/ = default;
37
38 virtual ::Vec3 translatePosAcrossDimension(::Vec3 const& originalPos, ::DimensionType fromId) const /*override*/;
39
40 virtual ::std::unique_ptr<::WorldGenerator>
41 createGenerator(::br::worldgen::StructureSetRegistry const&) /*override*/;
42
43 virtual bool levelChunkNeedsUpgrade(::LevelChunk const&) const /*override*/;
44
45 virtual void upgradeLevelChunk(::ChunkSource&, ::LevelChunk&, ::LevelChunk&) /*override*/;
46
47 virtual void fixWallChunk(::ChunkSource&, ::LevelChunk&) /*override*/;
48
49 virtual void _upgradeOldLimboEntity(::CompoundTag&, ::LimboEntitiesVersion) /*override*/;
50
51 virtual ::std::unique_ptr<::ChunkSource>
52 _wrapStorageForVersionCompatibility(::std::unique_ptr<::ChunkSource> storageSource, ::StorageVersion) /*override*/;
53 // NOLINTEND
54
55public:
56 // member functions
57 // NOLINTBEGIN
58 MCAPI CustomDimension(::DerivedDimensionArguments&& args, ::DimensionType id, ::std::string const& name);
59 // NOLINTEND
60
61public:
62 // constructor thunks
63 // NOLINTBEGIN
64 MCAPI void* $ctor(::DerivedDimensionArguments&& args, ::DimensionType id, ::std::string const& name);
65 // NOLINTEND
66
67public:
68 // virtual function thunks
69 // NOLINTBEGIN
70 MCFOLD ::Vec3 $translatePosAcrossDimension(::Vec3 const& originalPos, ::DimensionType fromId) const;
71
72 MCAPI ::std::unique_ptr<::WorldGenerator> $createGenerator(::br::worldgen::StructureSetRegistry const&);
73
74 MCFOLD bool $levelChunkNeedsUpgrade(::LevelChunk const&) const;
75
76 MCFOLD void $upgradeLevelChunk(::ChunkSource&, ::LevelChunk&, ::LevelChunk&);
77
78 MCFOLD void $fixWallChunk(::ChunkSource&, ::LevelChunk&);
79
80 MCFOLD void $_upgradeOldLimboEntity(::CompoundTag&, ::LimboEntitiesVersion);
81
82 MCFOLD ::std::unique_ptr<::ChunkSource>
83 $_wrapStorageForVersionCompatibility(::std::unique_ptr<::ChunkSource> storageSource, ::StorageVersion);
84
85
86 // NOLINTEND
87
88public:
89 // vftables
90 // NOLINTBEGIN
91 MCNAPI static void** $vftableForSavedData();
92
93 MCNAPI static void** $vftableForIDimension();
94
96
97 MCNAPI static void** $vftableForLevelListener();
98 // NOLINTEND
99};
Definition ChunkSource.h:37
Definition CompoundTag.h:23
static MCAPI void ** $vftableForIDimension()
static MCAPI void ** $vftableForEnableNonOwnerReferences()
static MCAPI void ** $vftableForSavedData()
static MCAPI void ** $vftableForLevelListener()
Definition LevelChunk.h:87
Definition Vec3.h:10
Definition WorldGenerator.h:31
Definition StructureSetRegistry.h:12
Definition DerivedDimensionArguments.h:15
Definition DimensionType.h:5