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
58 virtual ~UseKineticWeaponGoal() /*override*/ = default;
59 // NOLINTEND
60
61public:
62 // member functions
63 // NOLINTBEGIN
64 MCAPI void _cacheDamageSettings();
65
66 MCAPI void _findRearRetreatPosition(::Actor const& target, ::SharedTypes::FloatRange distance);
67
68 MCAPI bool _isTargetTooClose(::Actor const& target) const;
69
70 MCAPI void _startAttacking();
71
72 MCAPI void _startCooldown(::Actor const& target);
73
74 MCAPI void _tryFindRandomRetreatPosition(::SharedTypes::FloatRange distance);
75
76 MCAPI void _tryMoveToRetreatPosition(::UseKineticWeaponGoal::ForcePathRecalculation forceRecalculation);
77 // NOLINTEND
78
79public:
80 // virtual function thunks
81 // NOLINTBEGIN
82 MCAPI void $start();
83
84 MCAPI void $stop();
85
86 MCAPI bool $canUse();
87
88 MCAPI bool $canContinueToUse();
89
90 MCAPI void $tick();
91
92 MCAPI void $appendDebugInfo(::std::string& str) const;
93
94
95 // NOLINTEND
96
97public:
98 // vftables
99 // NOLINTBEGIN
100 MCNAPI static void** $vftable();
101 // NOLINTEND
102};
Definition Actor.h:105
Definition UseKineticWeaponGoal.h:18
static MCAPI void ** $vftable()
Definition FloatRange.h:12