public function compassTracker(PlayerInteractEvent $ev)
{
$p = $ev->getPlayer();
if ($p->getInventory()->getItemInHand()->getId() === 345 && $ev->getAction() === PlayerInteractEvent::RIGHT_CLICK_AIR) {
if (in_array($ev->getPlayer()->getName(), $this->compass)) {
$p->sendMessage("§c§lYou cant use this for 3 minutes!");
$ev->setCancelled(true);
return;
}
if (!in_array($ev->getPlayer()->getName(), $this->compass)) {
array_push($this->compass, $ev->getPlayer()->getName());
$p->sendTip("§c§lYou cant use this for 3 minutes!");
$task = new Task($this, $ev->getPlayer());
$this->getServer()->getScheduler()->scheduleDelayedTask($task, 3600);
$pickqv = [];
$distSqMap = [];
foreach ($p->getLevel()->getPlayers() as $player) {
asort($distSqMap);
}
foreach ($distSqMap as $id => $distSq) {
$p->sendMessage("§b§l" . $picked[$id]->getDisplayName() . " §fis §c" . round(sqrt($distSq)) . " §fblocks from you.");
}
}
}
}