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
_tickVehicleDismount(
49
::ViewT
<
::StrictEntityContext
,
::Include<::PlayerChangeDimensionRequestComponent, ::PassengerComponent>
>
50
passengers,
51
::ViewT
<
::StrictEntityContext
,
::Include<::PlayerChangeDimensionRequestComponent>
,
::VehicleComponent
const
>
52
vehicles,
53
::EntityModifier<::StopRidingRequestComponent, ::ExitFromPassengerFlagComponent>
modifier
54
);
55
56
MCAPI static ::TickingSystemWithInfo createPortalTransition();
57
58
MCAPI static ::TickingSystemWithInfo createVehicleDismount();
59
60
MCAPI
static
void
requestPlayerChangeDimension(
61
::StrictEntityContext
const
& player,
62
::ChangeDimensionRequest
&& request,
63
::ViewT<::StrictEntityContext, ::DimensionStateComponent, ::StateVectorComponent>
playerData,
64
::EntityModifier<::PlayerChangeDimensionRequestComponent>
modifier
65
);
66
67
MCAPI
static
void
tryHandleChangeDimensionRequestLevel(
68
::ViewT
<
69
::StrictEntityContext
,
70
::Include<::PlayerComponent>
,
71
::PlayerChangeDimensionRequestComponent
,
72
::ActorOwnerComponent
> requests,
73
::EntityModifier<::PlayerChangeDimensionRequestComponent>
modifier,
74
::std::function<
bool
(
::Player
&,
::ChangeDimensionRequest
&)>
const
& callback,
75
::std::function<
bool
(
::Player
&)>
const
& isSuspended
76
);
77
// NOLINTEND
78
};
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:123
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-server
mc
entity
systems
DimensionTransitionSystem.h
Generated on Wed Nov 5 2025 13:12:41 for LeviLamina by
1.12.0