LeviLamina
Loading...
Searching...
No Matches
LingeringPotionItem.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/item/PotionItem.h"
7#include "mc/world/item/ResolvedItemIconInfo.h"
8#include "mc/world/item/alchemy/Potion.h"
9
10// auto generated forward declare list
11// clang-format off
12class Actor;
13class BlockSource;
14class CompoundTag;
15class Container;
16class Item;
17class ItemDescriptor;
18class ItemStack;
19class ItemStackBase;
20class Level;
21class Player;
22class Vec3;
23namespace Bedrock::Safety { class RedactableString; }
24// clang-format on
25
26class LingeringPotionItem : public ::PotionItem {
27public:
28 // member variables
29 // NOLINTBEGIN
30 ::ll::TypedStorage<8, 1344, ::ResolvedItemIconInfo[21]> mLingeringIcons;
31 ::ll::TypedStorage<4, 84, ::Potion::PotionVariant[21]> mLingeringPotionVariants;
32 // NOLINTEND
33
34public:
35 // virtual functions
36 // NOLINTBEGIN
37 virtual ::Potion::PotionType getPotionType() const /*override*/;
38
39 virtual ::Item& setIconInfo(::std::string const& name, int index) /*override*/;
40
41 virtual ::std::string
42 buildDescriptionId(::ItemDescriptor const& itemDescriptor, ::CompoundTag const* userData) const /*override*/;
43
44 virtual void appendFormattedHovertext(
45 ::ItemStackBase const& stack,
46 ::Level& level,
48 bool const showCategory
49 ) const /*override*/;
50
51 virtual ::ResolvedItemIconInfo
52 getIconInfo(::ItemStackBase const& item, int newAnimationFrame, bool inInventoryPane) const /*override*/;
53
54 virtual ::ItemStack& use(::ItemStack& item, ::Player& player) const /*override*/;
55
56 virtual bool isThrowable() const /*override*/;
57
58 virtual ::Actor* createProjectileActor(
59 ::BlockSource& region,
60 ::ItemStack const& stack,
61 ::Vec3 const& pos,
62 ::Vec3 const& direction
63 ) const /*override*/;
64
65 virtual bool dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar face) const
66 /*override*/;
67
68 virtual ~LingeringPotionItem() /*override*/ = default;
69 // NOLINTEND
70
71public:
72 // virtual function thunks
73 // NOLINTBEGIN
74 MCFOLD ::Potion::PotionType $getPotionType() const;
75
76 MCAPI ::Item& $setIconInfo(::std::string const& name, int index);
77
78 MCAPI ::std::string
79 $buildDescriptionId(::ItemDescriptor const& itemDescriptor, ::CompoundTag const* userData) const;
80
81 MCAPI void $appendFormattedHovertext(
82 ::ItemStackBase const& stack,
83 ::Level& level,
85 bool const showCategory
86 ) const;
87
88 MCAPI ::ResolvedItemIconInfo
89 $getIconInfo(::ItemStackBase const& item, int newAnimationFrame, bool inInventoryPane) const;
90
91 MCAPI ::ItemStack& $use(::ItemStack& item, ::Player& player) const;
92
93 MCFOLD bool $isThrowable() const;
94
95 MCAPI ::Actor* $createProjectileActor(
96 ::BlockSource& region,
97 ::ItemStack const& stack,
98 ::Vec3 const& pos,
99 ::Vec3 const& direction
100 ) const;
101
102 MCFOLD bool $dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar face) const;
103
104
105 // NOLINTEND
106
107public:
108 // vftables
109 // NOLINTBEGIN
110 MCAPI static void** $vftable();
111 // NOLINTEND
112};
Definition Actor.h:105
Definition RedactableString.h:10
Definition BlockSource.h:68
Definition CompoundTag.h:23
Definition Container.h:33
Definition ItemDescriptor.h:23
Definition ItemStackBase.h:44
Definition ItemStack.h:26
Definition Item.h:69
Definition Level.h:249
Definition LingeringPotionItem.h:26
Definition Player.h:125
Definition Vec3.h:10