LeviLamina
Loading...
Searching...
No Matches
LegacyStructureTemplate.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/BlockPos.h"
7#include "mc/world/level/chunk/NeighborAwareBlockUpdateType.h"
8#include "mc/world/level/levelgen/structure/ILegacyStructureTemplate.h"
9#include "mc/world/level/levelgen/structure/IStructureTemplate.h"
10#include "mc/world/level/levelgen/structure/LegacyStructureBlockPalette.h"
11
12// auto generated forward declare list
13// clang-format off
14class Block;
15class BlockSource;
16class CompoundTag;
21class Random;
22namespace br::worldgen { struct StructureTemplateBlockPalette; }
23// clang-format on
24
26public:
27 // member variables
28 // NOLINTBEGIN
29 ::ll::TypedStorage<8, 32, ::std::string> mAuthor;
30 ::ll::TypedStorage<4, 12, ::BlockPos> mSize;
31 ::ll::TypedStorage<4, 4, int> mDataVersion;
32 ::ll::TypedStorage<8, 64, ::LegacyStructureBlockPalette> mPalette;
33 ::ll::TypedStorage<8, 64, ::LegacyStructureBlockPalette> mExtraBlockPalette;
34 ::ll::TypedStorage<8, 24, ::std::vector<::LegacyStructureBlockInfo>> mBlockInfo;
35 ::ll::TypedStorage<8, 24, ::std::vector<::LegacyStructureActorInfo>> mEntityInfo;
36 // NOLINTEND
37
38public:
39 // virtual functions
40 // NOLINTBEGIN
41 // vIndex: 0
42 virtual ~LegacyStructureTemplate() /*override*/;
43
44 // vIndex: 0
45 virtual ::std::unordered_map<::BlockPos, ::std::string>
46 getMarkers(::BlockPos const& position, ::LegacyStructureSettings& settings) const /*override*/;
47
48 // vIndex: 1
49 virtual void placeInWorld(
50 ::BlockSource& region,
51 ::BlockPos const& pos,
53 ::Random& random
54 ) const /*override*/;
55
56 // vIndex: 3
57 virtual ::NeighborAwareBlockUpdateType shouldHandleUpgradeForBlock(::Block const& block) const /*override*/;
58
59 // vIndex: 2
60 virtual ::BlockPos rawSize() const /*override*/;
61
62 // vIndex: 1
63 virtual ::br::worldgen::StructureTemplateBlockPalette randomPalette(::BlockPos) const /*override*/;
64 // NOLINTEND
65
66public:
67 // member functions
68 // NOLINTBEGIN
70
71 MCAPI ::BlockPos _calculateRelativePosition(::BlockPos pos, ::LegacyStructureSettings const& settings) const;
72
73 MCAPI ::std::vector<::JigsawStructureBlockInfo> getJigsawMarkers() const;
74
75 MCAPI void load(::CompoundTag const& tag);
76 // NOLINTEND
77
78public:
79 // static functions
80 // NOLINTBEGIN
81 MCAPI static void _fixItemStack(::CompoundTag& itemTag, int dataVersion);
82
83 MCAPI static void _mapPropertiesToTags(::CompoundTag& originalTag, ::CompoundTag const& paletteTag);
84
85 MCAPI static void _mapPropertyToTag(
86 ::CompoundTag& originalTag,
87 ::std::string const& propertyString,
88 ::std::string const& valueString
89 );
90
91 MCAPI static ::std::unique_ptr<::CompoundTag> _mapTag(
92 ::std::unique_ptr<::CompoundTag> originalTag,
93 ::std::string const& javaBlockName,
94 int dataVersion,
95 ::Block const*& block
96 );
97
98 MCAPI static ::Block const* _mapToBlock(::std::string const& blockName);
99
100 MCAPI static ::Block const& _mapToData(::Block const& curr, ::LegacyStructureSettings const& settings);
101
102 MCAPI static ::Block const*
103 _mapToProperty(::std::string const& propertyString, ::std::string const& valueString, ::Block const& block);
104 // NOLINTEND
105
106public:
107 // static variables
108 // NOLINTBEGIN
109 MCAPI static ::std::string const& AUTHOR_TAG();
110
111 MCAPI static ::std::string const& BLOCKS_TAG();
112
113 MCAPI static ::std::string const& BLOCK_TAG_NBT();
114
115 MCAPI static ::std::string const& BLOCK_TAG_POS();
116
117 MCAPI static ::std::string const& BLOCK_TAG_STATE();
118
119 MCAPI static ::std::string const& DATA_VERSION_TAG();
120
121 MCAPI static ::std::string const& ENTITIES_TAG();
122
123 MCAPI static ::std::string const& ENTITY_TAG_BLOCKPOS();
124
125 MCAPI static ::std::string const& ENTITY_TAG_NBT();
126
127 MCAPI static ::std::string const& ENTITY_TAG_POS();
128
129 MCAPI static ::std::string const& MINECRAFT_PREFIX();
130
131 MCAPI static ::std::string const& PALETTE_TAG();
132
133 MCAPI static ::std::string const& SIZE_TAG();
134
135 MCAPI static ::std::string const& VERSION_TAG();
136 // NOLINTEND
137
138public:
139 // constructor thunks
140 // NOLINTBEGIN
141 MCAPI void* $ctor();
142 // NOLINTEND
143
144public:
145 // destructor thunk
146 // NOLINTBEGIN
147 MCAPI void $dtor();
148 // NOLINTEND
149
150public:
151 // virtual function thunks
152 // NOLINTBEGIN
153 MCAPI ::std::unordered_map<::BlockPos, ::std::string>
154 $getMarkers(::BlockPos const& position, ::LegacyStructureSettings& settings) const;
155
156 MCAPI void $placeInWorld(
157 ::BlockSource& region,
158 ::BlockPos const& pos,
160 ::Random& random
161 ) const;
162
163 MCAPI ::NeighborAwareBlockUpdateType $shouldHandleUpgradeForBlock(::Block const& block) const;
164
165 MCAPI ::BlockPos $rawSize() const;
166
167 MCAPI ::br::worldgen::StructureTemplateBlockPalette $randomPalette(::BlockPos) const;
168 // NOLINTEND
169
170public:
171 // vftables
172 // NOLINTBEGIN
174
175 MCNAPI static void** $vftableForIStructureTemplate();
176 // NOLINTEND
177};
Definition BlockPos.h:17
Definition BlockSource.h:66
Definition Block.h:38
Definition CompoundTag.h:13
Definition ILegacyStructureTemplate.h:13
Definition IStructureTemplate.h:15
Definition JigsawStructureBlockInfo.h:14
Definition LegacyStructureActorInfo.h:10
Definition LegacyStructureBlockInfo.h:14
Definition LegacyStructureSettings.h:22
Definition LegacyStructureTemplate.h:25
static MCAPI void ** $vftableForIStructureTemplate()
static MCAPI void ** $vftableForILegacyStructureTemplate()
Definition Random.h:10