Archived
0

Добавил еще пяток пакетов, но без обработчика

This commit is contained in:
2018-06-17 15:04:33 +03:00
parent 8ac011f8f6
commit dacefb5f66
6 changed files with 106 additions and 1 deletions

View File

@@ -45,8 +45,13 @@ public enum State {
PLAY(3,
ImmutableBiMap.<Integer, Class<? extends CSPacket>>builder()
.put(0x00, TeleportConfirmPacket.class)
.put(0x01, TabCompletePacket.class)
.put(0x02, ChatMessagePacket.class)
.put(0x04, ClientSettingsPacket.class)
.put(0x09, PluginMessagePacket.class)
.put(0x0E, PlayerPositionAndLookPacket.class)
.put(0x1A, HeldItemChangePacket.class)
.put(0x1D, AnimationPacket.class)
.build(),
ImmutableBiMap.<Class<? extends SCPacket>, Integer>builder()
.put(PluginMessagePacket.class, 0x18)

View File

@@ -0,0 +1,17 @@
/*
* DmitriyMX <dimon550@gmail.com>
* 2018-06-17
*/
package mc.core.network.proto_1_12_2.packets;
import mc.core.network.CSPacket;
import mc.core.network.NetStream;
public class AnimationPacket implements CSPacket {
private int handAnimation;
@Override
public void readSelf(NetStream netStream) {
this.handAnimation = netStream.readVarInt();
}
}

View File

@@ -0,0 +1,17 @@
/*
* DmitriyMX <dimon550@gmail.com>
* 2018-06-17
*/
package mc.core.network.proto_1_12_2.packets;
import mc.core.network.CSPacket;
import mc.core.network.NetStream;
public class ChatMessagePacket implements CSPacket {
private String message;
@Override
public void readSelf(NetStream netStream) {
this.message = netStream.readString();
}
}

View File

@@ -0,0 +1,17 @@
/*
* DmitriyMX <dimon550@gmail.com>
* 2018-06-17
*/
package mc.core.network.proto_1_12_2.packets;
import mc.core.network.CSPacket;
import mc.core.network.NetStream;
public class HeldItemChangePacket implements CSPacket {
private int slot;
@Override
public void readSelf(NetStream netStream) {
this.slot = netStream.readShort();
}
}

View File

@@ -4,9 +4,11 @@
*/
package mc.core.network.proto_1_12_2.packets;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import mc.core.Location;
import mc.core.network.CSPacket;
import mc.core.network.NetStream;
import mc.core.network.SCPacket;
import mc.core.player.Look;
@@ -14,11 +16,13 @@ import mc.core.player.Look;
import java.util.Random;
@NoArgsConstructor
@Getter
@Setter
public class PlayerPositionAndLookPacket implements SCPacket {
public class PlayerPositionAndLookPacket implements SCPacket, CSPacket {
private static Random RANDOM = new Random();
private Location location;
private Look look;
private boolean onGround = false;
@Override
public void writeSelf(NetStream netStream) {
@@ -34,6 +38,23 @@ public class PlayerPositionAndLookPacket implements SCPacket {
* Y_ROT - 0x08
* X_ROT - 0x10
*/
//FIXME teleport id
netStream.writeVarInt(RANDOM.nextInt()); // Client should confirm this packet with Teleport Confirm containing the same Teleport ID
}
@Override
public void readSelf(NetStream netStream) {
this.location = new Location(
netStream.readDouble(),
netStream.readDouble(),
netStream.readDouble()
);
this.look = new Look(
netStream.readFloat(),
netStream.readFloat()
);
this.onGround = netStream.readBoolean();
}
}

View File

@@ -0,0 +1,28 @@
/*
* DmitriyMX <dimon550@gmail.com>
* 2018-06-17
*/
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.proto_1_12_2.serializers.LocationSerializer;
public class TabCompletePacket implements CSPacket {
private String text;
private boolean assumeCommand;
private boolean hasPosition;
private Location location;
@Override
public void readSelf(NetStream netStream) {
this.text = netStream.readString();
this.assumeCommand = netStream.readBoolean();
this.hasPosition = netStream.readBoolean();
if (this.hasPosition) {
this.location = LocationSerializer.deserialize(netStream.readLong());
}
}
}