diff options
Diffstat (limited to 'src/Java/gtPlusPlus/core')
4 files changed, 54 insertions, 0 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++) { |