LeviLamina
Loading...
Searching...
No Matches
UseKineticWeaponGoal.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/entity/components/KineticDamageSettings.h"
7#include "mc/world/actor/ai/goal/MeleeAttackBaseGoal.h"
8#include "mc/world/actor/ai/goal/UseKineticWeaponGoalSettings.h"
9#include "mc/world/level/BlockPos.h"
10#include "mc/world/level/Tick.h"
11
12// auto generated forward declare list
13// clang-format off
14class Actor;
15namespace SharedTypes { struct FloatRange; }
16// clang-format on
17
18class UseKineticWeaponGoal : public ::MeleeAttackBaseGoal {
19public:
20 // UseKineticWeaponGoal inner types define
21 enum class ForcePathRecalculation : int {
22 No = 0,
23 Yes = 1,
24 };
25
26 enum class State : int {
27 Approaching = 0,
28 Attacking = 1,
29 Repositioning = 2,
30 Cooldown = 3,
31 };
32
33public:
34 // member variables
35 // NOLINTBEGIN
36 ::ll::TypedStorage<4, 36, ::UseKineticWeaponGoalSettings> mSettings;
37 ::ll::TypedStorage<4, 84, ::KineticDamageSettings> mCachedDamageSettings;
38 ::ll::TypedStorage<8, 16, ::std::optional<::Tick>> mCooldownEndTick;
39 ::ll::TypedStorage<4, 16, ::std::optional<::BlockPos>> mRetreatPosition;
40 ::ll::TypedStorage<4, 4, ::UseKineticWeaponGoal::State> mState;
41 // NOLINTEND
42
43public:
44 // virtual functions
45 // NOLINTBEGIN
46 virtual void start() /*override*/;
47
48 virtual void stop() /*override*/;
49
50 virtual bool canUse() /*override*/;
51
52 virtual bool canContinueToUse() /*override*/;
53
54 virtual void tick() /*override*/;
55
56 virtual void appendDebugInfo(::std::string& str) const /*override*/;
57 // NOLINTEND
58
59public:
60 // member functions
61 // NOLINTBEGIN
62 MCAPI void _cacheDamageSettings();
63
64 MCAPI void _findRearRetreatPosition(::Actor const& target, ::SharedTypes::FloatRange distance);
65
66 MCAPI void _startAttacking();
67
68 MCAPI void _startCooldown(::Actor const& target);
69
70 MCAPI void _startRepositioning(::Actor const& target);
71
72 MCAPI void _tickAttacking(::Actor const& target);
73
74 MCAPI void _tickRepositioning(::Actor const& target);
75
76 MCAPI void _tryFindRandomRetreatPosition(::SharedTypes::FloatRange distance);
77
78 MCAPI void _tryMoveToRetreatPosition(::UseKineticWeaponGoal::ForcePathRecalculation forceRecalculation);
79 // NOLINTEND
80
81public:
82 // virtual function thunks
83 // NOLINTBEGIN
84 MCAPI void $start();
85
86 MCAPI void $stop();
87
88 MCAPI bool $canUse();
89
90 MCAPI bool $canContinueToUse();
91
92 MCAPI void $tick();
93
94 MCAPI void $appendDebugInfo(::std::string& str) const;
95
96
97 // NOLINTEND
98
99public:
100 // vftables
101 // NOLINTBEGIN
102 MCNAPI static void** $vftable();
103 // NOLINTEND
104};
Definition Actor.h:125
Definition UseKineticWeaponGoal.h:18
static MCAPI void ** $vftable()
Definition FloatRange.h:12