diff options
Diffstat (limited to 'src/Java/gtPlusPlus/core')
5 files changed, 265 insertions, 38 deletions
diff --git a/src/Java/gtPlusPlus/core/config/ConfigHandler.java b/src/Java/gtPlusPlus/core/config/ConfigHandler.java index 64c8b74b33..8f11a88271 100644 --- a/src/Java/gtPlusPlus/core/config/ConfigHandler.java +++ b/src/Java/gtPlusPlus/core/config/ConfigHandler.java @@ -72,7 +72,10 @@ public class ConfigHandler { enableAnimatedTurbines = config.getBoolean("enableAnimatedTurbines", "gregtech", true, "Gives GT Gas/Steam turbines animated textures while running."); turbineCutoffBase = config.getInt("turbineCutoffBase", "gregtech", 75000, 0, Integer.MAX_VALUE, "Rotors below this durability will be removed, prevents NEI clutter. Minimum Durability is N * x, where N is the new value set and x is the turbine size, where 1 is Tiny and 4 is Huge. Set to 0 to disable."); - + + enableHarderRecipesForHighTierCasings = config.getBoolean("enableHarderRecipesForHighTierCasings", "gregtech", true, + "Makes LuV+ Casings and Hulls more difficult to craft."); + // Pipes & Cables enableCustom_Pipes = config.getBoolean("enableCustom_Pipes", "gregtech", true, "Adds Custom GT Fluid Pipes."); diff --git a/src/Java/gtPlusPlus/core/lib/CORE.java b/src/Java/gtPlusPlus/core/lib/CORE.java index 33fe5693f2..38be7d8593 100644 --- a/src/Java/gtPlusPlus/core/lib/CORE.java +++ b/src/Java/gtPlusPlus/core/lib/CORE.java @@ -214,6 +214,7 @@ public class CORE { public static boolean enableNitroFix = false; public static boolean enableSulfuricAcidFix = false; public static boolean enableAnimatedTurbines = true; + public static boolean enableHarderRecipesForHighTierCasings = true; //Single Block Machines public static boolean enableMachine_SolarGenerators = false; diff --git a/src/Java/gtPlusPlus/core/material/MISC_MATERIALS.java b/src/Java/gtPlusPlus/core/material/MISC_MATERIALS.java index 05ed942bfa..8eb9e547e4 100644 --- a/src/Java/gtPlusPlus/core/material/MISC_MATERIALS.java +++ b/src/Java/gtPlusPlus/core/material/MISC_MATERIALS.java @@ -52,6 +52,37 @@ public final class MISC_MATERIALS { new MaterialStack(ELEMENT.getInstance().STRONTIUM, 1), new MaterialStack(FLUORIDES.HYDROXIDE, 2) }); + + public static final Material SELENIUM_DIOXIDE = new Material( + "Selenium Dioxide", + MaterialState.PURE_LIQUID, //State + null, //Material Colour + -1, //Melting Point in C + -1, //Boiling Point in C + -1, //Protons + -1, + false, //Uses Blast furnace? + //Material Stacks with Percentage of required elements. + new MaterialStack[]{ + new MaterialStack(ELEMENT.getInstance().SELENIUM, 1), + new MaterialStack(ELEMENT.getInstance().OXYGEN, 2) + }); + + public static final Material SELENIOUS_ACID = new Material( + "Selecious Acid", + MaterialState.PURE_LIQUID, //State + null, //Material Colour + -1, //Melting Point in C + -1, //Boiling Point in C + -1, //Protons + -1, + false, //Uses Blast furnace? + //Material Stacks with Percentage of required elements. + new MaterialStack[]{ + new MaterialStack(SELENIUM_DIOXIDE, 1), + new MaterialStack(ELEMENT.getInstance().HYDROGEN, 8), + new MaterialStack(ELEMENT.getInstance().OXYGEN, 4) + }); diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java index bd19eca5e9..85198f21cc 100644 --- a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java +++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java @@ -92,6 +92,17 @@ public class RECIPES_GREGTECH { latheRecipes(); vacuumFreezerRecipes(); fluidheaterRecipes(); + + + /** + * Special Recipe handlers + */ + RECIPES_SeleniumProcessing.init(); + + + + + addFuels(); } @@ -575,7 +586,7 @@ public class RECIPES_GREGTECH { new ItemStack[] { CI.emptyCells(1) }, - 100, //Output Chance + new int[] {10000}, //Output Chance 20 * 120, 122880); @@ -595,41 +606,6 @@ public class RECIPES_GREGTECH { 20 * 300, 4000); - // Selenium Roasting - CORE.RA.addBlastSmelterRecipe( - new ItemStack[] { - ItemUtils.getGregtechCircuit(16), - ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedPyrite", 8), - ELEMENT.getInstance().CARBON.getDust(32), - }, - Materials.SulfuricAcid.getFluid(4000), - ELEMENT.getInstance().SELENIUM.getFluid(144), - 0, - 20 * 300, - 2000); - CORE.RA.addBlastSmelterRecipe( - new ItemStack[] { - ItemUtils.getGregtechCircuit(17), - ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedChalcopyrite", 8), - ELEMENT.getInstance().CARBON.getDust(32), - }, - Materials.SulfuricAcid.getFluid(4000), - ELEMENT.getInstance().SELENIUM.getFluid(144), - 0, - 20 * 300, - 2000); - CORE.RA.addBlastSmelterRecipe( - new ItemStack[] { - ItemUtils.getGregtechCircuit(18), - ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedGalena", 8), - ELEMENT.getInstance().CARBON.getDust(32), - }, - Materials.SulfuricAcid.getFluid(4000), - ELEMENT.getInstance().SELENIUM.getFluid(144), - 0, - 20 * 300, - 2000); - // Ruthenium Roasting CORE.RA.addBlastSmelterRecipe( @@ -741,7 +717,7 @@ public class RECIPES_GREGTECH { ELEMENT.getInstance().ALUMINIUM.getIngot(8), ELEMENT.getInstance().STRONTIUM.getIngot(8) }, - 100, //Output Chance + new int[] {10000, 10000}, //Output Chance 20 * 120, 480*4); diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_SeleniumProcessing.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_SeleniumProcessing.java new file mode 100644 index 0000000000..5489827fe2 --- /dev/null +++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_SeleniumProcessing.java @@ -0,0 +1,216 @@ +package gtPlusPlus.core.recipe; + +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.core.material.ELEMENT; +import gtPlusPlus.core.material.MISC_MATERIALS; +import gtPlusPlus.core.recipe.common.CI; +import gtPlusPlus.core.util.minecraft.FluidUtils; +import gtPlusPlus.core.util.minecraft.ItemUtils; +import gtPlusPlus.core.util.minecraft.MaterialUtils; +import net.minecraft.item.ItemStack; + +public class RECIPES_SeleniumProcessing { + + public static void init() { + + //We need this + MaterialUtils.generateSpecialDustAndAssignToAMaterial(MISC_MATERIALS.SELENIUM_DIOXIDE); + + // Makes Selenium Dioxide + processCopperRecipes(); + + //Liquify the Dried Dioxide + CORE.RA.addChemicalRecipe(CI.getNumberedCircuit(14), MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1), FluidUtils.getSteam(500), FluidUtils.getDistilledWater(2000), null, MISC_MATERIALS.SELENIUM_DIOXIDE.getFluid(1000), 20 * 30 * 2, 1024); + + + // Produce Selenious Acid + CORE.RA.addChemicalRecipe(CI.getNumberedCircuit(14), null, MISC_MATERIALS.SELENIUM_DIOXIDE.getFluid(1000), FluidUtils.getHotWater(4000), null, MISC_MATERIALS.SELENIOUS_ACID.getFluid(1000), 20 * 30 * 2, 2048); + + // Make Selenium + CORE.RA.addBlastSmelterRecipe( + new ItemStack[] { + ItemUtils.getGregtechCircuit(14), + ItemUtils.getItemStackOfAmountFromOreDict("cellSulfuricAcid", 8), + ELEMENT.getInstance().CARBON.getDust(16), + }, + MISC_MATERIALS.SELENIOUS_ACID.getFluid(500), + ELEMENT.getInstance().SELENIUM.getFluid(144 * 1), + new ItemStack[] { + ELEMENT.getInstance().SELENIUM.getIngot(1), + ELEMENT.getInstance().SELENIUM.getIngot(1), + }, + new int[] {2000, 2000, 2000}, + 20 * 300, + 7200); + + + /*// Old recipes for Selenium Roasting + CORE.RA.addBlastSmelterRecipe( + new ItemStack[] { + ItemUtils.getGregtechCircuit(16), + ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedPyrite", 8), + ELEMENT.getInstance().CARBON.getDust(32), + }, + Materials.SulfuricAcid.getFluid(4000), + ELEMENT.getInstance().SELENIUM.getFluid(144), + 0, + 20 * 300, + 2000); + CORE.RA.addBlastSmelterRecipe( + new ItemStack[] { + ItemUtils.getGregtechCircuit(17), + ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedChalcopyrite", 8), + ELEMENT.getInstance().CARBON.getDust(32), + }, + Materials.SulfuricAcid.getFluid(4000), + ELEMENT.getInstance().SELENIUM.getFluid(144), + 0, + 20 * 300, + 2000); + CORE.RA.addBlastSmelterRecipe( + new ItemStack[] { + ItemUtils.getGregtechCircuit(18), + ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedGalena", 8), + ELEMENT.getInstance().CARBON.getDust(32), + }, + Materials.SulfuricAcid.getFluid(4000), + ELEMENT.getInstance().SELENIUM.getFluid(144), + 0, + 20 * 300, + 2000);*/ + } + + + public static void processCopperRecipes() { + + //Copper + CORE.RA.addDehydratorRecipe( + new ItemStack[]{ + ItemUtils.getOrePrefixStack(OrePrefixes.crushedCentrifuged, Materials.Copper, 1), // Item Input + }, + FluidUtils.getHotWater(1000), // Fluid + MISC_MATERIALS.SELENIUM_DIOXIDE.getFluid(20), // Fluid + new ItemStack[] { + ItemUtils.getOrePrefixStack(OrePrefixes.crushedPurified, Materials.Copper, 1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), + }, // Output + new int[] { + 10000, + 100, + 100, + 500, + 500, + 500, + 1000, + 1000, + 1000 + }, + 40 * 20, // Time in ticks + 1024); // EU + + + //Tetra + CORE.RA.addDehydratorRecipe( + new ItemStack[]{ + ItemUtils.getOrePrefixStack(OrePrefixes.crushedCentrifuged, Materials.Tetrahedrite, 1), // Item Input + }, + FluidUtils.getHotWater(1000), // Fluid + MISC_MATERIALS.SELENIUM_DIOXIDE.getFluid(10), // Fluid + new ItemStack[] { + ItemUtils.getOrePrefixStack(OrePrefixes.crushedPurified, Materials.Tetrahedrite, 1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), + }, // Output + new int[] { + 10000, + 100, + 100, + 300, + 300, + 300, + 800, + 800, + 800 + }, + 40 * 20, // Time in ticks + 1024); // EU + //Chalco + CORE.RA.addDehydratorRecipe( + new ItemStack[]{ + ItemUtils.getOrePrefixStack(OrePrefixes.crushedCentrifuged, Materials.Chalcopyrite, 1), // Item Input + }, + FluidUtils.getHotWater(1000), // Fluid + MISC_MATERIALS.SELENIUM_DIOXIDE.getFluid(10), // Fluid + new ItemStack[] { + ItemUtils.getOrePrefixStack(OrePrefixes.crushedPurified, Materials.Chalcopyrite, 1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), + }, // Output + new int[] { + 10000, + 100, + 100, + 300, + 300, + 300, + 800, + 800, + 800 + }, + 40 * 20, // Time in ticks + 1024); // EU + //Chalco + CORE.RA.addDehydratorRecipe( + new ItemStack[]{ + ItemUtils.getOrePrefixStack(OrePrefixes.crushedCentrifuged, Materials.Malachite, 1), // Item Input + }, + FluidUtils.getHotWater(1000), // Fluid + MISC_MATERIALS.SELENIUM_DIOXIDE.getFluid(10), // Fluid + new ItemStack[] { + ItemUtils.getOrePrefixStack(OrePrefixes.crushedPurified, Materials.Malachite, 1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), + }, // Output + new int[] { + 10000, + 100, + 100, + 300, + 300, + 300, + 800, + 800, + 800 + }, + 40 * 20, // Time in ticks + 1024); // EU + } + +} |