rendered paste bodypackage eatsugar;import org.bukkit.event.player.PlayerListener;import org.bukkit.event.block.Action;import org.bukkit.event.player.PlayerInteractEvent;import org.bukkit.event.player.PlayerMoveEvent;import org.bukkit.entity.Player;import org.bukkit.Material;import org.bukkit.Bukkit;import org.bukkit.ChatColor;import org.bukkit.util.Vector;public class ESPlayerListener extends PlayerListener { private ESProps props; private final EatSugar plugin; Player player; int ODid; int rushId = 0; int crashId = 0; int isOD; public ESPlayerListener(EatSugar instance, ESProps props) { plugin = instance; this.props = props; } @Override public void onPlayerInteract(PlayerInteractEvent event) { player = event.getPlayer(); if (event.getAction().equals(Action.RIGHT_CLICK_BLOCK)) { if (event.getClickedBlock().getType() != Material.CHEST && event.getClickedBlock().getType() != Material.IRON_DOOR_BLOCK && event.getClickedBlock().getType() != Material.WOODEN_DOOR && event.getClickedBlock().getType() != Material.STONE_BUTTON && event.getClickedBlock().getType() != Material.LEVER && event.getClickedBlock().getType() != Material.MINECART && event.getClickedBlock().getType() != Material.STORAGE_MINECART && event.getClickedBlock().getType() != Material.POWERED_MINECART && event.getClickedBlock().getType() != Material.DISPENSER && event.getClickedBlock().getType() != Material.BOAT && event.getClickedBlock().getType() != Material.BURNING_FURNACE && event.getClickedBlock().getType() != Material.FURNACE && event.getClickedBlock().getType() != Material.CAKE_BLOCK && event.getClickedBlock().getType() != Material.NOTE_BLOCK && event.getClickedBlock().getType() != Material.WORKBENCH && event.getClickedBlock().getType() != Material.TNT) { if (player.getItemInHand().getType() == Material.SUGAR) { int numOfSugar = player.getItemInHand().getAmount(); if (player.getHealth() != 20 && rushId == 0) { if (numOfSugar == 1) { player.setItemInHand(null); } else { player.getItemInHand().setAmount(numOfSugar - 1); } ODid = Bukkit.getServer().getScheduler().scheduleAsyncDelayedTask(plugin, new Runnable() { public void run() { isOD = 0; } }, 200L); if (rushId == 0) { rushId = Bukkit.getServer().getScheduler().scheduleAsyncDelayedTask(plugin, new Runnable() { public void run() { rushId = 0; if (props.crash.equals("Yes")) { if (crashId != 0) { Bukkit.getServer().getScheduler().cancelTask(crashId); crashId = 0; } crashId = Bukkit.getServer().getScheduler().scheduleAsyncDelayedTask(plugin, new Runnable() { public void run() { crashId = 0; player.sendMessage(ChatColor.YELLOW + "[EatSugar] Your sugar crash has subsided. You're back to normal."); } }, props.crashTime * 20); player.sendMessage(ChatColor.RED + "[EatSugar] You're now in a sugar crash! To alleviate the effects (always sneaking) either eat another sugar, or wait for the effect to subside."); } } }, props.rushTime * 20); player.sendMessage(ChatColor.YELLOW + "[EatSugar] You're now in a sugar rush! You'll move at 1.5x the normal speed, and you can't sneak!"); } player.updateInventory(); if (isOD == 1) { player.damage(props.odDamage); } else { player.setHealth(event.getPlayer().getHealth() + (props.healAmnt * 2)); isOD = 1; } } } } } else if (event.getAction().equals(Action.RIGHT_CLICK_AIR)) { if (player.getItemInHand().getType() == Material.SUGAR) { int numOfSugar = player.getItemInHand().getAmount(); if (player.getHealth() != 20 && rushId == 0) { if (numOfSugar == 1) { player.setItemInHand(null); } else { player.getItemInHand().setAmount(numOfSugar - 1); } ODid = Bukkit.getServer().getScheduler().scheduleAsyncDelayedTask(plugin, new Runnable() { public void run() { isOD = 0; } }, 200L); if (rushId == 0) { rushId = Bukkit.getServer().getScheduler().scheduleAsyncDelayedTask(plugin, new Runnable() { public void run() { rushId = 0; if (props.crash.equals("Yes")) { Bukkit.getServer().getScheduler().cancelTask(crashId); crashId = 0; crashId = Bukkit.getServer().getScheduler().scheduleAsyncDelayedTask(plugin, new Runnable() { public void run() { crashId = 0; player.sendMessage(ChatColor.YELLOW + "[EatSugar] Your sugar crash has subsided. You're back to normal."); } }, props.crashTime * 20); player.sendMessage(ChatColor.RED + "[EatSugar] You're now in a sugar crash! To alleviate the effects (always sneaking) either eat another sugar, or wait for the effect to subside."); } } }, props.rushTime * 20); player.sendMessage(ChatColor.YELLOW + "[EatSugar] You're now in a sugar rush! You'll move at 1.5x the normal speed, and you can't sneak!"); } player.updateInventory(); if (isOD == 1) { player.damage(props.odDamage); } else { player.setHealth(event.getPlayer().getHealth() + (props.healAmnt * 2)); isOD = 1; } } } } } @Override public void onPlayerMove(PlayerMoveEvent event) { // System.out.println(event.getPlayer().getVelocity().getY() * -4); Vector vector = event.getPlayer().getVelocity(); Vector vector2 = new Vector(4, 1, 4); event.getPlayer().getVelocity().multiply(vector2); //event.getPlayer().setVelocity(vector); /*Object y = event.getPlayer().getVelocity().getY(); Object x = event.getPlayer().getVelocity().getX(); Object z = event.getPlayer().getVelocity().getZ(); /*System.out.println(y); System.out.println(x); System.out.println(z); double yy = Double.parseDouble(y.toString()) * -1; double xx = Double.parseDouble(x.toString()) * -1; double zz = Double.parseDouble(z.toString()) * -1; double test = xx / 2; System.out.println(test); xx = xx + test; System.out.println(xx); /* Vector vector = new Vector(xx, yy, zz); event.getPlayer().setVelocity(vector);*/ }}