package com.minemaarten.advancedmod.network; import io.netty.buffer.ByteBuf; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import com.minemaarten.advancedmod.gui.GuiAdvancedMod; import com.minemaarten.advancedmod.tileentity.TileEntityAdvancedMod; import cpw.mods.fml.common.network.ByteBufUtils; public class MessageHandleTextUpdate extends MessageXYZ<MessageHandleTextUpdate>{ private int id; private String text; public MessageHandleTextUpdate(){} public MessageHandleTextUpdate(TileEntityAdvancedMod te, int id, String text){ super(te); this.id = id; this.text = text; } @Override public void fromBytes(ByteBuf buf){ super.fromBytes(buf); id = buf.readInt(); text = ByteBufUtils.readUTF8String(buf); } @Override public void toBytes(ByteBuf buf){ super.toBytes(buf); buf.writeInt(id); ByteBufUtils.writeUTF8String(buf, text); } @Override public void handleClientSide(MessageHandleTextUpdate message, EntityPlayer player){ handleServerSide(message, player); GuiScreen gui = Minecraft.getMinecraft().currentScreen;//<-- Warning, this will crash when tested on server, will be discussed next episode. if(gui instanceof GuiAdvancedMod) { ((GuiAdvancedMod)gui).onTextfieldUpdate(message.id); } } @Override public void handleServerSide(MessageHandleTextUpdate message, EntityPlayer player){ TileEntity te = message.getTileEntity(player.worldObj); if(te instanceof TileEntityAdvancedMod) { ((TileEntityAdvancedMod)te).onGuiTextfieldUpdate(message.id, message.text); } } }