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/binding_type/ClassBindingBuilder.h"
7#include "mc/deps/scripting/lifetime_registry/StrongTypedObjectHandle.h"
8#include "mc/deps/scripting/lifetime_registry/WeakHandleFromThis.h"
9#include "mc/deps/scripting/runtime/Result.h"
10#include "mc/deps/scripting/runtime/Result_deprecated.h"
11#include "mc/world/level/block/LiquidType.h"
12
13// auto generated forward declare list
14// clang-format off
15class Block;
16namespace ScriptModuleMinecraft { class IScriptBlockProperty; }
17namespace ScriptModuleMinecraft { class ScriptBlockType; }
18namespace ScriptModuleMinecraft { class ScriptItemStack; }
19namespace Scripting { class WeakLifetimeScope; }
20namespace Scripting { struct ContextConfig; }
21namespace Scripting { struct Error; }
22// clang-format on
23
24namespace ScriptModuleMinecraft {
25
26class ScriptBlockPermutation : public ::Scripting::WeakHandleFromThis<::ScriptModuleMinecraft::ScriptBlockPermutation> {
27public:
28 // ScriptBlockPermutation inner types declare
29 // clang-format off
30 struct Key;
31 // clang-format on
32
33 // ScriptBlockPermutation inner types define
34 struct Key {
35 public:
36 // member variables
37 // NOLINTBEGIN
39 // NOLINTEND
40
41 public:
42 // prevent constructor by default
43 Key& operator=(Key const&);
44 Key(Key const&);
45 Key();
46 };
47
48public:
49 // member variables
50 // NOLINTBEGIN
53 // NOLINTEND
54
55public:
56 // prevent constructor by default
60
61public:
62 // member functions
63 // NOLINTBEGIN
64 MCAPI ::Scripting::Result_deprecated<
65 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::IScriptBlockProperty>>>
66 _createPropertyV010(::std::string const& propertyName);
67
68 MCAPI ::Scripting::Result<bool, ::Scripting::Error> canBeDestroyedByLiquidSpread(::LiquidType liquidType) const;
69
70 MCAPI ::Scripting::Result<bool, ::Scripting::Error> canContainLiquid(::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 MCAPI ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptItemStack>>
79 getItemStack(int amount) const;
80
81 MCAPI ::Scripting::Result_deprecated<
82 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::IScriptBlockProperty>>>
83 getPropertyV010(::std::string const& propertyName);
84
85 MCAPI ::std::optional<::std::variant<int, ::std::string, bool>> getState(::std::string const& name) const;
86
87 MCAPI ::std::vector<::std::string> getTags() const;
88
89 MCAPI ::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlockType> getType() const;
90
91 MCAPI bool hasTag(::std::string const& tag) const;
92
93 MCAPI ::Scripting::Result<bool, ::Scripting::Error> isLiquidBlocking(::LiquidType liquidType) const;
94
95 MCAPI ::Scripting::Result<bool, ::Scripting::Error> liquidSpreadCausesSpawn(::LiquidType liquidType) const;
96
97 MCAPI bool matches(
98 ::std::string blockName,
99 ::std::optional<::std::unordered_map<::std::string, ::std::variant<int, ::std::string, bool>>> properties
100 ) const;
101
102 MCAPI ::Scripting::Result_deprecated<
104 withState(
105 ::Scripting::ContextConfig const& contextConfig,
107 ::std::string name,
108 ::std::variant<int, ::std::string, bool> value
109 );
110 // NOLINTEND
111
112public:
113 // static functions
114 // NOLINTBEGIN
115 MCAPI static ::Scripting::ClassBindingBuilder<::ScriptModuleMinecraft::ScriptBlockPermutation> bind();
116
117 MCAPI static ::Scripting::ClassBindingBuilder<::ScriptModuleMinecraft::ScriptBlockPermutation> bindV010();
118
119 MCAPI static ::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlockPermutation>
120 getOrCreateHandle(::Block const& block, ::Scripting::WeakLifetimeScope const& scope);
121
122 MCAPI static ::Scripting::Result_deprecated<
124 resolve(
126 ::std::string const& blockName,
127 ::std::optional<::std::unordered_map<::std::string, ::std::variant<int, ::std::string, bool>>> const& properties
128 );
129 // NOLINTEND
130};
131
132} // namespace ScriptModuleMinecraft
Definition Block.h:36
Definition ScriptBlockPermutation.h:26
Definition StrongTypedObjectHandle.h:8
Definition WeakHandleFromThis.h:8
Definition WeakLifetimeScope.h:12
Definition ScriptBlockPermutation.h:34
Definition ContextConfig.h:7
Definition Alias.h:14