// 
// Decompiled by Procyon v0.6.0
// 

package com.hypixel.hytale.component.system;

import com.hypixel.hytale.component.CommandBuffer;
import com.hypixel.hytale.component.Store;
import javax.annotation.Nonnull;

public abstract class WorldEventSystem<ECS_TYPE, EventType extends EcsEvent> extends EventSystem<EventType> implements ISystem<ECS_TYPE>
{
    protected WorldEventSystem(@Nonnull final Class<EventType> eventType) {
        super(eventType);
    }
    
    public abstract void handle(@Nonnull final Store<ECS_TYPE> p0, @Nonnull final CommandBuffer<ECS_TYPE> p1, @Nonnull final EventType p2);
    
    public void handleInternal(@Nonnull final Store<ECS_TYPE> store, @Nonnull final CommandBuffer<ECS_TYPE> commandBuffer, @Nonnull final EventType event) {
        if (!this.shouldProcessEvent(event)) {
            return;
        }
        this.handle(store, commandBuffer, event);
    }
}
