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 // member functions
83 // NOLINTBEGIN
84 MCFOLD ::Bedrock::EnumSet<::BlockTrait::Connection::EnabledConnectionStates, 1> getEnabledConnectionStates() const;
85 // NOLINTEND
86
87public:
88 // static functions
89 // NOLINTBEGIN
90 MCAPI static void bindType(::cereal::ReflectionCtx& ctx);
91
92 MCAPI static ::BlockTrait::Connection createStandardConnectionTrait(
93 ::Bedrock::EnumSet<::BlockTrait::Connection::EnabledConnectionStates, 1> enabledConnectionStates,
94 int updateFlags
95 );
96
97 MCAPI static ::NeighborBlockDirections getConnectedDirections(
98 ::IConstBlockSource const& region,
99 ::Block const& block,
100 ::BlockPos const& pos,
101 ::NeighborBlockDirections directionsToCheck
102 );
103
104 MCFOLD static ::std::string const& getName();
105 // NOLINTEND
106
107public:
108 // destructor thunk
109 // NOLINTBEGIN
110 MCAPI void $dtor();
111 // NOLINTEND
112
113public:
114 // virtual function thunks
115 // NOLINTBEGIN
116 MCAPI void $applyToBlockType(::BlockType& blockType) const;
117
118 MCAPI void $initializeFromNetwork(::CompoundTag const& compoundTag, ::cereal::ReflectionCtx const&);
119
120 MCAPI ::std::unique_ptr<::CompoundTag> $_buildNetworkTag(::cereal::ReflectionCtx const&) const;
121
122 MCFOLD ::std::string const& $_getName() const;
123
124
125 // NOLINTEND
126
127public:
128 // vftables
129 // NOLINTBEGIN
130 MCNAPI static void** $vftable();
131 // NOLINTEND
132};
133
134} // namespace BlockTrait
Definition BlockPos.h:21
Definition Connection.h:22
static MCAPI void ** $vftable()
Definition ITrait.h:14
Definition BlockType.h:84
Definition Block.h:69
Definition CompoundTag.h:23
Definition IConstBlockSource.h:24
Definition NeighborBlockDirections.h:14
STL namespace.
Definition ReflectionCtx.h:11
Definition ctx.h:5