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;
15class Player;
16struct ActorUniqueID;
17struct LeashablePreset;
18// clang-format on
19
20namespace LeashableUtility {
21// functions
22// NOLINTBEGIN
23MCNAPI ::InteractionResult attemptCutInteraction(::Actor& owner, ::Player& player, ::ActorInteraction& interaction);
24
25MCNAPI bool canStayLeashedTo(::Actor const& actor, ::Actor const& leashHolder, float maxDistance);
26
27MCNAPI ::std::vector<::gsl::not_null<::Actor*>> getCuttableLeashedActors(::Actor& actor, ::Player const* player);
28
29MCNAPI ::LeashablePreset const&
30getPreset(::Actor const& leashedActor, ::LeashableComponent const& leashableComponent, ::Actor const* leashHolder);
31
32MCNAPI bool isAboveHardDistance(::Actor const& actor);
33
34MCNAPI void leash(::Actor& entityToLeash, ::Actor& leashHolder, bool emitGameEvent, bool executeEntityEvent);
35
36MCNAPI void onLeashHolderSet(::ActorUniqueID const& newLeashHolderID, ::Actor& actor);
37
38MCNAPI bool tryTransferLeashedActors(
39 ::brstd::flat_set<::ActorUniqueID, ::std::less<::ActorUniqueID>, ::std::vector<::ActorUniqueID>> const&
40 leashedActorIDs,
41 ::Actor& newLeashHolder
42);
43
44MCNAPI void unleash(::Actor& entityToUnleash, ::LeashableUtility::UnleashReason unleashReason);
45// NOLINTEND
46
47} // namespace LeashableUtility
Definition ActorInteraction.h:8
Definition Actor.h:106
Definition InteractionResult.h:5
Definition LeashableComponent.h:13
Definition Player.h:129
Definition ActorUniqueID.h:5
Definition LeashablePreset.h:9