diff --git a/Essentials/src/main/java/com/earth2me/essentials/textreader/KeywordReplacer.java b/Essentials/src/main/java/com/earth2me/essentials/textreader/KeywordReplacer.java index 8edbfd1241f..699933808ff 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/textreader/KeywordReplacer.java +++ b/Essentials/src/main/java/com/earth2me/essentials/textreader/KeywordReplacer.java @@ -140,6 +140,13 @@ private void replaceKeywords(final CommandSource sender) { for (int i = 0; i < input.getLines().size(); i++) { String line = input.getLines().get(i); + + // Skip processing b64 encoded items, they will not have keywords in them. + if (line.charAt(0) == '@') { + replaced.add(line); + continue; + } + final Matcher matcher = KEYWORD.matcher(line); while (matcher.find()) { @@ -375,7 +382,10 @@ private String replaceLine(String line, final String fullMatch, final String[] m } if (this.replaceSpacesWithUnderscores) { - replacer = replacer.replace("_", "\\_").replaceAll("\\s", "_"); + // Don't replace spaces with underscores in command nor escape underscores. + if (line.charAt(0) != '/') { + replacer = replacer.replace("_", "\\_").replaceAll("\\s", "_"); + } } //If this is just a regular keyword, lets throw it into the cache