diff options
Diffstat (limited to 'src/main/java/gtPlusPlus/xmod/gregtech/common/helpers')
3 files changed, 20 insertions, 142 deletions
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/ChargingHelper.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/ChargingHelper.java index ac30942a5f..fff2e68200 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/ChargingHelper.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/ChargingHelper.java @@ -18,6 +18,7 @@ import gregtech.api.enums.GT_Values; import gregtech.api.util.GT_ModHandler; import gregtech.common.items.GT_MetaGenerated_Item_01; import gregtech.common.items.GT_MetaGenerated_Item_02; +import gregtech.common.items.GT_MetaGenerated_Item_03; import gregtech.common.items.GT_MetaGenerated_Tool_01; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.api.objects.data.Pair; @@ -26,7 +27,6 @@ import gtPlusPlus.core.lib.LoadedMods; import gtPlusPlus.core.util.Utils; import gtPlusPlus.core.util.math.MathUtils; import gtPlusPlus.core.util.minecraft.NBTUtils; -import gtPlusPlus.core.util.reflect.ReflectionUtils; import gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic.GregtechMetaWirelessCharger; import ic2.api.item.ElectricItem; import ic2.api.item.IElectricItem; @@ -322,10 +322,9 @@ public class ChargingHelper { if (mTemp.getItem() instanceof GT_MetaGenerated_Tool_01 || mTemp.getItem() instanceof GT_MetaGenerated_Item_01 || mTemp.getItem() instanceof GT_MetaGenerated_Item_02 - || ReflectionUtils.getClass("gregtech.common.items.GT_MetaGenerated_Item_03") - .isInstance(mTemp.getItem()) - || mTemp.getItem().getClass().getName().toLowerCase() - .equals(("gregtech.common.items.GT_MetaGenerated_Tool_01").toLowerCase())) { + || mTemp.getItem() instanceof GT_MetaGenerated_Item_03 + || mTemp.getItem().getClass().getName() + .equalsIgnoreCase(GT_MetaGenerated_Tool_01.class.getName())) { if (!NBTUtils.hasKey(mTemp, "GT.ItemCharge")) { if (!mTemp.getDisplayName().toLowerCase().contains("battery")) { if (!GT_ModHandler.isElectricItem(mTemp)) { diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/GT_MethodHelper.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/GT_MethodHelper.java index 0c0baf4723..a9dc1d1323 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/GT_MethodHelper.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/GT_MethodHelper.java @@ -1,78 +1,17 @@ package gtPlusPlus.xmod.gregtech.common.helpers; -import java.lang.reflect.Field; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; - import net.minecraft.block.Block; import net.minecraft.tileentity.TileEntity; import gregtech.api.enums.Textures.BlockIcons; import gregtech.api.interfaces.ITexture; -import gregtech.api.metatileentity.BaseMetaTileEntity; -import gregtech.api.metatileentity.MetaTileEntity; -import gtPlusPlus.core.util.reflect.ReflectionUtils; +import gregtech.api.interfaces.tileentity.ITexturedTileEntity; public class GT_MethodHelper { - private static final Method mGetTexture; - private static final Class mITexturedTileEntity; - - static { - Class clazz = null; - Method aMeth = null; - if (ReflectionUtils.doesClassExist("gregtech.api.interfaces.tileentity.ITexturedTileEntity")) { - clazz = ReflectionUtils.getClass("gregtech.api.interfaces.tileentity.ITexturedTileEntity"); - aMeth = ReflectionUtils.getMethod(clazz, "getTexture", Block.class, byte.class); - } - mITexturedTileEntity = clazz; - mGetTexture = aMeth; - } - public static ITexture[] getTexture(TileEntity tTileEntity, Block aBlock, byte aSide) { - - if (mITexturedTileEntity.isInstance(tTileEntity)) { - - if (mGetTexture != null) { - try { - mGetTexture.invoke(tTileEntity, aBlock, aSide); - } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) { - e.printStackTrace(); - } - } else { - if (tTileEntity instanceof BaseMetaTileEntity) { - try { - BaseMetaTileEntity aTile = (BaseMetaTileEntity) tTileEntity; - ITexture rIcon = aTile.getCoverTexture(aSide); - Field aFacing = ReflectionUtils.getField(BaseMetaTileEntity.class, "mFacing"); - Field aColor = ReflectionUtils.getField(BaseMetaTileEntity.class, "mColor"); - Field aActive = ReflectionUtils.getField(BaseMetaTileEntity.class, "mActive"); - Field aMetaTile = ReflectionUtils.getField(BaseMetaTileEntity.class, "mMetaTileEntity"); - Method aHasValidTile = ReflectionUtils - .getMethod(BaseMetaTileEntity.class, "hasValidMetaTileEntity", new Class[] {}); - - boolean hasValidTileObj = (boolean) aHasValidTile.invoke(aTile, new Object[] {}); - boolean aActiveObj = aActive.getBoolean(aTile); - byte aFacingObj = aFacing.getByte(aTile); - byte aColorObj = aColor.getByte(aTile);; - MetaTileEntity aMetaTileObj = (MetaTileEntity) aMetaTile.get(aTile); - - if (rIcon != null) { - return new ITexture[] { rIcon }; - } else { - return hasValidTileObj ? aMetaTileObj.getTexture( - aTile, - aSide, - aFacingObj, - (byte) (aColorObj - 1), - aActiveObj, - aTile.getOutputRedstoneSignal(aSide) > 0) : BlockIcons.ERROR_RENDERING; - } - } catch (Throwable t) { - t.printStackTrace(); - } - } - } + if (tTileEntity instanceof ITexturedTileEntity) { + return ((ITexturedTileEntity) tTileEntity).getTexture(aBlock, aSide); } return BlockIcons.ERROR_RENDERING; } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/VolumetricFlaskHelper.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/VolumetricFlaskHelper.java index 52aeb864dd..2b0e2a7a4d 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/VolumetricFlaskHelper.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/VolumetricFlaskHelper.java @@ -1,99 +1,49 @@ package gtPlusPlus.xmod.gregtech.common.helpers; -import java.lang.reflect.Constructor; -import java.lang.reflect.Method; - import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.fluids.FluidStack; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.reflect.ReflectionUtils; +import gregtech.api.enums.ItemList; +import gregtech.common.items.GT_VolumetricFlask; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.gregtech.common.Meta_GT_Proxy; public class VolumetricFlaskHelper { - private static final Class sClassVolumetricFlask; - private static final Method sMethodGetFlaskMaxCapacity; - private static Item mFlask; - - static { - if (Meta_GT_Proxy.sDoesVolumetricFlaskExist) { - sClassVolumetricFlask = ReflectionUtils.getClass("gregtech.common.items.GT_VolumetricFlask"); - Method aMaxCapacity = null; - try { - aMaxCapacity = sClassVolumetricFlask.getDeclaredMethod("getMaxCapacity", new Class[] {}); - } catch (NoSuchMethodException e) { - e.printStackTrace(); - CORE.crash( - "Secondary Error Obtaining instance of 'getMaxCapacity' from 'GT_VolumetricFlask'. Crashing."); - } - sMethodGetFlaskMaxCapacity = aMaxCapacity; - } else { - sClassVolumetricFlask = null; - sMethodGetFlaskMaxCapacity = null; - } - } - public static ItemStack getVolumetricFlask(int aAmount) { - ItemStack aFlask = ItemUtils.getValueOfItemList("VOLUMETRIC_FLASK", aAmount, (ItemStack) null); - return aFlask; + return ItemList.VOLUMETRIC_FLASK.get(aAmount); } public static ItemStack getLargeVolumetricFlask(int aAmount) { - ItemStack aFlask = GregtechItemList.VOLUMETRIC_FLASK_8k.get(aAmount); - return aFlask; + return GregtechItemList.VOLUMETRIC_FLASK_8k.get(aAmount); } public static ItemStack getGiganticVolumetricFlask(int aAmount) { - ItemStack aFlask = GregtechItemList.VOLUMETRIC_FLASK_32k.get(aAmount); - return aFlask; + return GregtechItemList.VOLUMETRIC_FLASK_32k.get(aAmount); } public static boolean isVolumetricFlask(ItemStack aStack) { - if (isNormalVolumetricFlask(aStack) || isLargeVolumetricFlask(aStack) || isGiganticVolumetricFlask(aStack)) { - return true; - } - return false; + return isNormalVolumetricFlask(aStack) || isLargeVolumetricFlask(aStack) || isGiganticVolumetricFlask(aStack); } public static boolean isNormalVolumetricFlask(ItemStack aStack) { - if (mFlask == null) { - ItemStack aFlask = ItemUtils.getValueOfItemList("VOLUMETRIC_FLASK", 1, (ItemStack) null); - if (aFlask != null) { - mFlask = aFlask.getItem(); - } - } - if (aStack.getItem() == mFlask) { - return true; - } - return false; + return aStack.getItem() == ItemList.VOLUMETRIC_FLASK.getItem(); } public static boolean isLargeVolumetricFlask(ItemStack aStack) { - if (GregtechItemList.VOLUMETRIC_FLASK_8k.getItem() == aStack.getItem()) { - return true; - } - return false; + return GregtechItemList.VOLUMETRIC_FLASK_8k.getItem() == aStack.getItem(); } public static boolean isGiganticVolumetricFlask(ItemStack aStack) { - if (GregtechItemList.VOLUMETRIC_FLASK_32k.getItem() == aStack.getItem()) { - return true; - } - return false; + return GregtechItemList.VOLUMETRIC_FLASK_32k.getItem() == aStack.getItem(); } public static int getMaxFlaskCapacity(ItemStack aStack) { - if (aStack != null && sMethodGetFlaskMaxCapacity != null) { + if (aStack != null) { Item aItem = aStack.getItem(); - if (sClassVolumetricFlask.isInstance(aItem)) { - int aMaxCapacity = (int) ReflectionUtils - .invokeNonBool(aItem, sMethodGetFlaskMaxCapacity, new Object[] {}); - return aMaxCapacity; + if (aItem instanceof GT_VolumetricFlask) { + return ((GT_VolumetricFlask) aItem).getMaxCapacity(); } } return 0; @@ -170,16 +120,6 @@ public class VolumetricFlaskHelper { } public static Item generateNewFlask(String unlocalized, String english, int maxCapacity) { - Constructor aFlask = ReflectionUtils - .getConstructor(sClassVolumetricFlask, new Class[] { String.class, String.class, int.class }); - if (aFlask != null) { - Object aInstance = ReflectionUtils - .createNewInstanceFromConstructor(aFlask, new Object[] { unlocalized, english, maxCapacity }); - if (aInstance != null && aInstance instanceof Item) { - Item aNewFlaskItem = (Item) aInstance; - return aNewFlaskItem; - } - } - return null; + return new GT_VolumetricFlask(unlocalized, english, maxCapacity); } } |