LeviLamina
Loading...
Searching...
No Matches
PathNavigation.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated forward declare list
6// clang-format off
7class Actor;
8class BlockSource;
9class Mob;
11class Path;
12class Vec2;
13class Vec3;
15// clang-format on
16
18public:
19 // virtual functions
20 // NOLINTBEGIN
21 virtual ~PathNavigation() = default;
22
23 virtual void initializeInternal(::Mob& mob, ::NavigationDescription* description);
24
25 virtual void tick(::NavigationComponent& parent, ::Mob& mob);
26
27 virtual ::Vec3 getTempMobPos(::Mob const& mob) const;
28
29 virtual ::std::unique_ptr<::Path> createPath(::NavigationComponent& parent, ::Mob& mob, ::Vec3 const& pos);
30
31 virtual ::std::unique_ptr<::Path> createPath(::NavigationComponent& parent, ::Mob& mob, ::Actor const& target);
32
33 virtual bool moveTo(::NavigationComponent& parent, ::Mob& mob, ::Vec3 const& pos, float speed);
34
35 virtual bool moveTo(::NavigationComponent& parent, ::Mob& mob, ::Actor const& target, float speed);
36
37 virtual bool moveTo(::NavigationComponent& parent, ::Mob& mob, ::std::unique_ptr<::Path> newPath, float speed);
38
39 virtual void stop(::NavigationComponent& parent, ::Mob& mob);
40
41 virtual bool travel(::NavigationComponent& parent, ::Mob& mob, float& xa, float& ya, float& za);
42
43 virtual bool canUpdatePath(::Mob const& mob) const;
44
45 virtual void updatePath(::NavigationComponent& parent, ::Mob& mob);
46 // NOLINTEND
47
48public:
49 // member functions
50 // NOLINTBEGIN
51 MCAPI float _getHighestBlockHeight(::BlockSource& region, ::Mob& mob, ::Vec3 const& pos, ::Vec2 const& aabb) const;
52
53 MCAPI bool _isPositionOnlyInAir(::BlockSource const& region, ::Vec3 const& pos, ::Vec2 const& aabb) const;
54 // NOLINTEND
55
56public:
57 // virtual function thunks
58 // NOLINTBEGIN
59 MCAPI void $initializeInternal(::Mob& mob, ::NavigationDescription* description);
60
61 MCAPI void $tick(::NavigationComponent& parent, ::Mob& mob);
62
63 MCAPI ::Vec3 $getTempMobPos(::Mob const& mob) const;
64
65 MCAPI ::std::unique_ptr<::Path> $createPath(::NavigationComponent& parent, ::Mob& mob, ::Vec3 const& pos);
66
67 MCFOLD ::std::unique_ptr<::Path> $createPath(::NavigationComponent& parent, ::Mob& mob, ::Actor const& target);
68
69 MCAPI bool $moveTo(::NavigationComponent& parent, ::Mob& mob, ::Vec3 const& pos, float speed);
70
71 MCAPI bool $moveTo(::NavigationComponent& parent, ::Mob& mob, ::Actor const& target, float speed);
72
73 MCAPI bool $moveTo(::NavigationComponent& parent, ::Mob& mob, ::std::unique_ptr<::Path> newPath, float speed);
74
75 MCFOLD void $stop(::NavigationComponent& parent, ::Mob& mob);
76
77 MCFOLD bool $travel(::NavigationComponent& parent, ::Mob& mob, float& xa, float& ya, float& za);
78
79 MCAPI bool $canUpdatePath(::Mob const& mob) const;
80
81 MCAPI void $updatePath(::NavigationComponent& parent, ::Mob& mob);
82
83
84 // NOLINTEND
85
86public:
87 // vftables
88 // NOLINTBEGIN
89 MCNAPI static void** $vftable();
90 // NOLINTEND
91};
Definition Actor.h:105
Definition BlockSource.h:68
Definition Mob.h:50
Definition NavigationComponent.h:19
Definition PathNavigation.h:17
static MCAPI void ** $vftable()
Definition Path.h:16
Definition Vec2.h:5
Definition Vec3.h:10
Definition NavigationDescription.h:13