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 ScriptComponentTypeEnumBuilder; }
16namespace ScriptModuleMinecraft { class ScriptItemStack; }
17namespace ScriptModuleMinecraft { struct ScriptItemEnchantmentInstance; }
18namespace ScriptModuleMinecraft { struct ScriptItemEnchantmentLevelOutOfBoundsError; }
19namespace ScriptModuleMinecraft { struct ScriptItemEnchantmentType; }
20namespace ScriptModuleMinecraft { struct ScriptItemEnchantmentTypeNotCompatibleError; }
21namespace ScriptModuleMinecraft { struct ScriptItemEnchantmentUnknownIdError; }
22namespace Scripting { class WeakLifetimeScope; }
23namespace Scripting { struct ClassBinding; }
24namespace Scripting { struct Error; }
25// clang-format on
26
27namespace ScriptModuleMinecraft {
28
29class ScriptItemEnchantmentComponent : public ::ScriptModuleMinecraft::ScriptItemComponent {
30public:
31 // member variables
32 // NOLINTBEGIN
33 ::ll::TypedStorage<8, 80, ::ItemEnchants> mEnchants;
34 // NOLINTEND
35
36public:
37 // prevent constructor by default
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(
52 );
53
54 MCAPI ::Scripting::Result<
55 void,
61
62 MCAPI ::Scripting::Result<
63 void,
68 addEnchantments(::std::vector<::ScriptModuleMinecraft::ScriptItemEnchantmentInstance> const& enchants);
69
70 MCAPI ::Scripting::Result<
71 bool,
74 canAddEnchantment(::ScriptModuleMinecraft::ScriptItemEnchantmentInstance const& inst);
75
76 MCAPI ::Scripting::Result<
77 ::std::optional<::ScriptModuleMinecraft::ScriptItemEnchantmentInstance>,
79 getEnchantment(
81 ::std::variant<
83 ::std::string> enchantmentTypeOrId
84 );
85
86 MCAPI ::Scripting::Result_deprecated<::std::vector<::ScriptModuleMinecraft::ScriptItemEnchantmentInstance>>
87 getEnchantments(::Scripting::WeakLifetimeScope& scope) const;
88
89 MCAPI ::Scripting::Result_deprecated<::std::vector<::Enchant::Slot>> getSlots() const;
90
91 MCAPI ::Scripting::Result<bool, ::ScriptModuleMinecraft::ScriptItemEnchantmentUnknownIdError> hasEnchantment(
92 ::std::variant<
94 ::std::string> enchantmentTypeOrId
95 ) const;
96
97 MCAPI ::Scripting::Result_deprecated<void> removeAllEnchantments();
98
99 MCAPI ::Scripting::Result<void, ::ScriptModuleMinecraft::ScriptItemEnchantmentUnknownIdError, ::Scripting::Error>
100 removeEnchantment(
101 ::std::variant<
103 ::std::string> enchantmentTypeOrId
104 );
105 // NOLINTEND
106
107public:
108 // static functions
109 // NOLINTBEGIN
110 MCAPI static ::Scripting::ClassBinding
111 bind(::ScriptModuleMinecraft::ScriptComponentTypeEnumBuilder& componentTypeEnumBuilder);
112 // NOLINTEND
113
114public:
115 // constructor thunks
116 // NOLINTBEGIN
117 MCAPI void* $ctor(
120 );
121 // NOLINTEND
122
123public:
124 // vftables
125 // NOLINTBEGIN
126 MCNAPI static void** $vftable();
127 // NOLINTEND
128};
129
130} // namespace ScriptModuleMinecraft
Definition ScriptComponentTypeEnumBuilder.h:17
Definition ScriptItemComponent.h:20
Definition ScriptItemStack.h:35
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