LeviLamina
Loading...
Searching...
No Matches
AbstractArrow.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/actor/ActorInitializationMethod.h"
7#include "mc/world/actor/projectile/PredictableProjectile.h"
8
9// auto generated forward declare list
10// clang-format off
11class Actor;
13class CompoundTag;
14class DataLoadHelper;
15class EntityContext;
16class ItemStack;
17class Player;
18class Vec3;
20struct ActorUniqueID;
22// clang-format on
23
24class AbstractArrow : public ::PredictableProjectile {
25public:
26 // AbstractArrow inner types define
27 enum class Data : int {
28 OwnerID = 17,
29 };
30
31public:
32 // member variables
33 // NOLINTBEGIN
34 ::ll::TypedStorage<4, 4, int> mFavoredSlot;
35 ::ll::TypedStorage<1, 1, bool> mIsPlayerOwned;
36 ::ll::TypedStorage<1, 1, bool> mIsCreative;
37 // NOLINTEND
38
39public:
40 // prevent constructor by default
41 AbstractArrow();
42
43public:
44 // virtual functions
45 // NOLINTBEGIN
46 virtual void reloadHardcoded(::ActorInitializationMethod method, ::VariantParameterList const& params) /*override*/;
47
48 virtual void
49 initializeComponents(::ActorInitializationMethod method, ::VariantParameterList const& params) /*override*/;
50
51 virtual void lerpMotion(::Vec3 const& delta) /*override*/;
52
53 virtual void shoot(::Vec3 const& dir, float pow, float uncertainty, ::Vec3 const& baseSpeed);
54
55 virtual void playerTouch(::Player& player) /*override*/;
56
57 virtual float getShadowRadius() const /*override*/;
58
59 virtual ::ItemStack _getPickupItem() const = 0;
60
61 virtual void addAdditionalSaveData(::CompoundTag& tag) const /*override*/;
62
63 virtual void readAdditionalSaveData(::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper) /*override*/;
64
65 virtual ::ActorUniqueID getSourceUniqueID() const /*override*/;
66 // NOLINTEND
67
68public:
69 // member functions
70 // NOLINTBEGIN
71 MCAPI AbstractArrow(
72 ::ActorDefinitionGroup* definitions,
73 ::ActorDefinitionIdentifier const& definitionName,
74 ::EntityContext& entityContext
75 );
76
77 MCAPI bool _canPickup(::Player const& player) const;
78
79 MCAPI void _defineEntityData();
80
81 MCAPI bool isPlayerOwned() const;
82
83 MCAPI void setFavoredSlot(int favoredSlot);
84
85 MCAPI void setIsCreative(bool creativeOnly);
86
87 MCAPI void setIsPlayerOwned(bool isPlayerOwned);
88 // NOLINTEND
89
90public:
91 // static functions
92 // NOLINTBEGIN
93 MCAPI static ::Actor* spawnPlayerProjectile(::ActorDefinitionIdentifier const& id, ::Player& player, ::Vec3 aimDir);
94 // NOLINTEND
95
96public:
97 // constructor thunks
98 // NOLINTBEGIN
99 MCAPI void* $ctor(
100 ::ActorDefinitionGroup* definitions,
101 ::ActorDefinitionIdentifier const& definitionName,
102 ::EntityContext& entityContext
103 );
104 // NOLINTEND
105
106public:
107 // virtual function thunks
108 // NOLINTBEGIN
109 MCAPI void $reloadHardcoded(::ActorInitializationMethod method, ::VariantParameterList const& params);
110
111 MCFOLD void $initializeComponents(::ActorInitializationMethod method, ::VariantParameterList const& params);
112
113 MCAPI void $lerpMotion(::Vec3 const& delta);
114
115 MCAPI void $shoot(::Vec3 const& dir, float pow, float uncertainty, ::Vec3 const& baseSpeed);
116
117 MCAPI void $playerTouch(::Player& player);
118
119 MCAPI float $getShadowRadius() const;
120
121 MCAPI void $addAdditionalSaveData(::CompoundTag& tag) const;
122
123 MCAPI void $readAdditionalSaveData(::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper);
124
125 MCFOLD ::ActorUniqueID $getSourceUniqueID() const;
126
127
128 // NOLINTEND
129
130public:
131 // vftables
132 // NOLINTBEGIN
133 MCAPI static void** $vftable();
134 // NOLINTEND
135};
Definition ActorDefinitionGroup.h:37
Definition Actor.h:125
Definition CompoundTag.h:23
Definition DataLoadHelper.h:20
Definition EntityContext.h:17
Definition ItemStack.h:35
Definition Player.h:137
Definition Vec3.h:10
Definition ActorDefinitionIdentifier.h:15
Definition ActorUniqueID.h:10
Definition VariantParameterList.h:14