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

package com.hypixel.hytale.server.npc.validators;

import com.hypixel.hytale.server.npc.NPCPlugin;
import com.hypixel.hytale.codec.ExtraInfo;
import javax.annotation.Nonnull;
import com.hypixel.hytale.codec.schema.config.Schema;
import com.hypixel.hytale.codec.schema.SchemaContext;
import com.hypixel.hytale.codec.validation.ValidationResults;
import com.hypixel.hytale.codec.validation.LateValidator;

public class NPCRoleValidator implements LateValidator<String>
{
    public static final NPCRoleValidator INSTANCE;
    
    @Override
    public void accept(final String s, final ValidationResults results) {
    }
    
    @Override
    public void updateSchema(final SchemaContext context, @Nonnull final Schema target) {
        target.setHytaleAssetRef("NPCRole");
    }
    
    @Override
    public void acceptLate(final String s, @Nonnull final ValidationResults results, final ExtraInfo extraInfo) {
        try {
            NPCPlugin.get().validateSpawnableRole(s);
        }
        catch (final IllegalArgumentException e) {
            results.fail(e.getMessage());
        }
    }
    
    static {
        INSTANCE = new NPCRoleValidator();
    }
}
