LeviLamina
Loading...
Searching...
No Matches
StructureTemplateData.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/NeighborAwareBlockUpgradeVersionType.h"
8#include "mc/world/level/levelgen/structure/StructureLoadResult.h"
9
10// auto generated forward declare list
11// clang-format off
12class CompoundTag;
14// clang-format on
15
16class StructureTemplateData {
17public:
18 // member variables
19 // NOLINTBEGIN
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;
28 // NOLINTEND
29
30public:
31 // prevent constructor by default
32 StructureTemplateData& operator=(StructureTemplateData const&);
33 StructureTemplateData(StructureTemplateData const&);
34
35public:
36 // virtual functions
37 // NOLINTBEGIN
38 virtual ~StructureTemplateData();
39 // NOLINTEND
40
41public:
42 // member functions
43 // NOLINTBEGIN
44 MCAPI StructureTemplateData();
45
46 MCAPI StructureTemplateData(::StructureTemplateData&&);
47
48 MCAPI ::StructureLoadResult _parseBlockIndices(::CompoundTag const& structureTag);
49
50 MCAPI ::StructureLoadResult _parseEntities(::CompoundTag const& structureTag);
51
52 MCAPI ::StructureLoadResult _parsePalettes(::CompoundTag const& structureTag);
53
54 MCAPI ::StructureLoadResult _parseSize(::CompoundTag const& tag);
55
56 MCAPI ::StructureLoadResult _parseStructureWorldOrigin(::CompoundTag const& tag);
57
58 MCAPI void _saveBlockIndices(::CompoundTag& structureTag) const;
59
60 MCAPI void _saveEntities(::CompoundTag& structureTag) const;
61
62 MCAPI void _savePalettes(::CompoundTag& structureTag) const;
63
64 MCAPI ::StructureBlockPalette const* getPalette(::std::string const& name) const;
65
66 MCAPI bool load(::CompoundTag const& tag);
67
68 MCAPI ::StructureTemplateData& operator=(::StructureTemplateData&&);
69
70 MCAPI ::std::unique_ptr<::CompoundTag> save() const;
71
72 MCAPI void setBlockIndices(::std::vector<int> blockIndices);
73
74 MCAPI void setExtraBlockIndices(::std::vector<int> extraBlockIndices);
75 // NOLINTEND
76
77public:
78 // static variables
79 // NOLINTBEGIN
80 MCAPI static ::std::string const& DEFAULT_PALETTE_NAME();
81 // NOLINTEND
82
83public:
84 // constructor thunks
85 // NOLINTBEGIN
86 MCAPI void* $ctor();
87
88 MCAPI void* $ctor(::StructureTemplateData&&);
89 // NOLINTEND
90
91public:
92 // destructor thunk
93 // NOLINTBEGIN
94 MCAPI void $dtor();
95 // NOLINTEND
96
97public:
98 // vftables
99 // NOLINTBEGIN
100 MCNAPI static void** $vftable();
101 // NOLINTEND
102};
Definition CompoundTag.h:23
Definition StructureBlockPalette.h:17
static MCAPI void ** $vftable()