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/deps/shared_types/v1_26_0/block/LiquidReaction.h"
7#include "mc/deps/shared_types/v1_26_0/block/LiquidType.h"
8#include "mc/util/BidirectionalUnorderedMap.h"
9#include "mc/world/level/block/components/BlockComponentDescription.h"
10
11// auto generated forward declare list
12// clang-format off
15class CompoundTag;
16namespace SharedTypes::v1_26_0 { struct 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, ::std::vector<::SharedTypes::v1_26_0::DetectionRule>> 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&) const /*override*/;
43
44 virtual void initializeFromNetwork(::CompoundTag const& tag, ::cereal::ReflectionCtx const& ctx) /*override*/;
45 // NOLINTEND
46
47public:
48 // member functions
49 // NOLINTBEGIN
50 MCAPI explicit BlockLiquidDetectionDescription(::std::vector<::SharedTypes::v1_26_0::DetectionRule> detectionRules);
51 // NOLINTEND
52
53public:
54 // static functions
55 // NOLINTBEGIN
56 MCAPI static void bindType(::cereal::ReflectionCtx& ctx);
57
58 MCAPI static ::std::string const
59 liquidReactionToString(::SharedTypes::v1_26_0::LiquidReaction key, ::std::string const& defaultValue);
60
61 MCAPI static ::std::string const
62 liquidTypeToString(::SharedTypes::v1_26_0::LiquidType key, ::std::string const& defaultValue);
63
64 MCAPI static void registerVersionUpgrades(::CerealSchemaUpgradeSet& schemaUpgrades);
65 // NOLINTEND
66
67public:
68 // static variables
69 // NOLINTBEGIN
70 MCAPI static ::std::string const& NameID();
71
72 MCAPI static ::BidirectionalUnorderedMap<::std::string, ::SharedTypes::v1_26_0::LiquidReaction> const&
73 liquidReactionNameBiMap();
74
75 MCAPI static ::BidirectionalUnorderedMap<::std::string, ::SharedTypes::v1_26_0::LiquidType> const&
76 liquidTypeNameBiMap();
77 // NOLINTEND
78
79public:
80 // constructor thunks
81 // NOLINTBEGIN
82 MCAPI void* $ctor(::std::vector<::SharedTypes::v1_26_0::DetectionRule> detectionRules);
83 // NOLINTEND
84
85public:
86 // virtual function thunks
87 // NOLINTBEGIN
88 MCAPI ::std::string const& $getName() const;
89
90 MCAPI void $initializeComponent(::BlockComponentStorage& blockComponentStorage) const;
91
92 MCFOLD void $initializeComponentFromCode(::BlockComponentStorage& blockComponentStorage) const;
93
94 MCFOLD bool $isNetworkComponent() const;
95
96 MCAPI ::std::unique_ptr<::CompoundTag> $buildNetworkTag(::cereal::ReflectionCtx const&) const;
97
98 MCAPI void $initializeFromNetwork(::CompoundTag const& tag, ::cereal::ReflectionCtx const& ctx);
99
100
101 // NOLINTEND
102
103public:
104 // vftables
105 // NOLINTBEGIN
106 MCNAPI static void** $vftable();
107 // NOLINTEND
108};
Definition BlockComponentStorage.h:63
Definition CerealSchemaUpgradeSet.h:10
Definition CompoundTag.h:23
Definition BlockComponentDescription.h:20
static MCAPI void ** $vftable()
Definition DetectionRule.h:18
Definition ReflectionCtx.h:11
Definition ctx.h:5