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*/ = default;
71
72 virtual void applyToBlockType(::BlockType& blockType) const /*override*/;
73
74 virtual ::std::unique_ptr<::CompoundTag> buildNetworkTag(::cereal::ReflectionCtx const&) const /*override*/;
75
76 virtual void initializeFromNetwork(::CompoundTag const& compoundTag, ::cereal::ReflectionCtx const&) /*override*/;
77 // NOLINTEND
78
79public:
80 // static functions
81 // NOLINTBEGIN
82 MCAPI static void bindType(::cereal::ReflectionCtx& ctx);
83
84 MCAPI static ::NeighborBlockDirections getConnectedDirections(
85 ::IConstBlockSource const& region,
86 ::Block const& block,
87 ::BlockPos const& pos,
88 ::NeighborBlockDirections directionsToCheck
89 );
90
91 MCAPI static ::std::string const& getName();
92 // NOLINTEND
93
94public:
95 // virtual function thunks
96 // NOLINTBEGIN
97 MCAPI void $applyToBlockType(::BlockType& blockType) const;
98
99 MCAPI ::std::unique_ptr<::CompoundTag> $buildNetworkTag(::cereal::ReflectionCtx const&) const;
100
101 MCAPI void $initializeFromNetwork(::CompoundTag const& compoundTag, ::cereal::ReflectionCtx const&);
102
103
104 // NOLINTEND
105
106public:
107 // vftables
108 // NOLINTBEGIN
109 MCNAPI static void** $vftable();
110 // NOLINTEND
111};
112
113} // 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
Definition ReflectionCtx.h:11
Definition ctx.h:5