diff options
Diffstat (limited to 'src/Java/gtPlusPlus/preloader/Preloader_GT_OreDict.java')
-rw-r--r-- | src/Java/gtPlusPlus/preloader/Preloader_GT_OreDict.java | 103 |
1 files changed, 90 insertions, 13 deletions
diff --git a/src/Java/gtPlusPlus/preloader/Preloader_GT_OreDict.java b/src/Java/gtPlusPlus/preloader/Preloader_GT_OreDict.java index 5b9fac6b7b..9b3b7092da 100644 --- a/src/Java/gtPlusPlus/preloader/Preloader_GT_OreDict.java +++ b/src/Java/gtPlusPlus/preloader/Preloader_GT_OreDict.java @@ -4,18 +4,18 @@ import org.apache.logging.log4j.Level; import cpw.mods.fml.relauncher.FMLRelaunchLog; import gregtech.common.items.GT_MetaGenerated_Item_01; -import gtPlusPlus.core.util.Utils; +import gtPlusPlus.core.lib.LoadedMods; import gtPlusPlus.core.util.item.ItemUtils; import net.minecraft.item.ItemStack; public class Preloader_GT_OreDict { - public static boolean shouldPreventRegistration(String string, ItemStack circuit) { - if (CORE_Preloader.enableOldGTcircuits){ - try { - if (circuit != null && ItemUtils.getModId(circuit).toLowerCase().equals("gregtech")){ - int damageValue = circuit.getItemDamage() - 32000; - if (circuit.getItem() instanceof GT_MetaGenerated_Item_01) { // 700-720 + public static boolean shouldPreventRegistration(String string, ItemStack bannedItem) { + try { + if (CORE_Preloader.enableOldGTcircuits){ + if (bannedItem != null && ItemUtils.getModId(bannedItem).toLowerCase().equals("gregtech")){ + int damageValue = bannedItem.getItemDamage() - 32000; + if (bannedItem.getItem() instanceof GT_MetaGenerated_Item_01) { // 700-720 if (damageValue >= 700 && damageValue <= 720) { return true; } @@ -24,7 +24,7 @@ public class Preloader_GT_OreDict { try { if (Class.forName("gregtech.common.items.GT_MetaGenerated_Item_03") != null) { // 6/11/12/14/16/20/30-57/69-73/79-96 Class<?> MetaItem03 = Class.forName("gregtech.common.items.GT_MetaGenerated_Item_03"); - if (isInstanceOf(MetaItem03, circuit.getItem())) { + if (isInstanceOf(MetaItem03, bannedItem.getItem())) { if (damageValue == 6 || damageValue == 7 || damageValue == 11 || damageValue == 12 || damageValue == 14 || damageValue == 16 || damageValue == 20 || damageValue == 21 || damageValue == 22) { return true; @@ -45,13 +45,90 @@ public class Preloader_GT_OreDict { } } } - } catch (Throwable e) { - FMLRelaunchLog.log("[GT++ ASM] OreDictTransformer", Level.INFO, "A mod tried to register an invalid item with the OreDictonary."); - if (circuit != null){ - FMLRelaunchLog.log("[GT++ ASM] OreDictTransformer", Level.INFO, "Please report this issue to the authors of "+ItemUtils.getModId(circuit)); + } + + //Mekanism Support - Let's not make Mek Osmium useful in GT anymore. + if (bannedItem != null && (ItemUtils.getModId(bannedItem).toLowerCase().equals("mekanism") || LoadedMods.Mekanism)){ + //Circuits + if (Class.forName("mekanism.common.item.ItemControlCircuit") != null) { + Class<?> MekCircuit = Class.forName("mekanism.common.item.ItemControlCircuit"); + if (isInstanceOf(MekCircuit, bannedItem.getItem())) { + for (int r=0;r<4;r++){ + if (bannedItem.getItemDamage() == r){ + FMLRelaunchLog.log("[GT++ ASM] OreDictTransformer", Level.INFO, "Removing "+bannedItem.getDisplayName()+" from the OreDictionary to balance Mekanism."); + return true; + } + } + } + } + //Ingots + if (Class.forName("mekanism.common.item.ItemIngot") != null) { + Class<?> MekIngot = Class.forName("mekanism.common.item.ItemIngot"); + if (isInstanceOf(MekIngot, bannedItem.getItem())) { + if (bannedItem.getItemDamage() == 1){ + FMLRelaunchLog.log("[GT++ ASM] OreDictTransformer", Level.INFO, "Removing "+bannedItem.getDisplayName()+" from the OreDictionary to balance Mekanism."); + return true; + } + } } - FMLRelaunchLog.log("[GT++ ASM] OreDictTransformer", Level.INFO, e.getMessage()); + //Dirty Dust + if (Class.forName("mekanism.common.item.ItemDirtyDust") != null) { + Class<?> MekIngot = Class.forName("mekanism.common.item.ItemDirtyDust"); + if (isInstanceOf(MekIngot, bannedItem.getItem())) { + if (bannedItem.getItemDamage() == 2){ + FMLRelaunchLog.log("[GT++ ASM] OreDictTransformer", Level.INFO, "Removing "+bannedItem.getDisplayName()+" from the OreDictionary to balance Mekanism."); + return true; + } + } + } + //Dust + if (Class.forName("mekanism.common.item.ItemDust") != null) { + Class<?> MekIngot = Class.forName("mekanism.common.item.ItemDust"); + if (isInstanceOf(MekIngot, bannedItem.getItem())) { + if (bannedItem.getItemDamage() == 2){ + FMLRelaunchLog.log("[GT++ ASM] OreDictTransformer", Level.INFO, "Removing "+bannedItem.getDisplayName()+" from the OreDictionary to balance Mekanism."); + return true; + } + } + } + //Crystal + if (Class.forName("mekanism.common.item.ItemCrystal") != null) { + Class<?> MekIngot = Class.forName("mekanism.common.item.ItemCrystal"); + if (isInstanceOf(MekIngot, bannedItem.getItem())) { + if (bannedItem.getItemDamage() == 2){ + FMLRelaunchLog.log("[GT++ ASM] OreDictTransformer", Level.INFO, "Removing "+bannedItem.getDisplayName()+" from the OreDictionary to balance Mekanism."); + return true; + } + } + } + //Clump + if (Class.forName("mekanism.common.item.ItemClump") != null) { + Class<?> MekIngot = Class.forName("mekanism.common.item.ItemClump"); + if (isInstanceOf(MekIngot, bannedItem.getItem())) { + if (bannedItem.getItemDamage() == 2){ + FMLRelaunchLog.log("[GT++ ASM] OreDictTransformer", Level.INFO, "Removing "+bannedItem.getDisplayName()+" from the OreDictionary to balance Mekanism."); + return true; + } + } + } + //Ores + if (Class.forName("mekanism.common.item.ItemBlockOre") != null) { + Class<?> MekOre = Class.forName("mekanism.common.item.ItemBlockOre"); + if (isInstanceOf(MekOre, bannedItem.getItem()) || bannedItem == ItemUtils.simpleMetaStack("Mekanism:OreBlock", 0, 1)) { + if (bannedItem.getItemDamage() == 0){ + FMLRelaunchLog.log("[GT++ ASM] OreDictTransformer", Level.INFO, "Removing "+bannedItem.getDisplayName()+" from the OreDictionary to balance Mekanism."); + return true; + } + } + } + } + + } catch (Throwable e) { + FMLRelaunchLog.log("[GT++ ASM] OreDictTransformer", Level.INFO, "A mod tried to register an invalid item with the OreDictonary."); + if (bannedItem != null){ + FMLRelaunchLog.log("[GT++ ASM] OreDictTransformer", Level.INFO, "Please report this issue to the authors of "+ItemUtils.getModId(bannedItem)); } + FMLRelaunchLog.log("[GT++ ASM] OreDictTransformer", Level.INFO, e.getMessage()); } return false; } |