/******************************************************************************* * Copyright 2014 stuntguy3000 (Luke Anderson) and coasterman10. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. ******************************************************************************/ package org.eodsteven.CrafterNexus.commands; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.eodsteven.CrafterNexus.CrafterNexus; import static org.eodsteven.CrafterNexus.Translation._; import org.eodsteven.CrafterNexus.object.GameTeam; import org.eodsteven.CrafterNexus.object.PlayerMeta; public class DistanceCommand implements CommandExecutor { private CrafterNexus plugin; public DistanceCommand(CrafterNexus instance) { this.plugin = instance; } @Override public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { if (sender instanceof Player) { Player p = (Player) sender; if (plugin.getPhase() == 0) { p.sendMessage(ChatColor.GOLD + _("CRAFTERNEXUS_PREFIX") + ChatColor.RED + _("ERROR_GAME_NOTSTARTED")); return false; } if (PlayerMeta.getMeta(p).getTeam() == GameTeam.NONE) { p.sendMessage(ChatColor.GOLD + _("CRAFTERNEXUS_PREFIX") + ChatColor.RED + _("ERROR_PLAYER_NOTEAM")); return false; } p.sendMessage(ChatColor.GRAY + "=========[ " + ChatColor.DARK_AQUA.toString() + _("INFO_COMMAND_DISTANCE") + ChatColor.GRAY + " ]========="); for (GameTeam t : GameTeam.values()) { if (t != GameTeam.NONE) { showTeam(p, t); } } p.sendMessage(ChatColor.GRAY + "============================"); } else { sender.sendMessage(ChatColor.GOLD + _("CRAFTERNEXUS_PREFIX") + ChatColor.RED + _("ERROR_CONSOLE_PLAYERCOMMAND")); } return true; } private void showTeam(Player p, GameTeam t) { try { if (t.getNexus() != null && t.getNexus().getHealth() > 0) p.sendMessage(t.coloredName() + ChatColor.GRAY + " Nexus Distance: " + ChatColor.WHITE + ((int) p.getLocation().distance(t.getNexus().getLocation())) + ChatColor.GRAY + " Blocks"); } catch (IllegalArgumentException ex) { } } }