LeviLamina
Loading...
Searching...
No Matches
ScriptContainer.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/runtime/Result.h"
9#include "mc/deps/scripting/runtime/Result_deprecated.h"
10#include "mc/scripting/modules/minecraft/ScriptContainerRules.h"
11
12// auto generated forward declare list
13// clang-format off
14class Container;
15class ItemContext;
16namespace ScriptModuleMinecraft { class ScriptContainerSlot; }
17namespace ScriptModuleMinecraft { class ScriptContainerWrapper; }
18namespace ScriptModuleMinecraft { class ScriptItemStack; }
19namespace ScriptModuleMinecraft { struct ScriptContainerRulesError; }
20namespace ScriptModuleMinecraft { struct ScriptInvalidContainerError; }
21namespace Scripting { struct ClassBinding; }
22namespace Scripting { struct Error; }
23// clang-format on
24
25namespace ScriptModuleMinecraft {
26
27class ScriptContainer {
28public:
29 // member variables
30 // NOLINTBEGIN
31 ::ll::TypedStorage<8, 72, ::std::optional<::ScriptModuleMinecraft::ScriptContainerRules>> mContainerRules;
32 ::ll::TypedStorage<8, 16, ::Scripting::WeakLifetimeScope> mScope;
33 // NOLINTEND
34
35public:
36 // prevent constructor by default
37 ScriptContainer();
38
39public:
40 // virtual functions
41 // NOLINTBEGIN
42 virtual ~ScriptContainer();
43
44 virtual ::Scripting::Result_deprecated<int> getSize() const;
45
46 virtual ::Scripting::Result_deprecated<int> getEmptySlotsCount() const;
47
48 virtual ::Scripting::Result_deprecated<void>
49 setItemV010(int slot, ::ScriptModuleMinecraft::ScriptItemStack const& scriptItemStack) const;
50
51 virtual ::Scripting::Result<void, ::ScriptModuleMinecraft::ScriptContainerRulesError, ::Scripting::Error>
52 setItem(int slot, ::std::optional<::ScriptModuleMinecraft::ScriptItemStack> const& scriptItemStack) const;
53
54 virtual ::Scripting::Result_deprecated<
55 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptItemStack>>>
56 getItemV010(int slot) const;
57
58 virtual ::Scripting::Result_deprecated<
59 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptItemStack>>>
60 getItem(int slot) const;
61
62 virtual ::Scripting::Result_deprecated<void>
63 addItemV010(::ScriptModuleMinecraft::ScriptItemStack const& scriptItemStack) const;
64
65 virtual ::Scripting::Result_deprecated<bool>
66 transferItemV010(int fromSlot, int toSlot, ::ScriptModuleMinecraft::ScriptContainer& toScriptContainer) const;
67
68 virtual ::Scripting::Result<void, ::ScriptModuleMinecraft::ScriptContainerRulesError, ::Scripting::Error>
69 moveItem(int fromSlot, int toSlot, ::ScriptModuleMinecraft::ScriptContainerWrapper& toScriptContainer) const;
70
71 virtual ::Scripting::Result_deprecated<bool>
72 swapItemsV010(int slot, int otherSlot, ::ScriptModuleMinecraft::ScriptContainer& otherScriptContainer) const;
73
74 virtual ::Scripting::Result<void, ::ScriptModuleMinecraft::ScriptContainerRulesError, ::Scripting::Error>
75 swapItems(int slot, int otherSlot, ::ScriptModuleMinecraft::ScriptContainerWrapper& otherScriptContainer) const;
76
77 virtual ::Scripting::Result_deprecated<
79 getSlot(
80 int slot,
82 scriptContainerWrapperHandle
83 );
84
85 virtual ::Scripting::Result_deprecated<void> clearAll() const;
86
87 virtual ::Container* _tryGetContainer() const = 0;
88
89 virtual ::ItemContext _getItemContext(int slot) const = 0;
90 // NOLINTEND
91
92public:
93 // member functions
94 // NOLINTBEGIN
95 MCAPI explicit ScriptContainer(::Scripting::WeakLifetimeScope const& scope);
96
97 MCAPI ::Scripting::Result<
98 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptItemStack>>,
101 addItem(::ScriptModuleMinecraft::ScriptItemStack const& scriptItemStack) const;
102
103 MCAPI ::Scripting::Result<bool, ::ScriptModuleMinecraft::ScriptInvalidContainerError>
104 contains(::ScriptModuleMinecraft::ScriptItemStack const& scriptItemStack) const;
105
106 MCAPI ::Scripting::Result<::std::optional<int>, ::ScriptModuleMinecraft::ScriptInvalidContainerError>
107 find(::ScriptModuleMinecraft::ScriptItemStack const& scriptItemStack) const;
108
109 MCAPI ::Scripting::Result<::std::optional<int>, ::ScriptModuleMinecraft::ScriptInvalidContainerError>
110 findLast(::ScriptModuleMinecraft::ScriptItemStack const& scriptItemStack) const;
111
112 MCAPI ::Scripting::Result<::std::optional<int>, ::ScriptModuleMinecraft::ScriptInvalidContainerError>
113 firstEmptySlot() const;
114
115 MCAPI ::Scripting::Result<::std::optional<int>, ::ScriptModuleMinecraft::ScriptInvalidContainerError>
116 firstItem() const;
117
118 MCAPI ::Scripting::Result<int, ::ScriptModuleMinecraft::ScriptInvalidContainerError> getWeight() const;
119
120 MCAPI ::Scripting::Result<
121 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptItemStack>>,
124 transferItem(int fromSlot, ::ScriptModuleMinecraft::ScriptContainerWrapper& toScriptContainer) const;
125 // NOLINTEND
126
127public:
128 // static functions
129 // NOLINTBEGIN
130 MCAPI static ::std::optional<::Scripting::Error> _isSlotBeyondMaxCapacity(::Container& container, int slot);
131
132 MCAPI static ::std::optional<::Scripting::Error> _isSlotInvalid(::Container& container, int slot);
133
134 MCAPI static ::Scripting::ClassBinding bind();
135 // NOLINTEND
136
137public:
138 // constructor thunks
139 // NOLINTBEGIN
140 MCAPI void* $ctor(::Scripting::WeakLifetimeScope const& scope);
141 // NOLINTEND
142
143public:
144 // destructor thunk
145 // NOLINTBEGIN
146 MCAPI void $dtor();
147 // NOLINTEND
148
149public:
150 // virtual function thunks
151 // NOLINTBEGIN
152 MCAPI ::Scripting::Result_deprecated<int> $getSize() const;
153
154 MCAPI ::Scripting::Result_deprecated<int> $getEmptySlotsCount() const;
155
156 MCAPI ::Scripting::Result_deprecated<void>
157 $setItemV010(int slot, ::ScriptModuleMinecraft::ScriptItemStack const& scriptItemStack) const;
158
159 MCAPI ::Scripting::Result<void, ::ScriptModuleMinecraft::ScriptContainerRulesError, ::Scripting::Error>
160 $setItem(int slot, ::std::optional<::ScriptModuleMinecraft::ScriptItemStack> const& scriptItemStack) const;
161
162 MCAPI ::Scripting::Result_deprecated<
163 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptItemStack>>>
164 $getItemV010(int slot) const;
165
166 MCAPI ::Scripting::Result_deprecated<
167 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptItemStack>>>
168 $getItem(int slot) const;
169
170 MCAPI ::Scripting::Result_deprecated<void>
171 $addItemV010(::ScriptModuleMinecraft::ScriptItemStack const& scriptItemStack) const;
172
173 MCAPI ::Scripting::Result_deprecated<bool>
174 $transferItemV010(int fromSlot, int toSlot, ::ScriptModuleMinecraft::ScriptContainer& toScriptContainer) const;
175
176 MCAPI ::Scripting::Result<void, ::ScriptModuleMinecraft::ScriptContainerRulesError, ::Scripting::Error>
177 $moveItem(int fromSlot, int toSlot, ::ScriptModuleMinecraft::ScriptContainerWrapper& toScriptContainer) const;
178
179 MCAPI ::Scripting::Result_deprecated<bool>
180 $swapItemsV010(int slot, int otherSlot, ::ScriptModuleMinecraft::ScriptContainer& otherScriptContainer) const;
181
182 MCAPI ::Scripting::Result<void, ::ScriptModuleMinecraft::ScriptContainerRulesError, ::Scripting::Error>
183 $swapItems(int slot, int otherSlot, ::ScriptModuleMinecraft::ScriptContainerWrapper& otherScriptContainer) const;
184
185 MCAPI ::Scripting::Result_deprecated<
187 $getSlot(
188 int slot,
190 scriptContainerWrapperHandle
191 );
192
193 MCAPI ::Scripting::Result_deprecated<void> $clearAll() const;
194
195
196 // NOLINTEND
197
198public:
199 // vftables
200 // NOLINTBEGIN
201 MCNAPI static void** $vftable();
202 // NOLINTEND
203};
204
205} // namespace ScriptModuleMinecraft
Definition Container.h:34
Definition ItemContext.h:23
Definition ScriptContainerSlot.h:31
Definition ScriptContainerWrapper.h:25
Definition ScriptContainer.h:27
Definition ScriptItemStack.h:32
Definition StrongTypedObjectHandle.h:8
Definition WeakLifetimeScope.h:14
Definition ScriptContainerRulesError.h:16
Definition ScriptInvalidContainerError.h:15
Definition ClassBinding.h:19
Definition Error.h:10