LeviLamina
Loading...
Searching...
No Matches
ScriptItemStack.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/WeakLifetimeScope.h"
8#include "mc/deps/scripting/lifetime_registry/WeakTypedObjectHandle.h"
9#include "mc/deps/scripting/runtime/Result.h"
10#include "mc/deps/scripting/runtime/Result_deprecated.h"
11#include "mc/world/item/ItemInstance.h"
12
13// auto generated forward declare list
14// clang-format off
15class ItemStackBase;
16class Vec3;
17namespace ScriptModuleMinecraft { class ScriptItemComponent; }
18namespace ScriptModuleMinecraft { class ScriptItemComponents; }
19namespace ScriptModuleMinecraft { class ScriptItemType; }
20namespace ScriptModuleMinecraft { struct ScriptRawMessageInterface; }
21namespace Scripting { struct ArgumentOutOfBoundsError; }
22namespace Scripting { struct ClassBinding; }
23namespace Scripting { struct ContextConfig; }
24namespace Scripting { struct EngineError; }
25namespace Scripting { struct Error; }
26namespace Scripting { struct UnsupportedAPIError; }
27namespace Scripting { struct Version; }
28// clang-format on
29
30namespace ScriptModuleMinecraft {
31
32class ScriptItemStack {
33public:
34 // member variables
35 // NOLINTBEGIN
36 ::ll::TypedStorage<8, 128, ::ItemInstance> mItemInstance;
37 ::ll::TypedStorage<8, 16, ::Scripting::WeakLifetimeScope> mScope;
38 ::ll::TypedStorage<8, 32, ::Scripting::WeakTypedObjectHandle<::ScriptModuleMinecraft::ScriptItemStack>>
39 mScriptStack;
40 ::ll::TypedStorage<8, 32, ::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptItemType>> mItemType;
41 ::ll::TypedStorage<
42 8,
43 64,
44 ::std::unordered_map<
45 ::std::string,
47 mAttachedComponents;
48 // NOLINTEND
49
50public:
51 // prevent constructor by default
52 ScriptItemStack();
53
54public:
55 // member functions
56 // NOLINTBEGIN
57 MCAPI ScriptItemStack(::ScriptModuleMinecraft::ScriptItemStack&&);
58
59 MCAPI ScriptItemStack(::ScriptModuleMinecraft::ScriptItemStack const&);
60
61 MCAPI ScriptItemStack(
63 ::ItemStackBase const& item,
65 );
66
67 MCAPI ScriptItemStack(
70 int amount,
71 int data
72 );
73
74 MCAPI ::Scripting::Result<void, ::Scripting::ArgumentOutOfBoundsError, ::Scripting::UnsupportedAPIError>
75 _validateDynamicProperty(
76 ::std::string const& key,
77 ::std::variant<double, float, bool, ::std::string, ::Vec3> const& value
78 ) const;
79
80 MCAPI ::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptItemStack>
81 clone(::Scripting::WeakLifetimeScope scope) const;
82
83 MCAPI ::std::vector<::std::string> getCanDestroy() const;
84
85 MCAPI ::std::vector<::std::string> getCanPlaceOn() const;
86
87 MCAPI ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptItemComponent>>
88 getComponent(
89 ::std::shared_ptr<::ScriptModuleMinecraft::ScriptItemComponents> components,
90 ::std::string_view id,
91 bool includeCustom
92 );
93
94 MCAPI ::std::vector<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptItemComponent>>
95 getComponents(::std::shared_ptr<::ScriptModuleMinecraft::ScriptItemComponents> components, bool includeCustom);
96
97 MCAPI ::std::optional<::std::variant<double, float, bool, ::std::string, ::Vec3>>
98 getDynamicProperty(::Scripting::ContextConfig const& contextConfig, ::std::string const& key);
99
100 MCAPI ::std::vector<::std::string> getDynamicPropertyIds(::Scripting::ContextConfig const& contextConfig);
101
102 MCAPI int getDynamicPropertyTotalByteCount(::Scripting::ContextConfig const& contextConfig);
103
104 MCAPI ::Scripting::Result<::std::string, ::Scripting::EngineError> getLocalizationKey() const;
105
106 MCAPI ::std::vector<::std::string> getLore() const;
107
108 MCAPI ::std::optional<::std::string> getNameTag() const;
109
110 MCAPI ::std::vector<::ScriptModuleMinecraft::ScriptRawMessageInterface> getRawLore() const;
111
112 MCAPI ::std::vector<::std::string> getTags() const;
113
114 MCAPI ::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptItemType> getType() const;
115
116 MCAPI ::std::string getTypeId() const;
117
118 MCAPI bool hasComponent(
119 ::std::shared_ptr<::ScriptModuleMinecraft::ScriptItemComponents> components,
120 ::std::string_view id,
121 bool includeCustom
122 );
123
124 MCAPI bool hasTag(::std::string const& tag) const;
125
126 MCAPI bool matches(
127 ::std::string itemName,
128 ::std::optional<::std::unordered_map<::std::string, ::std::variant<int, ::std::string, bool>>> properties
129 ) const;
130
131 MCAPI ::ScriptModuleMinecraft::ScriptItemStack& operator=(::ScriptModuleMinecraft::ScriptItemStack&&);
132
133 MCAPI ::ScriptModuleMinecraft::ScriptItemStack& operator=(::ScriptModuleMinecraft::ScriptItemStack const&);
134
135 MCAPI ::Scripting::Result<void, ::Scripting::ArgumentOutOfBoundsError> setAmount(int amount);
136
137 MCAPI ::Scripting::Result_deprecated<void>
138 setCanDestroy(::std::optional<::std::vector<::std::string>> const& blockIdentifiers);
139
140 MCAPI ::Scripting::Result_deprecated<void>
141 setCanPlaceOn(::std::optional<::std::vector<::std::string>> const& blockIdentifiers);
142
143 MCAPI ::Scripting::Result<void, ::Scripting::ArgumentOutOfBoundsError, ::Scripting::UnsupportedAPIError>
144 setDynamicProperties(
145 ::Scripting::ContextConfig const& contextConfig,
146 ::std::unordered_map<
147 ::std::string,
148 ::std::optional<::std::variant<double, float, bool, ::std::string, ::Vec3>>> const& values
149 );
150
151 MCAPI ::Scripting::Result<void, ::Scripting::ArgumentOutOfBoundsError, ::Scripting::UnsupportedAPIError>
152 setDynamicProperty(
153 ::Scripting::ContextConfig const& contextConfig,
154 ::std::string const& key,
155 ::std::optional<::std::variant<double, float, bool, ::std::string, ::Vec3>> const& optionalValue
156 );
157
158 MCAPI ::Scripting::Result<void, ::Scripting::ArgumentOutOfBoundsError, ::Scripting::Error> setLore(
159 ::std::optional<
160 ::std::vector<::std::variant<::std::string, ::ScriptModuleMinecraft::ScriptRawMessageInterface>>> const&
161 loreVariantList
162 );
163
164 MCAPI ::Scripting::Result_deprecated<void> setNameTag(::std::optional<::std::string> nameTag);
165
166 MCAPI void setNameTagV010(::std::optional<::std::string> nameTag);
167
168 MCAPI ~ScriptItemStack();
169 // NOLINTEND
170
171public:
172 // static functions
173 // NOLINTBEGIN
174 MCAPI static ::Scripting::ClassBinding bind(
175 ::std::shared_ptr<::ScriptModuleMinecraft::ScriptItemComponents>& itemComponents,
176 ::Scripting::Version const& version
177 );
178
179 MCAPI static ::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptItemStack>
180 createHandle(::Scripting::WeakLifetimeScope scope, ::ItemStackBase const& item);
181
182 MCAPI static ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptItemStack>>
183 createOptionalHandle(::Scripting::WeakLifetimeScope scope, ::ItemStackBase const& item);
184
185 MCAPI static ::std::vector<::ScriptModuleMinecraft::ScriptRawMessageInterface>
186 createRawLoreVector(::std::vector<::std::string> lore);
187
188 MCAPI static ::std::optional<::std::vector<::std::string>> tryCreateLoreVector(
189 ::std::vector<::std::variant<::std::string, ::ScriptModuleMinecraft::ScriptRawMessageInterface>> const&
190 loreVariantList,
191 ::std::string& errorMessage
192 );
193
194 MCAPI static ::std::optional<::Scripting::ArgumentOutOfBoundsError>
195 validateLoreLength(::std::vector<::std::string> const& loreList);
196 // NOLINTEND
197
198public:
199 // constructor thunks
200 // NOLINTBEGIN
201 MCAPI void* $ctor(::ScriptModuleMinecraft::ScriptItemStack&&);
202
203 MCAPI void* $ctor(::ScriptModuleMinecraft::ScriptItemStack const&);
204
205 MCAPI void* $ctor(
207 ::ItemStackBase const& item,
209 );
210
211 MCAPI void* $ctor(
214 int amount,
215 int data
216 );
217 // NOLINTEND
218
219public:
220 // destructor thunk
221 // NOLINTBEGIN
222 MCAPI void $dtor();
223 // NOLINTEND
224};
225
226} // namespace ScriptModuleMinecraft
Definition ItemStackBase.h:44
Definition ScriptItemComponent.h:20
Definition ScriptItemComponents.h:24
Definition ScriptItemStack.h:32
Definition ScriptItemType.h:16
Definition StrongTypedObjectHandle.h:8
Definition WeakLifetimeScope.h:7
Definition Vec3.h:10
Definition ScriptRawMessageInterface.h:20
Definition ArgumentOutOfBoundsError.h:15
Definition ClassBinding.h:19
Definition ContextConfig.h:20
Definition EngineError.h:15
Definition Error.h:10
Definition UnsupportedAPIError.h:15
Definition Version.h:7