LeviLamina
Loading...
Searching...
No Matches
StructureBlockPalette.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/NonOwnerPointer.h"
7#include "mc/world/level/levelgen/structure/StructureBlockPaletteLoadResult.h"
8
9// auto generated forward declare list
10// clang-format off
11class Block;
12class BlockPalette;
13class CompoundTag;
15// clang-format on
16
17class StructureBlockPalette {
18public:
19 // StructureBlockPalette inner types declare
20 // clang-format off
21 struct TickingQueueData;
22 struct BlockPositionData;
23 // clang-format on
24
25 // StructureBlockPalette inner types define
27 public:
28 // member variables
29 // NOLINTBEGIN
30 ::ll::TypedStorage<4, 4, int> mTickDelay;
31 // NOLINTEND
32 };
33
34 struct BlockPositionData {
35 public:
36 // member variables
37 // NOLINTBEGIN
38 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::CompoundTag>> mBlockEntityData;
39 ::ll::TypedStorage<8, 24, ::std::vector<::StructureBlockPalette::TickingQueueData>> mTickData;
40 // NOLINTEND
41
42 public:
43 // prevent constructor by default
44 BlockPositionData& operator=(BlockPositionData const&);
45 BlockPositionData();
46
47 public:
48 // member functions
49 // NOLINTBEGIN
50 MCAPI BlockPositionData(::StructureBlockPalette::BlockPositionData const& rhs);
51
52 MCAPI ~BlockPositionData();
53 // NOLINTEND
54
55 public:
56 // constructor thunks
57 // NOLINTBEGIN
58 MCAPI void* $ctor(::StructureBlockPalette::BlockPositionData const& rhs);
59 // NOLINTEND
60
61 public:
62 // destructor thunk
63 // NOLINTBEGIN
64 MCAPI void $dtor();
65 // NOLINTEND
66 };
67
68public:
69 // member variables
70 // NOLINTBEGIN
71 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::CompoundTag>>> mStructurePaletteIdToSerializationId;
72 ::ll::TypedStorage<8, 64, ::std::unordered_map<uint64, ::StructureBlockPalette::BlockPositionData>>
73 mBlockPositionData;
74 // NOLINTEND
75
76public:
77 // prevent constructor by default
78 StructureBlockPalette& operator=(StructureBlockPalette const&);
79 StructureBlockPalette(StructureBlockPalette const&);
80
81public:
82 // member functions
83 // NOLINTBEGIN
84 MCAPI StructureBlockPalette();
85
86 MCAPI StructureBlockPalette(::StructureBlockPalette&&);
87
88 MCAPI ::StructureBlockPaletteLoadResult _parseBlockPalette(::CompoundTag const& tag);
89
90 MCAPI ::StructureBlockPaletteLoadResult _parseBlockPositionData(::CompoundTag const& tag, int index);
91
92 MCAPI ::StructureBlockPaletteLoadResult _parseBlockPositionDataList(::CompoundTag const& tag);
93
94 MCAPI void _saveBlockPalette(::CompoundTag& tag) const;
95
96 MCAPI void _saveBlockPositionDataList(::CompoundTag& tag) const;
97
98 MCAPI ::Block const& getBlock(
99 ::BlockPalette const& blockPalette,
100 uint64 paletteId,
102 ) const;
103
104 MCAPI ::StructureBlockPalette::BlockPositionData const* getBlockPositionData(uint64 blockIndex) const;
105
106 MCAPI ~StructureBlockPalette();
107 // NOLINTEND
108
109public:
110 // constructor thunks
111 // NOLINTBEGIN
112 MCAPI void* $ctor();
113
114 MCAPI void* $ctor(::StructureBlockPalette&&);
115 // NOLINTEND
116
117public:
118 // destructor thunk
119 // NOLINTBEGIN
120 MCAPI void $dtor();
121 // NOLINTEND
122};
Definition NonOwnerPointer.h:9
Definition BlockPalette.h:19
Definition Block.h:43
Definition CompoundTag.h:23
Definition IUnknownBlockTypeRegistry.h:14
Definition StructureBlockPalette.h:34
Definition StructureBlockPalette.h:26