LeviLamina
Loading...
Searching...
No Matches
PathNavigation.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;
12class BlockPos;
13class BlockSource;
14class Mob;
16class Path;
17class Vec2;
18class Vec3;
20// clang-format on
21
23public:
24 // virtual functions
25 // NOLINTBEGIN
26 virtual ~PathNavigation();
27
28 virtual void initializeInternal(::Mob& mob, ::NavigationDescription const* description);
29
30 virtual void tick(::NavigationComponent& parent, ::Mob& mob);
31
32 virtual ::Vec3 getTempMobPos(::Mob const& mob) const;
33
34 virtual ::std::unique_ptr<::Path> createPath(::NavigationComponent& parent, ::Mob& mob, ::Vec3 const& pos);
35
36 virtual ::std::unique_ptr<::Path> createPath(::NavigationComponent& parent, ::Mob& mob, ::Actor const& target);
37
38 virtual bool moveTo(::NavigationComponent& parent, ::Mob& mob, ::Vec3 const& pos, float speed);
39
40 virtual bool moveTo(::NavigationComponent& parent, ::Mob& mob, ::Actor const& target, float speed);
41
42 virtual bool moveTo(::NavigationComponent& parent, ::Mob& mob, ::std::unique_ptr<::Path> newPath, float speed);
43
44 virtual void stop(::NavigationComponent& parent, ::Mob& mob);
45
46 virtual bool travel(::NavigationComponent& parent, ::Mob& mob, float& xa, float& ya, float& za);
47
48 virtual bool canUpdatePath(::Mob const& mob) const;
49
50 virtual void updatePath(::NavigationComponent& parent, ::Mob& mob);
51 // NOLINTEND
52
53public:
54 // member functions
55 // NOLINTBEGIN
56 MCAPI float _getHighestBlockHeight(::BlockSource& region, ::Mob& mob, ::Vec3 const& pos, ::Vec2 const& aabb) const;
57
58 MCAPI bool _isPositionOnlyInAir(::BlockSource const& region, ::Vec3 const& pos, ::Vec2 const& aabb) const;
59
60 MCAPI ::NodeType isFree(
62 ::Mob& mob,
63 ::BlockPos const& lastPathPos,
64 ::BlockPos const& testPos,
65 ::BlockPos const& size,
66 ::CanJumpIntoNode jumpIntoNode
67 );
68 // NOLINTEND
69
70public:
71 // destructor thunk
72 // NOLINTBEGIN
73 MCFOLD void $dtor();
74 // NOLINTEND
75
76public:
77 // virtual function thunks
78 // NOLINTBEGIN
79 MCAPI void $initializeInternal(::Mob& mob, ::NavigationDescription const* description);
80
81 MCAPI void $tick(::NavigationComponent& parent, ::Mob& mob);
82
83 MCAPI ::Vec3 $getTempMobPos(::Mob const& mob) const;
84
85 MCFOLD ::std::unique_ptr<::Path> $createPath(::NavigationComponent& parent, ::Mob& mob, ::Vec3 const& pos);
86
87 MCFOLD ::std::unique_ptr<::Path> $createPath(::NavigationComponent& parent, ::Mob& mob, ::Actor const& target);
88
89 MCAPI bool $moveTo(::NavigationComponent& parent, ::Mob& mob, ::Vec3 const& pos, float speed);
90
91 MCAPI bool $moveTo(::NavigationComponent& parent, ::Mob& mob, ::Actor const& target, float speed);
92
93 MCAPI bool $moveTo(::NavigationComponent& parent, ::Mob& mob, ::std::unique_ptr<::Path> newPath, float speed);
94
95 MCAPI void $stop(::NavigationComponent& parent, ::Mob& mob);
96
97 MCFOLD bool $travel(::NavigationComponent& parent, ::Mob& mob, float& xa, float& ya, float& za);
98
99 MCAPI bool $canUpdatePath(::Mob const& mob) const;
100
101 MCAPI void $updatePath(::NavigationComponent& parent, ::Mob& mob);
102
103
104 // NOLINTEND
105
106public:
107 // vftables
108 // NOLINTBEGIN
109 MCNAPI static void** $vftable();
110 // NOLINTEND
111};
Definition Actor.h:125
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition Mob.h:57
Definition NavigationComponent.h:22
Definition PathNavigation.h:22
static MCAPI void ** $vftable()
Definition Path.h:16
Definition Vec2.h:5
Definition Vec3.h:10
Definition NavigationDescription.h:14