aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/detrav/gui
diff options
context:
space:
mode:
authorDetrav <witalyezep@gmail.com>2016-04-07 18:11:48 +0300
committerDetrav <witalyezep@gmail.com>2016-04-07 18:11:48 +0300
commit9bbd0e27f1e0bcef7f38f206b902caf74d5e981d (patch)
tree1b55ad405d5ad18f953d08913e86e813bc02961c /src/main/java/com/detrav/gui
parenta2229132fe8b7f9a2927e827f828a8989c02851b (diff)
downloadGT5-Unofficial-9bbd0e27f1e0bcef7f38f206b902caf74d5e981d.tar.gz
GT5-Unofficial-9bbd0e27f1e0bcef7f38f206b902caf74d5e981d.tar.bz2
GT5-Unofficial-9bbd0e27f1e0bcef7f38f206b902caf74d5e981d.zip
Complete gui recharger'a with slot Locker
Diffstat (limited to 'src/main/java/com/detrav/gui')
-rw-r--r--src/main/java/com/detrav/gui/DetravPortableChargerGui.java73
-rw-r--r--src/main/java/com/detrav/gui/containers/DetravPortableChargerContainer.java15
2 files changed, 67 insertions, 21 deletions
diff --git a/src/main/java/com/detrav/gui/DetravPortableChargerGui.java b/src/main/java/com/detrav/gui/DetravPortableChargerGui.java
index 3f7212a6c9..431107f3ed 100644
--- a/src/main/java/com/detrav/gui/DetravPortableChargerGui.java
+++ b/src/main/java/com/detrav/gui/DetravPortableChargerGui.java
@@ -1,39 +1,76 @@
package com.detrav.gui;
import com.detrav.gui.containers.DetravPortableChargerContainer;
+import com.detrav.items.DetravMetaGeneratedTool01;
+import gregtech.api.GregTech_API;
+import gregtech.api.util.GT_Utility;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.ItemDye;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.ResourceLocation;
import net.minecraft.world.World;
+import org.lwjgl.opengl.GL11;
+
+import static gregtech.api.enums.GT_Values.V;
+import static gregtech.api.enums.GT_Values.RES_PATH_GUI;
/**
* Created by wital_000 on 07.04.2016.
*/
public class DetravPortableChargerGui extends GuiContainer {
public static final int GUI_ID = 30;
- public DetravPortableChargerGui(InventoryPlayer player, World aWorld) {
- super(new DetravPortableChargerContainer(player, aWorld));
+ ResourceLocation location = null;
+ private String mName = "testName";
+ ItemStack mItem = null;
+
+ public DetravPortableChargerGui(InventoryPlayer player, World aWorld, ItemStack aStack) {
+ super(new DetravPortableChargerContainer(player, aWorld, aStack));
+ mItem = aStack;
+ location = new ResourceLocation(RES_PATH_GUI + "1by1.png");
}
@Override
- protected void drawGuiContainerForegroundLayer(int param1, int param2) {
- //draw text and stuff here
- //the parameters for drawString are: string, x, y, color
- fontRendererObj.drawString("Tiny", 8, 6, 4210752);
- //draws "Inventory" or your regional equivalent
- fontRendererObj.drawString("container.inventory", 8, ySize - 96 + 2, 4210752);
+ protected void drawGuiContainerForegroundLayer(int par1, int par2) {
+ fontRendererObj.drawString(mName, 8, 4, 4210752);
+ if(mItem!=null) {
+ //GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
+ //EnumChatFormatting.AQUA + "" + + EnumChatFormatting.GRAY);
+ Long[] tStats = getElectricStats(mItem);
+ long tCharge = getRealCharge(mItem);
+ fontRendererObj.drawString(GT_Utility.formatNumbers(tCharge) + " / " + GT_Utility.formatNumbers(Math.abs(tStats[0])) + " EU - Voltage: " + V[(int) (tStats[2] >= 0 ? tStats[2] < V.length ? tStats[2] : V.length - 1 : 1)], 8, 15, 4210752);
+ }
}
- @Override
- protected void drawGuiContainerBackgroundLayer(float par1, int par2,
- int par3) {
- //draw your Gui here, only thing you need to change is the path
- //int texture = mc.renderEngine.getTexture("/gui/trap.png");
- //GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- //this.mc.renderEngine.bindTexture(texture);
- //int x = (width - xSize) / 2;
- //int y = (height - ySize) / 2;
- //this.drawTexturedModalRect(x, y, 0, 0, xSize, ySize);
+ public Long[] getElectricStats(ItemStack aStack) {
+ NBTTagCompound aNBT = aStack.getTagCompound();
+ if (aNBT != null) {
+ aNBT = aNBT.getCompoundTag("GT.ToolStats");
+ if (aNBT != null && aNBT.getBoolean("Electric"))
+ return new Long[]{aNBT.getLong("MaxCharge"), aNBT.getLong("Voltage"), aNBT.getLong("Tier"), aNBT.getLong("SpecialData")};
+ }
+ return null;
}
+ public final long getRealCharge(ItemStack aStack) {
+ Long[] tStats = getElectricStats(aStack);
+ if (tStats == null) return 0;
+ if (tStats[3] > 0) return (int) (long) tStats[3];
+ NBTTagCompound tNBT = aStack.getTagCompound();
+ return tNBT == null ? 0 : tNBT.getLong("GT.ItemCharge");
+ }
+
+ @Override
+ protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3) {
+ mc.renderEngine.bindTexture(location);
+ if (GregTech_API.sColoredGUI && mItem != null && DetravMetaGeneratedTool01.getSecondaryMaterial(mItem) != null) {
+ short[] tColors = DetravMetaGeneratedTool01.getSecondaryMaterial(mItem).mColor.getRGBA();
+ GL11.glColor4f(tColors[0]/255F, tColors[1]/255F, tColors[2]/255F, 1F);
+ } else GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
+ int x = (width - xSize) / 2;
+ int y = (height - ySize) / 2;
+ drawTexturedModalRect(x, y, 0, 0, xSize, ySize);
+ }
}
diff --git a/src/main/java/com/detrav/gui/containers/DetravPortableChargerContainer.java b/src/main/java/com/detrav/gui/containers/DetravPortableChargerContainer.java
index e0867e27da..1902fdd92c 100644
--- a/src/main/java/com/detrav/gui/containers/DetravPortableChargerContainer.java
+++ b/src/main/java/com/detrav/gui/containers/DetravPortableChargerContainer.java
@@ -1,5 +1,6 @@
package com.detrav.gui.containers;
+import gregtech.common.items.armor.SlotLocked;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;
@@ -14,11 +15,13 @@ import net.minecraft.world.World;
*/
public class DetravPortableChargerContainer extends Container {
public IInventory slots = new InventoryCrafting(this, 1, 1);
+ public ItemStack mItem;
private World worldObj;
- public DetravPortableChargerContainer(InventoryPlayer inventoryPlayer, World aWorld) {
+ public DetravPortableChargerContainer(InventoryPlayer inventoryPlayer, World aWorld,ItemStack aStack) {
this.worldObj = aWorld;
- this.addSlotToContainer(new Slot(slots, 0, 62, 17));
+ this.addSlotToContainer(new Slot(slots, 0, 80, 35));
+ mItem = aStack;
//new Slot()
bindPlayerInventory(inventoryPlayer);
}
@@ -31,8 +34,14 @@ public class DetravPortableChargerContainer extends Container {
}
}
+
for (int i = 0; i < 9; i++) {
- addSlotToContainer(new Slot(inventoryPlayer, i, 8 + i * 18, 142));
+ ItemStack stackInSlot = inventoryPlayer.getStackInSlot(i);
+ if (mItem!=null && stackInSlot!=null && mItem.getItem() == stackInSlot.getItem()) {
+ addSlotToContainer(new SlotLocked(inventoryPlayer, i, 8 + i * 18, 142));
+ } else {
+ addSlotToContainer(new Slot(inventoryPlayer, i, 8 + i * 18, 142));
+ }
}
}