LeviLamina
Loading...
Searching...
No Matches
NavigationComponent.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/pathfinder/CanJumpIntoNode.h"
7#include "mc/world/level/pathfinder/NodeType.h"
8
9// auto generated forward declare list
10// clang-format off
11class Actor;
13class BlockDescriptor;
14class BlockPos;
15class Mob;
16class Path;
17class PathNavigation;
18class Vec3;
20// clang-format on
21
23public:
24 // member variables
25 // NOLINTBEGIN
26 ::ll::TypedStorage<1, 1, bool> mAvoidDamageBlocks;
27 ::ll::TypedStorage<1, 1, bool> mAvoidPortals;
28 ::ll::TypedStorage<1, 1, bool> mAvoidSun;
29 ::ll::TypedStorage<1, 1, bool> mAvoidWater;
30 ::ll::TypedStorage<1, 1, bool> mCanBreach;
31 ::ll::TypedStorage<1, 1, bool> mCanFloat;
32 ::ll::TypedStorage<1, 1, bool> mCanPathOverLava;
33 ::ll::TypedStorage<1, 1, bool> mCanWalkInLava;
34 ::ll::TypedStorage<1, 1, bool> mCanJump;
35 ::ll::TypedStorage<1, 1, bool> mCanOpenDoors;
36 ::ll::TypedStorage<1, 1, bool> mCanOpenIronDoors;
37 ::ll::TypedStorage<1, 1, bool> mCanPassDoors;
38 ::ll::TypedStorage<1, 1, bool> mCanSink;
39 ::ll::TypedStorage<1, 1, bool> mIsAmphibious;
40 ::ll::TypedStorage<1, 1, bool> mIsFollowingRivers;
41 ::ll::TypedStorage<1, 1, bool> mHasEndPathRadius;
42 ::ll::TypedStorage<1, 1, bool> mHasDestination;
43 ::ll::TypedStorage<4, 4, int> mTick;
44 ::ll::TypedStorage<4, 4, int> mTickTimeout;
45 ::ll::TypedStorage<4, 4, int> mLastStuckCheck;
46 ::ll::TypedStorage<4, 4, float> mEndPathRadiusSqr;
47 ::ll::TypedStorage<4, 4, float> mSpeed;
48 ::ll::TypedStorage<4, 4, float> mTerminationThreshold;
49 ::ll::TypedStorage<4, 12, ::Vec3> mLastStuckCheckPosition;
50 ::ll::TypedStorage<4, 12, ::Vec3> mTargetOffset;
51 ::ll::TypedStorage<8, 24, ::std::vector<::BlockDescriptor>> mBlocksToAvoid;
52 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PathNavigation>> mNavigation;
53 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Path>> mPath;
54 // NOLINTEND
55
56public:
57 // prevent constructor by default
60
61public:
62 // member functions
63 // NOLINTBEGIN
64 MCAPI void initMultiTypeNavigationComponent(::Mob& entity, ::ActorDefinitionDescriptor& initDescription);
65
66 MCAPI void initializeFromDefinition(::Mob& owner, ::NavigationDescription* description);
67
68 MCAPI ::NodeType isFree(
69 ::Mob& owner,
70 ::BlockPos const& lastPathPos,
71 ::BlockPos const& testPos,
72 ::BlockPos const& size,
73 ::CanJumpIntoNode jumpIntoNode
74 );
75
76 MCAPI bool moveTo(::Mob& owner, ::std::unique_ptr<::Path> newPath, float speed);
77
78 MCAPI bool moveTo(::Mob& owner, ::Actor& target, float speed);
79
80 MCAPI ::NavigationComponent& operator=(::NavigationComponent&&);
81
83 // NOLINTEND
84
85public:
86 // destructor thunk
87 // NOLINTBEGIN
88 MCAPI void $dtor();
89 // NOLINTEND
90};
Definition ActorDefinitionDescriptor.h:12
Definition Actor.h:104
Definition BlockDescriptor.h:19
Definition BlockPos.h:18
Definition Mob.h:47
Definition NavigationComponent.h:22
Definition PathNavigation.h:17
Definition Path.h:16
Definition Vec3.h:10
Definition NavigationDescription.h:13