aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/command/AdminDebugQuestCommandHandler.java26
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/command/TabHelper.java6
-rw-r--r--common/src/main/java/com/leonardobishop/quests/common/player/QPlayerPreferences.java2
3 files changed, 23 insertions, 11 deletions
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/command/AdminDebugQuestCommandHandler.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/command/AdminDebugQuestCommandHandler.java
index 4a32aae3..f1aa2eac 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/command/AdminDebugQuestCommandHandler.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/command/AdminDebugQuestCommandHandler.java
@@ -49,14 +49,18 @@ public class AdminDebugQuestCommandHandler implements CommandHandler {
}
String questId = args[3];
- Quest quest = plugin.getQuestManager().getQuestById(questId);
- if (quest == null) {
- sender.sendMessage(ChatColor.RED + "Quest " + questId + " does not exist.");
- return;
+ if (!questId.equals("*")) {
+ Quest quest = plugin.getQuestManager().getQuestById(questId);
+ if (quest == null) {
+ sender.sendMessage(ChatColor.RED + "Quest " + questId + " does not exist.");
+ return;
+ }
}
+
QPlayerPreferences preferences = qPlayer.getPlayerPreferences();
QPlayerPreferences.DebugType currentDebugType = preferences.getDebug(questId);
+ String questName = questId.equals("*") ? "all quests" : "quest " + questId;
if (currentDebugType == null) {
if (args.length < 5) {
sender.sendMessage(ChatColor.RED + "You must specify a debug type.");
@@ -74,14 +78,16 @@ public class AdminDebugQuestCommandHandler implements CommandHandler {
}
preferences.setDebug(questId, debugTypeEnum);
- sender.sendMessage(ChatColor.GREEN + "Debugging enabled for quest '" + questId + "'.");
- sender.sendMessage(ChatColor.GRAY + "You will now see debug logs for quest '" + quest.getId() + "' for " +
- (debugTypeEnum == QPlayerPreferences.DebugType.SELF ? "yourself" : "everybody on the server") +
+ sender.sendMessage(ChatColor.GREEN + "Debugging enabled for " + questName + ".");
+ sender.sendMessage(ChatColor.GRAY + "You will now see debug logs for "
+ + questName
+ + " for "
+ + (debugTypeEnum == QPlayerPreferences.DebugType.SELF ? "yourself" : "everybody on the server") +
". This may generate a lot of spam.");
- sender.sendMessage(ChatColor.DARK_GRAY + "Use '/quests admin debug " + questId + "' to disable.");
+ sender.sendMessage(ChatColor.GRAY + "Use '/quests admin debug " + questId + "' to disable.");
} else {
preferences.setDebug(questId, null);
- sender.sendMessage(ChatColor.GREEN + "Debugging disabled for quest '" + questId + "'.");
+ sender.sendMessage(ChatColor.GREEN + "Debugging disabled for " + questName + ".");
}
} else {
@@ -92,7 +98,7 @@ public class AdminDebugQuestCommandHandler implements CommandHandler {
@Override
public List<String> tabComplete(CommandSender sender, String[] args) {
if (args.length == 4) {
- return TabHelper.tabCompleteQuests(args[3]);
+ return TabHelper.tabCompleteQuestsOrWildcard(args[3]);
} else if (args.length == 5) {
return TabHelper.matchTabComplete(args[4], Arrays.asList("self", "all"));
}
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/command/TabHelper.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/command/TabHelper.java
index fe212e60..ff92c82f 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/command/TabHelper.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/command/TabHelper.java
@@ -36,4 +36,10 @@ public class TabHelper {
return matchTabComplete(arg, options);
}
+ public static List<String> tabCompleteQuestsOrWildcard(String arg) {
+ List<String> options = new ArrayList<>(plugin.getQuestManager().getQuests().keySet());
+ options.add("*");
+ return matchTabComplete(arg, options);
+ }
+
}
diff --git a/common/src/main/java/com/leonardobishop/quests/common/player/QPlayerPreferences.java b/common/src/main/java/com/leonardobishop/quests/common/player/QPlayerPreferences.java
index 19115f79..af387906 100644
--- a/common/src/main/java/com/leonardobishop/quests/common/player/QPlayerPreferences.java
+++ b/common/src/main/java/com/leonardobishop/quests/common/player/QPlayerPreferences.java
@@ -23,7 +23,7 @@ public class QPlayerPreferences {
}
public DebugType getDebug(String questId) {
- return debug.get(questId);
+ return debug.getOrDefault(questId, debug.get("*"));
}
public void setDebug(String questId, DebugType debugType) {