mirror of
https://github.com/Nan1t/NanoLimbo.git
synced 2026-02-13 04:16:14 +01:00
Modified dimension registry and join packet
This commit is contained in:
@@ -1,10 +1,9 @@
|
||||
package ru.nanit.limbo.protocol.packets.play;
|
||||
|
||||
import net.kyori.adventure.nbt.CompoundBinaryTag;
|
||||
import ru.nanit.limbo.protocol.ByteMessage;
|
||||
import ru.nanit.limbo.protocol.PacketOut;
|
||||
import ru.nanit.limbo.protocol.registry.Version;
|
||||
import ru.nanit.limbo.world.Dimension;
|
||||
import ru.nanit.limbo.world.DimensionRegistry;
|
||||
|
||||
public class PacketJoinGame implements PacketOut {
|
||||
|
||||
@@ -13,8 +12,7 @@ public class PacketJoinGame implements PacketOut {
|
||||
private int gameMode = 2;
|
||||
private int previousGameMode = -1;
|
||||
private String[] worldNames;
|
||||
private CompoundBinaryTag dimensionCodec;
|
||||
private Dimension dimension;
|
||||
private DimensionRegistry dimensionRegistry;
|
||||
private String worldName;
|
||||
private long hashedSeed;
|
||||
private int maxPlayers;
|
||||
@@ -44,12 +42,8 @@ public class PacketJoinGame implements PacketOut {
|
||||
this.worldNames = worldNames;
|
||||
}
|
||||
|
||||
public void setDimensionCodec(CompoundBinaryTag dimensionCodec) {
|
||||
this.dimensionCodec = dimensionCodec;
|
||||
}
|
||||
|
||||
public void setDimension(Dimension dimension) {
|
||||
this.dimension = dimension;
|
||||
public void setDimensionRegistry(DimensionRegistry dimensionRegistry) {
|
||||
this.dimensionRegistry = dimensionRegistry;
|
||||
}
|
||||
|
||||
public void setWorldName(String worldName) {
|
||||
@@ -90,7 +84,7 @@ public class PacketJoinGame implements PacketOut {
|
||||
|
||||
if (version.fromTo(Version.V1_8, Version.V1_9_1)) {
|
||||
msg.writeByte(gameMode);
|
||||
msg.writeByte(dimension.getId());
|
||||
msg.writeByte(dimensionRegistry.getDefaultDimension().getId());
|
||||
msg.writeByte(0); // Difficulty
|
||||
msg.writeByte(maxPlayers);
|
||||
msg.writeString("flat"); // Level type
|
||||
@@ -99,7 +93,7 @@ public class PacketJoinGame implements PacketOut {
|
||||
|
||||
if (version.fromTo(Version.V1_9_2, Version.V1_13_2)) {
|
||||
msg.writeByte(gameMode);
|
||||
msg.writeInt(dimension.getId());
|
||||
msg.writeInt(dimensionRegistry.getDefaultDimension().getId());
|
||||
msg.writeByte(0); // Difficulty
|
||||
msg.writeByte(maxPlayers);
|
||||
msg.writeString("flat"); // Level type
|
||||
@@ -108,7 +102,7 @@ public class PacketJoinGame implements PacketOut {
|
||||
|
||||
if (version.fromTo(Version.V1_14, Version.V1_14_4)) {
|
||||
msg.writeByte(gameMode);
|
||||
msg.writeInt(dimension.getId());
|
||||
msg.writeInt(dimensionRegistry.getDefaultDimension().getId());
|
||||
msg.writeByte(maxPlayers);
|
||||
msg.writeString("flat"); // Level type
|
||||
msg.writeVarInt(viewDistance);
|
||||
@@ -117,7 +111,7 @@ public class PacketJoinGame implements PacketOut {
|
||||
|
||||
if (version.fromTo(Version.V1_15, Version.V1_15_2)) {
|
||||
msg.writeByte(gameMode);
|
||||
msg.writeInt(dimension.getId());
|
||||
msg.writeInt(dimensionRegistry.getDefaultDimension().getId());
|
||||
msg.writeLong(hashedSeed);
|
||||
msg.writeByte(maxPlayers);
|
||||
msg.writeString("flat"); // Level type
|
||||
@@ -127,12 +121,11 @@ public class PacketJoinGame implements PacketOut {
|
||||
}
|
||||
|
||||
if (version.fromTo(Version.V1_16, Version.V1_16_1)) {
|
||||
msg.writeBoolean(isHardcore);
|
||||
msg.writeByte(gameMode);
|
||||
msg.writeByte(previousGameMode);
|
||||
msg.writeStringsArray(worldNames);
|
||||
msg.writeCompoundTag(dimensionCodec);
|
||||
msg.writeInt(dimension.getId());
|
||||
msg.writeCompoundTag(dimensionRegistry.getOldCodec());
|
||||
msg.writeString(dimensionRegistry.getDefaultDimension().getName());
|
||||
msg.writeString(worldName);
|
||||
msg.writeLong(hashedSeed);
|
||||
msg.writeByte(maxPlayers);
|
||||
@@ -148,8 +141,8 @@ public class PacketJoinGame implements PacketOut {
|
||||
msg.writeByte(gameMode);
|
||||
msg.writeByte(previousGameMode);
|
||||
msg.writeStringsArray(worldNames);
|
||||
msg.writeCompoundTag(dimensionCodec);
|
||||
msg.writeCompoundTag(dimension.getData());
|
||||
msg.writeCompoundTag(dimensionRegistry.getCodec());
|
||||
msg.writeCompoundTag(dimensionRegistry.getDefaultDimension().getData());
|
||||
msg.writeString(worldName);
|
||||
msg.writeLong(hashedSeed);
|
||||
msg.writeVarInt(maxPlayers);
|
||||
|
||||
Reference in New Issue
Block a user