aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDetrav <witalyezep@gmail.com>2016-04-07 16:52:55 +0300
committerDetrav <witalyezep@gmail.com>2016-04-07 16:52:55 +0300
commita2229132fe8b7f9a2927e827f828a8989c02851b (patch)
tree772defa2d1ffc92e36b1a6ccc6b58cb0553f102b
parent75a60a12494da3593aa77d9de193b328691ae8aa (diff)
downloadGT5-Unofficial-a2229132fe8b7f9a2927e827f828a8989c02851b.tar.gz
GT5-Unofficial-a2229132fe8b7f9a2927e827f828a8989c02851b.tar.bz2
GT5-Unofficial-a2229132fe8b7f9a2927e827f828a8989c02851b.zip
Add gui to charger, refactor
-rw-r--r--src/main/java/com/detrav/gui/DetravGuiProPick.java6
-rw-r--r--src/main/java/com/detrav/gui/DetravPortableChargerGui.java39
-rw-r--r--src/main/java/com/detrav/gui/containers/DetravPortableChargerContainer.java57
-rw-r--r--src/main/java/com/detrav/gui/textures/DetravMapTexture.java (renamed from src/main/java/com/detrav/gui/DetravMapTexture.java)2
-rw-r--r--src/main/java/com/detrav/items/behaviours/BehaviourDetravPortableCharger.java19
-rw-r--r--src/main/java/com/detrav/items/tools/DetravToolPortableCharger.java3
-rw-r--r--src/main/java/com/detrav/net/DetravProPickPacket01.java2
-rw-r--r--src/main/java/com/detrav/proxies/CommonProxy.java28
8 files changed, 144 insertions, 12 deletions
diff --git a/src/main/java/com/detrav/gui/DetravGuiProPick.java b/src/main/java/com/detrav/gui/DetravGuiProPick.java
index 80b64ba254..9c95fa13cd 100644
--- a/src/main/java/com/detrav/gui/DetravGuiProPick.java
+++ b/src/main/java/com/detrav/gui/DetravGuiProPick.java
@@ -1,13 +1,9 @@
package com.detrav.gui;
+import com.detrav.gui.textures.DetravMapTexture;
import cpw.mods.fml.client.GuiScrollingList;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.entity.AbstractClientPlayer;
-import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.client.renderer.texture.TextureUtil;
-import net.minecraft.util.MathHelper;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
diff --git a/src/main/java/com/detrav/gui/DetravPortableChargerGui.java b/src/main/java/com/detrav/gui/DetravPortableChargerGui.java
new file mode 100644
index 0000000000..3f7212a6c9
--- /dev/null
+++ b/src/main/java/com/detrav/gui/DetravPortableChargerGui.java
@@ -0,0 +1,39 @@
+package com.detrav.gui;
+
+import com.detrav.gui.containers.DetravPortableChargerContainer;
+import net.minecraft.client.gui.inventory.GuiContainer;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.world.World;
+
+/**
+ * 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));
+
+ }
+
+ @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);
+ }
+
+ @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);
+ }
+
+}
diff --git a/src/main/java/com/detrav/gui/containers/DetravPortableChargerContainer.java b/src/main/java/com/detrav/gui/containers/DetravPortableChargerContainer.java
new file mode 100644
index 0000000000..e0867e27da
--- /dev/null
+++ b/src/main/java/com/detrav/gui/containers/DetravPortableChargerContainer.java
@@ -0,0 +1,57 @@
+package com.detrav.gui.containers;
+
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.inventory.Container;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.inventory.InventoryCrafting;
+import net.minecraft.inventory.Slot;
+import net.minecraft.item.ItemStack;
+import net.minecraft.world.World;
+
+/**
+ * Created by wital_000 on 07.04.2016.
+ */
+public class DetravPortableChargerContainer extends Container {
+ public IInventory slots = new InventoryCrafting(this, 1, 1);
+ private World worldObj;
+
+ public DetravPortableChargerContainer(InventoryPlayer inventoryPlayer, World aWorld) {
+ this.worldObj = aWorld;
+ this.addSlotToContainer(new Slot(slots, 0, 62, 17));
+ //new Slot()
+ bindPlayerInventory(inventoryPlayer);
+ }
+
+ protected void bindPlayerInventory(InventoryPlayer inventoryPlayer) {
+ for (int i = 0; i < 3; i++) {
+ for (int j = 0; j < 9; j++) {
+ addSlotToContainer(new Slot(inventoryPlayer, j + i * 9 + 9,
+ 8 + j * 18, 84 + i * 18));
+ }
+ }
+
+ for (int i = 0; i < 9; i++) {
+ addSlotToContainer(new Slot(inventoryPlayer, i, 8 + i * 18, 142));
+ }
+ }
+
+ @Override
+ public boolean canInteractWith(EntityPlayer p_75145_1_) {
+ return true;
+ }
+
+ public void onContainerClosed(EntityPlayer p_75134_1_) {
+ super.onContainerClosed(p_75134_1_);
+ if (!this.worldObj.isRemote) {
+ //for (int i = 0; i < 9; ++i)
+ //{
+ ItemStack itemstack = this.slots.getStackInSlotOnClosing(0);
+
+ if (itemstack != null) {
+ p_75134_1_.dropPlayerItemWithRandomChoice(itemstack, false);
+ }
+ //}
+ }
+ }
+} \ No newline at end of file
diff --git a/src/main/java/com/detrav/gui/DetravMapTexture.java b/src/main/java/com/detrav/gui/textures/DetravMapTexture.java
index 3c90a57d45..2e4be47af2 100644
--- a/src/main/java/com/detrav/gui/DetravMapTexture.java
+++ b/src/main/java/com/detrav/gui/textures/DetravMapTexture.java
@@ -1,4 +1,4 @@
-package com.detrav.gui;
+package com.detrav.gui.textures;
import com.detrav.net.DetravProPickPacket01;
import net.minecraft.client.Minecraft;
diff --git a/src/main/java/com/detrav/items/behaviours/BehaviourDetravPortableCharger.java b/src/main/java/com/detrav/items/behaviours/BehaviourDetravPortableCharger.java
new file mode 100644
index 0000000000..353b26066d
--- /dev/null
+++ b/src/main/java/com/detrav/items/behaviours/BehaviourDetravPortableCharger.java
@@ -0,0 +1,19 @@
+package com.detrav.items.behaviours;
+
+import com.detrav.DetravScannerMod;
+import gregtech.api.items.GT_MetaBase_Item;
+import gregtech.common.items.behaviors.Behaviour_None;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.world.World;
+
+/**
+ * Created by wital_000 on 07.04.2016.
+ */
+public class BehaviourDetravPortableCharger extends Behaviour_None {
+
+ public ItemStack onItemRightClick(GT_MetaBase_Item aItem, ItemStack aStack, World aWorld, EntityPlayer aPlayer) {
+ DetravScannerMod.proxy.openPortableChargerGui(aPlayer);
+ return super.onItemRightClick(aItem, aStack, aWorld, aPlayer);
+ }
+}
diff --git a/src/main/java/com/detrav/items/tools/DetravToolPortableCharger.java b/src/main/java/com/detrav/items/tools/DetravToolPortableCharger.java
index 5314d9a30d..62b22f67d4 100644
--- a/src/main/java/com/detrav/items/tools/DetravToolPortableCharger.java
+++ b/src/main/java/com/detrav/items/tools/DetravToolPortableCharger.java
@@ -2,6 +2,7 @@ package com.detrav.items.tools;
import com.detrav.enums.DetravSimpleItems;
import com.detrav.enums.Textures01;
+import com.detrav.items.behaviours.BehaviourDetravPortableCharger;
import com.detrav.items.behaviours.BehaviourDetravToolProPick;
import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
@@ -169,7 +170,7 @@ public class DetravToolPortableCharger implements IToolStats {
}
public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) {
- //aItem.addItemBehavior(aID, new BehaviourDetravToolProPick(getToolDamagePerBlockBreak()));
+ aItem.addItemBehavior(aID, new BehaviourDetravPortableCharger());
}
public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer) {
diff --git a/src/main/java/com/detrav/net/DetravProPickPacket01.java b/src/main/java/com/detrav/net/DetravProPickPacket01.java
index 77a21aee20..db0db3edcb 100644
--- a/src/main/java/com/detrav/net/DetravProPickPacket01.java
+++ b/src/main/java/com/detrav/net/DetravProPickPacket01.java
@@ -2,7 +2,7 @@ package com.detrav.net;
import com.detrav.DetravScannerMod;
import com.detrav.gui.DetravGuiProPick;
-import com.detrav.gui.DetravMapTexture;
+import com.detrav.gui.textures.DetravMapTexture;
import com.google.common.io.ByteArrayDataInput;
import com.google.common.io.ByteArrayDataOutput;
import com.google.common.io.ByteStreams;
diff --git a/src/main/java/com/detrav/proxies/CommonProxy.java b/src/main/java/com/detrav/proxies/CommonProxy.java
index 52a3e11e26..7e32670b81 100644
--- a/src/main/java/com/detrav/proxies/CommonProxy.java
+++ b/src/main/java/com/detrav/proxies/CommonProxy.java
@@ -1,7 +1,10 @@
package com.detrav.proxies;
+import com.detrav.DetravScannerMod;
import com.detrav.enums.DetravSimpleItems;
import com.detrav.gui.DetravGuiProPick;
+import com.detrav.gui.containers.DetravPortableChargerContainer;
+import com.detrav.gui.DetravPortableChargerGui;
import cpw.mods.fml.common.network.IGuiHandler;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
@@ -35,18 +38,35 @@ public class CommonProxy implements IGuiHandler {
@Override
public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
- return null;
+ switch (ID) {
+ case DetravGuiProPick.GUI_ID:
+ return null;
+ case DetravPortableChargerGui.GUI_ID:
+ return new DetravPortableChargerContainer(player.inventory,world);
+ default:
+ return null;
+ }
}
@Override
public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
- if(ID == DetravGuiProPick.GUI_ID)
- return new DetravGuiProPick();
- return null;
+ switch (ID) {
+ case DetravGuiProPick.GUI_ID:
+ return new DetravGuiProPick();
+ case DetravPortableChargerGui.GUI_ID:
+ return new DetravPortableChargerGui(player.inventory,world);
+ default:
+ return null;
+ }
}
public void openProPickGui()
{
}
+
+ public void openPortableChargerGui(EntityPlayer player)
+ {
+ player.openGui(DetravScannerMod.instance, DetravPortableChargerGui.GUI_ID,player.worldObj,(int)player.posX,(int)player.posY,(int)player.posZ);
+ }
}