LeviLamina
Loading...
Searching...
No Matches
ScriptItemEnchantmentComponent.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/runtime/Result.h"
8#include "mc/deps/scripting/runtime/Result_deprecated.h"
9#include "mc/scripting/modules/minecraft/items/components/ScriptItemComponent.h"
10#include "mc/world/item/enchanting/Enchant.h"
11#include "mc/world/item/enchanting/ItemEnchants.h"
12
13// auto generated forward declare list
14// clang-format off
15namespace ScriptModuleMinecraft { class ScriptItemStack; }
16namespace ScriptModuleMinecraft { struct ScriptItemEnchantmentInstance; }
17namespace ScriptModuleMinecraft { struct ScriptItemEnchantmentLevelOutOfBoundsError; }
18namespace ScriptModuleMinecraft { struct ScriptItemEnchantmentType; }
19namespace ScriptModuleMinecraft { struct ScriptItemEnchantmentTypeNotCompatibleError; }
20namespace ScriptModuleMinecraft { struct ScriptItemEnchantmentUnknownIdError; }
21namespace Scripting { class WeakLifetimeScope; }
22namespace Scripting { struct ClassBinding; }
23namespace Scripting { struct Error; }
24// clang-format on
25
26namespace ScriptModuleMinecraft {
27
28class ScriptItemEnchantmentComponent : public ::ScriptModuleMinecraft::ScriptItemComponent {
29public:
30 // member variables
31 // NOLINTBEGIN
32 ::ll::TypedStorage<8, 80, ::ItemEnchants> mEnchants;
33 // NOLINTEND
34
35public:
36 // prevent constructor by default
37 ScriptItemEnchantmentComponent();
38
39public:
40 // virtual functions
41 // NOLINTBEGIN
42 virtual ~ScriptItemEnchantmentComponent() /*override*/ = default;
43 // NOLINTEND
44
45public:
46 // member functions
47 // NOLINTBEGIN
48 MCAPI ScriptItemEnchantmentComponent(
51 );
52
53 MCAPI ::Scripting::Result<
54 void,
60
61 MCAPI ::Scripting::Result<
62 void,
67 addEnchantments(::std::vector<::ScriptModuleMinecraft::ScriptItemEnchantmentInstance> const& enchants);
68
69 MCAPI ::Scripting::Result<
70 bool,
73 canAddEnchantment(::ScriptModuleMinecraft::ScriptItemEnchantmentInstance const& inst);
74
75 MCAPI ::Scripting::Result<
76 ::std::optional<::ScriptModuleMinecraft::ScriptItemEnchantmentInstance>,
78 getEnchantment(
80 ::std::variant<
82 ::std::string> enchantmentTypeOrId
83 );
84
85 MCAPI ::Scripting::Result_deprecated<::std::vector<::ScriptModuleMinecraft::ScriptItemEnchantmentInstance>>
86 getEnchantments(::Scripting::WeakLifetimeScope& scope) const;
87
88 MCAPI ::Scripting::Result_deprecated<::std::vector<::Enchant::Slot>> getSlots() const;
89
90 MCAPI ::Scripting::Result<bool, ::ScriptModuleMinecraft::ScriptItemEnchantmentUnknownIdError> hasEnchantment(
91 ::std::variant<
93 ::std::string> enchantmentTypeOrId
94 ) const;
95
96 MCAPI ::Scripting::Result_deprecated<void> removeAllEnchantments();
97
98 MCAPI ::Scripting::Result<void, ::ScriptModuleMinecraft::ScriptItemEnchantmentUnknownIdError, ::Scripting::Error>
99 removeEnchantment(
100 ::std::variant<
102 ::std::string> enchantmentTypeOrId
103 );
104 // NOLINTEND
105
106public:
107 // static functions
108 // NOLINTBEGIN
109 MCAPI static ::Scripting::ClassBinding bind();
110 // NOLINTEND
111
112public:
113 // constructor thunks
114 // NOLINTBEGIN
115 MCAPI void* $ctor(
118 );
119 // NOLINTEND
120
121public:
122 // vftables
123 // NOLINTBEGIN
124 MCNAPI static void** $vftable();
125 // NOLINTEND
126};
127
128} // namespace ScriptModuleMinecraft
Definition ScriptItemComponent.h:20
Definition ScriptItemStack.h:32
Definition StrongTypedObjectHandle.h:8
Definition WeakLifetimeScope.h:7
Definition ScriptItemEnchantmentInstance.h:21
Definition ScriptItemEnchantmentLevelOutOfBoundsError.h:15
Definition ScriptItemEnchantmentTypeNotCompatibleError.h:15
Definition ScriptItemEnchantmentType.h:18
Definition ScriptItemEnchantmentUnknownIdError.h:15
Definition ClassBinding.h:19
Definition Error.h:10