LeviLamina
Loading...
Searching...
No Matches
Agent.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/actor/agent/agent_components/Direction.h"
7
8// auto generated forward declare list
9// clang-format off
10class AABB;
11class Actor;
12class BlockSource;
13class EntityContext;
14class Vec3;
15namespace AgentComponents { struct BlockQueryResult; }
16namespace Util::Agent { struct SimulatedMoveResult; }
17// clang-format on
18
19namespace Util::Agent {
20// functions
21// NOLINTBEGIN
22MCNAPI ::AgentComponents::BlockQueryResult
23getNextBlock(::BlockSource& source, ::Vec3 curPos, float bodyRot, ::AgentComponents::Direction direction);
24
25MCNAPI ::AgentComponents::BlockQueryResult
26getNextBlockSweep(::BlockSource& source, ::Vec3 curPos, float bodyRot, ::AgentComponents::Direction direction);
27
28MCNAPI ::AgentComponents::BlockQueryResult
29getNextBlockUnfiltered(::BlockSource& source, ::Vec3 curPos, float bodyRot, ::AgentComponents::Direction direction);
30
31MCNAPI ::AgentComponents::BlockQueryResult getNextBlockUnfilteredSweep(
32 ::BlockSource& source,
33 ::Vec3 curPos,
34 float bodyRot,
35 ::AgentComponents::Direction direction
36);
37
38MCNAPI ::Vec3
39getNextPosFromDirection(::Vec3 const& startPosition, float bodyRotation, ::AgentComponents::Direction dir);
40
41MCNAPI ::Util::Agent::SimulatedMoveResult
42simulateMove(::EntityContext& entity, ::AgentComponents::Direction dir, ::Vec3 destination);
43
44MCNAPI void testForCollidableMobs(
45 ::Actor const& actor,
46 ::BlockSource& region,
47 ::AABB const& intersectTestBox,
48 ::std::vector<::AABB>& collisionAABBs
49);
50// NOLINTEND
51
52// static variables
53// NOLINTBEGIN
54MCNAPI float const& COMMAND_INTERVAL();
55
56MCNAPI float const& MOVE_EPSILON();
57// NOLINTEND
58
59} // namespace Util::Agent
Definition AABB.h:18
Definition Actor.h:103
Definition BlockSource.h:67
Definition EntityContext.h:16
Definition Vec3.h:10