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 _startCooldown(::Actor const& target);
67
68 MCAPI void _startRepositioning(::Actor const& target);
69
70 MCAPI void _tryFindRandomRetreatPosition(::SharedTypes::FloatRange distance);
71
72 MCAPI void _tryMoveToRetreatPosition(::UseKineticWeaponGoal::ForcePathRecalculation forceRecalculation);
73 // NOLINTEND
74
75public:
76 // virtual function thunks
77 // NOLINTBEGIN
78 MCAPI void $start();
79
80 MCAPI void $stop();
81
82 MCAPI bool $canUse();
83
84 MCAPI bool $canContinueToUse();
85
86 MCAPI void $tick();
87
88 MCAPI void $appendDebugInfo(::std::string& str) const;
89
90
91 // NOLINTEND
92};
Definition Actor.h:113
Definition UseKineticWeaponGoal.h:18
Definition FloatRange.h:12