Archived
0

Обновляем пакеты

This commit is contained in:
2018-06-14 10:32:49 +03:00
parent 3448626929
commit e777b8f518
12 changed files with 26 additions and 56 deletions

View File

@@ -7,8 +7,8 @@ package mc.core.network.proto_1_12_2.packets;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.Setter; import lombok.Setter;
import mc.core.network.NetStream;
import mc.core.network.SCPacket; import mc.core.network.SCPacket;
import mc.core.network.proto_1_12_2.ByteArrayOutputNetStream;
import mc.core.network.proto_1_12_2.serializers.TextSerializer; import mc.core.network.proto_1_12_2.serializers.TextSerializer;
import mc.core.text.Text; import mc.core.text.Text;
@@ -19,9 +19,7 @@ public class DisconnectPacket implements SCPacket {
private Text reason; private Text reason;
@Override @Override
public byte[] toByteArray() { public void writeSelf(NetStream netStream) {
ByteArrayOutputNetStream netStream = new ByteArrayOutputNetStream();
netStream.writeString(TextSerializer.serialize(reason).toString()); netStream.writeString(TextSerializer.serialize(reason).toString());
return netStream.toByteArray();
} }
} }

View File

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

View File

@@ -6,8 +6,8 @@ package mc.core.network.proto_1_12_2.packets;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.Setter; import lombok.Setter;
import mc.core.network.NetStream;
import mc.core.network.SCPacket; import mc.core.network.SCPacket;
import mc.core.network.proto_1_12_2.ByteArrayOutputNetStream;
import mc.core.player.PlayerMode; import mc.core.player.PlayerMode;
@NoArgsConstructor @NoArgsConstructor
@@ -20,9 +20,7 @@ public class JoinGamePacket implements SCPacket {
private String levelType; private String levelType;
@Override @Override
public byte[] toByteArray() { public void writeSelf(NetStream netStream) {
ByteArrayOutputNetStream netStream = new ByteArrayOutputNetStream();
netStream.writeInt(entityId); netStream.writeInt(entityId);
netStream.writeUnsignedByte(mode.getId()); netStream.writeUnsignedByte(mode.getId());
netStream.writeInt(dimension); netStream.writeInt(dimension);
@@ -30,7 +28,5 @@ public class JoinGamePacket implements SCPacket {
netStream.writeUnsignedByte(0); // Max Players, unused netStream.writeUnsignedByte(0); // Max Players, unused
netStream.writeString(levelType); netStream.writeString(levelType);
netStream.writeBoolean(false); // Reduced Debug Info netStream.writeBoolean(false); // Reduced Debug Info
return netStream.toByteArray();
} }
} }

View File

@@ -7,8 +7,8 @@ package mc.core.network.proto_1_12_2.packets;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.Setter; import lombok.Setter;
import mc.core.network.NetStream;
import mc.core.network.SCPacket; import mc.core.network.SCPacket;
import mc.core.network.proto_1_12_2.ByteArrayOutputNetStream;
import java.util.UUID; import java.util.UUID;
@@ -20,12 +20,8 @@ public class LoginSuccessPacket implements SCPacket {
private String playerName; private String playerName;
@Override @Override
public byte[] toByteArray() { public void writeSelf(NetStream netStream) {
ByteArrayOutputNetStream netStream = new ByteArrayOutputNetStream();
netStream.writeString(uuid.toString()); netStream.writeString(uuid.toString());
netStream.writeString(playerName); netStream.writeString(playerName);
return netStream.toByteArray();
} }
} }

View File

@@ -8,7 +8,6 @@ import lombok.ToString;
import mc.core.network.CSPacket; import mc.core.network.CSPacket;
import mc.core.network.NetStream; import mc.core.network.NetStream;
import mc.core.network.SCPacket; import mc.core.network.SCPacket;
import mc.core.network.proto_1_12_2.ByteArrayOutputNetStream;
@ToString @ToString
public class PingPacket implements CSPacket, SCPacket { public class PingPacket implements CSPacket, SCPacket {
@@ -20,9 +19,7 @@ public class PingPacket implements CSPacket, SCPacket {
} }
@Override @Override
public byte[] toByteArray() { public void writeSelf(NetStream netStream) {
ByteArrayOutputNetStream netStream = new ByteArrayOutputNetStream();
netStream.writeLong(payload); netStream.writeLong(payload);
return netStream.toByteArray();
} }
} }

View File

@@ -6,8 +6,8 @@ package mc.core.network.proto_1_12_2.packets;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.Setter; import lombok.Setter;
import mc.core.network.NetStream;
import mc.core.network.SCPacket; import mc.core.network.SCPacket;
import mc.core.network.proto_1_12_2.ByteArrayOutputNetStream;
@NoArgsConstructor @NoArgsConstructor
@Setter @Setter
@@ -20,9 +20,7 @@ public class PlayerAbilitiesPacket implements SCPacket {
private float fieldOfView = flyingSpeed; private float fieldOfView = flyingSpeed;
@Override @Override
public byte[] toByteArray() { public void writeSelf(NetStream netStream) {
ByteArrayOutputNetStream netStream = new ByteArrayOutputNetStream();
byte flag = 0; byte flag = 0;
if (godMode) flag = (byte)(flag | 0x01); if (godMode) flag = (byte)(flag | 0x01);
if (flying) flag = (byte)(flag | 0x02); if (flying) flag = (byte)(flag | 0x02);
@@ -32,7 +30,5 @@ public class PlayerAbilitiesPacket implements SCPacket {
netStream.writeByte(flag); netStream.writeByte(flag);
netStream.writeFloat(flyingSpeed); netStream.writeFloat(flyingSpeed);
netStream.writeFloat(fieldOfView); netStream.writeFloat(fieldOfView);
return netStream.toByteArray();
} }
} }

View File

@@ -7,8 +7,8 @@ package mc.core.network.proto_1_12_2.packets;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.Setter; import lombok.Setter;
import mc.core.Location; import mc.core.Location;
import mc.core.network.NetStream;
import mc.core.network.SCPacket; import mc.core.network.SCPacket;
import mc.core.network.proto_1_12_2.ByteArrayOutputNetStream;
import mc.core.player.Look; import mc.core.player.Look;
import java.util.Random; import java.util.Random;
@@ -21,9 +21,7 @@ public class PlayerPositionAndLookPacket implements SCPacket {
private Look look; private Look look;
@Override @Override
public byte[] toByteArray() { public void writeSelf(NetStream netStream) {
ByteArrayOutputNetStream netStream = new ByteArrayOutputNetStream();
netStream.writeDouble(location.getX()); netStream.writeDouble(location.getX());
netStream.writeDouble(location.getY()); netStream.writeDouble(location.getY());
netStream.writeDouble(location.getZ()); netStream.writeDouble(location.getZ());
@@ -37,7 +35,5 @@ public class PlayerPositionAndLookPacket implements SCPacket {
* X_ROT - 0x10 * X_ROT - 0x10
*/ */
netStream.writeVarInt(RANDOM.nextInt()); // Client should confirm this packet with Teleport Confirm containing the same Teleport ID netStream.writeVarInt(RANDOM.nextInt()); // Client should confirm this packet with Teleport Confirm containing the same Teleport ID
return netStream.toByteArray();
} }
} }

View File

@@ -8,7 +8,6 @@ import lombok.*;
import mc.core.network.CSPacket; import mc.core.network.CSPacket;
import mc.core.network.NetStream; import mc.core.network.NetStream;
import mc.core.network.SCPacket; import mc.core.network.SCPacket;
import mc.core.network.proto_1_12_2.ByteArrayOutputNetStream;
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
@@ -27,12 +26,8 @@ public class PluginMessagePacket implements SCPacket, CSPacket {
} }
@Override @Override
public byte[] toByteArray() { public void writeSelf(NetStream netStream) {
ByteArrayOutputNetStream netStream = new ByteArrayOutputNetStream();
netStream.writeString(channelName); netStream.writeString(channelName);
netStream.writeBytes(data); netStream.writeBytes(data);
return netStream.toByteArray();
} }
} }

View File

@@ -8,8 +8,8 @@ import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.Setter; import lombok.Setter;
import mc.core.Location; import mc.core.Location;
import mc.core.network.NetStream;
import mc.core.network.SCPacket; import mc.core.network.SCPacket;
import mc.core.network.proto_1_12_2.ByteArrayOutputNetStream;
import mc.core.network.proto_1_12_2.serializers.LocationSerializer; import mc.core.network.proto_1_12_2.serializers.LocationSerializer;
@AllArgsConstructor @AllArgsConstructor
@@ -19,9 +19,7 @@ public class SpawnPositionPacket implements SCPacket {
private Location location; private Location location;
@Override @Override
public byte[] toByteArray() { public void writeSelf(NetStream netStream) {
ByteArrayOutputNetStream netStream = new ByteArrayOutputNetStream();
netStream.writeLong(LocationSerializer.serialize(location)); netStream.writeLong(LocationSerializer.serialize(location));
return netStream.toByteArray();
} }
} }

View File

@@ -7,8 +7,8 @@ package mc.core.network.proto_1_12_2.packets;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
import lombok.Setter; import lombok.Setter;
import lombok.ToString; import lombok.ToString;
import mc.core.network.NetStream;
import mc.core.network.SCPacket; import mc.core.network.SCPacket;
import mc.core.network.proto_1_12_2.ByteArrayOutputNetStream;
@Setter @Setter
@ToString @ToString
@@ -27,9 +27,7 @@ public class StatusResponsePacket implements SCPacket {
private byte[] faviconBase64; private byte[] faviconBase64;
@Override @Override
public byte[] toByteArray() { public void writeSelf(NetStream netStream) {
ByteArrayOutputNetStream netStream = new ByteArrayOutputNetStream();
JsonObject playersObj = new JsonObject(); JsonObject playersObj = new JsonObject();
playersObj.addProperty("max", maxOnline); playersObj.addProperty("max", maxOnline);
playersObj.addProperty("online", online); playersObj.addProperty("online", online);
@@ -49,6 +47,5 @@ public class StatusResponsePacket implements SCPacket {
} }
netStream.writeString(rootObj.toString()); netStream.writeString(rootObj.toString());
return netStream.toByteArray();
} }
} }

View File

@@ -10,6 +10,7 @@ import io.netty.handler.codec.MessageToByteEncoder;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import mc.core.network.NetStream; import mc.core.network.NetStream;
import mc.core.network.SCPacket; import mc.core.network.SCPacket;
import mc.core.network.proto_1_12_2.netty.wrappers.ByteArrayOutputNetStream;
import mc.core.network.proto_1_12_2.State; 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.WrapperNetStream;
@@ -38,8 +39,10 @@ public class PacketEncoder extends MessageToByteEncoder<SCPacket> {
return; return;
} }
byte[] bytes = packet.toByteArray(); NetStream netStream = new ByteArrayOutputNetStream();
NetStream netStream = new WrapperNetStream(out); packet.writeSelf(netStream);
byte[] bytes = ((ByteArrayOutputNetStream) netStream).toByteArray();
netStream = new WrapperNetStream(out);
netStream.writeVarInt(bytes.length + sizeVarInt(id)); netStream.writeVarInt(bytes.length + sizeVarInt(id));
netStream.writeVarInt(id); netStream.writeVarInt(id);

View File

@@ -2,7 +2,9 @@
* DmitriyMX <dimon550@gmail.com> * DmitriyMX <dimon550@gmail.com>
* 2018-06-10 * 2018-06-10
*/ */
package mc.core.network.proto_1_12_2; package mc.core.network.proto_1_12_2.netty.wrappers;
import mc.core.network.proto_1_12_2.NetStream_p340;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;