Skip to content
LeviMC
English
AutoLightDark
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
22 struct TickingQueueData;
23 struct BlockPositionData;
24 // clang-format on
25
26 // StructureBlockPalette inner types define
28 public:
29 // member variables
30 // NOLINTBEGIN
31 ::ll::TypedStorage<8, 32, ::std::string> mNamespace;
32 ::ll::TypedStorage<8, 32, ::std::string> mEventName;
33 ::ll::TypedStorage<8, 8, uint64> mTickDelay;
34 // NOLINTEND
35 };
36
38 public:
39 // member variables
40 // NOLINTBEGIN
41 ::ll::TypedStorage<4, 4, int> mTickDelay;
42 // NOLINTEND
43 };
44
45 struct BlockPositionData {
46 public:
47 // member variables
48 // NOLINTBEGIN
49 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::CompoundTag>> mBlockEntityData;
50 ::ll::TypedStorage<8, 24, ::std::vector<::StructureBlockPalette::TickingQueueData>> mTickData;
51 ::ll::TypedStorage<8, 24, ::std::vector<::StructureBlockPalette::NamedTickingQueueData>> mNamedTickData;
52 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::CompoundTag>>> mNeighborChangedQueueData;
53 // NOLINTEND
54
55 public:
56 // prevent constructor by default
57 BlockPositionData& operator=(BlockPositionData const&);
58 BlockPositionData();
59
60 public:
61 // member functions
62 // NOLINTBEGIN
64
66 // NOLINTEND
67
68 public:
69 // constructor thunks
70 // NOLINTBEGIN
72 // NOLINTEND
73
74 public:
75 // destructor thunk
76 // NOLINTBEGIN
77 MCNAPI void $dtor();
78 // NOLINTEND
79 };
80
81public:
82 // member variables
83 // NOLINTBEGIN
84 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::CompoundTag>>> mStructurePaletteIdToSerializationId;
85 ::ll::TypedStorage<8, 64, ::std::unordered_map<uint64, ::StructureBlockPalette::BlockPositionData>>
86 mBlockPositionData;
87 // NOLINTEND
88
89public:
90 // member functions
91 // NOLINTBEGIN
92#ifdef LL_PLAT_C
93 MCNAPI ::StructureBlockPaletteLoadResult _parseBlockPalette(::CompoundTag const& tag);
94
95 MCNAPI ::StructureBlockPaletteLoadResult _parseBlockPositionDataList(::CompoundTag const& tag);
96
97 MCNAPI void _saveBlockPalette(::CompoundTag& tag) const;
98
99 MCNAPI void _saveBlockPositionDataList(::CompoundTag& tag) const;
100
101 MCNAPI ::StructureBlockPalette clone() const;
102#endif
103
104 MCNAPI ::Block const& getBlock(
105 ::BlockPalette const& blockPalette,
106 uint64 paletteId,
108 ) const;
109
110 MCAPI ::StructureBlockPalette::BlockPositionData const* getBlockPositionData(uint64 blockIndex) const;
111
112#ifdef LL_PLAT_C
113 MCNAPI ::std::unique_ptr<::CompoundTag> save() const;
114#endif
115
116 MCAPI ::Block const*
117 tryGetBlock(uint64 paletteId, ::Bedrock::NonOwnerPointer<::IUnknownBlockTypeRegistry> unknownBlockRegistry) const;
118
120 // NOLINTEND
121
122public:
123 // destructor thunk
124 // NOLINTBEGIN
125 MCNAPI void $dtor();
126 // NOLINTEND
127};
Definition NonOwnerPointer.h:9
Definition BlockPalette.h:18
Definition Block.h:42
Definition CompoundTag.h:18
Definition IUnknownBlockTypeRegistry.h:14
Definition StructureBlockPalette.h:17
MCAPI::Block const & getBlock(::BlockPalette const &blockPalette, uint64 paletteId, ::Bedrock::NonOwnerPointer<::IUnknownBlockTypeRegistry > unknownBlockRegistry) const
MCAPI ~StructureBlockPalette()
Definition StructureBlockPalette.h:45
MCAPI BlockPositionData(::StructureBlockPalette::BlockPositionData const &rhs)
MCAPI void * $ctor(::StructureBlockPalette::BlockPositionData const &rhs)
Definition StructureBlockPalette.h:27
Definition StructureBlockPalette.h:37