diff options
author | Detrav <witalyezep@gmail.com> | 2016-04-07 23:21:06 +0300 |
---|---|---|
committer | Detrav <witalyezep@gmail.com> | 2016-04-07 23:21:06 +0300 |
commit | 7f8cf963b3755a6afdc00e4a6fc4a7cf00c54209 (patch) | |
tree | 6f19ba128aa4d6c4099f071551e1a486f142dd01 /src/main/java/com | |
parent | e819015db99e2ad58770d91a5973f1927ea0060a (diff) | |
download | GT5-Unofficial-7f8cf963b3755a6afdc00e4a6fc4a7cf00c54209.tar.gz GT5-Unofficial-7f8cf963b3755a6afdc00e4a6fc4a7cf00c54209.tar.bz2 GT5-Unofficial-7f8cf963b3755a6afdc00e4a6fc4a7cf00c54209.zip |
Fix "charge send to player gui"
Diffstat (limited to 'src/main/java/com')
5 files changed, 61 insertions, 7 deletions
diff --git a/src/main/java/com/detrav/gui/DetravPortableChargerGui.java b/src/main/java/com/detrav/gui/DetravPortableChargerGui.java index e440f45874..67c33b25c1 100644 --- a/src/main/java/com/detrav/gui/DetravPortableChargerGui.java +++ b/src/main/java/com/detrav/gui/DetravPortableChargerGui.java @@ -22,25 +22,33 @@ public class DetravPortableChargerGui extends GuiContainer { ResourceLocation location = null; private String mName = "Portable Charger"; - ItemStack mItem = null; + public static long charge = 0; + //ItemStack mItem = null; + DetravPortableChargerContainer container = null; + private ItemStack mItem; public DetravPortableChargerGui(InventoryPlayer player, World aWorld, ItemStack aStack) { super(new DetravPortableChargerContainer(player, aWorld, aStack)); - mItem = aStack; + container = (DetravPortableChargerContainer) inventorySlots; location = new ResourceLocation(RES_PATH_GUI + "1by1.png"); + mItem = container.mItem; + if (mItem != null) { + charge = DetravMetaGeneratedTool01.INSTANCE.getRealCharge(mItem); + } } @Override 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 = DetravMetaGeneratedTool01.INSTANCE.getElectricStats(mItem); - long tCharge = DetravMetaGeneratedTool01.INSTANCE.getRealCharge(mItem); + //long tCharge = DetravMetaGeneratedTool01.INSTANCE.getRealCharge(mItem); long loss = DetravMetaGeneratedTool01.INSTANCE.getElectricStatsLoss(mItem); - fontRendererObj.drawString(GT_Utility.formatNumbers(tCharge) + " / " + GT_Utility.formatNumbers(Math.abs(tStats[0])) + " EU", 8, 14, 4210752); + fontRendererObj.drawString(GT_Utility.formatNumbers(charge) + " / " + GT_Utility.formatNumbers(Math.abs(tStats[0])) + " EU", 8, 14, 4210752); fontRendererObj.drawString("Voltage/Loss: " + V[(int) (tStats[2] >= 0 ? tStats[2] < V.length ? tStats[2] : V.length - 1 : 1)] + " / "+ loss, 8, 24, 4210752); } } diff --git a/src/main/java/com/detrav/gui/containers/DetravPortableChargerContainer.java b/src/main/java/com/detrav/gui/containers/DetravPortableChargerContainer.java index b11f2368ce..8be85ee690 100644 --- a/src/main/java/com/detrav/gui/containers/DetravPortableChargerContainer.java +++ b/src/main/java/com/detrav/gui/containers/DetravPortableChargerContainer.java @@ -1,19 +1,20 @@ package com.detrav.gui.containers; import com.detrav.items.DetravMetaGeneratedTool01; +import com.detrav.net.DetravNetwork; +import com.detrav.net.DetravPortableChargerPacker02; import gregtech.api.items.GT_MetaBase_Item; import gregtech.api.util.GT_ModHandler; import gregtech.common.items.armor.SlotLocked; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; 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.Item; import net.minecraft.item.ItemStack; -import net.minecraft.util.ChatComponentText; import net.minecraft.world.World; import org.lwjgl.Sys; @@ -103,6 +104,14 @@ public class DetravPortableChargerContainer extends Container { int removeEnergy = GT_ModHandler.chargeElectricItem(item, (int) energyToTransfer, Integer.MAX_VALUE, false, false); if(removeEnergy==0) return; GT_ModHandler.dischargeElectricItem(mItem,(int)(removeEnergy+loss*aTimer),Integer.MAX_VALUE,false,false,true); + + if(aWorld.isRemote) return; + if(aPlayer instanceof EntityPlayerMP) { + DetravPortableChargerPacker02 packet = new DetravPortableChargerPacker02(); + packet.charge = selfCharge - removeEnergy + loss * aTimer; + DetravNetwork.INSTANCE.sendToPlayer(packet, (EntityPlayerMP)aPlayer); + //crafters + } } /*@Override diff --git a/src/main/java/com/detrav/net/DetravNetwork.java b/src/main/java/com/detrav/net/DetravNetwork.java index ea79d4cdc3..3e0fce1b0c 100644 --- a/src/main/java/com/detrav/net/DetravNetwork.java +++ b/src/main/java/com/detrav/net/DetravNetwork.java @@ -31,7 +31,7 @@ public class DetravNetwork extends MessageToMessageCodec<FMLProxyPacket, DetravP { INSTANCE = this; this.mChannel = NetworkRegistry.INSTANCE.newChannel("DetravScanner", new ChannelHandler[]{this, new HandlerShared()}); - this.mSubChannels = new DetravPacket[]{new DetravProPickPacket01()}; + this.mSubChannels = new DetravPacket[]{new DetravProPickPacket01(),new DetravPortableChargerPacker02()}; } @Override diff --git a/src/main/java/com/detrav/net/DetravPortableChargerPacker02.java b/src/main/java/com/detrav/net/DetravPortableChargerPacker02.java new file mode 100644 index 0000000000..d5643ca984 --- /dev/null +++ b/src/main/java/com/detrav/net/DetravPortableChargerPacker02.java @@ -0,0 +1,36 @@ +package com.detrav.net; + +import com.detrav.gui.DetravPortableChargerGui; +import com.google.common.io.ByteArrayDataInput; +import com.google.common.io.ByteArrayDataOutput; +import com.google.common.io.ByteStreams; + +/** + * Created by wital_000 on 07.04.2016. + */ +public class DetravPortableChargerPacker02 extends DetravPacket { + public long charge = 0; + @Override + public int getPacketID() { + return 1; + } + + @Override + public byte[] encode() { + ByteArrayDataOutput tOut = ByteStreams.newDataOutput(1); + tOut.writeLong(charge); + return tOut.toByteArray(); + } + + @Override + public Object decode(ByteArrayDataInput aData) { + DetravPortableChargerPacker02 packet = new DetravPortableChargerPacker02(); + packet.charge = aData.readLong(); + return packet; + } + + @Override + public void process() { + DetravPortableChargerGui.charge = charge; + } +} diff --git a/src/main/java/com/detrav/proxies/CommonProxy.java b/src/main/java/com/detrav/proxies/CommonProxy.java index 5fdca5ab4e..c9fb3ca5ab 100644 --- a/src/main/java/com/detrav/proxies/CommonProxy.java +++ b/src/main/java/com/detrav/proxies/CommonProxy.java @@ -61,6 +61,7 @@ public class CommonProxy implements IGuiHandler { } } + public void openProPickGui() { |