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/deps/shared_types/item/EnchantSlot.h"
10#include "mc/scripting/modules/minecraft/items/components/ScriptItemComponent.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& operator=(ScriptItemEnchantmentComponent const&);
38 ScriptItemEnchantmentComponent();
39
40public:
41 // virtual functions
42 // NOLINTBEGIN
43 virtual ~ScriptItemEnchantmentComponent() /*override*/ = default;
44 // NOLINTEND
45
46public:
47 // member functions
48 // NOLINTBEGIN
49 MCAPI ScriptItemEnchantmentComponent(::ScriptModuleMinecraft::ScriptItemEnchantmentComponent const&);
50
51 MCAPI ScriptItemEnchantmentComponent(
54 );
55
56 MCAPI ::Scripting::Result<
57 void,
63
64 MCAPI ::Scripting::Result<
65 void,
70 addEnchantments(::std::vector<::ScriptModuleMinecraft::ScriptItemEnchantmentInstance> const& enchants);
71
72 MCAPI ::Scripting::Result<
73 bool,
76 canAddEnchantment(::ScriptModuleMinecraft::ScriptItemEnchantmentInstance const& inst);
77
78 MCAPI ::Scripting::Result<
79 ::std::optional<::ScriptModuleMinecraft::ScriptItemEnchantmentInstance>,
81 getEnchantment(
83 ::std::variant<
85 ::std::string> enchantmentTypeOrId
86 );
87
88 MCAPI ::Scripting::Result_deprecated<::std::vector<::ScriptModuleMinecraft::ScriptItemEnchantmentInstance>>
89 getEnchantments(::Scripting::WeakLifetimeScope& scope) const;
90
91 MCAPI ::Scripting::Result_deprecated<::std::vector<::SharedTypes::EnchantSlot>> getSlots() const;
92
93 MCAPI ::Scripting::Result<bool, ::ScriptModuleMinecraft::ScriptItemEnchantmentUnknownIdError> hasEnchantment(
94 ::std::variant<
96 ::std::string> enchantmentTypeOrId
97 ) const;
98
99 MCAPI ::Scripting::Result_deprecated<void> removeAllEnchantments();
100
101 MCAPI ::Scripting::Result<void, ::ScriptModuleMinecraft::ScriptItemEnchantmentUnknownIdError, ::Scripting::Error>
102 removeEnchantment(
103 ::std::variant<
105 ::std::string> enchantmentTypeOrId
106 );
107 // NOLINTEND
108
109public:
110 // static functions
111 // NOLINTBEGIN
112 MCAPI static ::Scripting::ClassBinding bind();
113 // NOLINTEND
114
115public:
116 // constructor thunks
117 // NOLINTBEGIN
119
120 MCAPI void* $ctor(
123 );
124 // NOLINTEND
125
126public:
127 // vftables
128 // NOLINTBEGIN
129 MCNAPI static void** $vftable();
130 // NOLINTEND
131};
132
133} // namespace ScriptModuleMinecraft
Definition ScriptItemComponent.h:20
Definition ScriptItemEnchantmentComponent.h:28
Definition ScriptItemStack.h:32
Definition StrongTypedObjectHandle.h:8
Definition WeakLifetimeScope.h:14
Definition ScriptItemEnchantmentInstance.h:22
Definition ScriptItemEnchantmentLevelOutOfBoundsError.h:15
Definition ScriptItemEnchantmentTypeNotCompatibleError.h:15
Definition ScriptItemEnchantmentType.h:18
Definition ScriptItemEnchantmentUnknownIdError.h:15
Definition ClassBinding.h:19
Definition Error.h:10