diff --git a/src/main/java/gregtech/GT_Mod.java b/src/main/java/gregtech/GT_Mod.java index 9ff12f4c..2c120ee6 100644 --- a/src/main/java/gregtech/GT_Mod.java +++ b/src/main/java/gregtech/GT_Mod.java @@ -1206,6 +1206,8 @@ public class GT_Mod implements IGT_Mod { GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Lignite, 1), GT_OreDictUnificator.get(OrePrefixes.block, Materials.Lignite, 1), GT_OreDictUnificator.get(OrePrefixes.crushed, Materials.Lignite, 1), + GT_OreDictUnificator.get(OrePrefixes.gem, Materials.PetrolCoke, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.PetrolCoke, 1), GT_OreDictUnificator.get(OrePrefixes.log, Materials.Wood, 1), GT_OreDictUnificator.get(OrePrefixes.plank, Materials.Wood, 1), GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 1), diff --git a/src/main/java/gregtech/api/enums/Materials.java b/src/main/java/gregtech/api/enums/Materials.java index f56d88b5..b7594f71 100644 --- a/src/main/java/gregtech/api/enums/Materials.java +++ b/src/main/java/gregtech/api/enums/Materials.java @@ -415,6 +415,8 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { public static Materials WoodGas = new MaterialBuilder(660, TextureSet.SET_FLUID, "Wood Gas").addCell().addGas().setRGB(222, 205, 135).setColor(Dyes.dyeBrown).setFuelType(MaterialBuilder.GAS).setFuelPower(24).constructMaterial(); public static Materials WoodTar = new MaterialBuilder(662, TextureSet.SET_FLUID, "Wood Tar").addCell().addFluid().setRGB(40, 23, 11).setColor(Dyes.dyeBrown).constructMaterial(); public static Materials WoodVinegar = new MaterialBuilder(661, TextureSet.SET_FLUID, "Wood Vinegar").addCell().addFluid().setRGB(212, 85, 0).setColor(Dyes.dyeBrown).constructMaterial(); + //new items + public static Materials PetrolCoke = new Materials(693, TextureSet.SET_LIGNITE, 1.0F, 0, 1, 1|4, 85, 80, 80, 0, "PetrolCoke", "Petroleum Coke", 0, 0, -1, 0, false, false, 1, 1, 1, Dyes.dyeGray, 1, Arrays.asList(new MaterialStack(Carbon, 2)), Arrays.asList(new TC_AspectStack(TC_Aspects.POTENTIA, 3), new TC_AspectStack(TC_Aspects.IGNIS, 3))); /** * TODO: This @@ -540,6 +542,8 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { public static Materials SulfuricKerosene = new Materials(744, TextureSet.SET_FLUID, 1.0F, 0, 0, 16, 0, 255, 255, 0, "SulfuricKerosene", "Sulfuric Kerosene", 0, 32, -1, 0, false, false, 1, 1, 1, Dyes.dyeBlue); public static Materials ResidualOil = new Materials(745, TextureSet.SET_FLUID, 1.0F, 0, 0, 16, 10, 10, 10, 0, "ResidualOil", "Residual Oil", 3, 48, -1, 0, false, false, 1, 1, 1, Dyes.dyeBlack); public static Materials SulfuricResid = new Materials(746, TextureSet.SET_FLUID, 1.0F, 0, 0, 16, 10, 10, 10, 0, "SulfuricResid", "Sulfuric Residual Oil", 3, 32, -1, 0, false, false, 1, 1, 1, Dyes.dyeBlack); + public static Materials CrackedResid = new Materials(749, TextureSet.SET_FLUID, 1.0F, 0, 0, 16, 10, 10, 10, 0, "CrackedResid", "Cracked Residual Oil", 3, 56, -1, 0, false, false, 1, 1, 1, Dyes.dyeBlack); + public static Materials Chlorobenzene = new MaterialBuilder(605, TextureSet.SET_FLUID, "Chlorobenzene").addCell().addFluid().setRGB(0, 50, 65).setColor(Dyes.dyeGray).setMaterialList(new MaterialStack(Carbon, 6), new MaterialStack(Hydrogen, 5), new MaterialStack(Chlorine, 1)).addElectrolyzerRecipe().constructMaterial(); public static Materials DilutedHydrochloricAcid = new MaterialBuilder(606, TextureSet.SET_FLUID, "Diluted Hydrochloric Acid").setName("DilutedHydrochloricAcid_GT5U").addCell().addFluid().setRGB(153, 167, 163).setColor(Dyes.dyeLightGray).setMaterialList(new MaterialStack(Hydrogen, 1), new MaterialStack(Chlorine, 1)).constructMaterial(); @@ -1241,6 +1245,7 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { Coal.add(SubTag.FLAMMABLE, SubTag.NO_SMELTING, SubTag.NO_SMASHING, SubTag.MORTAR_GRINDABLE); Charcoal.add(SubTag.FLAMMABLE, SubTag.NO_SMELTING, SubTag.NO_SMASHING, SubTag.MORTAR_GRINDABLE); Lignite.add(SubTag.FLAMMABLE, SubTag.NO_SMELTING, SubTag.NO_SMASHING, SubTag.MORTAR_GRINDABLE); + PetrolCoke.add(SubTag.FLAMMABLE, SubTag.NO_SMELTING, SubTag.NO_SMASHING, SubTag.MORTAR_GRINDABLE); Rubber.add(SubTag.FLAMMABLE, SubTag.NO_SMASHING, SubTag.BOUNCY, SubTag.STRETCHY); StyreneButadieneRubber.add(SubTag.FLAMMABLE, SubTag.NO_SMASHING, SubTag.BOUNCY, SubTag.STRETCHY); diff --git a/src/main/java/gregtech/common/GT_Proxy.java b/src/main/java/gregtech/common/GT_Proxy.java index 2d0f4e28..55f92efb 100644 --- a/src/main/java/gregtech/common/GT_Proxy.java +++ b/src/main/java/gregtech/common/GT_Proxy.java @@ -1576,6 +1576,8 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler { rFuelValue = Math.max(rFuelValue, 600); } else if (GT_Utility.areStacksEqual(aFuel, ItemList.Block_MSSFUEL.get(1, new Object[0]))) { rFuelValue = Math.max(rFuelValue, 150000); + } else if (GT_OreDictUnificator.isItemStackInstanceOf(aFuel, "gemPetrolCoke")) { + rFuelValue = Math.max(rFuelValue, 2400); }if (GT_Utility.areStacksEqual(aFuel, ItemList.Block_SSFUEL.get(1, new Object[0]))) { rFuelValue = Math.max(rFuelValue, 100000); } diff --git a/src/main/java/gregtech/common/GT_RecipeAdder.java b/src/main/java/gregtech/common/GT_RecipeAdder.java index ec37bf9b..8eb51439 100644 --- a/src/main/java/gregtech/common/GT_RecipeAdder.java +++ b/src/main/java/gregtech/common/GT_RecipeAdder.java @@ -966,7 +966,7 @@ public class GT_RecipeAdder @Override public boolean addPyrolyseRecipe(ItemStack aInput, FluidStack aFluidInput, int intCircuit, ItemStack aOutput, FluidStack aFluidOutput, int aDuration, int aEUt) { - if (aInput == null) { + if (aInput == null && aFluidInput == null) { return false; } if ((aDuration = GregTech_API.sRecipeFile.get("pyrolyse", aInput, aDuration)) <= 0) { diff --git a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java index 826ec4fc..03ca70d7 100644 --- a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java +++ b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java @@ -761,8 +761,8 @@ public class GT_MachineRecipeLoader implements Runnable { //new recipes GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.SulfuricKerosene, 12L), GT_Utility.getIntegratedCircuit(4), Materials.Hydrogen.getGas(1000), Materials.HydricSulfide.getGas(1000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Kerosene, 12L), 160); GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 1L), GT_Utility.getIntegratedCircuit(4), Materials.SulfuricKerosene.getFluid(12000), Materials.Kerosene.getFluid(12000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HydricSulfide, 1L), 160); - GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.SulfuricResid, 8L), GT_Utility.getIntegratedCircuit(4), Materials.Hydrogen.getGas(1000), Materials.HydricSulfide.getGas(1000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.ResidualOil, 8L), 160); - GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 1L), GT_Utility.getIntegratedCircuit(4), Materials.SulfuricResid.getFluid(8000), Materials.ResidualOil.getFluid(8000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HydricSulfide, 1L), 160); + GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.SulfuricResid, 4L), GT_Utility.getIntegratedCircuit(4), Materials.Hydrogen.getGas(1000), Materials.HydricSulfide.getGas(1000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.ResidualOil, 4L), 160); + GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 1L), GT_Utility.getIntegratedCircuit(4), Materials.SulfuricResid.getFluid(4000), Materials.ResidualOil.getFluid(4000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HydricSulfide, 1L), 160); @@ -3301,6 +3301,9 @@ public class GT_MachineRecipeLoader implements Runnable { GT_Values.RA.addChemicalRecipe(Materials.Calcite.getDust(5), GT_Utility.getIntegratedCircuit(1), GT_Values.NF, Materials.CarbonDioxide.getGas(3000), Materials.Quicklime.getDust(2), 240); GT_Values.RA.addChemicalRecipe(Materials.Magnesia.getDust(2), GT_Values.NI, Materials.CarbonDioxide.getGas(3000), GT_Values.NF, Materials.Magnesite.getDust(5), 80); GT_Values.RA.addChemicalRecipe(Materials.Magnesite.getDust(5), GT_Utility.getIntegratedCircuit(1), GT_Values.NF, Materials.CarbonDioxide.getGas(3000), Materials.Magnesia.getDust(2), 240); + + //new recipes + GT_Values.RA.addPyrolyseRecipe(GT_Values.NI, Materials.ResidualOil.getFluid(1000), 1, Materials.PetrolCoke.getGems(1), Materials.CrackedResid.getFluid(500), 600, 64); } @@ -3466,6 +3469,12 @@ public class GT_MachineRecipeLoader implements Runnable { //JP-8 GT_Values.RA.addMixerRecipe(Materials.JetFuel.getCells(6), Materials.Naphtha.getCells(2), Materials.Ethane.getCells(1), GT_Values.NI, GT_Values.NF, GT_Values.NF, Materials.Jet8.getCells(9), 200, 512); + + //Cracked Resid byproducts + GT_Values.RA.addUniversalDistillationRecipe(Materials.CrackedResid.getFluid(100), + new FluidStack[]{Materials.HeavyFuel.getFluid(60), Materials.LightFuel.getFluid(30), Materials.Naphtha.getFluid(10), Materials.Butane.getGas(3), Materials.Gas.getGas(2)}, + Materials.Bitumen.getGems(1), 240, 120); + } public void addPotionRecipes(String aName,ItemStack aItem){ diff --git a/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java b/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java index e6246166..8e0579c8 100644 --- a/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java +++ b/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java @@ -434,6 +434,7 @@ public class GT_Loader_Item_Block_And_Fluid GT_Mod.gregtechproxy.addFluid("kerosene", "Kerosene", Materials.Kerosene, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Kerosene, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); GT_Mod.gregtechproxy.addFluid("liquid_sulfuricresid", "Sulfuric Residual Oil", Materials.SulfuricResid, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.SulfuricResid, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); GT_Mod.gregtechproxy.addFluid("liquid_residualoil", "Residual Oil", Materials.ResidualOil, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.ResidualOil, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); + GT_Mod.gregtechproxy.addFluid("liquid_crackedresid", "Cracked Residual Oil", Materials.CrackedResid, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.CrackedResid, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); GT_Mod.gregtechproxy.addFluid("charcoal_byproducts", "molten.autogenerated", "Charcoal Byproducts", Materials.CharcoalByproducts, Materials.CharcoalByproducts.mRGBa, 2, 775, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.CharcoalByproducts, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); GT_Mod.gregtechproxy.addFluid("molten.bisphenol_a", "molten.autogenerated", "Molten Bisphenol A", Materials.BisphenolA, Materials.BisphenolA.mRGBa, 1, 432, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.BisphenolA, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); diff --git a/src/main/resources/assets/gregtech/textures/blocks/fluids/fluid.liquid_crackedresid.png b/src/main/resources/assets/gregtech/textures/blocks/fluids/fluid.liquid_crackedresid.png new file mode 100644 index 00000000..6a653f3d Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/fluids/fluid.liquid_crackedresid.png differ diff --git a/src/main/resources/assets/gregtech/textures/blocks/fluids/fluid.liquid_crackedresid.png.mcmeta b/src/main/resources/assets/gregtech/textures/blocks/fluids/fluid.liquid_crackedresid.png.mcmeta new file mode 100644 index 00000000..0df7234a --- /dev/null +++ b/src/main/resources/assets/gregtech/textures/blocks/fluids/fluid.liquid_crackedresid.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation":{ + "frametime":2 + } +} \ No newline at end of file