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/Item.h"
7#include "mc/world/item/ItemUseMethod.h"
8#include "mc/world/item/ResolvedItemIconInfo.h"
9#include "mc/world/item/alchemy/Potion.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 Vec3;
25namespace Bedrock::Safety { class RedactableString; }
26// clang-format on
27
28class PotionItem : public ::Item {
29public:
30 // member variables
31 // NOLINTBEGIN
32 ::ll::TypedStorage<8, 1984, ::ResolvedItemIconInfo[31]> mPotionIcons;
33 ::ll::TypedStorage<4, 124, ::Potion::PotionVariant[31]> mPotionVariants;
34 // NOLINTEND
35
36public:
37 // prevent constructor by default
38 PotionItem();
39
40public:
41 // virtual functions
42 // NOLINTBEGIN
43 virtual ::Potion::PotionType getPotionType() const;
44
45 virtual ::Item& setIconInfo(::std::string const& name, int id) /*override*/;
46
47 virtual ::std::string buildDescriptionId(::ItemDescriptor const& itemDescriptor, ::CompoundTag const*) const
48 /*override*/;
49
50 virtual void appendFormattedHovertext(
51 ::ItemStackBase const& stack,
52 ::Level& level,
54 bool const showCategory
55 ) const /*override*/;
56
57 virtual ::std::string buildEffectDescriptionName(::ItemStackBase const& stack, bool) const /*override*/;
58
59 virtual bool uniqueAuxValues() const /*override*/;
60
61 virtual ::ResolvedItemIconInfo getIconInfo(::ItemStackBase const& item, int, bool) const /*override*/;
62
63 virtual ::ItemStack& use(::ItemStack& instance, ::Player& player) const /*override*/;
64
65 virtual ::ItemUseMethod useTimeDepleted(::ItemStack& inoutInstance, ::Level* level, ::Player* player) const
66 /*override*/;
67
68 virtual bool dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar face) const
69 /*override*/;
70
71 virtual bool isValidAuxValue(int auxValue) const /*override*/;
72
73 virtual bool isDestructive(int auxValue) const /*override*/;
74
75 virtual ::InteractionResult
76 _useOn(::ItemStack& instance, ::Actor& entity, ::BlockPos pos, uchar face, ::Vec3 const& clickPos) const
77 /*override*/;
78
79 virtual ~PotionItem() /*override*/;
80 // NOLINTEND
81
82public:
83 // member functions
84 // NOLINTBEGIN
85 MCAPI PotionItem(::std::string const& name, int id);
86 // NOLINTEND
87
88public:
89 // constructor thunks
90 // NOLINTBEGIN
91 MCAPI void* $ctor(::std::string const& name, int id);
92 // NOLINTEND
93
94public:
95 // destructor thunk
96 // NOLINTBEGIN
97 MCAPI void $dtor();
98 // NOLINTEND
99
100public:
101 // virtual function thunks
102 // NOLINTBEGIN
103 MCFOLD ::Potion::PotionType $getPotionType() const;
104
105 MCAPI ::Item& $setIconInfo(::std::string const& name, int id);
106
107 MCAPI ::std::string $buildDescriptionId(::ItemDescriptor const& itemDescriptor, ::CompoundTag const*) const;
108
109 MCAPI void $appendFormattedHovertext(
110 ::ItemStackBase const& stack,
111 ::Level& level,
113 bool const showCategory
114 ) const;
115
116 MCAPI ::std::string $buildEffectDescriptionName(::ItemStackBase const& stack, bool) const;
117
118 MCFOLD bool $uniqueAuxValues() const;
119
120 MCAPI ::ResolvedItemIconInfo $getIconInfo(::ItemStackBase const& item, int, bool) const;
121
122 MCAPI ::ItemStack& $use(::ItemStack& instance, ::Player& player) const;
123
124#ifdef LL_PLAT_S
125 MCAPI ::ItemUseMethod $useTimeDepleted(::ItemStack& inoutInstance, ::Level* level, ::Player* player) const;
126#endif
127
128 MCAPI bool $dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar face) const;
129
130 MCAPI bool $isValidAuxValue(int auxValue) const;
131
132 MCAPI bool $isDestructive(int auxValue) const;
133
134 MCAPI ::InteractionResult
135 $_useOn(::ItemStack& instance, ::Actor& entity, ::BlockPos pos, uchar face, ::Vec3 const& clickPos) const;
136
137
138 // NOLINTEND
139
140public:
141 // vftables
142 // NOLINTBEGIN
143 MCAPI static void** $vftable();
144 // NOLINTEND
145};
Definition Actor.h:105
Definition RedactableString.h:10
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition CompoundTag.h:23
Definition Container.h:33
Definition InteractionResult.h:5
Definition ItemDescriptor.h:23
Definition ItemStackBase.h:44
Definition ItemStack.h:26
Definition Level.h:249
Definition Player.h:125
Definition Vec3.h:10