- Баллы
- 66
Код:
trackedPlayers = new HashMap<>();
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (!(sender instanceof Player)) {
if (args.length < 1) {
sender.sendMessage(ChatColor.RED + "Usage: /put");
return true;
}
Player target = Bukkit.getPlayer(args[0]);
if (target == null) {
sender.sendMessage(ChatColor.RED + "Player not found.");
return true;
}
trackedPlayers.put(target.getUniqueId(), target.getUniqueId());
return true;
} else {
Player player = (Player) sender;
if (args.length < 1) {
player.sendMessage(ChatColor.RED + "Usage: /put");
return true;
}
Player target = Bukkit.getPlayer(args[0]);
if (target == null) {
player.sendMessage(ChatColor.RED + "Player not found.");
return true;
}
trackedPlayers.put(player.getUniqueId(), target.getUniqueId());
return true;
}
}
@EventHandler
public void onEntityDamageByEntity(EntityDamageByEntityEvent event) {
if (!(event.getDamager() instanceof Player)) {
return;
}
Player damager = (Player) event.getDamager();
if (!trackedPlayers.containsKey(damager.getUniqueId())) {
return;
}
Player target = Bukkit.getPlayer(trackedPlayers.get(damager.getUniqueId()));
if (target == null) {
return;
}
double distance = damager.getLocation().distance(target.getLocation());
damager.sendMessage(ChatColor.AQUA + "[" + target.getName() + "] " + ChatColor.RESET + "range: " + String.format("%.2f", distance));
}