summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKrakenied <Krakenied1@gmail.com>2024-02-23 15:18:46 +0100
committerLeonardo Bishop <13875753+LMBishop@users.noreply.github.com>2024-03-09 17:01:12 +0000
commit7735295da72d8fe72efa543e11691411aec9704e (patch)
treef42b23ace2c18f2c6aad0136524fc45e179db57c
parent7c8618f960df6b180e10e5edf057f6d22b703ff5 (diff)
Improve regular expression
Adjust invalid task reference finder to it
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/config/BukkitQuestsLoader.java16
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/itemstack/QItemStack.java2
2 files changed, 5 insertions, 13 deletions
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/config/BukkitQuestsLoader.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/config/BukkitQuestsLoader.java
index 58552e4d..f67049d0 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/config/BukkitQuestsLoader.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/config/BukkitQuestsLoader.java
@@ -514,7 +514,7 @@ public class BukkitQuestsLoader implements QuestsLoader {
questsLogger.info(questItemRegistry.getAllItems().size() + " quest items have been registered.");
}
- private static final Pattern taskPlaceholderPattern = Pattern.compile("\\{([^}]+)}");
+ private static final Pattern taskPlaceholderPattern = Pattern.compile("\\{([^}]+):(progress|complete|id)}");
private void findInvalidTaskReferences(Quest quest, String s, List<ConfigProblem> configProblems, String location) {
findInvalidTaskReferences(quest, s, configProblems, location, false, false);
@@ -524,15 +524,7 @@ public class BukkitQuestsLoader implements QuestsLoader {
Matcher matcher = taskPlaceholderPattern.matcher(s);
while (matcher.find()) {
- String taskPlaceholder = matcher.group(1);
-
- String[] parts = taskPlaceholder.split(":", 2);
- if (parts.length != 2) {
- // not a placeholder?
- continue;
- }
-
- String taskIdPart = parts[0];
+ String taskIdPart = matcher.group(1);
if (allowByThis && taskIdPart.equals("this")) {
continue;
}
@@ -557,8 +549,8 @@ public class BukkitQuestsLoader implements QuestsLoader {
}
configProblems.add(new ConfigProblem(ConfigProblem.ConfigProblemType.WARNING,
- ConfigProblemDescriptions.UNKNOWN_TASK_REFERENCE.getDescription(parts[0]),
- ConfigProblemDescriptions.UNKNOWN_TASK_REFERENCE.getExtendedDescription(parts[0]),
+ ConfigProblemDescriptions.UNKNOWN_TASK_REFERENCE.getDescription(taskIdPart),
+ ConfigProblemDescriptions.UNKNOWN_TASK_REFERENCE.getExtendedDescription(taskIdPart),
location));
}
}
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/itemstack/QItemStack.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/itemstack/QItemStack.java
index 31ff26be..37358899 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/itemstack/QItemStack.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/itemstack/QItemStack.java
@@ -131,7 +131,7 @@ public class QItemStack {
return is;
}
- private static final Pattern taskPlaceholderPattern = Pattern.compile("\\{([^}]+):([^:}]+)}");
+ private static final Pattern taskPlaceholderPattern = Pattern.compile("\\{([^}]+):(progress|complete|id)}");
public static String processPlaceholders(String s, QuestProgress questProgress) {
return processPlaceholders(s, questProgress, null);