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#include "mc/world/item/ResolvedItemIconInfo.h"
9
10// auto generated forward declare list
11// clang-format off
12class Actor;
13class Item;
14class ItemInstance;
15class ItemStack;
16class ItemStackBase;
17class Level;
18class Mob;
19class Player;
20class 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 virtual ::Item& setIconInfo(::std::string const& name, int id) /*override*/;
38
39 virtual ::ResolvedItemIconInfo
40 getIconInfo(::ItemStackBase const& item, int newAnimationFrame, bool inInventoryPane) const /*override*/;
41
42 virtual int
43 getAnimationFrameFor(::Mob* holder, bool asItemEntity, ::ItemStack const* item, bool shouldAnimate) const
44 /*override*/;
45
46 virtual ::ItemStack& use(::ItemStack& item, ::Player& player) const /*override*/;
47
48 virtual ::ItemUseMethod useTimeDepleted(::ItemStack& inoutInstance, ::Level* level, ::Player* player) const
49 /*override*/;
50
51 virtual void releaseUsing(::ItemStack& item, ::Player* player, int durationLeft) const /*override*/;
52
53 virtual void playSoundIncrementally(::ItemStack const& item, ::Mob& mob) const /*override*/;
54
55 virtual int getEnchantSlot() const /*override*/;
56
57 virtual bool canBeCharged() const /*override*/;
58
59 virtual int getMaxUseDuration(::ItemStack const* instance) const /*override*/;
60
61 virtual void enchantProjectile(::ItemStackBase const& weapon, ::Actor& projectile) const /*override*/;
62
63 virtual ~CrossbowItem() /*override*/ = default;
64 // NOLINTEND
65
66public:
67 // member functions
68 // NOLINTBEGIN
69 MCAPI ::Vec3 _getShootDir(::Player const& player, float angleOffset) const;
70
71 MCAPI void
72 _shootArrow(::ItemInstance const& crossbow, ::ItemInstance const& projectileInstance, ::Player& player) const;
73
74 MCAPI void _shootFirework(::ItemInstance const& projectileInstance, ::Player& player) const;
75 // NOLINTEND
76
77public:
78 // virtual function thunks
79 // NOLINTBEGIN
80 MCAPI ::Item& $setIconInfo(::std::string const& name, int id);
81
82 MCFOLD ::ResolvedItemIconInfo
83 $getIconInfo(::ItemStackBase const& item, int newAnimationFrame, bool inInventoryPane) const;
84
85 MCAPI int
86 $getAnimationFrameFor(::Mob* holder, bool asItemEntity, ::ItemStack const* item, bool shouldAnimate) const;
87
88 MCAPI ::ItemStack& $use(::ItemStack& item, ::Player& player) const;
89
90 MCAPI ::ItemUseMethod $useTimeDepleted(::ItemStack& inoutInstance, ::Level* level, ::Player* player) const;
91
92 MCAPI void $releaseUsing(::ItemStack& item, ::Player* player, int durationLeft) const;
93
94 MCAPI void $playSoundIncrementally(::ItemStack const& item, ::Mob& mob) const;
95
96 MCAPI int $getEnchantSlot() const;
97
98 MCFOLD bool $canBeCharged() const;
99
100 MCAPI int $getMaxUseDuration(::ItemStack const* instance) const;
101
102 MCAPI void $enchantProjectile(::ItemStackBase const& weapon, ::Actor& projectile) const;
103
104
105 // NOLINTEND
106
107public:
108 // vftables
109 // NOLINTBEGIN
110 MCAPI static void** $vftable();
111 // NOLINTEND
112};
Definition Actor.h:105
Definition CrossbowItem.h:23
Definition ItemInstance.h:15
Definition ItemStackBase.h:44
Definition ItemStack.h:26
Definition Item.h:69
Definition Level.h:249
Definition Mob.h:50
Definition Player.h:125
Definition RangedWeaponItem.h:16
Definition Vec3.h:10