diff options
Diffstat (limited to 'src/Java')
7 files changed, 75 insertions, 3 deletions
diff --git a/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java b/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java index e59e7b0cf1..c3b2369d4a 100644 --- a/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java +++ b/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java @@ -55,6 +55,7 @@ public class COMPAT_HANDLER { */ new RECIPES_LaserEngraver(); + new RECIPES_Extruder(); GregtechEnergyBuffer.run(); GregtechLFTR.run(); GregtechSteamCondenser.run(); diff --git a/src/Java/gtPlusPlus/core/item/ModItems.java b/src/Java/gtPlusPlus/core/item/ModItems.java index 2095893da4..759cf4d060 100644 --- a/src/Java/gtPlusPlus/core/item/ModItems.java +++ b/src/Java/gtPlusPlus/core/item/ModItems.java @@ -758,6 +758,7 @@ public final class ModItems { GT_OreDictUnificator.registerOre("platePhasedGold", ItemUtils.getSimpleStack(itemPlateVibrantAlloy)); GT_OreDictUnificator.registerOre("dustPhasedIron", ItemUtils.getSimpleStack(itemDustPulsatingIron)); GT_OreDictUnificator.registerOre("platePhasedIron", ItemUtils.getSimpleStack(itemPlatePulsatingIron)); + GT_OreDictUnificator.registerOre("blockVibrantAlloy", ItemUtils.getItemStackOfAmountFromOreDict("blockPhasedGold", 1)); } else { Logger.WARNING("EnderIO not Found - Skipping Resources."); diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_Extruder.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_Extruder.java new file mode 100644 index 0000000000..ba37b73da5 --- /dev/null +++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_Extruder.java @@ -0,0 +1,47 @@ +package gtPlusPlus.core.recipe; + +import gregtech.api.util.GT_Utility; +import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.SubTag; +import gregtech.api.util.GT_OreDictUnificator; +import net.minecraft.item.ItemStack; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.interfaces.IOreRecipeRegistrator; + +public class RECIPES_Extruder implements IOreRecipeRegistrator { + + public RECIPES_Extruder() { + OrePrefixes.ingot.add((IOreRecipeRegistrator) this); + OrePrefixes.dust.add((IOreRecipeRegistrator) this); + } + + public void registerOre(final OrePrefixes aPrefix, final Materials aMaterial, final String aOreDictName, + final String aModName, final ItemStack aStack) { + if ((aMaterial == Materials.Glass || aMaterial == Materials.WroughtIron + || GT_OreDictUnificator.get(OrePrefixes.ingot, (Object) aMaterial, 1L) != null) + && !aMaterial.contains(SubTag.NO_SMELTING)) { + final long aMaterialMass = aMaterial.getMass(); + final int tAmount = (int) (aPrefix.mMaterialAmount / 3628800L); + if (tAmount > 0 && tAmount <= 64 && aPrefix.mMaterialAmount % 3628800L == 0L) { + int tVoltageMultiplier = (aMaterial.mBlastFurnaceTemp >= 2800) ? 64 : 16; + if (aMaterial.contains(SubTag.NO_SMASHING)) { + tVoltageMultiplier /= 4; + } else if (aPrefix.name().startsWith(OrePrefixes.dust.name())) { + return; + } + + GT_Values.RA.addExtruderRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), + GregtechItemList.Shape_Extruder_SmallGear.get(0L, new Object[0]), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, (Object) aMaterial.mSmeltInto, (long) tAmount), + ((int) Math.max(aMaterialMass * 5L * tAmount, tAmount)/4), 8 * tVoltageMultiplier); + GT_Values.RA.addAlloySmelterRecipe(GT_Utility.copyAmount(2L, new Object[]{aStack}), + GregtechItemList.Shape_Extruder_SmallGear.get(0L, new Object[0]), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, (Object) aMaterial.mSmeltInto, (long) tAmount), + ((int) Math.max(aMaterialMass * 10L * tAmount, tAmount)/4), 2 * tVoltageMultiplier); + + } + } + } +}
\ No newline at end of file diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_General.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_General.java index 2d82703786..b4d24b0d6a 100644 --- a/src/Java/gtPlusPlus/core/recipe/RECIPES_General.java +++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_General.java @@ -4,6 +4,8 @@ import static gtPlusPlus.core.util.minecraft.ItemUtils.getSimpleStack; import cpw.mods.fml.common.registry.GameRegistry; import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; import gregtech.api.util.GT_ModHandler; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.block.ModBlocks; @@ -16,6 +18,7 @@ import gtPlusPlus.core.util.minecraft.ItemUtils; import gtPlusPlus.core.util.minecraft.RecipeUtils; import gtPlusPlus.core.world.darkworld.Dimension_DarkWorld; import gtPlusPlus.xmod.bop.blocks.BOP_Block_Registrator; +import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; @@ -121,6 +124,8 @@ public class RECIPES_General { Logger.INFO("Added a recipe for the Fish Trap."); } + //Small Gear Extruder Shape + GT_ModHandler.addCraftingRecipe(GregtechItemList.Shape_Extruder_SmallGear.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"hXS", "XPX", "fXd", Character.valueOf('P'), ItemList.Shape_Extruder_Gear, Character.valueOf('X'), OrePrefixes.plate.get(Materials.Steel), Character.valueOf('S'), OrePrefixes.screw.get(Materials.Steel)}); String[] ironTypes = {"", "Wrought", "Pig", "Any"}; for (int y=0;y<ironTypes.length;y++) { diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java b/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java index fc23403f9e..3907e284a5 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java @@ -83,8 +83,9 @@ public enum GregtechItemList implements GregtechItemContainer { //Unused Machine Coils Casing_Coil_U1, Casing_Coil_U2, Casing_Coil_BlastSmelter, Casing_BlastSmelter, - //Windmill Shaft Shape for Extruder + //Shapes for Extruder Shape_Extruder_WindmillShaft, + Shape_Extruder_SmallGear, //Batteries Battery_RE_EV_Sodium, Battery_RE_EV_Cadmium, Battery_RE_EV_Lithium, diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechItems.java b/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechItems.java index d8f727946f..027c29b8ab 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechItems.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechItems.java @@ -159,6 +159,7 @@ public class MetaGeneratedGregtechItems extends Gregtech_MetaItem_X32 { //Extruder Shape GregtechItemList.Shape_Extruder_WindmillShaft.set(this.addItem(tLastID = 40, "Extruder Shape (Shaft)", "Extruder Shape for making Windmill Shafts", new Object[0])); + GregtechItemList.Shape_Extruder_SmallGear.set(this.addItem(221, "Extruder Shape (Small Gear)", "Extruder Shape for making small gears", new Object[0])); //Batteries diff --git a/src/Java/gtPlusPlus/xmod/ic2/recipe/RECIPE_IC2.java b/src/Java/gtPlusPlus/xmod/ic2/recipe/RECIPE_IC2.java index 4c88644d18..f96cb673ad 100644 --- a/src/Java/gtPlusPlus/xmod/ic2/recipe/RECIPE_IC2.java +++ b/src/Java/gtPlusPlus/xmod/ic2/recipe/RECIPE_IC2.java @@ -57,7 +57,7 @@ public class RECIPE_IC2 { private static ItemStack rotor_T3 = ItemUtils.getSimpleStack(IC2_Items.rotor_Material_3.getItem()); private static ItemStack rotor_T4 = ItemUtils.getSimpleStack(IC2_Items.rotor_Material_4.getItem()); - private static void checkForEnderIO(){ + private static boolean checkForEnderIO(){ if(!LoadedMods.EnderIO){ plate_T1 = "plateMagnalium"; plate_T2 = "plateTungstenSteel"; @@ -73,11 +73,15 @@ public class RECIPE_IC2 { ingot_T2 = "ingotTungstenSteel"; ingot_T3 = "ingotUltimet"; ingot_T4 = "ingotIridium"; + return true; } + return false; } public static void initRecipes() { - + + checkForEnderIO(); + if (!CORE.GTNH) { //Rotor Blade Recipes @@ -139,6 +143,18 @@ public class RECIPE_IC2 { GT_ModHandler.addCraftingRecipe(GregtechItemList.Shape_Extruder_WindmillShaft.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"hXS", "XPX", "fXd", Character.valueOf('P'), ItemList.Shape_Extruder_Rod, Character.valueOf('X'), OrePrefixes.plate.get(Materials.Molybdenum), Character.valueOf('S'), OrePrefixes.screw.get(Materials.Molybdenum)}); Logger.INFO("Added recipe item for GT5 Extruder: Shaft Shape"); + + //Custm Recipes for Iron and Steel + ItemStack mShaftIron = ItemList.IC2_ShaftIron.get(1); + ItemStack mShaftSteel = ItemList.IC2_ShaftSteel.get(1); + GT_Values.RA.addExtruderRecipe(GT_Utility.copyAmount(9L, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Iron, 1L)), GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), mShaftIron, 32*20, 120); + GT_Values.RA.addExtruderRecipe(GT_Utility.copyAmount(1L, GT_OreDictUnificator.get(OrePrefixes.block, Materials.Iron, 1L)), GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), mShaftIron, 32*20, 120); + GT_Values.RA.addExtruderRecipe(GT_Utility.copyAmount(9L, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.WroughtIron, 1L)), GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), mShaftIron, 32*20, 120); + GT_Values.RA.addExtruderRecipe(GT_Utility.copyAmount(1L, GT_OreDictUnificator.get(OrePrefixes.block, Materials.WroughtIron, 1L)), GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), mShaftIron, 32*20, 120); + GT_Values.RA.addExtruderRecipe(GT_Utility.copyAmount(9L, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 1L)), GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), mShaftSteel, 64*20, 120); + GT_Values.RA.addExtruderRecipe(GT_Utility.copyAmount(1L, GT_OreDictUnificator.get(OrePrefixes.block, Materials.Steel, 1L)), GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), mShaftSteel, 64*20, 120); + + //Shaft Recipes GT_Values.RA.addExtruderRecipe(GT_Utility.copyAmount(9L, block_T1), GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), shaft_T1, 2560, 250); GT_Values.RA.addExtruderRecipe(GT_Utility.copyAmount(1L, shaft_block_T1), GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), shaft_T1, 2560, 250); |