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 Vec3;
25namespace Bedrock::Safety { class RedactableString; }
26namespace cereal { struct ReflectionCtx; }
27// clang-format on
28
29class ArrowItem : public ::ComponentItem {
30public:
31 // member variables
32 // NOLINTBEGIN
33 ::ll::TypedStorage<8, 1344, ::ResolvedItemIconInfo[21]> mArrowIcons;
34 ::ll::TypedStorage<4, 84, ::Potion::PotionVariant[21]> mArrowVariants;
35 // NOLINTEND
36
37public:
38 // prevent constructor by default
39 ArrowItem();
40
41public:
42 // virtual functions
43 // NOLINTBEGIN
44 virtual ::Item& setIconInfo(::std::string const& name, int id) /*override*/;
45
46 virtual ::Actor* createProjectileActor(
47 ::BlockSource& region,
48 ::ItemStack const& stack,
49 ::Vec3 const& pos,
50 ::Vec3 const& direction
51 ) const /*override*/;
52
53 virtual bool dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar face) const
54 /*override*/;
55
56 virtual ::std::string
57 buildDescriptionId(::ItemDescriptor const& itemDescriptor, ::CompoundTag const* userData) const /*override*/;
58
59 virtual void appendFormattedHovertext(
60 ::ItemStackBase const& stack,
61 ::Level& level,
63 bool const showCategory
64 ) const /*override*/;
65
66 virtual ::std::string buildEffectDescriptionName(::ItemStackBase const& stack, bool playerIsCreative) const
67 /*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 // NOLINTEND
74
75public:
76 // member functions
77 // NOLINTBEGIN
78 MCAPI ArrowItem(::std::string const& name, int id, ::cereal::ReflectionCtx& ctx);
79
80 MCAPI void applyEffect(::Arrow* arrow, ::ItemInstance const& slotItem) const;
81
82 MCAPI ::std::vector<::MobEffectInstance> getMobEffects(int auxValue) const;
83 // NOLINTEND
84
85public:
86 // constructor thunks
87 // NOLINTBEGIN
88 MCAPI void* $ctor(::std::string const& name, int id, ::cereal::ReflectionCtx& ctx);
89 // NOLINTEND
90
91public:
92 // virtual function thunks
93 // NOLINTBEGIN
94 MCAPI ::Item& $setIconInfo(::std::string const& name, int id);
95
96 MCAPI ::Actor* $createProjectileActor(
97 ::BlockSource& region,
98 ::ItemStack const& stack,
99 ::Vec3 const& pos,
100 ::Vec3 const& direction
101 ) const;
102
103 MCAPI bool $dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar face) const;
104
105 MCAPI ::std::string
106 $buildDescriptionId(::ItemDescriptor const& itemDescriptor, ::CompoundTag const* userData) const;
107
108 MCAPI void $appendFormattedHovertext(
109 ::ItemStackBase const& stack,
110 ::Level& level,
112 bool const showCategory
113 ) const;
114
115 MCAPI ::std::string $buildEffectDescriptionName(::ItemStackBase const& stack, bool playerIsCreative) const;
116
117 MCAPI bool $isValidAuxValue(int auxValue) const;
118
119 MCAPI ::ResolvedItemIconInfo
120 $getIconInfo(::ItemStackBase const& item, int newAnimationFrame, bool inInventoryPane) const;
121
122
123 // NOLINTEND
124
125public:
126 // vftables
127 // NOLINTBEGIN
128 MCAPI static void** $vftable();
129 // NOLINTEND
130};
Definition Actor.h:125
Definition Arrow.h:24
Definition RedactableString.h:10
Definition BlockSource.h:73
Definition CompoundTag.h:23
Definition Container.h:34
Definition ItemDescriptor.h:25
Definition ItemInstance.h:15
Definition ItemStackBase.h:52
Definition ItemStack.h:35
Definition Item.h:71
Definition Level.h:255
Definition MobEffectInstance.h:20
Definition Vec3.h:10
Definition ReflectionCtx.h:11
Definition ctx.h:5