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 const&);
58
59 MCAPI ScriptItemStack(
61 ::ItemStackBase const& item,
63 );
64
65 MCAPI ScriptItemStack(
68 int amount,
69 int data
70 );
71
72 MCAPI ::Scripting::Result<void, ::Scripting::ArgumentOutOfBoundsError, ::Scripting::UnsupportedAPIError>
73 _validateDynamicProperty(
74 ::std::string const& key,
75 ::std::variant<double, float, bool, ::std::string, ::Vec3> const& value
76 ) const;
77
78 MCAPI void clearDynamicProperties(::Scripting::ContextConfig const& contextConfig);
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 MCFOLD ::ItemInstance const& getItemInstance() const;
105
106 MCFOLD ::ItemInstance& getItemInstance();
107
108 MCAPI ::Scripting::Result<::std::string, ::Scripting::EngineError> getLocalizationKey() const;
109
110 MCAPI ::std::vector<::std::string> getLore() const;
111
112 MCAPI ::std::optional<::std::string> getNameTag() const;
113
114 MCAPI ::std::vector<::ScriptModuleMinecraft::ScriptRawMessageInterface> getRawLore() const;
115
116 MCAPI ::std::vector<::std::string> getTags() const;
117
118 MCAPI ::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptItemType> getType() const;
119
120 MCAPI ::std::string getTypeId() const;
121
122 MCAPI bool hasTag(::std::string const& tag) const;
123
124 MCAPI bool isStackableWith(::ScriptModuleMinecraft::ScriptItemStack const& other) 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 const&);
132
133 MCAPI ::Scripting::Result<void, ::Scripting::ArgumentOutOfBoundsError> setAmount(int amount);
134
135 MCAPI ::Scripting::Result_deprecated<void>
136 setCanDestroy(::std::optional<::std::vector<::std::string>> const& blockIdentifiers);
137
138 MCAPI ::Scripting::Result_deprecated<void>
139 setCanPlaceOn(::std::optional<::std::vector<::std::string>> const& blockIdentifiers);
140
141 MCAPI ::Scripting::Result<void, ::Scripting::ArgumentOutOfBoundsError, ::Scripting::UnsupportedAPIError>
142 setDynamicProperties(
143 ::Scripting::ContextConfig const& contextConfig,
144 ::std::unordered_map<
145 ::std::string,
146 ::std::optional<::std::variant<double, float, bool, ::std::string, ::Vec3>>> const& values
147 );
148
149 MCAPI ::Scripting::Result<void, ::Scripting::ArgumentOutOfBoundsError, ::Scripting::UnsupportedAPIError>
150 setDynamicProperty(
151 ::Scripting::ContextConfig const& contextConfig,
152 ::std::string const& key,
153 ::std::optional<::std::variant<double, float, bool, ::std::string, ::Vec3>> const& optionalValue
154 );
155
156 MCAPI ::Scripting::Result<void, ::Scripting::ArgumentOutOfBoundsError, ::Scripting::Error> setLore(
157 ::std::optional<
158 ::std::vector<::std::variant<::std::string, ::ScriptModuleMinecraft::ScriptRawMessageInterface>>> const&
159 loreVariantList
160 );
161
162 MCAPI void setLoreV010(::std::optional<::std::vector<::std::string>> const& loreList);
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 const&);
202
203 MCAPI void* $ctor(
205 ::ItemStackBase const& item,
207 );
208
209 MCAPI void* $ctor(
212 int amount,
213 int data
214 );
215 // NOLINTEND
216
217public:
218 // destructor thunk
219 // NOLINTBEGIN
220 MCAPI void $dtor();
221 // NOLINTEND
222};
223
224} // namespace ScriptModuleMinecraft
Definition ItemStackBase.h:52
Definition ScriptItemComponent.h:20
Definition ScriptItemComponents.h:24
Definition ScriptItemStack.h:32
Definition ScriptItemType.h:16
Definition StrongTypedObjectHandle.h:8
Definition WeakLifetimeScope.h:14
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