18class NavigationComponent {
22 bool mAvoidDamageBlocks : 1;
23 bool mAvoidPortals : 1;
28 bool mCanPathOverLava : 1;
29 bool mCanWalkInLava : 1;
31 bool mCanOpenDoors : 1;
32 bool mCanOpenIronDoors : 1;
33 bool mCanPassDoors : 1;
35 bool mIsAmphibious : 1;
36 bool mIsFollowingRivers : 1;
37 bool mHasEndPathRadius : 1;
38 bool mHasDestination : 1;
39 ::ll::TypedStorage<4, 4, int> mTick;
40 ::ll::TypedStorage<4, 4, int> mTickTimeout;
41 ::ll::TypedStorage<4, 4, int> mLastStuckCheck;
42 ::ll::TypedStorage<4, 4, float> mEndPathRadiusSqr;
43 ::ll::TypedStorage<4, 4, float> mSpeed;
44 ::ll::TypedStorage<4, 4, float> mTerminationThreshold;
45 ::ll::TypedStorage<4, 12, ::Vec3> mLastStuckCheckPosition;
46 ::ll::TypedStorage<4, 12, ::Vec3> mTargetOffset;
47 ::ll::TypedStorage<8, 24, ::std::vector<::BlockDescriptor>> mBlocksToAvoid;
48 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PathNavigation>> mNavigation;
49 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Path>> mPath;
54 NavigationComponent& operator=(NavigationComponent
const&);
55 NavigationComponent();
60 MCAPI NavigationComponent(::NavigationComponent
const& other);
66 MCAPI
bool moveTo(
::Mob& owner, ::std::unique_ptr<::Path> newPath,
float speed);
68 MCAPI ::NavigationComponent& operator=(::NavigationComponent&&);
70 MCAPI
void setPath(::std::unique_ptr<::Path> path);
72 MCAPI ~NavigationComponent();
78 MCAPI
void* $ctor(::NavigationComponent
const& other);