LeviLamina
Loading...
Searching...
No Matches
SolidMobSystem.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/ecs/Optional.h"
7#include "mc/deps/ecs/ViewT.h"
8#include "mc/deps/ecs/strict/EntityModifier.h"
9#include "mc/deps/ecs/strict/Exclude.h"
10#include "mc/deps/ecs/strict/Include.h"
11#include "mc/deps/ecs/strict/OptionalGlobal.h"
12
13// auto generated forward declare list
14// clang-format off
16class EntitySystems;
20class Vec3;
22struct ActorComponent;
31struct MobFlagComponent;
38// clang-format on
39
40namespace SolidMobSystem {
41// functions
42// NOLINTBEGIN
43MCNAPI ::TickingSystemWithInfo createRewindShapeRefreshSystem();
44
45MCNAPI void flagNearbyMobsForServerMovementCatchup(
46 ::StrictEntityContext const& player,
47 ::StateVectorComponent const& stateVector,
48 ::ServerCatchupMovementTrackerComponent const& tracker,
49 ::ViewT<
50 ::StrictEntityContext,
51 ::DimensionTypeComponent const,
52 ::AABBShapeComponent const,
53 ::Optional<::MobFlagComponent const>,
54 ::Optional<::IsSolidMobComponent const>> const& fullData,
55 ::ViewT<::StrictEntityContext, ::IsSolidMobComponent const, ::AABBShapeComponent const> const& solidMobs,
56 ::EntityModifier<::IsSolidMobNearbyComponent> modifier,
57 ::LocalSpatialEntityFetcherFactoryComponent const& fetcherFactory,
58 ::LocalSpatialEntityFetcher& fetcher,
59 ::std::vector<::StrictEntityContext>& buffer
60);
61
62MCNAPI void flagNearbyMobsForServerMovementCatchupSystem(
63 ::ViewT<
64 ::StrictEntityContext,
65 ::Include<::ActorMovementTickNeededComponent>,
66 ::StateVectorComponent const,
67 ::ServerCatchupMovementTrackerComponent const> view,
68 ::ViewT<
69 ::StrictEntityContext,
70 ::DimensionTypeComponent const,
71 ::AABBShapeComponent const,
72 ::Optional<::MobFlagComponent const>,
73 ::Optional<::IsSolidMobComponent const>> const& fullData,
74 ::ViewT<::StrictEntityContext, ::IsSolidMobComponent const, ::AABBShapeComponent const> const& solidMobs,
75 ::OptionalGlobal<::LocalSpatialEntityFetcherFactoryComponent const> fetcherFactory,
76 ::EntityModifier<::IsSolidMobNearbyComponent> modifier
77);
78
79MCNAPI void flagNearbyMobsFromSolidEntity(
80 ::StrictEntityContext const& solidMob,
81 ::IsSolidMobComponent const& solid,
82 ::AABBShapeComponent const& shape,
83 ::ViewT<
84 ::StrictEntityContext,
85 ::Include<::ActorOwnerComponent, ::AABBShapeComponent>,
86 ::Exclude<::ActorIsFirstTickFlagComponent>,
87 ::Optional<::MobFlagComponent const>,
88 ::Optional<::IsSolidMobComponent const>,
89 ::Optional<::FallingBlockFlagComponent const>> const& liveEntityView,
90 ::LocalSpatialEntityFetcher& fetcher,
91 ::EntityModifier<::IsSolidMobNearbyComponent> modifier,
92 ::std::vector<::StrictEntityContext>& buffer
93);
94
95MCNAPI void flagNearbyMobsFromSolidSystem(
96 ::ViewT<
97 ::StrictEntityContext,
98 ::Include<::ActorComponent>,
99 ::DimensionTypeComponent const,
100 ::IsSolidMobComponent const,
101 ::AABBShapeComponent const> view,
102 ::ViewT<
103 ::StrictEntityContext,
104 ::Include<::ActorOwnerComponent, ::AABBShapeComponent>,
105 ::Exclude<::ActorIsFirstTickFlagComponent>,
106 ::Optional<::MobFlagComponent const>,
107 ::Optional<::IsSolidMobComponent const>,
108 ::Optional<::FallingBlockFlagComponent const>> const& liveEntityView,
109 ::OptionalGlobal<::LocalSpatialEntityFetcherFactoryComponent const> fetcherFactory,
110 ::EntityModifier<::IsSolidMobNearbyComponent> modifier
111);
112
113MCNAPI void flagSolidMobsFromNearbyEntity(
114 ::StrictEntityContext const& entity,
115 ::AABBShapeComponent const& shape,
116 ::Optional<::MobFlagComponent const> isMob,
117 ::Optional<::IsSolidMobComponent const> isSolid,
118 ::ViewT<::StrictEntityContext, ::IsSolidMobComponent const, ::AABBShapeComponent const> const& nearbySolidMobs,
119 ::LocalSpatialEntityFetcher& fetcher,
120 ::EntityModifier<::IsSolidMobNearbyComponent> modifier,
121 ::std::vector<::StrictEntityContext>& buffer
122);
123
124MCNAPI void flagSolidMobsFromNearbySystem(
125 ::ViewT<
126 ::StrictEntityContext,
127 ::Include<::ShouldBeSimulatedComponent, ::ActorMovementTickNeededComponent>,
128 ::DimensionTypeComponent const,
129 ::AABBShapeComponent const,
130 ::Optional<::MobFlagComponent const>,
131 ::Optional<::IsSolidMobComponent const>> view,
132 ::ViewT<::StrictEntityContext, ::IsSolidMobComponent const, ::AABBShapeComponent const> const& solidMobs,
133 ::OptionalGlobal<::LocalSpatialEntityFetcherFactoryComponent const> fetcherFactory,
134 ::EntityModifier<::IsSolidMobNearbyComponent> modifier
135);
136
137MCNAPI ::std::optional<::Vec3> getLatestPosition(
138 ::StrictEntityContext const& e,
139 ::ViewT<::StrictEntityContext, ::PredictedMovementComponent const> const& pmcs,
140 ::ViewT<::StrictEntityContext, ::MovementInterpolatorComponent const> const& interpolators
141);
142
143MCNAPI void registerSystems(::EntitySystems& systems, bool isClientSide);
144
145MCNAPI void storeNearbyMobsOnMoveRequest(
146 ::IsSolidMobNearbyComponent const& nearby,
147 ::DepenetrationComponent& depenetration,
148 ::MoveRequestComponent& request
149);
150// NOLINTEND
151
152} // namespace SolidMobSystem
Definition ActorOwnerComponent.h:10
Definition EntitySystems.h:25
Definition LocalSpatialEntityFetcher.h:5
Definition PredictedMovementComponent.h:21
Definition StrictEntityContext.h:8
Definition Vec3.h:10
Definition AABBShapeComponent.h:9
Definition ActorComponent.h:5
Definition ActorIsFirstTickFlagComponent.h:5
Definition ActorMovementTickNeededComponent.h:5
Definition DepenetrationComponent.h:13
Definition DimensionTypeComponent.h:13
Definition FallingBlockFlagComponent.h:5
Definition IsSolidMobComponent.h:8
Definition IsSolidMobNearbyComponent.h:15
Definition LocalSpatialEntityFetcherFactoryComponent.h:8
Definition MobFlagComponent.h:5
Definition MoveRequestComponent.h:11
Definition MovementInterpolatorComponent.h:9
Definition ServerCatchupMovementTrackerComponent.h:8
Definition ShouldBeSimulatedComponent.h:5
Definition StateVectorComponent.h:8
Definition TickingSystemWithInfo.h:13