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 // prevent constructor by default
36 LingeringPotionItem();
37
38public:
39 // virtual functions
40 // NOLINTBEGIN
41 virtual ::Potion::PotionType getPotionType() const /*override*/;
42
43 virtual ::Item& setIconInfo(::std::string const& name, int id) /*override*/;
44
45 virtual ::std::string buildDescriptionId(::ItemDescriptor const& itemDescriptor, ::CompoundTag const*) const
46 /*override*/;
47
48 virtual void appendFormattedHovertext(
49 ::ItemStackBase const& stack,
50 ::Level& level,
52 bool const showCategory
53 ) const /*override*/;
54
55 virtual ::ResolvedItemIconInfo getIconInfo(::ItemStackBase const& item, int, bool) const /*override*/;
56
57 virtual ::ItemStack& use(::ItemStack& instance, ::Player& player) const /*override*/;
58
59 virtual bool isThrowable() const /*override*/;
60
61 virtual ::Actor* createProjectileActor(
62 ::BlockSource& region,
63 ::ItemStack const& stack,
64 ::Vec3 const& pos,
65 ::Vec3 const& direction
66 ) const /*override*/;
67
68 virtual bool dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar face) const
69 /*override*/;
70 // NOLINTEND
71
72public:
73 // member functions
74 // NOLINTBEGIN
75 MCAPI LingeringPotionItem(::std::string const& name, int id);
76 // NOLINTEND
77
78public:
79 // constructor thunks
80 // NOLINTBEGIN
81 MCAPI void* $ctor(::std::string const& name, int id);
82 // NOLINTEND
83
84public:
85 // virtual function thunks
86 // NOLINTBEGIN
87 MCFOLD ::Potion::PotionType $getPotionType() const;
88
89 MCAPI ::Item& $setIconInfo(::std::string const& name, int id);
90
91 MCAPI ::std::string $buildDescriptionId(::ItemDescriptor const& itemDescriptor, ::CompoundTag const*) const;
92
93 MCAPI void $appendFormattedHovertext(
94 ::ItemStackBase const& stack,
95 ::Level& level,
97 bool const showCategory
98 ) const;
99
100 MCAPI ::ResolvedItemIconInfo $getIconInfo(::ItemStackBase const& item, int, bool) const;
101
102 MCAPI ::ItemStack& $use(::ItemStack& instance, ::Player& player) const;
103
104 MCFOLD bool $isThrowable() const;
105
106 MCAPI ::Actor* $createProjectileActor(
107 ::BlockSource& region,
108 ::ItemStack const& stack,
109 ::Vec3 const& pos,
110 ::Vec3 const& direction
111 ) const;
112
113 MCFOLD bool $dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar face) const;
114
115
116 // NOLINTEND
117
118public:
119 // vftables
120 // NOLINTBEGIN
121 MCAPI static void** $vftable();
122 // NOLINTEND
123};
Definition Actor.h:125
Definition RedactableString.h:10
Definition BlockSource.h:73
Definition CompoundTag.h:23
Definition Container.h:34
Definition ItemDescriptor.h:25
Definition ItemStackBase.h:52
Definition ItemStack.h:35
Definition Item.h:71
Definition Level.h:255
Definition Player.h:137
Definition Vec3.h:10