LeviLamina
Loading...
Searching...
No Matches
BlockPalette.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/platform/threading/Mutex.h"
8
9// auto generated forward declare list
10// clang-format off
11class Block;
12class BlockType;
14class Level;
15struct BlockID;
16struct NewBlockID;
17// clang-format on
18
20public:
21 // BlockPalette inner types declare
22 // clang-format off
23 struct ConstructorToken;
24 // clang-format on
25
26 // BlockPalette inner types define
28
29 enum class PaletteType : int {
30 Sequential = 0,
31 Hashed = 1,
32 };
33
34public:
35 // member variables
36 // NOLINTBEGIN
37 ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex> mBlockTypeStatesConversionWarningMutex;
38 ::ll::TypedStorage<8, 16, ::std::set<::std::pair<int, int>>> mBlockTypeStatesConversionWarningSet;
39 ::ll::TypedStorage<8, 24, ::std::vector<::Block const*>> mBlockFromNetworkId;
40 ::ll::TypedStorage<8, 8, ::Level*> mLevel;
41 // NOLINTEND
42
43public:
44 // prevent constructor by default
46
47public:
48 // virtual functions
49 // NOLINTBEGIN
50 // vIndex: 0
51 virtual ~BlockPalette();
52
53 // vIndex: 1
54 virtual ::BlockPalette::PaletteType getPaletteType();
55
56 // vIndex: 2
57 virtual void appendBlock(::Block const& blockState);
58
59 // vIndex: 3
60 virtual ::Block const& getBlock(uint const& networkId) const;
61
62 // vIndex: 4
63 virtual void assignBlockNetworkId(::Block const& block, uint64 networkId) const;
64 // NOLINTEND
65
66public:
67 // member functions
68 // NOLINTBEGIN
70
71 MCNAPI explicit BlockPalette(::Level& level);
72
73 MCNAPI ::Block const& getBlockFromLegacyData(::NewBlockID id, uint data) const;
74
75 MCNAPI ::Bedrock::NonOwnerPointer<::IUnknownBlockTypeRegistry> const getUnknownBlockTypeRegistry() const;
76
77 MCNAPI bool shouldWarnFor(::NewBlockID id, ushort data) const;
78
79 MCNAPI ::Block const& switchBlock(::Block const& oldBlock, ::BlockType const& newBlockType) const;
80 // NOLINTEND
81
82public:
83 // static functions
84 // NOLINTBEGIN
85 MCNAPI static ::Block const& convertLegacyBlock(::BlockID id, ushort data);
86 // NOLINTEND
87
88public:
89 // constructor thunks
90 // NOLINTBEGIN
92
93 MCNAPI void* $ctor(::Level& level);
94 // NOLINTEND
95
96public:
97 // destructor thunk
98 // NOLINTBEGIN
99 MCNAPI void $dtor();
100 // NOLINTEND
101
102public:
103 // virtual function thunks
104 // NOLINTBEGIN
105 MCNAPI ::BlockPalette::PaletteType $getPaletteType();
106
107 MCNAPI void $appendBlock(::Block const& blockState);
108
109 MCNAPI ::Block const& $getBlock(uint const& networkId) const;
110
111 MCNAPI void $assignBlockNetworkId(::Block const& block, uint64 networkId) const;
112 // NOLINTEND
113
114public:
115 // vftables
116 // NOLINTBEGIN
117 MCNAPI static void** $vftable();
118 // NOLINTEND
119};
Definition BlockPalette.h:19
MCAPI BlockPalette(::Level &level)
MCAPI::BlockPalette::PaletteType $getPaletteType()
MCAPI void * $ctor(::BlockPalette::ConstructorToken)
MCAPI void * $ctor(::Level &level)
MCAPI::Block const & switchBlock(::Block const &oldBlock, ::BlockType const &newBlockType) const
static MCAPI ::Block const & convertLegacyBlock(::BlockID id, ushort data)
static MCAPI void ** $vftable()
MCAPI BlockPalette(::BlockPalette::ConstructorToken)
MCAPI ::Bedrock::NonOwnerPointer<::IUnknownBlockTypeRegistry > const getUnknownBlockTypeRegistry() const
MCAPI::Block const & getBlockFromLegacyData(::NewBlockID id, uint data) const
MCAPI bool shouldWarnFor(::NewBlockID id, ushort data) const
MCAPI void $assignBlockNetworkId(::Block const &block, uint64 networkId) const
MCAPI void $dtor()
MCAPI void $appendBlock(::Block const &blockState)
MCAPI::Block const & $getBlock(uint const &networkId) const
Definition BlockType.h:84
Definition Block.h:37
Definition IUnknownBlockTypeRegistry.h:14
Definition Level.h:243
Definition BlockID.h:8
Definition BlockPalette.h:27
Definition NewBlockID.h:8