LeviLamina
Loading...
Searching...
No Matches
HorseArmorItem.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/item/Item.h"
7
8// auto generated forward declare list
9// clang-format off
10class Actor;
11class BlockSource;
12class CompoundTag;
13class Container;
14class ItemDescriptor;
15class ItemStack;
16class ItemStackBase;
17class Level;
18class Vec3;
19namespace Bedrock::Safety { class RedactableString; }
20namespace mce { class Color; }
21// clang-format on
22
23class HorseArmorItem : public ::Item {
24public:
25 // HorseArmorItem inner types define
26 enum class Tier : int {
27 None = 0,
28 Leather = 1,
29 Iron = 2,
30 Gold = 3,
31 Diamond = 4,
32 Copper = 5,
33 Netherite = 6,
34 Count = 7,
35 };
36
37public:
38 // member variables
39 // NOLINTBEGIN
40 ::ll::TypedStorage<4, 4, int const> mDefense;
41 ::ll::TypedStorage<4, 4, ::HorseArmorItem::Tier> mTier;
42 // NOLINTEND
43
44public:
45 // prevent constructor by default
46 HorseArmorItem();
47
48public:
49 // virtual functions
50 // NOLINTBEGIN
51 virtual bool isBodyArmor() const /*override*/;
52
53 virtual int getArmorValue() const /*override*/;
54
55 virtual int getToughnessValue() const /*override*/;
56
57 virtual float getKnockbackResistanceValue() const /*override*/;
58
59 virtual bool hasCustomColor(::CompoundTag const* userData) const /*override*/;
60
61 virtual ::mce::Color getColor(::CompoundTag const* userData, ::ItemDescriptor const&) const /*override*/;
62
63 virtual void clearColor(::ItemStackBase& item) const /*override*/;
64
65 virtual void setColor(::ItemStackBase& item, ::mce::Color const& color) const /*override*/;
66
67 virtual bool isDyeable() const /*override*/;
68
69 virtual bool dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar) const
70 /*override*/;
71
72 virtual void appendFormattedHovertext(
73 ::ItemStackBase const& stack,
74 ::Level& level,
76 bool const showCategory
77 ) const /*override*/;
78 // NOLINTEND
79
80public:
81 // member functions
82 // NOLINTBEGIN
83 MCAPI HorseArmorItem(::std::string const& name, int id, ::HorseArmorItem::Tier tier);
84
85 MCFOLD ::HorseArmorItem::Tier getTier() const;
86 // NOLINTEND
87
88public:
89 // static functions
90 // NOLINTBEGIN
91#ifdef LL_PLAT_C
92 MCAPI static void ResetDefaultHorseLeatherColor();
93
94 MCAPI static void SetDefaultHorseLeatherColor(int newDefaultHorseLeatherColor);
95#endif
96
97 MCAPI static bool _tryEquipHorseArmor(::Actor* actor, ::ItemStack const& horseArmor);
98 // NOLINTEND
99
100public:
101 // constructor thunks
102 // NOLINTBEGIN
103 MCAPI void* $ctor(::std::string const& name, int id, ::HorseArmorItem::Tier tier);
104 // NOLINTEND
105
106public:
107 // virtual function thunks
108 // NOLINTBEGIN
109 MCFOLD bool $isBodyArmor() const;
110
111 MCAPI int $getArmorValue() const;
112
113 MCAPI int $getToughnessValue() const;
114
115 MCAPI float $getKnockbackResistanceValue() const;
116
117 MCAPI bool $hasCustomColor(::CompoundTag const* userData) const;
118
119 MCAPI ::mce::Color $getColor(::CompoundTag const* userData, ::ItemDescriptor const&) const;
120
121 MCFOLD void $clearColor(::ItemStackBase& item) const;
122
123 MCFOLD void $setColor(::ItemStackBase& item, ::mce::Color const& color) const;
124
125 MCAPI bool $isDyeable() const;
126
127 MCAPI bool $dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar) const;
128
129 MCFOLD void $appendFormattedHovertext(
130 ::ItemStackBase const& stack,
131 ::Level& level,
133 bool const showCategory
134 ) const;
135
136
137 // NOLINTEND
138
139public:
140 // vftables
141 // NOLINTBEGIN
142 MCAPI static void** $vftable();
143 // NOLINTEND
144};
Definition Actor.h:125
Definition RedactableString.h:10
Definition BlockSource.h:73
Definition CompoundTag.h:23
Definition Container.h:34
Definition ItemDescriptor.h:25
Definition ItemStackBase.h:52
Definition ItemStack.h:35
Definition Level.h:255
Definition Vec3.h:10
Definition Color.h:13