From 9277f4d3076a593904345b563b61b63204328a55 Mon Sep 17 00:00:00 2001 From: miozune Date: Sun, 18 Aug 2024 23:38:47 +0900 Subject: Prevent crash by localizing material (#2920) --- src/main/java/gregtech/api/enums/Materials.java | 29 ++++++++++++++++--------- 1 file changed, 19 insertions(+), 10 deletions(-) (limited to 'src/main/java/gregtech/api') diff --git a/src/main/java/gregtech/api/enums/Materials.java b/src/main/java/gregtech/api/enums/Materials.java index 2006c191e6..16553e2d42 100644 --- a/src/main/java/gregtech/api/enums/Materials.java +++ b/src/main/java/gregtech/api/enums/Materials.java @@ -8,6 +8,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Collections; +import java.util.IllegalFormatException; import java.util.LinkedHashMap; import java.util.LinkedHashSet; import java.util.List; @@ -3230,19 +3231,27 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { } public String getDefaultLocalizedNameForItem(String aFormat) { - return String.format( - aFormat.replace("%s", "%temp") - .replace("%material", "%s"), - this.mDefaultLocalName) - .replace("%temp", "%s"); + try { + return String.format( + aFormat.replace("%s", "%temp") + .replace("%material", "%s"), + this.mDefaultLocalName) + .replace("%temp", "%s"); + } catch (IllegalFormatException ignored) { + return aFormat; + } } public String getLocalizedNameForItem(String aFormat) { - return String.format( - aFormat.replace("%s", "%temp") - .replace("%material", "%s"), - this.mLocalizedName) - .replace("%temp", "%s"); + try { + return String.format( + aFormat.replace("%s", "%temp") + .replace("%material", "%s"), + this.mLocalizedName) + .replace("%temp", "%s"); + } catch (IllegalFormatException ignored) { + return aFormat; + } } public boolean hasCorrespondingFluid() { -- cgit