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