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 ThrownPotion;
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 virtual ::Potion::PotionType getPotionType() const;
45
46 virtual ::Item& setIconInfo(::std::string const& name, int id) /*override*/;
47
48 virtual ::std::string buildDescriptionId(::ItemDescriptor const& itemDescriptor, ::CompoundTag const*) const
49 /*override*/;
50
51 virtual void appendFormattedHovertext(
52 ::ItemStackBase const& stack,
53 ::Level& level,
55 bool const showCategory
56 ) const /*override*/;
57
58 virtual ::std::string buildEffectDescriptionName(::ItemStackBase const& stack, bool) const /*override*/;
59
60 virtual bool uniqueAuxValues() const /*override*/;
61
62 virtual ::ResolvedItemIconInfo getIconInfo(::ItemStackBase const& item, int, bool) const /*override*/;
63
64 virtual ::ItemStack& use(::ItemStack& instance, ::Player& player) const /*override*/;
65
66 virtual ::ItemUseMethod useTimeDepleted(::ItemStack& instance, ::Level* level, ::Player* player) const /*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 // NOLINTEND
79
80public:
81 // member functions
82 // NOLINTBEGIN
83 MCAPI PotionItem(::std::string const& name, int id);
84 // NOLINTEND
85
86public:
87 // static functions
88 // NOLINTBEGIN
89 MCAPI static void applyEffect(::ThrownPotion* potion, ::ItemStack const& slotItem);
90
91 MCAPI static bool isDestructivePotion(::Potion::PotionVariant potionVariant);
92 // NOLINTEND
93
94public:
95 // constructor thunks
96 // NOLINTBEGIN
97 MCAPI void* $ctor(::std::string const& name, int id);
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 MCAPI ::ItemUseMethod $useTimeDepleted(::ItemStack& instance, ::Level* level, ::Player* player) const;
125
126 MCAPI bool $dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar face) const;
127
128 MCAPI bool $isValidAuxValue(int auxValue) const;
129
130 MCAPI bool $isDestructive(int auxValue) const;
131
132 MCAPI ::InteractionResult
133 $_useOn(::ItemStack& instance, ::Actor& entity, ::BlockPos pos, uchar face, ::Vec3 const& clickPos) const;
134
135
136 // NOLINTEND
137
138public:
139 // vftables
140 // NOLINTBEGIN
141 MCAPI static void** $vftable();
142 // NOLINTEND
143};
Definition Actor.h:125
Definition RedactableString.h:10
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition CompoundTag.h:23
Definition Container.h:34
Definition InteractionResult.h:5
Definition ItemDescriptor.h:25
Definition ItemStackBase.h:52
Definition ItemStack.h:35
Definition Level.h:255
Definition Player.h:137
Definition ThrownPotion.h:20
Definition Vec3.h:10