mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-09 07:20:04 -04:00
time update, keep alive packet
This commit is contained in:
parent
3d5a1249da
commit
38843dedde
@ -0,0 +1,36 @@
|
||||
package de.bixilon.minosoft.protocol.packets.clientbound.play;
|
||||
|
||||
import de.bixilon.minosoft.logging.Log;
|
||||
import de.bixilon.minosoft.protocol.packets.ClientboundPacket;
|
||||
import de.bixilon.minosoft.protocol.protocol.InPacketBuffer;
|
||||
import de.bixilon.minosoft.protocol.protocol.PacketHandler;
|
||||
import de.bixilon.minosoft.protocol.protocol.ProtocolVersion;
|
||||
|
||||
public class PacketKeepAlive implements ClientboundPacket {
|
||||
int id;
|
||||
|
||||
|
||||
@Override
|
||||
public void read(InPacketBuffer buffer, ProtocolVersion v) {
|
||||
switch (v) {
|
||||
case VERSION_1_7_10:
|
||||
id = buffer.readInteger();
|
||||
break;
|
||||
}
|
||||
log();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void log() {
|
||||
Log.protocol(String.format("Keep alive packet received (%s)", id));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handle(PacketHandler h) {
|
||||
h.handle(this);
|
||||
}
|
||||
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
package de.bixilon.minosoft.protocol.packets.clientbound.play;
|
||||
|
||||
import de.bixilon.minosoft.logging.Log;
|
||||
import de.bixilon.minosoft.protocol.packets.ClientboundPacket;
|
||||
import de.bixilon.minosoft.protocol.protocol.InPacketBuffer;
|
||||
import de.bixilon.minosoft.protocol.protocol.PacketHandler;
|
||||
import de.bixilon.minosoft.protocol.protocol.ProtocolVersion;
|
||||
|
||||
public class PacketTimeUpdate implements ClientboundPacket {
|
||||
long worldAge;
|
||||
long timeOfDay;
|
||||
|
||||
|
||||
@Override
|
||||
public void read(InPacketBuffer buffer, ProtocolVersion v) {
|
||||
switch (v) {
|
||||
case VERSION_1_7_10:
|
||||
worldAge = buffer.readLong();
|
||||
timeOfDay = buffer.readLong();
|
||||
break;
|
||||
}
|
||||
log();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void log() {
|
||||
Log.protocol(String.format("Time Update packet received. Time is now %st (total %st)", timeOfDay, worldAge));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handle(PacketHandler h) {
|
||||
h.handle(this);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,34 @@
|
||||
package de.bixilon.minosoft.protocol.packets.serverbound.play;
|
||||
|
||||
import de.bixilon.minosoft.logging.Log;
|
||||
import de.bixilon.minosoft.protocol.packets.ServerboundPacket;
|
||||
import de.bixilon.minosoft.protocol.protocol.OutPacketBuffer;
|
||||
import de.bixilon.minosoft.protocol.protocol.Packets;
|
||||
import de.bixilon.minosoft.protocol.protocol.ProtocolVersion;
|
||||
|
||||
public class PacketKeepAliveResponse implements ServerboundPacket {
|
||||
|
||||
private final int id;
|
||||
|
||||
public PacketKeepAliveResponse(int id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public OutPacketBuffer write(ProtocolVersion v) {
|
||||
log();
|
||||
OutPacketBuffer buffer = new OutPacketBuffer(v.getPacketCommand(Packets.Serverbound.LOGIN_LOGIN_START));
|
||||
switch (v) {
|
||||
case VERSION_1_7_10:
|
||||
buffer.writeInteger(id);
|
||||
break;
|
||||
}
|
||||
return buffer;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void log() {
|
||||
Log.protocol(String.format("Sending keep alive back (%s)", id));
|
||||
}
|
||||
}
|
@ -6,10 +6,13 @@ import de.bixilon.minosoft.protocol.packets.clientbound.login.PacketEncryptionKe
|
||||
import de.bixilon.minosoft.protocol.packets.clientbound.login.PacketLoginDisconnect;
|
||||
import de.bixilon.minosoft.protocol.packets.clientbound.login.PacketLoginSuccess;
|
||||
import de.bixilon.minosoft.protocol.packets.clientbound.play.PacketJoinGame;
|
||||
import de.bixilon.minosoft.protocol.packets.clientbound.play.PacketKeepAlive;
|
||||
import de.bixilon.minosoft.protocol.packets.clientbound.play.PacketPlayerInfo;
|
||||
import de.bixilon.minosoft.protocol.packets.clientbound.play.PacketTimeUpdate;
|
||||
import de.bixilon.minosoft.protocol.packets.clientbound.status.PacketStatusPong;
|
||||
import de.bixilon.minosoft.protocol.packets.clientbound.status.PacketStatusResponse;
|
||||
import de.bixilon.minosoft.protocol.packets.serverbound.login.PacketEncryptionResponse;
|
||||
import de.bixilon.minosoft.protocol.packets.serverbound.play.PacketKeepAliveResponse;
|
||||
|
||||
import javax.crypto.SecretKey;
|
||||
import java.math.BigInteger;
|
||||
@ -58,4 +61,11 @@ public class PacketHandler {
|
||||
|
||||
public void handle(PacketPlayerInfo pkg) {
|
||||
}
|
||||
|
||||
public void handle(PacketTimeUpdate pkg) {
|
||||
}
|
||||
|
||||
public void handle(PacketKeepAlive pkg) {
|
||||
connection.sendPacket(new PacketKeepAliveResponse(pkg.getId()));
|
||||
}
|
||||
}
|
||||
|
@ -5,7 +5,9 @@ import de.bixilon.minosoft.protocol.packets.clientbound.login.PacketEncryptionKe
|
||||
import de.bixilon.minosoft.protocol.packets.clientbound.login.PacketLoginDisconnect;
|
||||
import de.bixilon.minosoft.protocol.packets.clientbound.login.PacketLoginSuccess;
|
||||
import de.bixilon.minosoft.protocol.packets.clientbound.play.PacketJoinGame;
|
||||
import de.bixilon.minosoft.protocol.packets.clientbound.play.PacketKeepAlive;
|
||||
import de.bixilon.minosoft.protocol.packets.clientbound.play.PacketPlayerInfo;
|
||||
import de.bixilon.minosoft.protocol.packets.clientbound.play.PacketTimeUpdate;
|
||||
import de.bixilon.minosoft.protocol.packets.clientbound.status.PacketStatusPong;
|
||||
import de.bixilon.minosoft.protocol.packets.clientbound.status.PacketStatusResponse;
|
||||
|
||||
@ -37,5 +39,7 @@ public interface Protocol {
|
||||
|
||||
packetClassMapping.put(Packets.Clientbound.PLAY_JOIN_GAME, PacketJoinGame.class);
|
||||
packetClassMapping.put(Packets.Clientbound.PLAY_PLAYER_INFO, PacketPlayerInfo.class);
|
||||
packetClassMapping.put(Packets.Clientbound.PLAY_TIME_UPDATE, PacketTimeUpdate.class);
|
||||
packetClassMapping.put(Packets.Clientbound.PLAY_KEEP_ALIVE, PacketKeepAlive.class);
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user