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