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/script_core/lifetime_registry/scripting/StrongTypedObjectHandle.h"
7#include "mc/deps/script_core/lifetime_registry/scripting/WeakLifetimeScope.h"
8#include "mc/deps/script_core/lifetime_registry/scripting/WeakTypedObjectHandle.h"
9#include "mc/deps/script_core/runtime/scripting/Result.h"
10#include "mc/deps/script_core/runtime/scripting/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 UnsupportedAPIError; }
26namespace Scripting { struct Version; }
27// clang-format on
28
29namespace ScriptModuleMinecraft {
30
31class ScriptItemStack {
32public:
33 // member variables
34 // NOLINTBEGIN
35 ::ll::TypedStorage<8, 128, ::ItemInstance> mItemInstance;
36 ::ll::TypedStorage<8, 16, ::Scripting::WeakLifetimeScope> mScope;
37 ::ll::TypedStorage<8, 32, ::Scripting::WeakTypedObjectHandle<::ScriptModuleMinecraft::ScriptItemStack>>
38 mScriptStack;
39 ::ll::TypedStorage<8, 32, ::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptItemType>> mItemType;
40 ::ll::TypedStorage<
41 8,
42 64,
43 ::std::unordered_map<
44 ::std::string,
46 mAttachedComponents;
47 // NOLINTEND
48
49public:
50 // prevent constructor by default
51 ScriptItemStack(ScriptItemStack const&);
52 ScriptItemStack();
53
54public:
55 // member functions
56 // NOLINTBEGIN
57 MCAPI ScriptItemStack(
60 int amount,
61 int data
62 );
63
64 MCAPI ::Scripting::Result<void, ::Scripting::ArgumentOutOfBoundsError, ::Scripting::UnsupportedAPIError>
65 _validateDynamicProperty(
66 ::std::string const& key,
67 ::std::variant<double, float, bool, ::std::string, ::Vec3> const& value
68 ) const;
69
70 MCAPI ::std::vector<::std::string> getCanDestroy() const;
71
72 MCAPI ::std::vector<::std::string> getCanPlaceOn() const;
73
74 MCAPI ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptItemComponent>>
75 getComponent(
76 ::std::shared_ptr<::ScriptModuleMinecraft::ScriptItemComponents> components,
77 ::std::string_view id,
78 bool includeCustom
79 );
80
81 MCAPI ::std::vector<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptItemComponent>>
82 getComponents(::std::shared_ptr<::ScriptModuleMinecraft::ScriptItemComponents> components, bool includeCustom);
83
84 MCAPI ::Scripting::Result<::std::string, ::Scripting::EngineError> getLocalizationKey() const;
85
86 MCAPI ::std::vector<::std::string> getLore() const;
87
88 MCAPI ::std::optional<::std::string> getNameTag() const;
89
90 MCAPI ::std::vector<::std::string> getTags() const;
91
92 MCAPI ::std::string getTypeId() const;
93
94 MCAPI ::ScriptModuleMinecraft::ScriptItemStack& operator=(::ScriptModuleMinecraft::ScriptItemStack const&);
95
96 MCAPI ::Scripting::Result_deprecated<void>
97 setCanDestroy(::std::optional<::std::vector<::std::string>> const& blockIdentifiers);
98
99 MCAPI ::Scripting::Result_deprecated<void>
100 setCanPlaceOn(::std::optional<::std::vector<::std::string>> const& blockIdentifiers);
101
102 MCAPI ::Scripting::Result<void, ::Scripting::ArgumentOutOfBoundsError, ::Scripting::UnsupportedAPIError>
103 setDynamicProperty(
104 ::Scripting::ContextConfig const& contextConfig,
105 ::std::string const& key,
106 ::std::optional<::std::variant<double, float, bool, ::std::string, ::Vec3>> const& optionalValue
107 );
108
109 MCAPI ~ScriptItemStack();
110 // NOLINTEND
111
112public:
113 // static functions
114 // NOLINTBEGIN
115 MCAPI static ::Scripting::ClassBinding bind(
116 ::std::shared_ptr<::ScriptModuleMinecraft::ScriptItemComponents>& itemComponents,
117 ::Scripting::Version const& version
118 );
119
120 MCAPI static ::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptItemStack>
121 createHandle(::Scripting::WeakLifetimeScope scope, ::ItemStackBase const& item);
122
123 MCAPI static ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptItemStack>>
124 createOptionalHandle(::Scripting::WeakLifetimeScope scope, ::ItemStackBase const& item);
125
126 MCAPI static ::std::vector<::ScriptModuleMinecraft::ScriptRawMessageInterface>
127 createRawLoreVector(::std::vector<::std::string> lore);
128
129 MCAPI static ::std::optional<::std::vector<::std::string>> tryCreateLoreVector(
130 ::std::vector<::std::variant<::std::string, ::ScriptModuleMinecraft::ScriptRawMessageInterface>> const&
131 loreVariantList,
132 ::std::string& errorMessage
133 );
134
135 MCAPI static ::std::optional<::Scripting::ArgumentOutOfBoundsError>
136 validateLoreLength(::std::vector<::std::string> const& loreList);
137 // NOLINTEND
138
139public:
140 // constructor thunks
141 // NOLINTBEGIN
142 MCAPI void* $ctor(
145 int amount,
146 int data
147 );
148 // NOLINTEND
149
150public:
151 // destructor thunk
152 // NOLINTBEGIN
153 MCAPI void $dtor();
154 // NOLINTEND
155};
156
157} // namespace ScriptModuleMinecraft
Definition ItemStackBase.h:44
Definition ScriptItemComponent.h:20
Definition ScriptItemComponents.h:19
Definition ScriptItemStack.h:31
Definition ScriptItemType.h:16
Definition StrongTypedObjectHandle.h:8
Definition WeakLifetimeScope.h:7
Definition Vec3.h:10
Definition ScriptRawMessageInterface.h:20
Definition ArgumentOutOfBoundsError.h:10
Definition ClassBinding.h:10
Definition ContextConfig.h:20
Definition EngineError.h:10
Definition UnsupportedAPIError.h:10
Definition Version.h:7