package net.minecraft.tags;

import net.minecraft.resources.ResourceLocation;
import java.util.Set;
import net.minecraft.world.entity.EntityType;

public class EntityTypeTags {
    private static final StaticTagHelper<EntityType<?>> HELPER;
    public static final Tag.Named<EntityType<?>> SKELETONS;
    public static final Tag.Named<EntityType<?>> RAIDERS;
    public static final Tag.Named<EntityType<?>> BEEHIVE_INHABITORS;
    public static final Tag.Named<EntityType<?>> ARROWS;
    public static final Tag.Named<EntityType<?>> IMPACT_PROJECTILES;
    
    private static Tag.Named<EntityType<?>> bind(final String string) {
        return EntityTypeTags.HELPER.bind(string);
    }
    
    public static void reset(final TagCollection<EntityType<?>> adg) {
        EntityTypeTags.HELPER.reset(adg);
    }
    
    public static void resetToEmpty() {
        EntityTypeTags.HELPER.resetToEmpty();
    }
    
    public static TagCollection<EntityType<?>> getAllTags() {
        return EntityTypeTags.HELPER.getAllTags();
    }
    
    public static Set<ResourceLocation> getMissingTags(final TagCollection<EntityType<?>> adg) {
        return EntityTypeTags.HELPER.getMissingTags(adg);
    }
    
    static {
        HELPER = new StaticTagHelper<EntityType<?>>();
        SKELETONS = bind("skeletons");
        RAIDERS = bind("raiders");
        BEEHIVE_INHABITORS = bind("beehive_inhabitors");
        ARROWS = bind("arrows");
        IMPACT_PROJECTILES = bind("impact_projectiles");
    }
}
