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/HandSlot.h"
7#include "mc/world/item/ItemUseMethod.h"
8#include "mc/world/item/RangedWeaponItem.h"
9#include "mc/world/item/ResolvedItemIconInfo.h"
10
11// auto generated forward declare list
12// clang-format off
13class Actor;
14class Item;
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, ::HandSlot handSlot) 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 // NOLINTEND
72
73public:
74 // constructor thunks
75 // NOLINTBEGIN
76 MCAPI void* $ctor(::std::string const& name, int id);
77 // NOLINTEND
78
79public:
80 // virtual function thunks
81 // NOLINTBEGIN
82 MCAPI ::Item& $setIconInfo(::std::string const& name, int id);
83
84 MCAPI ::ResolvedItemIconInfo
85 $getIconInfo(::ItemStackBase const& item, int newAnimationFrame, bool inInventoryPane) const;
86
87 MCAPI int
88 $getAnimationFrameFor(::Mob* holder, bool asItemEntity, ::ItemStack const* item, bool shouldAnimate) const;
89
90 MCAPI ::ItemStack& $use(::ItemStack& instance, ::Player& player, ::HandSlot handSlot) const;
91
92 MCAPI ::ItemUseMethod $useTimeDepleted(::ItemStack& inoutInstance, ::Level* level, ::Player* player) const;
93
94 MCAPI void $releaseUsing(::ItemStack& item, ::Player* player, int durationLeft) const;
95
96 MCAPI void $playSoundIncrementally(::ItemStack const& item, ::Mob& mob) const;
97
98#ifdef LL_PLAT_S
99 MCAPI int $getEnchantSlot() const;
100#else // LL_PLAT_C
101 MCFOLD int $getEnchantSlot() const;
102#endif
103
104 MCFOLD bool $canBeCharged() const;
105
106 MCAPI int $getMaxUseDuration(::ItemStack const* instance) const;
107
108 MCAPI void $enchantProjectile(::ItemStackBase const& weapon, ::Actor& projectile) const;
109
110
111 // NOLINTEND
112};
Definition Actor.h:113
Definition ItemStackBase.h:44
Definition ItemStack.h:26
Definition Item.h:71
Definition Level.h:254
Definition Mob.h:56
Definition Player.h:129
Definition RangedWeaponItem.h:17