Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
MoveControl.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/actor/ai/control/Control.h"
7
8// auto generated forward declare list
9// clang-format off
10class Mob;
12class Vec3;
13namespace SharedTypes::v1_26_60 { struct MoveControlComponentDefinition; }
14// clang-format on
15
16class MoveControl : public ::Control {
17public:
18 // virtual functions
19 // NOLINTBEGIN
20 virtual ~MoveControl() /*override*/ = default;
21
22 virtual void
23 initializeInternal(::Mob& mob, ::SharedTypes::v1_26_60::MoveControlComponentDefinition const* description);
24
25 virtual void tick(::MoveControlComponent& parent, ::Mob& mob);
26
27 virtual void setWantedPosition(::MoveControlComponent& parent, ::Mob& mob, ::Vec3 const& pos, float speed);
28 // NOLINTEND
29
30public:
31 // static functions
32 // NOLINTBEGIN
33 MCNAPI static float calculateMoveSpeed(
34 ::MoveControlComponent const& parent,
35 ::Mob& mob,
36 ::Vec3 const& endPosition,
37 float const maxMoveSpeed
38 );
39
40 MCNAPI static float calculateYRotation(
41 ::MoveControlComponent const& parent,
42 ::Mob const& mob,
43 ::Vec3 const& positionDifference,
44 float const maxMoveSpeed
45 );
46
47 MCNAPI static bool
48 shouldSlowSpeed(::MoveControlComponent const& parent, ::Mob const& mob, float const endDistanceSqr);
49 // NOLINTEND
50
51public:
52 // virtual function thunks
53 // NOLINTBEGIN
54 MCNAPI void
56
57 MCNAPI void $tick(::MoveControlComponent& parent, ::Mob& mob);
58
59 MCNAPI void $setWantedPosition(::MoveControlComponent& parent, ::Mob& mob, ::Vec3 const& pos, float speed);
60
61
62 // NOLINTEND
63
64public:
65 // vftables
66 // NOLINTBEGIN
67 MCNAPI static void** $vftable();
68 // NOLINTEND
69};
Definition Control.h:5
Definition Mob.h:58
Definition MoveControlComponent.h:15
Definition MoveControl.h:16
static MCAPI bool shouldSlowSpeed(::MoveControlComponent const &parent, ::Mob const &mob, float const endDistanceSqr)
static MCAPI float calculateMoveSpeed(::MoveControlComponent const &parent, ::Mob &mob, ::Vec3 const &endPosition, float const maxMoveSpeed)
static MCAPI float calculateYRotation(::MoveControlComponent const &parent, ::Mob const &mob, ::Vec3 const &positionDifference, float const maxMoveSpeed)
MCAPI void $initializeInternal(::Mob &mob, ::SharedTypes::v1_26_60::MoveControlComponentDefinition const *description)
static MCAPI void ** $vftable()
MCAPI void $setWantedPosition(::MoveControlComponent &parent, ::Mob &mob, ::Vec3 const &pos, float speed)
MCAPI void $tick(::MoveControlComponent &parent, ::Mob &mob)
Definition Vec3.h:10
Definition MoveControlComponentDefinition.h:7