aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDream-Master <dream-master@gmx.net>2020-04-06 23:59:42 +0200
committerDream-Master <dream-master@gmx.net>2020-04-06 23:59:42 +0200
commit6319dacc31e3fe6e2286a305515392a9b6c313e8 (patch)
tree8f343c3651710e4b1d5444454458724323cdedce /src
parent018903ff3d872a0a1a39d99cb4259fe3dc98bce3 (diff)
downloadGT5-Unofficial-6319dacc31e3fe6e2286a305515392a9b6c313e8.tar.gz
GT5-Unofficial-6319dacc31e3fe6e2286a305515392a9b6c313e8.tar.bz2
GT5-Unofficial-6319dacc31e3fe6e2286a305515392a9b6c313e8.zip
Added a better way for the Processing Array to handle recipes.
https://github.com/Blood-Asp/GT5-Unofficial/pull/1551 add missing Packer machines back
Diffstat (limited to 'src')
-rw-r--r--src/main/java/gregtech/api/enums/ItemList.java3
-rw-r--r--src/main/java/gregtech/api/util/GT_ProcessingArray_Manager.java31
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java125
-rw-r--r--src/main/java/gregtech/loaders/postload/GT_ProcessingArrayRecipeLoader.java144
-rw-r--r--src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java15
5 files changed, 210 insertions, 108 deletions
diff --git a/src/main/java/gregtech/api/enums/ItemList.java b/src/main/java/gregtech/api/enums/ItemList.java
index bfd455034b..18c4ef7a66 100644
--- a/src/main/java/gregtech/api/enums/ItemList.java
+++ b/src/main/java/gregtech/api/enums/ItemList.java
@@ -1168,6 +1168,9 @@ public enum ItemList implements IItemContainer {
Machine_HV_Boxinator,
Machine_EV_Boxinator,
Machine_IV_Boxinator,
+ Machine_LuV_Boxinator,
+ Machine_ZPM_Boxinator,
+ Machine_UV_Boxinator,
Machine_LV_Unboxinator,
Machine_MV_Unboxinator,
diff --git a/src/main/java/gregtech/api/util/GT_ProcessingArray_Manager.java b/src/main/java/gregtech/api/util/GT_ProcessingArray_Manager.java
new file mode 100644
index 0000000000..e25a0209d9
--- /dev/null
+++ b/src/main/java/gregtech/api/util/GT_ProcessingArray_Manager.java
@@ -0,0 +1,31 @@
+package gregtech.api.util;
+
+import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
+
+import java.util.HashMap;
+
+public class GT_ProcessingArray_Manager {
+
+ private static final HashMap<Integer, String> mMetaKeyMap = new HashMap<Integer, String>();
+ private static final HashMap<String, GT_Recipe_Map> mRecipeCache = new HashMap<String, GT_Recipe_Map>();
+
+ public static boolean registerRecipeMapForMeta(int aMeta, GT_Recipe_Map aMap) {
+ if (aMeta < 0 || aMeta > Short.MAX_VALUE || aMap == null) {
+ return false;
+ }
+ if (mMetaKeyMap.containsKey(aMeta)) {
+ return false;
+ }
+ String aMapNameKey = aMap.mUnlocalizedName;
+ mMetaKeyMap.put(aMeta, aMapNameKey);
+ if (!mRecipeCache.containsKey(aMapNameKey)) {
+ mRecipeCache.put(aMapNameKey, aMap);
+ }
+ return true;
+ }
+
+ public static GT_Recipe_Map getRecipeMapForMeta(int aMeta) {
+ return mRecipeCache.get(mMetaKeyMap.get(aMeta));
+ }
+
+} \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java
index 120e570307..850908104b 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java
@@ -1,15 +1,5 @@
package gregtech.common.tileentities.machines.multi;
-import static gregtech.api.enums.GT_Values.VN;
-import static gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine.isValidForLowGravity;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.commons.lang3.ArrayUtils;
-
import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
import gregtech.api.enums.GT_Values;
@@ -22,7 +12,9 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Energ
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_InputBus;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase;
import gregtech.api.objects.GT_RenderedTexture;
+import gregtech.api.util.GT_ProcessingArray_Manager;
import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
import gregtech.api.util.GT_Utility;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
@@ -32,6 +24,15 @@ import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.StatCollector;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.FluidStack;
+import org.apache.commons.lang3.ArrayUtils;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import static gregtech.api.enums.GT_Values.VN;
+import static gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine.isValidForLowGravity;
public class GT_MetaTileEntity_ProcessingArray extends GT_MetaTileEntity_MultiBlockBase {
@@ -101,93 +102,13 @@ public class GT_MetaTileEntity_ProcessingArray extends GT_MetaTileEntity_MultiBl
}
*/
- public GT_Recipe.GT_Recipe_Map getRecipeMap() {
- if (mInventory[1] == null) return null;
- String tmp = mInventory[1].getUnlocalizedName().replaceAll("gt\\.blockmachines\\.basicmachine\\.", "");
- if (tmp.startsWith("centrifuge")) {
- return GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes;
- } else if (tmp.startsWith("electrolyzer")) {
- return GT_Recipe.GT_Recipe_Map.sElectrolyzerRecipes;
- } else if (tmp.startsWith("alloysmelter")) {
- return GT_Recipe.GT_Recipe_Map.sAlloySmelterRecipes;
- } else if (tmp.startsWith("assembler")) {
- return GT_Recipe.GT_Recipe_Map.sAssemblerRecipes;
- } else if (tmp.startsWith("compressor")) {
- return GT_Recipe.GT_Recipe_Map.sCompressorRecipes;
- } else if (tmp.startsWith("extractor")) {
- return GT_Recipe.GT_Recipe_Map.sExtractorRecipes;
- } else if (tmp.startsWith("macerator")) {
- return GT_Recipe.GT_Recipe_Map.sMaceratorRecipes;
- } else if (tmp.startsWith("recycler")) {
- return GT_Recipe.GT_Recipe_Map.sRecyclerRecipes;
- } else if (tmp.startsWith("thermalcentrifuge")) {
- return GT_Recipe.GT_Recipe_Map.sThermalCentrifugeRecipes;
- } else if (tmp.startsWith("orewasher")) {
- return GT_Recipe.GT_Recipe_Map.sOreWasherRecipes;
- } else if (tmp.startsWith("chemicalreactor")) {
- return GT_Recipe.GT_Recipe_Map.sChemicalRecipes;
- } else if (tmp.startsWith("chemicalbath")) {
- return GT_Recipe.GT_Recipe_Map.sChemicalBathRecipes;
- } else if (tmp.startsWith("electromagneticseparator")) {
- return GT_Recipe.GT_Recipe_Map.sElectroMagneticSeparatorRecipes;
- } else if (tmp.startsWith("autoclave")) {
- return GT_Recipe.GT_Recipe_Map.sAutoclaveRecipes;
- } else if (tmp.startsWith("mixer")) {
- return GT_Recipe.GT_Recipe_Map.sMixerRecipes;
- } else if (tmp.startsWith("hammer")) {
- return GT_Recipe.GT_Recipe_Map.sHammerRecipes;
- } else if (tmp.startsWith("sifter")) {
- return GT_Recipe.GT_Recipe_Map.sSifterRecipes;
- } else if (tmp.startsWith("extruder")) {
- return GT_Recipe.GT_Recipe_Map.sExtruderRecipes;
- } else if (tmp.startsWith("laserengraver")) {
- return GT_Recipe.GT_Recipe_Map.sLaserEngraverRecipes;
- } else if (tmp.startsWith("bender")) {
- return GT_Recipe.GT_Recipe_Map.sBenderRecipes;
- } else if (tmp.startsWith("wiremill")) {
- return GT_Recipe.GT_Recipe_Map.sWiremillRecipes;
- } else if (tmp.startsWith("arcfurnace")) {
- return GT_Recipe.GT_Recipe_Map.sArcFurnaceRecipes;
- } else if (tmp.startsWith("brewery")) {
- return GT_Recipe.GT_Recipe_Map.sBrewingRecipes;
- } else if (tmp.startsWith("canner")) {
- return GT_Recipe.GT_Recipe_Map.sCannerRecipes;
- } else if (tmp.startsWith("cutter")) {
- return GT_Recipe.GT_Recipe_Map.sCutterRecipes;
- } else if (tmp.startsWith("fermenter")) {
- return GT_Recipe.GT_Recipe_Map.sFermentingRecipes;
- } else if (tmp.startsWith("fluidextractor")) {
- return GT_Recipe.GT_Recipe_Map.sFluidExtractionRecipes;
- } else if (tmp.startsWith("fluidsolidifier")) {
- return GT_Recipe.GT_Recipe_Map.sFluidSolidficationRecipes;
- } else if (tmp.startsWith("lathe")) {
- return GT_Recipe.GT_Recipe_Map.sLatheRecipes;
- } else if (tmp.startsWith("boxinator")) {
- return GT_Recipe.GT_Recipe_Map.sBoxinatorRecipes;
- } else if (tmp.startsWith("unboxinator")) {
- return GT_Recipe.GT_Recipe_Map.sUnboxinatorRecipes;
- } else if (tmp.startsWith("polarizer")) {
- return GT_Recipe.GT_Recipe_Map.sPolarizerRecipes;
- } else if(tmp.startsWith("press")){
- return GT_Recipe.GT_Recipe_Map.sPressRecipes;
- } else if (tmp.startsWith("plasmaarcfurnace")) {
- return GT_Recipe.GT_Recipe_Map.sPlasmaArcFurnaceRecipes;
- } else if (tmp.startsWith("printer")) {
- return GT_Recipe.GT_Recipe_Map.sPrinterRecipes;
- } else if (tmp.startsWith("fluidcanner")) {
- return GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes;
- } else if (tmp.startsWith("fluidheater")) {
- return GT_Recipe.GT_Recipe_Map.sFluidHeaterRecipes;
- } else if (tmp.startsWith("distillery")) {
- return GT_Recipe.GT_Recipe_Map.sDistilleryRecipes;
- } else if (tmp.startsWith("slicer")) {
- return GT_Recipe.GT_Recipe_Map.sSlicerRecipes;
- } else if (tmp.startsWith("amplifier")) {
- return GT_Recipe.GT_Recipe_Map.sAmplifiers;
- } else if (tmp.startsWith("circuitassembler")) {
- return GT_Recipe.GT_Recipe_Map.sCircuitAssemblerRecipes;
+ public GT_Recipe_Map getRecipeMap() {
+ if (isCorrectMachinePart(mInventory[1])) {
+ GT_Recipe_Map aTemp = GT_ProcessingArray_Manager.getRecipeMapForMeta(mInventory[1].getItemDamage());
+ if (aTemp != null) {
+ return aTemp;
+ }
}
-
return null;
}
@@ -256,7 +177,7 @@ public class GT_MetaTileEntity_ProcessingArray extends GT_MetaTileEntity_MultiBl
if (!mMachine.equals(mInventory[1].getUnlocalizedName())) mLastRecipe = null;
mMachine = mInventory[1].getUnlocalizedName();
-
+
ArrayList<FluidStack> tFluidList = getStoredFluids();
FluidStack[] tFluids = (FluidStack[]) tFluidList.toArray(new FluidStack[tFluidList.size()]);
if (mSeparate) {
@@ -280,7 +201,7 @@ public class GT_MetaTileEntity_ProcessingArray extends GT_MetaTileEntity_MultiBl
}
return false;
}
-
+
public boolean processRecipe(ItemStack[] tInputs, FluidStack[] tFluids, GT_Recipe.GT_Recipe_Map map) {
if (tInputs.length > 0 || tFluids.length > 0) {
GT_Recipe tRecipe = map.findRecipe(getBaseMetaTileEntity(), mLastRecipe, false, gregtech.api.enums.GT_Values.V[tTier], tFluids, tInputs);
@@ -371,7 +292,7 @@ public class GT_MetaTileEntity_ProcessingArray extends GT_MetaTileEntity_MultiBl
}
return false;
}
-
+
public static ItemStack[] clean(final ItemStack[] v) {
List<ItemStack> list = new ArrayList<ItemStack>(Arrays.asList(v));
list.removeAll(Collections.singleton(null));
@@ -405,19 +326,19 @@ public class GT_MetaTileEntity_ProcessingArray extends GT_MetaTileEntity_MultiBl
}
return tAmount >= 14;
}
-
+
@Override
public void saveNBTData(NBTTagCompound aNBT) {
super.saveNBTData(aNBT);
aNBT.setBoolean("mSeparate", mSeparate);
}
-
+
@Override
public void loadNBTData(final NBTTagCompound aNBT) {
super.loadNBTData(aNBT);
mSeparate = aNBT.getBoolean("mSeparate");
}
-
+
@Override
public final void onScrewdriverRightClick(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ) {
mSeparate = !mSeparate;
diff --git a/src/main/java/gregtech/loaders/postload/GT_ProcessingArrayRecipeLoader.java b/src/main/java/gregtech/loaders/postload/GT_ProcessingArrayRecipeLoader.java
new file mode 100644
index 0000000000..ef1049f5e9
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/GT_ProcessingArrayRecipeLoader.java
@@ -0,0 +1,144 @@
+package gregtech.loaders.postload;
+
+import gregtech.api.util.GT_ProcessingArray_Manager;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
+
+public class GT_ProcessingArrayRecipeLoader {
+
+ public static void registerDefaultGregtechMaps() {
+
+ // Centrifuge
+ registerMapBetweenRange(361, 365, GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes);
+
+ // Electrolyzer
+ registerMapBetweenRange(371, 375, GT_Recipe.GT_Recipe_Map.sElectrolyzerRecipes);
+
+ // Assembler
+ registerMapBetweenRange(211, 215, GT_Recipe.GT_Recipe_Map.sAssemblerRecipes);
+
+ // Compressor
+ registerMapBetweenRange(241, 245, GT_Recipe.GT_Recipe_Map.sCompressorRecipes);
+
+ //Extractor
+ registerMapBetweenRange(271, 275, GT_Recipe.GT_Recipe_Map.sExtractorRecipes);
+
+ //Macerator
+ registerMapBetweenRange(301, 305, GT_Recipe.GT_Recipe_Map.sMaceratorRecipes);
+
+ // Microwave (New)
+ registerMapBetweenRange(311, 315, GT_Recipe.GT_Recipe_Map.sMicrowaveRecipes);
+
+ //Recycler
+ registerMapBetweenRange(331, 335, GT_Recipe.GT_Recipe_Map.sRecyclerRecipes);
+
+ //Thermal Centrifuge
+ registerMapBetweenRange(381, 385, GT_Recipe.GT_Recipe_Map.sThermalCentrifugeRecipes);
+
+ // Ore Washer
+ registerMapBetweenRange(391, 395, GT_Recipe.GT_Recipe_Map.sOreWasherRecipes);
+
+ // Chemical Reactor
+ registerMapBetweenRange(421, 425, GT_Recipe.GT_Recipe_Map.sChemicalRecipes);
+
+ // Chemical Bath
+ registerMapBetweenRange(541, 545, GT_Recipe.GT_Recipe_Map.sChemicalBathRecipes);
+
+ // Magnetic Seperator
+ registerMapBetweenRange(561, 565, GT_Recipe.GT_Recipe_Map.sElectroMagneticSeparatorRecipes);
+
+ // Autoclave
+ registerMapBetweenRange(571, 575, GT_Recipe.GT_Recipe_Map.sAutoclaveRecipes);
+
+ // Mixer
+ registerMapBetweenRange(581, 585, GT_Recipe.GT_Recipe_Map.sMixerRecipes);
+
+ // Forge Hammer
+ registerMapBetweenRange(611, 615, GT_Recipe.GT_Recipe_Map.sHammerRecipes);
+
+ // Sifter
+ registerMapBetweenRange(641, 645, GT_Recipe.GT_Recipe_Map.sSifterRecipes);
+
+ // Extruder
+ registerMapBetweenRange(281, 285, GT_Recipe.GT_Recipe_Map.sExtruderRecipes);
+
+ // Laser Engraver
+ registerMapBetweenRange(591, 595, GT_Recipe.GT_Recipe_Map.sLaserEngraverRecipes);
+
+ // Bender
+ registerMapBetweenRange(221, 225, GT_Recipe.GT_Recipe_Map.sBenderRecipes);
+
+ // Wiremill
+ registerMapBetweenRange(351, 355, GT_Recipe.GT_Recipe_Map.sWiremillRecipes);
+
+ // Arc Furnace
+ registerMapBetweenRange(651, 655, GT_Recipe.GT_Recipe_Map.sArcFurnaceRecipes);
+
+ // Plasma Arc Furnace
+ registerMapBetweenRange(661, 665, GT_Recipe.GT_Recipe_Map.sPlasmaArcFurnaceRecipes);
+
+ // Brewery
+ registerMapBetweenRange(491, 495, GT_Recipe.GT_Recipe_Map.sBrewingRecipes);
+
+ // Canner
+ registerMapBetweenRange(231, 235, GT_Recipe.GT_Recipe_Map.sCannerRecipes);
+
+ // Cutter
+ registerMapBetweenRange(251, 255, GT_Recipe.GT_Recipe_Map.sCutterRecipes);
+
+ // Fermenter
+ registerMapBetweenRange(501, 505, GT_Recipe.GT_Recipe_Map.sFermentingRecipes);
+
+ // Fluid Extractor
+ registerMapBetweenRange(511, 515, GT_Recipe.GT_Recipe_Map.sFluidExtractionRecipes);
+
+ // Fluid Solidifier
+ registerMapBetweenRange(521, 525, GT_Recipe.GT_Recipe_Map.sFluidSolidficationRecipes);
+
+ // Lathe
+ registerMapBetweenRange(291, 295, GT_Recipe.GT_Recipe_Map.sLatheRecipes);
+
+ // Boxinator
+ registerMapBetweenRange(401, 411, GT_Recipe.GT_Recipe_Map.sBoxinatorRecipes);
+
+ // Unboxinator
+ registerMapBetweenRange(411, 421, GT_Recipe.GT_Recipe_Map.sUnboxinatorRecipes);
+
+ // Polarizer
+ registerMapBetweenRange(551, 555, GT_Recipe.GT_Recipe_Map.sPolarizerRecipes);
+
+ // Printer
+ registerMapBetweenRange(321, 325, GT_Recipe.GT_Recipe_Map.sPrinterRecipes);
+
+ // Fluid Canner
+ registerMapBetweenRange(431, 435, GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes);
+
+ // Fluid Heater
+ registerMapBetweenRange(621, 625, GT_Recipe.GT_Recipe_Map.sFluidHeaterRecipes);
+
+ // Distillery
+ registerMapBetweenRange(531, 535, GT_Recipe.GT_Recipe_Map.sDistilleryRecipes);
+
+ // Slicer
+ registerMapBetweenRange(631, 635, GT_Recipe.GT_Recipe_Map.sSlicerRecipes);
+
+ // Matter Amplifier
+ registerMapBetweenRange(471, 475, GT_Recipe.GT_Recipe_Map.sAmplifiers);
+
+ // Circuit Assembler
+ registerMapBetweenRange(1180, 1187, GT_Recipe.GT_Recipe_Map.sCircuitAssemblerRecipes);
+
+ // Alloy Smelter
+ registerMapBetweenRange(201, 205, GT_Recipe.GT_Recipe_Map.sAlloySmelterRecipes);
+
+ // Forming Press
+ registerMapBetweenRange(601, 605, GT_Recipe.GT_Recipe_Map.sPressRecipes);
+
+ }
+
+ private static final void registerMapBetweenRange(int aMin, int aMax, GT_Recipe_Map aMap) {
+ for (int i=aMin; i<=aMax;i++) {
+ GT_ProcessingArray_Manager.registerRecipeMapForMeta(i, aMap);
+ }
+ }
+} \ No newline at end of file
diff --git a/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java b/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java
index b4f43475ed..f70ad125d8 100644
--- a/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java
+++ b/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java
@@ -19,6 +19,7 @@ import gregtech.common.tileentities.machines.basic.*;
import gregtech.common.tileentities.machines.multi.*;
import gregtech.common.tileentities.machines.steam.*;
import gregtech.common.tileentities.storage.*;
+import gregtech.loaders.postload.GT_ProcessingArrayRecipeLoader;
import ic2.core.Ic2Items;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
@@ -726,18 +727,18 @@ public class GT_Loader_MetaTileEntities implements Runnable {//TODO CHECK CIRCUI
ItemList.Machine_HV_Boxinator.set(new GT_MetaTileEntity_Boxinator(403, "basicmachine.boxinator.tier.03", "Advanced Packager II", 3).getStackForm(1L));
ItemList.Machine_EV_Boxinator.set(new GT_MetaTileEntity_Boxinator(404, "basicmachine.boxinator.tier.04", "Advanced Packager III", 4).getStackForm(1L));
ItemList.Machine_IV_Boxinator.set(new GT_MetaTileEntity_Boxinator(405, "basicmachine.boxinator.tier.05", "Boxinator", 5).getStackForm(1L));
- //ItemList.Machine_LuV_Boxinator.set(new GT_MetaTileEntity_Boxinator(406, "basicmachine.boxinator.tier.06", "Boxinator", 6).getStackForm(1L));
- //ItemList.Machine_ZPM_Boxinator.set(new GT_MetaTileEntity_Boxinator(407, "basicmachine.boxinator.tier.07", "Boxinator", 7).getStackForm(1L));
- //ItemList.Machine_UV_Boxinator.set(new GT_MetaTileEntity_Boxinator(408, "basicmachine.boxinator.tier.08", "Boxinator", 8).getStackForm(1L));
+ ItemList.Machine_LuV_Boxinator.set(new GT_MetaTileEntity_Boxinator(406, "basicmachine.boxinator.tier.06", "Boxinator", 6).getStackForm(1L));
+ ItemList.Machine_ZPM_Boxinator.set(new GT_MetaTileEntity_Boxinator(407, "basicmachine.boxinator.tier.07", "Boxinator", 7).getStackForm(1L));
+ ItemList.Machine_UV_Boxinator.set(new GT_MetaTileEntity_Boxinator(408, "basicmachine.boxinator.tier.08", "Boxinator", 8).getStackForm(1L));
GT_ModHandler.addCraftingRecipe(ItemList.Machine_LV_Boxinator.get(1L), bitsd, new Object[]{"BCB", "RMV", aTextWireCoil, 'M', ItemList.Hull_LV, 'R', ItemList.Robot_Arm_LV, 'V', ItemList.Conveyor_Module_LV, 'C', OrePrefixes.circuit.get(Materials.Basic), 'W', OrePrefixes.cableGt01.get(Materials.Tin), 'B', OreDictNames.craftingChest});
GT_ModHandler.addCraftingRecipe(ItemList.Machine_MV_Boxinator.get(1L), bitsd, new Object[]{"BCB", "RMV", aTextWireCoil, 'M', ItemList.Hull_MV, 'R', ItemList.Robot_Arm_MV, 'V', ItemList.Conveyor_Module_MV, 'C', OrePrefixes.circuit.get(Materials.Good), 'W', OrePrefixes.cableGt01.get(Materials.AnyCopper), 'B', OreDictNames.craftingChest});
GT_ModHandler.addCraftingRecipe(ItemList.Machine_HV_Boxinator.get(1L), bitsd, new Object[]{"BCB", "RMV", aTextWireCoil, 'M', ItemList.Hull_HV, 'R', ItemList.Robot_Arm_HV, 'V', ItemList.Conveyor_Module_HV, 'C', OrePrefixes.circuit.get(Materials.Advanced), 'W', OrePrefixes.cableGt01.get(Materials.Gold), 'B', OreDictNames.craftingChest});
GT_ModHandler.addCraftingRecipe(ItemList.Machine_EV_Boxinator.get(1L), bitsd, new Object[]{"BCB", "RMV", aTextWireCoil, 'M', ItemList.Hull_EV, 'R', ItemList.Robot_Arm_EV, 'V', ItemList.Conveyor_Module_EV, 'C', OrePrefixes.circuit.get(Materials.Data), 'W', OrePrefixes.cableGt01.get(Materials.Aluminium), 'B', OreDictNames.craftingChest});
GT_ModHandler.addCraftingRecipe(ItemList.Machine_IV_Boxinator.get(1L), bitsd, new Object[]{"BCB", "RMV", aTextWireCoil, 'M', ItemList.Hull_IV, 'R', ItemList.Robot_Arm_IV, 'V', ItemList.Conveyor_Module_IV, 'C', OrePrefixes.circuit.get(Materials.Elite), 'W', OrePrefixes.cableGt01.get(Materials.Tungsten), 'B', OreDictNames.craftingChest});
- //GT_ModHandler.addCraftingRecipe(ItemList.Machine_LuV_Boxinator.get(1L), bitsd, new Object[]{"BCB", "RMV", aTextWireCoil, 'M', ItemList.Hull_LuV, 'R', ItemList.Robot_Arm_LuV, 'V', ItemList.Conveyor_Module_LuV, 'C', OrePrefixes.circuit.get(Materials.Master), 'W', OrePrefixes.cableGt01.get(Materials.VanadiumGallium), 'B', OreDictNames.craftingChest});
- //GT_ModHandler.addCraftingRecipe(ItemList.Machine_ZPM_Boxinator.get(1L), bitsd, new Object[]{"BCB", "RMV", aTextWireCoil, 'M', ItemList.Hull_ZPM, 'R', ItemList.Robot_Arm_ZPM, 'V', ItemList.Conveyor_Module_ZPM, 'C', OrePrefixes.circuit.get(Materials.Ultimate), 'W', OrePrefixes.cableGt01.get(Materials.Naquadah), 'B', OreDictNames.craftingChest});
- //GT_ModHandler.addCraftingRecipe(ItemList.Machine_UV_Boxinator.get(1L), bitsd, new Object[]{"BCB", "RMV", aTextWireCoil, 'M', ItemList.Hull_UV, 'R', ItemList.Robot_Arm_UV, 'V', ItemList.Conveyor_Module_UV, 'C', OrePrefixes.circuit.get(Materials.Superconductor), 'W', OrePrefixes.cableGt01.get(Materials.NaquadahAlloy), 'B', OreDictNames.craftingChest});
+ GT_ModHandler.addCraftingRecipe(ItemList.Machine_LuV_Boxinator.get(1L), bitsd, new Object[]{"BCB", "RMV", aTextWireCoil, 'M', ItemList.Hull_LuV, 'R', ItemList.Robot_Arm_LuV, 'V', ItemList.Conveyor_Module_LuV, 'C', OrePrefixes.circuit.get(Materials.Master), 'W', OrePrefixes.cableGt01.get(Materials.VanadiumGallium), 'B', OreDictNames.craftingChest});
+ GT_ModHandler.addCraftingRecipe(ItemList.Machine_ZPM_Boxinator.get(1L), bitsd, new Object[]{"BCB", "RMV", aTextWireCoil, 'M', ItemList.Hull_ZPM, 'R', ItemList.Robot_Arm_ZPM, 'V', ItemList.Conveyor_Module_ZPM, 'C', OrePrefixes.circuit.get(Materials.Ultimate), 'W', OrePrefixes.cableGt01.get(Materials.Naquadah), 'B', OreDictNames.craftingChest});
+ GT_ModHandler.addCraftingRecipe(ItemList.Machine_UV_Boxinator.get(1L), bitsd, new Object[]{"BCB", "RMV", aTextWireCoil, 'M', ItemList.Hull_UV, 'R', ItemList.Robot_Arm_UV, 'V', ItemList.Conveyor_Module_UV, 'C', OrePrefixes.circuit.get(Materials.Superconductor), 'W', OrePrefixes.cableGt01.get(Materials.NaquadahAlloy), 'B', OreDictNames.craftingChest});
ItemList.Machine_LV_Unboxinator.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(411, "basicmachine.unboxinator.tier.01", "Basic Unpackager", 1, "Grabs things out of Boxes", GT_Recipe.GT_Recipe_Map.sUnboxinatorRecipes, 1, 2, 0, 0, 1, "Unpackager.png", "", aBoolConst_0, aBoolConst_0, 0, "UNBOXINATOR", new Object[]{"BCB", "VMR", aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'R', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.ROBOT_ARM, 'V', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CONVEYOR, 'C', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE, 'B', OreDictNames.craftingChest}).getStackForm(1L));
ItemList.Machine_MV_Unboxinator.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(412, "basicmachine.unboxinator.tier.02", "Advanced Unpackager", 2, "Grabs things out of Boxes", GT_Recipe.GT_Recipe_Map.sUnboxinatorRecipes, 1, 2, 0, 0, 1, "Unpackager.png", "", aBoolConst_0, aBoolConst_0, 0, "UNBOXINATOR", new Object[]{"BCB", "VMR", aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'R', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.ROBOT_ARM, 'V', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CONVEYOR, 'C', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE, 'B', OreDictNames.craftingChest}).getStackForm(1L));
@@ -1133,6 +1134,8 @@ public class GT_Loader_MetaTileEntities implements Runnable {//TODO CHECK CIRCUI
ItemList.Processing_Array.set(new GT_MetaTileEntity_ProcessingArray(1199, "multimachine.processingarray", "Processing Array").getStackForm(1L));
GT_ModHandler.addCraftingRecipe(ItemList.Processing_Array.get(1L), bitsd, new Object[]{"CTC", "FMF", "CBC", 'M', ItemList.Hull_EV, 'B', OrePrefixes.pipeLarge.get(Materials.StainlessSteel), 'C', OrePrefixes.circuit.get(Materials.Elite), 'F', ItemList.Robot_Arm_EV, 'T', ItemList.Energy_LapotronicOrb});
+ GT_ProcessingArrayRecipeLoader.registerDefaultGregtechMaps();
+
ItemList.Distillation_Tower.set(new GT_MetaTileEntity_DistillationTower(1126, "multimachine.distillationtower", "Distillation Tower").getStackForm(1L));
GT_ModHandler.addCraftingRecipe(ItemList.Distillation_Tower.get(1L), bitsd, new Object[]{"CBC", "FMF", "CBC", 'M', ItemList.Hull_HV, 'B', OrePrefixes.pipeLarge.get(Materials.StainlessSteel), 'C', OrePrefixes.circuit.get(Materials.Data), 'F', ItemList.Electric_Pump_HV});