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/item/tool/misc/GregtechPump.java108
-rw-r--r--src/Java/gtPlusPlus/core/recipe/LOADER_Machine_Components.java101
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java10
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java276
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java7
5 files changed, 361 insertions, 141 deletions
diff --git a/src/Java/gtPlusPlus/core/item/tool/misc/GregtechPump.java b/src/Java/gtPlusPlus/core/item/tool/misc/GregtechPump.java
index 2943951734..b42ac41a37 100644
--- a/src/Java/gtPlusPlus/core/item/tool/misc/GregtechPump.java
+++ b/src/Java/gtPlusPlus/core/item/tool/misc/GregtechPump.java
@@ -5,6 +5,7 @@ import static gregtech.api.enums.GT_Values.V;
import java.util.ArrayList;
import java.util.BitSet;
import java.util.HashMap;
+import java.util.LinkedHashMap;
import java.util.List;
import cpw.mods.fml.common.registry.GameRegistry;
@@ -26,7 +27,6 @@ import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Utility;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.api.objects.data.AutoMap;
-import gtPlusPlus.api.objects.data.Pair;
import gtPlusPlus.core.creative.AddToCreativeTab;
import gtPlusPlus.core.item.ModItems;
import gtPlusPlus.core.lib.CORE;
@@ -70,7 +70,7 @@ public class GregtechPump extends Item implements ISpecialElectricItem, IElectri
if (aStack == null || aPlayer == null || aWorld == null || aWorld.isRemote) {
return false;
}
- if (tryDrainTile(aStack, aWorld, aPlayer, aX, aY, aZ)) {
+ if (!aWorld.isRemote && tryDrainTile(aStack, aWorld, aPlayer, aX, aY, aZ)) {
return true;
} else {
//return super.onItemUse(aStack, aPlayer, aWorld, aX, aY, aZ, a4, p_77648_8_, p_77648_9_, p_77648_10_);
@@ -92,18 +92,18 @@ public class GregtechPump extends Item implements ISpecialElectricItem, IElectri
public final short mOffset, mItemAmount;
public final BitSet mEnabledItems;
public final BitSet mVisibleItems;
- public final IIcon[][] mIconList;
/** The unlocalized name of this item. */
private String unlocalizedName;
- private final ArrayList<Pair<Integer, EnumRarity>> rarity = new ArrayList<>();
- private final ArrayList<Pair<Integer, EnumChatFormatting>> descColour = new ArrayList<>();
- private final ArrayList<Pair<Integer, String>> itemName = new ArrayList<>();
- private final ArrayList<Pair<Integer, String>> itemDescription = new ArrayList<>();
- private final ArrayList<Pair<Integer, Boolean>> hasEffect = new ArrayList<>();
+ private final HashMap<Integer, IIcon> mIconMap = new LinkedHashMap<Integer, IIcon>();
+ private final HashMap<Integer, EnumRarity> rarity = new LinkedHashMap<Integer, EnumRarity>();
+ private final HashMap<Integer, EnumChatFormatting> descColour = new LinkedHashMap<Integer, EnumChatFormatting>();
+ private final HashMap<Integer, String> itemName = new LinkedHashMap<Integer, String>();
+ private final HashMap<Integer, String> itemDescription = new LinkedHashMap<Integer, String>();
+ private final HashMap<Integer, Boolean> hasEffect = new LinkedHashMap<Integer, Boolean>();
- public final HashMap<Short, Long[]> mElectricStats = new HashMap<>();
- public final HashMap<Short, Short> mBurnValues = new HashMap<>();
+ public final HashMap<Short, Long[]> mElectricStats = new LinkedHashMap<Short, Long[]>();
+ public final HashMap<Short, Short> mBurnValues = new LinkedHashMap<Short, Short>();
public void registerPumpType(final int aID, final String aPumpName, final int aEuMax, final int aTier) {
ModItems.toolGregtechPump.registerItem(aID, // ID
@@ -127,7 +127,6 @@ public class GregtechPump extends Item implements ISpecialElectricItem, IElectri
this.mVisibleItems = new BitSet(aItemAmount);
this.mOffset = (short) Math.min(32766, aOffset);
this.mItemAmount = (short) Math.min(aItemAmount, 32766 - this.mOffset);
- this.mIconList = new IIcon[aItemAmount][1];
this.setHasSubtypes(true);
this.setMaxDamage(0);
this.setUnlocalizedName(unlocalizedName);
@@ -158,26 +157,28 @@ public class GregtechPump extends Item implements ISpecialElectricItem, IElectri
this.addItem(id, localizedName, EnumChatFormatting.YELLOW + "Electric", new Object[] {});
if (euStorage > 0 && tier > 0)
this.setElectricStats(this.mOffset + id, euStorage, GT_Values.V[tier], tier, -3L, true);
- this.rarity.add(new Pair<>(id, regRarity));
- this.itemName.add(new Pair<>(id, localizedName));
- this.itemDescription.add(new Pair<>(id, description));
- this.descColour.add(new Pair<>(id, colour));
- this.hasEffect.add(new Pair<>(id, Effect));
+ this.rarity.put(id, regRarity);
+ this.itemName.put(id, localizedName);
+ this.itemDescription.put(id, description);
+ this.descColour.put(id, colour);
+ this.hasEffect.put(id, Effect);
}
@Override
@SideOnly(Side.CLIENT)
public EnumRarity getRarity(final ItemStack par1ItemStack) {
- if (this.rarity.get(par1ItemStack.getItemDamage() - this.mOffset) != null) {
- return this.rarity.get(par1ItemStack.getItemDamage() - this.mOffset).getValue();
+ int h = getCorrectMetaForItemstack(par1ItemStack);
+ if (this.rarity.get(h) != null) {
+ return this.rarity.get(h);
}
return EnumRarity.common;
}
@Override
public boolean hasEffect(final ItemStack par1ItemStack) {
- if (this.hasEffect.get(par1ItemStack.getItemDamage() - this.mOffset) != null) {
- return this.hasEffect.get(par1ItemStack.getItemDamage() - this.mOffset).getValue();
+ int h = getCorrectMetaForItemstack(par1ItemStack);
+ if (this.hasEffect.get(h) != null) {
+ return this.hasEffect.get(h);
}
return false;
}
@@ -186,14 +187,17 @@ public class GregtechPump extends Item implements ISpecialElectricItem, IElectri
@Override
public void addInformation(final ItemStack aStack, final EntityPlayer aPlayer, List aList, final boolean aF3_H) {
// aList.add("Meta: "+(aStack.getItemDamage()-mOffset));
- if ((this.descColour.get(aStack.getItemDamage() - this.mOffset) != null)
- && (this.itemDescription.get(aStack.getItemDamage() - this.mOffset) != null)) {
- aList.add(this.descColour.get(aStack.getItemDamage() - this.mOffset).getValue()
- + this.itemDescription.get(aStack.getItemDamage() - this.mOffset).getValue());
+
+ int aOffsetMeta = getCorrectMetaForItemstack(aStack);
+
+ if ((this.descColour.get(aOffsetMeta) != null)
+ && (this.itemDescription.get(aOffsetMeta) != null)) {
+ aList.add(this.descColour.get(aOffsetMeta)
+ + this.itemDescription.get(aOffsetMeta));
}
- if (aStack.getItemDamage() - 1000 <= 3) {
+ if (aOffsetMeta <= 3) {
FluidStack f = getFluid(aStack);
aList.add("Can also drain any other standard fluid container block.");
aList.add(EnumChatFormatting.BLUE + (f != null ? f.getLocalizedName() : "No Fluids Contained"));
@@ -518,13 +522,8 @@ public class GregtechPump extends Item implements ISpecialElectricItem, IElectri
@SideOnly(Side.CLIENT)
public final void registerIcons(final IIconRegister aIconRegister) {
for (short i = 0, j = (short) this.mEnabledItems.length(); i < j; i++) {
- if (this.mEnabledItems.get(i)) {
- for (byte k = 1; k < this.mIconList[i].length; k++) {
- this.mIconList[i][k] = aIconRegister
- .registerIcon(CORE.MODID + ":" + (this.getUnlocalizedName() + "/" + i + "/" + k));
- }
- this.mIconList[i][0] = aIconRegister
- .registerIcon(CORE.MODID + ":" + (this.getUnlocalizedName() + "/" + i));
+ if (this.mEnabledItems.get(i)) {
+ mIconMap.put((int) i, aIconRegister.registerIcon(CORE.MODID + ":" + (this.getUnlocalizedName() + "/" + i)));
}
}
}
@@ -533,8 +532,15 @@ public class GregtechPump extends Item implements ISpecialElectricItem, IElectri
public final IIcon getIconFromDamage(final int aMetaData) {
if (aMetaData < 0) {
return null;
+ }
+ if (aMetaData < this.mOffset) {
+ return mIconMap.get(0);
+ }
+ else {
+ int newMeta = aMetaData - this.mOffset;
+ newMeta = (Math.max(0, Math.min(3, newMeta)));
+ return mIconMap.get(newMeta);
}
- return (aMetaData - this.mOffset) < this.mIconList.length ? this.mIconList[aMetaData - this.mOffset][0] : null;
}
/**
@@ -685,12 +691,12 @@ public class GregtechPump extends Item implements ISpecialElectricItem, IElectri
}
@Override
- public String getItemStackDisplayName(final ItemStack par1ItemStack) {
- int keyValue = (par1ItemStack.getItemDamage() - this.mOffset);
+ public String getItemStackDisplayName(final ItemStack aStack) {
+ int keyValue = (getCorrectMetaForItemstack(aStack));
if (keyValue < 0 || keyValue > 3) {
keyValue = 0;
}
- return this.itemName.get(keyValue).getValue();
+ return this.itemName.get(keyValue);
}
/**
@@ -756,7 +762,9 @@ public class GregtechPump extends Item implements ISpecialElectricItem, IElectri
if (container.getTagCompound().hasKey("mInit") && container.getTagCompound().getBoolean("mInit")) {
return container.getTagCompound().getInteger("mCapacity");
}
- return (container.getItemDamage() - 1000 + 1) * 16000;
+ int aMeta = this.getCorrectMetaForItemstack(container);
+ int aCapacity = (aMeta == 0 ? 2000 : (aMeta == 1 ? 8000 : (aMeta == 2 ? 32000 : 128000)));
+ return aCapacity;
}
public int fill(ItemStack container, FluidStack resource) {
@@ -893,10 +901,13 @@ public class GregtechPump extends Item implements ISpecialElectricItem, IElectri
}
if (!aNewNBT.hasKey("mInit")) {
+ int aMeta = this.getCorrectMetaForItemstack(aStack);
+ aNewNBT.setInteger("mMeta", aMeta);
aNewNBT.setBoolean("mInit", true);
aNewNBT.setString("mFluid", "@@@@@");
aNewNBT.setInteger("mFluidAmount", 0);
- aNewNBT.setInteger("mCapacity", (aStack.getItemDamage() - 1000 + 1) * 16000);
+ int aCapacity = (aMeta == 0 ? 2000 : (aMeta == 1 ? 8000 : (aMeta == 2 ? 32000 : 128000)));
+ aNewNBT.setInteger("mCapacity", aCapacity);
aStack.setTagCompound(aNewNBT);
}
}
@@ -1236,5 +1247,26 @@ public class GregtechPump extends Item implements ISpecialElectricItem, IElectri
return false;
}
}
+
+
+ public int getCorrectMetaForItemstack(ItemStack aStack) {
+ if (aStack == null) {
+ return 0;
+ }
+ else {
+ if (aStack.getItemDamage() < this.mOffset) {
+ return 0;
+ }
+ else {
+ int newMeta = aStack.getItemDamage() - this.mOffset;
+ newMeta = (Math.max(0, Math.min(3, newMeta)));
+ return newMeta;
+ }
+ }
+
+
+
+
+ }
}
diff --git a/src/Java/gtPlusPlus/core/recipe/LOADER_Machine_Components.java b/src/Java/gtPlusPlus/core/recipe/LOADER_Machine_Components.java
index 065a0fe2f4..460b29e802 100644
--- a/src/Java/gtPlusPlus/core/recipe/LOADER_Machine_Components.java
+++ b/src/Java/gtPlusPlus/core/recipe/LOADER_Machine_Components.java
@@ -12,7 +12,7 @@ public class LOADER_Machine_Components {
public static void initialise(){
registerDefaultComponents();
-
+
if (!CORE.GTNH){
if(CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK){
registerGTExperimentalComponents();
@@ -25,49 +25,49 @@ public class LOADER_Machine_Components {
registerGTNHComponents();
}
}
-
+
private static void registerDefaultComponents(){
//Machine Components
- CI.electricMotor_LV = ItemList.Electric_Motor_LV.get(1);
- CI.electricMotor_MV = ItemList.Electric_Motor_MV.get(1);
- CI.electricMotor_HV = ItemList.Electric_Motor_HV.get(1);
- CI.electricMotor_EV = ItemList.Electric_Motor_EV.get(1);
- CI.electricMotor_IV = ItemList.Electric_Motor_IV.get(1);
- CI.electricPump_LV = ItemList.Electric_Pump_LV.get(1);
- CI.electricPump_MV = ItemList.Electric_Pump_MV.get(1);
- CI.electricPump_HV = ItemList.Electric_Pump_HV.get(1);
- CI.electricPump_EV = ItemList.Electric_Pump_EV.get(1);
- CI.electricPump_IV = ItemList.Electric_Pump_IV.get(1);
- CI.electricPiston_LV = ItemList.Electric_Piston_LV.get(1);
- CI.electricPiston_MV = ItemList.Electric_Piston_MV.get(1);
- CI.electricPiston_HV = ItemList.Electric_Piston_HV.get(1);
- CI.electricPiston_EV = ItemList.Electric_Piston_EV.get(1);
- CI.electricPiston_IV = ItemList.Electric_Piston_IV.get(1);
- CI.robotArm_LV = ItemList.Robot_Arm_LV.get(1);
- CI.robotArm_MV = ItemList.Robot_Arm_MV.get(1);
- CI.robotArm_HV = ItemList.Robot_Arm_HV.get(1);
- CI.robotArm_EV = ItemList.Robot_Arm_EV.get(1);
- CI.robotArm_IV = ItemList.Robot_Arm_IV.get(1);
- CI.conveyorModule_LV = ItemList.Conveyor_Module_LV.get(1);
- CI.conveyorModule_MV = ItemList.Conveyor_Module_MV.get(1);
- CI.conveyorModule_HV = ItemList.Conveyor_Module_HV.get(1);
- CI.conveyorModule_EV = ItemList.Conveyor_Module_EV.get(1);
- CI.conveyorModule_IV = ItemList.Conveyor_Module_IV.get(1);
- CI.emitter_LV = ItemList.Emitter_LV.get(1);
- CI.emitter_MV = ItemList.Emitter_MV.get(1);
- CI.emitter_HV = ItemList.Emitter_HV.get(1);
- CI.emitter_EV = ItemList.Emitter_EV.get(1);
- CI.emitter_IV = ItemList.Emitter_IV.get(1);
- CI.fieldGenerator_LV = ItemList.Field_Generator_LV.get(1);
- CI.fieldGenerator_MV = ItemList.Field_Generator_MV.get(1);
- CI.fieldGenerator_HV = ItemList.Field_Generator_HV.get(1);
- CI.fieldGenerator_EV = ItemList.Field_Generator_EV.get(1);
- CI.fieldGenerator_IV = ItemList.Field_Generator_IV.get(1);
- CI.sensor_LV = ItemList.Sensor_LV.get(1);
- CI.sensor_MV = ItemList.Sensor_MV.get(1);
- CI.sensor_HV = ItemList.Sensor_HV.get(1);
- CI.sensor_EV = ItemList.Sensor_EV.get(1);
- CI.sensor_IV = ItemList.Sensor_IV.get(1);
+ CI.electricMotor_LV = ItemList.Electric_Motor_LV.get(1);
+ CI.electricMotor_MV = ItemList.Electric_Motor_MV.get(1);
+ CI.electricMotor_HV = ItemList.Electric_Motor_HV.get(1);
+ CI.electricMotor_EV = ItemList.Electric_Motor_EV.get(1);
+ CI.electricMotor_IV = ItemList.Electric_Motor_IV.get(1);
+ CI.electricPump_LV = ItemList.Electric_Pump_LV.get(1);
+ CI.electricPump_MV = ItemList.Electric_Pump_MV.get(1);
+ CI.electricPump_HV = ItemList.Electric_Pump_HV.get(1);
+ CI.electricPump_EV = ItemList.Electric_Pump_EV.get(1);
+ CI.electricPump_IV = ItemList.Electric_Pump_IV.get(1);
+ CI.electricPiston_LV = ItemList.Electric_Piston_LV.get(1);
+ CI.electricPiston_MV = ItemList.Electric_Piston_MV.get(1);
+ CI.electricPiston_HV = ItemList.Electric_Piston_HV.get(1);
+ CI.electricPiston_EV = ItemList.Electric_Piston_EV.get(1);
+ CI.electricPiston_IV = ItemList.Electric_Piston_IV.get(1);
+ CI.robotArm_LV = ItemList.Robot_Arm_LV.get(1);
+ CI.robotArm_MV = ItemList.Robot_Arm_MV.get(1);
+ CI.robotArm_HV = ItemList.Robot_Arm_HV.get(1);
+ CI.robotArm_EV = ItemList.Robot_Arm_EV.get(1);
+ CI.robotArm_IV = ItemList.Robot_Arm_IV.get(1);
+ CI.conveyorModule_LV = ItemList.Conveyor_Module_LV.get(1);
+ CI.conveyorModule_MV = ItemList.Conveyor_Module_MV.get(1);
+ CI.conveyorModule_HV = ItemList.Conveyor_Module_HV.get(1);
+ CI.conveyorModule_EV = ItemList.Conveyor_Module_EV.get(1);
+ CI.conveyorModule_IV = ItemList.Conveyor_Module_IV.get(1);
+ CI.emitter_LV = ItemList.Emitter_LV.get(1);
+ CI.emitter_MV = ItemList.Emitter_MV.get(1);
+ CI.emitter_HV = ItemList.Emitter_HV.get(1);
+ CI.emitter_EV = ItemList.Emitter_EV.get(1);
+ CI.emitter_IV = ItemList.Emitter_IV.get(1);
+ CI.fieldGenerator_LV = ItemList.Field_Generator_LV.get(1);
+ CI.fieldGenerator_MV = ItemList.Field_Generator_MV.get(1);
+ CI.fieldGenerator_HV = ItemList.Field_Generator_HV.get(1);
+ CI.fieldGenerator_EV = ItemList.Field_Generator_EV.get(1);
+ CI.fieldGenerator_IV = ItemList.Field_Generator_IV.get(1);
+ CI.sensor_LV = ItemList.Sensor_LV.get(1);
+ CI.sensor_MV = ItemList.Sensor_MV.get(1);
+ CI.sensor_HV = ItemList.Sensor_HV.get(1);
+ CI.sensor_EV = ItemList.Sensor_EV.get(1);
+ CI.sensor_IV = ItemList.Sensor_IV.get(1);
}
private static void registerGTExperimentalComponents(){
@@ -172,8 +172,17 @@ public class LOADER_Machine_Components {
CI.sensor_ZPM = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32696, 1);
CI.sensor_UV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32697, 1);
+ // Thanks 0lafe
+ CI.electricMotor_MAX = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32596, 1);
+ CI.electricPump_MAX = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32618, 1);
+ CI.electricPiston_MAX = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32648, 1);
+ CI.robotArm_MAX = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32658, 1);
+ CI.conveyorModule_MAX = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32638, 1);
+ CI.emitter_MAX = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32688, 1);
+ CI.fieldGenerator_MAX = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32678, 1);
+ CI.sensor_MAX = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32698, 1);
+
registerComponentsULV();
- registerComponentsMAX();
}
private static boolean registerComponentsULV(){
@@ -189,8 +198,9 @@ public class LOADER_Machine_Components {
return true;
}
- private static boolean registerComponentsMAX(){
- //Max Tier Components Blood Never added... Useless, lol.
+ private static boolean registerComponentsMAX() {
+
+ // Max Tier Components Blood Never added... Useless, lol.
CI.electricMotor_MAX = GregtechItemList.Electric_Motor_MAX.get(1);
CI.electricPump_MAX = GregtechItemList.Electric_Pump_MAX.get(1);
CI.electricPiston_MAX = GregtechItemList.Electric_Piston_MAX.get(1);
@@ -199,6 +209,7 @@ public class LOADER_Machine_Components {
CI.emitter_MAX = GregtechItemList.Emitter_MAX.get(1);
CI.fieldGenerator_MAX = GregtechItemList.Field_Generator_MAX.get(1);
CI.sensor_MAX = GregtechItemList.Sensor_MAX.get(1);
+
return true;
}
diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java
index 13c80297e4..e2c69277f6 100644
--- a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java
+++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java
@@ -876,15 +876,15 @@ public class RECIPES_GREGTECH {
CI.electricMotor_LV,
ItemUtils.getItemStackOfAmountFromOreDict("circuitBasic", 2),
ItemUtils.getItemStackOfAmountFromOreDict("ringBrass", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("rodBrass", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("stickBrass", 1),
ItemUtils.getItemStackOfAmountFromOreDict("plateSteel", 2)
}, null, ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 1, 1), 10*20, 30);
CORE.RA.addSixSlotAssemblingRecipe(new ItemStack[] {
CI.electricPump_MV,
CI.electricMotor_MV,
ItemUtils.getItemStackOfAmountFromOreDict("circuitAdvanced", 2),
- ItemUtils.getItemStackOfAmountFromOreDict("ringMagnalium", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("rodMagnalium", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("ringInvar", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("stickInvar", 1),
ItemUtils.getItemStackOfAmountFromOreDict("plateAluminium", 2)
}, null, ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 2, 1), 10*20*2, 120);
CORE.RA.addSixSlotAssemblingRecipe(new ItemStack[] {
@@ -892,7 +892,7 @@ public class RECIPES_GREGTECH {
CI.electricMotor_HV,
ItemUtils.getItemStackOfAmountFromOreDict("circuitData", 2),
ItemUtils.getItemStackOfAmountFromOreDict("ringChrome", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("rodChrome", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("stickChrome", 1),
ItemUtils.getItemStackOfAmountFromOreDict("plateStainlessSteel", 2)
}, null, ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 3, 1), 10*20*3, 480);
@@ -901,7 +901,7 @@ public class RECIPES_GREGTECH {
CI.electricMotor_EV,
ItemUtils.getItemStackOfAmountFromOreDict("circuitElite", 2),
ItemUtils.getItemStackOfAmountFromOreDict("ringTitanium", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("rodTitanium", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("stickTitanium", 1),
ItemUtils.getItemStackOfAmountFromOreDict("plateTungstenSteel", 2)
}, null, ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 4, 1), 10*20*4, 1960);
diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java
index 10c5c09f8c..0040edfa99 100644
--- a/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java
+++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java
@@ -1,5 +1,7 @@
package gtPlusPlus.core.recipe;
+import static gtPlusPlus.core.lib.CORE.GTNH;
+
import gregtech.api.enums.*;
import gregtech.api.util.GT_ModHandler;
import gtPlusPlus.api.objects.Logger;
@@ -9,13 +11,14 @@ import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.core.material.ALLOY;
import gtPlusPlus.core.material.ELEMENT;
+import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.recipe.common.CI;
import gtPlusPlus.core.util.minecraft.*;
-import gtPlusPlus.core.util.reflect.ReflectionUtils;
import gtPlusPlus.everglades.dimension.Dimension_Everglades;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
+import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidStack;
@@ -204,6 +207,7 @@ public class RECIPES_Machines {
private static void run(){
initModItems();
+ controlCores();
}
private static void initModItems(){
@@ -217,7 +221,7 @@ public class RECIPES_Machines {
boiler_Coal = ItemList.Machine_Bronze_Boiler.get(1);
//IV MACHINES
- if (!CORE.GTNH){
+ if (!GTNH){
EV_MACHINE_Electrolyzer = ItemList.Machine_EV_Electrolyzer.get(1);
EV_MACHINE_BendingMachine= ItemList.Machine_EV_Bender.get(1);
EV_MACHINE_Wiremill= ItemList.Machine_EV_Wiremill.get(1);
@@ -270,7 +274,7 @@ public class RECIPES_Machines {
private static void runModRecipes(){
if (LoadedMods.Gregtech){
//Determines Casing Recipe Output
- if (CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK && !CORE.GTNH){
+ if (CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK && !GTNH){
Casing_Amount=2;
}
else {
@@ -278,22 +282,71 @@ public class RECIPES_Machines {
}
- //Computer Cube
- RecipeUtils.addShapedGregtechRecipe(
- CI.getDataOrb(),ItemList.Cover_Screen.get(1),"circuitMaster",
- ItemList.Cover_Screen.get(1),CI.machineHull_EV,ItemList.Cover_Screen.get(1),
- "circuitMaster",ItemList.Cover_Screen.get(1),CI.getDataOrb(),
- GregtechItemList.Gregtech_Computer_Cube.get(1));
+ //Computer Cube
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] {
+ ItemUtils.getSimpleStack(CI.getDataOrb(), 4 * (GTNH ? 2 : 1)),
+ ItemList.Cover_Screen.get(4),
+ CI.machineHull_IV,
+ ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(7), 2)
+ },
+ ELEMENT.getInstance().TANTALUM.getFluid(144 * 16),
+ GregtechItemList.Gregtech_Computer_Cube.get(1),
+ 60 * 20 * 3,
+ 8000);
+
+ //Circuit programmer
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] {
+ ItemUtils.getSimpleStack(CI.robotArm_LV, 4 * (GTNH ? 2 : 1)),
+ ItemList.Cover_Controller.get(1, CI.electricMotor_MV),
+ CI.machineHull_MV,
+ ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(2), 2),
+ ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(3), 2)
+ },
+ ELEMENT.getInstance().IRON.getFluid(144 * 4),
+ ItemUtils.getSimpleStack(ModBlocks.blockCircuitProgrammer),
+ 60 * 10 * 1,
+ 30);
+
+ //Lead Lined Chest
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] {
+ CI.machineHull_LV,
+ ItemUtils.getItemStackOfAmountFromOreDict("plateRubber", 32),
+ ItemUtils.getItemStackOfAmountFromOreDict("plateDenseLead", 9),
+ ItemUtils.getSimpleStack(Blocks.chest)
+ },
+ ELEMENT.getInstance().LEAD.getFluid(144 * 16),
+ ItemUtils.getSimpleStack(ModBlocks.blockDecayablesChest),
+ 60 * 10 * 3,
+ 60);
+
+ //RTG
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] {
+ ItemUtils.getItemStackWithMeta(true, "IC2:blockGenerator:6", "IC2-RTG", 6, 1),
+ ALLOY.NITINOL_60.getPlate(GTNH ? 32 : 8),
+ ALLOY.MARAGING350.getGear(GTNH ? 16 : 4),
+ ItemUtils.getSimpleStack(GTNH ? CI.fieldGenerator_IV : CI.fieldGenerator_EV, 8 ),
+ ItemUtils.getItemStackOfAmountFromOreDict("wireFinePlatinum", GTNH ? 64 : 32),
+ ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(GTNH ? 7 : 6), GTNH ? 5 : 4)
+ },
+ ALLOY.NIOBIUM_CARBIDE.getFluid(144 * 16),
+ GregtechItemList.RTG.get(1),
+ 60 * 20 * 10,
+ 8000);
+
//Buffer Core
RecipeUtils.addShapedGregtechRecipe(
CI.component_Plate[1], cableTier1, CI.component_Plate[1],
- "circuitPrimitive", "plateStaballloy", "circuitPrimitive",
+ "circuitPrimitive", "plateStaballoy", "circuitPrimitive",
CI.component_Plate[1], cableTier1, CI.component_Plate[1],
RECIPE_BufferCore_ULV);
RecipeUtils.addShapedGregtechRecipe(
CI.component_Plate[2], cableTier2, CI.component_Plate[2],
- CI.circuitTier1, CI.machineHull_HV, CI.circuitTier1,
+ RECIPE_BufferCore_ULV, CI.machineHull_HV, RECIPE_BufferCore_ULV,
CI.component_Plate[2], cableTier2, CI.component_Plate[2],
RECIPE_BufferCore_LV);
RecipeUtils.addShapedGregtechRecipe(
@@ -570,8 +623,8 @@ public class RECIPES_Machines {
//Tiered Tanks
if (CORE.ConfigSwitches.enableMachine_FluidTanks){
- Logger.WARNING("Is New Horizons Loaded? "+CORE.GTNH);
- if (!CORE.GTNH){
+ Logger.WARNING("Is New Horizons Loaded? "+GTNH);
+ if (!GTNH){
RecipeUtils.addShapedGregtechRecipe(
CI.component_Plate[1], CI.component_Plate[1], CI.component_Plate[1],
CI.component_Plate[1], pipeTier1, CI.component_Plate[1],
@@ -786,14 +839,14 @@ public class RECIPES_Machines {
RECIPE_TreeFarmController = GregtechItemList.Industrial_TreeFarm.get(1);
RECIPE_TreeFarmFrame = GregtechItemList.TreeFarmer_Structural.get(Casing_Amount);
//Industrial Tree Farm Controller
- if (!CORE.GTNH) {
+ if (!GTNH) {
RecipeUtils.addShapedGregtechRecipe(
"plateEglinSteel", "rotorEglinSteel", "plateEglinSteel",
"cableGt02Steel", "pipeMediumSteel", "cableGt02Steel",
"plateEglinSteel", CI.machineCasing_MV, "plateEglinSteel",
RECIPE_TreeFarmController);
}
- if (CORE.GTNH) {
+ if (GTNH) {
RecipeUtils.addShapedGregtechRecipe(
"plateEglinSteel", "rotorEglinSteel", "plateEglinSteel",
"cableGt02Silver", "pipeMediumStainlessSteel", "cableGt02Silver",
@@ -973,7 +1026,7 @@ public class RECIPES_Machines {
RECIPE_LFTROuterCasing = GregtechItemList.Casing_Reactor_I.get(1); //Hastelloy
ItemStack controlCircuit = ItemUtils.getSimpleStack(ModItems.itemCircuitLFTR);
- if(!CORE.GTNH) {
+ if(!GTNH) {
RecipeUtils.addShapedGregtechRecipe(
controlCircuit, "cableGt12NaquadahAlloy", controlCircuit,
"plateDoubleHastelloyN", GregtechItemList.Gregtech_Computer_Cube.get(1), "plateDoubleHastelloyN",
@@ -1013,7 +1066,7 @@ public class RECIPES_Machines {
ItemStack mInnerTank;
- if (CORE.GTNH || !CORE.ConfigSwitches.enableMachine_FluidTanks){
+ if (GTNH || !CORE.ConfigSwitches.enableMachine_FluidTanks){
mInnerTank = ItemList.Quantum_Tank_LV.get(1);
}
else {
@@ -1301,7 +1354,7 @@ public class RECIPES_Machines {
ItemStack o_Fermenter;
ItemStack o_Distillery;
ItemStack o_Extractor;
- if (CORE.GTNH) {
+ if (GTNH) {
o_Compressor = ItemList.Machine_IV_Compressor.get(1);
o_Lathe = ItemList.Machine_IV_Lathe.get(1);
o_Electromagnet = ItemList.Machine_IV_Polarizer.get(1);
@@ -1395,17 +1448,17 @@ public class RECIPES_Machines {
ItemList.FusionComputer_UV.get(1),
(int) GT_Values.V[5],
new ItemStack[] {
- ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(9), 4 * (CORE.GTNH ? 2 : 1)),
- ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(7), 32 * (CORE.GTNH ? 2 : 1)),
- ItemUtils.getItemStackOfAmountFromOreDict("wireGt16Superconductor", 8 * (CORE.GTNH ? 4 : 2)),
- ItemUtils.getItemStackOfAmountFromOreDict("plateDenseNeutronium", 2 * (CORE.GTNH ? 5 : 1)),
- ItemUtils.getSimpleStack((CORE.GTNH ? CI.fieldGenerator_MAX : CI.fieldGenerator_ZPM), 5),
- ItemList.Energy_LapotronicOrb2.get(1 * (CORE.GTNH ? 64 : 8)),
- CORE.GTNH ? GregtechItemList.Compressed_Fusion_Reactor.get(1) : ItemList.FusionComputer_UV.get(1),
+ ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(9), 4 * (GTNH ? 2 : 1)),
+ ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(7), 32 * (GTNH ? 2 : 1)),
+ ItemUtils.getItemStackOfAmountFromOreDict("wireGt16Superconductor", 8 * (GTNH ? 4 : 2)),
+ ItemUtils.getItemStackOfAmountFromOreDict("plateDenseNeutronium", 2 * (GTNH ? 5 : 1)),
+ ItemUtils.getSimpleStack((GTNH ? CI.fieldGenerator_MAX : CI.fieldGenerator_ZPM), 5),
+ ItemList.Energy_LapotronicOrb2.get(1 * (GTNH ? 64 : 8)),
+ GTNH ? GregtechItemList.Compressed_Fusion_Reactor.get(1) : ItemList.FusionComputer_UV.get(1),
GregtechItemList.Casing_Fusion_Internal.get(1)
},
new FluidStack[] {
- ALLOY.PIKYONIUM.getFluid(32 * 144 * (CORE.GTNH ? 2 : 1)),
+ ALLOY.PIKYONIUM.getFluid(32 * 144 * (GTNH ? 2 : 1)),
ALLOY.HG1223.getFluid(64 * 144)
},
GregtechItemList.FusionComputer_UV2.get(1),
@@ -1417,17 +1470,17 @@ public class RECIPES_Machines {
ItemList.Casing_Fusion2.get(1),
(int) GT_Values.V[4],
new ItemStack[] {
- ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(5), 8 * (CORE.GTNH ? 2 : 1)),
- ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(4), 16 * (CORE.GTNH ? 2 : 1)),
- ItemUtils.getItemStackOfAmountFromOreDict("blockTungstenCarbide", 4 * (CORE.GTNH ? 2 : 1)),
- ItemUtils.getItemStackOfAmountFromOreDict("plateNeutronium", 2 * (CORE.GTNH ? 2 : 1)),
- ItemUtils.getSimpleStack((CORE.GTNH ? CI.electricMotor_MAX : CI.electricMotor_ZPM), 3 * (CORE.GTNH ? 2 : 1)),
- ItemUtils.getSimpleStack((CORE.GTNH ? CI.electricPiston_UV : CI.electricPiston_LuV), 4 * (CORE.GTNH ? 2 : 1)),
- ItemUtils.getSimpleStack((CORE.GTNH ? CI.machineHull_MAX : CI.machineHull_ZPM), 1 * (CORE.GTNH ? 2 : 1)),
+ ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(5), 8 * (GTNH ? 2 : 1)),
+ ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(4), 16 * (GTNH ? 2 : 1)),
+ ItemUtils.getItemStackOfAmountFromOreDict("blockTungstenCarbide", 4 * (GTNH ? 2 : 1)),
+ ItemUtils.getItemStackOfAmountFromOreDict("plateNeutronium", 2 * (GTNH ? 2 : 1)),
+ ItemUtils.getSimpleStack((GTNH ? CI.electricMotor_MAX : CI.electricMotor_ZPM), 3 * (GTNH ? 2 : 1)),
+ ItemUtils.getSimpleStack((GTNH ? CI.electricPiston_UV : CI.electricPiston_LuV), 4 * (GTNH ? 2 : 1)),
+ ItemUtils.getSimpleStack((GTNH ? CI.machineHull_MAX : CI.machineHull_ZPM), 1 * (GTNH ? 2 : 1)),
ItemList.Casing_Fusion2.get(1)
},
new FluidStack[] {
- Materials.NaquadahAlloy.getMolten(576 * (CORE.GTNH ? 2 : 1)),
+ Materials.NaquadahAlloy.getMolten(576 * (GTNH ? 2 : 1)),
ALLOY.ZERON_100.getFluid(16 * 144)
},
GregtechItemList.Casing_Fusion_External.get(1),
@@ -1439,18 +1492,18 @@ public class RECIPES_Machines {
ItemList.Casing_Fusion_Coil.get(1),
(int) GT_Values.V[4],
new ItemStack[] {
- ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(8), 4 * (CORE.GTNH ? 2 : 1)),
- ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(6), 8 * (CORE.GTNH ? 2 : 1)),
- ItemUtils.getItemStackOfAmountFromOreDict("plateNeutronium", 2 * (CORE.GTNH ? 3 : 1)),
- ItemUtils.getSimpleStack((CORE.GTNH ? CI.emitter_MAX : CI.emitter_ZPM), 2 * (CORE.GTNH ? 2 : 1)),
- ItemUtils.getSimpleStack((CORE.GTNH ? CI.sensor_MAX : CI.sensor_ZPM), 2 * (CORE.GTNH ? 2 : 1)),
- ItemUtils.getSimpleStack((CORE.GTNH ? CI.fieldGenerator_MAX : CI.fieldGenerator_LuV), 2 * (CORE.GTNH ? 2 : 1)),
- ItemUtils.getSimpleStack((CORE.GTNH ? ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(8), 8) : CI.getDataOrb()), 8 * (CORE.GTNH ? 2 : 1)),
- ItemList.Energy_LapotronicOrb2.get(2 * (CORE.GTNH ? 16 : 1)),
+ ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(8), 4 * (GTNH ? 2 : 1)),
+ ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(6), 8 * (GTNH ? 2 : 1)),
+ ItemUtils.getItemStackOfAmountFromOreDict("plateNeutronium", 2 * (GTNH ? 3 : 1)),
+ ItemUtils.getSimpleStack((GTNH ? CI.emitter_MAX : CI.emitter_ZPM), 2 * (GTNH ? 2 : 1)),
+ ItemUtils.getSimpleStack((GTNH ? CI.sensor_MAX : CI.sensor_ZPM), 2 * (GTNH ? 2 : 1)),
+ ItemUtils.getSimpleStack((GTNH ? CI.fieldGenerator_MAX : CI.fieldGenerator_LuV), 2 * (GTNH ? 2 : 1)),
+ ItemUtils.getSimpleStack((GTNH ? ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(8), 8) : CI.getDataOrb()), 8 * (GTNH ? 2 : 1)),
+ ItemList.Energy_LapotronicOrb2.get(2 * (GTNH ? 16 : 1)),
ItemList.Casing_Fusion_Coil.get(1)
},
new FluidStack[] {
- ALLOY.CINOBITE.getFluid(16 * 144 * (CORE.GTNH ? 2 : 1)),
+ ALLOY.CINOBITE.getFluid(16 * 144 * (GTNH ? 2 : 1)),
ALLOY.ABYSSAL.getFluid(64 * 144)
},
GregtechItemList.Casing_Fusion_Internal.get(1),
@@ -1461,7 +1514,7 @@ public class RECIPES_Machines {
ItemStack aDrillController;
- if (CORE.GTNH) {
+ if (GTNH) {
aDrillController = ItemList.valueOf("OreDrill4").get(1);
}
else {
@@ -1479,11 +1532,11 @@ public class RECIPES_Machines {
new ItemStack[] {
aDrillController,
ItemUtils.getItemStackOfAmountFromOreDict("frameGtTriniumNaquadahCarbonite", 3),
- ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(9), 2 * (CORE.GTNH ? 4 : 1)),
- ItemUtils.getSimpleStack((CORE.GTNH ? CI.conveyorModule_UV : CI.conveyorModule_ZPM), 2 * (CORE.GTNH ? 2 : 1)),
- ItemUtils.getSimpleStack((CORE.GTNH ? CI.electricPump_UV : CI.electricPump_ZPM), 4 * (CORE.GTNH ? 2 : 1)),
+ ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(9), 2 * (GTNH ? 4 : 1)),
+ ItemUtils.getSimpleStack((GTNH ? CI.conveyorModule_UV : CI.conveyorModule_ZPM), 2 * (GTNH ? 2 : 1)),
+ ItemUtils.getSimpleStack((GTNH ? CI.electricPump_UV : CI.electricPump_ZPM), 4 * (GTNH ? 2 : 1)),
},
- ALLOY.LAFIUM.getFluid(144 * 8 * (CORE.GTNH ? 2 : 1)),
+ ALLOY.LAFIUM.getFluid(144 * 8 * (GTNH ? 2 : 1)),
GregtechItemList.BedrockMiner_MKI.get(1),
(int) GT_Values.V[5],
(int) GT_Values.V[7]);
@@ -1492,12 +1545,12 @@ public class RECIPES_Machines {
CORE.RA.addSixSlotAssemblingRecipe(
new ItemStack[] {
ItemUtils.getItemStackOfAmountFromOreDict("frameGtTriniumNaquadahCarbonite", 4),
- ItemUtils.getItemStackOfAmountFromOreDict("plateDoubleTriniumTitaniumAlloy", 1 * (CORE.GTNH ? 2 : 1)),
- ItemUtils.getItemStackOfAmountFromOreDict("gearGtPikyonium64B", 2 * (CORE.GTNH ? 2 : 1)),
- ALLOY.TRINIUM_REINFORCED_STEEL.getPlateDouble(4 * (CORE.GTNH ? 2 : 1)),
- ItemUtils.getSimpleStack((CORE.GTNH ? CI.machineHull_UV : CI.machineHull_LuV), 1 * (CORE.GTNH ? 2 : 1)),
+ ItemUtils.getItemStackOfAmountFromOreDict("plateDoubleTriniumTitaniumAlloy", 1 * (GTNH ? 2 : 1)),
+ ItemUtils.getItemStackOfAmountFromOreDict("gearGtPikyonium64B", 2 * (GTNH ? 2 : 1)),
+ ALLOY.TRINIUM_REINFORCED_STEEL.getPlateDouble(4 * (GTNH ? 2 : 1)),
+ ItemUtils.getSimpleStack((GTNH ? CI.machineHull_UV : CI.machineHull_LuV), 1 * (GTNH ? 2 : 1)),
},
- ALLOY.MARAGING350.getFluid(144 * 16 * (CORE.GTNH ? 2 : 1)),
+ ALLOY.MARAGING350.getFluid(144 * 16 * (GTNH ? 2 : 1)),
GregtechItemList.Casing_BedrockMiner.get(1),
(int) GT_Values.V[4],
(int) GT_Values.V[6]);
@@ -1538,4 +1591,121 @@ public class RECIPES_Machines {
Logger.INFO("Done loading recipes for the Various machine blocks.");
}
+
+
+ private static void controlCores() {
+
+ Material[] aMat_A = new Material[] {
+ ALLOY.POTIN,
+ ALLOY.ZIRCONIUM_CARBIDE,
+ ALLOY.TANTALLOY_61,
+ ALLOY.INCONEL_792,
+ ALLOY.STABALLOY,
+ ALLOY.TALONITE,
+ ALLOY.HASTELLOY_N,
+ ALLOY.HG1223,
+ ALLOY.LAFIUM,
+ ALLOY.PIKYONIUM
+ };
+ Material[] aMat_B = new Material[] {
+ ALLOY.TUMBAGA,
+ ALLOY.SILICON_CARBIDE,
+ ALLOY.EGLIN_STEEL,
+ ALLOY.NICHROME,
+ ALLOY.TUNGSTEN_CARBIDE,
+ ALLOY.STELLITE,
+ ALLOY.HASTELLOY_C276,
+ ALLOY.NITINOL_60,
+ ALLOY.ZERON_100,
+ ALLOY.CINOBITE
+ };
+
+ Item aBaseCore = ModItems.itemControlCore;
+ ItemStack[] aInputPrevTier = new ItemStack[] {
+ ItemUtils.getItemStack("miscutils:item.itemBufferCore5", 1),
+ ItemUtils.simpleMetaStack(aBaseCore, 0, 1),
+ ItemUtils.simpleMetaStack(aBaseCore, 1, 1),
+ ItemUtils.simpleMetaStack(aBaseCore, 2, 1),
+ ItemUtils.simpleMetaStack(aBaseCore, 3, 1),
+ ItemUtils.simpleMetaStack(aBaseCore, 4, 1),
+ ItemUtils.simpleMetaStack(aBaseCore, 5, 1),
+ ItemUtils.simpleMetaStack(aBaseCore, 6, 1),
+ ItemUtils.simpleMetaStack(aBaseCore, 7, 1),
+ ItemUtils.simpleMetaStack(aBaseCore, 8, 1),
+ };
+ ItemStack[] aOutput = new ItemStack[] {
+ ItemUtils.simpleMetaStack(aBaseCore, 0, 1),
+ ItemUtils.simpleMetaStack(aBaseCore, 1, 1),
+ ItemUtils.simpleMetaStack(aBaseCore, 2, 1),
+ ItemUtils.simpleMetaStack(aBaseCore, 3, 1),
+ ItemUtils.simpleMetaStack(aBaseCore, 4, 1),
+ ItemUtils.simpleMetaStack(aBaseCore, 5, 1),
+ ItemUtils.simpleMetaStack(aBaseCore, 6, 1),
+ ItemUtils.simpleMetaStack(aBaseCore, 7, 1),
+ ItemUtils.simpleMetaStack(aBaseCore, 8, 1),
+ ItemUtils.simpleMetaStack(aBaseCore, 9, 1),
+
+ };
+
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] {
+ CI.machineHull_IV,
+ aOutput[2],
+ aMat_A[3].getGear(GTNH ? 4 : 2),
+ aMat_B[5].getPlateDouble(GTNH ? 16 : 8),
+ ItemUtils.getItemStack("miscutils:item.itemBufferCore"+(GTNH ? "5" : "4"), GTNH ? 4 : 2),
+ ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(GTNH ? 4 : 3), GTNH ? 10 : 5)
+ },
+ aMat_B[4].getFluid(144 * 16), //Input Fluid
+ GregtechItemList.Hatch_Control_Core.get(1),
+ 60 * 20 * 5,
+ MaterialUtils.getVoltageForTier(4));
+
+
+ for (int i = 0; i < 10; i++) {
+ boolean aDub = i >= 5;
+
+ ItemStack aPlateStack = aMat_A[i].getPlateDouble((GTNH ? 16 : 8) * (aDub ? 2 : 1));
+ ItemStack aGearStack = aMat_B[i].getGear(GTNH ? 8 : 4 * (aDub ? 2 : 1));
+ ItemStack aRodStack = aMat_A[i].getLongRod(GTNH ? 32 : 16 * (aDub ? 2 : 1));
+ ItemStack aScrewStack = aMat_B[i].getScrew(32 * (aDub ? 2 : 1));
+
+ if (!ItemUtils.checkForInvalidItems(aPlateStack)) {
+ aPlateStack = aMat_A[i].getPlate((GTNH ? 16 : 8) * (aDub ? 2 : 1) * 2);
+ if (!ItemUtils.checkForInvalidItems(aPlateStack)) {
+ aPlateStack = aMat_B[i].getPlateDouble((GTNH ? 16 : 8) * (aDub ? 2 : 1));
+ if (!ItemUtils.checkForInvalidItems(aPlateStack)) {
+ aPlateStack = aMat_B[i].getPlate((GTNH ? 16 : 8) * (aDub ? 2 : 1) * 2);
+ }
+ }
+ }
+ if (!ItemUtils.checkForInvalidItems(aGearStack)) {
+ aGearStack = aMat_A[i].getGear(GTNH ? 8 : 4 * (aDub ? 2 : 1));
+ }
+ if (!ItemUtils.checkForInvalidItems(aRodStack)) {
+ aRodStack = aMat_B[i].getLongRod(GTNH ? 32 : 16 * (aDub ? 2 : 1));
+ }
+ if (!ItemUtils.checkForInvalidItems(aScrewStack)) {
+ aScrewStack = aMat_A[i].getScrew(32 * (aDub ? 2 : 1));
+ }
+
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] {
+ aInputPrevTier[i],
+ aPlateStack,
+ aGearStack,
+ aRodStack,
+ aScrewStack,
+ ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName((int) (4+Math.ceil((double) i / (double) 2))), GTNH ? (i * 2 * 2 * 2) : (i * 2 * 2))
+ },
+ aMat_A[i].getFluid(144 * 4 * (i+1)), //Input Fluid
+ aOutput[i],
+ 60 * 20 * 1 * (i+1),
+ MaterialUtils.getVoltageForTier(i));
+ }
+
+
+
+
+ }
}
diff --git a/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java
index 90bb90f6d0..425606dd8e 100644
--- a/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java
@@ -286,6 +286,13 @@ public class ItemUtils {
else {
mTemp = Utils.sanitizeString(mTemp);
}
+
+
+
+ if (oredictName.contains("rod")) {
+ String s = "stick"+oredictName.substring(3);
+ oredictName = s;
+ }
// Banned Materials and replacements for GT5.8 compat.