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
22MCAPI ::AgentComponents::BlockQueryResult
23getNextBlock(::BlockSource& source, ::Vec3 curPos, float bodyRot, ::AgentComponents::Direction direction);
24
25MCAPI ::AgentComponents::BlockQueryResult
26getNextBlockSweep(::BlockSource& source, ::Vec3 curPos, float bodyRot, ::AgentComponents::Direction direction);
27
28MCAPI ::AgentComponents::BlockQueryResult
29getNextBlockUnfiltered(::BlockSource& source, ::Vec3 curPos, float bodyRot, ::AgentComponents::Direction direction);
30
31MCAPI ::AgentComponents::BlockQueryResult getNextBlockUnfilteredSweep(
32 ::BlockSource& source,
33 ::Vec3 curPos,
34 float bodyRot,
35 ::AgentComponents::Direction direction
36);
37
38MCAPI ::Vec3 getNextPosFromDirection(::Vec3 const& startPosition, float bodyRotation, ::AgentComponents::Direction dir);
39
40MCAPI ::Util::Agent::SimulatedMoveResult
41simulateMove(::EntityContext& entity, ::AgentComponents::Direction dir, ::Vec3 destination);
42
43MCAPI void testForCollidableMobs(
44 ::Actor const& actor,
45 ::BlockSource& region,
46 ::AABB const& intersectTestBox,
47 ::std::vector<::AABB>& collisionAABBs
48);
49// NOLINTEND
50
51// static variables
52// NOLINTBEGIN
53MCAPI float const& COMMAND_INTERVAL();
54
55MCAPI float const& MOVE_EPSILON();
56// NOLINTEND
57
58} // namespace Util::Agent
Definition AABB.h:16
Definition Actor.h:104
Definition BlockSource.h:67
Definition EntityContext.h:16
Definition Vec3.h:10