Fix variables in kits having underscores replaced with spaces (#5366)

This commit is contained in:
Josh Roy 2023-05-26 21:51:11 -04:00 committed by GitHub
parent 1e0f7cb984
commit 2828901927
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 5 deletions

View File

@ -194,14 +194,14 @@ public class MetaItemStack {
final Material WRITTEN_BOOK = EnumUtil.getMaterial("WRITTEN_BOOK"); final Material WRITTEN_BOOK = EnumUtil.getMaterial("WRITTEN_BOOK");
if (split.length > 1 && split[0].equalsIgnoreCase("name") && hasMetaPermission(sender, "name", false, true, ess)) { if (split.length > 1 && split[0].equalsIgnoreCase("name") && hasMetaPermission(sender, "name", false, true, ess)) {
final String displayName = FormatUtil.replaceFormat(split[1].replace('_', ' ')); final String displayName = FormatUtil.replaceFormat(split[1].replaceAll("(?<!\\\\)_", " ").replace("\\_", "_"));
final ItemMeta meta = stack.getItemMeta(); final ItemMeta meta = stack.getItemMeta();
meta.setDisplayName(displayName); meta.setDisplayName(displayName);
stack.setItemMeta(meta); stack.setItemMeta(meta);
} else if (split.length > 1 && (split[0].equalsIgnoreCase("lore") || split[0].equalsIgnoreCase("desc")) && hasMetaPermission(sender, "lore", false, true, ess)) { } else if (split.length > 1 && (split[0].equalsIgnoreCase("lore") || split[0].equalsIgnoreCase("desc")) && hasMetaPermission(sender, "lore", false, true, ess)) {
final List<String> lore = new ArrayList<>(); final List<String> lore = new ArrayList<>();
for (final String line : split[1].split("(?<!\\\\)\\|")) { for (final String line : split[1].split("(?<!\\\\)\\|")) {
lore.add(FormatUtil.replaceFormat(line.replace('_', ' ').replace("\\|", "|"))); lore.add(FormatUtil.replaceFormat(line.replaceAll("(?<!\\\\)_", " ").replace("\\_", "_").replace("\\|", "|")));
} }
final ItemMeta meta = stack.getItemMeta(); final ItemMeta meta = stack.getItemMeta();
meta.setLore(lore); meta.setLore(lore);
@ -230,7 +230,7 @@ public class MetaItemStack {
meta.setAuthor(author); meta.setAuthor(author);
stack.setItemMeta(meta); stack.setItemMeta(meta);
} else if (split.length > 1 && split[0].equalsIgnoreCase("title") && stack.getType() == WRITTEN_BOOK && hasMetaPermission(sender, "title", false, true, ess)) { } else if (split.length > 1 && split[0].equalsIgnoreCase("title") && stack.getType() == WRITTEN_BOOK && hasMetaPermission(sender, "title", false, true, ess)) {
final String title = FormatUtil.replaceFormat(split[1].replace('_', ' ')); final String title = FormatUtil.replaceFormat(split[1].replaceAll("(?<!\\\\)_", " ").replace("\\_", "_"));
final BookMeta meta = (BookMeta) stack.getItemMeta(); final BookMeta meta = (BookMeta) stack.getItemMeta();
meta.setTitle(title); meta.setTitle(title);
stack.setItemMeta(meta); stack.setItemMeta(meta);
@ -240,7 +240,7 @@ public class MetaItemStack {
final List<String> pages = meta.hasPages() ? new ArrayList<>(meta.getPages()) : new ArrayList<>(); final List<String> pages = meta.hasPages() ? new ArrayList<>(meta.getPages()) : new ArrayList<>();
final List<String> lines = new ArrayList<>(); final List<String> lines = new ArrayList<>();
for (final String line : split[1].split("(?<!\\\\)\\|")) { for (final String line : split[1].split("(?<!\\\\)\\|")) {
lines.add(FormatUtil.replaceFormat(line.replace('_', ' ').replace("\\|", "|"))); lines.add(FormatUtil.replaceFormat(line.replaceAll("(?<!\\\\)_", " ").replace("\\_", "_").replace("\\|", "|")));
} }
final String content = String.join("\n", lines); final String content = String.join("\n", lines);
if (page >= pages.size()) { if (page >= pages.size()) {

View File

@ -375,7 +375,7 @@ public class KeywordReplacer implements IText {
} }
if (this.replaceSpacesWithUnderscores) { if (this.replaceSpacesWithUnderscores) {
replacer = replacer.replaceAll("\\s", "_"); replacer = replacer.replace("_", "\\_").replaceAll("\\s", "_");
} }
//If this is just a regular keyword, lets throw it into the cache //If this is just a regular keyword, lets throw it into the cache