From 1cc709b81c4faca94d3e33e02862523d3b67605f Mon Sep 17 00:00:00 2001 From: Krakenied Date: Mon, 28 Jul 2025 13:56:07 +0200 Subject: Improve player debug output when no quests found --- .../command/AdminDebugPlayerCommandHandler.java | 113 ++++++++++++--------- 1 file changed, 63 insertions(+), 50 deletions(-) (limited to 'bukkit/src/main/java/com') diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/command/AdminDebugPlayerCommandHandler.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/command/AdminDebugPlayerCommandHandler.java index 4a0b21e3..76424435 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/command/AdminDebugPlayerCommandHandler.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/command/AdminDebugPlayerCommandHandler.java @@ -47,82 +47,95 @@ public class AdminDebugPlayerCommandHandler implements CommandHandler { } sender.sendMessage("=== Quests debug data for " + target.getUniqueId()); - sender.sendMessage("List of " + target.getName() + " effectively started quests:"); QuestProgressFile qpf = qPlayer.getQuestProgressFile(); Iterator questIter = qPlayer.getEffectiveStartedQuests().iterator(); - StringBuilder sb = new StringBuilder("["); + if (questIter.hasNext()) { + sender.sendMessage("List of " + target.getName() + " started quests:"); - while (questIter.hasNext()) { - Quest quest = questIter.next(); - // [QUEST_ID: TASK_1{PROGRESS}, TASK_2{PROGRESS}], ... + StringBuilder sb = new StringBuilder("["); - sb.append("["); - sb.append(quest.getId()); - sb.append(": "); + while (questIter.hasNext()) { + Quest quest = questIter.next(); + // [QUEST_ID: TASK_1{PROGRESS}, TASK_2{PROGRESS}], ... - QuestProgress qp = qpf.getQuestProgressOrNull(quest); + sb.append("["); + sb.append(quest.getId()); + sb.append(": "); - if (qp != null) { - Iterator taskIter = quest.getTasks().iterator(); + QuestProgress qp = qpf.getQuestProgressOrNull(quest); - while (taskIter.hasNext()) { - Task task = taskIter.next(); - TaskProgress tp = qp.getTaskProgressOrNull(task.getId()); + if (qp != null) { + Iterator taskIter = quest.getTasks().iterator(); - String progressString; - if (tp != null) { - Object progress = tp.getProgress(); - if (progress instanceof Float || progress instanceof Double || progress instanceof BigDecimal) { - progressString = FormatUtils.floating((Number) progress); - } else if (progress instanceof Integer || progress instanceof Long || progress instanceof BigInteger) { - progressString = FormatUtils.integral((Number) progress); - } else if (progress != null) { - progressString = String.valueOf(progress); + while (taskIter.hasNext()) { + Task task = taskIter.next(); + TaskProgress tp = qp.getTaskProgressOrNull(task.getId()); + + String progressString; + if (tp != null) { + Object progress = tp.getProgress(); + if (progress instanceof Float || progress instanceof Double || progress instanceof BigDecimal) { + progressString = FormatUtils.floating((Number) progress); + } else if (progress instanceof Integer || progress instanceof Long || progress instanceof BigInteger) { + progressString = FormatUtils.integral((Number) progress); + } else if (progress != null) { + progressString = String.valueOf(progress); + } else { + progressString = "null"; + } } else { - progressString = "null"; + progressString = "init"; } - } else { - progressString = "init"; - } - sb.append(task.getId()); - sb.append("{"); - sb.append(progressString); - sb.append("}"); + sb.append(task.getId()); + sb.append("{"); + sb.append(progressString); + sb.append("}"); - if (taskIter.hasNext()) { - sb.append(", "); + if (taskIter.hasNext()) { + sb.append(", "); + } } + } else { + sb.append("init"); } - } else { - sb.append("init"); - } - sb.append("]"); + sb.append("]"); - if (questIter.hasNext()) { - sb.append(", "); + if (questIter.hasNext()) { + sb.append(", "); + } } + + sender.sendMessage(sb.toString()); + } else { + sender.sendMessage("No started quests found for " + target.getName() + "!"); } - sender.sendMessage(sb.toString()); + questIter = qpf.getAllQuestsFromProgress(QuestProgressFilter.COMPLETED).iterator(); - sender.sendMessage("List of " + target.getName() + " completed quests:"); + if (questIter.hasNext()) { + sender.sendMessage("List of " + target.getName() + " completed quests:"); - sb.setLength(0); + StringBuilder sb = new StringBuilder("["); - qpf.getAllQuestsFromProgressConsumer(QuestProgressFilter.COMPLETED, quest -> { - sb.append(quest.getId()); - sb.append(", "); - }); + while (questIter.hasNext()) { + Quest quest = questIter.next(); + sb.append(quest.getId()); - if (!sb.isEmpty()) { - sb.delete(sb.length() - ", ".length(), sb.length()); - } + if (questIter.hasNext()) { + sb.append(", "); + } + } - sender.sendMessage(sb.toString()); + sb.append("]"); + + sender.sendMessage(sb.toString()); + } else { + sender.sendMessage("No completed quests found for " + target.getName() + "!"); + } } @Override -- cgit v1.2.3-70-g09d2