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/world/level/block/LiquidType.h"
11
12// auto generated forward declare list
13// clang-format off
14class Block;
15namespace ScriptModuleMinecraft { class IScriptBlockProperty; }
16namespace ScriptModuleMinecraft { class ScriptBlockType; }
17namespace ScriptModuleMinecraft { class ScriptItemStack; }
18namespace Scripting { struct ClassBinding; }
19// clang-format on
20
21namespace ScriptModuleMinecraft {
22
23class ScriptBlockPermutation : public ::Scripting::WeakHandleFromThis<::ScriptModuleMinecraft::ScriptBlockPermutation> {
24public:
25 // ScriptBlockPermutation inner types declare
26 // clang-format off
27 struct Key;
28 // clang-format on
29
30 // ScriptBlockPermutation inner types define
31 struct Key {
32 public:
33 // member variables
34 // NOLINTBEGIN
35 ::ll::TypedStorage<8, 8, ::gsl::not_null<::Block const*>> block;
36 // NOLINTEND
37 };
38
39public:
40 // member variables
41 // NOLINTBEGIN
42 ::ll::TypedStorage<8, 16, ::Scripting::WeakLifetimeScope> mScope;
43 ::ll::TypedStorage<8, 8, ::gsl::not_null<::Block const*>> mBlock;
44 // NOLINTEND
45
46public:
47 // member functions
48 // NOLINTBEGIN
49 MCAPI ::Scripting::Result_deprecated<
50 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::IScriptBlockProperty>>>
51 _createPropertyV010(::std::string const& propertyName);
52
53 MCAPI ::Scripting::Result_deprecated<bool> canBeDestroyedByLiquidSpread(::LiquidType liquidType) const;
54
55 MCAPI ::Scripting::Result_deprecated<bool> canContainLiquid(::LiquidType liquidType) const;
56
57 MCAPI ::std::vector<
58 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::IScriptBlockProperty>>>
59 getAllPropertiesV010();
60
61 MCAPI ::std::unordered_map<::std::string, ::std::variant<int, ::std::string, bool>> getAllStates() const;
62
63 MCAPI ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptItemStack>>
64 getItemStack(int amount) const;
65
66 MCAPI ::Scripting::Result_deprecated<
67 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::IScriptBlockProperty>>>
68 getPropertyV010(::std::string const& propertyName);
69
70 MCAPI ::std::optional<::std::variant<int, ::std::string, bool>> getState(::std::string const& name) const;
71
72 MCAPI ::std::vector<::std::string> getTags() const;
73
74 MCAPI ::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlockType> getType() const;
75
76 MCAPI bool hasTag(::std::string const& tag) const;
77
78 MCAPI ::Scripting::Result_deprecated<bool> isLiquidBlocking(::LiquidType liquidType) const;
79
80 MCAPI ::Scripting::Result_deprecated<bool> liquidSpreadCausesSpawn(::LiquidType liquidType) const;
81
82 MCAPI bool matches(
83 ::std::string blockName,
84 ::std::optional<::std::unordered_map<::std::string, ::std::variant<int, ::std::string, bool>>> properties
85 ) const;
86
87 MCAPI ::Scripting::Result_deprecated<
89 withState(
91 ::std::string const& name,
92 ::std::variant<int, ::std::string, bool> const& value
93 ) const;
94 // NOLINTEND
95
96public:
97 // static functions
98 // NOLINTBEGIN
99 MCAPI static ::Scripting::ClassBinding bind();
100
101 MCAPI static ::Scripting::ClassBinding bindV010();
102
103 MCAPI static ::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlockPermutation>
104 getOrCreateHandle(::Block const& block, ::Scripting::WeakLifetimeScope const& scope);
105
106 MCAPI static ::Scripting::Result_deprecated<
108 resolve(
110 ::std::string const& blockName,
111 ::std::optional<::std::unordered_map<::std::string, ::std::variant<int, ::std::string, bool>>> const& properties
112 );
113 // NOLINTEND
114};
115
116} // namespace ScriptModuleMinecraft
Definition Block.h:43
Definition IScriptBlockProperty.h:17
Definition ScriptBlockPermutation.h:23
Definition ScriptBlockType.h:20
Definition ScriptItemStack.h:35
Definition StrongTypedObjectHandle.h:8
Definition WeakHandleFromThis.h:8
Definition WeakLifetimeScope.h:7
Definition ScriptBlockPermutation.h:31
Definition ClassBinding.h:19