LeviLamina
Loading...
Searching...
No Matches
DimensionTransitionSystem.h
1
#pragma once
2
3
#include "mc/_HeaderOutputPredefine.h"
4
5
// auto generated inclusion list
6
#include "mc/deps/ecs/ViewT.h"
7
#include "mc/deps/ecs/strict/EntityModifier.h"
8
#include "mc/deps/ecs/strict/Exclude.h"
9
#include "mc/deps/ecs/strict/Include.h"
10
11
// auto generated forward declare list
12
// clang-format off
13
class
ActorOwnerComponent
;
14
class
ChangeDimensionRequest
;
15
class
DimensionStateComponent
;
16
class
Player
;
17
class
StrictEntityContext
;
18
struct
DimensionTransitionComponent
;
19
struct
ExitFromPassengerFlagComponent
;
20
struct
PassengerComponent
;
21
struct
PlayerChangeDimensionRequestComponent
;
22
struct
PlayerComponent
;
23
struct
StateVectorComponent
;
24
struct
StopRidingRequestComponent
;
25
struct
TickingSystemWithInfo
;
26
struct
VehicleComponent
;
27
// clang-format on
28
29
class
DimensionTransitionSystem
{
30
public
:
31
// DimensionTransitionSystem inner types define
32
using
DimensionRequestHandler = ::std::function<bool(
::Player
&,
::ChangeDimensionRequest
&)>;
33
34
using
IsSuspended = ::std::function<bool(
::Player
&)>;
35
36
public
:
37
// static functions
38
// NOLINTBEGIN
39
MCAPI
static
void
_tickPortalTransition(
40
::ViewT
<
41
::StrictEntityContext
,
42
::Exclude<::PassengerComponent, ::VehicleComponent>
,
43
::ActorOwnerComponent
,
44
::DimensionTransitionComponent
const
> view,
45
::EntityModifier<::DimensionTransitionComponent>
mod
46
);
47
48
MCAPI
static
void
_tickReadyToContinueServer(
49
::ViewT
<
50
::StrictEntityContext
,
51
::Exclude<::PassengerComponent, ::VehicleComponent, ::DimensionTransitionComponent>
,
52
::PlayerChangeDimensionRequestComponent
> view
53
);
54
55
MCAPI
static
void
_tickVehicleDismount(
56
::ViewT
<
::StrictEntityContext
,
::Include<::PlayerChangeDimensionRequestComponent, ::PassengerComponent>
>
57
passengers,
58
::ViewT
<
::StrictEntityContext
,
::Include<::PlayerChangeDimensionRequestComponent>
,
::VehicleComponent
const
>
59
vehicles,
60
::EntityModifier<::StopRidingRequestComponent, ::ExitFromPassengerFlagComponent>
modifier
61
);
62
63
MCAPI static ::TickingSystemWithInfo createPortalTransition();
64
65
MCAPI static ::TickingSystemWithInfo createVehicleDismount();
66
67
MCAPI
static
void
requestPlayerChangeDimension(
68
::StrictEntityContext
const
& player,
69
::ChangeDimensionRequest
&& request,
70
::ViewT<::StrictEntityContext, ::DimensionStateComponent, ::StateVectorComponent>
playerData,
71
::EntityModifier<::PlayerChangeDimensionRequestComponent>
modifier
72
);
73
74
MCAPI
static
void
tryHandleChangeDimensionRequestLevel(
75
::ViewT
<
76
::StrictEntityContext
,
77
::Include<::PlayerComponent>
,
78
::PlayerChangeDimensionRequestComponent
,
79
::ActorOwnerComponent
> requests,
80
::EntityModifier<::PlayerChangeDimensionRequestComponent>
modifier,
81
::std::function<
bool
(
::Player
&,
::ChangeDimensionRequest
&)>
const
& callback,
82
::std::function<
bool
(
::Player
&)>
const
& isSuspended
83
);
84
// NOLINTEND
85
};
ActorOwnerComponent
Definition
ActorOwnerComponent.h:10
ChangeDimensionRequest
Definition
ChangeDimensionRequest.h:15
DimensionStateComponent
Definition
DimensionStateComponent.h:5
DimensionTransitionSystem
Definition
DimensionTransitionSystem.h:29
EntityModifier
Definition
EntityModifier.h:6
Player
Definition
Player.h:120
StrictEntityContext
Definition
StrictEntityContext.h:8
ViewT
Definition
ViewT.h:6
DimensionTransitionComponent
Definition
DimensionTransitionComponent.h:15
Exclude
Definition
Exclude.h:6
ExitFromPassengerFlagComponent
Definition
ExitFromPassengerFlagComponent.h:5
Include
Definition
Include.h:6
PassengerComponent
Definition
PassengerComponent.h:8
PlayerChangeDimensionRequestComponent
Definition
PlayerChangeDimensionRequestComponent.h:8
PlayerComponent
Definition
PlayerComponent.h:5
StateVectorComponent
Definition
StateVectorComponent.h:8
StopRidingRequestComponent
Definition
StopRidingRequestComponent.h:5
TickingSystemWithInfo
Definition
TickingSystemWithInfo.h:13
VehicleComponent
Definition
VehicleComponent.h:10
src
mc
entity
systems
DimensionTransitionSystem.h
Generated on Wed Aug 27 2025 11:39:45 for LeviLamina by
1.12.0