LeviLamina
Loading...
Searching...
No Matches
MultiBlock.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/block/traits/block_trait/ITrait.h"
7
8// auto generated forward declare list
9// clang-format off
10class BlockType;
11class CompoundTag;
12namespace cereal { struct ReflectionCtx; }
13// clang-format on
14
15namespace BlockTrait {
16
18public:
19 // MultiBlock inner types declare
20 // clang-format off
21 struct EnabledStates;
22 // clang-format on
23
24 // MultiBlock inner types define
26 public:
27 // member variables
28 // NOLINTBEGIN
29 ::ll::TypedStorage<1, 1, bool> mEnableMultiBlockState;
30 // NOLINTEND
31
32 public:
33 // static functions
34 // NOLINTBEGIN
35 MCAPI static void
36 fromStringVector(::BlockTrait::MultiBlock::EnabledStates& instance, ::std::vector<::std::string> const& states);
37 // NOLINTEND
38 };
39
40public:
41 // member variables
42 // NOLINTBEGIN
43 ::ll::TypedStorage<1, 1, ::BlockTrait::MultiBlock::EnabledStates> mStates;
44 ::ll::TypedStorage<1, 1, uchar> mDirection;
45 ::ll::TypedStorage<1, 1, uchar> mPartCount;
46 // NOLINTEND
47
48public:
49 // virtual functions
50 // NOLINTBEGIN
51 virtual void initializeFromNetwork(::CompoundTag const& tag, ::cereal::ReflectionCtx const&) /*override*/;
52
53 virtual void applyToBlockType(::BlockType& blockType) const /*override*/;
54
55 virtual ::std::unique_ptr<::CompoundTag> _buildNetworkTag(::cereal::ReflectionCtx const&) const /*override*/;
56
57 virtual ::std::string const& _getName() const /*override*/;
58
59 virtual ~MultiBlock() /*override*/ = default;
60 // NOLINTEND
61
62public:
63 // static functions
64 // NOLINTBEGIN
65 MCAPI static void bindType(::cereal::ReflectionCtx& ctx);
66
67 MCFOLD static ::std::string const& getName();
68 // NOLINTEND
69
70public:
71 // virtual function thunks
72 // NOLINTBEGIN
73 MCAPI void $initializeFromNetwork(::CompoundTag const& tag, ::cereal::ReflectionCtx const&);
74
75 MCAPI void $applyToBlockType(::BlockType& blockType) const;
76
77 MCAPI ::std::unique_ptr<::CompoundTag> $_buildNetworkTag(::cereal::ReflectionCtx const&) const;
78
79 MCFOLD ::std::string const& $_getName() const;
80
81
82 // NOLINTEND
83
84public:
85 // vftables
86 // NOLINTBEGIN
87 MCNAPI static void** $vftable();
88 // NOLINTEND
89};
90
91} // namespace BlockTrait
Definition ITrait.h:14
Definition MultiBlock.h:17
static MCAPI void ** $vftable()
Definition BlockType.h:84
Definition CompoundTag.h:23
STL namespace.
Definition MultiBlock.h:25
Definition ReflectionCtx.h:11
Definition ctx.h:5