Skip to content
LeviMC
English
AutoLightDark
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/item/BucketFillType.h"
7#include "mc/world/item/HandSlot.h"
8#include "mc/world/item/Item.h"
9#include "mc/world/item/ItemUseMethod.h"
10
11// auto generated forward declare list
12// clang-format off
13class Actor;
14class Block;
15class BlockPos;
16class BlockSource;
17class CompoundTag;
18class Container;
20class ItemDescriptor;
21class ItemInstance;
22class ItemStack;
23class ItemStackBase;
24class Level;
25class Material;
26class Player;
27class Vec3;
28struct Brightness;
29namespace Bedrock::Safety { class RedactableString; }
30// clang-format on
31
32class BucketItem : public ::Item {
33public:
34 // member variables
35 // NOLINTBEGIN
36 ::ll::TypedStorage<2, 2, ::BucketFillType> mFillType;
37 // NOLINTEND
38
39public:
40 // virtual functions
41 // NOLINTBEGIN
42 virtual ::Item& setIconInfo(::std::string const& name, int id) /*override*/;
43
44 virtual uchar getMaxStackSize(::ItemDescriptor const&) const /*override*/;
45
46 virtual bool canUseOnSimTick() const /*override*/;
47
48 virtual ::ItemStack& use(::ItemStack& item, ::Player& player, ::HandSlot handSlot) const /*override*/;
49
50 virtual void releaseUsing(::ItemStack& inoutInstance, ::Player* player, int durationLeft) const /*override*/;
51
52 virtual ::ItemUseMethod useTimeDepleted(::ItemStack& inoutInstance, ::Level* level, ::Player* player) const
53 /*override*/;
54
55 virtual bool uniqueAuxValues() const /*override*/;
56
57 virtual bool isBucket() const /*override*/;
58
59 virtual bool dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar face) const
60 /*override*/;
61
62 virtual bool isLiquidClipItem() const /*override*/;
63
64 virtual ::std::string buildDescriptionId(::ItemDescriptor const&, ::CompoundTag const* userData) const /*override*/;
65
66 virtual bool validFishInteraction(int) const /*override*/;
67
68 virtual ::Brightness getLightEmission(int) const /*override*/;
69
70 virtual bool isValidAuxValue(int auxValue) const /*override*/;
71
72 virtual bool isDestructive(int auxValue) const /*override*/;
73
74 virtual void appendFormattedHovertext(
75 ::ItemStackBase const& stack,
76 ::Level& level,
78 bool const showCategory
79 ) const /*override*/;
80
81 virtual ::InteractionResult _useOn(
82 ::ItemStack& instance,
83 ::Actor& entity,
84 ::BlockPos pos,
85 uchar face,
86 ::HandSlot handSlot,
87 ::Vec3 const& clickPos
88 ) const /*override*/;
89 // NOLINTEND
90
91public:
92 // member functions
93 // NOLINTBEGIN
94 MCAPI bool _emptyBucket(
95 ::BlockSource& region,
96 ::Block const& contents,
97 ::BlockPos const& pos,
98 ::Actor* placer,
99 ::ItemStack const& instance,
100 uchar face
101 ) const;
102
104 ::BlockSource& region,
105 ::Actor* placer,
106 ::BlockPos pos,
107 ::ItemInstance const& instance
108 ) const;
109 // NOLINTEND
110
111public:
112 // static functions
113 // NOLINTBEGIN
114 MCNAPI static void _broadcastBucketFillSound(::BlockSource& region, ::Actor& entity, ::Material const& material);
115
116 MCNAPI static void _replaceWithEmptyBucket(::ItemStack& instance, ::Actor& entity);
117 // NOLINTEND
118
119public:
120 // virtual function thunks
121 // NOLINTBEGIN
122 MCNAPI ::Item& $setIconInfo(::std::string const& name, int id);
123
124 MCNAPI uchar $getMaxStackSize(::ItemDescriptor const&) const;
125
126 MCNAPI bool $canUseOnSimTick() const;
127
128 MCNAPI ::ItemStack& $use(::ItemStack& item, ::Player& player, ::HandSlot handSlot) const;
129
130 MCNAPI void $releaseUsing(::ItemStack& inoutInstance, ::Player* player, int durationLeft) const;
131
132 MCNAPI ::ItemUseMethod $useTimeDepleted(::ItemStack& inoutInstance, ::Level* level, ::Player* player) const;
133
134 MCNAPI bool $uniqueAuxValues() const;
135
136 MCNAPI bool $isBucket() const;
137
138 MCAPI bool $dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar face) const;
139
140 MCNAPI bool $isLiquidClipItem() const;
141
142 MCNAPI ::std::string $buildDescriptionId(::ItemDescriptor const&, ::CompoundTag const* userData) const;
143
144 MCNAPI bool $validFishInteraction(int) const;
145
146 MCNAPI ::Brightness $getLightEmission(int) const;
147
148 MCNAPI bool $isValidAuxValue(int auxValue) const;
149
150 MCNAPI bool $isDestructive(int auxValue) const;
151
153 ::ItemStackBase const& stack,
154 ::Level& level,
156 bool const showCategory
157 ) const;
158
159 MCAPI ::InteractionResult $_useOn(
160 ::ItemStack& instance,
161 ::Actor& entity,
162 ::BlockPos pos,
163 uchar face,
164 ::HandSlot handSlot,
165 ::Vec3 const& clickPos
166 ) const;
167
168
169 // NOLINTEND
170
171public:
172 // vftables
173 // NOLINTBEGIN
174 MCAPI static void** $vftable();
175 // NOLINTEND
176};
Definition Actor.h:116
Definition RedactableString.h:10
Definition BlockPos.h:14
Definition BlockSource.h:72
Definition Block.h:42
Definition BucketItem.h:32
MCAPI bool $canUseOnSimTick() const
static MCAPI void _replaceWithEmptyBucket(::ItemStack &instance, ::Actor &entity)
MCAPI void $appendFormattedHovertext(::ItemStackBase const &stack, ::Level &level, ::Bedrock::Safety::RedactableString &hovertext, bool const showCategory) const
MCAPI bool $validFishInteraction(int) const
MCAPI::std::string $buildDescriptionId(::ItemDescriptor const &, ::CompoundTag const *userData) const
MCAPI::Brightness $getLightEmission(int) const
MCAPI bool $isBucket() const
MCAPI::ItemStack & $use(::ItemStack &item, ::Player &player, ::HandSlot handSlot) const
MCAPI bool readBucketEntitySaveData(::BlockSource &region, ::Actor *placer, ::BlockPos pos, ::ItemInstance const &instance) const
MCAPI bool $isValidAuxValue(int auxValue) const
static MCAPI void _broadcastBucketFillSound(::BlockSource &region, ::Actor &entity, ::Material const &material)
MCAPI uchar $getMaxStackSize(::ItemDescriptor const &) const
MCAPI bool $isDestructive(int auxValue) const
MCAPI bool $isLiquidClipItem() const
MCAPI bool $uniqueAuxValues() const
MCAPI::Item & $setIconInfo(::std::string const &name, int id)
MCAPI::ItemUseMethod $useTimeDepleted(::ItemStack &inoutInstance, ::Level *level, ::Player *player) const
MCAPI void $releaseUsing(::ItemStack &inoutInstance, ::Player *player, int durationLeft) const
Definition CompoundTag.h:18
Definition Container.h:36
Definition InteractionResult.h:5
Definition ItemDescriptor.h:24
Definition ItemInstance.h:15
Definition ItemStackBase.h:45
Definition ItemStack.h:26
Definition Level.h:255
Definition Material.h:8
Definition Player.h:131
Definition Vec3.h:10
Definition Brightness.h:8