aboutsummaryrefslogtreecommitdiffstats
path: root/bukkit
diff options
context:
space:
mode:
authorLMBishop <13875753+LMBishop@users.noreply.github.com>2022-07-06 18:51:18 +0100
committerLMBishop <13875753+LMBishop@users.noreply.github.com>2022-07-06 18:51:18 +0100
commitc9a47f73f58312f5f7af4c8c3faaaac2c0d4ef0b (patch)
tree64f278067027e8c7e143bd66972249b747a56520 /bukkit
parent12ebaa52428f0b26c55736f67986d07494c75420 (diff)
Add wildcard to debug command
Diffstat (limited to 'bukkit')
-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
2 files changed, 22 insertions, 10 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);
+ }
+
}