Archived
0

NetStream -> NetInputStream & NetOutputStream

This commit is contained in:
2018-07-25 22:47:32 +03:00
parent 1bd0e6aafe
commit e22b32b9fb
37 changed files with 210 additions and 234 deletions

View File

@@ -8,5 +8,5 @@ package mc.core.network;
* Пакеты Client->Server
*/
public interface CSPacket {
void readSelf(NetStream netStream);
void readSelf(NetInputStream netStream);
}

View File

@@ -1,6 +1,6 @@
/*
* DmitriyMX <dimon550@gmail.com>
* 2018-03-28
* 2018-07-25
*/
package mc.core.network;
@@ -9,7 +9,7 @@ import lombok.Setter;
import java.util.UUID;
public abstract class NetStream {
public abstract class NetInputStream {
@Getter
@Setter
private int dataSize;
@@ -28,18 +28,5 @@ public abstract class NetStream {
public abstract String readString();
public abstract UUID readUUID();
public abstract void writeBoolean(boolean value);
public abstract void writeByte(int value);
public abstract void writeUnsignedByte(int value);
public abstract void writeBytes(byte[] buffer);
public abstract void writeShort(int value);
public abstract void writeInt(int value);
public abstract void writeVarInt(int value);
public abstract void writeLong(long value);
public abstract void writeFloat(float value);
public abstract void writeDouble(double value);
public abstract void writeString(String value);
public abstract void writeUUID(UUID uuid);
public abstract void skipBytes(int count);
}

View File

@@ -0,0 +1,22 @@
/*
* DmitriyMX <dimon550@gmail.com>
* 2018-07-25
*/
package mc.core.network;
import java.util.UUID;
public abstract class NetOutputStream {
public abstract void writeBoolean(boolean value);
public abstract void writeByte(int value);
public abstract void writeUnsignedByte(int value);
public abstract void writeBytes(byte[] buffer);
public abstract void writeShort(int value);
public abstract void writeInt(int value);
public abstract void writeVarInt(int value);
public abstract void writeLong(long value);
public abstract void writeFloat(float value);
public abstract void writeDouble(double value);
public abstract void writeString(String value);
public abstract void writeUUID(UUID uuid);
}

View File

@@ -8,5 +8,5 @@ package mc.core.network;
* Пакеты Server->Client
*/
public interface SCPacket {
void writeSelf(NetStream netStream);
void writeSelf(NetOutputStream netStream);
}

View File

@@ -0,0 +1,52 @@
/*
* DmitriyMX <dimon550@gmail.com>
* 2018-07-25
*/
package mc.core.network.proto_1_12_2;
import lombok.extern.slf4j.Slf4j;
import mc.core.network.NetInputStream;
import java.nio.charset.StandardCharsets;
import java.util.UUID;
@Slf4j
public abstract class NetInputStream_p340 extends NetInputStream {
@Override
public int readVarInt() {
int numRead = 0;
int result = 0;
byte read;
do {
read = readByte();
int value = (read & 0b01111111);
result |= (value << (7 * numRead));
numRead++;
if (numRead > 5) {
log.warn("VarInt is too big");
break;
}
} while ((read & 0b10000000) != 0);
return result;
}
@Override
public String readString() {
int size = readVarInt();
if (size == 0) {
log.warn("String zero length??");
return "";
}
byte[] bytes = new byte[size];
readBytes(bytes);
return new String(bytes, StandardCharsets.UTF_8);
}
@Override
public UUID readUUID() {
return new UUID(readLong(), readLong());
}
}

View File

@@ -1,37 +1,17 @@
/*
* DmitriyMX <dimon550@gmail.com>
* 2018-06-10
* 2018-07-25
*/
package mc.core.network.proto_1_12_2;
import lombok.extern.slf4j.Slf4j;
import mc.core.network.NetStream;
import mc.core.network.NetOutputStream;
import java.nio.charset.StandardCharsets;
import java.util.UUID;
@Slf4j
public abstract class NetStream_p340 extends NetStream {
@Override
public int readVarInt() {
int numRead = 0;
int result = 0;
byte read;
do {
read = readByte();
int value = (read & 0b01111111);
result |= (value << (7 * numRead));
numRead++;
if (numRead > 5) {
log.warn("VarInt is too big");
break;
}
} while ((read & 0b10000000) != 0);
return result;
}
public abstract class NetOutputStream_p340 extends NetOutputStream {
@Override
public void writeVarInt(int value) {
do {
@@ -45,19 +25,6 @@ public abstract class NetStream_p340 extends NetStream {
} while (value != 0);
}
@Override
public String readString() {
int size = readVarInt();
if (size == 0) {
log.warn("String zero length??");
return "";
}
byte[] bytes = new byte[size];
readBytes(bytes);
return new String(bytes, StandardCharsets.UTF_8);
}
@Override
public void writeString(String value) {
if (value.length() > Short.MAX_VALUE) {
@@ -72,11 +39,6 @@ public abstract class NetStream_p340 extends NetStream {
}
}
@Override
public UUID readUUID() {
return new UUID(readLong(), readLong());
}
@Override
public void writeUUID(UUID uuid) {
writeLong(uuid.getMostSignificantBits());

View File

@@ -5,13 +5,13 @@
package mc.core.network.proto_1_12_2.packets;
import mc.core.network.CSPacket;
import mc.core.network.NetStream;
import mc.core.network.NetInputStream;
public class AnimationPacket implements CSPacket {
private int handAnimation;
@Override
public void readSelf(NetStream netStream) {
public void readSelf(NetInputStream netStream) {
this.handAnimation = netStream.readVarInt();
}
}

View File

@@ -7,7 +7,7 @@ package mc.core.network.proto_1_12_2.packets;
import lombok.Data;
import lombok.Setter;
import lombok.ToString;
import mc.core.network.NetStream;
import mc.core.network.NetOutputStream;
import mc.core.network.SCPacket;
import mc.core.network.proto_1_12_2.serializers.TextSerializer;
import mc.core.text.Text;
@@ -63,7 +63,7 @@ public class BossBarPacket implements SCPacket {
private BarData barData;
@Override
public void writeSelf(NetStream netStream) {
public void writeSelf(NetOutputStream netStream) {
netStream.writeUUID(uuid);
netStream.writeVarInt(action);

View File

@@ -7,7 +7,7 @@ package mc.core.network.proto_1_12_2.packets;
import lombok.Getter;
import lombok.ToString;
import mc.core.network.CSPacket;
import mc.core.network.NetStream;
import mc.core.network.NetInputStream;
@Getter
@ToString
@@ -15,7 +15,7 @@ public class ChatMessageClientPacket implements CSPacket {
private String message;
@Override
public void readSelf(NetStream netStream) {
public void readSelf(NetInputStream netStream) {
this.message = netStream.readString();
}
}

View File

@@ -9,7 +9,7 @@ import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import mc.core.chat.MessageType;
import mc.core.network.NetStream;
import mc.core.network.NetOutputStream;
import mc.core.network.SCPacket;
import mc.core.network.proto_1_12_2.serializers.TextSerializer;
import mc.core.text.Text;
@@ -23,7 +23,7 @@ public class ChatMessageServerPacket implements SCPacket {
private MessageType type;
@Override
public void writeSelf(NetStream netStream) {
public void writeSelf(NetOutputStream netStream) {
netStream.writeString(TextSerializer.serialize(text).toString());
netStream.writeByte(type.getId());
}

View File

@@ -8,7 +8,7 @@ import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.ToString;
import mc.core.network.CSPacket;
import mc.core.network.NetStream;
import mc.core.network.NetInputStream;
@NoArgsConstructor
@Getter
@@ -28,7 +28,7 @@ public class ClientSettingsPacket implements CSPacket {
private int mainHand;
@Override
public void readSelf(NetStream netStream) {
public void readSelf(NetInputStream netStream) {
locale = netStream.readString();
viewDistance = netStream.readByte();
chatMode = netStream.readVarInt();

View File

@@ -7,7 +7,7 @@ package mc.core.network.proto_1_12_2.packets;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Setter;
import mc.core.network.NetStream;
import mc.core.network.NetOutputStream;
import mc.core.network.SCPacket;
import mc.core.network.proto_1_12_2.serializers.TextSerializer;
import mc.core.text.Text;
@@ -19,7 +19,7 @@ public class DisconnectPacket implements SCPacket {
private Text reason;
@Override
public void writeSelf(NetStream netStream) {
public void writeSelf(NetOutputStream netStream) {
netStream.writeString(TextSerializer.serialize(reason).toString());
}
}

View File

@@ -7,7 +7,7 @@ package mc.core.network.proto_1_12_2.packets;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Setter;
import mc.core.network.NetStream;
import mc.core.network.NetOutputStream;
import mc.core.network.SCPacket;
import java.security.PublicKey;
@@ -21,7 +21,7 @@ public class EncryptionRequestPacket implements SCPacket {
private byte[] verifyToken;
@Override
public void writeSelf(NetStream netStream) {
public void writeSelf(NetOutputStream netStream) {
netStream.writeString(serverId);
byte[] bytes = publicKey.getEncoded();
netStream.writeVarInt(bytes.length);

View File

@@ -8,7 +8,7 @@ import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.ToString;
import mc.core.network.CSPacket;
import mc.core.network.NetStream;
import mc.core.network.NetInputStream;
import mc.core.network.proto_1_12_2.State;
@NoArgsConstructor
@@ -21,7 +21,7 @@ public class HandshakePacket implements CSPacket {
private State nextState;
@Override
public void readSelf(NetStream netStream) {
public void readSelf(NetInputStream netStream) {
this.protocolVersion = netStream.readVarInt();
this.address = netStream.readString();
this.serverPort = netStream.readUnsignedShort();

View File

@@ -5,13 +5,13 @@
package mc.core.network.proto_1_12_2.packets;
import mc.core.network.CSPacket;
import mc.core.network.NetStream;
import mc.core.network.NetInputStream;
public class HeldItemChangePacket implements CSPacket {
private int slot;
@Override
public void readSelf(NetStream netStream) {
public void readSelf(NetInputStream netStream) {
this.slot = netStream.readShort();
}
}

View File

@@ -7,7 +7,7 @@ package mc.core.network.proto_1_12_2.packets;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import mc.core.network.NetStream;
import mc.core.network.NetOutputStream;
import mc.core.network.SCPacket;
import mc.core.player.PlayerMode;
@@ -22,7 +22,7 @@ public class JoinGamePacket implements SCPacket {
private String levelType;
@Override
public void writeSelf(NetStream netStream) {
public void writeSelf(NetOutputStream netStream) {
netStream.writeInt(entityId);
netStream.writeUnsignedByte(mode.getId());
netStream.writeInt(dimension);

View File

@@ -8,9 +8,7 @@ import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import mc.core.network.CSPacket;
import mc.core.network.NetStream;
import mc.core.network.SCPacket;
import mc.core.network.*;
@AllArgsConstructor
@NoArgsConstructor
@@ -20,12 +18,12 @@ public class KeepAlivePacket implements CSPacket, SCPacket {
private long payload;
@Override
public void readSelf(NetStream netStream) {
public void readSelf(NetInputStream netStream) {
this.payload = netStream.readLong();
}
@Override
public void writeSelf(NetStream netStream) {
public void writeSelf(NetOutputStream netStream) {
netStream.writeLong(this.payload);
}
}

View File

@@ -7,7 +7,7 @@ package mc.core.network.proto_1_12_2.packets;
import lombok.Getter;
import lombok.ToString;
import mc.core.network.CSPacket;
import mc.core.network.NetStream;
import mc.core.network.NetInputStream;
@Getter
@ToString
@@ -15,7 +15,7 @@ public class LoginStartPacket implements CSPacket {
private String playerName;
@Override
public void readSelf(NetStream netStream) {
public void readSelf(NetInputStream netStream) {
this.playerName = netStream.readString();
}
}

View File

@@ -8,7 +8,7 @@ import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import mc.core.network.NetStream;
import mc.core.network.NetOutputStream;
import mc.core.network.SCPacket;
import java.util.UUID;
@@ -22,7 +22,7 @@ public class LoginSuccessPacket implements SCPacket {
private String playerName;
@Override
public void writeSelf(NetStream netStream) {
public void writeSelf(NetOutputStream netStream) {
netStream.writeString(uuid.toString());
netStream.writeString(playerName);
}

View File

@@ -5,21 +5,19 @@
package mc.core.network.proto_1_12_2.packets;
import lombok.ToString;
import mc.core.network.CSPacket;
import mc.core.network.NetStream;
import mc.core.network.SCPacket;
import mc.core.network.*;
@ToString
public class PingPacket implements CSPacket, SCPacket {
private long payload;
@Override
public void readSelf(NetStream netStream) {
public void readSelf(NetInputStream netStream) {
this.payload = netStream.readLong();
}
@Override
public void writeSelf(NetStream netStream) {
public void writeSelf(NetOutputStream netStream) {
netStream.writeLong(payload);
}
}

View File

@@ -7,7 +7,7 @@ package mc.core.network.proto_1_12_2.packets;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import mc.core.network.NetStream;
import mc.core.network.NetOutputStream;
import mc.core.network.SCPacket;
@NoArgsConstructor
@@ -22,7 +22,7 @@ public class PlayerAbilitiesPacket implements SCPacket {
private float fieldOfView = flyingSpeed;
@Override
public void writeSelf(NetStream netStream) {
public void writeSelf(NetOutputStream netStream) {
byte flag = 0;
if (godMode) flag = (byte)(flag | 0x01);
if (flying) flag = (byte)(flag | 0x02);

View File

@@ -6,7 +6,7 @@ package mc.core.network.proto_1_12_2.packets;
import lombok.Setter;
import lombok.ToString;
import mc.core.network.NetStream;
import mc.core.network.NetOutputStream;
import mc.core.network.SCPacket;
import mc.core.network.proto_1_12_2.serializers.TextSerializer;
import mc.core.text.Text;
@@ -19,7 +19,7 @@ public class PlayerListHeaderAndFooterPacket implements SCPacket {
private Text footer;
@Override
public void writeSelf(NetStream netStream) {
public void writeSelf(NetOutputStream netStream) {
if (header == null) {
netStream.writeString("{\"translate\":\"\"}");
} else {

View File

@@ -9,7 +9,7 @@ import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.extern.slf4j.Slf4j;
import mc.core.network.NetStream;
import mc.core.network.NetOutputStream;
import mc.core.network.SCPacket;
import mc.core.network.proto_1_12_2.serializers.TextSerializer;
import mc.core.player.PlayerMode;
@@ -44,7 +44,7 @@ public class PlayerListItemPacket implements SCPacket {
private List<PlayerData> listPlayers = new ArrayList<>();
@Override
public void writeSelf(NetStream netStream) {
public void writeSelf(NetOutputStream netStream) {
netStream.writeVarInt(action);
netStream.writeVarInt(listPlayers.size());

View File

@@ -9,9 +9,7 @@ import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import mc.core.Location;
import mc.core.network.CSPacket;
import mc.core.network.NetStream;
import mc.core.network.SCPacket;
import mc.core.network.*;
import mc.core.player.Look;
@NoArgsConstructor
@@ -25,7 +23,7 @@ public class PlayerPositionAndLookPacket implements SCPacket, CSPacket {
private boolean onGround = false;
@Override
public void writeSelf(NetStream netStream) {
public void writeSelf(NetOutputStream netStream) {
netStream.writeDouble(location.getX());
netStream.writeDouble(location.getY());
netStream.writeDouble(location.getZ());
@@ -42,7 +40,7 @@ public class PlayerPositionAndLookPacket implements SCPacket, CSPacket {
}
@Override
public void readSelf(NetStream netStream) {
public void readSelf(NetInputStream netStream) {
this.location = new Location(
netStream.readDouble(),
netStream.readDouble(),

View File

@@ -5,9 +5,7 @@
package mc.core.network.proto_1_12_2.packets;
import lombok.*;
import mc.core.network.CSPacket;
import mc.core.network.NetStream;
import mc.core.network.SCPacket;
import mc.core.network.*;
@AllArgsConstructor
@NoArgsConstructor
@@ -19,14 +17,14 @@ public class PluginMessagePacket implements SCPacket, CSPacket {
private byte[] data;
@Override
public void readSelf(NetStream netStream) {
public void readSelf(NetInputStream netStream) {
channelName = netStream.readString();
data = new byte[netStream.getDataSize() - channelName.getBytes().length - 1];
netStream.readBytes(data);
}
@Override
public void writeSelf(NetStream netStream) {
public void writeSelf(NetOutputStream netStream) {
netStream.writeString(channelName);
netStream.writeBytes(data);
}

View File

@@ -9,7 +9,7 @@ import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import mc.core.Location;
import mc.core.network.NetStream;
import mc.core.network.NetOutputStream;
import mc.core.network.SCPacket;
import mc.core.network.proto_1_12_2.serializers.LocationSerializer;
@@ -21,7 +21,7 @@ public class SpawnPositionPacket implements SCPacket {
private Location location;
@Override
public void writeSelf(NetStream netStream) {
public void writeSelf(NetOutputStream netStream) {
netStream.writeLong(LocationSerializer.serialize(location));
}
}

View File

@@ -6,11 +6,11 @@ package mc.core.network.proto_1_12_2.packets;
import lombok.ToString;
import mc.core.network.CSPacket;
import mc.core.network.NetStream;
import mc.core.network.NetInputStream;
@ToString
public class StatusRequestPacket implements CSPacket {
@Override
public void readSelf(NetStream netStream) {
public void readSelf(NetInputStream netStream) {
}
}

View File

@@ -7,7 +7,7 @@ package mc.core.network.proto_1_12_2.packets;
import com.google.gson.JsonObject;
import lombok.Setter;
import lombok.ToString;
import mc.core.network.NetStream;
import mc.core.network.NetOutputStream;
import mc.core.network.SCPacket;
@Setter
@@ -29,7 +29,7 @@ public class StatusResponsePacket implements SCPacket {
private byte[] faviconBase64;
@Override
public void writeSelf(NetStream netStream) {
public void writeSelf(NetOutputStream netStream) {
JsonObject playersObj = new JsonObject();
playersObj.addProperty("max", maxOnline);
playersObj.addProperty("online", online);

View File

@@ -6,7 +6,7 @@ package mc.core.network.proto_1_12_2.packets;
import mc.core.Location;
import mc.core.network.CSPacket;
import mc.core.network.NetStream;
import mc.core.network.NetInputStream;
import mc.core.network.proto_1_12_2.serializers.LocationSerializer;
public class TabCompletePacket implements CSPacket {
@@ -16,7 +16,7 @@ public class TabCompletePacket implements CSPacket {
private Location location;
@Override
public void readSelf(NetStream netStream) {
public void readSelf(NetInputStream netStream) {
this.text = netStream.readString();
this.assumeCommand = netStream.readBoolean();
this.hasPosition = netStream.readBoolean();

View File

@@ -7,7 +7,7 @@ package mc.core.network.proto_1_12_2.packets;
import lombok.Getter;
import lombok.ToString;
import mc.core.network.CSPacket;
import mc.core.network.NetStream;
import mc.core.network.NetInputStream;
@Getter
@ToString
@@ -15,7 +15,7 @@ public class TeleportConfirmPacket implements CSPacket {
private int teleportId;
@Override
public void readSelf(NetStream netStream) {
public void readSelf(NetInputStream netStream) {
teleportId = netStream.readVarInt();
}
}

View File

@@ -8,7 +8,7 @@ import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import mc.core.network.NetStream;
import mc.core.network.NetOutputStream;
import mc.core.network.SCPacket;
@AllArgsConstructor
@@ -20,7 +20,7 @@ public class TimeUpdatePacket implements SCPacket {
private long worldage;
@Override
public void writeSelf(NetStream netStream) {
public void writeSelf(NetOutputStream netStream) {
netStream.writeLong(worldage);
netStream.writeLong(time);
}

View File

@@ -7,7 +7,7 @@ package mc.core.network.proto_1_12_2.packets;
import lombok.RequiredArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import mc.core.network.NetStream;
import mc.core.network.NetOutputStream;
import mc.core.network.SCPacket;
import mc.core.network.proto_1_12_2.serializers.TextSerializer;
import mc.core.text.Text;
@@ -91,7 +91,7 @@ public class TitlePacket implements SCPacket {
}
@Override
public void writeSelf(NetStream netStream) {
public void writeSelf(NetOutputStream netStream) {
netStream.writeVarInt(this.action);
switch (this.action) {

View File

@@ -9,9 +9,9 @@ import io.netty.channel.ChannelHandlerContext;
import io.netty.handler.codec.ByteToMessageDecoder;
import lombok.extern.slf4j.Slf4j;
import mc.core.network.CSPacket;
import mc.core.network.NetStream;
import mc.core.network.NetInputStream;
import mc.core.network.proto_1_12_2.State;
import mc.core.network.proto_1_12_2.netty.wrappers.WrapperNetStream;
import mc.core.network.proto_1_12_2.netty.wrappers.WrapperNetInputStream;
import java.util.List;
@@ -36,7 +36,7 @@ public class PacketDecoder extends ByteToMessageDecoder {
log.debug("ByteBuf readableBytes: {}", in.readableBytes());
State state = ctx.channel().attr(ATTR_STATE).get();
NetStream netStream = new WrapperNetStream(in);
NetInputStream netStream = new WrapperNetInputStream(in);
int packetSize = netStream.readVarInt();
log.debug("Packet size: {}", packetSize);

View File

@@ -8,11 +8,11 @@ import io.netty.buffer.ByteBuf;
import io.netty.channel.ChannelHandlerContext;
import io.netty.handler.codec.MessageToByteEncoder;
import lombok.extern.slf4j.Slf4j;
import mc.core.network.NetStream;
import mc.core.network.NetOutputStream;
import mc.core.network.SCPacket;
import mc.core.network.proto_1_12_2.State;
import mc.core.network.proto_1_12_2.netty.wrappers.ByteArrayOutputNetStream;
import mc.core.network.proto_1_12_2.netty.wrappers.WrapperNetStream;
import mc.core.network.proto_1_12_2.netty.wrappers.WrapperNetOutputStream;
import static mc.core.network.proto_1_12_2.netty.NettyServer.ATTR_STATE;
@@ -41,10 +41,10 @@ public class PacketEncoder extends MessageToByteEncoder<SCPacket> {
log.debug("Send {}:{}", state, packet);
NetStream netStream = new ByteArrayOutputNetStream();
NetOutputStream netStream = new ByteArrayOutputNetStream();
packet.writeSelf(netStream);
byte[] bytes = ((ByteArrayOutputNetStream) netStream).toByteArray();
netStream = new WrapperNetStream(out);
netStream = new WrapperNetOutputStream(out);
netStream.writeVarInt(bytes.length + sizeVarInt(id));
netStream.writeVarInt(id);

View File

@@ -4,63 +4,13 @@
*/
package mc.core.network.proto_1_12_2.netty.wrappers;
import mc.core.network.proto_1_12_2.NetStream_p340;
import mc.core.network.proto_1_12_2.NetOutputStream_p340;
import java.io.ByteArrayOutputStream;
public class ByteArrayOutputNetStream extends NetStream_p340 {
public class ByteArrayOutputNetStream extends NetOutputStream_p340 {
private ByteArrayOutputStream baos = new ByteArrayOutputStream();
@Override
public boolean readBoolean() {
throw new UnsupportedOperationException();
}
@Override
public byte readByte() {
throw new UnsupportedOperationException();
}
@Override
public void readBytes(byte[] buffer) {
throw new UnsupportedOperationException();
}
@Override
public int readUnsignedByte() {
throw new UnsupportedOperationException();
}
@Override
public int readUnsignedShort() {
throw new UnsupportedOperationException();
}
@Override
public short readShort() {
throw new UnsupportedOperationException();
}
@Override
public int readInt() {
throw new UnsupportedOperationException();
}
@Override
public long readLong() {
throw new UnsupportedOperationException();
}
@Override
public float readFloat() {
throw new UnsupportedOperationException();
}
@Override
public double readDouble() {
throw new UnsupportedOperationException();
}
@Override
public void writeBoolean(boolean value) {
baos.write(value ? 1 : 0);
@@ -117,11 +67,6 @@ public class ByteArrayOutputNetStream extends NetStream_p340 {
writeLong(Double.doubleToLongBits(value));
}
@Override
public void skipBytes(int count) {
throw new UnsupportedOperationException();
}
public byte[] toByteArray() {
return baos.toByteArray();
}

View File

@@ -1,17 +1,17 @@
/*
* DmitriyMX <dimon550@gmail.com>
* 2018-04-08
* 2018-07-25
*/
package mc.core.network.proto_1_12_2.netty.wrappers;
import io.netty.buffer.ByteBuf;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import mc.core.network.proto_1_12_2.NetStream_p340;
import mc.core.network.proto_1_12_2.NetInputStream_p340;
@Slf4j
@RequiredArgsConstructor
public class WrapperNetStream extends NetStream_p340 {
public class WrapperNetInputStream extends NetInputStream_p340 {
private final ByteBuf byteBuf;
@Override
@@ -64,51 +64,6 @@ public class WrapperNetStream extends NetStream_p340 {
return byteBuf.readDouble();
}
@Override
public void writeBoolean(boolean value) {
byteBuf.writeBoolean(value);
}
@Override
public void writeByte(int value) {
byteBuf.writeByte(value);
}
@Override
public void writeUnsignedByte(int value) {
byteBuf.writeByte((byte)(value & 0xFF));
}
@Override
public void writeBytes(byte[] buffer) {
byteBuf.writeBytes(buffer);
}
@Override
public void writeShort(int value) {
byteBuf.writeShort(value);
}
@Override
public void writeInt(int value) {
byteBuf.writeInt(value);
}
@Override
public void writeLong(long value) {
byteBuf.writeLong(value);
}
@Override
public void writeFloat(float value) {
byteBuf.writeFloat(value);
}
@Override
public void writeDouble(double value) {
byteBuf.writeDouble(value);
}
@Override
public void skipBytes(int count) {
byteBuf.skipBytes(count);

View File

@@ -0,0 +1,61 @@
/*
* DmitriyMX <dimon550@gmail.com>
* 2018-07-25
*/
package mc.core.network.proto_1_12_2.netty.wrappers;
import io.netty.buffer.ByteBuf;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import mc.core.network.proto_1_12_2.NetOutputStream_p340;
@Slf4j
@RequiredArgsConstructor
public class WrapperNetOutputStream extends NetOutputStream_p340 {
private final ByteBuf byteBuf;
@Override
public void writeBoolean(boolean value) {
byteBuf.writeBoolean(value);
}
@Override
public void writeByte(int value) {
byteBuf.writeByte(value);
}
@Override
public void writeUnsignedByte(int value) {
byteBuf.writeByte((byte)(value & 0xFF));
}
@Override
public void writeBytes(byte[] buffer) {
byteBuf.writeBytes(buffer);
}
@Override
public void writeShort(int value) {
byteBuf.writeShort(value);
}
@Override
public void writeInt(int value) {
byteBuf.writeInt(value);
}
@Override
public void writeLong(long value) {
byteBuf.writeLong(value);
}
@Override
public void writeFloat(float value) {
byteBuf.writeFloat(value);
}
@Override
public void writeDouble(double value) {
byteBuf.writeDouble(value);
}
}