aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus/xmod/gregtech/api/gui/computer
diff options
context:
space:
mode:
authorAlkalus <3060479+draknyte1@users.noreply.github.com>2022-01-09 17:49:52 +0000
committerAlkalus <3060479+draknyte1@users.noreply.github.com>2022-01-09 17:49:52 +0000
commit13b79706b6eddef6118453bf51782ad01b3e8328 (patch)
tree28afa10d207b77e5e127c21ad71dbe8b698c8a84 /src/main/java/gtPlusPlus/xmod/gregtech/api/gui/computer
parent77fb0cac1c9c2b57262f41da64926fe2778a3b65 (diff)
downloadGT5-Unofficial-13b79706b6eddef6118453bf51782ad01b3e8328.tar.gz
GT5-Unofficial-13b79706b6eddef6118453bf51782ad01b3e8328.tar.bz2
GT5-Unofficial-13b79706b6eddef6118453bf51782ad01b3e8328.zip
Partially implemented Computer Cube.
Fix Multis wanting Mufflers when pollution = 0. Fix getMethodName potentially crawling too far up the stack.
Diffstat (limited to 'src/main/java/gtPlusPlus/xmod/gregtech/api/gui/computer')
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/gui/computer/GT_Container_ComputerCube.java314
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/gui/computer/GT_GUIContainer_ComputerCube.java133
2 files changed, 447 insertions, 0 deletions
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/gui/computer/GT_Container_ComputerCube.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/gui/computer/GT_Container_ComputerCube.java
new file mode 100644
index 0000000000..5c5c7961d8
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/gui/computer/GT_Container_ComputerCube.java
@@ -0,0 +1,314 @@
+package gtPlusPlus.xmod.gregtech.api.gui.computer;
+
+import java.util.Iterator;
+
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import gregtech.GT_Mod;
+import gregtech.api.GregTech_API;
+import gregtech.api.gui.GT_ContainerMetaTile_Machine;
+import gregtech.api.gui.GT_Slot_Holo;
+import gregtech.api.gui.GT_Slot_Output;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.util.GT_ModHandler;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.xmod.gregtech.common.tileentities.automation.GT_MetaTileEntity_ElectricInventoryManager;
+import gtPlusPlus.xmod.gregtech.common.tileentities.misc.GT_TileEntity_ComputerCube;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.inventory.Container;
+import net.minecraft.inventory.ICrafting;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.inventory.Slot;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
+
+public class GT_Container_ComputerCube extends GT_ContainerMetaTile_Machine {
+
+ public int mEUOut;
+
+ public int mHeat;
+
+ public int mMaxHeat;
+
+ public int mHEM;
+
+ public int mExplosionStrength;
+
+ public int mEU;
+
+ public int mProgress;
+
+ public int mID;
+
+ public GT_Container_ComputerCube(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, int aID) {
+ super(aInventoryPlayer, aTileEntity);
+ mID = ((GT_TileEntity_ComputerCube) mTileEntity.getMetaTileEntity()).mMode;
+ }
+
+ public void addSlots(InventoryPlayer aInventoryPlayer) {
+ int y;
+ addSlotToContainer(new GT_Slot_Holo((IInventory)this.mTileEntity, 58, 156 + ((this.mID == 5) ? 50 : 0), 4, false, false, 1));
+ switch (this.mID) {
+ case 1:
+ addSlotToContainer(new GT_Slot_Holo((IInventory)this.mTileEntity, 58, 156, 86, false, false, 1));
+ addSlotToContainer(new GT_Slot_Holo((IInventory)this.mTileEntity, 58, 156, 70, false, false, 1));
+ addSlotToContainer(new GT_Slot_Holo((IInventory)this.mTileEntity, 58, 156, 54, false, false, 1));
+ for (y = 0; y < 6; y++) {
+ for (int x = 0; x < 9; x++)
+ addSlotToContainer(new GT_Slot_Holo((IInventory)this.mTileEntity, x + y * 9, 5 + x * 16, 5 + y * 16, false, false, 64));
+ }
+ addSlotToContainer(new GT_Slot_Holo((IInventory)this.mTileEntity, 113, 153, 28, false, false, 64));
+ break;
+ case 2:
+ addSlotToContainer(new Slot((IInventory)this.mTileEntity, 54, 8, 28));
+ addSlotToContainer(new Slot((IInventory)this.mTileEntity, 55, 26, 28));
+ addSlotToContainer(new GT_Slot_Output((IInventory)this.mTileEntity, 56, 134, 28));
+ addSlotToContainer(new GT_Slot_Output((IInventory)this.mTileEntity, 57, 152, 28));
+ break;
+ case 3:
+ addSlotToContainer(new GT_Slot_Holo((IInventory)this.mTileEntity, 58, 88, 65, false, false, 1));
+ addSlotToContainer(new GT_Slot_Holo((IInventory)this.mTileEntity, 58, 104, 65, false, false, 1));
+ addSlotToContainer(new GT_Slot_Holo((IInventory)this.mTileEntity, 59, 122, 35, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo((IInventory)this.mTileEntity, 60, 92, 5, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo((IInventory)this.mTileEntity, 61, 122, 5, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo((IInventory)this.mTileEntity, 62, 152, 35, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo((IInventory)this.mTileEntity, 63, 122, 65, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo((IInventory)this.mTileEntity, 64, 92, 35, false, false, 64));
+ break;
+ case 4:
+ addSlotToContainer(new GT_Slot_Holo((IInventory)this.mTileEntity, 58, 88, 65, false, false, 1));
+ addSlotToContainer(new GT_Slot_Holo((IInventory)this.mTileEntity, 58, 104, 65, false, false, 1));
+ addSlotToContainer(new GT_Slot_Holo((IInventory)this.mTileEntity, 59, 122, 5, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo((IInventory)this.mTileEntity, 60, 122, 65, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo((IInventory)this.mTileEntity, 61, 152, 35, false, false, 64));
+ break;
+ case 5:
+ addSlotToContainer(new GT_Slot_Holo((IInventory)this.mTileEntity, 58, 190, 146, false, false, 1));
+ addSlotToContainer(new GT_Slot_Holo((IInventory)this.mTileEntity, 58, 206, 146, false, false, 1));
+ addSlotToContainer(new GT_Slot_Holo((IInventory)this.mTileEntity, 59, 206, 38, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo((IInventory)this.mTileEntity, 60, 206, 56, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo((IInventory)this.mTileEntity, 61, 206, 74, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo((IInventory)this.mTileEntity, 62, 206, 92, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo((IInventory)this.mTileEntity, 63, 206, 110, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo((IInventory)this.mTileEntity, 64, 153, 7, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo((IInventory)this.mTileEntity, 65, 169, 7, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo((IInventory)this.mTileEntity, 66, 185, 7, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo((IInventory)this.mTileEntity, 67, 153, 23, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo((IInventory)this.mTileEntity, 68, 169, 23, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo((IInventory)this.mTileEntity, 69, 185, 23, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo((IInventory)this.mTileEntity, 70, 153, 39, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo((IInventory)this.mTileEntity, 71, 169, 39, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo((IInventory)this.mTileEntity, 72, 185, 39, false, false, 64));
+ break;
+ case 6:
+ addSlotToContainer(new GT_Slot_Holo((IInventory)this.mTileEntity, 58, 88, 65, false, false, 1));
+ addSlotToContainer(new GT_Slot_Holo((IInventory)this.mTileEntity, 58, 104, 65, false, false, 1));
+ addSlotToContainer(new GT_Slot_Holo((IInventory)this.mTileEntity, 59, 122, 35, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo((IInventory)this.mTileEntity, 60, 92, 5, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo((IInventory)this.mTileEntity, 61, 122, 5, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo((IInventory)this.mTileEntity, 62, 152, 35, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo((IInventory)this.mTileEntity, 63, 122, 65, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo((IInventory)this.mTileEntity, 64, 92, 35, false, false, 64));
+ break;
+ }
+ }
+
+ public ItemStack slotClick(int aSlotIndex, int aMouseclick, int aShifthold, EntityPlayer aPlayer) {
+ Logger.INFO("Clicked slot "+aSlotIndex);
+ if (aSlotIndex < 0) {
+ Logger.INFO("");
+ return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer);
+ }
+ if (this.mID != ((GT_TileEntity_ComputerCube) mTileEntity.getMetaTileEntity()).mMode) {
+ Logger.INFO("This ID: "+mID+", Tile: "+((GT_TileEntity_ComputerCube) mTileEntity.getMetaTileEntity()).mMode);
+ return null;
+ }
+ Slot tSlot = (Slot) this.inventorySlots.get(aSlotIndex);
+ ItemStack tStack = tSlot.getStack();
+ if (tSlot == null) {
+ Logger.INFO("Null Slot?");
+ }
+ else {
+ Logger.INFO("Good Slot!");
+ if (aSlotIndex == 0) {
+ Logger.INFO("Slot is 0");
+ if (aMouseclick == 0) {
+ Logger.INFO("Forward");
+ ((GT_TileEntity_ComputerCube) mTileEntity.getMetaTileEntity()).switchModeForward();
+ } else {
+ Logger.INFO("Backwards");
+ ((GT_TileEntity_ComputerCube) mTileEntity.getMetaTileEntity()).switchModeBackward();
+ }
+ //aPlayer.openGui(CORE.MODID, GT_BlockMetaID_Machine.getComputerCubeGUIID((TileEntity)this.mTileEntity), this.mTileEntity.getWorld(), this.mTileEntity.getXCoord(), this.mTileEntity.getYCoord(), this.mTileEntity.getZCoord());
+ } else if (aSlotIndex <= 2 && this.mID == 3) {
+ if (aSlotIndex == 1) {
+ ((GT_TileEntity_ComputerCube) mTileEntity.getMetaTileEntity()).switchCentrifugePageBackward();
+ onCraftMatrixChanged((IInventory)this.mTileEntity);
+ } else if (aSlotIndex == 2) {
+ ((GT_TileEntity_ComputerCube) mTileEntity.getMetaTileEntity()).switchCentrifugePageForward();
+ onCraftMatrixChanged((IInventory)this.mTileEntity);
+ }
+ } else if (aSlotIndex <= 2 && this.mID == 6) {
+ if (aSlotIndex == 1) {
+ ((GT_TileEntity_ComputerCube) mTileEntity.getMetaTileEntity()).switchElectrolyzerPageBackward();
+ onCraftMatrixChanged((IInventory)this.mTileEntity);
+ } else if (aSlotIndex == 2) {
+ ((GT_TileEntity_ComputerCube) mTileEntity.getMetaTileEntity()).switchElectrolyzerPageForward();
+ onCraftMatrixChanged((IInventory)this.mTileEntity);
+ }
+ } else if (aSlotIndex <= 2 && this.mID == 4) {
+ if (aSlotIndex == 1) {
+ ((GT_TileEntity_ComputerCube) mTileEntity.getMetaTileEntity()).switchFusionPageBackward();
+ onCraftMatrixChanged((IInventory)this.mTileEntity);
+ } else if (aSlotIndex == 2) {
+ ((GT_TileEntity_ComputerCube) mTileEntity.getMetaTileEntity()).switchFusionPageForward();
+ onCraftMatrixChanged((IInventory)this.mTileEntity);
+ }
+ } else if (aSlotIndex <= 2 && this.mID == 5) {
+ if (aSlotIndex == 1) {
+ ((GT_TileEntity_ComputerCube) mTileEntity.getMetaTileEntity()).switchDescriptionPageBackward();
+ onCraftMatrixChanged((IInventory)this.mTileEntity);
+ } else if (aSlotIndex == 2) {
+ ((GT_TileEntity_ComputerCube) mTileEntity.getMetaTileEntity()).switchDescriptionPageForward();
+ onCraftMatrixChanged((IInventory)this.mTileEntity);
+ }
+ } else if (aSlotIndex <= 58 && this.mID == 1) {
+ if (aSlotIndex == 1) {
+ ((GT_TileEntity_ComputerCube) mTileEntity.getMetaTileEntity()).switchNuclearReactor();
+ onCraftMatrixChanged((IInventory)this.mTileEntity);
+ } else if (aSlotIndex == 2) {
+ ((GT_TileEntity_ComputerCube) mTileEntity.getMetaTileEntity()).loadNuclearReactor();
+ onCraftMatrixChanged((IInventory)this.mTileEntity);
+ } else if (aSlotIndex == 3) {
+ ((GT_TileEntity_ComputerCube) mTileEntity.getMetaTileEntity()).saveNuclearReactor();
+ } else {
+ if (aShifthold == 1) {
+ tSlot.putStack(null);
+ return null;
+ }
+ if (aMouseclick == 0) {
+ if (tStack == null) {
+ if (getSlot(58).getStack() != null && aSlotIndex != 58) {
+ tSlot.putStack(getSlot(58).getStack().copy());
+ } else {
+ tSlot.putStack(new ItemStack(GT_TileEntity_ComputerCube.sReactorList.get(0).mItem, 1));
+ }
+ return null;
+ }
+ for (int i = 1; i < GT_TileEntity_ComputerCube.sReactorList.size(); i++) {
+ if (GT_TileEntity_ComputerCube.sReactorList.get(i - 1).mItem == tStack.getItem()) {
+ tSlot.putStack(new ItemStack(GT_TileEntity_ComputerCube.sReactorList.get(i).mItem, 1, 0));
+ if (tSlot.getStack() != null && tSlot.getStack().getItem() == GT_ModHandler.getIC2Item("reactorIsotopeCell", 1).getItem())
+ tSlot.getStack().setItemDamage(tSlot.getStack().getMaxDamage() - 1);
+ return null;
+ }
+ }
+ tSlot.putStack(null);
+ return null;
+ }
+ if (tStack == null)
+ return null;
+ if (tStack.stackSize < tStack.getMaxStackSize()) {
+ tStack.stackSize++;
+ return null;
+ }
+ tStack.stackSize = 1;
+ return null;
+ }
+ } else {
+ Logger.INFO("Super 2");
+ return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer);
+ }
+ }
+ Logger.INFO("???");
+ return null;
+ }
+
+ public boolean doesBindPlayerInventory() {
+ return (this.mID != 1 && this.mID != 5);
+ }
+
+ public void detectAndSendChanges() {
+ super.detectAndSendChanges();
+ if (mTileEntity.isClientSide() || mTileEntity.getMetaTileEntity() == null) {
+ return;
+ }
+ //this.mID = ((GT_TileEntity_ComputerCube) mTileEntity.getMetaTileEntity()).mMode;
+ this.mEUOut = ((GT_TileEntity_ComputerCube) mTileEntity.getMetaTileEntity()).mEUOut;
+ this.mHeat = ((GT_TileEntity_ComputerCube) mTileEntity.getMetaTileEntity()).mHeat;
+ this.mMaxHeat = ((GT_TileEntity_ComputerCube) mTileEntity.getMetaTileEntity()).mMaxHeat;
+ this.mHEM = (int)(((GT_TileEntity_ComputerCube) mTileEntity.getMetaTileEntity()).mHEM * 10000.0F);
+ this.mExplosionStrength = (int)(((GT_TileEntity_ComputerCube) mTileEntity.getMetaTileEntity()).mExplosionStrength * 100.0F);
+ this.mEU = ((GT_TileEntity_ComputerCube) mTileEntity.getMetaTileEntity()).mEU;
+ this.mProgress = ((GT_TileEntity_ComputerCube) mTileEntity.getMetaTileEntity()).mProgress;
+ Iterator<ICrafting> var2 = this.crafters.iterator();
+ while (var2.hasNext()) {
+ ICrafting var1 = var2.next();
+ var1.sendProgressBarUpdate((Container)this, 101, this.mEUOut);
+ var1.sendProgressBarUpdate((Container)this, 102, this.mHeat & 0xFFFF);
+ var1.sendProgressBarUpdate((Container)this, 103, this.mMaxHeat & 0xFFFF);
+ var1.sendProgressBarUpdate((Container)this, 104, this.mHEM);
+ var1.sendProgressBarUpdate((Container)this, 105, this.mExplosionStrength);
+ var1.sendProgressBarUpdate((Container)this, 106, this.mHeat >>> 16);
+ var1.sendProgressBarUpdate((Container)this, 107, this.mMaxHeat >>> 16);
+ var1.sendProgressBarUpdate((Container)this, 108, this.mEU & 0xFFFF);
+ var1.sendProgressBarUpdate((Container)this, 109, this.mEU >>> 16);
+ var1.sendProgressBarUpdate((Container)this, 110, this.mProgress);
+ //var1.sendProgressBarUpdate((Container)this, 111, this.mEUOut);
+ }
+ }
+
+ @SideOnly(Side.CLIENT)
+ public void updateProgressBar(int par1, int par2) {
+ super.updateProgressBar(par1, par2);
+ switch (par1) {
+ case 101:
+ this.mEUOut = par2;
+ break;
+ case 102:
+ this.mHeat = this.mHeat & 0xFFFF0000 | par2;
+ break;
+ case 103:
+ this.mMaxHeat = this.mMaxHeat & 0xFFFF0000 | par2;
+ break;
+ case 104:
+ this.mHEM = par2;
+ break;
+ case 105:
+ this.mExplosionStrength = par2;
+ break;
+ case 106:
+ this.mHeat = this.mHeat & 0xFFFF | par2 << 16;
+ break;
+ case 107:
+ this.mMaxHeat = this.mMaxHeat & 0xFFFF | par2 << 16;
+ break;
+ case 108:
+ this.mEU = this.mEU & 0xFFFF0000 | par2;
+ case 109:
+ this.mEU = this.mEU & 0xFFFF | par2 << 16;
+ break;
+ case 110:
+ this.mProgress = par2;
+ break;
+ case 111:
+ //this.mID = par2;
+ break;
+ }
+ }
+
+ public int getSlotStartIndex() {
+ return 1;
+ }
+
+ public int getSlotCount() {
+ return (this.mID == 2) ? 4 : 0;
+ }
+
+ public int getShiftClickSlotCount() {
+ return (this.mID == 2) ? 2 : 0;
+ }
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/gui/computer/GT_GUIContainer_ComputerCube.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/gui/computer/GT_GUIContainer_ComputerCube.java
new file mode 100644
index 0000000000..0006ce8823
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/gui/computer/GT_GUIContainer_ComputerCube.java
@@ -0,0 +1,133 @@
+package gtPlusPlus.xmod.gregtech.api.gui.computer;
+
+import gregtech.api.gui.GT_GUIContainerMetaTile_Machine;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.xmod.gregtech.common.computer.GT_ComputercubeDescription;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.util.StatCollector;
+
+public class GT_GUIContainer_ComputerCube extends GT_GUIContainerMetaTile_Machine {
+ public GT_GUIContainer_ComputerCube(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aBaseMetaTileEntity, int aID) {
+ super(new GT_Container_ComputerCube(aInventoryPlayer, aBaseMetaTileEntity, aID), CORE.RES_PATH_GUI + "computer/"+aID+".png");
+ if (aID == 5)
+ this.xSize += 50;
+ }
+
+ protected void drawGuiContainerForegroundLayer(int par1, int par2) {
+ GT_Container_ComputerCube tContainer = (GT_Container_ComputerCube) this.mContainer;
+ //GT_TileEntity_ComputerCube tTileEntity = (GT_TileEntity_ComputerCube) tContainer.mTileEntity;
+ if (tContainer != null)
+ switch (tContainer.mID) {
+ case 0 :
+ this.fontRendererObj.drawString("G.L.A.D.-OS", 64, 61, 16448255);
+ this.fontRendererObj.drawString(StatCollector.translateToLocal("container.inventory"), 8, this.ySize - 96 + 2, 4210752);
+ break;
+ case 1 :
+ this.fontRendererObj.drawString("Reactorstats:", 7, 108, 16448255);
+ this.fontRendererObj.drawString(toNumber(tContainer.mEU) + "EU at " + tContainer.mEUOut + "EU/t", 7, 120, 16448255);
+ this.fontRendererObj.drawString("HEM: " + (tContainer.mHEM / 10000.0F), 7, 128, 16448255);
+ this.fontRendererObj.drawString(toNumber(tContainer.mHeat) + "/" + toNumber(tContainer.mMaxHeat) + "Heat", 7, 136, 16448255);
+ this.fontRendererObj.drawString("Explosionpower: " + (tContainer.mExplosionStrength / 100.0F), 7, 144, 16448255);
+ this.fontRendererObj.drawString("Runtime: " + ((tContainer.mEUOut > 0) ? ((tContainer.mEU / tContainer.mEUOut) / 20.0F) : 0.0F) + "secs", 7, 152, 16448255);
+ break;
+ case 2 :
+ this.fontRendererObj.drawString("Scanner", 51, 7, 16448255);
+ if (tContainer.mProgress == 0) {
+ this.fontRendererObj.drawString("Can be used to", 51, 24, 16448255);
+ this.fontRendererObj.drawString("scan Seedbags", 51, 32, 16448255);
+ }
+ else {
+ this.fontRendererObj.drawString("Progress:", 51, 24, 16448255);
+ this.fontRendererObj.drawString(tContainer.mProgress + "%", 51, 32, 16448255);
+ }
+ this.fontRendererObj.drawString(StatCollector.translateToLocal("container.inventory"), 8, this.ySize - 96 + 2, 4210752);
+ break;
+ case 3 :
+ this.fontRendererObj.drawString("Centrifuge", 7, 7, 16448255);
+ this.fontRendererObj.drawString("Recipe: " + (tContainer.mMaxHeat + 1) + "/" + GT_Recipe_Map.sCentrifugeRecipes.mRecipeList.size(), 7, 23, 16448255);
+ this.fontRendererObj.drawString("EU: " + toNumber(tContainer.mEU), 7, 31, 16448255);
+ break;
+ case 4 :
+ this.fontRendererObj.drawString("Fusionreactor", 7, 7, 16448255);
+ this.fontRendererObj.drawString("Recipe: " + (tContainer.mMaxHeat + 1) + "/" + GT_Recipe_Map.sFusionRecipes.mRecipeList.size(), 7, 23, 16448255);
+ this.fontRendererObj.drawString("Start: " + toNumber(tContainer.mEU) + "EU", 7, 31, 16448255);
+ this.fontRendererObj.drawString("EU/t: " + toNumber(tContainer.mEUOut), 7, 39, 16448255);
+ this.fontRendererObj.drawString(toNumber(tContainer.mHeat) + " Ticks", 7, 47, 16448255);
+ if (tContainer.mEUOut < 0) {
+ this.fontRendererObj.drawString("IN: " + toNumber(-tContainer.mEUOut * tContainer.mHeat) + "EU", 7, 55, 16448255);
+ break;
+ }
+ this.fontRendererObj.drawString("OUT: " + toNumber(tContainer.mEUOut * tContainer.mHeat) + "EU", 7, 55, 16448255);
+ break;
+ case 5 :
+ if (tContainer.mMaxHeat >= 0 && tContainer.mMaxHeat < GT_ComputercubeDescription.sDescriptions.size())
+ for (int i = 0; i < ((GT_ComputercubeDescription) GT_ComputercubeDescription.sDescriptions.get(tContainer.mMaxHeat)).mDescription.length; i++) {
+ if (i == 0) {
+ this.fontRendererObj.drawString(((GT_ComputercubeDescription) GT_ComputercubeDescription.sDescriptions.get(tContainer.mMaxHeat)).mDescription[i], 7, 7, 16448255);
+ }
+ else {
+ this.fontRendererObj.drawString(((GT_ComputercubeDescription) GT_ComputercubeDescription.sDescriptions.get(tContainer.mMaxHeat)).mDescription[i], 7, 7
+ + 8 * i, 16448255);
+ }
+ }
+ break;
+ case 6 :
+ this.fontRendererObj.drawString("Electrolyzer", 7, 7, 16448255);
+ this.fontRendererObj.drawString("Recipe: " + (tContainer.mMaxHeat + 1) + "/" + GT_Recipe_Map.sElectrolyzerRecipes.mRecipeList.size(), 7, 23, 16448255);
+ this.fontRendererObj.drawString("EU: " + toNumber(tContainer.mEU), 7, 31, 16448255);
+ break;
+ }
+ }
+
+ 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 (mContainer != null) {
+ GT_Container_ComputerCube tContainer = (GT_Container_ComputerCube) this.mContainer;
+ mGUIbackground = new ResourceLocation(mGUIbackgroundPath = CORE.RES_PATH_GUI + "computer/"+ ((GT_Container_ComputerCube) this.mContainer).mID + ".png");
+
+ switch (tContainer.mID) {
+ case 5 :
+ if (tContainer.mExplosionStrength != 0)
+ drawTexturedModalRect(x + 152, y + 6, 0, 166, 50, 50);
+ break;
+ }
+ }
+
+ }
+
+ public String toNumber(int aNumber) {
+ String tString = "";
+ boolean temp = true, negative = false;
+ if (aNumber < 0) {
+ aNumber *= -1;
+ negative = true;
+ }
+ int i;
+ for (i = 1000000000; i > 0; i /= 10) {
+ int tDigit = aNumber / i % 10;
+ if (temp && tDigit != 0)
+ temp = false;
+ if (!temp) {
+ tString = tString + tDigit;
+ if (i != 1) {
+ int j;
+ for (j = i; j > 0;) {
+ if (j == 1)
+ tString = tString + ",";
+ j /= 1000;
+ }
+ }
+ }
+ }
+ if (tString.equals(""))
+ tString = "0";
+ return negative ? ("-" + tString) : tString;
+ }
+}