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