package nmt.minecraft.Regicide.Game.Scheduling; import java.util.Random; import org.bukkit.Effect; import org.bukkit.Location; import org.bukkit.scheduler.BukkitRunnable; //import com.comphenix.packetwrapper.WrapperPlayServerWorldParticles; import nmt.minecraft.Regicide.RegicidePlugin; import nmt.minecraft.Regicide.Game.RegicideGame; import nmt.minecraft.Regicide.Game.Player.RPlayer; /** * Creates eating particle effects for the provided player each time it is run. * @author Skyler * */ public class EatParticleEffect extends BukkitRunnable { private RPlayer targetPlayer; private long loopTimes; private long index; private Random rand; public EatParticleEffect(RegicideGame game, RPlayer player, long delay, long loopTimes) { targetPlayer = player; this.index = 0; this.loopTimes = loopTimes; rand = new Random(); this.runTaskTimer(RegicidePlugin.regicidePlugin, (long) 0.1, delay); } public void run() { Location loc = targetPlayer.getPlayer().getEyeLocation().add(targetPlayer.getPlayer().getLocation().getDirection().multiply(.3)); loc.getWorld().spigot().playEffect(loc, Effect.TILE_BREAK, 170, 0, rand.nextFloat() * 0.5f, rand.nextFloat() * 0.25f, rand.nextFloat() * 0.5f, 0, 20, 20); //display food particlesg //WrapperPlayServerWorldParticles particle = new WrapperPlayServerWorldParticles(); // particle.setNumberOfParticles(10); // particle.setParticleData(rand.nextFloat() * .05f); // particle.setX((float) loc.getX()); // particle.setY((float) loc.getY()); // particle.setZ((float) loc.getZ()); // int[] data = new int[2]; // data[0] = Material.COOKED_BEEF.getId(); // data[1] = 0; // particle.setData(data); // // for (RPlayer player : game.getPlayers()) { // if (player.getPlayer().getUniqueId().equals(targetPlayer.getPlayer().getUniqueId())) { // continue; // } // // //else display the particles // particle.sendPacket(player.getPlayer()); // } index++; if (index >= loopTimes) { this.cancel(); } } }