aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/gtPlusPlus/core')
-rw-r--r--src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java1
-rw-r--r--src/Java/gtPlusPlus/core/item/ModItems.java1
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_Extruder.java47
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_General.java5
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++) {