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
43MCAPI ::TickingSystemWithInfo createClearNearbyMobsSystem();
44
45MCAPI ::TickingSystemWithInfo createRewindShapeRefreshSystem();
46
47MCAPI ::TickingSystemWithInfo createStoreNearbyMobsOnMoveRequestSystem();
48
49MCAPI void flagNearbyMobsForServerMovementCatchup(
50 ::StrictEntityContext const& player,
51 ::StateVectorComponent const& stateVector,
52 ::ServerCatchupMovementTrackerComponent const& tracker,
53 ::ViewT<
54 ::StrictEntityContext,
55 ::DimensionTypeComponent const,
56 ::AABBShapeComponent const,
57 ::Optional<::MobFlagComponent const>,
58 ::Optional<::IsSolidMobComponent const>> const& fullData,
59 ::ViewT<::StrictEntityContext, ::IsSolidMobComponent const, ::AABBShapeComponent const> const& solidMobs,
60 ::EntityModifier<::IsSolidMobNearbyComponent> modifier,
61 ::LocalSpatialEntityFetcherFactoryComponent const& fetcherFactory,
62 ::LocalSpatialEntityFetcher& fetcher,
63 ::std::vector<::StrictEntityContext>& buffer
64);
65
66MCAPI void flagNearbyMobsForServerMovementCatchupSystem(
67 ::ViewT<
68 ::StrictEntityContext,
69 ::Include<::ActorMovementTickNeededComponent>,
70 ::StateVectorComponent const,
71 ::ServerCatchupMovementTrackerComponent const> view,
72 ::ViewT<
73 ::StrictEntityContext,
74 ::DimensionTypeComponent const,
75 ::AABBShapeComponent const,
76 ::Optional<::MobFlagComponent const>,
77 ::Optional<::IsSolidMobComponent const>> const& fullData,
78 ::ViewT<::StrictEntityContext, ::IsSolidMobComponent const, ::AABBShapeComponent const> const& solidMobs,
79 ::OptionalGlobal<::LocalSpatialEntityFetcherFactoryComponent const> fetcherFactory,
80 ::EntityModifier<::IsSolidMobNearbyComponent> modifier
81);
82
83MCAPI void flagNearbyMobsFromSolidEntity(
84 ::StrictEntityContext const& solidMob,
85 ::IsSolidMobComponent const& solid,
86 ::AABBShapeComponent const& shape,
87 ::ViewT<
88 ::StrictEntityContext,
89 ::Include<::ActorOwnerComponent, ::AABBShapeComponent>,
90 ::Exclude<::ActorIsFirstTickFlagComponent>,
91 ::Optional<::MobFlagComponent const>,
92 ::Optional<::IsSolidMobComponent const>,
93 ::Optional<::FallingBlockFlagComponent const>> const& liveEntityView,
94 ::LocalSpatialEntityFetcher& fetcher,
95 ::EntityModifier<::IsSolidMobNearbyComponent> modifier,
96 ::std::vector<::StrictEntityContext>& buffer
97);
98
99MCAPI void flagNearbyMobsFromSolidSystem(
100 ::ViewT<
101 ::StrictEntityContext,
102 ::Include<::ActorComponent>,
103 ::DimensionTypeComponent const,
104 ::IsSolidMobComponent const,
105 ::AABBShapeComponent const> view,
106 ::ViewT<
107 ::StrictEntityContext,
108 ::Include<::ActorOwnerComponent, ::AABBShapeComponent>,
109 ::Exclude<::ActorIsFirstTickFlagComponent>,
110 ::Optional<::MobFlagComponent const>,
111 ::Optional<::IsSolidMobComponent const>,
112 ::Optional<::FallingBlockFlagComponent const>> const& liveEntityView,
113 ::OptionalGlobal<::LocalSpatialEntityFetcherFactoryComponent const> fetcherFactory,
114 ::EntityModifier<::IsSolidMobNearbyComponent> modifier
115);
116
117MCAPI void flagSolidMobsFromNearbyEntity(
118 ::StrictEntityContext const& entity,
119 ::AABBShapeComponent const& shape,
120 ::Optional<::MobFlagComponent const> isMob,
121 ::Optional<::IsSolidMobComponent const> isSolid,
122 ::ViewT<::StrictEntityContext, ::IsSolidMobComponent const, ::AABBShapeComponent const> const& nearbySolidMobs,
123 ::LocalSpatialEntityFetcher& fetcher,
124 ::EntityModifier<::IsSolidMobNearbyComponent> modifier,
125 ::std::vector<::StrictEntityContext>& buffer
126);
127
128MCAPI void flagSolidMobsFromNearbySystem(
129 ::ViewT<
130 ::StrictEntityContext,
131 ::Include<::ShouldBeSimulatedComponent, ::ActorMovementTickNeededComponent>,
132 ::DimensionTypeComponent const,
133 ::AABBShapeComponent const,
134 ::Optional<::MobFlagComponent const>,
135 ::Optional<::IsSolidMobComponent const>> view,
136 ::ViewT<::StrictEntityContext, ::IsSolidMobComponent const, ::AABBShapeComponent const> const& solidMobs,
137 ::OptionalGlobal<::LocalSpatialEntityFetcherFactoryComponent const> fetcherFactory,
138 ::EntityModifier<::IsSolidMobNearbyComponent> modifier
139);
140
141MCAPI ::std::optional<::Vec3> getLatestPosition(
142 ::StrictEntityContext const& e,
143 ::ViewT<::StrictEntityContext, ::PredictedMovementComponent const> const& pmcs,
144 ::ViewT<::StrictEntityContext, ::MovementInterpolatorComponent const> const& interpolators
145);
146
147MCAPI void registerSystems(::EntitySystems& systems, bool isClientSide);
148
149MCAPI void storeNearbyMobsOnMoveRequest(
150 ::IsSolidMobNearbyComponent const& nearby,
151 ::DepenetrationComponent& depenetration,
152 ::MoveRequestComponent& request
153);
154// NOLINTEND
155
156} // namespace SolidMobSystem
Definition ActorOwnerComponent.h:10
Definition EntitySystems.h:29
Definition LocalSpatialEntityFetcher.h:5
Definition PredictedMovementComponent.h:21
Definition StrictEntityContext.h:14
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:8
Definition FallingBlockFlagComponent.h:5
Definition IsSolidMobComponent.h:8
Definition IsSolidMobNearbyComponent.h:14
Definition LocalSpatialEntityFetcherFactoryComponent.h:8
Definition MobFlagComponent.h:5
Definition MoveRequestComponent.h:11
Definition MovementInterpolatorComponent.h:14
Definition ServerCatchupMovementTrackerComponent.h:8
Definition ShouldBeSimulatedComponent.h:5
Definition StateVectorComponent.h:8
Definition TickingSystemWithInfo.h:13