LeviLamina
Loading...
Searching...
No Matches
CrossbowItem.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/item/ItemUseMethod.h"
7#include "mc/world/item/RangedWeaponItem.h"
8
9// auto generated forward declare list
10// clang-format off
11class Actor;
12class Item;
13class ItemInstance;
14class ItemStack;
15class ItemStackBase;
16class Level;
17class Mob;
18class Player;
19class Vec3;
21// clang-format on
22
24public:
25 // member variables
26 // NOLINTBEGIN
27 ::ll::TypedStorage<8, 320, ::ResolvedItemIconInfo[5]> mFrame;
28 ::ll::TypedStorage<4, 4, int const> mMaxDurability;
29 ::ll::TypedStorage<4, 4, int const> mMaxMultiShots;
30 ::ll::TypedStorage<4, 4, float const> mMultishotAngleDelta;
31 ::ll::TypedStorage<4, 4, float const> mDefaultArrowPower;
32 // NOLINTEND
33
34public:
35 // virtual functions
36 // NOLINTBEGIN
37 // vIndex: 107
38 virtual ::Item& setIconInfo(::std::string const& name, int index) /*override*/;
39
40 // vIndex: 108
41 virtual ::ResolvedItemIconInfo
42 getIconInfo(::ItemStackBase const& item, int newAnimationFrame, bool inInventoryPane) const /*override*/;
43
44 // vIndex: 110
45 virtual int
46 getAnimationFrameFor(::Mob* holder, bool asItemEntity, ::ItemStack const* item, bool shouldAnimate) const
47 /*override*/;
48
49 // vIndex: 76
50 virtual ::ItemStack& use(::ItemStack& item, ::Player& player) const /*override*/;
51
52 // vIndex: 79
53 virtual ::ItemUseMethod useTimeDepleted(::ItemStack& inoutInstance, ::Level* level, ::Player* player) const
54 /*override*/;
55
56 // vIndex: 80
57 virtual void releaseUsing(::ItemStack& item, ::Player* player, int durationLeft) const /*override*/;
58
59 // vIndex: 114
60 virtual void playSoundIncrementally(::ItemStack const& item, ::Mob& mob) const /*override*/;
61
62 // vIndex: 54
63 virtual int getEnchantSlot() const /*override*/;
64
65 // vIndex: 113
66 virtual bool canBeCharged() const /*override*/;
67
68 // vIndex: 5
69 virtual int getMaxUseDuration(::ItemStack const* instance) const /*override*/;
70
71 // vIndex: 100
72 virtual void enchantProjectile(::ItemStackBase const& weapon, ::Actor& projectile) const /*override*/;
73
74 // vIndex: 0
75 virtual ~CrossbowItem() /*override*/ = default;
76 // NOLINTEND
77
78public:
79 // member functions
80 // NOLINTBEGIN
81 MCAPI ::Vec3 _getShootDir(::Player const& player, float angleOffset) const;
82
83 MCAPI void
84 _shootArrow(::ItemInstance const& crossbow, ::ItemInstance const& projectileInstance, ::Player& player) const;
85
86 MCAPI void _shootFirework(::ItemInstance const& projectileInstance, ::Player& player) const;
87 // NOLINTEND
88
89public:
90 // destructor thunk
91 // NOLINTBEGIN
92
93 // NOLINTEND
94
95public:
96 // virtual function thunks
97 // NOLINTBEGIN
98 MCAPI ::Item& $setIconInfo(::std::string const& name, int index);
99
100 MCFOLD ::ResolvedItemIconInfo
101 $getIconInfo(::ItemStackBase const& item, int newAnimationFrame, bool inInventoryPane) const;
102
103 MCAPI int
104 $getAnimationFrameFor(::Mob* holder, bool asItemEntity, ::ItemStack const* item, bool shouldAnimate) const;
105
106 MCAPI ::ItemStack& $use(::ItemStack& item, ::Player& player) const;
107
108 MCAPI void $releaseUsing(::ItemStack& item, ::Player* player, int durationLeft) const;
109
110 MCAPI void $playSoundIncrementally(::ItemStack const& item, ::Mob& mob) const;
111
112 MCAPI int $getEnchantSlot() const;
113
114 MCFOLD bool $canBeCharged() const;
115
116 MCAPI int $getMaxUseDuration(::ItemStack const* instance) const;
117
118 MCAPI void $enchantProjectile(::ItemStackBase const& weapon, ::Actor& projectile) const;
119 // NOLINTEND
120
121public:
122 // vftables
123 // NOLINTBEGIN
124 MCAPI static void** $vftable();
125 // NOLINTEND
126};
Definition Actor.h:104
Definition CrossbowItem.h:23
Definition ItemInstance.h:16
Definition ItemStackBase.h:35
Definition ItemStack.h:25
Definition Item.h:65
Definition Level.h:234
Definition Mob.h:47
Definition Player.h:119
Definition RangedWeaponItem.h:16
Definition Vec3.h:10
Definition ResolvedItemIconInfo.h:8