aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech
diff options
context:
space:
mode:
authorJohannes Gäßler <updrn@student.kit.edu>2017-07-23 15:01:09 +0200
committerJohannes Gäßler <updrn@student.kit.edu>2017-07-23 15:01:09 +0200
commit8fa91db261def5087ff4dcf25de899de36457a98 (patch)
tree58e79ceb6be5f22f801027ee0329afa34ffeb792 /src/main/java/gregtech
parentbeaa54eb4153e11935f6107d53272c88453e3e3d (diff)
downloadGT5-Unofficial-8fa91db261def5087ff4dcf25de899de36457a98.tar.gz
GT5-Unofficial-8fa91db261def5087ff4dcf25de899de36457a98.tar.bz2
GT5-Unofficial-8fa91db261def5087ff4dcf25de899de36457a98.zip
Added BBF Recipes for increased output from Direct Smelting
Diffstat (limited to 'src/main/java/gregtech')
-rw-r--r--src/main/java/gregtech/api/enums/Materials.java17
-rw-r--r--src/main/java/gregtech/api/enums/SubTag.java5
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java12
-rw-r--r--src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java8
4 files changed, 34 insertions, 8 deletions
diff --git a/src/main/java/gregtech/api/enums/Materials.java b/src/main/java/gregtech/api/enums/Materials.java
index 6ca5ea5c2b..fe240c8bc8 100644
--- a/src/main/java/gregtech/api/enums/Materials.java
+++ b/src/main/java/gregtech/api/enums/Materials.java
@@ -538,6 +538,7 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
public static Materials HeavyFuel = new Materials(741, TextureSet.SET_FLUID, 1.0F, 0, 0, 16, 255, 255, 0, 0, "HeavyFuel", "Heavy Fuel", 3, 192, -1, 0, false, false, 1, 1, 1, Dyes.dyeBlack).setCanBeCracked(true);
public static Materials LPG = new Materials(742, TextureSet.SET_FLUID, 1.0F, 0, 0, 16, 255, 255, 0, 0, "LPG", "LPG", 1, 256, -1, 0, false, false, 1, 1, 1, Dyes.dyeYellow);
+ public static Materials Ferrosilite = new MaterialBuilder(624, TextureSet.SET_DULL, "Ferrosilite").addDustItems().setRGB(151, 99, 42).setColor(Dyes.dyeBrown).setMaterialList(new MaterialStack(Iron, 1), new MaterialStack(Silicon, 1), new MaterialStack(Oxygen, 3)).addElectrolyzerRecipe().constructMaterial();
public static Materials Brick = new MaterialBuilder(625, TextureSet.SET_ROUGH, "Brick").addDustItems().setRGB(155, 86, 67).setColor(Dyes.dyeBrown).setMaterialList(new MaterialStack(Aluminium, 4), new MaterialStack(Silicon, 3), new MaterialStack(Oxygen, 12)).constructMaterial();
public static Materials Fireclay = new MaterialBuilder(626, TextureSet.SET_ROUGH, "Fireclay").addDustItems().setRGB(173, 160, 155).setColor(Dyes.dyeBrown).setMaterialList(new MaterialStack(Brick, 1)).constructMaterial();
public static Materials BioDiesel = new MaterialBuilder(627, TextureSet.SET_FLUID, "Bio Diesel").addCell().addFluid().setRGB(255, 128, 0).setColor(Dyes.dyeOrange).setFuelType(MaterialBuilder.DIESEL).setFuelPower(192).constructMaterial();
@@ -861,8 +862,8 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
Mercury .add(SubTag.SMELTING_TO_GEM);
Cinnabar .setDirectSmelting(Mercury ).add(SubTag.INDUCTIONSMELTING_LOW_OUTPUT).add(SubTag.SMELTING_TO_GEM);
- Tetrahedrite .setDirectSmelting(Copper ).add(SubTag.INDUCTIONSMELTING_LOW_OUTPUT);
- Chalcopyrite .setDirectSmelting(Copper ).add(SubTag.INDUCTIONSMELTING_LOW_OUTPUT);
+ Tetrahedrite .setDirectSmelting(Copper ).add(SubTag.INDUCTIONSMELTING_LOW_OUTPUT).add(SubTag.DONT_ADD_DEFAULT_BBF_RECIPE);
+ Chalcopyrite .setDirectSmelting(Copper ).add(SubTag.INDUCTIONSMELTING_LOW_OUTPUT).add(SubTag.DONT_ADD_DEFAULT_BBF_RECIPE);
Malachite .setDirectSmelting(Copper ).add(SubTag.INDUCTIONSMELTING_LOW_OUTPUT);
Pentlandite .setDirectSmelting(Nickel ).add(SubTag.INDUCTIONSMELTING_LOW_OUTPUT);
Sphalerite .setDirectSmelting(Zinc ).add(SubTag.INDUCTIONSMELTING_LOW_OUTPUT);
@@ -879,10 +880,10 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
Garnierite .setDirectSmelting(Nickel );
Cobaltite .setDirectSmelting(Cobalt );
Stibnite .setDirectSmelting(Antimony );
- Cooperite .setDirectSmelting(Platinum );
- Pyrolusite .setDirectSmelting(Manganese );
- Magnesite .setDirectSmelting(Magnesium );
- Molybdenite .setDirectSmelting(Molybdenum );
+ Cooperite .setDirectSmelting(Platinum ).add(SubTag.DONT_ADD_DEFAULT_BBF_RECIPE);
+ Pyrolusite .setDirectSmelting(Manganese ).add(SubTag.DONT_ADD_DEFAULT_BBF_RECIPE);
+ Magnesite .setDirectSmelting(Magnesium ).add(SubTag.DONT_ADD_DEFAULT_BBF_RECIPE);
+ Molybdenite .setDirectSmelting(Molybdenum ).add(SubTag.DONT_ADD_DEFAULT_BBF_RECIPE);
Amber .setOreMultiplier( 2).setSmeltingMultiplier( 2);
InfusedAir .setOreMultiplier( 2).setSmeltingMultiplier( 2);
@@ -2101,6 +2102,10 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
return GT_OreDictUnificator.get(OrePrefixes.ingot, this, amount);
}
+ public ItemStack getNuggets(int amount){
+ return GT_OreDictUnificator.get(OrePrefixes.nugget, this, amount);
+ }
+
public ItemStack getBlocks(int amount){
return GT_OreDictUnificator.get(OrePrefixes.block, this, amount);
}
diff --git a/src/main/java/gregtech/api/enums/SubTag.java b/src/main/java/gregtech/api/enums/SubTag.java
index 7de2176e3e..e1b9eaab5f 100644
--- a/src/main/java/gregtech/api/enums/SubTag.java
+++ b/src/main/java/gregtech/api/enums/SubTag.java
@@ -31,6 +31,11 @@ public final class SubTag implements ICondition<ISubTagContainer> {
*/
public static final SubTag BLASTFURNACE_CALCITE_DOUBLE = getNewSubTag("BLASTFURNACE_CALCITE_DOUBLE"), BLASTFURNACE_CALCITE_TRIPLE = getNewSubTag("BLASTFURNACE_CALCITE_TRIPLE");
/**
+ * Add this to a material with Direct Smelting to prevent the automatic generation of a Bricked/Bronze Blast Furnace recipe. Already listed are:
+ * Chalcopyrite, Tetrahedrite
+ */
+ public static final SubTag DONT_ADD_DEFAULT_BBF_RECIPE = getNewSubTag("DONT_AUTOGENERATE_BBF_RECIPE");
+ /**
* Materials which are outputting less in an Induction Smelter. Already listed are:
* Pyrite, Tetrahedrite, Sphalerite, Cinnabar
*/
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java
index 3e9149fa96..e1fe0489e8 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java
@@ -7,6 +7,7 @@ import gregtech.api.enums.SubTag;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Utility;
+import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
public class ProcessingOreSmelting implements gregtech.api.interfaces.IOreRecipeRegistrator {
@@ -38,6 +39,17 @@ public class ProcessingOreSmelting implements gregtech.api.interfaces.IOreRecipe
}
break;
case dust:
+ if (aMaterial.mDirectSmelting != aMaterial) {
+ if (!aMaterial.contains(SubTag.DONT_ADD_DEFAULT_BBF_RECIPE)) {
+ GT_Values.RA.addPrimitiveBlastRecipe(GT_Utility.copyAmount(2, aStack), GT_Values.NI, 2, aMaterial.mDirectSmelting.getIngots(2), GT_Values.NI, 2400);
+ } else if (aMaterial == Materials.Chalcopyrite) {
+ GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), new ItemStack(Blocks.sand, 2), 2, aMaterial.mDirectSmelting.getIngots(2), Materials.Ferrosilite.getDustSmall(4), 2400);
+ GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), Materials.Glass.getDust(2), 2, aMaterial.mDirectSmelting.getIngots(2), Materials.Ferrosilite.getDustTiny(14), 2400);
+ GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), Materials.SiliconDioxide.getDust(2), 2, aMaterial.mDirectSmelting.getIngots(2), Materials.Ferrosilite.getDust(2), 2400);
+ } else if (aMaterial == Materials.Tetrahedrite) {
+ GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), GT_Values.NI, 2, aMaterial.mDirectSmelting.getIngots(2), Materials.Antimony.getNuggets(6), 2400);
+ }
+ }
case dustImpure:
case dustPure:
case dustRefined:
diff --git a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java
index ea7781c7fb..9cef05cf6a 100644
--- a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java
+++ b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java
@@ -1639,7 +1639,7 @@ if(Loader.isModLoaded("Railcraft")){
GT_Values.RA.addAutoclaveRecipe(Materials.SiliconDioxide.getDust(1), GT_ModHandler.getDistilledWater(200L), Materials.Quartzite.getGems(1), 1000, 1500, 24);
addRecipesMay2017OilRefining();
- addPrimitiveBlastFurnaceRecipes();
+ addPyrometallurgicalRecipes();
}
public void addProcess(ItemStack tCrop, Materials aMaterial, int chance, boolean aMainOutput) {
@@ -3096,7 +3096,11 @@ if(Loader.isModLoaded("Railcraft")){
GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gunpowder, 1L), null, null, null, new FluidStack(FluidRegistry.getFluid("potion."+aName+".long"),750), new FluidStack(FluidRegistry.getFluid("potion."+aName+".long.splash"),750), null, 200, 24);
}
- private void addPrimitiveBlastFurnaceRecipes() {
+ /**
+ * Adds recipes related to producing Steel in a Primitive Blast Furnace.
+ * Adds recipes related to roasting sulfuric ores and reducing oxidic ores in the Electric Blast Furnace.
+ */
+ private void addPyrometallurgicalRecipes() {
GT_Values.RA.addPrimitiveBlastRecipe(Materials.Iron.getIngots(1), GT_Values.NI, 4, Materials.Steel.getIngots(1), GT_Values.NI, 7200);
GT_Values.RA.addPrimitiveBlastRecipe(Materials.Iron.getDust(1), GT_Values.NI, 4, Materials.Steel.getIngots(1), GT_Values.NI, 7200);
GT_Values.RA.addPrimitiveBlastRecipe(Materials.Iron.getBlocks(1), GT_Values.NI, 36, Materials.Steel.getIngots(9), GT_Values.NI, 64800);