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;
20// clang-format on
21
22class CrossbowItem : public ::RangedWeaponItem {
23public:
24 // member variables
25 // NOLINTBEGIN
26 ::ll::TypedStorage<8, 320, ::ResolvedItemIconInfo[5]> mFrame;
27 ::ll::TypedStorage<4, 4, int const> mMaxDurability;
28 ::ll::TypedStorage<4, 4, int const> mMaxMultiShots;
29 ::ll::TypedStorage<4, 4, float const> mMultishotAngleDelta;
30 ::ll::TypedStorage<4, 4, float const> mDefaultArrowPower;
31 // NOLINTEND
32
33public:
34 // prevent constructor by default
35 CrossbowItem();
36
37public:
38 // virtual functions
39 // NOLINTBEGIN
40 virtual ::Item& setIconInfo(::std::string const& name, int id) /*override*/;
41
42 virtual ::ResolvedItemIconInfo
43 getIconInfo(::ItemStackBase const& item, int newAnimationFrame, bool inInventoryPane) const /*override*/;
44
45 virtual int
46 getAnimationFrameFor(::Mob* holder, bool asItemEntity, ::ItemStack const* item, bool shouldAnimate) const
47 /*override*/;
48
49 virtual ::ItemStack& use(::ItemStack& instance, ::Player& player) const /*override*/;
50
51 virtual ::ItemUseMethod useTimeDepleted(::ItemStack& inoutInstance, ::Level* level, ::Player* player) const
52 /*override*/;
53
54 virtual void releaseUsing(::ItemStack& item, ::Player* player, int durationLeft) const /*override*/;
55
56 virtual void playSoundIncrementally(::ItemStack const& item, ::Mob& mob) const /*override*/;
57
58 virtual int getEnchantSlot() const /*override*/;
59
60 virtual bool canBeCharged() const /*override*/;
61
62 virtual int getMaxUseDuration(::ItemStack const* instance) const /*override*/;
63
64 virtual void enchantProjectile(::ItemStackBase const& weapon, ::Actor& projectile) const /*override*/;
65 // NOLINTEND
66
67public:
68 // member functions
69 // NOLINTBEGIN
70 MCAPI CrossbowItem(::std::string const& name, int id);
71
72 MCAPI void
73 _shootArrow(::ItemInstance const& crossbow, ::ItemInstance const& projectileInstance, ::Player& player) const;
74
75 MCAPI void _shootFirework(::ItemInstance const& projectileInstance, ::Player& player) const;
76 // NOLINTEND
77
78public:
79 // constructor thunks
80 // NOLINTBEGIN
81 MCAPI void* $ctor(::std::string const& name, int id);
82 // NOLINTEND
83
84public:
85 // virtual function thunks
86 // NOLINTBEGIN
87 MCAPI ::Item& $setIconInfo(::std::string const& name, int id);
88
89 MCFOLD ::ResolvedItemIconInfo
90 $getIconInfo(::ItemStackBase const& item, int newAnimationFrame, bool inInventoryPane) const;
91
92 MCAPI int
93 $getAnimationFrameFor(::Mob* holder, bool asItemEntity, ::ItemStack const* item, bool shouldAnimate) const;
94
95 MCAPI ::ItemStack& $use(::ItemStack& instance, ::Player& player) const;
96
97 MCAPI ::ItemUseMethod $useTimeDepleted(::ItemStack& inoutInstance, ::Level* level, ::Player* player) const;
98
99 MCAPI void $releaseUsing(::ItemStack& item, ::Player* player, int durationLeft) const;
100
101 MCAPI void $playSoundIncrementally(::ItemStack const& item, ::Mob& mob) const;
102
103 MCAPI int $getEnchantSlot() const;
104
105 MCFOLD bool $canBeCharged() const;
106
107 MCAPI int $getMaxUseDuration(::ItemStack const* instance) const;
108
109 MCAPI void $enchantProjectile(::ItemStackBase const& weapon, ::Actor& projectile) const;
110
111
112 // NOLINTEND
113
114public:
115 // vftables
116 // NOLINTBEGIN
117 MCAPI static void** $vftable();
118 // NOLINTEND
119};
Definition Actor.h:125
Definition ItemInstance.h:15
Definition ItemStackBase.h:52
Definition ItemStack.h:35
Definition Item.h:71
Definition Level.h:255
Definition Mob.h:57
Definition Player.h:137
static MCAPI void ** $vftable()