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

package com.hypixel.hytale.builtin.adventure.objectives.config.taskcondition;

import com.hypixel.hytale.codec.Codec;
import java.util.UUID;
import java.util.Set;
import com.hypixel.hytale.component.Ref;
import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
import com.hypixel.hytale.component.ComponentAccessor;
import com.hypixel.hytale.codec.lookup.CodecMapCodec;

public abstract class TaskConditionAsset
{
    public static final CodecMapCodec<TaskConditionAsset> CODEC;
    
    protected TaskConditionAsset() {
    }
    
    public abstract boolean isConditionFulfilled(final ComponentAccessor<EntityStore> p0, final Ref<EntityStore> p1, final Set<UUID> p2);
    
    public abstract void consumeCondition(final ComponentAccessor<EntityStore> p0, final Ref<EntityStore> p1, final Set<UUID> p2);
    
    @Override
    public abstract boolean equals(final Object p0);
    
    @Override
    public abstract int hashCode();
    
    static {
        (CODEC = new CodecMapCodec<TaskConditionAsset>("Type")).register("SoloInventory", SoloInventoryCondition.class, SoloInventoryCondition.CODEC);
    }
}
