LeviLamina
Loading...
Searching...
No Matches
MoveToBlockGoal.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/TargetSelectionMethod.h"
8#include "mc/world/actor/ActorFilterGroup.h"
9#include "mc/world/actor/ai/goal/BaseGoal.h"
10#include "mc/world/level/BlockPos.h"
11
12// auto generated forward declare list
13// clang-format off
15class BlockSource;
16class ItemDescriptor;
17class Mob;
18// clang-format on
19
20class MoveToBlockGoal : public ::BaseGoal {
21public:
22 // member variables
23 // NOLINTBEGIN
24 ::ll::TypedStorage<4, 4, int> mGiveUpTicks;
25 ::ll::TypedStorage<4, 4, int> mStayDurationTicks;
26 ::ll::TypedStorage<4, 4, float> mSpeedMod;
27 ::ll::TypedStorage<4, 4, float> mGoalRadiusSq;
28 ::ll::TypedStorage<4, 12, ::BlockPos> mTargetBlockPos;
29 ::ll::TypedStorage<4, 12, ::Vec3> mTargetPositionOffset;
30 ::ll::TypedStorage<4, 4, float> mChanceToStart;
31 ::ll::TypedStorage<4, 4, int> mInterval;
32 ::ll::TypedStorage<4, 4, int> mSearchRange;
33 ::ll::TypedStorage<4, 4, int> mSearchHeight;
34 ::ll::TypedStorage<1, 1, ::TargetSelectionMethod const> mMethod;
35 ::ll::TypedStorage<8, 24, ::std::vector<::ActorDefinitionTrigger> const> mOnReachTriggers;
36 ::ll::TypedStorage<8, 24, ::std::vector<::ActorDefinitionTrigger> const> mOnStayCompletedTriggers;
37 ::ll::TypedStorage<8, 24, ::std::vector<::ItemDescriptor> const> mTargetBlockDescriptors;
38 ::ll::TypedStorage<8, 8, uint64> mCooldownCounter;
39 ::ll::TypedStorage<8, 8, uint64 const> mCooldownTimeoutTime;
40 ::ll::TypedStorage<1, 1, bool> mReachedTarget;
41 ::ll::TypedStorage<4, 4, int> mNextStartTick;
42 ::ll::TypedStorage<4, 4, int> mStayTicks;
43 ::ll::TypedStorage<4, 4, int> mTravelTicks;
44 ::ll::TypedStorage<4, 12, ::BlockPos> mStartPos;
45 ::ll::TypedStorage<8, 8, ::Mob&> mMob;
46 ::ll::TypedStorage<1, 1, bool> mHasSentOnReachEvent;
47 ::ll::TypedStorage<8, 64, ::ActorFilterGroup> mTargetBlockFilter;
48 // NOLINTEND
49
50public:
51 // prevent constructor by default
52 MoveToBlockGoal& operator=(MoveToBlockGoal const&);
53 MoveToBlockGoal(MoveToBlockGoal const&);
54 MoveToBlockGoal();
55
56public:
57 // virtual functions
58 // NOLINTBEGIN
59 virtual bool canUse() /*override*/;
60
61 virtual bool canContinueToUse() /*override*/;
62
63 virtual void tick() /*override*/;
64
65 virtual void appendDebugInfo(::std::string& str) const /*override*/;
66
67 virtual void start() /*override*/;
68
69 virtual void stop() /*override*/;
70 // NOLINTEND
71
72public:
73 // member functions
74 // NOLINTBEGIN
75 MCAPI bool _findTargetBlock();
76
77 MCAPI bool _isValidTarget(::BlockSource& region, ::BlockPos& pos) const;
78
79 MCAPI void _moveToBlock();
80 // NOLINTEND
81
82public:
83 // virtual function thunks
84 // NOLINTBEGIN
85 MCAPI bool $canUse();
86
87 MCAPI bool $canContinueToUse();
88
89 MCAPI void $tick();
90
91 MCAPI void $appendDebugInfo(::std::string& str) const;
92
93 MCAPI void $start();
94
95 MCAPI void $stop();
96
97
98 // NOLINTEND
99};
Definition ActorDefinitionTrigger.h:14
Definition BaseGoal.h:12
Definition BlockPos.h:21
Definition BlockSource.h:71
Definition ItemDescriptor.h:25
Definition Mob.h:55