LeviLamina
Loading...
Searching...
No Matches
PanicGoal.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/math/Vec3.h"
7#include "mc/deps/shared_types/legacy/LevelSoundEvent.h"
8#include "mc/deps/shared_types/legacy/actor/ActorDamageCause.h"
9#include "mc/util/FloatRange.h"
10#include "mc/world/actor/ai/goal/Goal.h"
11#include "mc/world/level/Tick.h"
12
13// auto generated forward declare list
14// clang-format off
15class Mob;
16// clang-format on
17
18class PanicGoal : public ::Goal {
19public:
20 // member variables
21 // NOLINTBEGIN
22 ::ll::TypedStorage<8, 8, ::Mob&> mMob;
23 ::ll::TypedStorage<8, 8, ::Mob*> mHurtByMob;
24 ::ll::TypedStorage<8, 24, ::std::vector<::SharedTypes::Legacy::ActorDamageCause>> mDamageCauses;
25 ::ll::TypedStorage<1, 1, bool> mIgnoreMobDamage;
26 ::ll::TypedStorage<1, 1, bool> mPanicOnAllCauses;
27 ::ll::TypedStorage<1, 1, bool> mForceUse;
28 ::ll::TypedStorage<1, 1, bool> mPreferWater;
29 ::ll::TypedStorage<1, 1, bool> mCanTeleportToOwner;
30 ::ll::TypedStorage<4, 4, float> mSpeedMultipler;
31 ::ll::TypedStorage<4, 12, ::Vec3> mTargetPosition;
32 ::ll::TypedStorage<4, 4, ::SharedTypes::Legacy::LevelSoundEvent> mSoundEvent;
33 ::ll::TypedStorage<4, 8, ::FloatRange> mSoundIntervalRange;
34 ::ll::TypedStorage<8, 8, ::Tick> mNextSoundEventTick;
35 // NOLINTEND
36
37public:
38 // prevent constructor by default
39 PanicGoal& operator=(PanicGoal const&);
40 PanicGoal(PanicGoal const&);
41 PanicGoal();
42
43public:
44 // virtual functions
45 // NOLINTBEGIN
46 virtual bool canUse() /*override*/;
47
48 virtual void start() /*override*/;
49
50 virtual void stop() /*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 ~PanicGoal() /*override*/ = default;
59 // NOLINTEND
60
61public:
62 // member functions
63 // NOLINTBEGIN
64 MCAPI PanicGoal(
65 ::Mob& mob,
66 float speedMultiplier,
67 bool ignoreMobDamage,
68 ::SharedTypes::Legacy::LevelSoundEvent sound,
69 ::FloatRange soundIntervalRange,
70 bool forceUse,
71 bool preferWater,
72 ::std::vector<::SharedTypes::Legacy::ActorDamageCause> damageCauses
73 );
74
75 MCAPI ::std::optional<::Vec3> _findWaterPos(int xzDist, int yDist) const;
76
77 MCAPI ::std::optional<::Vec3> _tryGeneratePathEnd() const;
78 // NOLINTEND
79
80public:
81 // constructor thunks
82 // NOLINTBEGIN
83 MCAPI void* $ctor(
84 ::Mob& mob,
85 float speedMultiplier,
86 bool ignoreMobDamage,
87 ::SharedTypes::Legacy::LevelSoundEvent sound,
88 ::FloatRange soundIntervalRange,
89 bool forceUse,
90 bool preferWater,
91 ::std::vector<::SharedTypes::Legacy::ActorDamageCause> damageCauses
92 );
93 // NOLINTEND
94
95public:
96 // virtual function thunks
97 // NOLINTBEGIN
98 MCAPI bool $canUse();
99
100 MCAPI void $start();
101
102 MCAPI void $stop();
103
104 MCFOLD bool $canContinueToUse();
105
106 MCAPI void $tick();
107
108 MCAPI void $appendDebugInfo(::std::string& str) const;
109
110
111 // NOLINTEND
112
113public:
114 // vftables
115 // NOLINTBEGIN
116 MCNAPI static void** $vftable();
117 // NOLINTEND
118};
Definition Goal.h:14
Definition Mob.h:50
static MCAPI void ** $vftable()
Definition FloatRange.h:11