Class HolderSystem<ECS_TYPE>

java.lang.Object
com.hypixel.hytale.component.system.System<ECS_TYPE>
com.hypixel.hytale.component.system.HolderSystem<ECS_TYPE>
Type Parameters:
ECS_TYPE - The entity store type
All Implemented Interfaces:
ISystem<ECS_TYPE>, QuerySystem<ECS_TYPE>
Direct Known Subclasses:
AmbientEmitterSystems.EntityAdded, AudioStateSystems.PlayerAdded, BalancingInitialisationSystem, BlockEntitySystems.BlockEntitySetupSystem, BlockModule.MigrationSystem, BuilderToolsSystems.EnsureBuilderTools, BuilderToolsUserDataSystem, ChunkColumnMigrationSystem, ChunkSectionMigrationSystem, ChunkSystems.EnsureSection, ChunkSystems.LoadBlockSection, CombatActionEvaluatorSystems.OnAdded, CombatViewSystems.Ensure, CombatViewSystems.EntityRemoved, CreativeEraserSystems.OnPlayerRemovedFromWorld, DamageDataSetupSystem, DisplayNameSystems.HydrateDisplayName, DynamicLightSystems.Setup, EncounterManagerSystems.ActivateSystem, EncounterManagerSystems.BuilderSystem, EncounterManagerSystems.EnsureEntityComponents, EntityModule.LegacyEntityHolderSystem, EntityModule.MigrationSystem, EntityStatsSystems.Setup, EntitySystems.EnsureForSerializable, EntitySystems.OnLoadFromExternal, EntityTrackerSystems.RemoveVisibleComponent, FlockMembershipSystems.NPCAddedFromWorldGen, FluidSystems.EnsureFluidSection, FluidSystems.SetupSection, ForcedMusicSystems.PlayerAdded, HitboxCollisionSystems.Setup, InteractionSystems.PlayerAddManagerSystem, ItemSystems.EnsureRequiredComponents, LegacyProjectileSystems.OnAddHolderSystem, ModelSystems.ApplyRandomSkin, ModelSystems.AssignNetworkIdToProps, ModelSystems.EnsurePropsPrefabCopyable, ModelSystems.ModelSpawned, ModelSystems.PlayerConnect, ModelSystems.SetRenderedModel, MountSystems.EnsureMinecartComponents, MountSystems.RemoveMountedHolder, MovementStatesSystems.AddSystem, MusicEmitterSystems.Lifecycle, NPCInteractionSystems.AddSimulationManagerSystem, NPCReputationHolderSystem, NPCSystems.AddedFromWorldGenSystem, NPCSystems.LegacyWorldGenId, NPCSystems.OnNPCAdded, ObjectiveItemEntityRemovalSystem, ObjectiveLocationMarkerSystems.EnsureNetworkSendableSystem, ParkourCheckpointSystems.EnsureNetworkSendable, PhysicsValuesAddSystem, PlayerCameraAddSystem, PlayerChunkTrackerSystems.AddSystem, PlayerCollisionResultAddSystem, PlayerCraftingSystems.CraftingHolderSystem, PlayerMovementManagerSystems.AssignmentSystem, PlayerSavingSystems.EntityRemovedSystem, PlayerSystems.PlayerInitSystem, PlayerSystems.PlayerRemovedSystem, PortalEntryCountSystem, PositionCacheSystems.RoleActivateSystem, PrefabPathSystems.AddedFromWorldGen, PrefabPathSystems.AddOrRemove, PrefabPathSystems.NameplateHolderSystem, PrefabPreviewSystems.PrefabPreviewSetup, ReachLocationMarkerSystems.EnsureNetworkSendable, RegisterTrackerSystem, RepulsionSystems.PlayerSetup, RoleBuilderSystem, SnapshotSystems.Add, SpawnBeaconCheckRemovalSystem, SpawnMarkerSystems.AddedFromWorldGen, SpawnMarkerSystems.EnsureDebugComponent, SpawnMarkerSystems.EnsureNetworkSendable, SpawnMarkerSystems.EnsureValidationComponent, SpawnSuppressionSystems.EnsureNetworkSendable, TransformSystems.OnRemove, UIComponentSystems.Setup, VelocitySystems.AddSystem, VoidEventPlayerJoinSystem, WeatherSystem.PlayerAddedSystem, WorldSpawnJobSystems.EntityRemoved

public abstract class HolderSystem<ECS_TYPE> extends System<ECS_TYPE> implements QuerySystem<ECS_TYPE>
Represents a system that can execute logic on the addition/removal of an entity to/from an affiliated store
  • Constructor Details

    • HolderSystem

      public HolderSystem()
  • Method Details

    • onEntityAdd

      public abstract void onEntityAdd(@Nonnull Holder<ECS_TYPE> holder, @Nonnull AddReason reason, @Nonnull Store<ECS_TYPE> store)
      Called before an entity has been added to a Store and has an Archetype that fulfills the Query provided by QuerySystem.getQuery()}.
      Parameters:
      holder - The holder of the entity being added to the store
      reason - The reason that the entity is being added
      store - The store that the entity is being added to
    • onEntityRemoved

      public abstract void onEntityRemoved(@Nonnull Holder<ECS_TYPE> holder, @Nonnull RemoveReason reason, @Nonnull Store<ECS_TYPE> store)
      Called after an entity has been removed from a Store and has an Archetype that fulfills the Query provided by QuerySystem.getQuery()}.
      Parameters:
      holder - The holder of the entity being removed from the store
      reason - The reason that the entity is being removed
      store - The store that the entity is being removed from