diff options
author | Draknyte1 <Draknyte1@hotmail.com> | 2016-08-29 22:49:12 +1000 |
---|---|---|
committer | Draknyte1 <Draknyte1@hotmail.com> | 2016-08-29 22:49:12 +1000 |
commit | c377315aadce5eaa466fe7804e72da03230c5402 (patch) | |
tree | 1c7c0a358022125b0f51babdf1d0cba71fb2e472 /src/Java/miscutil/core/handler | |
parent | b0ae00d54790023197a7df31199cdbfd3e54ec10 (diff) | |
download | GT5-Unofficial-c377315aadce5eaa466fe7804e72da03230c5402.tar.gz GT5-Unofficial-c377315aadce5eaa466fe7804e72da03230c5402.tar.bz2 GT5-Unofficial-c377315aadce5eaa466fe7804e72da03230c5402.zip |
+ Added some Custom Fluid Pipes for Gregtech.
+ Added recipes for all pipes.
% Updated the icon for the backpack so the strap looks like it is a tad bigger.
Diffstat (limited to 'src/Java/miscutil/core/handler')
-rw-r--r-- | src/Java/miscutil/core/handler/COMPAT_HANDLER.java | 2 | ||||
-rw-r--r-- | src/Java/miscutil/core/handler/registration/gregtech/GregtechConduits.java | 135 |
2 files changed, 134 insertions, 3 deletions
diff --git a/src/Java/miscutil/core/handler/COMPAT_HANDLER.java b/src/Java/miscutil/core/handler/COMPAT_HANDLER.java index 4875ad5a08..fc43b9a09d 100644 --- a/src/Java/miscutil/core/handler/COMPAT_HANDLER.java +++ b/src/Java/miscutil/core/handler/COMPAT_HANDLER.java @@ -18,7 +18,6 @@ import miscutil.core.common.compat.COMPAT_SimplyJetpacks; import miscutil.core.common.compat.COMPAT_Thaumcraft; import miscutil.core.handler.registration.LateRegistrationHandler; import miscutil.core.handler.registration.RegistrationHandler; -import miscutil.core.handler.registration.gregtech.GregtechConduits; import miscutil.core.handler.registration.gregtech.GregtechEnergyBuffer; import miscutil.core.handler.registration.gregtech.GregtechIndustrialCentrifuge; import miscutil.core.handler.registration.gregtech.GregtechIndustrialCokeOven; @@ -79,7 +78,6 @@ public class COMPAT_HANDLER { if (Gregtech) { new RECIPES_LaserEngraver(); GregtechEnergyBuffer.run(); - GregtechConduits.run(); GregtechSteamCondenser.run(); GregtechSafeBlock.run(); GregtechSuperConductionPoint.run(); diff --git a/src/Java/miscutil/core/handler/registration/gregtech/GregtechConduits.java b/src/Java/miscutil/core/handler/registration/gregtech/GregtechConduits.java index e10780a11d..0fd5bbbe5e 100644 --- a/src/Java/miscutil/core/handler/registration/gregtech/GregtechConduits.java +++ b/src/Java/miscutil/core/handler/registration/gregtech/GregtechConduits.java @@ -2,16 +2,28 @@ package miscutil.core.handler.registration.gregtech; import static miscutil.core.lib.LoadedMods.Gregtech; import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; +import gregtech.api.metatileentity.implementations.GT_MetaPipeEntity_Fluid; import gregtech.api.util.GT_OreDictUnificator; + +import java.util.ArrayList; + +import miscutil.core.item.ModItems; import miscutil.core.lib.LoadedMods; import miscutil.core.util.Utils; +import miscutil.core.util.item.UtilsItems; +import miscutil.core.util.math.MathUtils; +import miscutil.core.util.recipe.UtilsRecipe; import miscutil.xmod.gregtech.api.enums.GregtechOrePrefixes; import miscutil.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials; +import miscutil.xmod.gregtech.api.metatileentity.implementations.GregtechMetaPipeEntityFluid; import miscutil.xmod.gregtech.api.metatileentity.implementations.GregtechMetaPipeEntity_Cable; import miscutil.xmod.gregtech.api.metatileentity.implementations.GregtechMetaPipeEntity_SuperConductor; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraftforge.oredict.OreDictionary; public class GregtechConduits { /** @@ -25,7 +37,7 @@ public class GregtechConduits { public static void run() { if (Gregtech){ - Utils.LOG_INFO("Gregtech5u Content | Registering Custom Cables/Wire."); + Utils.LOG_INFO("Gregtech5u Content | Registering Custom Cables/Wires/Pipes."); run1(); } @@ -44,6 +56,12 @@ public class GregtechConduits { superConductorFactory("Superconductor", 524288, 30660, 0, 0, 8); superConductorFactory("VoidMetal", 512, 30661, 0, 0, 8); + generateNonGTFluidPipes(GT_Materials.Staballoy, 30700, 150, 7500, true); + generateNonGTFluidPipes(GT_Materials.Tantalloy60, 30705, 120, 4250, true); + generateNonGTFluidPipes(GT_Materials.Tantalloy61, 30710, 135, 5800, true); + generateNonGTFluidPipes(GT_Materials.VoidMetal, 30715, 50, 25000, true); + generateGTFluidPipes(Materials.Europium, 30720, 175, 7500, true); + } private static void wireFactory(String Material, int Voltage, int ID, long insulatedLoss, long uninsulatedLoss, long Amps){ @@ -161,4 +179,119 @@ public class GregtechConduits { private static boolean registerOre(GregtechOrePrefixes aPrefix, Object aMaterial, ItemStack aStack) { return GT_OreDictUnificator.registerOre(aPrefix.get(aMaterial), aStack); } + + + private static void generateGTFluidPipes(Materials material, int startID, int transferRatePerTick, int heatResistance, boolean isGasProof){ + long magicNumber = material.mDensity; + GT_OreDictUnificator.registerOre(OrePrefixes.pipeTiny.get(material), new GT_MetaPipeEntity_Fluid(startID, "GT_Pipe_"+material.name()+"_Tiny", "Tiny "+material.name()+" Fluid Pipe", 0.25F, material, transferRatePerTick*2, heatResistance, isGasProof).getStackForm(1L)); + GT_OreDictUnificator.registerOre(OrePrefixes.pipeSmall.get(material), new GT_MetaPipeEntity_Fluid(startID+1, "GT_Pipe_"+material.name()+"_Small", "Small "+material.name()+" Fluid Pipe", 0.375F, material, transferRatePerTick*4, heatResistance, isGasProof).getStackForm(1L)); + GT_OreDictUnificator.registerOre(OrePrefixes.pipeMedium.get(material), new GT_MetaPipeEntity_Fluid(startID+2, "GT_Pipe_"+material.name()+"", ""+material.name()+" Fluid Pipe", 0.5F, material, transferRatePerTick*6, heatResistance, isGasProof).getStackForm(1L)); + GT_OreDictUnificator.registerOre(OrePrefixes.pipeLarge.get(material), new GT_MetaPipeEntity_Fluid(startID+3, "GT_Pipe_"+material.name()+"_Large", "Large "+material.name()+" Fluid Pipe", 0.75F, material, transferRatePerTick*8, heatResistance, isGasProof).getStackForm(1L)); + GT_OreDictUnificator.registerOre(OrePrefixes.pipeHuge.get(material), new GT_MetaPipeEntity_Fluid(startID+4, "GT_Pipe_"+material.name()+"_Huge", "Huge "+material.name()+" Fluid Pipe", 1.0F, material, transferRatePerTick*10, heatResistance, isGasProof).getStackForm(1L)); + generatePipeRecipes(material.name(), magicNumber, startID); + } + + private static void generateNonGTFluidPipes(GT_Materials material, int startID, int transferRatePerTick, int heatResistance, boolean isGasProof){ + long magicNumber = material.mDensity; + GT_OreDictUnificator.registerOre(OrePrefixes.pipeTiny.get(material), new GregtechMetaPipeEntityFluid(startID, "GT_Pipe_"+material.name()+"_Tiny", "Tiny "+material.name()+" Fluid Pipe", 0.25F, material, transferRatePerTick*2, heatResistance, isGasProof).getStackForm(1L)); + GT_OreDictUnificator.registerOre(OrePrefixes.pipeSmall.get(material), new GregtechMetaPipeEntityFluid(startID+1, "GT_Pipe_"+material.name()+"_Small", "Small "+material.name()+" Fluid Pipe", 0.375F, material, transferRatePerTick*4, heatResistance, isGasProof).getStackForm(1L)); + GT_OreDictUnificator.registerOre(OrePrefixes.pipeMedium.get(material), new GregtechMetaPipeEntityFluid(startID+2, "GT_Pipe_"+material.name()+"", ""+material.name()+" Fluid Pipe", 0.5F, material, transferRatePerTick*6, heatResistance, isGasProof).getStackForm(1L)); + GT_OreDictUnificator.registerOre(OrePrefixes.pipeLarge.get(material), new GregtechMetaPipeEntityFluid(startID+3, "GT_Pipe_"+material.name()+"_Large", "Large "+material.name()+" Fluid Pipe", 0.75F, material, transferRatePerTick*8, heatResistance, isGasProof).getStackForm(1L)); + GT_OreDictUnificator.registerOre(OrePrefixes.pipeHuge.get(material), new GregtechMetaPipeEntityFluid(startID+4, "GT_Pipe_"+material.name()+"_Huge", "Huge "+material.name()+" Fluid Pipe", 1.0F, material, transferRatePerTick*10, heatResistance, isGasProof).getStackForm(1L)); + generatePipeRecipes(material.name(), magicNumber, startID); + + } + + private static void generatePipeRecipes(String materialName, long multiplier, int ID){ + Utils.LOG_INFO("Logging Generation of Pipe Recipes."); + int multi = (int) MathUtils.decimalRoundingToWholes(multiplier)/100000; + Utils.LOG_INFO("Magic Multiplier is "+multi); + + if (multi <= 0){ + multi = MathUtils.randInt(2, 8); + } + + String output = materialName.substring(0, 1).toUpperCase() + materialName.substring(1); + Utils.LOG_INFO("materialName: "+materialName+" outputName: "+output); + Item pipeIngot = UtilsItems.getItemStackOfAmountFromOreDict("ingot"+output, 1).getItem(); + Utils.LOG_INFO("Found "+pipeIngot.getUnlocalizedName()+" to use in extruder recipes."); + ItemStack pipePlate = UtilsItems.getItemStackOfAmountFromOreDict("plate"+output, 1); + Utils.LOG_INFO("Plates for recipes: "+" Expected:"+"plate"+output+" Got:"+pipePlate.getUnlocalizedName()); + + //Get the five Pipes + //Item pipeTiny = UtilsItems.getItemStackWithMeta(LoadedMods.MiscUtils, "gregtech:gt.blockmachines", "Pipe Tiny", ID, 1).getItem(); + //Item pipeSmall = UtilsItems.getItemStackWithMeta(LoadedMods.MiscUtils, "gregtech:gt.blockmachines", "Pipe Small", ID+1, 1).getItem(); + //Item pipeNormal = UtilsItems.getItemStackWithMeta(LoadedMods.MiscUtils, "gregtech:gt.blockmachines", "Pipe Normal", ID+2, 1).getItem(); + //Item pipeLarge = UtilsItems.getItemStackWithMeta(LoadedMods.MiscUtils, "gregtech:gt.blockmachines", "Pipe Large", ID+3, 1).getItem(); + //Item pipeHuge = UtilsItems.getItemStackWithMeta(LoadedMods.MiscUtils, "gregtech:gt.blockmachines", "Pipe Huge", ID+4, 1).getItem(); + + /*Item pipeTiny = UtilsItems.getItemStackOfAmountFromOreDict("pipe"+"Tiny"+output, 1).getItem(); + Item pipeSmall = UtilsItems.getItemStackOfAmountFromOreDict("pipe"+"Small"+output, 1).getItem(); + Item pipeNormal = UtilsItems.getItemStackOfAmountFromOreDict("pipe"+"Medium"+output, 1).getItem(); + Item pipeLarge = UtilsItems.getItemStackOfAmountFromOreDict("pipe"+"Large"+output, 1).getItem(); + Item pipeHuge = UtilsItems.getItemStackOfAmountFromOreDict("pipe"+"Huge"+output, 1).getItem();*/ + + //Check all pipes are not null + Utils.LOG_INFO("Does pipeTiny == null? " + ((UtilsItems.getItemStackOfAmountFromOreDict("pipe"+"Tiny"+output, 1) == null) ? true : false)); + Utils.LOG_INFO("Does pipeSmall == null? " + ((UtilsItems.getItemStackOfAmountFromOreDict("pipe"+"Small"+output, 1) == null) ? true : false)); + Utils.LOG_INFO("Does pipeNormal == null? " + ((UtilsItems.getItemStackOfAmountFromOreDict("pipe"+"Medium"+output, 1) == null) ? true : false)); + Utils.LOG_INFO("Does pipeLarge == null? " + ((UtilsItems.getItemStackOfAmountFromOreDict("pipe"+"Large"+output, 1) == null) ? true : false)); + Utils.LOG_INFO("Does pipeHuge == null? " + ((UtilsItems.getItemStackOfAmountFromOreDict("pipe"+"Huge"+output, 1) == null) ? true : false)); + + //Add the Three Shaped Recipes First + UtilsRecipe.recipeBuilder( + pipePlate, "craftingToolWrench", pipePlate, + pipePlate, null, pipePlate, + pipePlate, "craftingToolHardHammer", pipePlate, + UtilsItems.getItemStackOfAmountFromOreDict("pipe"+"Small"+output, 6)); + + UtilsRecipe.recipeBuilder( + pipePlate, pipePlate, pipePlate, + "craftingToolWrench", null, "craftingToolHardHammer", + pipePlate, pipePlate, pipePlate, + UtilsItems.getItemStackOfAmountFromOreDict("pipe"+"Medium"+output, 2)); + + UtilsRecipe.recipeBuilder( + pipePlate, "craftingToolHardHammer", pipePlate, + pipePlate, null, pipePlate, + pipePlate, "craftingToolWrench", pipePlate, + UtilsItems.getItemStackOfAmountFromOreDict("pipe"+"Large"+output, 1)); + + GT_Values.RA.addExtruderRecipe( + UtilsItems.getSimpleStack(pipeIngot, 1), + ItemList.Shape_Extruder_Pipe_Tiny.get(0), + UtilsItems.getItemStackOfAmountFromOreDict("pipe"+"Tiny"+output, 2), + 32*multi, 8*multi); + GT_Values.RA.addExtruderRecipe( + UtilsItems.getSimpleStack(pipeIngot, 1), + ItemList.Shape_Extruder_Pipe_Small.get(0), + UtilsItems.getItemStackOfAmountFromOreDict("pipe"+"Small"+output, 1), + 32*multi, 16*multi); + GT_Values.RA.addExtruderRecipe( + UtilsItems.getSimpleStack(pipeIngot, 3), + ItemList.Shape_Extruder_Pipe_Medium.get(0), + UtilsItems.getItemStackOfAmountFromOreDict("pipe"+"Medium"+output, 1), + 32*multi, 32*multi); + GT_Values.RA.addExtruderRecipe( + UtilsItems.getSimpleStack(pipeIngot, 6), + ItemList.Shape_Extruder_Pipe_Large.get(0), + UtilsItems.getItemStackOfAmountFromOreDict("pipe"+"Large"+output, 1), + 32*multi, 64*multi); + GT_Values.RA.addExtruderRecipe( + UtilsItems.getSimpleStack(pipeIngot, 12), + ItemList.Shape_Extruder_Pipe_Huge.get(0), + UtilsItems.getItemStackOfAmountFromOreDict("pipe"+"Huge"+output, 1), + 32*multi, 128*multi); + + } + + private static ItemStack getOredictStack(String oredictName, int amount){ + ArrayList<ItemStack> oreDictList = OreDictionary.getOres(oredictName); + if (!oreDictList.isEmpty()){ + ItemStack returnValue = oreDictList.get(0).copy(); + returnValue.stackSize = amount; + return returnValue; + } + return UtilsItems.getSimpleStack(ModItems.AAA_Broken, amount); + } } |