Skip to content
LeviMC
English
AutoLightDark
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 const* 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 // static functions
50 // NOLINTBEGIN
51 MCNAPI static float
52 _getHighestBlockHeight(::BlockSource& region, ::Mob& mob, ::Vec3 const& pos, ::Vec2 const& aabb);
53
54 MCNAPI static bool _isPositionOnlyInAir(::BlockSource const& region, ::Vec3 const& pos, ::Vec2 const& aabb);
55 // NOLINTEND
56
57public:
58 // virtual function thunks
59 // NOLINTBEGIN
60 MCNAPI void $initializeInternal(::Mob& mob, ::NavigationDescription const* description);
61
62 MCNAPI void $tick(::NavigationComponent& parent, ::Mob& mob);
63
64 MCNAPI ::Vec3 $getTempMobPos(::Mob const& mob) const;
65
66 MCNAPI ::std::unique_ptr<::Path> $createPath(::NavigationComponent& parent, ::Mob& mob, ::Vec3 const& pos);
67
68 MCNAPI ::std::unique_ptr<::Path> $createPath(::NavigationComponent& parent, ::Mob& mob, ::Actor const& target);
69
70 MCNAPI bool $moveTo(::NavigationComponent& parent, ::Mob& mob, ::Vec3 const& pos, float speed);
71
72 MCNAPI bool $moveTo(::NavigationComponent& parent, ::Mob& mob, ::Actor const& target, float speed);
73
74 MCNAPI bool $moveTo(::NavigationComponent& parent, ::Mob& mob, ::std::unique_ptr<::Path> newPath, float speed);
75
76 MCNAPI void $stop(::NavigationComponent& parent, ::Mob& mob);
77
78 MCNAPI bool $travel(::NavigationComponent& parent, ::Mob& mob, float& xa, float& ya, float& za);
79
80 MCNAPI bool $canUpdatePath(::Mob const& mob) const;
81
82 MCNAPI void $updatePath(::NavigationComponent& parent, ::Mob& mob);
83
84
85 // NOLINTEND
86
87public:
88 // vftables
89 // NOLINTBEGIN
90 MCNAPI static void** $vftable();
91 // NOLINTEND
92};
Definition Actor.h:116
Definition BlockSource.h:72
Definition Mob.h:58
Definition NavigationComponent.h:18
Definition PathNavigation.h:17
static MCAPI float _getHighestBlockHeight(::BlockSource &region, ::Mob &mob, ::Vec3 const &pos, ::Vec2 const &aabb)
MCAPI void $updatePath(::NavigationComponent &parent, ::Mob &mob)
MCAPI::Vec3 $getTempMobPos(::Mob const &mob) const
MCAPI void $stop(::NavigationComponent &parent, ::Mob &mob)
MCAPI bool $moveTo(::NavigationComponent &parent, ::Mob &mob, ::Vec3 const &pos, float speed)
MCAPI bool $moveTo(::NavigationComponent &parent, ::Mob &mob, ::std::unique_ptr<::Path > newPath, float speed)
static MCAPI void ** $vftable()
MCAPI bool $moveTo(::NavigationComponent &parent, ::Mob &mob, ::Actor const &target, float speed)
MCAPI bool $travel(::NavigationComponent &parent, ::Mob &mob, float &xa, float &ya, float &za)
MCAPI void $tick(::NavigationComponent &parent, ::Mob &mob)
MCAPI bool $canUpdatePath(::Mob const &mob) const
MCAPI ::std::unique_ptr<::Path > $createPath(::NavigationComponent &parent, ::Mob &mob, ::Vec3 const &pos)
static MCAPI bool _isPositionOnlyInAir(::BlockSource const &region, ::Vec3 const &pos, ::Vec2 const &aabb)
MCAPI ::std::unique_ptr<::Path > $createPath(::NavigationComponent &parent, ::Mob &mob, ::Actor const &target)
MCAPI void $initializeInternal(::Mob &mob, ::NavigationDescription const *description)
Definition Path.h:16
Definition Vec2.h:5
Definition Vec3.h:10
Definition NavigationDescription.h:14