From e3b59c3b9542dfce9f72d644e26a14e5357bed70 Mon Sep 17 00:00:00 2001 From: TheMode Date: Sat, 23 Oct 2021 13:47:56 +0200 Subject: [PATCH] Make new packets record (reading method still to be defined) Signed-off-by: TheMode --- .../server/instance/DynamicChunk.java | 16 ++++--------- .../packet/server/play/ChunkDataPacket.java | 18 ++------------ .../packet/server/play/UpdateLightPacket.java | 24 ++----------------- .../play/UpdateSimulationDistancePacket.java | 18 ++++++++++++++ .../minestom/server/registry/Registry.java | 3 +-- 5 files changed, 27 insertions(+), 52 deletions(-) create mode 100644 src/main/java/net/minestom/server/network/packet/server/play/UpdateSimulationDistancePacket.java diff --git a/src/main/java/net/minestom/server/instance/DynamicChunk.java b/src/main/java/net/minestom/server/instance/DynamicChunk.java index 932f84813..7e96c2a45 100644 --- a/src/main/java/net/minestom/server/instance/DynamicChunk.java +++ b/src/main/java/net/minestom/server/instance/DynamicChunk.java @@ -181,21 +181,13 @@ public class DynamicChunk extends Chunk { blockPalette.write(writer); // Blocks new Palette(2, 2).write(writer); // Biomes } - - ChunkDataPacket packet = new ChunkDataPacket(); - packet.chunkX = chunkX; - packet.chunkZ = chunkZ; - packet.chunkData = new ChunkData(heightmapsNBT, writer.toByteArray(), entries); - packet.lightData = createLightData(); - return packet; + return new ChunkDataPacket(chunkX, chunkZ, + new ChunkData(heightmapsNBT, writer.toByteArray(), entries), + createLightData()); } private synchronized @NotNull UpdateLightPacket createLightPacket() { - UpdateLightPacket updateLightPacket = new UpdateLightPacket(); - updateLightPacket.chunkX = getChunkX(); - updateLightPacket.chunkZ = getChunkZ(); - updateLightPacket.lightData = createLightData(); - return updateLightPacket; + return new UpdateLightPacket(chunkX, chunkZ, createLightData()); } private LightData createLightData() { diff --git a/src/main/java/net/minestom/server/network/packet/server/play/ChunkDataPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/ChunkDataPacket.java index 4bbdda5fe..51d1b55be 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/ChunkDataPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/ChunkDataPacket.java @@ -4,18 +4,11 @@ import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; import net.minestom.server.network.packet.server.play.data.ChunkData; import net.minestom.server.network.packet.server.play.data.LightData; -import net.minestom.server.utils.binary.BinaryReader; import net.minestom.server.utils.binary.BinaryWriter; import org.jetbrains.annotations.NotNull; -public class ChunkDataPacket implements ServerPacket { - public int chunkX, chunkZ; - public ChunkData chunkData; - public LightData lightData; - - public ChunkDataPacket() { - } - +public record ChunkDataPacket(int chunkX, int chunkZ, ChunkData chunkData, LightData lightData) + implements ServerPacket { @Override public void write(@NotNull BinaryWriter writer) { writer.writeInt(chunkX); @@ -24,13 +17,6 @@ public class ChunkDataPacket implements ServerPacket { this.lightData.write(writer); } - @Override - public void read(@NotNull BinaryReader reader) { - this.chunkX = reader.readInt(); - this.chunkZ = reader.readInt(); - // TODO read - } - @Override public int getId() { return ServerPacketIdentifier.CHUNK_DATA; diff --git a/src/main/java/net/minestom/server/network/packet/server/play/UpdateLightPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/UpdateLightPacket.java index 489a7f610..7aeee5709 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/UpdateLightPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/UpdateLightPacket.java @@ -3,38 +3,18 @@ package net.minestom.server.network.packet.server.play; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.ServerPacketIdentifier; import net.minestom.server.network.packet.server.play.data.LightData; -import net.minestom.server.utils.binary.BinaryReader; import net.minestom.server.utils.binary.BinaryWriter; import org.jetbrains.annotations.NotNull; -public class UpdateLightPacket implements ServerPacket { - - public int chunkX; - public int chunkZ; - public LightData lightData; - - /** - * Default constructor, required for reflection operations. - */ - public UpdateLightPacket() { - } - +public record UpdateLightPacket(int chunkX, int chunkZ, LightData lightData) + implements ServerPacket { @Override public void write(@NotNull BinaryWriter writer) { writer.writeVarInt(chunkX); writer.writeVarInt(chunkZ); - this.lightData.write(writer); } - @Override - public void read(@NotNull BinaryReader reader) { - chunkX = reader.readVarInt(); - chunkZ = reader.readVarInt(); - - // TODO read light data - } - @Override public int getId() { return ServerPacketIdentifier.UPDATE_LIGHT; diff --git a/src/main/java/net/minestom/server/network/packet/server/play/UpdateSimulationDistancePacket.java b/src/main/java/net/minestom/server/network/packet/server/play/UpdateSimulationDistancePacket.java new file mode 100644 index 000000000..5ed265f0a --- /dev/null +++ b/src/main/java/net/minestom/server/network/packet/server/play/UpdateSimulationDistancePacket.java @@ -0,0 +1,18 @@ +package net.minestom.server.network.packet.server.play; + +import net.minestom.server.network.packet.server.ServerPacket; +import net.minestom.server.network.packet.server.ServerPacketIdentifier; +import net.minestom.server.utils.binary.BinaryWriter; +import org.jetbrains.annotations.NotNull; + +public record UpdateSimulationDistancePacket(int simulationDistance) implements ServerPacket { + @Override + public void write(@NotNull BinaryWriter writer) { + writer.writeVarInt(simulationDistance); + } + + @Override + public int getId() { + return ServerPacketIdentifier.SET_SIMULATION_DISTANCE; + } +} diff --git a/src/main/java/net/minestom/server/registry/Registry.java b/src/main/java/net/minestom/server/registry/Registry.java index 71c8258c5..fda1ebadc 100644 --- a/src/main/java/net/minestom/server/registry/Registry.java +++ b/src/main/java/net/minestom/server/registry/Registry.java @@ -178,8 +178,7 @@ public final class Registry { // Block entity { final JsonElement entityElement = element("blockEntity"); - if (entityElement instanceof JsonObject) { - JsonObject entityObject = (JsonObject) entityElement; + if (entityElement instanceof JsonObject entityObject) { this.blockEntity = entityObject.get("namespace").getAsString(); this.blockEntityId = entityObject.get("id").getAsInt(); } else {