aboutsummaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
authorBlood Asp <Blood@Asp>2015-04-26 02:04:07 +0200
committerBlood Asp <Blood@Asp>2015-04-26 02:04:07 +0200
commitf1610b1721ed22fcbd4cafb61b0867d8611c00f6 (patch)
tree8261a571accdd074239edd332398c37b01c77258 /main
parent6b80bc2d1cb91bc377a0e549bfffaf3fe7ae08c1 (diff)
downloadGT5-Unofficial-f1610b1721ed22fcbd4cafb61b0867d8611c00f6.tar.gz
GT5-Unofficial-f1610b1721ed22fcbd4cafb61b0867d8611c00f6.tar.bz2
GT5-Unofficial-f1610b1721ed22fcbd4cafb61b0867d8611c00f6.zip
Fusion GUI and Distillation Tower
Diffstat (limited to 'main')
-rw-r--r--main/java/gregtech/api/gui/GT_Container.java1
-rw-r--r--main/java/gregtech/api/gui/GT_ContainerMetaTile_Machine.java13
-rw-r--r--main/java/gregtech/api/gui/GT_Container_MultiMachine.java4
-rw-r--r--main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java19
-rw-r--r--main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java16
-rw-r--r--main/java/gregtech/common/GT_RecipeAdder.java66
-rw-r--r--main/java/gregtech/common/gui/GT_GUIContainer_FusionReactor.java51
-rw-r--r--main/java/gregtech/common/items/GT_DepletetCell_Item.java26
-rw-r--r--main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java14
-rw-r--r--main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DistillationTower.java29
-rw-r--r--main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java15
-rw-r--r--main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer1.java2
-rw-r--r--main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer2.java2
-rw-r--r--main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer3.java2
-rw-r--r--main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java2
-rw-r--r--main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java16
-rw-r--r--main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java11
-rw-r--r--main/java/gregtech/nei/GT_NEI_DefaultHandler.java18
-rw-r--r--main/resources/assets/gregtech/textures/blocks/iconsets/Thumbs.dbbin231424 -> 231424 bytes
-rw-r--r--main/resources/assets/gregtech/textures/blocks/materialicons/DIAMOND/Thumbs.dbbin0 -> 11776 bytes
-rw-r--r--main/resources/assets/gregtech/textures/blocks/materialicons/DULL/Thumbs.dbbin0 -> 11776 bytes
-rw-r--r--main/resources/assets/gregtech/textures/blocks/materialicons/EMERALD/Thumbs.dbbin0 -> 12288 bytes
-rw-r--r--main/resources/assets/gregtech/textures/blocks/materialicons/GEM_HORIZONTAL/Thumbs.dbbin0 -> 11776 bytes
-rw-r--r--main/resources/assets/gregtech/textures/entity/Thumbs.dbbin3072 -> 3072 bytes
-rw-r--r--main/resources/assets/gregtech/textures/gui/basicmachines/Thumbs.dbbin218112 -> 218112 bytes
-rw-r--r--main/resources/assets/gregtech/textures/gui/multimachines/Thumbs.dbbin20480 -> 20480 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/Thumbs.dbbin11264 -> 11264 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/gt.Double_ThoriumcellDep.png (renamed from main/resources/assets/gregtech/textures/items/gt.metaitem.01/696.png)bin328 -> 328 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/gt.Quad_ThoriumcellDep.png (renamed from main/resources/assets/gregtech/textures/items/gt.metaitem.01/697.png)bin469 -> 469 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/gt.ThoriumcellDep.png (renamed from main/resources/assets/gregtech/textures/items/gt.metaitem.01/695.png)bin288 -> 288 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/gt.metaitem.01/510/Thumbs.dbbin6144 -> 6144 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/gt.metaitem.01/511/Thumbs.dbbin6144 -> 6144 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/gt.metaitem.01/517/Thumbs.dbbin3072 -> 3072 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/gt.metaitem.01/518/Thumbs.dbbin3072 -> 3072 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/gt.metaitem.01/519/Thumbs.dbbin3072 -> 3072 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/gt.metaitem.01/520/Thumbs.dbbin3072 -> 3072 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/gt.metaitem.01/521/Thumbs.dbbin3072 -> 3072 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/gt.metaitem.01/527/Thumbs.dbbin3072 -> 3072 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/gt.metaitem.01/528/Thumbs.dbbin3072 -> 3072 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/gt.metaitem.01/529/Thumbs.dbbin3072 -> 3072 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/gt.metaitem.01/530/Thumbs.dbbin3072 -> 3072 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/gt.metaitem.01/531/Thumbs.dbbin3072 -> 3072 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/gt.metaitem.01/537/Thumbs.dbbin3072 -> 3072 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/gt.metaitem.01/538/Thumbs.dbbin3072 -> 3072 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/gt.metaitem.01/539/Thumbs.dbbin3072 -> 3072 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/gt.metaitem.01/597/Thumbs.dbbin6656 -> 6656 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/gt.metaitem.01/598/Thumbs.dbbin18432 -> 18432 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/gt.metaitem.01/599/Thumbs.dbbin6656 -> 6656 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/gt.metaitem.01/605/Thumbs.dbbin18432 -> 18432 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/gt.metaitem.01/Thumbs.dbbin173568 -> 175616 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/gt.metaitem.02/Thumbs.dbbin117760 -> 117760 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/iconsets/Thumbs.dbbin33792 -> 33792 bytes
-rw-r--r--main/resources/mcmod.info6
53 files changed, 264 insertions, 49 deletions
diff --git a/main/java/gregtech/api/gui/GT_Container.java b/main/java/gregtech/api/gui/GT_Container.java
index 1e7a9a819d..6585f79de2 100644
--- a/main/java/gregtech/api/gui/GT_Container.java
+++ b/main/java/gregtech/api/gui/GT_Container.java
@@ -3,6 +3,7 @@ package gregtech.api.gui;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.util.GT_Log;
import gregtech.api.util.GT_Utility;
+import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_FusionComputer;
import java.util.List;
diff --git a/main/java/gregtech/api/gui/GT_ContainerMetaTile_Machine.java b/main/java/gregtech/api/gui/GT_ContainerMetaTile_Machine.java
index a06cccbe9d..2c062c5d12 100644
--- a/main/java/gregtech/api/gui/GT_ContainerMetaTile_Machine.java
+++ b/main/java/gregtech/api/gui/GT_ContainerMetaTile_Machine.java
@@ -29,6 +29,19 @@ public class GT_ContainerMetaTile_Machine extends GT_Container {
aInventoryPlayer.player.openContainer = aInventoryPlayer.player.inventoryContainer;
}
}
+ public GT_ContainerMetaTile_Machine(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, boolean doesBindInventory){
+ super(aInventoryPlayer, aTileEntity);
+ mTileEntity = aTileEntity;
+
+ if (mTileEntity != null && mTileEntity.getMetaTileEntity() != null) {
+ addSlots(aInventoryPlayer);
+ if (doesBindPlayerInventory()&&doesBindInventory) bindPlayerInventory(aInventoryPlayer);
+ detectAndSendChanges();
+ } else {
+ aInventoryPlayer.player.openContainer = aInventoryPlayer.player.inventoryContainer;
+ }
+ }
+
public int mActive = 0, mMaxProgressTime = 0, mProgressTime = 0, mEnergy = 0, mSteam = 0, mSteamStorage = 0, mStorage = 0, mOutput = 0, mInput = 0, mID = 0, mDisplayErrorCode = 0;
private int oActive = 0, oMaxProgressTime = 0, oProgressTime = 0, oEnergy = 0, oSteam = 0, oSteamStorage = 0, oStorage = 0, oOutput = 0, oInput = 0, oID = 0, oDisplayErrorCode = 0, mTimer = 0;
diff --git a/main/java/gregtech/api/gui/GT_Container_MultiMachine.java b/main/java/gregtech/api/gui/GT_Container_MultiMachine.java
index 3dbe24c8be..289b783e25 100644
--- a/main/java/gregtech/api/gui/GT_Container_MultiMachine.java
+++ b/main/java/gregtech/api/gui/GT_Container_MultiMachine.java
@@ -14,6 +14,10 @@ public class GT_Container_MultiMachine extends GT_ContainerMetaTile_Machine {
super(aInventoryPlayer, aTileEntity);
}
+ public GT_Container_MultiMachine(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, boolean bindInventory) {
+ super(aInventoryPlayer, aTileEntity, bindInventory);
+ }
+
@Override
public void addSlots(InventoryPlayer aInventoryPlayer) {
addSlotToContainer(new Slot(mTileEntity, 1, 152, 5));
diff --git a/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java b/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java
index b6268428c7..7c6e719cba 100644
--- a/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java
+++ b/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java
@@ -241,6 +241,25 @@ public interface IGT_RecipeAdder {
/**
* Adds a Distillation Tower Recipe
+ * @param aInput1 must be != null
+ * @param aOutputs must be != null 1-5 Fluids
+ * @param aOutput2 can be null
+ */
+ public boolean addDistillationTowerRecipe(FluidStack aInput, FluidStack[] aOutputs, ItemStack aOutput2, int aDuration, int aEUt);
+
+
+ public boolean addSimpleArcFurnaceRecipe(ItemStack aInput, FluidStack aFluidInput, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt);
+
+ public boolean addPlasmaArcFurnaceRecipe(ItemStack aInput, FluidStack aFluidInput, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt);
+
+
+
+
+
+
+
+ /**
+ * Adds a Distillation Tower Recipe
*/
public boolean addDistillationRecipe(ItemStack aInput1, int aInput2, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, ItemStack aOutput4, int aDuration, int aEUt);
diff --git a/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java b/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java
index 9d015cbf10..058a396593 100644
--- a/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java
+++ b/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java
@@ -169,7 +169,10 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity {
if (mMaxProgresstime > 0 && ++mProgresstime>=mMaxProgresstime) {
if (mOutputItems != null) for (ItemStack tStack : mOutputItems) if (tStack != null) addOutput(tStack);
- if (mOutputFluids != null) for (FluidStack tStack : mOutputFluids) if (tStack != null) addOutput(tStack);
+ if (mOutputFluids != null&&mOutputFluids.length==1) {for (FluidStack tStack : mOutputFluids) if (tStack != null) addOutput(tStack);}
+ else if(mOutputFluids!=null&&mOutputFluids.length>1){
+ System.out.println("addfluids");
+ addFluidOutputs(mOutputFluids);}
mEfficiency = Math.max(0, Math.min(mEfficiency + mEfficiencyIncrease, getMaxEfficiency(mInventory[1]) - ((getIdealStatus() - getRepairStatus()) * 1000)));
mOutputItems = null;
mProgresstime = 0;
@@ -197,7 +200,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity {
aBaseMetaTileEntity.setActive(mMaxProgresstime>0);
}
}
-
+
public boolean polluteEnvironment(int aPollutionLevel) {
mPollution += aPollutionLevel;
for (GT_MetaTileEntity_Hatch_Muffler tHatch : mMufflerHatches) {
@@ -378,6 +381,15 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity {
return false;
}
+ private void addFluidOutputs(FluidStack[] mOutputFluids2) {
+ for(int i=0;i<mOutputFluids2.length;i++){
+ if(mOutputHatches.size()>=i&&mOutputHatches.get(i)!=null&&mOutputFluids2[i]!=null&&isValidMetaTileEntity(mOutputHatches.get(i))){
+ mOutputHatches.get(i).fill(mOutputFluids2[i], true);
+ }
+ }
+
+ }
+
public boolean depleteInput(FluidStack aLiquid) {
if (aLiquid == null) return false;
for (GT_MetaTileEntity_Hatch_Input tHatch : mInputHatches) {
diff --git a/main/java/gregtech/common/GT_RecipeAdder.java b/main/java/gregtech/common/GT_RecipeAdder.java
index 05104415b8..7bcb3f1656 100644
--- a/main/java/gregtech/common/GT_RecipeAdder.java
+++ b/main/java/gregtech/common/GT_RecipeAdder.java
@@ -280,18 +280,28 @@
/* 278:198 */ new GT_Recipe(aInput1, aInput2, aOutput1, aOutput2);
/* 279:199 */ return true;
/* 280: */ }
-/* 281: */
+/* 281: */ @Deprecated
/* 282: */ public boolean addDistillationRecipe(ItemStack aInput1, int aInput2, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, ItemStack aOutput4, int aDuration, int aEUt)
/* 283: */ {
-/* 284:204 */ if ((aInput1 == null) || (aOutput1 == null)) {
-/* 285:204 */ return false;
-/* 286: */ }
-/* 287:205 */ if ((aDuration = GregTech_API.sRecipeFile.get("distillation", aInput1, aDuration)) <= 0) {
-/* 288:205 */ return false;
-/* 289: */ }
-/* 290:206 */ new GT_Recipe(aInput1, aInput2, aOutput1, aOutput2, aOutput3, aOutput4, aDuration, aEUt);
-/* 291:207 */ return true;
+///* 284:204 */ if ((aInput1 == null) || (aOutput1 == null)) {
+///* 285:204 */ return false;
+///* 286: */ }
+///* 287:205 */ if ((aDuration = GregTech_API.sRecipeFile.get("distillation", aInput1, aDuration)) <= 0) {
+///* 288:205 */ return false;
+///* 289: */ }
+///* 290:206 */ new GT_Recipe(aInput1, aInput2, aOutput1, aOutput2, aOutput3, aOutput4, aDuration, aEUt);
+///* 291:207 */ return true;
+ return false;
/* 292: */ }
+
+ public boolean addDistillationTowerRecipe(FluidStack aInput, FluidStack[] aOutputs, ItemStack aOutput2, int aDuration, int aEUt){
+ if(aInput==null||aOutputs==null||aOutputs.length<1||aOutputs.length>5){return false;}
+ if((aDuration = GregTech_API.sRecipeFile.get("distillation", aInput.getUnlocalizedName(), aDuration))<=0){
+ return false;
+ }
+ GT_Recipe.GT_Recipe_Map.sDistillationRecipes.addRecipe(true, null,new ItemStack[]{ aOutput2}, null, new FluidStack[]{ aInput}, aOutputs, Math.min(aDuration,16), Math.max(1, aEUt), 0);
+ return false;
+ }
/* 293: */
/* 294: */ public boolean addVacuumFreezerRecipe(ItemStack aInput1, ItemStack aOutput1, int aDuration)
/* 295: */ {
@@ -620,7 +630,43 @@
/* 618: */ }
/* 619:423 */ return false;
/* 620: */ }
-/* 621: */
+
+/* 621: */ public boolean addSimpleArcFurnaceRecipe(ItemStack aInput, FluidStack aFluidInput, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt)
+/* 598: */ {
+/* 599:413 */ if ((aInput == null) || (aOutputs == null)||aFluidInput==null) {
+/* 600:413 */ return false;
+/* 601: */ }
+/* 602:414 */ for (ItemStack tStack : aOutputs) {
+/* 603:414 */ if (tStack != null)
+/* 604: */ {
+/* 605:415 */ if ((aDuration = GregTech_API.sRecipeFile.get("arcfurnace", aInput, aDuration)) <= 0) {
+/* 606:415 */ return false;
+/* 607: */ }
+/* 608:416 */ GT_Recipe.GT_Recipe_Map.sArcFurnaceRecipes.addRecipe(true, new ItemStack[] { aInput }, aOutputs, null, aChances, new FluidStack[] { aFluidInput }, null, Math.max(1, aDuration), Math.max(1, aEUt), 0);
+/* 609:417 */ return true;
+/* 617: */ }
+/* 618: */ }
+/* 619:423 */ return false;
+/* 620: */ }
+
+/* 621: */ public boolean addPlasmaArcFurnaceRecipe(ItemStack aInput, FluidStack aFluidInput, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt)
+/* 598: */ {
+/* 599:413 */ if ((aInput == null) || (aOutputs == null)||aFluidInput==null) {
+/* 600:413 */ return false;
+/* 601: */ }
+/* 602:414 */ for (ItemStack tStack : aOutputs) {
+/* 603:414 */ if (tStack != null)
+/* 604: */ {
+/* 605:415 */ if ((aDuration = GregTech_API.sRecipeFile.get("arcfurnace", aInput, aDuration)) <= 0) {
+/* 606:415 */ return false;
+/* 607: */ }
+/* 608:416 */ GT_Recipe.GT_Recipe_Map.sPlasmaArcFurnaceRecipes.addRecipe(true, new ItemStack[] { aInput }, aOutputs, null, aChances, new FluidStack[] { aFluidInput }, null, Math.max(1, aDuration), Math.max(1, aEUt), 0);
+/* 609:417 */ return true;
+/* 617: */ }
+/* 618: */ }
+/* 619:423 */ return false;
+/* 620: */ }
+
/* 622: */ public boolean addPulveriserRecipe(ItemStack aInput, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt)
/* 623: */ {
/* 624:428 */ if ((aInput == null) || (aOutputs == null)) {
diff --git a/main/java/gregtech/common/gui/GT_GUIContainer_FusionReactor.java b/main/java/gregtech/common/gui/GT_GUIContainer_FusionReactor.java
new file mode 100644
index 0000000000..83e25cfe42
--- /dev/null
+++ b/main/java/gregtech/common/gui/GT_GUIContainer_FusionReactor.java
@@ -0,0 +1,51 @@
+package gregtech.common.gui;
+
+import static gregtech.api.enums.GT_Values.RES_PATH_GUI;
+import net.minecraft.entity.player.InventoryPlayer;
+import gregtech.api.gui.GT_Container_MultiMachine;
+import gregtech.api.gui.GT_GUIContainerMetaTile_Machine;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.util.GT_Utility;
+
+public class GT_GUIContainer_FusionReactor extends GT_GUIContainerMetaTile_Machine {
+
+ String mName = "";
+
+ public GT_GUIContainer_FusionReactor(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, String aName, String aTextureFile) {
+ super(new GT_Container_MultiMachine(aInventoryPlayer, aTileEntity, false), RES_PATH_GUI + "multimachines/" + (aTextureFile==null?"MultiblockDisplay":aTextureFile));
+ mName = aName;
+ }
+
+ @Override
+ protected void drawGuiContainerForegroundLayer(int par1, int par2) {
+ fontRendererObj.drawString(mName, 8, -10, 16448255);
+
+ if (mContainer != null) {
+ if ((((GT_Container_MultiMachine)mContainer).mDisplayErrorCode & 64) != 0) fontRendererObj.drawString("Incomplete Structure.", 10, 8, 16448255);
+
+ if (((GT_Container_MultiMachine)mContainer).mDisplayErrorCode == 0) {
+ if (((GT_Container_MultiMachine)mContainer).mActive == 0) {
+ fontRendererObj.drawString("Hit with Rubber Hammer to (re-)start the Machine if it doesn't start.", -70, 170, 16448255);
+ } else {
+ fontRendererObj.drawString("Running perfectly.", 10, 170, 16448255);
+ }
+ }
+ if(this.mContainer!=null){
+ fontRendererObj.drawString(GT_Utility.formatNumbers(this.mContainer.mEnergy)+" EU", 50, 155, 0x00b0b000);
+ }
+ }
+ }
+
+ @Override
+ protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3) {
+ super.drawGuiContainerBackgroundLayer(par1, par2, par3);
+ int x = (width - xSize) / 2;
+ int y = (height - ySize) / 2;
+ drawTexturedModalRect(x, y, 0, 0, xSize, ySize);
+ if (this.mContainer != null)
+ {
+ double tScale = (double) this.mContainer.mEnergy / (double)this.mContainer.mStorage;
+ drawTexturedModalRect(x + 5, y + 156, 0, 251,Math.min(147, (int)(tScale*148)), 5);
+ }
+ }
+} \ No newline at end of file
diff --git a/main/java/gregtech/common/items/GT_DepletetCell_Item.java b/main/java/gregtech/common/items/GT_DepletetCell_Item.java
new file mode 100644
index 0000000000..dbc049f1c0
--- /dev/null
+++ b/main/java/gregtech/common/items/GT_DepletetCell_Item.java
@@ -0,0 +1,26 @@
+package gregtech.common.items;
+
+import net.minecraft.item.ItemStack;
+import ic2.api.reactor.IReactor;
+import gregtech.api.items.GT_RadioactiveCellIC_Item;
+
+public class GT_DepletetCell_Item extends GT_RadioactiveCellIC_Item{
+
+ public GT_DepletetCell_Item(String aUnlocalized, String aEnglish, int aRadiation) {
+ super(aUnlocalized, aEnglish, 1, 1, 0, aRadiation);}
+
+ public void processChamber(IReactor paramIReactor, ItemStack paramItemStack, int paramInt1, int paramInt2, boolean paramBoolean){}
+
+ public boolean acceptUraniumPulse(IReactor paramIReactor, ItemStack paramItemStack1, ItemStack paramItemStack2, int paramInt1, int paramInt2, int paramInt3, int paramInt4, boolean paramBoolean){
+ return false;}
+
+ public boolean canStoreHeat(IReactor paramIReactor, ItemStack paramItemStack, int paramInt1, int paramInt2){return false;}
+
+ public int getMaxHeat(IReactor paramIReactor, ItemStack paramItemStack, int paramInt1, int paramInt2){return 0;}
+
+ public int getCurrentHeat(IReactor paramIReactor, ItemStack paramItemStack, int paramInt1, int paramInt2){return 0;}
+
+ public int alterHeat(IReactor paramIReactor, ItemStack paramItemStack, int paramInt1, int paramInt2, int paramInt3){return 0;}
+
+ public float influenceExplosion(IReactor paramIReactor, ItemStack paramItemStack){return 0.0F;}
+}
diff --git a/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java b/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java
index 5e2ef7b3f2..2fa6343d1f 100644
--- a/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java
+++ b/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java
@@ -486,7 +486,7 @@ import gregtech.api.util.GT_Utility;
/* 474:442 */ setElectricStats(32000 + tLastID, 1000000000L, GT_Values.V[6], 6L, -3L, true);
/* 475: */
/* 476:444 */ ItemList.ZPM2.set(addItem(tLastID = 605, "Ultimate Battery", "Fill this to win minecraft", new Object[] { new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 16L), new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 64L) }));
-/* 477:445 */ setElectricStats(32000 + tLastID, Long.MAX_VALUE, GT_Values.V[9], 9L, -3L, true);
+/* 477:445 */ setElectricStats(32000 + tLastID, Long.MAX_VALUE, GT_Values.V[8], 8L, -3L, true);
/* 478: */
/* 479:447 */ ItemList.Electric_Motor_LV.set(addItem(tLastID = 600, "Electric Motor (LV)", "", new Object[] { new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 1L) }));
/* 480:448 */ ItemList.Electric_Motor_MV.set(addItem(tLastID = 601, "Electric Motor (MV)", "", new Object[] { new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 2L) }));
@@ -636,18 +636,6 @@ import gregtech.api.util.GT_Utility;
/* 624:592 */ GT_ModHandler.addCraftingRecipe(ItemList.Sensor_EV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[] { "P Q", "PS ", "CPP", Character.valueOf('Q'), OrePrefixes.gem.get(Materials.EnderPearl), Character.valueOf('S'), OrePrefixes.stick.get(Materials.Platinum), Character.valueOf('P'), OrePrefixes.plate.get(Materials.Titanium), Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Elite) });
/* 625:593 */ GT_ModHandler.addCraftingRecipe(ItemList.Sensor_IV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[] { "P Q", "PS ", "CPP", Character.valueOf('Q'), OrePrefixes.gem.get(Materials.EnderEye), Character.valueOf('S'), OrePrefixes.stick.get(Materials.Osmium), Character.valueOf('P'), OrePrefixes.plate.get(Materials.TungstenSteel), Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Master) });
/* 626: */
-
-ItemList.Depleted_Thorium_1.set(addItem(tLastID = 695, "Fuel Rod (Depleted Thorium)", "Burned out", new Object[0]));
-ItemList.Depleted_Thorium_2.set(addItem(tLastID = 696, "Dual Fuel Rod (Depleted Thorium)", "Burned out", new Object[0]));
-ItemList.Depleted_Thorium_4.set(addItem(tLastID = 697, "Quad Fuel Rod (Depleted Thorium)", "Burned out", new Object[0]));
-
-GT_ModHandler.addThermalCentrifugeRecipe(ItemList.Depleted_Thorium_1.get(1, new Object[0]), 5000, new Object[]{ GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Lutetium, 1L),GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Thorium, 2L),GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 1L)});
-GT_ModHandler.addThermalCentrifugeRecipe(ItemList.Depleted_Thorium_2.get(1, new Object[0]), 5000, new Object[]{ GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Lutetium, 2L),GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Thorium, 4L),GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 3L)});
-GT_ModHandler.addThermalCentrifugeRecipe(ItemList.Depleted_Thorium_4.get(1, new Object[0]), 5000, new Object[]{ GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Lutetium, 4L),GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Thorium, 8L),GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 6L)});
-
-
-
-
/* 627:595 */ ItemList.Circuit_Primitive.set(addItem(tLastID = 700, "NAND Chip", "A very simple Circuit", new Object[] { OrePrefixes.circuit.get(Materials.Primitive) }));
/* 628:596 */ ItemList.Circuit_Basic.set(addItem(tLastID = 701, "Basic Electronic Circuit", "A basic Circuit", new Object[] { OrePrefixes.circuit.get(Materials.Basic) }));
/* 629:597 */ ItemList.Circuit_Good.set(addItem(tLastID = 702, "Good Electronic Circuit", "A good Circuit", new Object[] { OrePrefixes.circuit.get(Materials.Good) }));
diff --git a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DistillationTower.java b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DistillationTower.java
index 4ab5c7e5a1..c04a61d8bb 100644
--- a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DistillationTower.java
+++ b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DistillationTower.java
@@ -7,6 +7,7 @@ import gregtech.api.enums.Textures;
/* 6: */ import gregtech.api.interfaces.ITexture;
/* 7: */ import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
/* 8: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Output;
/* 9: */ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase;
/* 10: */ import gregtech.api.objects.GT_RenderedTexture;
/* 11: */ import gregtech.api.util.GT_Recipe;
@@ -19,6 +20,7 @@ import net.minecraft.block.Block;
/* 15: */ import net.minecraft.entity.player.InventoryPlayer;
/* 16: */ import net.minecraft.item.ItemStack;
/* 17: */ import net.minecraftforge.common.util.ForgeDirection;
+import net.minecraftforge.fluids.FluidStack;
/* 18: */
/* 19: */ public class GT_MetaTileEntity_DistillationTower
/* 20: */ extends GT_MetaTileEntity_MultiBlockBase
@@ -40,7 +42,7 @@ import net.minecraft.block.Block;
/* 36: */
/* 37: */ public String[] getDescription()
/* 38: */ {
-/* 39: 38 */ return new String[] { "Controller Block for the Distillation Tower", "Size: 3x6x3 (Hollow)", "Controller (front bottom)", "1x Input Hatch (anywhere)", "6x Output Hatch (anywhere)", "1x Energy Hatch (anywhere)", "1x Maintenance Hatch (anywhere)", "Clean Stainless Steel Casings for the rest (26 at least!)" };
+/* 39: 38 */ return new String[] { "Controller Block for the Distillation Tower", "Size: 3x6x3 (Hollow)", "Controller (front bottom)", "1x Input Hatch (bottom)", "5x Output Hatch (one each height level besides botton)","1x Output Bus (Botton)", "1x Energy Hatch (anywhere)", "1x Maintenance Hatch (anywhere)", "Clean Stainless Steel Casings for the rest (26 at least!)" };
/* 40: */ }
/* 41: */
/* 42: */ public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone)
@@ -73,15 +75,13 @@ import net.minecraft.block.Block;
/* 69: */
/* 70: */ public boolean checkRecipe(ItemStack aStack)
/* 71: */ {
-/* 72: 66 */ ArrayList<ItemStack> tInputList = getStoredInputs();
-/* 73: 68 */ for (ItemStack tInput : tInputList)
-/* 74: */ {
+/* 72: 66 */
/* 75: 69 */ long tVoltage = getMaxInputVoltage();
/* 76: 70 */ byte tTier = (byte)Math.max(1, GT_Utility.getTier(tVoltage));
-/* 77: */
-/* 78: 72 */ GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sDistillationRecipes.findRecipe(getBaseMetaTileEntity(), false, gregtech.api.enums.GT_Values.V[tTier], null, new ItemStack[] { tInput });
+/* 77: */ if(this.mInputHatches.size()>0&&this.mInputHatches.get(0)!=null&&this.mInputHatches.get(0).mFluid!=null&&this.mInputHatches.get(0).mFluid.amount>0){
+/* 78: 72 */ GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sDistillationRecipes.findRecipe(getBaseMetaTileEntity(), false, gregtech.api.enums.GT_Values.V[tTier], new FluidStack[]{this.mInputHatches.get(0).mFluid}, new ItemStack[] {});
/* 79: 73 */ if (tRecipe != null) {
-/* 80: 73 */ if (tRecipe.isRecipeInputEqual(true, null, new ItemStack[] { tInput }))
+/* 80: 73 */ if (tRecipe.isRecipeInputEqual(true, new FluidStack[]{this.mInputHatches.get(0).mFluid}, new ItemStack[] {}))
/* 81: */ {
/* 82: 74 */ this.mEfficiency = (10000 - (getIdealStatus() - getRepairStatus()) * 1000);
/* 83: 75 */ this.mEfficiencyIncrease = 10000;
@@ -105,11 +105,12 @@ import net.minecraft.block.Block;
/* 101: */ }
/* 102: 90 */ this.mMaxProgresstime = Math.max(1, this.mMaxProgresstime);
/* 103: 91 */ this.mOutputItems = new ItemStack[] { tRecipe.getOutput(0) };
+ this.mOutputFluids = tRecipe.mFluidOutputs;
/* 104: 92 */ updateSlots();
/* 105: 93 */ return true;
/* 106: */ }
-/* 107: */ }
-/* 108: */ }
+/* 107: */ }}
+/* 108: */
/* 109: 96 */ return false;
/* 110: */ }
/* 111: */ private static boolean controller;
@@ -141,6 +142,16 @@ import net.minecraft.block.Block;
/* 136: */ }
/* 137: */ }
/* 138: */ }
+ if(this.mInputHatches.size()!=1||this.mOutputBusses.size()!=1||this.mInputBusses.size()!=0||this.mOutputHatches.size()!=5){return false;}
+ int height = this.getBaseMetaTileEntity().getYCoord();
+ if(this.mInputHatches.get(0).getBaseMetaTileEntity().getYCoord()!=height||this.mOutputBusses.get(0).getBaseMetaTileEntity().getYCoord()!=height){return false;}
+ GT_MetaTileEntity_Hatch_Output[] tmpHatches = new GT_MetaTileEntity_Hatch_Output[5];
+ for(int i=0;i< this.mOutputHatches.size();i++){
+ int hatchNumber = this.mOutputHatches.get(i).getBaseMetaTileEntity().getYCoord()-1-height;
+ if(tmpHatches[hatchNumber]==null){
+ tmpHatches[hatchNumber]=this.mOutputHatches.get(i);
+ }else{return false;}
+ }
/* 139:116 */ return tAmount >= 26;
/* 140: */ }
diff --git a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java
index 946cb78876..bdfb51d5ac