package net.minecraft.world.item.alchemy;

import com.google.common.collect.ImmutableList;
import com.google.common.collect.UnmodifiableIterator;
import java.util.List;
import javax.annotation.Nullable;
import net.minecraft.core.IRegistry;
import net.minecraft.resources.MinecraftKey;
import net.minecraft.world.effect.MobEffect;

public class PotionRegistry {

    private final String name;
    private final ImmutableList<MobEffect> effects;

    public static PotionRegistry a(String s) {
        return (PotionRegistry) IRegistry.POTION.get(MinecraftKey.a(s));
    }

    public PotionRegistry(MobEffect... amobeffect) {
        this((String) null, amobeffect);
    }

    public PotionRegistry(@Nullable String s, MobEffect... amobeffect) {
        this.name = s;
        this.effects = ImmutableList.copyOf(amobeffect);
    }

    public String b(String s) {
        return s + (this.name == null ? IRegistry.POTION.getKey(this).getKey() : this.name);
    }

    public List<MobEffect> a() {
        return this.effects;
    }

    public boolean b() {
        if (!this.effects.isEmpty()) {
            UnmodifiableIterator unmodifiableiterator = this.effects.iterator();

            while (unmodifiableiterator.hasNext()) {
                MobEffect mobeffect = (MobEffect) unmodifiableiterator.next();

                if (mobeffect.getMobEffect().isInstant()) {
                    return true;
                }
            }
        }

        return false;
    }
}
