Posted February 23, 201411 yr I want to send a string (eg player name) through the netty, however, the method writeString() and readString() do not exist. How i can do this? And how i get EntityPlayer which send the packet? package ru.DoctorBooooom.LastWorld.network.packet; import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelHandlerContext; public class Packet extends APacket { @Override public void encodeInto(ChannelHandlerContext ctx, ByteBuf buffer) { buffer.writeString("PlayerName"); } @Override public void decodeInto(ChannelHandlerContext ctx, ByteBuf buffer) { String name = buffer.readString(); } @Override public void handleClientSide(EntityPlayer player) { } @Override public void handleServerSide(EntityPlayer player) { } }
February 23, 201411 yr If you're sending the packet from the client, the handleServer method has the player that sent it. Kain
February 24, 201411 yr net.minecraft.network.PacketBuffer has methods; void writeStringToBuffer(String) and String readStringFromBuffer(int decodedLength) It extends ByteBuffer, so you can do: myBuf = new PacketBuffer(myByteBuffer); myBuf.writeStringToBuffer(myString); // or myString = myBuf.readStringFromBuffer(100); -S- (if I helped, please click Thank and applaud) http://6upnqa.dm2301.livefilestore.com/y2mtf-vG7Tqq1TiiVpIm53KWj7294NDPoHfSHHb4PzZiMAUfRCfK0UY0MwOu7Q3zTBNVTKqWjr2-xgBfFRpQT5p-QivtvknPpoABMNUw9br9WuZcBFkjePhnAbW500gVm-P/sequiturian.png[/img]
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.