LeviLamina
Loading...
Searching...
No Matches
Connection.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/container/EnumSet.h"
7#include "mc/world/level/block/traits/block_trait/ITrait.h"
8
9// auto generated forward declare list
10// clang-format off
11class Block;
12class BlockPos;
13class BlockType;
14class CompoundTag;
17namespace cereal { struct ReflectionCtx; }
18// clang-format on
19
20namespace BlockTrait {
21
23public:
24 // Connection inner types declare
25 // clang-format off
27 // clang-format on
28
29 // Connection inner types define
30 enum class EnabledConnectionStates : int {
31 Cardinal = 0,
32 Count = 1,
33 };
34
35 enum class Type : int {
36 Standard = 0,
37 };
38
40 public:
41 // member variables
42 // NOLINTBEGIN
43 ::ll::TypedStorage<1, 1, ::Bedrock::EnumSet<::BlockTrait::Connection::EnabledConnectionStates, 1>> mStates;
44 // NOLINTEND
45
46 public:
47 // static functions
48 // NOLINTBEGIN
49 MCAPI static void enabledConnectionStatesFromStringVector(
51 ::std::vector<::std::string> const& states
52 );
53
54 MCAPI static ::std::vector<::std::string>
55 enabledConnectionStatesToStringVector(::BlockTrait::Connection::EnabledConnectionStatesContainer const& states);
56 // NOLINTEND
57 };
58
59public:
60 // member variables
61 // NOLINTBEGIN
62 ::ll::TypedStorage<4, 4, int> mUpdateFlags;
63 ::ll::TypedStorage<4, 4, ::BlockTrait::Connection::Type> mType;
64 ::ll::TypedStorage<1, 1, ::BlockTrait::Connection::EnabledConnectionStatesContainer> mEnabledConnectionStates;
65 // NOLINTEND
66
67public:
68 // virtual functions
69 // NOLINTBEGIN
70 virtual ~Connection() /*override*/;
71
72 virtual void applyToBlockType(::BlockType& blockType) const /*override*/;
73
74 virtual void initializeFromNetwork(::CompoundTag const& compoundTag, ::cereal::ReflectionCtx const&) /*override*/;
75
76 virtual ::std::unique_ptr<::CompoundTag> _buildNetworkTag(::cereal::ReflectionCtx const&) const /*override*/;
77
78 virtual ::std::string const& _getName() const /*override*/;
79 // NOLINTEND
80
81public:
82 // static functions
83 // NOLINTBEGIN
84 MCAPI static void bindType(::cereal::ReflectionCtx& ctx);
85
86 MCAPI static ::BlockTrait::Connection createStandardConnectionTrait(
87 ::Bedrock::EnumSet<::BlockTrait::Connection::EnabledConnectionStates, 1> enabledConnectionStates,
88 int updateFlags
89 );
90
91 MCAPI static ::NeighborBlockDirections getConnectedDirections(
92 ::IConstBlockSource const& region,
93 ::Block const& block,
94 ::BlockPos const& pos,
95 ::NeighborBlockDirections directionsToCheck
96 );
97
98 MCAPI static ::std::string const& getName();
99 // NOLINTEND
100
101public:
102 // destructor thunk
103 // NOLINTBEGIN
104 MCFOLD void $dtor();
105 // NOLINTEND
106
107public:
108 // virtual function thunks
109 // NOLINTBEGIN
110 MCAPI void $applyToBlockType(::BlockType& blockType) const;
111
112 MCAPI void $initializeFromNetwork(::CompoundTag const& compoundTag, ::cereal::ReflectionCtx const&);
113
114 MCAPI ::std::unique_ptr<::CompoundTag> $_buildNetworkTag(::cereal::ReflectionCtx const&) const;
115
116 MCAPI ::std::string const& $_getName() const;
117
118
119 // NOLINTEND
120
121public:
122 // vftables
123 // NOLINTBEGIN
124 MCNAPI static void** $vftable();
125 // NOLINTEND
126};
127
128} // namespace BlockTrait
Definition BlockPos.h:19
Definition Connection.h:22
static MCAPI void ** $vftable()
Definition ITrait.h:14
Definition BlockType.h:84
Definition Block.h:43
Definition CompoundTag.h:23
Definition IConstBlockSource.h:25
Definition NeighborBlockDirections.h:14
STL namespace.
Definition ReflectionCtx.h:11
Definition ctx.h:5