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

package com.hypixel.hytale.server.npc.asset.builder;

import java.util.EnumSet;
import java.util.function.Supplier;

public enum InstructionType implements Supplier<String>
{
    Default("the default behaviour instruction"), 
    Interaction("the interaction instruction"), 
    Death("the death instruction"), 
    Component("a component"), 
    StateTransitions("state transition actions");
    
    private final String description;
    public static final EnumSet<InstructionType> Any;
    public static final EnumSet<InstructionType> MotionAllowedInstructions;
    public static final EnumSet<InstructionType> StateChangeAllowedInstructions;
    
    private InstructionType(final String description) {
        this.description = description;
    }
    
    @Override
    public String get() {
        return this.description;
    }
    
    static {
        Any = EnumSet.allOf(InstructionType.class);
        MotionAllowedInstructions = EnumSet.of(InstructionType.Default);
        StateChangeAllowedInstructions = EnumSet.of(InstructionType.Default, InstructionType.Interaction, InstructionType.Death, InstructionType.Component);
    }
}
