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 Vertical = 1,
33 Count = 2,
34 };
35
36 enum class Type : int {
37 Standard = 0,
38 };
39
41 public:
42 // member variables
43 // NOLINTBEGIN
44 ::ll::TypedStorage<1, 1, ::Bedrock::EnumSet<::BlockTrait::Connection::EnabledConnectionStates, 2>> mStates;
45 // NOLINTEND
46 };
47
48public:
49 // member variables
50 // NOLINTBEGIN
51 ::ll::TypedStorage<4, 4, int> mUpdateFlags;
52 ::ll::TypedStorage<4, 4, ::BlockTrait::Connection::Type> mType;
53 ::ll::TypedStorage<1, 1, ::BlockTrait::Connection::EnabledConnectionStatesContainer> mEnabledConnectionStates;
54 // NOLINTEND
55
56public:
57 // virtual functions
58 // NOLINTBEGIN
59 virtual ~Connection() /*override*/ = default;
60
61 virtual void applyToBlockType(::BlockType& blockType) const /*override*/;
62
63 virtual void initializeFromNetwork(::CompoundTag const& compoundTag, ::cereal::ReflectionCtx const&) /*override*/;
64
65 virtual ::std::unique_ptr<::CompoundTag> _buildNetworkTag(::cereal::ReflectionCtx const&) const /*override*/;
66
67 virtual ::std::string const& _getName() const /*override*/;
68 // NOLINTEND
69
70public:
71 // static functions
72 // NOLINTBEGIN
73 MCAPI static ::NeighborBlockDirections getConnectedDirections(
74 ::IConstBlockSource const& region,
75 ::Block const& block,
76 ::BlockPos const& pos,
77 ::NeighborBlockDirections directionsToCheck
78 );
79 // NOLINTEND
80
81public:
82 // virtual function thunks
83 // NOLINTBEGIN
84 MCAPI void $applyToBlockType(::BlockType& blockType) const;
85
86 MCAPI void $initializeFromNetwork(::CompoundTag const& compoundTag, ::cereal::ReflectionCtx const&);
87
88 MCAPI ::std::unique_ptr<::CompoundTag> $_buildNetworkTag(::cereal::ReflectionCtx const&) const;
89
90 MCAPI ::std::string const& $_getName() const;
91
92
93 // NOLINTEND
94
95public:
96 // vftables
97 // NOLINTBEGIN
98 MCNAPI static void** $vftable();
99 // NOLINTEND
100};
101
102} // namespace BlockTrait
Definition BlockPos.h:17
Definition Connection.h:22
static MCAPI void ** $vftable()
Definition ITrait.h:14
Definition BlockType.h:79
Definition Block.h:41
Definition CompoundTag.h:18
Definition IConstBlockSource.h:25
Definition NeighborBlockDirections.h:14
STL namespace.
Definition ReflectionCtx.h:11