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