LeviLamina
Loading...
Searching...
No Matches
ArrowItem.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/item/ResolvedItemIconInfo.h"
7#include "mc/world/item/alchemy/Potion.h"
8#include "mc/world/item/components/ComponentItem.h"
9
10// auto generated forward declare list
11// clang-format off
12class Actor;
13class Arrow;
14class BlockSource;
15class CompoundTag;
16class Container;
17class Item;
18class ItemDescriptor;
19class ItemInstance;
20class ItemStack;
21class ItemStackBase;
22class Level;
24class Potion;
25class Vec3;
26namespace Bedrock::Safety { class RedactableString; }
27namespace cereal { struct ReflectionCtx; }
28// clang-format on
29
30class ArrowItem : public ::ComponentItem {
31public:
32 // member variables
33 // NOLINTBEGIN
34 ::ll::TypedStorage<8, 1344, ::ResolvedItemIconInfo[21]> mArrowIcons;
35 ::ll::TypedStorage<4, 84, ::Potion::PotionVariant[21]> mArrowVariants;
36 // NOLINTEND
37
38public:
39 // prevent constructor by default
40 ArrowItem();
41
42public:
43 // virtual functions
44 // NOLINTBEGIN
45 virtual ::Item& setIconInfo(::std::string const& name, int id) /*override*/;
46
47 virtual ::Actor* createProjectileActor(
48 ::BlockSource& region,
49 ::ItemStack const& stack,
50 ::Vec3 const& pos,
51 ::Vec3 const& direction
52 ) const /*override*/;
53
54 virtual bool dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar face) const
55 /*override*/;
56
57 virtual ::std::string
58 buildDescriptionId(::ItemDescriptor const& itemDescriptor, ::CompoundTag const* userData) const /*override*/;
59
60 virtual void appendFormattedHovertext(
61 ::ItemStackBase const& stack,
62 ::Level& level,
64 bool const showCategory
65 ) const /*override*/;
66
67 virtual ::std::string buildEffectDescriptionName(::ItemStackBase const& stack, bool) const /*override*/;
68
69 virtual bool isValidAuxValue(int auxValue) const /*override*/;
70
71 virtual ::ResolvedItemIconInfo
72 getIconInfo(::ItemStackBase const& item, int newAnimationFrame, bool inInventoryPane) const /*override*/;
73
74 virtual ~ArrowItem() /*override*/ = default;
75 // NOLINTEND
76
77public:
78 // member functions
79 // NOLINTBEGIN
80 MCAPI ArrowItem(::std::string const& name, int id, ::cereal::ReflectionCtx& ctx);
81
82 MCAPI ::std::shared_ptr<::Potion const> _potionExistsOrContentError(int aux) const;
83
84 MCAPI void applyEffect(::Arrow* arrow, ::ItemInstance const& slotItem) const;
85
86 MCAPI ::std::vector<::MobEffectInstance> getMobEffects(int auxValue) const;
87 // NOLINTEND
88
89public:
90 // constructor thunks
91 // NOLINTBEGIN
92 MCAPI void* $ctor(::std::string const& name, int id, ::cereal::ReflectionCtx& ctx);
93 // NOLINTEND
94
95public:
96 // virtual function thunks
97 // NOLINTBEGIN
98 MCAPI ::Item& $setIconInfo(::std::string const& name, int id);
99
100 MCAPI ::Actor* $createProjectileActor(
101 ::BlockSource& region,
102 ::ItemStack const& stack,
103 ::Vec3 const& pos,
104 ::Vec3 const& direction
105 ) const;
106
107 MCAPI bool $dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar face) const;
108
109 MCAPI ::std::string
110 $buildDescriptionId(::ItemDescriptor const& itemDescriptor, ::CompoundTag const* userData) const;
111
112 MCAPI void $appendFormattedHovertext(
113 ::ItemStackBase const& stack,
114 ::Level& level,
116 bool const showCategory
117 ) const;
118
119 MCAPI ::std::string $buildEffectDescriptionName(::ItemStackBase const& stack, bool) const;
120
121 MCAPI bool $isValidAuxValue(int auxValue) const;
122
123 MCAPI ::ResolvedItemIconInfo
124 $getIconInfo(::ItemStackBase const& item, int newAnimationFrame, bool inInventoryPane) const;
125
126
127 // NOLINTEND
128
129public:
130 // vftables
131 // NOLINTBEGIN
132 MCAPI static void** $vftable();
133 // NOLINTEND
134};
Definition Actor.h:105
Definition Arrow.h:21
Definition RedactableString.h:10
Definition BlockSource.h:68
static MCAPI void ** $vftable()
Definition CompoundTag.h:23
Definition Container.h:33
Definition ItemDescriptor.h:23
Definition ItemInstance.h:15
Definition ItemStackBase.h:44
Definition ItemStack.h:26
Definition Item.h:69
Definition Level.h:249
Definition MobEffectInstance.h:15
Definition Potion.h:14
Definition Vec3.h:10
Definition ReflectionCtx.h:11
Definition ctx.h:5