diff --git a/pom.xml b/pom.xml
index bb0a96a5e..345b8d48c 100755
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
CoreProtect
23.1
-
+ development
UTF-8
true
11
diff --git a/src/main/java/net/coreprotect/command/CommandParser.java b/src/main/java/net/coreprotect/command/CommandParser.java
index 56e855df9..2b2697df2 100644
--- a/src/main/java/net/coreprotect/command/CommandParser.java
+++ b/src/main/java/net/coreprotect/command/CommandParser.java
@@ -315,9 +315,20 @@ protected static List parseUsers(String[] inputArguments) {
return UserParser.parseUsers(inputArguments);
}
+ /**
+ * Parse message filter from command arguments (m:, msg:, message:)
+ *
+ * @param inputArguments
+ * The command arguments
+ * @return The message filter string, or empty string if not present
+ */
+ protected static String parseMessageFilter(String[] inputArguments) {
+ return ActionParser.parseMessageFilter(inputArguments);
+ }
+
/**
* Helper method for formatting BigDecimal values
- *
+ *
* @param input
* The BigDecimal value to format
* @return The formatted string
diff --git a/src/main/java/net/coreprotect/command/LookupCommand.java b/src/main/java/net/coreprotect/command/LookupCommand.java
index 9d454bb85..6ed1db585 100755
--- a/src/main/java/net/coreprotect/command/LookupCommand.java
+++ b/src/main/java/net/coreprotect/command/LookupCommand.java
@@ -49,6 +49,7 @@ public static void runCommand(CommandSender player, Command command, boolean per
boolean count = CommandParser.parseCount(args);
boolean worldedit = CommandParser.parseWorldEdit(args);
boolean forceglobal = CommandParser.parseForceGlobal(args);
+ String messageFilter = CommandParser.parseMessageFilter(args);
boolean pageLookup = false;
if (argBlocks == null || argExclude == null || argExcludeUsers == null) {
@@ -249,6 +250,11 @@ else if (resultc > 1) {
}
}
+ if (messageFilter.length() > 0 && !argAction.contains(6) && !argAction.contains(7)) {
+ Chat.sendMessage(player, Color.DARK_AQUA + "CoreProtect " + Color.WHITE + "- " + Phrase.build(Phrase.INCOMPATIBLE_ACTION, "m:"));
+ return;
+ }
+
if (startTime <= 0 && !pageLookup && type == 4 && (argBlocks.size() > 0 || argUsers.size() > 0)) {
Chat.sendMessage(player, Color.DARK_AQUA + "CoreProtect " + Color.WHITE + "- " + Phrase.build(Phrase.MISSING_LOOKUP_TIME, Selector.FIRST));
return;
@@ -519,6 +525,9 @@ else if (type == 4 || type == 5) {
argAction = ConfigHandler.lookupAlist.get(player.getName());
argRadius = ConfigHandler.lookupRadius.get(player.getName());
ts = ConfigHandler.lookupTime.get(player.getName());
+ if (ConfigHandler.lookupMessageFilter.get(player.getName()) != null) {
+ messageFilter = ConfigHandler.lookupMessageFilter.get(player.getName());
+ }
startTime = 1;
endTime = 0;
}
@@ -595,7 +604,7 @@ else if (lookupType == 5) {
}
}
- Runnable runnable = new StandardLookupThread(player, command, rollbackusers, argBlocks, argExclude, argExcludeUsers, argAction, argRadius, lo, x, y, z, wid, argWid, timeStart, timeEnd, argNoisy, argExcluded, argRestricted, pa, re, type, ts, count);
+ Runnable runnable = new StandardLookupThread(player, command, rollbackusers, argBlocks, argExclude, argExcludeUsers, argAction, argRadius, lo, x, y, z, wid, argWid, timeStart, timeEnd, argNoisy, argExcluded, argRestricted, pa, re, type, ts, count, messageFilter);
Thread thread = new Thread(runnable);
thread.start();
}
diff --git a/src/main/java/net/coreprotect/command/lookup/StandardLookupThread.java b/src/main/java/net/coreprotect/command/lookup/StandardLookupThread.java
index f6540ff07..b05908ac2 100644
--- a/src/main/java/net/coreprotect/command/lookup/StandardLookupThread.java
+++ b/src/main/java/net/coreprotect/command/lookup/StandardLookupThread.java
@@ -61,8 +61,13 @@ public class StandardLookupThread implements Runnable {
private final int typeLookup;
private final String rtime;
private final boolean count;
+ private final String messageFilter;
public StandardLookupThread(CommandSender player, Command command, List rollbackUsers, List