aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/preloader/Preloader_GT_OreDict.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/gtPlusPlus/preloader/Preloader_GT_OreDict.java')
-rw-r--r--src/Java/gtPlusPlus/preloader/Preloader_GT_OreDict.java103
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;
}