Class EntityEventSystem<ECS_TYPE, EventType extends EcsEvent>

java.lang.Object
com.hypixel.hytale.component.system.EventSystem<EventType>
com.hypixel.hytale.component.system.EntityEventSystem<ECS_TYPE, EventType>
Type Parameters:
ECS_TYPE - the type of the ECS store
EventType - the type of event this system handles
All Implemented Interfaces:
ISystem<ECS_TYPE>, QuerySystem<ECS_TYPE>
Direct Known Subclasses:
AbilityCastSnapshotSystem, AbilityChargeMeleeAttackSystem, AbilityChargeRangedAttackSystem, BlackboardSystems.BreakBlockEventSystem, BlackboardSystems.DamageBlockEventSystem, BlackboardSystems.UseBlockEventSystem, BlackboardSystems.UseEntityEventSystem, CheckInteractionChainStartSystem, ConditionEventHandler, DamageEventSystem, FlockSystems.PlayerChangeGameModeEventSystem, InventorySystems.ActiveSlotChangedEntityEventSystem, InventorySystems.ActiveSlotChangedToolsEventSystem, InventorySystems.PlayerInventoryChangeEventSystem, ItemContainerSystems.OnReplaced, NPCSystems.BreathingCheckEventSystem, NPCSystems.KillFeedDecedentEventSystem, NPCSystems.KillFeedKillerEventSystem, ObjectiveInventoryChangeSystem, PlayerLives.CancelRespawnWhenExhausted, PlayerSystems.KillFeedDecedentEventSystem, PlayerSystems.KillFeedKillerEventSystem, PrefabDirtySystems.BlockBreakDirtySystem, PrefabDirtySystems.BlockPlaceDirtySystem, SpawnNPCInteractionFailureTrackerSystems.BreakBlockClearSystem, TriggerVolumeBlockEventSystems.BlockBroken, TriggerVolumeBlockEventSystems.BlockPlaced, TriggerVolumeBlockEventSystems.BlockUsed, TriggerVolumeBlockEventSystems.EntityUsed, TriggerVolumeRuleSystems.CreativePlacement, TriggerVolumeRuleSystems.NoBuild, TriggerVolumeRuleSystems.NoDestroyBlockBreak, TriggerVolumeRuleSystems.NoDestroyBlockDamage, TriggerVolumeRuleSystems.NoDoorOpen, TriggerVolumeRuleSystems.NoHarvestUse, TriggerVolumeRuleSystems.NoUseBlock, TriggerVolumeRuleSystems.NoUseEntity

public abstract class EntityEventSystem<ECS_TYPE, EventType extends EcsEvent> extends EventSystem<EventType> implements QuerySystem<ECS_TYPE>
A system that processes events of a specific type for entity chunks.
  • Method Details

    • handle

      public abstract void handle(int index, @Nonnull ArchetypeChunk<ECS_TYPE> archetypeChunk, @Nonnull Store<ECS_TYPE> store, @Nonnull CommandBuffer<ECS_TYPE> commandBuffer, @Nonnull EventType event)
      An overrideable method called to handle an event for a specific archetype chunk.
      Parameters:
      index - The index of the archetype chunk being processed.
      archetypeChunk - The archetype chunk being processed.
      store - The ECS store.
      commandBuffer - The command buffer for queuing ECS commands.
      event - The event to be handled.
    • handleInternal

      public void handleInternal(int index, @Nonnull ArchetypeChunk<ECS_TYPE> archetypeChunk, @Nonnull Store<ECS_TYPE> store, @Nonnull CommandBuffer<ECS_TYPE> commandBuffer, @Nonnull EventType event)
      Called to handle an event for a specific archetype chunk, unless the event is cancelled.
      Parameters:
      index - The index of the archetype chunk being processed.
      archetypeChunk - The archetype chunk being processed.
      store - The ECS store.
      commandBuffer - The command buffer for queuing ECS commands.
      event - The event to be handled.