LeviLamina
Loading...
Searching...
No Matches
ShieldItem.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/shared_types/legacy/LevelSoundEvent.h"
7#include "mc/world/item/InHandUpdateType.h"
8#include "mc/world/item/Item.h"
9
10// auto generated forward declare list
11// clang-format off
12class Actor;
13class BaseGameVersion;
14class BlockSource;
15class CompoundTag;
16class Container;
17class HashedString;
18class IDataInput;
19class IDataOutput;
20class ItemDescriptor;
21class ItemStack;
22class ItemStackBase;
23class Level;
24class Mob;
25class Player;
27class Vec3;
28namespace Bedrock::Safety { class RedactableString; }
29// clang-format on
30
31class ShieldItem : public ::Item {
32public:
33 // virtual functions
34 // NOLINTBEGIN
35 virtual bool inventoryTick(::ItemStack& item, ::Level& level, ::Actor& owner, int, bool selected) const
36 /*override*/;
37
38 virtual int getEnchantSlot() const /*override*/;
39
40 virtual bool isValidRepairItem(
41 ::ItemStackBase const& source,
42 ::ItemStackBase const& repairItem,
43 ::BaseGameVersion const& baseGameVersion
44 ) const /*override*/;
45
46 virtual bool isHandEquipped() const /*override*/;
47
48 virtual ::SharedTypes::Legacy::LevelSoundEvent getEquipSound() const /*override*/;
49
50 virtual void hurtActor(::ItemStack& item, ::Actor& actor, ::Mob& attacker) const /*override*/;
51
52 virtual ::InHandUpdateType getInHandUpdateType(
53 ::Player const& player,
54 ::ItemStack const& oldItem,
55 ::ItemStack const& newItem,
56 bool const isMainHand,
57 bool const slotChanged
58 ) const /*override*/;
59
60 virtual ::ItemStack& use(::ItemStack& item, ::Player& player) const /*override*/;
61
62 virtual bool dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar) const
63 /*override*/;
64
65 virtual void
66 readUserData(::ItemStackBase& stack, ::IDataInput& input, ::ReadOnlyBinaryStream& underlyingStream) const
67 /*override*/;
68
69 virtual void writeUserData(::ItemStackBase const& stack, ::IDataOutput& output) const /*override*/;
70
71 virtual ::HashedString const& getCooldownCategory() const /*override*/;
72
73 virtual int getCooldownDuration() const /*override*/;
74
75 virtual ::std::string buildDescriptionId(::ItemDescriptor const&, ::CompoundTag const* userData) const /*override*/;
76
77 virtual void appendFormattedHovertext(
78 ::ItemStackBase const& stack,
79 ::Level& level,
81 bool const showCategory
82 ) const /*override*/;
83
84 virtual ~ShieldItem() /*override*/ = default;
85 // NOLINTEND
86
87public:
88 // static functions
89 // NOLINTBEGIN
90 MCAPI_C static int const getBaseColor(::CompoundTag const* data);
91 // NOLINTEND
92
93public:
94 // static variables
95 // NOLINTBEGIN
96 MCAPI static int const& EFFECTIVE_BLOCK_DELAY();
97
98 MCAPI_C static int const& NO_SHIELD_PATTERN();
99
100 MCAPI static ::std::string const& TIMESTAMP_TAG();
101 // NOLINTEND
102
103public:
104 // virtual function thunks
105 // NOLINTBEGIN
106 MCAPI bool $inventoryTick(::ItemStack& item, ::Level& level, ::Actor& owner, int, bool selected) const;
107
108 MCAPI int $getEnchantSlot() const;
109
110 MCAPI bool $isValidRepairItem(
111 ::ItemStackBase const& source,
112 ::ItemStackBase const& repairItem,
113 ::BaseGameVersion const& baseGameVersion
114 ) const;
115
116 MCFOLD bool $isHandEquipped() const;
117
118 MCFOLD ::SharedTypes::Legacy::LevelSoundEvent $getEquipSound() const;
119
120 MCFOLD void $hurtActor(::ItemStack& item, ::Actor& actor, ::Mob& attacker) const;
121
122 MCAPI ::InHandUpdateType $getInHandUpdateType(
123 ::Player const& player,
124 ::ItemStack const& oldItem,
125 ::ItemStack const& newItem,
126 bool const isMainHand,
127 bool const slotChanged
128 ) const;
129
130 MCFOLD ::ItemStack& $use(::ItemStack& item, ::Player& player) const;
131
132 MCAPI bool $dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar) const;
133
134 MCAPI void
135 $readUserData(::ItemStackBase& stack, ::IDataInput& input, ::ReadOnlyBinaryStream& underlyingStream) const;
136
137 MCAPI void $writeUserData(::ItemStackBase const& stack, ::IDataOutput& output) const;
138
139 MCAPI ::HashedString const& $getCooldownCategory() const;
140
141 MCFOLD int $getCooldownDuration() const;
142
143 MCAPI ::std::string $buildDescriptionId(::ItemDescriptor const&, ::CompoundTag const* userData) const;
144
145 MCAPI void $appendFormattedHovertext(
146 ::ItemStackBase const& stack,
147 ::Level& level,
149 bool const showCategory
150 ) const;
151
152
153 // NOLINTEND
154
155public:
156 // vftables
157 // NOLINTBEGIN
158 MCAPI static void** $vftable();
159 // NOLINTEND
160};
Definition Actor.h:105
Definition BaseGameVersion.h:8
Definition RedactableString.h:10
Definition BlockSource.h:68
Definition CompoundTag.h:23
Definition Container.h:33
Definition HashedString.h:5
Definition IDataInput.h:8
Definition IDataOutput.h:5
Definition ItemDescriptor.h:23
Definition ItemStackBase.h:44
Definition ItemStack.h:26
static MCAPI void ** $vftable()
Definition Level.h:249
Definition Mob.h:50
Definition Player.h:125
Definition ReadOnlyBinaryStream.h:8
Definition ShieldItem.h:31
Definition Vec3.h:10