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/Goal.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 ::Goal {
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
53 virtual ~FloatWanderGoal() /*override*/ = default;
54 // NOLINTEND
55
56public:
57 // member functions
58 // NOLINTBEGIN
59 MCAPI bool _canReach(::Vec3 const& targetPos, float dist) const;
60
61 MCAPI ::Vec3 _chooseRandomPosition(::Vec3 const& mobPos, ::Random& random);
62
63 MCAPI ::Vec3 const _getSuitableTargetPosition();
64
65 MCAPI bool const _isPosCloseToSurface(
66 ::BlockSource& region,
67 ::Vec3 const& targetPos,
68 int distanceToBlocksY,
69 int distanceToBlocksXZ
70 ) const;
71 // NOLINTEND
72
73public:
74 // virtual function thunks
75 // NOLINTBEGIN
76 MCAPI bool $canUse();
77
78 MCAPI void $tick();
79
80 MCAPI void $appendDebugInfo(::std::string& str) const;
81
82
83 // NOLINTEND
84
85public:
86 // vftables
87 // NOLINTBEGIN
88 MCNAPI static void** $vftable();
89 // NOLINTEND
90};
Definition BlockSource.h:68
static MCAPI void ** $vftable()
Definition Goal.h:14
Definition Mob.h:50
Definition Random.h:10
Definition Vec3.h:10