LeviLamina
Loading...
Searching...
No Matches
BlockLiquidDetectionDescription.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/util/BidirectionalUnorderedMap.h"
7#include "mc/world/level/block/LiquidReaction.h"
8#include "mc/world/level/block/LiquidType.h"
9#include "mc/world/level/block/components/BlockComponentDescription.h"
10#include "mc/world/level/block/components/RuleSet.h"
11
12// auto generated forward declare list
13// clang-format off
15class CompoundTag;
16struct DetectionRule;
17namespace cereal { struct ReflectionCtx; }
18// clang-format on
19
20struct BlockLiquidDetectionDescription : public ::BlockComponentDescription {
21public:
22 // member variables
23 // NOLINTBEGIN
24 ::ll::TypedStorage<8, 24, ::RuleSet> mDetectionRules;
25 // NOLINTEND
26
27public:
28 // prevent constructor by default
29 BlockLiquidDetectionDescription();
30
31public:
32 // virtual functions
33 // NOLINTBEGIN
34 virtual ::std::string const& getName() const /*override*/;
35
36 virtual void initializeComponent(::BlockComponentStorage& blockComponentStorage) const /*override*/;
37
38 virtual void initializeComponentFromCode(::BlockComponentStorage& blockComponentStorage) const /*override*/;
39
40 virtual bool isNetworkComponent() const /*override*/;
41
42 virtual ::std::unique_ptr<::CompoundTag> buildNetworkTag(::cereal::ReflectionCtx const& ctx) const /*override*/;
43
44 virtual void initializeFromNetwork(::CompoundTag const& tag, ::cereal::ReflectionCtx const& ctx) /*override*/;
45
46 virtual ~BlockLiquidDetectionDescription() /*override*/;
47 // NOLINTEND
48
49public:
50 // member functions
51 // NOLINTBEGIN
52 MCAPI explicit BlockLiquidDetectionDescription(::std::vector<::DetectionRule> detectionRules);
53 // NOLINTEND
54
55public:
56 // static functions
57 // NOLINTBEGIN
58 MCAPI static void bindType(::cereal::ReflectionCtx& ctx);
59 // NOLINTEND
60
61public:
62 // static variables
63 // NOLINTBEGIN
64 MCAPI static ::std::string const& NameID();
65
66 MCAPI static ::BidirectionalUnorderedMap<::std::string, ::LiquidReaction> const& liquidReactionNameBiMap();
67
68 MCAPI static ::BidirectionalUnorderedMap<::std::string, ::LiquidType> const& liquidTypeNameBiMap();
69 // NOLINTEND
70
71public:
72 // constructor thunks
73 // NOLINTBEGIN
74 MCAPI void* $ctor(::std::vector<::DetectionRule> detectionRules);
75 // NOLINTEND
76
77public:
78 // destructor thunk
79 // NOLINTBEGIN
80 MCAPI void $dtor();
81 // NOLINTEND
82
83public:
84 // virtual function thunks
85 // NOLINTBEGIN
86 MCAPI ::std::string const& $getName() const;
87
88 MCAPI void $initializeComponent(::BlockComponentStorage& blockComponentStorage) const;
89
90 MCFOLD void $initializeComponentFromCode(::BlockComponentStorage& blockComponentStorage) const;
91
92 MCFOLD bool $isNetworkComponent() const;
93
94 MCAPI ::std::unique_ptr<::CompoundTag> $buildNetworkTag(::cereal::ReflectionCtx const& ctx) const;
95
96 MCAPI void $initializeFromNetwork(::CompoundTag const& tag, ::cereal::ReflectionCtx const& ctx);
97
98
99 // NOLINTEND
100
101public:
102 // vftables
103 // NOLINTBEGIN
104 MCNAPI static void** $vftable();
105 // NOLINTEND
106};
Definition BlockComponentStorage.h:58
Definition CompoundTag.h:23
Definition BlockComponentDescription.h:20
static MCAPI void ** $vftable()
Definition DetectionRule.h:11
Definition ReflectionCtx.h:11
Definition ctx.h:5