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
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 MCFOLD 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 // member functions
78 // NOLINTBEGIN
79 MCAPI ::StructureBlockPaletteLoadResult _parseBlockPalette(::CompoundTag const& tag);
80
81 MCAPI ::StructureBlockPaletteLoadResult _parseBlockPositionDataList(::CompoundTag const& tag);
82
83 MCAPI void _saveBlockPalette(::CompoundTag& tag) const;
84
85 MCAPI void _saveBlockPositionDataList(::CompoundTag& tag) const;
86
87 MCAPI void addBlockPositionData(uint64 id, ::StructureBlockPalette::BlockPositionData blockPositionData);
88
89 MCAPI ::Block const& getBlock(
90 ::BlockPalette const& blockPalette,
91 uint64 paletteId,
93 ) const;
94
95 MCAPI ::StructureBlockPalette::BlockPositionData const* getBlockPositionData(uint64 blockIndex) const;
96
97 MCAPI ::std::unique_ptr<::CompoundTag> save() const;
98
99 MCAPI ::Block const*
100 tryGetBlock(uint64 paletteId, ::Bedrock::NonOwnerPointer<::IUnknownBlockTypeRegistry> unknownBlockRegistry) const;
101
103 // NOLINTEND
104
105public:
106 // destructor thunk
107 // NOLINTBEGIN
108 MCAPI void $dtor();
109 // NOLINTEND
110};
Definition NonOwnerPointer.h:9
Definition BlockPalette.h:19
Definition Block.h:42
Definition CompoundTag.h:18
Definition IUnknownBlockTypeRegistry.h:14
Definition StructureBlockPalette.h:17
Definition StructureBlockPalette.h:34
Definition StructureBlockPalette.h:26