From 631cfec46220df2be3ae677f8f58a128303502e7 Mon Sep 17 00:00:00 2001 From: Roman / Linnea Gräf Date: Wed, 31 May 2023 13:05:25 +0200 Subject: DungeonNPCProfitOverlay: make use of ItemResolutionQuerys id by name … (#700) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit DungeonNPCProfitOverlay: make use of ItemResolutionQuerys id by name resolvers --- .../notenoughupdates/util/ItemResolutionQuery.java | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'src/main/java/io/github/moulberry/notenoughupdates/util/ItemResolutionQuery.java') diff --git a/src/main/java/io/github/moulberry/notenoughupdates/util/ItemResolutionQuery.java b/src/main/java/io/github/moulberry/notenoughupdates/util/ItemResolutionQuery.java index cfeecf66..33ed176e 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/util/ItemResolutionQuery.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/util/ItemResolutionQuery.java @@ -46,7 +46,7 @@ import java.util.regex.Pattern; public class ItemResolutionQuery { - private static final Pattern ENCHANTED_BOOK_NAME_PATTERN = Pattern.compile("^((?:§.)+)([^§]+) ([IVXL]+)$"); + private static final Pattern ENCHANTED_BOOK_NAME_PATTERN = Pattern.compile("^((?:§.)*)([^§]+) ([IVXL]+)$"); private static final String EXTRA_ATTRIBUTES = "ExtraAttributes"; private static final List PET_RARITIES = Arrays.asList( "COMMON", @@ -203,9 +203,7 @@ public class ItemResolutionQuery { String bestMatch = null; int bestMatchLength = -1; for (String internalName : findInternalNameCandidatesForDisplayName(cleanDisplayName)) { - var item = manager.createItem(internalName); - if (item.getDisplayName() == null) continue; - var cleanItemDisplayName = StringUtils.cleanColour(item.getDisplayName()); + var cleanItemDisplayName = StringUtils.cleanColour(manager.getDisplayName(internalName)); if (cleanItemDisplayName.length() == 0) continue; if (mayBeMangled ? !cleanDisplayName.contains(cleanItemDisplayName) @@ -234,6 +232,7 @@ public class ItemResolutionQuery { var titleWordMap = NotEnoughUpdates.INSTANCE.manager.titleWordMap; var candidates = new HashSet(); for (var partialDisplayName : cleanDisplayName.split(" ")) { + if ("".equals(partialDisplayName)) continue; if (!titleWordMap.containsKey(partialDisplayName)) continue; candidates.addAll(titleWordMap.get(partialDisplayName).keySet()); } @@ -253,7 +252,7 @@ public class ItemResolutionQuery { return null; } - private String resolveEnchantmentByName(String name) { + public static String resolveEnchantmentByName(String name) { Matcher matcher = ENCHANTED_BOOK_NAME_PATTERN.matcher(name); if (!matcher.matches()) return null; String format = matcher.group(1).toLowerCase(Locale.ROOT); @@ -261,12 +260,12 @@ public class ItemResolutionQuery { String romanLevel = matcher.group(3); boolean ultimate = (format.contains("§l")); - return ((ultimate && !name.equals("Ultimate Wise")) ? "ULTIMATE_" : "") + return ((ultimate && !enchantmentName.equals("Ultimate Wise")) ? "ULTIMATE_" : "") + turboCheck(enchantmentName).replace(" ", "_").replace("-", "_").toUpperCase(Locale.ROOT) + ";" + Utils.parseRomanNumeral(romanLevel); } - private String turboCheck(String text) { + private static String turboCheck(String text) { if (text.equals("Turbo-Cocoa")) return "Turbo-Coco"; if (text.equals("Turbo-Cacti")) return "Turbo-Cactus"; -- cgit