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

package com.hypixel.hytale.builtin.adventure.npcobjectives.resources;

import javax.annotation.Nonnull;
import com.hypixel.hytale.builtin.adventure.npcobjectives.NPCObjectivesPlugin;
import com.hypixel.hytale.component.ResourceType;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
import com.hypixel.hytale.builtin.adventure.npcobjectives.transaction.KillTaskTransaction;
import java.util.List;
import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
import com.hypixel.hytale.component.Resource;

public class KillTrackerResource implements Resource<EntityStore>
{
    private final List<KillTaskTransaction> killTasks;
    
    public KillTrackerResource() {
        this.killTasks = new ObjectArrayList<KillTaskTransaction>();
    }
    
    public static ResourceType<EntityStore, KillTrackerResource> getResourceType() {
        return NPCObjectivesPlugin.get().getKillTrackerResourceType();
    }
    
    public void watch(final KillTaskTransaction task) {
        this.killTasks.add(task);
    }
    
    public void unwatch(final KillTaskTransaction task) {
        this.killTasks.remove(task);
    }
    
    @Nonnull
    public List<KillTaskTransaction> getKillTasks() {
        return this.killTasks;
    }
    
    @Nonnull
    @Override
    public Resource<EntityStore> clone() {
        return new KillTrackerResource();
    }
}
