diff options
author | Detrav <witalyezep@gmail.com> | 2016-04-07 16:52:55 +0300 |
---|---|---|
committer | Detrav <witalyezep@gmail.com> | 2016-04-07 16:52:55 +0300 |
commit | a2229132fe8b7f9a2927e827f828a8989c02851b (patch) | |
tree | 772defa2d1ffc92e36b1a6ccc6b58cb0553f102b | |
parent | 75a60a12494da3593aa77d9de193b328691ae8aa (diff) | |
download | GT5-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.java | 6 | ||||
-rw-r--r-- | src/main/java/com/detrav/gui/DetravPortableChargerGui.java | 39 | ||||
-rw-r--r-- | src/main/java/com/detrav/gui/containers/DetravPortableChargerContainer.java | 57 | ||||
-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.java | 19 | ||||
-rw-r--r-- | src/main/java/com/detrav/items/tools/DetravToolPortableCharger.java | 3 | ||||
-rw-r--r-- | src/main/java/com/detrav/net/DetravProPickPacket01.java | 2 | ||||
-rw-r--r-- | src/main/java/com/detrav/proxies/CommonProxy.java | 28 |
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); + } } |