LeviLamina
Loading...
Searching...
No Matches
PotionItem.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/item/HandSlot.h"
7#include "mc/world/item/Item.h"
8#include "mc/world/item/ItemUseMethod.h"
9#include "mc/world/item/alchemy/PotionType.h"
10
11// auto generated forward declare list
12// clang-format off
13class Actor;
14class BlockPos;
15class BlockSource;
16class CompoundTag;
17class Container;
19class ItemDescriptor;
20class ItemStack;
21class ItemStackBase;
22class Level;
23class Player;
24class ThrownPotion;
25class Vec3;
27namespace Bedrock::Safety { class RedactableString; }
28// clang-format on
29
30class PotionItem : public ::Item {
31public:
32 // virtual functions
33 // NOLINTBEGIN
34 virtual ::PotionType getPotionType() const;
35
36 virtual ::Item& setIconInfo(::std::string const& name, int id) /*override*/;
37
38 virtual ::std::string buildDescriptionId(::ItemDescriptor const& itemDescriptor, ::CompoundTag const*) const
39 /*override*/;
40
41 virtual void appendFormattedHovertext(
42 ::ItemStackBase const& stack,
43 ::Level& level,
45 bool showCategory
46 ) const /*override*/;
47
48 virtual ::std::string buildEffectDescriptionName(::ItemStackBase const& stack, bool) const /*override*/;
49
50 virtual bool uniqueAuxValues() const /*override*/;
51
52 virtual ::ResolvedItemIconInfo getIconInfo(::ItemStackBase const& item, int, bool) const /*override*/;
53
54 virtual ::ItemStack& use(::ItemStack& instance, ::Player& player, ::HandSlot handSlot) const /*override*/;
55
56 virtual ::ItemUseMethod useTimeDepleted(::ItemStack& instance, ::Level* level, ::Player* player) const /*override*/;
57
58 virtual bool dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar face) const
59 /*override*/;
60
61 virtual bool isValidAuxValue(int auxValue) const /*override*/;
62
63 virtual bool isDestructive(int auxValue) const /*override*/;
64
65 virtual ::InteractionResult _useOn(
66 ::ItemStack& instance,
67 ::Actor& entity,
68 ::BlockPos pos,
69 uchar face,
70 ::HandSlot handSlot,
71 ::Vec3 const& clickPos
72 ) const /*override*/;
73 // NOLINTEND
74
75public:
76 // static functions
77 // NOLINTBEGIN
78#ifdef LL_PLAT_S
79 MCAPI static void applyEffect(::ThrownPotion* potion, ::ItemStack const& slotItem);
80#endif
81 // NOLINTEND
82
83public:
84 // virtual function thunks
85 // NOLINTBEGIN
86 MCFOLD ::PotionType $getPotionType() const;
87
88 MCAPI ::Item& $setIconInfo(::std::string const& name, int id);
89
90 MCAPI ::std::string $buildDescriptionId(::ItemDescriptor const& itemDescriptor, ::CompoundTag const*) const;
91
92 MCAPI void $appendFormattedHovertext(
93 ::ItemStackBase const& stack,
94 ::Level& level,
96 bool showCategory
97 ) const;
98
99 MCAPI ::std::string $buildEffectDescriptionName(::ItemStackBase const& stack, bool) const;
100
101 MCFOLD bool $uniqueAuxValues() const;
102
103 MCAPI ::ResolvedItemIconInfo $getIconInfo(::ItemStackBase const& item, int, bool) const;
104
105 MCAPI ::ItemStack& $use(::ItemStack& instance, ::Player& player, ::HandSlot handSlot) const;
106
107 MCAPI ::ItemUseMethod $useTimeDepleted(::ItemStack& instance, ::Level* level, ::Player* player) const;
108
109 MCAPI bool $dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar face) const;
110
111 MCAPI bool $isValidAuxValue(int auxValue) const;
112
113 MCAPI bool $isDestructive(int auxValue) const;
114
115 MCAPI ::InteractionResult $_useOn(
116 ::ItemStack& instance,
117 ::Actor& entity,
118 ::BlockPos pos,
119 uchar face,
120 ::HandSlot handSlot,
121 ::Vec3 const& clickPos
122 ) const;
123
124
125 // NOLINTEND
126
127public:
128 // vftables
129 // NOLINTBEGIN
130 MCAPI static void** $vftable();
131 // NOLINTEND
132};
Definition Actor.h:113
Definition RedactableString.h:10
Definition BlockPos.h:17
Definition BlockSource.h:71
Definition CompoundTag.h:18
Definition Container.h:35
Definition InteractionResult.h:5
Definition ItemDescriptor.h:25
Definition ItemStackBase.h:44
Definition ItemStack.h:26
Definition Level.h:254
Definition Player.h:129
Definition PotionItem.h:30
Definition ThrownPotion.h:20
Definition Vec3.h:10
Definition ResolvedItemIconInfo.h:8