aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/xmod/gregtech/api/gui
diff options
context:
space:
mode:
authorDraknyte1 <Draknyte1@hotmail.com>2017-01-21 17:05:51 +1000
committerDraknyte1 <Draknyte1@hotmail.com>2017-01-21 17:05:51 +1000
commit9dd4ec3dce97a5aff9a1501a684fe02a75055940 (patch)
tree8025e6b7b8a267f4ae0e96d21488158e4348591b /src/Java/gtPlusPlus/xmod/gregtech/api/gui
parent2750e87c0532c98cab77362fbe248d0dba4627fd (diff)
downloadGT5-Unofficial-9dd4ec3dce97a5aff9a1501a684fe02a75055940.tar.gz
GT5-Unofficial-9dd4ec3dce97a5aff9a1501a684fe02a75055940.tar.bz2
GT5-Unofficial-9dd4ec3dce97a5aff9a1501a684fe02a75055940.zip
+ Added information about the power stored and operations remaining to the Tree Farmer GUI. Thanks to @Dragon2488 for showing me how Container syncing should be done properly.
% Rewrote the Tooltip for the Tree Farmer Controller block. % Changed the Tree Farmer GUI, moved the item slot up 18px and added a console for the power information. $ Fixed the tool check returning Null when valid tools were present in the Tree Farmer.
Diffstat (limited to 'src/Java/gtPlusPlus/xmod/gregtech/api/gui')
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_TreeFarmer.java44
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_TreeFarmer.java85
2 files changed, 69 insertions, 60 deletions
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_TreeFarmer.java b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_TreeFarmer.java
index 144f0b9e8f..4f94b661d8 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_TreeFarmer.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_TreeFarmer.java
@@ -3,14 +3,18 @@ package gtPlusPlus.xmod.gregtech.api.gui;
import gregtech.api.gui.GT_ContainerMetaTile_Machine;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gtPlusPlus.core.slots.SlotBuzzSaw;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.GregtechMetaTileEntityTreeFarm;
+
+import java.util.List;
+
import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.inventory.ICrafting;
-/**
- * NEVER INCLUDE THIS FILE IN YOUR MOD!!!
- * <p/>
- * The Container I use for all my Basic Machines
- */
public class CONTAINER_TreeFarmer extends GT_ContainerMetaTile_Machine {
+
+ public long maxEU = 0;
+ public long storedEU = 0;
+
public CONTAINER_TreeFarmer(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) {
super(aInventoryPlayer, aTileEntity);
}
@@ -21,7 +25,7 @@ public class CONTAINER_TreeFarmer extends GT_ContainerMetaTile_Machine {
@Override
public void addSlots(InventoryPlayer aInventoryPlayer) {
- addSlotToContainer(new SlotBuzzSaw(mTileEntity, 1, 80, 35));
+ addSlotToContainer(new SlotBuzzSaw(mTileEntity, 1, 80, 17));
}
@Override
@@ -33,4 +37,30 @@ public class CONTAINER_TreeFarmer extends GT_ContainerMetaTile_Machine {
public int getShiftClickSlotCount() {
return 0;
}
-}
+
+ @Override
+ public void updateProgressBar(int id, int value) {
+ super.updateProgressBar(id, value);
+ switch (id) {
+ case 100:
+ this.maxEU = value;
+ return;
+ case 101:
+ this.storedEU = value;
+ break;
+ default:
+ break;
+ }
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public void detectAndSendChanges() {
+ super.detectAndSendChanges();
+ for(ICrafting crafting : (List<ICrafting>)crafters) {
+ crafting.sendProgressBarUpdate(this, 100, (int) ((GregtechMetaTileEntityTreeFarm) this.mTileEntity.getMetaTileEntity()).maxEUStore());
+ crafting.sendProgressBarUpdate(this, 101, (int) ((GregtechMetaTileEntityTreeFarm) this.mTileEntity.getMetaTileEntity()).getStoredInternalPower());
+ }
+ }
+
+} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_TreeFarmer.java b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_TreeFarmer.java
index 034119ed0b..25cd4863a8 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_TreeFarmer.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_TreeFarmer.java
@@ -6,59 +6,38 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gtPlusPlus.core.lib.CORE;
import net.minecraft.entity.player.InventoryPlayer;
-/**
- * NEVER INCLUDE THIS FILE IN YOUR MOD!!!
- * <p/>
- * The GUI-Container I use for all my Basic Machines
- * <p/>
- * As the NEI-RecipeTransferRect Handler can't handle one GUI-Class for all GUIs I needed to produce some dummy-classes which extend this class
- */
public class GUI_TreeFarmer extends GT_GUIContainerMetaTile_Machine {
- String mName = "";
-
- public GUI_TreeFarmer(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, String aName, String aTextureFile) {
- super(new CONTAINER_TreeFarmer(aInventoryPlayer, aTileEntity), CORE.RES_PATH_GUI + (aTextureFile == null ? "MultiblockDisplay" : aTextureFile));
- mName = aName;
- }
-
- @Override
- protected void drawGuiContainerForegroundLayer(int par1, int par2) {
- fontRendererObj.drawString(mName, 64, 8, 16448255);
-
- /*if (mContainer != null) {
- if ((((CONTAINER_TreeFarmer) mContainer).mDisplayErrorCode & 1) != 0)
- fontRendererObj.drawString("Pipe is loose.", 10, 16, 16448255);
- if ((((CONTAINER_TreeFarmer) mContainer).mDisplayErrorCode & 2) != 0)
- fontRendererObj.drawString("Screws are missing.", 10, 24, 16448255);
- if ((((CONTAINER_TreeFarmer) mContainer).mDisplayErrorCode & 4) != 0)
- fontRendererObj.drawString("Something is stuck.", 10, 32, 16448255);
- if ((((CONTAINER_TreeFarmer) mContainer).mDisplayErrorCode & 8) != 0)
- fontRendererObj.drawString("Platings are dented.", 10, 40, 16448255);
- if ((((CONTAINER_TreeFarmer) mContainer).mDisplayErrorCode & 16) != 0)
- fontRendererObj.drawString("Circuitry burned out.", 10, 48, 16448255);
- if ((((CONTAINER_TreeFarmer) mContainer).mDisplayErrorCode & 32) != 0)
- fontRendererObj.drawString("That doesn't belong there.", 10, 56, 16448255);
- if ((((CONTAINER_TreeFarmer) mContainer).mDisplayErrorCode & 64) != 0)
- fontRendererObj.drawString("Incomplete Structure.", 10, 64, 16448255);
-
- if (((CONTAINER_TreeFarmer) mContainer).mDisplayErrorCode == 0) {
- if (((CONTAINER_TreeFarmer) mContainer).mActive == 0) {
- fontRendererObj.drawString("Hit with Soft Hammer", 10, 16, 16448255);
- fontRendererObj.drawString("to (re-)start the Machine", 10, 24, 16448255);
- fontRendererObj.drawString("if it doesn't start.", 10, 32, 16448255);
- } else {
- fontRendererObj.drawString("Running perfectly.", 10, 16, 16448255);
- }
- }
- }*/
- }
-
- @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);
- }
+ String mName = "";
+ long maxPower = 0;
+ long storedPower = 0;
+
+ public GUI_TreeFarmer(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, String aName, String aTextureFile) {
+ super(new CONTAINER_TreeFarmer(aInventoryPlayer, aTileEntity), CORE.RES_PATH_GUI + (aTextureFile == null ? "MultiblockDisplay" : aTextureFile));
+ mName = aName;
+ }
+
+ @Override
+ protected void drawGuiContainerForegroundLayer(int par1, int par2) {
+ fontRendererObj.drawString(mName, 64, 6, 16448255);
+ if (mContainer != null) {
+ maxPower = ((CONTAINER_TreeFarmer)this.mContainer).maxEU;
+ storedPower = ((CONTAINER_TreeFarmer)this.mContainer).storedEU;
+ if (((CONTAINER_TreeFarmer) mContainer).mDisplayErrorCode == 0) {
+ fontRendererObj.drawString("Current Power Stored: "+storedPower+"EU", 10, 52, 16448255);
+ fontRendererObj.drawString("Max Power Storage: "+maxPower+"EU", 10, 60, 16448255);
+ fontRendererObj.drawString("Current operations left: "+(storedPower/32), 10, 68, 16448255);
+ }
+ }
+ }
+
+ @Override
+ protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3) {
+ super.drawGuiContainerBackgroundLayer(par1, par2, par3);
+ maxPower = ((CONTAINER_TreeFarmer)this.mContainer).maxEU;
+ storedPower = ((CONTAINER_TreeFarmer)this.mContainer).storedEU;
+ int x = (width - xSize) / 2;
+ int y = (height - ySize) / 2;
+ drawTexturedModalRect(x, y, 0, 0, xSize, ySize);
+ }
}