31class HumanoidArmorItem :
public ::Item {
39 enum class Tier :
int {
55 ::ll::TypedStorage<4, 4, int> mDurabilityMultiplier;
56 ::ll::TypedStorage<4, 16, int[4]> mSlotProtections;
57 ::ll::TypedStorage<4, 4, int> mToughnessValue;
58 ::ll::TypedStorage<4, 4, int> mEnchantmentValue;
59 ::ll::TypedStorage<4, 4, float> mKnockbackResistance;
66 ::ll::TypedStorage<4, 4, ::SharedTypes::Legacy::ArmorSlot const> mSlot;
67 ::ll::TypedStorage<4, 4, int const> mDefense;
68 ::ll::TypedStorage<4, 4, int const> mModelIndex;
69 ::ll::TypedStorage<8, 8, ::HumanoidArmorItem::ArmorMaterial const&> mArmorType;
70 ::ll::TypedStorage<1, 1, bool> mCurrentVersionAllowsTrim;
75 HumanoidArmorItem& operator=(HumanoidArmorItem
const&);
76 HumanoidArmorItem(HumanoidArmorItem
const&);
81 std::string
const& nameId,
83 SharedTypes::Legacy::ArmorSlot
const slot,
92 mModelIndex(modelIndex),
93 mArmorType(armorType),
94 mCurrentVersionAllowsTrim(allowTrim) {}
99 virtual bool isHumanoidArmor() const ;
105 virtual
int getEnchantSlot() const ;
107 virtual
int getEnchantValue() const ;
109 virtual
int getArmorValue() const ;
111 virtual
int getToughnessValue() const ;
113 virtual
float getKnockbackResistanceValue() const ;
115 virtual
bool hasCustomColor(::
CompoundTag const* userData) const ;
121 virtual
void setColor(::
ItemStackBase& item, ::mce::Color const& color) const ;
123 virtual
bool isDyeable() const ;
125 virtual
bool isTrimAllowed() const ;
127 virtual ::SharedTypes::Legacy::ActorLocation getEquipLocation() const ;
129 virtual ::SharedTypes::Legacy::LevelSoundEvent getEquipSound() const ;
131 virtual
int getDamageChance(
int unbreaking) const ;
136 virtual
void appendFormattedHovertext(
139 ::Bedrock::Safety::RedactableString& hovertext,
140 bool const showCategory
143 virtual
void hurtActor(::
ItemStack& item, ::
Actor& actor, ::
Mob& attacker) const ;
146 getIconInfo(::
ItemStackBase const& item,
int newAnimationFrame,
bool inInventoryPane) const ;
150 virtual
int buildIdAux(
short auxValue, ::
CompoundTag const* userData) const ;
157 ::
std::
string const& name,
161 ::SharedTypes::Legacy::ArmorSlot slot,
162 bool currentVersionAllowsTrim
172 MCAPI
static void ResetDefaultLeatherColor();
174 MCAPI
static void SetDefaultLeatherColor(
int newDefaultLeatherColor);
183 MCAPI static ::HumanoidArmorItem::ArmorMaterial
const& CHAIN();
185 MCAPI static ::HumanoidArmorItem::ArmorMaterial
const& COPPER();
187 MCAPI static ::mce::Color& DEFAULT_LEATHER_COLOR();
189 MCAPI static ::HumanoidArmorItem::ArmorMaterial
const& DIAMOND();
191 MCAPI static ::HumanoidArmorItem::ArmorMaterial
const& ELYTRA();
193 MCAPI static ::HumanoidArmorItem::ArmorMaterial
const& GOLD();
195 MCAPI static ::HumanoidArmorItem::ArmorMaterial
const& IRON();
197 MCAPI static ::HumanoidArmorItem::ArmorMaterial
const& LEATHER();
199 MCAPI static ::HumanoidArmorItem::ArmorMaterial
const& NETHERITE();
201 MCAPI static ::HumanoidArmorItem::ArmorMaterial
const& TURTLE();
208 ::std::string
const& name,
212 ::SharedTypes::Legacy::ArmorSlot slot,
213 bool currentVersionAllowsTrim
220 MCFOLD
bool $isHumanoidArmor()
const;
225 MCAPI
int $getEnchantSlot()
const;
227 MCAPI
int $getEnchantValue()
const;
229 MCFOLD
int $getArmorValue()
const;
231 MCAPI
int $getToughnessValue()
const;
233 MCAPI
float $getKnockbackResistanceValue()
const;
235 MCAPI
bool $hasCustomColor(
::CompoundTag const* userData)
const;
243 MCAPI
bool $isDyeable()
const;
245 MCAPI
bool $isTrimAllowed()
const;
247 MCAPI ::SharedTypes::Legacy::ActorLocation $getEquipLocation()
const;
249 MCAPI ::SharedTypes::Legacy::LevelSoundEvent $getEquipSound()
const;
251 MCAPI
int $getDamageChance(
int unbreaking)
const;
255 MCFOLD
void $appendFormattedHovertext(
259 bool const showCategory
264 MCAPI ::ResolvedItemIconInfo
265 $getIconInfo(
::ItemStackBase const& item,
int newAnimationFrame,
bool inInventoryPane)
const;
269 MCAPI
int $buildIdAux(
short auxValue,
::CompoundTag const* userData)
const;
277 MCAPI
static void** $vftable();