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: 123
45 virtual ::Potion::PotionType getPotionType() const;
46
47 // vIndex: 109
48 virtual ::Item& setIconInfo(::std::string const& name, int index) /*override*/;
49
50 // vIndex: 89
51 virtual ::std::string buildDescriptionId(::ItemDescriptor const& itemDescriptor, ::CompoundTag const*) const
52 /*override*/;
53
54 // vIndex: 52
55 virtual void appendFormattedHovertext(
56 ::ItemStackBase const& stack,
57 ::Level& level,
59 bool const showCategory
60 ) const /*override*/;
61
62 // vIndex: 90
63 virtual ::std::string buildEffectDescriptionName(::ItemStackBase const& stack) const /*override*/;
64
65 // vIndex: 63
66 virtual bool uniqueAuxValues() const /*override*/;
67
68 // vIndex: 110
69 virtual ::ResolvedItemIconInfo getIconInfo(::ItemStackBase const& item, int, bool) const /*override*/;
70
71 // vIndex: 76
72 virtual ::ItemStack& use(::ItemStack& item, ::Player& player) const /*override*/;
73
74 // vIndex: 81
75 virtual ::ItemUseMethod useTimeDepleted(::ItemStack& instance, ::Level* level, ::Player* player) const /*override*/;
76
77 // vIndex: 80
78 virtual bool dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar face) const
79 /*override*/;
80
81 // vIndex: 60
82 virtual bool isValidAuxValue(int auxValue) const /*override*/;
83
84 // vIndex: 47
85 virtual bool isDestructive(int auxValue) const /*override*/;
86
87 // vIndex: 122
88 virtual ::InteractionResult
89 _useOn(::ItemStack& instance, ::Actor& entity, ::BlockPos pos, uchar face, ::Vec3 const& clickPos) const
90 /*override*/;
91
92 // vIndex: 0
93 virtual ~PotionItem() /*override*/;
94 // NOLINTEND
95
96public:
97 // member functions
98 // NOLINTBEGIN
99 MCAPI PotionItem(::std::string const& name, int id);
100
101 MCAPI bool const _isBlockConvertibleToMud(::BlockType const& block) const;
102 // NOLINTEND
103
104public:
105 // constructor thunks
106 // NOLINTBEGIN
107 MCAPI void* $ctor(::std::string const& name, int id);
108 // NOLINTEND
109
110public:
111 // destructor thunk
112 // NOLINTBEGIN
113 MCAPI void $dtor();
114 // NOLINTEND
115
116public:
117 // virtual function thunks
118 // NOLINTBEGIN
119 MCFOLD ::Potion::PotionType $getPotionType() const;
120
121 MCAPI ::Item& $setIconInfo(::std::string const& name, int index);
122
123 MCAPI ::std::string $buildDescriptionId(::ItemDescriptor const& itemDescriptor, ::CompoundTag const*) const;
124
125 MCAPI void $appendFormattedHovertext(
126 ::ItemStackBase const& stack,
127 ::Level& level,
129 bool const showCategory
130 ) const;
131
132 MCAPI ::std::string $buildEffectDescriptionName(::ItemStackBase const& stack) const;
133
134 MCFOLD bool $uniqueAuxValues() const;
135
136 MCAPI ::ResolvedItemIconInfo $getIconInfo(::ItemStackBase const& item, int, bool) const;
137
138 MCAPI ::ItemStack& $use(::ItemStack& item, ::Player& player) const;
139
140 MCAPI ::ItemUseMethod $useTimeDepleted(::ItemStack& instance, ::Level* level, ::Player* player) const;
141
142 MCAPI bool $dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar face) const;
143
144 MCAPI bool $isValidAuxValue(int auxValue) const;
145
146 MCAPI bool $isDestructive(int auxValue) const;
147
148 MCAPI ::InteractionResult
149 $_useOn(::ItemStack& instance, ::Actor& entity, ::BlockPos pos, uchar face, ::Vec3 const& clickPos) const;
150 // NOLINTEND
151
152public:
153 // vftables
154 // NOLINTBEGIN
155 MCAPI static void** $vftable();
156 // NOLINTEND
157};
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:34
Definition ItemStack.h:23
Definition Item.h:66
Definition Level.h:243
Definition Player.h:123
Definition PotionItem.h:29
Definition Vec3.h:10