LeviLamina
Loading...
Searching...
No Matches
LeashableUtility.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/entity/utilities/leashable_utility/UnleashReason.h"
7#include "mc/platform/brstd/flat_set.h"
8
9// auto generated forward declare list
10// clang-format off
11class Actor;
14class Player;
15struct ActorUniqueID;
16struct LeashablePreset;
17// clang-format on
18
19namespace LeashableUtility {
20// functions
21// NOLINTBEGIN
22MCNAPI bool attemptCutInteraction(::Actor& owner, ::Player& player, ::ActorInteraction& interaction);
23
24MCNAPI bool canStayLeashedTo(::Actor const& actor, ::Actor const& leashHolder, float maxDistance);
25
26MCNAPI ::std::vector<::gsl::not_null<::Actor*>> getCuttableLeashedActors(::Actor& actor, ::Player const* player);
27
28MCNAPI float getDistanceSquared(::Actor const& actor1, ::Actor const& actor2);
29
30MCNAPI ::LeashablePreset const&
31getPreset(::Actor const& leashedActor, ::LeashableComponent const& leashableComponent, ::Actor const* leashHolder);
32
33MCNAPI bool isBeingPulledByLeash(::Actor const& actor);
34
35MCNAPI void leash(::Actor& entityToLeash, ::Actor& leashHolder, bool emitGameEvent, bool executeEntityEvent);
36
37MCNAPI void onLeashHolderSet(::ActorUniqueID const& newLeashHolderID, ::Actor& actor);
38
39MCNAPI bool tryTransferLeashedActors(
40 ::brstd::flat_set<::ActorUniqueID, ::std::less<::ActorUniqueID>, ::std::vector<::ActorUniqueID>> const&
41 leashedActorIDs,
42 ::Actor& newLeashHolder
43);
44
45MCNAPI void unleash(::Actor& entityToUnleash, ::LeashableUtility::UnleashReason unleashReason);
46// NOLINTEND
47
48} // namespace LeashableUtility
Definition ActorInteraction.h:5
Definition Actor.h:103
Definition LeashableComponent.h:13
Definition Player.h:120
Definition flat_set.h:8
Definition ActorUniqueID.h:5
Definition LeashablePreset.h:5