From c97ae052dbf849e483b03c2518be29b68c41c067 Mon Sep 17 00:00:00 2001 From: aidan <71913030+Altruiis@users.noreply.github.com> Date: Wed, 30 Mar 2022 14:06:14 -0700 Subject: [PATCH] Fix /towny top balance (#5839) * Fix /towny top balance not working by making it run sync again * Just make the balance code run async entirely --- .../bukkit/towny/command/TownyCommand.java | 39 +++++++++++-------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/src/com/palmergames/bukkit/towny/command/TownyCommand.java b/src/com/palmergames/bukkit/towny/command/TownyCommand.java index 81d586864e..848a73010e 100644 --- a/src/com/palmergames/bukkit/towny/command/TownyCommand.java +++ b/src/com/palmergames/bukkit/towny/command/TownyCommand.java @@ -352,23 +352,28 @@ else if (args[0].equalsIgnoreCase("land")) } else TownyMessaging.sendErrorMsg(sender, Translatable.of("msg_err_invalid_sub")); else if (args[0].equalsIgnoreCase("balance")) { - if (args.length == 1 || args[1].equalsIgnoreCase("all")) { - List list = new ArrayList<>(); - list.addAll(universe.getTowns()); - list.addAll(universe.getNations()); - townyTop.add(ChatTools.formatTitle("Top Bank Balances")); - Bukkit.getScheduler().runTaskAsynchronously(plugin, ()-> townyTop.addAll(getTopBankBalance(list))); - } else if (args[1].equalsIgnoreCase("town")) { - List list = new ArrayList<>(universe.getTowns()); - townyTop.add(ChatTools.formatTitle("Top Bank Balances by Town")); - Bukkit.getScheduler().runTaskAsynchronously(plugin, ()-> townyTop.addAll(getTopBankBalance(list))); - } else if (args[1].equalsIgnoreCase("nation")) { - List list = new ArrayList<>(universe.getNations()); - townyTop.add(ChatTools.formatTitle("Top Bank Balances by Nation")); - Bukkit.getScheduler().runTaskAsynchronously(plugin, ()-> townyTop.addAll(getTopBankBalance(list))); - } else { - TownyMessaging.sendErrorMsg(sender, Translatable.of("msg_err_invalid_sub")); - } + Bukkit.getScheduler().runTaskAsynchronously(plugin, () -> { + if (args.length == 1 || args[1].equalsIgnoreCase("all")) { + List list = new ArrayList<>(); + list.addAll(universe.getTowns()); + list.addAll(universe.getNations()); + townyTop.add(ChatTools.formatTitle("Top Bank Balances")); + townyTop.addAll(getTopBankBalance(list)); + } else if (args[1].equalsIgnoreCase("town")) { + List list = new ArrayList<>(universe.getTowns()); + townyTop.add(ChatTools.formatTitle("Top Bank Balances by Town")); + townyTop.addAll(getTopBankBalance(list)); + } else if (args[1].equalsIgnoreCase("nation")) { + List list = new ArrayList<>(universe.getNations()); + townyTop.add(ChatTools.formatTitle("Top Bank Balances by Nation")); + townyTop.addAll(getTopBankBalance(list)); + } else { + TownyMessaging.sendErrorMsg(sender, Translatable.of("msg_err_invalid_sub")); + } + for (String line : townyTop) + TownyMessaging.sendMessage(sender, line); + }); + return; } else TownyMessaging.sendErrorMsg(sender, Translatable.of("msg_err_invalid_sub"));