package gtPlusPlus.xmod.eio.handler; import static gtPlusPlus.core.lib.CORE.ConfigSwitches.disableEnderIOIngotTooltips; import java.lang.reflect.Field; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import gregtech.api.enums.Materials; import gtPlusPlus.core.lib.LoadedMods; import gtPlusPlus.core.util.minecraft.ItemUtils; import gtPlusPlus.core.util.reflect.ReflectionUtils; import gtPlusPlus.xmod.eio.material.MaterialEIO; import net.minecraftforge.event.entity.player.ItemTooltipEvent; public class HandlerTooltip_EIO { private static Item mIngot; Class oMainClass; Class oIngotClass; @SubscribeEvent public void onItemTooltip(ItemTooltipEvent event){ //Is EIO loaded? if (!disableEnderIOIngotTooltips && LoadedMods.EnderIO){ //Is the EIO Ingot Item null? //If it is, reflect in. if (mIngot == null){ try { oMainClass = ReflectionUtils.getClass("crazypants.enderio.EnderIO"); oIngotClass = ReflectionUtils.getClass("crazypants.enderio.material.ItemAlloy"); if (oMainClass != null && oIngotClass != null){ Field oAlloyField = ReflectionUtils.getField(oMainClass, "itemAlloy"); Object oAlloy = oAlloyField.get(oMainClass); if (oAlloy != null){ if (oIngotClass.isInstance(oAlloy) || Item.class.isInstance(oAlloy)){ mIngot = (Item) oAlloy; } } } } catch (Throwable e) { } } if (mIngot != null){ //If the Item is an instance of ItemAlloy.class then proceed if (event.itemStack.getItem() == mIngot || oIngotClass.isInstance(event.itemStack.getItem()) || event.itemStack.getUnlocalizedName().toLowerCase().contains("item.itemAlloy")){ //If stacks match, add a tooltip. if (mIngot != null){ if (event.itemStack.getItem() == mIngot){ if (event.itemStack.getItemDamage() == 0){ event.toolTip.add(MaterialEIO.ELECTRICAL_STEEL.vChemicalFormula); } else if (event.itemStack.getItemDamage() == 1){ event.toolTip.add(MaterialEIO.ENERGETIC_ALLOY.vChemicalFormula); } else if (event.itemStack.getItemDamage() == 2){ event.toolTip.add(MaterialEIO.VIBRANT_ALLOY.vChemicalFormula); } else if (event.itemStack.getItemDamage() == 3){ event.toolTip.add(MaterialEIO.REDSTONE_ALLOY.vChemicalFormula); } else if (event.itemStack.getItemDamage() == 4){ event.toolTip.add(MaterialEIO.CONDUCTIVE_IRON.vChemicalFormula); } else if (event.itemStack.getItemDamage() == 5){ event.toolTip.add(MaterialEIO.PULSATING_IRON.vChemicalFormula); } else if (event.itemStack.getItemDamage() == 6){ event.toolTip.add(Materials.DarkSteel.mChemicalFormula); } else if (event.itemStack.getItemDamage() == 7){ event.toolTip.add(MaterialEIO.SOULARIUM.vChemicalFormula); } } } } } } } }