diff options
| author | Roman / Linnea Gräf <roman.graef@gmail.com> | 2023-05-31 13:05:25 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-05-31 13:05:25 +0200 |
| commit | 631cfec46220df2be3ae677f8f58a128303502e7 (patch) | |
| tree | 041e37ecc7f3f3f655cdbd0b0f868bd890bfb056 /src/main/java/io/github/moulberry/notenoughupdates/util/ItemResolutionQuery.java | |
| parent | e89d2e7de492c523a941cadf4747d428de6e7250 (diff) | |
| download | notenoughupdates-631cfec46220df2be3ae677f8f58a128303502e7.tar.gz notenoughupdates-631cfec46220df2be3ae677f8f58a128303502e7.tar.bz2 notenoughupdates-631cfec46220df2be3ae677f8f58a128303502e7.zip | |
DungeonNPCProfitOverlay: make use of ItemResolutionQuerys id by name … (#700)
DungeonNPCProfitOverlay: make use of ItemResolutionQuerys id by name resolvers
Diffstat (limited to 'src/main/java/io/github/moulberry/notenoughupdates/util/ItemResolutionQuery.java')
| -rw-r--r-- | src/main/java/io/github/moulberry/notenoughupdates/util/ItemResolutionQuery.java | 13 |
1 files changed, 6 insertions, 7 deletions
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<String> 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<String>(); 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"; |
