LeviLamina
Loading...
Searching...
No Matches
BlockStateGroup.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/util/BidirectionalUnorderedMap.h"
7
8// auto generated forward declare list
9// clang-format off
10class BlockState;
11class BlockStateMeta;
14namespace Json { class Value; }
15// clang-format on
16
18public:
19 // member variables
20 // NOLINTBEGIN
21 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::CustomBlockStateVariant>>> mRegisteredBlockStates;
22 ::ll::TypedStorage<8, 128, ::BidirectionalUnorderedMap<uint64, ::std::string>> mHashNames;
23 ::ll::TypedStorage<8, 128, ::BidirectionalUnorderedMap<int, uint64>> mIdNames;
24 ::ll::TypedStorage<8, 16, ::std::map<int, ::std::unique_ptr<::BlockStateMeta>>> mBlockStates;
25 ::ll::TypedStorage<8, 16, ::std::map<int, ::std::unique_ptr<::BlockStateMeta>>> mJsonBlockStates;
26 ::ll::TypedStorage<8, 8, uint64> lastStateID;
27 // NOLINTEND
28
29public:
30 // member functions
31 // NOLINTBEGIN
32 MCAPI BlockStateGroup();
33
34 MCAPI ::BlockStateMeta const* getBlockStateFromHash(uint64 const& h) const;
35
36 MCAPI void registerBlockStateDefinition(::BlockStateDefinition const& def);
37
38 MCAPI void registerExistingBlockState(::BlockState const& state);
39 // NOLINTEND
40
41public:
42 // static functions
43 // NOLINTBEGIN
44 MCAPI static bool
45 loadBlockStateFromJson(::BlockStateDefinition& blockState, ::std::string const& name, ::Json::Value const& root);
46 // NOLINTEND
47
48public:
49 // static variables
50 // NOLINTBEGIN
51 MCAPI static int const& MAX_ENUM_SIZE();
52 // NOLINTEND
53
54public:
55 // constructor thunks
56 // NOLINTBEGIN
57 MCAPI void* $ctor();
58 // NOLINTEND
59};
Definition BlockStateGroup.h:17
Definition BlockStateMeta.h:15
Definition BlockState.h:13
Definition CustomBlockStateVariant.h:15
Definition Value.h:16
Definition BlockStateDefinition.h:13