3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/entity/utilities/leashable_utility/UnleashReason.h"
7#include "mc/platform/brstd/flat_set.h"
8#include "mc/platform/brstd/function_ref.h"
9#include "mc/world/item/HandSlot.h"
22namespace LeashableUtility {
25MCNAPI ::Interaction attemptCutInteraction(::Actor& owner, ::Player& player, ::HandSlot handSlot);
27MCNAPI
bool canLeashBeStolen(::Actor& actor);
29MCNAPI
bool canStayLeashedTo(::Actor
const& actor, ::Actor
const& leashHolder,
float maxDistance);
31MCNAPI
void forEachLeashedActor(::Actor
const& leashHolder, ::brstd::function_ref<
void(::Actor&)> callback);
33MCNAPI
float getDistanceSquared(::Actor
const& actor, ::Vec3
const& position);
35MCNAPI uint getLeashedActorCount(::Actor
const& leashHolder);
37MCNAPI ::LeashablePreset
const&
38getPreset(::Actor
const& leashedActor, ::LeashableComponent
const& leashableComponent, ::Actor
const* leashHolder);
40MCNAPI
bool isAboveHardDistance(::Actor
const& actor);
42MCAPI
void leash(::Actor& entityToLeash, ::Actor& leashHolder,
bool emitGameEvent,
bool executeEntityEvent);
44MCNAPI
void onLeashHolderSet(::ActorUniqueID
const& newLeashHolderID, ::Actor& actor);
46MCNAPI
bool tryTransferLeashedActors(
47 ::brstd::flat_set<::ActorUniqueID, ::std::less<::ActorUniqueID>, ::std::vector<::ActorUniqueID>>
const&
49 ::Actor& newLeashHolder
52MCAPI
void unleash(::Actor& entityToUnleash, ::LeashableUtility::UnleashReason unleashReason);
Definition Interaction.h:9
Definition LeashableComponent.h:17
Definition ActorUniqueID.h:5
Definition LeashablePreset.h:9