Minestom/src/main/java/net/minestom/server/network/packet/server/play/RespawnPacket.java

41 lines
1.3 KiB
Java
Raw Normal View History

2020-04-24 03:25:58 +02:00
package net.minestom.server.network.packet.server.play;
2019-08-21 16:50:52 +02:00
2020-04-24 03:25:58 +02:00
import net.minestom.server.entity.GameMode;
import net.minestom.server.network.packet.server.ServerPacket;
import net.minestom.server.network.packet.server.ServerPacketIdentifier;
import net.minestom.server.utils.binary.BinaryWriter;
import net.minestom.server.world.DimensionType;
2020-04-24 03:25:58 +02:00
import net.minestom.server.world.LevelType;
2019-08-21 16:50:52 +02:00
public class RespawnPacket implements ServerPacket {
public DimensionType dimensionType;
2020-02-09 15:34:09 +01:00
public long hashedSeed;
2019-08-21 16:50:52 +02:00
public GameMode gameMode;
public LevelType levelType;
@Override
public void write(BinaryWriter writer) {
2020-06-25 21:05:58 +02:00
//TODO add api
writer.writeNBT("", dimensionType.toNBT());
2020-07-07 20:31:59 +02:00
// Warning: must be different for each dimension type! Otherwise the client seems to cache the world name
2020-08-20 18:18:36 +02:00
writer.writeSizedString(dimensionType.getName().toString());
2020-07-07 20:31:59 +02:00
2020-02-09 15:34:09 +01:00
writer.writeLong(hashedSeed);
2020-06-25 21:05:58 +02:00
writer.writeByte(gameMode.getId());
2020-04-24 03:25:58 +02:00
writer.writeByte(gameMode.getId()); // Hardcore flag not included
2020-06-25 21:05:58 +02:00
//debug
writer.writeBoolean(false);
//is flat
writer.writeBoolean(true);
//copy meta
writer.writeBoolean(true);
2019-08-21 16:50:52 +02:00
}
@Override
public int getId() {
2020-02-11 16:48:06 +01:00
return ServerPacketIdentifier.RESPAWN;
2019-08-21 16:50:52 +02:00
}
}