Skip to content
LeviMC
English
AutoLightDark
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 MCNAPI CrossbowItem(::std::string const& name, int id);
71 // NOLINTEND
72
73public:
74 // constructor thunks
75 // NOLINTBEGIN
76 MCNAPI void* $ctor(::std::string const& name, int id);
77 // NOLINTEND
78
79public:
80 // virtual function thunks
81 // NOLINTBEGIN
82 MCNAPI ::Item& $setIconInfo(::std::string const& name, int id);
83
84 MCNAPI ::ResolvedItemIconInfo
85 $getIconInfo(::ItemStackBase const& item, int newAnimationFrame, bool inInventoryPane) const;
86
87 MCNAPI 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 MCNAPI ::ItemUseMethod $useTimeDepleted(::ItemStack& inoutInstance, ::Level* level, ::Player* player) const;
93
94 MCAPI void $releaseUsing(::ItemStack& item, ::Player* player, int durationLeft) const;
95
96 MCNAPI void $playSoundIncrementally(::ItemStack const& item, ::Mob& mob) const;
97
98 MCNAPI int $getEnchantSlot() const;
99
100 MCNAPI bool $canBeCharged() const;
101
102 MCNAPI int $getMaxUseDuration(::ItemStack const* instance) const;
103
104 MCNAPI void $enchantProjectile(::ItemStackBase const& weapon, ::Actor& projectile) const;
105
106
107 // NOLINTEND
108};
Definition Actor.h:116
MCAPI::ResolvedItemIconInfo $getIconInfo(::ItemStackBase const &item, int newAnimationFrame, bool inInventoryPane) const
MCAPI int $getMaxUseDuration(::ItemStack const *instance) const
MCAPI::ItemUseMethod $useTimeDepleted(::ItemStack &inoutInstance, ::Level *level, ::Player *player) const
MCAPI void $playSoundIncrementally(::ItemStack const &item, ::Mob &mob) const
MCAPI void * $ctor(::std::string const &name, int id)
MCAPI bool $canBeCharged() const
MCAPI CrossbowItem(::std::string const &name, int id)
MCAPI void $enchantProjectile(::ItemStackBase const &weapon, ::Actor &projectile) const
MCAPI int $getAnimationFrameFor(::Mob *holder, bool asItemEntity, ::ItemStack const *item, bool shouldAnimate) const
MCAPI::Item & $setIconInfo(::std::string const &name, int id)
MCAPI int $getEnchantSlot() const
Definition ItemStackBase.h:45
Definition ItemStack.h:26
Definition Item.h:73
Definition Level.h:255
Definition Mob.h:58
Definition Player.h:131
Definition RangedWeaponItem.h:17