diff --git a/src/main/java/net/packet/ByteBufInPacket.java b/src/main/java/net/packet/ByteBufInPacket.java index c2e2984499..02c8f3cb41 100644 --- a/src/main/java/net/packet/ByteBufInPacket.java +++ b/src/main/java/net/packet/ByteBufInPacket.java @@ -11,15 +11,12 @@ public class ByteBufInPacket implements InPacket { this.byteBuf = byteBuf; } - @Override - public short getHeader() { - return byteBuf.getShortLE(0); - } - @Override public byte[] getBytes() { - // TODO implement - throw new UnsupportedOperationException(); + byte[] bytes = new byte[byteBuf.readableBytes()]; + int readerIndex = byteBuf.readerIndex(); + byteBuf.getBytes(readerIndex, bytes); + return bytes; } @Override @@ -51,20 +48,25 @@ public class ByteBufInPacket implements InPacket { @Override public String readString() { - // TODO - return null; + short length = readShort(); + char[] characters = new char[length]; + for(int i = 0; i < length; i++) { + characters[i] = (char) readByte(); + } + + return String.valueOf(characters); } @Override - public byte[] readBytes(int bytesToRead) { - byte[] bytes = new byte[bytesToRead]; + public byte[] readBytes(int numberOfBytes) { + byte[] bytes = new byte[numberOfBytes]; byteBuf.readBytes(bytes); return bytes; } @Override - public void skip(int bytesToSkip) { - byteBuf.skipBytes(bytesToSkip); + public void skip(int numberOfBytes) { + byteBuf.skipBytes(numberOfBytes); } @Override diff --git a/src/main/java/net/packet/ByteBufOutPacket.java b/src/main/java/net/packet/ByteBufOutPacket.java index d36c594f83..5fc77f3c3d 100644 --- a/src/main/java/net/packet/ByteBufOutPacket.java +++ b/src/main/java/net/packet/ByteBufOutPacket.java @@ -23,15 +23,12 @@ public class ByteBufOutPacket implements OutPacket { this.byteBuf = byteBuf; } - @Override - public short getHeader() { - return byteBuf.getShortLE(0); - } - @Override public byte[] getBytes() { - // TODO implement - throw new UnsupportedOperationException(); + byte[] bytes = new byte[byteBuf.readableBytes()]; + int readerIndex = byteBuf.readerIndex(); + byteBuf.getBytes(readerIndex, bytes); + return bytes; } @Override @@ -50,7 +47,7 @@ public class ByteBufOutPacket implements OutPacket { } @Override - public void writeShort(short value) { + public void writeShort(int value) { byteBuf.writeShortLE(value); } @@ -82,7 +79,7 @@ public class ByteBufOutPacket implements OutPacket { } @Override - public void skip(int bytesToSkip) { - writeBytes(new byte[bytesToSkip]); + public void skip(int numberOfBytes) { + writeBytes(new byte[numberOfBytes]); } } diff --git a/src/main/java/net/packet/InPacket.java b/src/main/java/net/packet/InPacket.java index c2493227a4..2c899c2ade 100644 --- a/src/main/java/net/packet/InPacket.java +++ b/src/main/java/net/packet/InPacket.java @@ -9,7 +9,7 @@ public interface InPacket extends Packet { long readLong(); Point readPoint(); String readString(); - byte[] readBytes(int bytesToRead); + byte[] readBytes(int numberOfBytes); void skip(int numberOfBytes); int available(); void seek(int byteOffset); diff --git a/src/main/java/net/packet/OutPacket.java b/src/main/java/net/packet/OutPacket.java index 9b6804abb8..615f932db0 100644 --- a/src/main/java/net/packet/OutPacket.java +++ b/src/main/java/net/packet/OutPacket.java @@ -10,7 +10,7 @@ public interface OutPacket extends Packet { void writeByte(byte value); void writeByte(int value); void writeBytes(byte[] value); - void writeShort(short value); + void writeShort(int value); void writeInt(int value); void writeLong(long value); void writeBoolean(boolean value); diff --git a/src/main/java/net/packet/Packet.java b/src/main/java/net/packet/Packet.java index 6bbd4cc4dc..8e1b7cfb99 100644 --- a/src/main/java/net/packet/Packet.java +++ b/src/main/java/net/packet/Packet.java @@ -1,6 +1,5 @@ package net.packet; public interface Packet { - short getHeader(); byte[] getBytes(); }