diff --git a/src/main/java/net/coreprotect/config/Config.java b/src/main/java/net/coreprotect/config/Config.java index 51c1be243..8f5470e7f 100644 --- a/src/main/java/net/coreprotect/config/Config.java +++ b/src/main/java/net/coreprotect/config/Config.java @@ -14,6 +14,7 @@ import java.util.Map; import java.util.concurrent.CancellationException; import java.util.concurrent.CompletableFuture; +import java.util.regex.Pattern; import org.bukkit.Bukkit; import org.bukkit.World; @@ -30,6 +31,7 @@ public class Config extends Language { private static final Map DEFAULT_VALUES = new LinkedHashMap<>(); private static final Map CONFIG_BY_WORLD_NAME = new HashMap<>(); private static final String DEFAULT_FILE_HEADER = "# CoreProtect Config"; + private static final Pattern NON_DIGIT_PATTERN = Pattern.compile("[^0-9]"); public static final String LINE_SEPARATOR = "\n"; private static final Config GLOBAL = new Config(); @@ -370,7 +372,7 @@ private int getInt(final String key, final int dfl) { return dfl; } - configured = configured.replaceAll("[^0-9]", ""); + configured = NON_DIGIT_PATTERN.matcher(configured).replaceAll(""); return configured.isEmpty() ? dfl : Integer.parseInt(configured); } diff --git a/src/main/java/net/coreprotect/database/logger/BlockBreakLogger.java b/src/main/java/net/coreprotect/database/logger/BlockBreakLogger.java index f232a6040..626c268a9 100644 --- a/src/main/java/net/coreprotect/database/logger/BlockBreakLogger.java +++ b/src/main/java/net/coreprotect/database/logger/BlockBreakLogger.java @@ -63,7 +63,7 @@ else if (checkType != null && (checkType.equals(Material.AIR) || checkType.equal } if (checkType == Material.LECTERN && blockData != null) { - blockData = blockData.replaceFirst("has_book=true", "has_book=false"); + blockData = blockData.replace("has_book=true", "has_book=false"); } else if (checkType != null && (checkType == Material.PAINTING || BukkitAdapter.ADAPTER.isItemFrame(checkType))) { blockData = overrideData;