From 4b01a79413c9d71071ce1e9b7b6cce1a3aa93cc1 Mon Sep 17 00:00:00 2001 From: Steven Van Ingelgem Date: Sun, 7 Jan 2024 08:37:09 +0100 Subject: [PATCH] Allow "all" to be used to apply to all available players on the server. --- .gitignore | 4 +- .../quests/bukkit/util/CommandUtils.java | 51 +++++++++++-------- 2 files changed, 33 insertions(+), 22 deletions(-) diff --git a/.gitignore b/.gitignore index 323aa8527..2264c14ef 100644 --- a/.gitignore +++ b/.gitignore @@ -24,4 +24,6 @@ UPDATE_MESSAGE *.classpath *.project */bin/ -*.settings/ \ No newline at end of file +*.settings/ + +out/ diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/util/CommandUtils.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/util/CommandUtils.java index b17c63251..037d3ef61 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/util/CommandUtils.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/util/CommandUtils.java @@ -138,35 +138,44 @@ public static QPlayer getOtherPlayerSync(CommandSender sender, String name, Bukk } public static void useOtherPlayer(CommandSender sender, String name, BukkitQuestsPlugin plugin, Consumer callback) { - OfflinePlayer ofp = Bukkit.getOfflinePlayer(name); - UUID uuid; - String username; - if (ofp.getName() != null) { - uuid = ofp.getUniqueId(); - username = ofp.getName(); - } else { - Messages.COMMAND_QUEST_ADMIN_PLAYERNOTFOUND.send(sender, "{player}", name); - return; + OfflinePlayer[] playerList; + if (name.equals("all")) { + playerList = Bukkit.getOfflinePlayers(); + } + else { + playerList = new OfflinePlayer[]{Bukkit.getOfflinePlayer(name)}; } - { - QPlayer qPlayer = plugin.getPlayerManager().getPlayer(uuid); - if (qPlayer != null) { - callback.accept(qPlayer); + for (OfflinePlayer ofp : playerList) { + UUID uuid; + String username; + if (ofp.getName() != null) { + uuid = ofp.getUniqueId(); + username = ofp.getName(); + } else { + Messages.COMMAND_QUEST_ADMIN_PLAYERNOTFOUND.send(sender, "{player}", name); return; } - } - if (plugin.getPlayerManager().getPlayer(uuid) == null) { - Messages.COMMAND_QUEST_ADMIN_LOADDATA.send(sender, "{player}", username); - plugin.getPlayerManager().loadPlayer(uuid).thenAccept((qPlayer -> { - if (qPlayer == null) { - Messages.COMMAND_QUEST_ADMIN_NODATA.send(sender, "{player}", username); + { + QPlayer qPlayer = plugin.getPlayerManager().getPlayer(uuid); + if (qPlayer != null) { + callback.accept(qPlayer); return; } + } - plugin.getScheduler().doSync(() -> callback.accept(qPlayer)); - })); + if (plugin.getPlayerManager().getPlayer(uuid) == null) { + Messages.COMMAND_QUEST_ADMIN_LOADDATA.send(sender, "{player}", username); + plugin.getPlayerManager().loadPlayer(uuid).thenAccept((qPlayer -> { + if (qPlayer == null) { + Messages.COMMAND_QUEST_ADMIN_NODATA.send(sender, "{player}", username); + return; + } + + plugin.getScheduler().doSync(() -> callback.accept(qPlayer)); + })); + } } }