diff options
author | Draknyte1 <Draknyte1@hotmail.com> | 2017-01-21 17:05:51 +1000 |
---|---|---|
committer | Draknyte1 <Draknyte1@hotmail.com> | 2017-01-21 17:05:51 +1000 |
commit | 9dd4ec3dce97a5aff9a1501a684fe02a75055940 (patch) | |
tree | 8025e6b7b8a267f4ae0e96d21488158e4348591b /src/Java/gtPlusPlus/xmod/gregtech/api/gui | |
parent | 2750e87c0532c98cab77362fbe248d0dba4627fd (diff) | |
download | GT5-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.java | 44 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_TreeFarmer.java | 85 |
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); + } } |