From 17bd2a1fcbf34cbadf982877d824000a57470daa Mon Sep 17 00:00:00 2001 From: Phoenix616 Date: Sun, 27 Aug 2023 16:29:06 +0100 Subject: [PATCH] Fix issues with spaces in shortened item names --- src/main/java/com/Acrobot/Breeze/Utils/MaterialUtil.java | 4 ++-- src/test/java/com/Acrobot/Breeze/Tests/MaterialTest.java | 9 +++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/Acrobot/Breeze/Utils/MaterialUtil.java b/src/main/java/com/Acrobot/Breeze/Utils/MaterialUtil.java index 16d8861..2d5b86e 100644 --- a/src/main/java/com/Acrobot/Breeze/Utils/MaterialUtil.java +++ b/src/main/java/com/Acrobot/Breeze/Utils/MaterialUtil.java @@ -182,7 +182,7 @@ public class MaterialUtil { replacedName = replacedName.replaceAll(entry.getValue() + "(_|$)?", entry.getKey() + "$1"); } - String formatted = name.replaceAll("(?\\s?)([A-Z1-9])", "_$1").replace(' ', '_').toUpperCase(Locale.ROOT); Material material = MATERIAL_CACHE.get(formatted); if (material != null) { @@ -467,7 +467,7 @@ public class MaterialUtil { return E.valueOf(values[0].getDeclaringClass(), name.toUpperCase(Locale.ROOT)); } catch (IllegalArgumentException exception) { E currentEnum = null; - String[] typeParts = name.replaceAll("(?\\s?)([A-Z1-9])", "_$1").toUpperCase(Locale.ROOT).split("[ _]"); int length = Short.MAX_VALUE; name = name.toUpperCase(Locale.ROOT); for (E e : values) { diff --git a/src/test/java/com/Acrobot/Breeze/Tests/MaterialTest.java b/src/test/java/com/Acrobot/Breeze/Tests/MaterialTest.java index 2941495..140739d 100644 --- a/src/test/java/com/Acrobot/Breeze/Tests/MaterialTest.java +++ b/src/test/java/com/Acrobot/Breeze/Tests/MaterialTest.java @@ -8,6 +8,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; +import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertSame; import static org.junit.Assert.assertTrue; @@ -49,4 +50,12 @@ public class MaterialTest { assertSame(shortenedName + " did not produce " + material, material, MaterialUtil.getMaterial(shortenedName)); } } + + @Test + public void testCodesWithAndWithoutSpace() { + assertNotNull(MaterialUtil.getMaterial("DiamonPicka")); + assertNotNull(MaterialUtil.getMaterial("Diamon Picka")); + assertNotNull(MaterialUtil.getMaterial("ExpBottle")); + assertNotNull(MaterialUtil.getMaterial("Exp Bottle")); + } }