LeviLamina
Loading...
Searching...
No Matches
FloatWanderGoal.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/util/FloatRange.h"
8#include "mc/world/actor/ai/goal/BaseGoal.h"
9
10// auto generated forward declare list
11// clang-format off
12class BlockSource;
13class Mob;
14class Random;
15// clang-format on
16
17class FloatWanderGoal : public ::BaseGoal {
18public:
19 // member variables
20 // NOLINTBEGIN
21 ::ll::TypedStorage<8, 8, ::Mob&> mMob;
22 ::ll::TypedStorage<4, 12, ::Vec3> mTargetPos;
23 ::ll::TypedStorage<4, 4, int> mFloatDuration;
24 ::ll::TypedStorage<4, 4, float> mTargetXZDist;
25 ::ll::TypedStorage<4, 4, float> mTargetYDist;
26 ::ll::TypedStorage<4, 4, float> mSurfaceXZDist;
27 ::ll::TypedStorage<4, 4, float> mSurfaceYDist;
28 ::ll::TypedStorage<4, 4, float> mYOffset;
29 ::ll::TypedStorage<1, 1, bool> mMustReach;
30 ::ll::TypedStorage<1, 1, bool> mRandomReselect;
31 ::ll::TypedStorage<1, 1, bool> mUseHomePositionRestriction;
32 ::ll::TypedStorage<1, 1, bool> mAdditionalCollisionBuffer;
33 ::ll::TypedStorage<1, 1, bool> mAllowNavigatingThroughLiquids;
34 ::ll::TypedStorage<1, 1, bool> mNavigateAroundSurface;
35 ::ll::TypedStorage<4, 8, ::FloatRange> mFloatDurationRange;
36 // NOLINTEND
37
38public:
39 // prevent constructor by default
40 FloatWanderGoal& operator=(FloatWanderGoal const&);
41 FloatWanderGoal(FloatWanderGoal const&);
42 FloatWanderGoal();
43
44public:
45 // virtual functions
46 // NOLINTBEGIN
47 virtual bool canUse() /*override*/;
48
49 virtual void tick() /*override*/;
50
51 virtual void appendDebugInfo(::std::string& str) const /*override*/;
52 // NOLINTEND
53
54public:
55 // member functions
56 // NOLINTBEGIN
57 MCAPI FloatWanderGoal(
58 ::Mob& mob,
59 float targetXZDist,
60 float targetYDist,
61 float yOffset,
62 float surfaceXZDist,
63 float surfaceYDist,
64 bool mustReach,
65 bool randomReselect,
66 bool additionalCollisionBuffer,
67 bool navigateAroundSurface,
68 bool useHomePositionRestriction,
69 bool allowNavigatingThroughLiquids,
70 ::FloatRange floatDurationRange,
71 bool hasMoveControlFlag
72 );
73
74 MCAPI bool _canReach(::Vec3 const& targetPos, float dist) const;
75
76 MCAPI ::Vec3 _chooseRandomPosition(::Vec3 const& mobPos, ::Random& random);
77
78 MCAPI ::Vec3 const _getSuitableTargetPosition();
79
80 MCAPI bool const _isPosCloseToSurface(
81 ::BlockSource& region,
82 ::Vec3 const& targetPos,
83 int distanceToBlocksY,
84 int distanceToBlocksXZ
85 ) const;
86 // NOLINTEND
87
88public:
89 // constructor thunks
90 // NOLINTBEGIN
91 MCAPI void* $ctor(
92 ::Mob& mob,
93 float targetXZDist,
94 float targetYDist,
95 float yOffset,
96 float surfaceXZDist,
97 float surfaceYDist,
98 bool mustReach,
99 bool randomReselect,
100 bool additionalCollisionBuffer,
101 bool navigateAroundSurface,
102 bool useHomePositionRestriction,
103 bool allowNavigatingThroughLiquids,
104 ::FloatRange floatDurationRange,
105 bool hasMoveControlFlag
106 );
107 // NOLINTEND
108
109public:
110 // virtual function thunks
111 // NOLINTBEGIN
112 MCAPI bool $canUse();
113
114 MCAPI void $tick();
115
116 MCAPI void $appendDebugInfo(::std::string& str) const;
117
118
119 // NOLINTEND
120
121public:
122 // vftables
123 // NOLINTBEGIN
124 MCNAPI static void** $vftable();
125 // NOLINTEND
126};
Definition BlockSource.h:73
static MCAPI void ** $vftable()
Definition Mob.h:57
Definition Random.h:10
Definition Vec3.h:10
Definition FloatRange.h:11