package net.aufdemrand.denizen.nms.abstracts;
import net.aufdemrand.denizen.nms.interfaces.Effect;
import net.aufdemrand.denizen.nms.interfaces.Particle;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public abstract class ParticleHelper {
private final Map<String, Effect> effects = new HashMap<String, Effect>();
private final List<Effect> visualEffects = new ArrayList<Effect>();
private final Map<String, Particle> particles = new HashMap<String, Particle>();
private final List<Particle> visibleParticles = new ArrayList<Particle>();
protected void register(String name, Effect effect) {
effects.put(name.toUpperCase(), effect);
if (effect.isVisual()) {
visualEffects.add(effect);
}
}
protected void register(String name, Particle particle) {
particles.put(name.toUpperCase(), particle);
if (particle.isVisible()) {
visibleParticles.add(particle);
}
}
public boolean hasEffect(String name) {
return effects.containsKey(name.toUpperCase());
}
public boolean hasParticle(String name) {
return particles.containsKey(name.toUpperCase());
}
public Effect getEffect(String name) {
return effects.get(name.toUpperCase());
}
public Particle getParticle(String name) {
return particles.get(name.toUpperCase());
}
public List<Particle> getVisibleParticles() {
return visibleParticles;
}
public List<Effect> getVisualEffects() {
return visualEffects;
}
}