package com.nisovin.magicspells.spelleffects; import org.bukkit.Location; import org.bukkit.configuration.ConfigurationSection; import com.nisovin.magicspells.MagicSpells; class ParticlesEffect extends SpellEffect { String name = "explode"; float xSpread = 0.2F; float ySpread = 0.2F; float zSpread = 0.2F; float speed = 0.2F; int count = 5; float yOffset = 0F; int renderDistance = 32; @Override public void loadFromString(String string) { if (string != null && !string.isEmpty()) { String[] data = string.split(" "); if (data.length >= 1) { name = data[0]; } if (data.length >= 2) { xSpread = Float.parseFloat(data[1]); zSpread = xSpread; } if (data.length >= 3) { ySpread = Float.parseFloat(data[2]); } if (data.length >= 4) { speed = Float.parseFloat(data[3]); } if (data.length >= 5) { count = Integer.parseInt(data[4]); } if (data.length >= 6) { yOffset = Float.parseFloat(data[5]); } } } @Override public void loadFromConfig(ConfigurationSection config) { name = config.getString("particle-name", name); xSpread = (float)config.getDouble("horiz-spread", xSpread); ySpread = (float)config.getDouble("vert-spread", ySpread); zSpread = xSpread; xSpread = (float)config.getDouble("red", xSpread); ySpread = (float)config.getDouble("green", ySpread); zSpread = (float)config.getDouble("blue", zSpread); speed = (float)config.getDouble("speed", speed); count = config.getInt("count", count); yOffset = (float)config.getDouble("y-offset", yOffset); renderDistance = config.getInt("render-distance", renderDistance); } @Override public void playEffectLocation(Location location) { MagicSpells.getVolatileCodeHandler().playParticleEffect(location, name, xSpread, ySpread, zSpread, speed, count, renderDistance, yOffset); } }