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