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 ScriptBlockPermutation(::ScriptModuleMinecraft::ScriptBlockPermutation&&);
64
65 MCAPI ::Scripting::Result_deprecated<
66 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::IScriptBlockProperty>>>
67 _createPropertyV010(::std::string const& propertyName);
68
69 MCAPI ::Scripting::Result_deprecated<bool>
70 canBeDestroyedByLiquidSpread(::SharedTypes::v1_26_0::LiquidType liquidType) const;
71
72 MCAPI ::Scripting::Result_deprecated<bool> canContainLiquid(::SharedTypes::v1_26_0::LiquidType liquidType) const;
73
74 MCAPI ::std::vector<
75 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::IScriptBlockProperty>>>
76 getAllPropertiesV010();
77
78 MCAPI ::std::unordered_map<::std::string, ::std::variant<int, ::std::string, bool>> getAllStates() const;
79
80 MCAPI ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptItemStack>>
81 getItemStack(int amount) const;
82
83 MCAPI ::std::string getLocalizationKey() const;
84
85 MCAPI ::Scripting::Result_deprecated<
86 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::IScriptBlockProperty>>>
87 getPropertyV010(::std::string const& propertyName);
88
89 MCAPI ::std::optional<::std::variant<int, ::std::string, bool>> getState(::std::string const& name) const;
90
91 MCAPI ::std::vector<::std::string> getTags() const;
92
93 MCAPI ::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlockType> getType() const;
94
95 MCAPI bool hasTag(::std::string const& tag) const;
96
97 MCAPI ::Scripting::Result_deprecated<bool> isLiquidBlocking(::SharedTypes::v1_26_0::LiquidType liquidType) const;
98
99 MCAPI ::Scripting::Result_deprecated<bool>
100 liquidSpreadCausesSpawn(::SharedTypes::v1_26_0::LiquidType liquidType) const;
101
102 MCAPI bool matches(
103 ::std::string blockName,
104 ::std::optional<::std::unordered_map<::std::string, ::std::variant<int, ::std::string, bool>>> properties
105 ) const;
106
107 MCAPI ::ScriptModuleMinecraft::ScriptBlockPermutation& operator=(::ScriptModuleMinecraft::ScriptBlockPermutation&&);
108
109 MCAPI ::Scripting::Result_deprecated<
111 withState(
113 ::std::string const& name,
114 ::std::variant<int, ::std::string, bool> const& value
115 ) const;
116 // NOLINTEND
117
118public:
119 // static functions
120 // NOLINTBEGIN
121 MCAPI static ::Scripting::ClassBinding bind();
122
123 MCAPI static ::Scripting::ClassBinding bindV010();
124
125 MCAPI static ::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlockPermutation>
126 getOrCreateHandle(::Block const& block, ::Scripting::WeakLifetimeScope const& scope);
127
128 MCAPI static ::Scripting::Result_deprecated<
130 resolve(
132 ::std::string const& blockName,
133 ::std::optional<::std::unordered_map<::std::string, ::std::variant<int, ::std::string, bool>>> const& properties
134 );
135 // NOLINTEND
136
137public:
138 // constructor thunks
139 // NOLINTBEGIN
141 // NOLINTEND
142};
143
144} // namespace ScriptModuleMinecraft
Definition Block.h:43
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:7
Definition ScriptBlockPermutation.h:32
Definition ClassBinding.h:19