diff options
author | Draknyte1 <Draknyte1@hotmail.com> | 2016-09-01 12:21:33 +1000 |
---|---|---|
committer | Draknyte1 <Draknyte1@hotmail.com> | 2016-09-01 12:21:33 +1000 |
commit | b2f32b27b25d6275510905ec2c3683c4f390a95b (patch) | |
tree | 06b396aeb1e83f7532f0cd1406d572562c1fabf6 /src/Java/miscutil | |
parent | 64179af9800fd0bf606f4e62e5c5b869128c6a2e (diff) | |
download | GT5-Unofficial-b2f32b27b25d6275510905ec2c3683c4f390a95b.tar.gz GT5-Unofficial-b2f32b27b25d6275510905ec2c3683c4f390a95b.tar.bz2 GT5-Unofficial-b2f32b27b25d6275510905ec2c3683c4f390a95b.zip |
+ Added some better support for the 5.9 branch of Gregtech.
> Added variable method classes which allow 5.7, 5.8 and 5.9 code segments to co-exist without compile or static link errors.
Diffstat (limited to 'src/Java/miscutil')
8 files changed, 133 insertions, 77 deletions
diff --git a/src/Java/miscutil/core/item/base/dusts/BaseItemDust.java b/src/Java/miscutil/core/item/base/dusts/BaseItemDust.java index 8dc49c3249..5084e71018 100644 --- a/src/Java/miscutil/core/item/base/dusts/BaseItemDust.java +++ b/src/Java/miscutil/core/item/base/dusts/BaseItemDust.java @@ -2,8 +2,6 @@ package miscutil.core.item.base.dusts; import static miscutil.core.creative.AddToCreativeTab.tabMisc; import gregtech.api.enums.GT_Values; -import gregtech.api.enums.ItemList; -import gregtech.api.enums.OrePrefixes; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; @@ -12,6 +10,7 @@ import java.util.List; import miscutil.core.lib.CORE; import miscutil.core.lib.MaterialInfo; import miscutil.core.util.Utils; +import miscutil.core.util.gregtech.five.GregtechVersionRecipeHandler; import miscutil.core.util.item.UtilsItems; import miscutil.core.util.math.MathUtils; import miscutil.core.util.recipe.UtilsRecipe; @@ -93,28 +92,28 @@ public class BaseItemDust extends Item{ } return name; } - + protected final int sRadiation; - @Override - public void onUpdate(ItemStack iStack, World world, Entity entityHolding, int p_77663_4_, boolean p_77663_5_) { - Utils.applyRadiationDamageToEntity(sRadiation, world, entityHolding); - } + @Override + public void onUpdate(ItemStack iStack, World world, Entity entityHolding, int p_77663_4_, boolean p_77663_5_) { + Utils.applyRadiationDamageToEntity(sRadiation, world, entityHolding); + } @Override public void addInformation(ItemStack stack, EntityPlayer aPlayer, List list, boolean bool) { //if (pileType != null && materialName != null && pileType != "" && materialName != "" && !pileType.equals("") && !materialName.equals("")){ - if (getUnlocalizedName().contains("DustTiny")){ - list.add(EnumChatFormatting.GRAY+"A tiny pile of " + materialName + " dust."); - } - else if (getUnlocalizedName().contains("DustSmall")){ - list.add(EnumChatFormatting.GRAY+"A small pile of " + materialName + " dust."); - } - else { - list.add(EnumChatFormatting.GRAY+"A pile of " + materialName + " dust."); - } - if (sRadiation > 0){ - list.add(CORE.GT_Tooltip_Radioactive); - } + if (getUnlocalizedName().contains("DustTiny")){ + list.add(EnumChatFormatting.GRAY+"A tiny pile of " + materialName + " dust."); + } + else if (getUnlocalizedName().contains("DustSmall")){ + list.add(EnumChatFormatting.GRAY+"A small pile of " + materialName + " dust."); + } + else { + list.add(EnumChatFormatting.GRAY+"A pile of " + materialName + " dust."); + } + if (sRadiation > 0){ + list.add(CORE.GT_Tooltip_Radioactive); + } //} super.addInformation(stack, aPlayer, list, bool); } @@ -131,8 +130,8 @@ public class BaseItemDust extends Item{ return colour; } - - + + private void addMixerRecipe(){ ItemStack tempStack = UtilsItems.getSimpleStack(this); @@ -161,7 +160,7 @@ public class BaseItemDust extends Item{ Utils.LOG_WARNING("Generating OreDict Name: "+temp); } if (temp != null && temp != ""){ - + if (getUnlocalizedName().contains("DustTiny") || getUnlocalizedName().contains("DustSmall")){ tempOutput = UtilsItems.getItemStackOfAmountFromOreDict(temp, 1); } @@ -175,7 +174,7 @@ public class BaseItemDust extends Item{ tempOutput = UtilsItems.getItemStackOfAmountFromOreDict(temp, 1); } } - + } if (tempOutput != null){ @@ -196,37 +195,37 @@ public class BaseItemDust extends Item{ else { Utils.LOG_WARNING("Generating a Dust recipe for "+materialName+" in the mixer."); - + int i = 0; if (inputStacks.length >= 2){ - for (ItemStack is : inputStacks){ - if (is != null){ - Utils.LOG_WARNING("Found "+is.getDisplayName()+" as an input for mixer recipe."); - if (is.getDisplayName().toLowerCase().contains("tell alkalus")){ - ItemStack tempStackForAName = inputStacks[i]; - String[] inputList = dustInfo.getInputItemsAsList(); - int[] inputSizes = dustInfo.getInputStackSizesAsList(); - inputStacks[i] = UtilsItems.getItemStackOfAmountFromOreDict(inputList[i], inputSizes[i]); - Utils.LOG_WARNING("Swapping input slot "+i+" which contains "+tempStackForAName.getDisplayName()+" with "+inputStacks[i].getDisplayName()+"."); + for (ItemStack is : inputStacks){ + if (is != null){ + Utils.LOG_WARNING("Found "+is.getDisplayName()+" as an input for mixer recipe."); + if (is.getDisplayName().toLowerCase().contains("tell alkalus")){ + ItemStack tempStackForAName = inputStacks[i]; + String[] inputList = dustInfo.getInputItemsAsList(); + int[] inputSizes = dustInfo.getInputStackSizesAsList(); + inputStacks[i] = UtilsItems.getItemStackOfAmountFromOreDict(inputList[i], inputSizes[i]); + Utils.LOG_WARNING("Swapping input slot "+i+" which contains "+tempStackForAName.getDisplayName()+" with "+inputStacks[i].getDisplayName()+"."); + } + } - - } - - else { - Utils.LOG_WARNING("Input "+i+" was null."); - } - i++; - } + else { + Utils.LOG_WARNING("Input "+i+" was null."); + } + + i++; + } } - + GT_Values.RA.addMixerRecipe( inputStacks[0], inputStacks[1], inputStacks[2], inputStacks[3], null, null, tempOutput, 8*mTier*20, 8*mTier*2); - + /*GT_Values.RA.addMixerRecipe( GT_Utility.copyAmount(inputStacks[0].stackSize, new Object[]{inputStacks[0]}), GT_Utility.copyAmount(inputStacks[1].stackSize, new Object[]{inputStacks[1]}), GT_Utility.copyAmount(inputStacks[2].stackSize, new Object[]{inputStacks[2]}), GT_Utility.copyAmount(inputStacks[3].stackSize, new Object[]{inputStacks[3]}), @@ -310,14 +309,9 @@ public class BaseItemDust extends Item{ ItemStack tempOutputStack = UtilsItems.getItemStackOfAmountFromOreDict(temp, 1); Utils.LOG_WARNING("This will produce an ingot of "+tempOutputStack.getDisplayName() + " Debug: "+temp); if (null != tempOutputStack){ - if (mTier < 5){ - if (CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK){ - addSmeltingAndAlloySmeltingRecipe(UtilsItems.getSimpleStack(this), tempOutputStack, false); - } - else { - GT_ModHandler.addSmeltingAndAlloySmeltingRecipe(UtilsItems.getSimpleStack(this), tempOutputStack); - } - } + if (mTier < 5){ + GregtechVersionRecipeHandler.addSmeltingAndAlloySmeltingRecipe(UtilsItems.getSimpleStack(this), tempOutputStack); + } else if (mTier >= 5){ Utils.LOG_WARNING("Adding recipe for "+materialName+" Ingots in a Blast furnace."); Utils.LOG_WARNING("This will produce "+tempOutputStack.getDisplayName()); @@ -352,19 +346,8 @@ public class BaseItemDust extends Item{ 250*mTier*20, mTier*64, tempRequired); - - - - } - private boolean addSmeltingAndAlloySmeltingRecipe(ItemStack aInput, ItemStack aOutput, boolean hidden) { - if (aInput == null || aOutput == null) return false; - boolean temp = false; - if (aInput.stackSize == 1 && GT_ModHandler.addSmeltingRecipe(aInput, aOutput)) temp = true; - if (GT_Values.RA.addAlloySmelterRecipe(aInput, OrePrefixes.ingot.contains(aOutput) ? ItemList.Shape_Mold_Ingot.get(0) : OrePrefixes.block.contains(aOutput) ? ItemList.Shape_Mold_Block.get(0) : OrePrefixes.nugget.contains(aOutput) ? ItemList.Shape_Mold_Nugget.get(0) : null, aOutput, 130, 3)) - temp = true; - if (GT_ModHandler.addInductionSmelterRecipe(aInput, null, aOutput, null, aOutput.stackSize * 1600, 0)) temp = true; - return temp; - } + + } } diff --git a/src/Java/miscutil/core/util/Utils.java b/src/Java/miscutil/core/util/Utils.java index 2419234e26..476ca77e98 100644 --- a/src/Java/miscutil/core/util/Utils.java +++ b/src/Java/miscutil/core/util/Utils.java @@ -1,6 +1,5 @@ package miscutil.core.util; -import static gregtech.api.enums.GT_Values.F; import gregtech.api.enums.TC_Aspects; import gregtech.api.enums.TC_Aspects.TC_AspectStack; import ic2.core.IC2Potion; @@ -157,7 +156,7 @@ public class Utils { * Returns if that Liquid is IC2Steam. */ public static boolean isIC2Steam(FluidStack aFluid) { - if (aFluid == null) return F; + if (aFluid == null) return false; return aFluid.isFluidEqual(getIC2Steam(1)); } diff --git a/src/Java/miscutil/core/util/gregtech/five/GregtechVersionRecipeHandler.java b/src/Java/miscutil/core/util/gregtech/five/GregtechVersionRecipeHandler.java new file mode 100644 index 0000000000..3025183204 --- /dev/null +++ b/src/Java/miscutil/core/util/gregtech/five/GregtechVersionRecipeHandler.java @@ -0,0 +1,23 @@ +package miscutil.core.util.gregtech.five; + +import miscutil.core.lib.CORE; +import net.minecraft.item.ItemStack; + +public class GregtechVersionRecipeHandler { + + public static final boolean mainFork = isExperimentalVersion(); + + public static boolean isExperimentalVersion(){ + return CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK; + } + + public static void addSmeltingAndAlloySmeltingRecipe(ItemStack aInput, ItemStack aOutput){ + if (mainFork){ + miscutil.core.util.gregtech.five.nine.AddSmeltingAndAlloySmeltingRecipe.run(aInput, aOutput, false); + } + else { + miscutil.core.util.gregtech.five.eight.AddSmeltingAndAlloySmeltingRecipe.run(aInput, aOutput); + } + } + +} diff --git a/src/Java/miscutil/core/util/gregtech/five/eight/AddSmeltingAndAlloySmeltingRecipe.java b/src/Java/miscutil/core/util/gregtech/five/eight/AddSmeltingAndAlloySmeltingRecipe.java new file mode 100644 index 0000000000..d990e70bae --- /dev/null +++ b/src/Java/miscutil/core/util/gregtech/five/eight/AddSmeltingAndAlloySmeltingRecipe.java @@ -0,0 +1,21 @@ +package miscutil.core.util.gregtech.five.eight; + +import static gregtech.api.enums.GT_Values.RA; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.util.GT_ModHandler; +import net.minecraft.item.ItemStack; + +public class AddSmeltingAndAlloySmeltingRecipe { + + public static boolean run(ItemStack aInput, ItemStack aOutput) { + if (aInput == null || aOutput == null) return false; + boolean temp = false; + if (aInput.stackSize == 1 && GT_ModHandler.addSmeltingRecipe(aInput, aOutput)) temp = true; + if (RA.addAlloySmelterRecipe(aInput, OrePrefixes.ingot.contains(aOutput) ? ItemList.Shape_Mold_Ingot.get(0) : OrePrefixes.block.contains(aOutput) ? ItemList.Shape_Mold_Block.get(0) : OrePrefixes.nugget.contains(aOutput) ? ItemList.Shape_Mold_Nugget.get(0) : null, aOutput, 130, 3)) + temp = true; + if (GT_ModHandler.addInductionSmelterRecipe(aInput, null, aOutput, null, aOutput.stackSize * 1600, 0)) temp = true; + return temp; + } + +} diff --git a/src/Java/miscutil/core/util/gregtech/five/nine/AddSmeltingAndAlloySmeltingRecipe.java b/src/Java/miscutil/core/util/gregtech/five/nine/AddSmeltingAndAlloySmeltingRecipe.java new file mode 100644 index 0000000000..267a14b85e --- /dev/null +++ b/src/Java/miscutil/core/util/gregtech/five/nine/AddSmeltingAndAlloySmeltingRecipe.java @@ -0,0 +1,21 @@ +package miscutil.core.util.gregtech.five.nine; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.util.GT_ModHandler; +import net.minecraft.item.ItemStack; + +public class AddSmeltingAndAlloySmeltingRecipe { + + public static boolean run(ItemStack aInput, ItemStack aOutput, boolean hidden) { + if (aInput == null || aOutput == null) return false; + boolean temp = false; + if (aInput.stackSize == 1 && GT_ModHandler.addSmeltingRecipe(aInput, aOutput)) temp = true; + if (GT_Values.RA.addAlloySmelterRecipe(aInput, OrePrefixes.ingot.contains(aOutput) ? ItemList.Shape_Mold_Ingot.get(0) : OrePrefixes.block.contains(aOutput) ? ItemList.Shape_Mold_Block.get(0) : OrePrefixes.nugget.contains(aOutput) ? ItemList.Shape_Mold_Nugget.get(0) : null, aOutput, 130, 3)) + temp = true; + if (GT_ModHandler.addInductionSmelterRecipe(aInput, null, aOutput, null, aOutput.stackSize * 1600, 0)) temp = true; + return temp; + } + +} diff --git a/src/Java/miscutil/xmod/gregtech/api/metatileentity/implementations/base/lossless/GregtechBaseMetaTileEntityLossless.java b/src/Java/miscutil/xmod/gregtech/api/metatileentity/implementations/base/lossless/GregtechBaseMetaTileEntityLossless.java index fbe0a64771..f119823e94 100644 --- a/src/Java/miscutil/xmod/gregtech/api/metatileentity/implementations/base/lossless/GregtechBaseMetaTileEntityLossless.java +++ b/src/Java/miscutil/xmod/gregtech/api/metatileentity/implementations/base/lossless/GregtechBaseMetaTileEntityLossless.java @@ -1004,15 +1004,6 @@ public class GregtechBaseMetaTileEntityLossless extends BaseTileEntity implement return 0; } - @Override - public ITexture[] getTexture(byte aSide) { - ITexture rIcon = getCoverTexture(aSide); - if (rIcon != null) return new ITexture[]{rIcon}; - if (hasValidMetaTileEntity()) - return mMetaTileEntity.getTexture(this, aSide, mFacing, (byte) (mColor - 1), mActive, getOutputRedstoneSignal(aSide) > 0); - return Textures.BlockIcons.ERROR_RENDERING; - } - private boolean isEnergyInputSide(byte aSide) { if (aSide >= 0 && aSide < 6) { if (!getCoverBehaviorAtSide(aSide).letsEnergyIn(aSide, getCoverIDAtSide(aSide), getCoverDataAtSide(aSide), this)) @@ -1846,4 +1837,21 @@ public class GregtechBaseMetaTileEntityLossless extends BaseTileEntity implement public void onEntityCollidedWithBlock(World aWorld, int aX, int aY, int aZ, Entity collider) { mMetaTileEntity.onEntityCollidedWithBlock(aWorld, aX, aY, aZ, collider); } + + + public ITexture[] getTexture(Block arg0, byte aSide) { + ITexture rIcon = getCoverTexture(aSide); + if (rIcon != null) return new ITexture[]{rIcon}; + if (hasValidMetaTileEntity()) + return mMetaTileEntity.getTexture(this, aSide, mFacing, (byte) (mColor - 1), mActive, getOutputRedstoneSignal(aSide) > 0); + return Textures.BlockIcons.ERROR_RENDERING; + } + + public ITexture[] getTexture(byte aSide) { + ITexture rIcon = getCoverTexture(aSide); + if (rIcon != null) return new ITexture[]{rIcon}; + if (hasValidMetaTileEntity()) + return mMetaTileEntity.getTexture(this, aSide, mFacing, (byte) (mColor - 1), mActive, getOutputRedstoneSignal(aSide) > 0); + return Textures.BlockIcons.ERROR_RENDERING; + } }
\ No newline at end of file diff --git a/src/Java/miscutil/xmod/gregtech/api/util/GregtechRecipeRegistrator.java b/src/Java/miscutil/xmod/gregtech/api/util/GregtechRecipeRegistrator.java index b402fe500f..6e035fdd80 100644 --- a/src/Java/miscutil/xmod/gregtech/api/util/GregtechRecipeRegistrator.java +++ b/src/Java/miscutil/xmod/gregtech/api/util/GregtechRecipeRegistrator.java @@ -17,6 +17,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import miscutil.core.util.gregtech.five.GregtechVersionRecipeHandler; import miscutil.xmod.gregtech.api.enums.GregtechOrePrefixes; import miscutil.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials; import miscutil.xmod.gregtech.api.objects.GregtechItemData; @@ -171,7 +172,7 @@ public class GregtechRecipeRegistrator { aMaterialAmount /= aStack.stackSize; if (aAllowAlloySmelter) - GT_ModHandler.addSmeltingAndAlloySmeltingRecipe(GT_Utility.copyAmount(1, aStack), GregtechOreDictUnificator.getIngot(aMaterial.mSmeltInto, aMaterialAmount)); + GregtechVersionRecipeHandler.addSmeltingAndAlloySmeltingRecipe(GT_Utility.copyAmount(1, aStack), GregtechOreDictUnificator.getIngot(aMaterial.mSmeltInto, aMaterialAmount)); else GT_ModHandler.addSmeltingRecipe(GT_Utility.copyAmount(1, aStack), GregtechOreDictUnificator.getIngot(aMaterial.mSmeltInto, aMaterialAmount)); } diff --git a/src/Java/miscutil/xmod/gregtech/common/Meta_GT_Proxy.java b/src/Java/miscutil/xmod/gregtech/common/Meta_GT_Proxy.java index 5be3170471..8cf95102ba 100644 --- a/src/Java/miscutil/xmod/gregtech/common/Meta_GT_Proxy.java +++ b/src/Java/miscutil/xmod/gregtech/common/Meta_GT_Proxy.java @@ -415,7 +415,7 @@ public class Meta_GT_Proxy { public static boolean areWeUsingGregtech5uExperimental(){ int version = GregTech_API.VERSION; - if (version == 508){ + if (version == 508 || version == 507){ return false; } else if (version == 509){ |