@Override public boolean execute(CommandSender sender, String s, Map<String, Object> map, String... args) { if (args == null || args.length == 0) { sender.sendMessage(rm.format("msg.usage.move")); return true; } Scoreboard scoreboard = plugin.getScoreboard(args[0]); if (scoreboard != null) { Location location = null; try { if (args.length == 1 && sender instanceof Player) { location = ((Player) sender).getEyeLocation(); } else if (args.length == 2) { location = LocationUtil.getLocation(args[1]); } if (location == null) { throw new IllegalArgumentException("No valid location was found"); } } catch (IllegalArgumentException e) { sender.sendMessage(rm.format("msg.usage.move")); return true; } scoreboard.setLocation(location); scoreboard.refreshView(plugin); sender.sendMessage( rm.format( "msg.scoreboard.moved", args[1], location.getX(), location.getY(), location.getZ(), location.getWorld().getName())); return true; } sender.sendMessage(rm.format("error.scoreboard.notfound", args[1])); return false; }
public MoveCommand(HolographicScoreboard plugin) { super("move|mv", null, "id ?location", "moves a scoreboard"); this.plugin = plugin; rm = plugin.getRM(); }