I want to make a laser gun. I tried to make it for trial but it didn't work well. Please tell me what to do. Code: package r.test; import org.bukkit.*; import org.bukkit.entity.Entity; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.block.Action; import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.scheduler.BukkitRunnable; import org.bukkit.util.Vector; public final class Test extends JavaPlugin implements Listener { @EventHandler public void effect2(PlayerInteractEvent event){ if(event.getAction()== Action.RIGHT_CLICK_AIR){ if(event.getItem().getItemMeta().getDisplayName().equalsIgnoreCase("boom 1")){ final Player player = event.getPlayer(); Location lo = player.getLocation(); final Location loc = lo.add(0,1.5,0); new BukkitRunnable(){ double t = 0; Vector di =loc.getDirection().normalize(); public void run(){ t = t + 0.5; double x = di.getX() * t; double y = di.getY() * t; double z = di.getZ() * t; loc.add(x,y,z); event.getPlayer().getWorld().spawnParticle(Particle.FIREWORKS_SPARK,loc,1,0,0,0,0); loc.subtract(x,y,z); for(Entity e : loc.getWorld().getEntities()) if (e instanceof LivingEntity) { if(loc.getBlock()==e.getLocation().getBlock()){} player.sendMessage("a"); double damage = 4.0; ((LivingEntity) e).damage(damage); } } if(t>30){ this.cancel(); } } }.runTaskTimerAsynchronously(this,0,0); } } } }