Initial commit
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
package de.craftix.runnervshunter;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
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;
|
||||
|
||||
public class Compass implements Listener {
|
||||
public int schedulerID;
|
||||
|
||||
public void startScheduler(){
|
||||
try {
|
||||
schedulerID = Bukkit.getScheduler().scheduleSyncRepeatingTask(Main.getInstance(), new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
for (Player all : Bukkit.getOnlinePlayers()){
|
||||
Player nearest = null;
|
||||
for (Player runner : Main.runner){
|
||||
if (nearest == null){
|
||||
nearest = runner;
|
||||
continue;
|
||||
}
|
||||
if (all.getLocation().distance(runner.getLocation()) < all.getLocation().distance(nearest.getLocation())) nearest = runner;
|
||||
}
|
||||
if (nearest == null) return;
|
||||
all.setCompassTarget(nearest.getLocation());
|
||||
}
|
||||
}
|
||||
}, 0, 20);
|
||||
}catch (Exception e){
|
||||
Bukkit.getPlayer("CraftixLP").sendMessage(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onCompassClick(PlayerInteractEvent event){
|
||||
try {
|
||||
if (!event.getPlayer().getInventory().getItemInMainHand().getType().equals(Material.COMPASS)) return;
|
||||
if (event.getAction().equals(Action.RIGHT_CLICK_AIR) || event.getAction().equals(Action.RIGHT_CLICK_BLOCK)){
|
||||
Player p = event.getPlayer();
|
||||
Player nearest = null;
|
||||
for (Player runner : Main.runner){
|
||||
if (nearest == null){
|
||||
nearest = runner;
|
||||
continue;
|
||||
}
|
||||
if (p.getLocation().distance(runner.getLocation()) < p.getLocation().distance(nearest.getLocation())) nearest = runner;
|
||||
}
|
||||
int distance = (int)p.getLocation().distance(nearest.getLocation());
|
||||
p.sendMessage("§aDer Spieler " + nearest.getName() + " ist " + distance + " Blöcke entfernt");
|
||||
}
|
||||
}catch (Exception e){
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user