17class StructureTemplateData {
21 ::ll::TypedStorage<4, 4, int> mFormatVersion;
22 ::ll::TypedStorage<4, 4, ::NeighborAwareBlockUpgradeVersionType> mNeighborAwareBlockUpgradeVersion;
23 ::ll::TypedStorage<4, 12, ::BlockPos> mSize;
24 ::ll::TypedStorage<4, 12, ::BlockPos> mStructureWorldOrigin;
25 ::ll::TypedStorage<8, 24, ::std::vector<int>> mBlockIndices;
26 ::ll::TypedStorage<8, 32, ::std::optional<::std::vector<int>>> mExtraBlockIndices;
27 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::StructureBlockPalette>> mPalettes;
28 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::CompoundTag>>> mEntityData;
33 StructureTemplateData& operator=(StructureTemplateData
const&);
34 StructureTemplateData(StructureTemplateData
const&);
35 StructureTemplateData();
40 virtual ~StructureTemplateData();
46 MCAPI ::StructureLoadResult _parseBlockIndices(
::CompoundTag const& structureTag);
48 MCAPI ::StructureLoadResult _parseEntities(
::CompoundTag const& structureTag);
50 MCAPI ::StructureLoadResult _parseFormatVersion(
::CompoundTag const& tag);
52 MCAPI ::StructureLoadResult _parseNeighborAwareBlockUpgradeVersion(
::CompoundTag const& tag);
54 MCAPI ::StructureLoadResult _parsePalettes(
::CompoundTag const& structureTag);
56 MCAPI ::StructureLoadResult _parseSize(
::CompoundTag const& tag);
58 MCAPI ::CompoundTag
const* _parseStructureTag(
::CompoundTag const& tag);
60 MCAPI ::StructureLoadResult _parseStructureWorldOrigin(
::CompoundTag const& tag);
62 MCAPI
void _saveBlockIndices(
::CompoundTag& structureTag)
const;
72 MCAPI
void _saveStructureWorldOrigin(
::CompoundTag& tag)
const;
74 MCAPI ::StructureLoadResult _validateSizeAndBlockIndicesSize()
const;
78 MCAPI ::StructureBlockPalette
const* getPalette(::std::string
const& name)
const;
82 MCAPI ::StructureTemplateData& operator=(::StructureTemplateData&&);
84 MCAPI
bool operator==(::StructureTemplateData
const& other)
const;
86 MCAPI ::std::unique_ptr<::CompoundTag> save()
const;
88 MCAPI
void setBlockIndices(::std::vector<int> blockIndices);
94 MCAPI
static bool _readBlockIndexArray(
::Tag const& tag,
int formatVersion, ::std::vector<int>& blockIndices);
100 MCAPI
static int const& CURRENT_FORMAT_VERSION();
102 MCAPI static ::std::string
const& DEFAULT_PALETTE_NAME();
104 MCAPI
static int const& NO_BLOCK_INDEX_VALUE();