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 playerIsCreative) const
68 /*override*/;
69
70 virtual bool isValidAuxValue(int auxValue) const /*override*/;
71
72 virtual ::ResolvedItemIconInfo
73 getIconInfo(::ItemStackBase const& item, int newAnimationFrame, bool inInventoryPane) const /*override*/;
74
75 virtual ~ArrowItem() /*override*/ = default;
76 // NOLINTEND
77
78public:
79 // member functions
80 // NOLINTBEGIN
81 MCAPI ArrowItem(::std::string const& name, int id, ::cereal::ReflectionCtx& ctx);
82
83 MCAPI ::std::shared_ptr<::Potion const> _potionExistsOrContentError(int aux) const;
84
85 MCAPI void applyEffect(::Arrow* arrow, ::ItemInstance const& slotItem) const;
86
87 MCAPI ::std::vector<::MobEffectInstance> getMobEffects(int auxValue) const;
88 // NOLINTEND
89
90public:
91 // constructor thunks
92 // NOLINTBEGIN
93 MCAPI void* $ctor(::std::string const& name, int id, ::cereal::ReflectionCtx& ctx);
94 // NOLINTEND
95
96public:
97 // virtual function thunks
98 // NOLINTBEGIN
99 MCAPI ::Item& $setIconInfo(::std::string const& name, int id);
100
101 MCAPI ::Actor* $createProjectileActor(
102 ::BlockSource& region,
103 ::ItemStack const& stack,
104 ::Vec3 const& pos,
105 ::Vec3 const& direction
106 ) const;
107
108 MCAPI bool $dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar face) const;
109
110 MCAPI ::std::string
111 $buildDescriptionId(::ItemDescriptor const& itemDescriptor, ::CompoundTag const* userData) const;
112
113 MCAPI void $appendFormattedHovertext(
114 ::ItemStackBase const& stack,
115 ::Level& level,
117 bool const showCategory
118 ) const;
119
120 MCAPI ::std::string $buildEffectDescriptionName(::ItemStackBase const& stack, bool playerIsCreative) const;
121
122 MCAPI bool $isValidAuxValue(int auxValue) const;
123
124 MCAPI ::ResolvedItemIconInfo
125 $getIconInfo(::ItemStackBase const& item, int newAnimationFrame, bool inInventoryPane) const;
126
127
128 // NOLINTEND
129
130public:
131 // vftables
132 // NOLINTBEGIN
133 MCAPI static void** $vftable();
134 // NOLINTEND
135};
Definition Actor.h:106
Definition Arrow.h:21
Definition RedactableString.h:10
Definition BlockSource.h:71
static MCAPI void ** $vftable()
Definition CompoundTag.h:23
Definition Container.h:33
Definition ItemDescriptor.h:24
Definition ItemInstance.h:15
Definition ItemStackBase.h:44
Definition ItemStack.h:26
Definition Item.h:68
Definition Level.h:250
Definition MobEffectInstance.h:15
Definition Potion.h:14
Definition Vec3.h:10
Definition ReflectionCtx.h:11
Definition ctx.h:5