@Command( aliases = {"leave", "quit", "exit"}, usage = { "§2 - /settlement leave [settlement name]", "§a \u00bbLeave the specified settlement, or your currently focused one if you have one." }, shortUsage = {"§2 - /settlement leave", "§a \u00bbLeave a settlement."}, permission = SettlementCommand.BASIC_PERMISSION + ".leave", useCommandArguments = true, playersOnly = true) public boolean leave(CommandSender sender, CommandArguments args) { SettlementPlayer sPlayer = server.getSettlementPlayer((Player) sender); Settlement from = SettlementUtil.getFocusedOrStated(sPlayer, args); if (from == null) { return true; } if (from.isMember(sPlayer)) { if (PermissionUtil.checkPermission( sender, SettlementCommand.ADMIN_BASIC_PERMISSION + ".leave", false, true)) { if (args.hasBooleanFlag("silent") || args.hasBooleanFlag("s")) { from.removeMember(sPlayer); SettlementMessenger.sendSettlementMessage( sender, StringUtil.concatString( 40 + 16, " §a You left the Settlement §6", from.getName(), " §asilently")); return true; } } if (sPlayer.getRank(from) == Rank.OWNER && from.getMemberCount() > 1) { SettlementMessenger.sendSettlementMessage( sender, "§c You are not allowed to do that!", "§a As §bowner §a, you may not leave the settlement without first deleting it!", "§a If you are sure, use /settlement delete!"); } from.removeMember(sPlayer); SettlementMessenger.sendSettlementMessage( sender, StringUtil.concatString( 40 + 16, " §a You left the Settlement §6", from.getName(), " §a!")); from.broadcastSettlementMessage( StringUtil.concatString(0, " §b", sPlayer.getName(), " §aleft the Settlement!")); return true; } SettlementMessenger.sendSettlementMessage(sender, "§c You are not in that Settlement!"); return true; }