16class StructureTemplateData {
20 ::ll::TypedStorage<4, 4, int> mFormatVersion;
21 ::ll::TypedStorage<4, 4, ::NeighborAwareBlockUpgradeVersionType> mNeighborAwareBlockUpgradeVersion;
22 ::ll::TypedStorage<4, 12, ::BlockPos> mSize;
23 ::ll::TypedStorage<4, 12, ::BlockPos> mStructureWorldOrigin;
24 ::ll::TypedStorage<8, 24, ::std::vector<int>> mBlockIndices;
25 ::ll::TypedStorage<8, 24, ::std::vector<int>> mExtraBlockIndices;
26 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::StructureBlockPalette>> mPalettes;
27 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::CompoundTag>>> mEntityData;
32 StructureTemplateData& operator=(StructureTemplateData
const&);
33 StructureTemplateData(StructureTemplateData
const&);
34 StructureTemplateData();
39 virtual ~StructureTemplateData();
45 MCAPI ::StructureLoadResult _parseBlockIndices(
::CompoundTag const& structureTag);
47 MCAPI ::StructureLoadResult _parseEntities(
::CompoundTag const& structureTag);
49 MCAPI ::StructureLoadResult _parseFormatVersion(
::CompoundTag const& tag);
51 MCAPI ::StructureLoadResult _parseNeighborAwareBlockUpgradeVersion(
::CompoundTag const& tag);
53 MCAPI ::StructureLoadResult _parsePalettes(
::CompoundTag const& structureTag);
55 MCAPI ::StructureLoadResult _parseSize(
::CompoundTag const& tag);
57 MCAPI ::CompoundTag
const* _parseStructureTag(
::CompoundTag const& tag);
59 MCAPI ::StructureLoadResult _parseStructureWorldOrigin(
::CompoundTag const& tag);
61 MCAPI
void _saveBlockIndices(
::CompoundTag& structureTag)
const;
71 MCAPI
void _saveStructureWorldOrigin(
::CompoundTag& tag)
const;
73 MCAPI ::StructureLoadResult _validateSizeAndBlockIndicesSize()
const;
77 MCAPI ::StructureBlockPalette
const* getPalette(::std::string
const& name)
const;
81 MCAPI ::StructureTemplateData& operator=(::StructureTemplateData&&);
83 MCAPI
bool operator==(::StructureTemplateData
const& other)
const;
85 MCAPI ::std::unique_ptr<::CompoundTag> save()
const;
87 MCAPI
void setBlockIndices(::std::vector<int> blockIndices);
89 MCAPI
void setExtraBlockIndices(::std::vector<int> extraBlockIndices);
95 MCAPI
static int const& CURRENT_FORMAT_VERSION();
97 MCAPI static ::std::string
const& DEFAULT_PALETTE_NAME();