From b34041b645d5ab0803382706b030473bbdf0f664 Mon Sep 17 00:00:00 2001 From: miozune Date: Wed, 17 Aug 2022 17:58:29 +0900 Subject: Flotation Cell fixes (#271) * Flotation Cell fixes * Add info on type locking * address review --- .../common/helpers/FlotationRecipeHandler.java | 38 +++++++--------------- 1 file changed, 11 insertions(+), 27 deletions(-) (limited to 'src/main/java/gtPlusPlus/xmod/gregtech/common/helpers') diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/FlotationRecipeHandler.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/FlotationRecipeHandler.java index 333939d800..8a2c82535f 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/FlotationRecipeHandler.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/FlotationRecipeHandler.java @@ -2,25 +2,23 @@ package gtPlusPlus.xmod.gregtech.common.helpers; import java.util.HashMap; -import gregtech.api.enums.OrePrefixes; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; -import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.material.Material; -import gtPlusPlus.core.util.data.AES; +import gtPlusPlus.core.util.sys.Log; import gtPlusPlus.xmod.gregtech.api.enums.CustomOrePrefix; import net.minecraft.item.ItemStack; +import net.minecraftforge.oredict.OreDictionary; public class FlotationRecipeHandler { - private static HashMap sMaterialMap = new HashMap(); - private static HashMap sMilledMap = new HashMap(); - private static final AES sEncodingHandler = new AES(); + private static final HashMap sMaterialMap = new HashMap(); + private static final HashMap sMilledMap = new HashMap(); public static boolean registerOreType(Material aMaterial) { - String aMaterialKey = sEncodingHandler.encode(aMaterial.getUnlocalizedName()); + String aMaterialKey = aMaterial.getUnlocalizedName(); if (sMaterialMap.containsKey(aMaterialKey)) { - CORE.crash("Tried to register a Flotation material to an ID already in use. ID: "+aMaterialKey); + Log.warn("Tried to register a Flotation material already in use. Material: "+aMaterialKey); return false; } else { @@ -30,19 +28,6 @@ public class FlotationRecipeHandler { return true; } - public static int getHashForMaterial(Material aMaterial) { - return getMaterialsID(aMaterial).hashCode(); - } - - public static String getMaterialsID(Material aMaterial) { - for (String aKey : sMaterialMap.keySet()) { - if (sMaterialMap.get(aKey).equals(aMaterial)) { - return aKey; - } - } - return "BAD_MATERIAL_ID"; - } - public static Material getMaterialOfMilledProduct(ItemStack aMilled) { for (String aKey : sMilledMap.keySet()) { ItemStack aTempMilledStack = sMilledMap.get(aKey); @@ -65,15 +50,14 @@ public class FlotationRecipeHandler { return null; } for (ItemStack aStack : aInputs) { - if (CustomOrePrefix.milled.get().contains(aStack)) { - return aStack; + for (int oredictID : OreDictionary.getOreIDs(aStack)) { + String oredict = OreDictionary.getOreName(oredictID); + if (oredict.startsWith(CustomOrePrefix.milled.toString())) { + return aStack; + } } } return null; } - public static AES getEncoder() { - return sEncodingHandler; - } - } -- cgit