LeviLamina
Loading...
Searching...
No Matches
ScriptBlockPermutation.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/scripting/lifetime_registry/StrongTypedObjectHandle.h"
7#include "mc/deps/scripting/lifetime_registry/WeakHandleFromThis.h"
8#include "mc/deps/scripting/lifetime_registry/WeakLifetimeScope.h"
9#include "mc/deps/scripting/runtime/Result_deprecated.h"
10#include "mc/deps/shared_types/v1_26_0/block/LiquidType.h"
11
12// auto generated forward declare list
13// clang-format off
14class Block;
15namespace ScriptModuleMinecraft { class IScriptBlockProperty; }
16namespace ScriptModuleMinecraft { class ScriptBlockPermutationComponent; }
17namespace ScriptModuleMinecraft { class ScriptBlockType; }
18namespace ScriptModuleMinecraft { class ScriptItemStack; }
19namespace Scripting { struct ClassBinding; }
20// clang-format on
21
22namespace ScriptModuleMinecraft {
23
24class ScriptBlockPermutation : public ::Scripting::WeakHandleFromThis<::ScriptModuleMinecraft::ScriptBlockPermutation> {
25public:
26 // ScriptBlockPermutation inner types declare
27 // clang-format off
28 struct Key;
29 // clang-format on
30
31 // ScriptBlockPermutation inner types define
32 struct Key {
33 public:
34 // member variables
35 // NOLINTBEGIN
36 ::ll::TypedStorage<8, 8, ::gsl::not_null<::Block const*>> block;
37 // NOLINTEND
38 };
39
40public:
41 // member variables
42 // NOLINTBEGIN
43 ::ll::TypedStorage<8, 16, ::Scripting::WeakLifetimeScope> mScope;
44 ::ll::TypedStorage<8, 8, ::gsl::not_null<::Block const*>> mBlock;
45 ::ll::TypedStorage<
46 8,
47 64,
48 ::std::unordered_map<
49 ::std::string,
51 mAttachedComponents;
52 // NOLINTEND
53
54public:
55 // prevent constructor by default
56 ScriptBlockPermutation& operator=(ScriptBlockPermutation const&);
57 ScriptBlockPermutation(ScriptBlockPermutation const&);
58 ScriptBlockPermutation();
59
60public:
61 // member functions
62 // NOLINTBEGIN
63 MCAPI ::Scripting::Result_deprecated<
64 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::IScriptBlockProperty>>>
65 _createPropertyV010(::std::string const& propertyName);
66
67 MCAPI ::Scripting::Result_deprecated<bool>
68 canBeDestroyedByLiquidSpread(::SharedTypes::v1_26_0::LiquidType liquidType) const;
69
70 MCAPI ::Scripting::Result_deprecated<bool> canContainLiquid(::SharedTypes::v1_26_0::LiquidType liquidType) const;
71
72 MCAPI ::std::vector<
73 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::IScriptBlockProperty>>>
74 getAllPropertiesV010();
75
76 MCAPI ::std::unordered_map<::std::string, ::std::variant<int, ::std::string, bool>> getAllStates() const;
77
78 MCFOLD ::Block const& getBlock() const;
79
80 MCAPI ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptItemStack>>
81 getItemStack(int amount) const;
82
83 MCAPI ::Scripting::Result_deprecated<
84 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::IScriptBlockProperty>>>
85 getPropertyV010(::std::string const& propertyName);
86
87 MCAPI ::std::optional<::std::variant<int, ::std::string, bool>> getState(::std::string const& name) const;
88
89 MCAPI ::std::vector<::std::string> getTags() const;
90
91 MCAPI ::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlockType> getType() const;
92
93 MCAPI bool hasTag(::std::string const& tag) const;
94
95 MCAPI ::Scripting::Result_deprecated<bool> isLiquidBlocking(::SharedTypes::v1_26_0::LiquidType liquidType) const;
96
97 MCAPI ::Scripting::Result_deprecated<bool>
98 liquidSpreadCausesSpawn(::SharedTypes::v1_26_0::LiquidType liquidType) const;
99
100 MCAPI bool matches(
101 ::std::string blockName,
102 ::std::optional<::std::unordered_map<::std::string, ::std::variant<int, ::std::string, bool>>> properties
103 ) const;
104
105 MCAPI ::ScriptModuleMinecraft::ScriptBlockPermutation&
107
108 MCFOLD void setBlock(::Block const& block);
109
110 MCAPI ::Scripting::Result_deprecated<
112 withState(
114 ::std::string const& name,
115 ::std::variant<int, ::std::string, bool> const& value
116 ) const;
117
118 MCAPI ~ScriptBlockPermutation();
119 // NOLINTEND
120
121public:
122 // static functions
123 // NOLINTBEGIN
124 MCAPI static ::Scripting::ClassBinding bind();
125
126 MCAPI static ::Scripting::ClassBinding bindV010();
127
128 MCAPI static ::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlockPermutation>
129 getOrCreateHandle(::Block const& block, ::Scripting::WeakLifetimeScope const& scope);
130
131 MCAPI static ::Scripting::Result_deprecated<
133 resolve(
135 ::std::string const& blockName,
136 ::std::optional<::std::unordered_map<::std::string, ::std::variant<int, ::std::string, bool>>> const& properties
137 );
138 // NOLINTEND
139
140public:
141 // destructor thunk
142 // NOLINTBEGIN
143 MCAPI void $dtor();
144 // NOLINTEND
145};
146
147} // namespace ScriptModuleMinecraft
Definition Block.h:69
Definition IScriptBlockProperty.h:17
Definition ScriptBlockPermutationComponent.h:7
Definition ScriptBlockPermutation.h:24
Definition ScriptBlockType.h:20
Definition ScriptItemStack.h:32
Definition StrongTypedObjectHandle.h:8
Definition WeakHandleFromThis.h:8
Definition WeakLifetimeScope.h:14
Definition ScriptBlockPermutation.h:32
Definition ClassBinding.h:19