From df47370f5e65379e6c2cd705413972946418cbe2 Mon Sep 17 00:00:00 2001 From: miozune Date: Sat, 16 Jul 2022 06:51:39 +0900 Subject: Less hacky way to get material owner (#160) Former-commit-id: dd9f3b2d70fd2aaca62348cf9612a9ad3cf14377 --- .../bartworks/system/material/Werkstoff.java | 33 +++++++++++++--------- 1 file changed, 19 insertions(+), 14 deletions(-) (limited to 'src/main/java/com') diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/Werkstoff.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/Werkstoff.java index ac4a381fa6..3175213550 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/Werkstoff.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/Werkstoff.java @@ -22,6 +22,7 @@ package com.github.bartimaeusnek.bartworks.system.material; +import com.github.bartimaeusnek.bartworks.MainMod; import com.github.bartimaeusnek.bartworks.common.loaders.StaticRecipeChangeLoaders; import com.github.bartimaeusnek.bartworks.system.oredict.OreDictHandler; import com.github.bartimaeusnek.bartworks.util.BW_ColorUtil; @@ -29,7 +30,10 @@ import com.github.bartimaeusnek.bartworks.util.BW_Util; import com.github.bartimaeusnek.bartworks.util.MurmurHash3; import com.github.bartimaeusnek.bartworks.util.NonNullWrappedHashMap; import com.github.bartimaeusnek.bartworks.util.Pair; +import com.github.bartimaeusnek.crossmod.BartWorksCrossmod; +import com.github.bartimaeusnek.crossmod.tgregworks.MaterialsInjector; import com.github.bartimaeusnek.crossmod.thaumcraft.util.ThaumcraftHandler; +import cpw.mods.fml.common.Loader; import gregtech.api.GregTech_API; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; @@ -67,15 +71,16 @@ public class Werkstoff implements IColorModulationContainer, ISubTagContainer { public static final LinkedHashMap werkstoffHashMap = new LinkedHashMap<>(); public static final LinkedHashMap werkstoffNameHashMap = new LinkedHashMap<>(); - /** - * {className, modName} - */ - public static final Map knownModNames = new HashMap(){{ - put("goodgenerator.items", GREEN + "Good Generator"); - put("com.elisis.gtnhlanth.common.register", GREEN + "GTNH: Lanthanides"); - put("galaxyspace.core.register", DARK_PURPLE + "GalaxySpace"); + public static final Map modNameOverrides = new HashMap(){{ + put("GalaxySpace", DARK_PURPLE + "GalaxySpace"); }}; + private static final List BWModNames = Arrays.asList( + MainMod.NAME, + BartWorksCrossmod.NAME, + MaterialsInjector.NAME + ); + private static final HashSet idHashSet = new HashSet<>(); private static final Werkstoff.Stats DEFAULT_NULL_STATS = new Werkstoff.Stats(); @@ -550,14 +555,14 @@ public class Werkstoff implements IColorModulationContainer, ISubTagContainer { } private String getMaterialOwner() { - for (StackTraceElement stacktrace : Thread.currentThread().getStackTrace()) { - for (Map.Entry entry : knownModNames.entrySet()) { - if (stacktrace.getClassName().contains(entry.getKey())) { - return entry.getValue(); - } - } + String modName = Loader.instance().activeModContainer().getName(); + if (modNameOverrides.get(modName) != null) { + return modNameOverrides.get(modName); } - return null; + if (BWModNames.contains(modName)) { + return null; + } + return GREEN + modName; } public enum Types { -- cgit