LeviLamina
Loading...
Searching...
No Matches
VehicleUtils.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated forward declare list
6// clang-format off
7class Actor;
9class Block;
10class BlockPos;
12class Vec3;
13struct ActorUniqueID;
14namespace VehicleUtils { struct VehicleDirections; }
15// clang-format on
16
17namespace VehicleUtils {
18// functions
19// NOLINTBEGIN
20MCAPI bool arePassengersOfSameActor(::Actor const& maybePassenger1, ::Actor const& maybePassenger2);
21
22MCAPI ::std::optional<float> calculateBlockFloorHeight(::IConstBlockSource const& region, ::BlockPos const& blockPos);
23
24MCAPI ::VehicleUtils::VehicleDirections calculateVehicleDirections(::Vec3 const& currentPos, ::Vec3 const& prevPos);
25
26MCAPI auto getActivatorRailExitPatternStrategy(::BaseGameVersion const& version) -> ::std::optional<::Vec3> (*)(
27 ::VehicleUtils::VehicleDirections const&,
28 ::std::function<bool(::Vec3 const&, ::Vec3 const&)>
29);
30
31MCAPI auto getActorExitPatternStrategy(::BaseGameVersion const& version) -> ::std::optional<::Vec3> (*)(
32 ::VehicleUtils::VehicleDirections const&,
33 ::std::function<bool(::Vec3 const&, ::Vec3 const&)>
34);
35
36MCAPI bool ignoredExitCollisionBlock(::Block const& block);
37
38MCAPI bool isPassengerOfActor(::Actor const& maybePassenger, ::ActorUniqueID const& actorID);
39
40MCAPI bool isVehicleOfActor(::Actor const& maybeVehicle, ::ActorUniqueID const& actorID);
41
42MCAPI ::std::optional<::Vec3> testPosFollowingEjectPattern(
43 ::VehicleUtils::VehicleDirections const& vehicleDirections,
44 ::std::function<bool(::Vec3 const&, ::Vec3 const&)> callback
45);
46
47MCAPI ::std::optional<::Vec3> testPosFollowingLegacyActivatorRailPattern(
48 ::VehicleUtils::VehicleDirections const& vehicleDirections,
49 ::std::function<bool(::Vec3 const&, ::Vec3 const&)> callback
50);
51
52MCAPI ::std::optional<::Vec3> testPosFollowingLegacyActorPattern(
53 ::VehicleUtils::VehicleDirections const& callback,
54 ::std::function<bool(::Vec3 const&, ::Vec3 const&)>
55);
56// NOLINTEND
57
58} // namespace VehicleUtils
Definition Actor.h:125
Definition BaseGameVersion.h:13
Definition BlockPos.h:21
Definition Block.h:69
Definition IConstBlockSource.h:24
Definition Vec3.h:10
Definition ActorUniqueID.h:10
Definition VehicleDirections.h:10