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 // virtual functions
46 // NOLINTBEGIN
47 virtual bool isBodyArmor() const /*override*/;
48
49 virtual int getArmorValue() const /*override*/;
50
51 virtual float getKnockbackResistanceValue() const /*override*/;
52
53 virtual bool hasCustomColor(::CompoundTag const* userData) const /*override*/;
54
55 virtual ::mce::Color getColor(::CompoundTag const* userData, ::ItemDescriptor const&) const /*override*/;
56
57 virtual void clearColor(::ItemStackBase& item) const /*override*/;
58
59 virtual void setColor(::ItemStackBase& item, ::mce::Color const& color) const /*override*/;
60
61 virtual bool isDyeable() const /*override*/;
62
63 virtual bool dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar) const
64 /*override*/;
65
66 virtual void appendFormattedHovertext(
67 ::ItemStackBase const& stack,
68 ::Level& level,
70 bool const showCategory
71 ) const /*override*/;
72
73 virtual ~HorseArmorItem() /*override*/ = default;
74 // NOLINTEND
75
76public:
77 // static functions
78 // NOLINTBEGIN
79 MCFOLD static bool _tryEquipHorseArmor(::Actor* actor, ::ItemStack const& horseArmor);
80 // NOLINTEND
81
82public:
83 // virtual function thunks
84 // NOLINTBEGIN
85 MCFOLD bool $isBodyArmor() const;
86
87 MCAPI int $getArmorValue() const;
88
89 MCAPI float $getKnockbackResistanceValue() const;
90
91 MCAPI bool $hasCustomColor(::CompoundTag const* userData) const;
92
93 MCAPI ::mce::Color $getColor(::CompoundTag const* userData, ::ItemDescriptor const&) const;
94
95 MCFOLD void $clearColor(::ItemStackBase& item) const;
96
97 MCFOLD void $setColor(::ItemStackBase& item, ::mce::Color const& color) const;
98
99 MCAPI bool $isDyeable() const;
100
101 MCFOLD bool $dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar) const;
102
103 MCAPI void $appendFormattedHovertext(
104 ::ItemStackBase const& stack,
105 ::Level& level,
107 bool const showCategory
108 ) const;
109
110
111 // NOLINTEND
112
113public:
114 // vftables
115 // NOLINTBEGIN
116 MCAPI static void** $vftable();
117 // NOLINTEND
118};
Definition Actor.h:105
Definition RedactableString.h:10
Definition BlockSource.h:68
Definition CompoundTag.h:23
Definition Container.h:33
Definition HorseArmorItem.h:23
Definition ItemDescriptor.h:23
Definition ItemStackBase.h:44
Definition ItemStack.h:26
Definition Level.h:249
Definition Vec3.h:10
Definition Color.h:13