LeviLamina
Loading...
Searching...
No Matches
BucketItem.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/actor/ActorType.h"
7#include "mc/world/item/BucketFillType.h"
8#include "mc/world/item/HandSlot.h"
9#include "mc/world/item/Item.h"
10#include "mc/world/item/ItemUseMethod.h"
11
12// auto generated forward declare list
13// clang-format off
14class Actor;
15class Block;
16class BlockPos;
17class BlockSource;
18class CompoundTag;
19class Container;
20class HashedString;
22class ItemDescriptor;
23class ItemInstance;
24class ItemStack;
25class ItemStackBase;
26class Level;
27class Material;
28class Player;
29class Vec3;
30struct Brightness;
31namespace Bedrock::Safety { class RedactableString; }
32// clang-format on
33
34class BucketItem : public ::Item {
35public:
36 // BucketItem inner types declare
37 // clang-format off
38 struct FillTypeEntityData;
39 // clang-format on
40
41 // BucketItem inner types define
43 public:
44 // member variables
45 // NOLINTBEGIN
46 ::ll::TypedStorage<2, 2, ::BucketFillType> mBucketFillType;
47 ::ll::TypedStorage<4, 4, ::ActorType> mActorType;
48 ::ll::TypedStorage<8, 32, ::std::string> mInitEvent;
49 // NOLINTEND
50 };
51
52public:
53 // member variables
54 // NOLINTBEGIN
55 ::ll::TypedStorage<2, 2, ::BucketFillType> mFillType;
56 // NOLINTEND
57
58public:
59 // virtual functions
60 // NOLINTBEGIN
61 virtual ::Item& setIconInfo(::std::string const& name, int id) /*override*/;
62
63 virtual uchar getMaxStackSize(::ItemDescriptor const&) const /*override*/;
64
65 virtual bool canUseOnSimTick() const /*override*/;
66
67 virtual ::ItemStack& use(::ItemStack& item, ::Player& player, ::HandSlot handSlot) const /*override*/;
68
69 virtual void releaseUsing(::ItemStack& inoutInstance, ::Player* player, int durationLeft) const /*override*/;
70
71 virtual ::ItemUseMethod useTimeDepleted(::ItemStack& inoutInstance, ::Level* level, ::Player* player) const
72 /*override*/;
73
74 virtual bool uniqueAuxValues() const /*override*/;
75
76 virtual bool isBucket() const /*override*/;
77
78 virtual bool dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar face) const
79 /*override*/;
80
81 virtual bool isLiquidClipItem() const /*override*/;
82
83 virtual ::std::string buildDescriptionId(::ItemDescriptor const&, ::CompoundTag const* userData) const /*override*/;
84
85 virtual bool validFishInteraction(int) const /*override*/;
86
87 virtual ::Brightness getLightEmission(int) const /*override*/;
88
89 virtual bool isValidAuxValue(int auxValue) const /*override*/;
90
91 virtual bool isDestructive(int auxValue) const /*override*/;
92
93 virtual void appendFormattedHovertext(
94 ::ItemStackBase const& stack,
95 ::Level& level,
96 ::Bedrock::Safety::RedactableString& hovertext,
97 bool const showCategory
98 ) const /*override*/;
99
100 virtual ::InteractionResult _useOn(
101 ::ItemStack& instance,
102 ::Actor& entity,
103 ::BlockPos pos,
104 uchar face,
105 ::HandSlot handSlot,
106 ::Vec3 const& clickPos
107 ) const /*override*/;
108 // NOLINTEND
109
110public:
111 // member functions
112 // NOLINTBEGIN
113 MCAPI void _broadcastBucketEmptySound(::BlockSource& region, ::Actor& entity, ::BlockPos const& pos) const;
114
115 MCAPI bool _emptyBucket(
116 ::BlockSource& region,
117 ::Block const& contents,
118 ::BlockPos const& pos,
119 ::Actor* placer,
120 ::ItemStack const& instance,
121 uchar face
122 ) const;
123
124 MCAPI bool
125 _supportsWaterlessEntity(::Actor const& entity, ::HashedString& bucketType, bool const onlyCheckActorType) const;
126
127 MCAPI bool _takePowderSnow(::ItemStack& item, ::Actor& actor, ::BlockPos const& pos) const;
128
129 MCAPI bool readBucketEntitySaveData(
130 ::BlockSource& region,
131 ::Actor* placer,
132 ::BlockPos pos,
133 ::ItemInstance const& instance
134 ) const;
135 // NOLINTEND
136
137public:
138 // static functions
139 // NOLINTBEGIN
140 MCAPI static void _broadcastBucketFillSound(::BlockSource& region, ::Actor& entity, ::Material const& material);
141
142 MCAPI static void _replaceWithEmptyBucket(::ItemStack& instance, ::Actor& entity);
143 // NOLINTEND
144
145public:
146 // static variables
147 // NOLINTBEGIN
148 MCAPI static ::std::vector<::BucketItem::FillTypeEntityData> const& mFillTypeEntityData();
149 // NOLINTEND
150
151public:
152 // virtual function thunks
153 // NOLINTBEGIN
154 MCAPI ::Item& $setIconInfo(::std::string const& name, int id);
155
156 MCAPI uchar $getMaxStackSize(::ItemDescriptor const&) const;
157
158 MCAPI bool $canUseOnSimTick() const;
159
160 MCAPI ::ItemStack& $use(::ItemStack& item, ::Player& player, ::HandSlot handSlot) const;
161
162 MCFOLD void $releaseUsing(::ItemStack& inoutInstance, ::Player* player, int durationLeft) const;
163
164 MCAPI ::ItemUseMethod $useTimeDepleted(::ItemStack& inoutInstance, ::Level* level, ::Player* player) const;
165
166 MCFOLD bool $uniqueAuxValues() const;
167
168 MCFOLD bool $isBucket() const;
169
170 MCAPI bool $dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar face) const;
171
172 MCAPI bool $isLiquidClipItem() const;
173
174 MCAPI ::std::string $buildDescriptionId(::ItemDescriptor const&, ::CompoundTag const* userData) const;
175
176 MCAPI bool $validFishInteraction(int) const;
177
178 MCAPI ::Brightness $getLightEmission(int) const;
179
180 MCFOLD bool $isValidAuxValue(int auxValue) const;
181
182 MCAPI bool $isDestructive(int auxValue) const;
183
184 MCAPI void $appendFormattedHovertext(
185 ::ItemStackBase const& stack,
186 ::Level& level,
187 ::Bedrock::Safety::RedactableString& hovertext,
188 bool const showCategory
189 ) const;
190
191 MCAPI ::InteractionResult $_useOn(
192 ::ItemStack& instance,
193 ::Actor& entity,
194 ::BlockPos pos,
195 uchar face,
196 ::HandSlot handSlot,
197 ::Vec3 const& clickPos
198 ) const;
199
200
201 // NOLINTEND
202
203public:
204 // vftables
205 // NOLINTBEGIN
206 MCAPI static void** $vftable();
207 // NOLINTEND
208};
Definition Actor.h:113
Definition RedactableString.h:10
Definition BlockPos.h:17
Definition BlockSource.h:71
Definition Block.h:41
Definition BucketItem.h:34
Definition CompoundTag.h:18
Definition Container.h:35
Definition HashedString.h:5
Definition InteractionResult.h:5
Definition ItemDescriptor.h:25
Definition ItemInstance.h:15
Definition ItemStackBase.h:44
Definition ItemStack.h:26
Definition Level.h:254
Definition Material.h:8
Definition Player.h:129
Definition Vec3.h:10
STL namespace.
Definition Brightness.h:8
Definition BucketItem.h:42