Fix chunk loading

Signed-off-by: TheMode <themode@outlook.fr>
This commit is contained in:
TheMode 2021-10-21 01:30:04 +02:00
parent d3b55700e2
commit 201b5500b9

View File

@ -3,7 +3,7 @@ package net.minestom.server.network.packet.server.play.data;
import net.minestom.server.instance.Section; import net.minestom.server.instance.Section;
import net.minestom.server.instance.block.Block; import net.minestom.server.instance.block.Block;
import net.minestom.server.instance.palette.Palette; import net.minestom.server.instance.palette.Palette;
import net.minestom.server.utils.PacketUtils; import net.minestom.server.utils.Utils;
import net.minestom.server.utils.binary.BinaryWriter; import net.minestom.server.utils.binary.BinaryWriter;
import net.minestom.server.utils.binary.Writeable; import net.minestom.server.utils.binary.Writeable;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -28,16 +28,19 @@ public final class ChunkPacketData implements Writeable {
public void write(@NotNull BinaryWriter writer) { public void write(@NotNull BinaryWriter writer) {
writer.writeNBT("", this.heightmaps); writer.writeNBT("", this.heightmaps);
// Data // Data
ByteBuffer localBuffer = PacketUtils.localBuffer(); {
for (int i = 0; i < 0; i++) { // FIXME: palettes final ByteBuffer buffer = writer.getBuffer();
final Section section = Objects.requireNonNullElseGet(sections.get(i), Section::new); final int index = Utils.writeEmptyVarIntHeader(buffer);
final Palette blockPalette = section.getPalette(); for (int i = 0; i < 16; i++) { // TODO: variable section count
writer.writeShort(blockPalette.getBlockCount()); final Section section = Objects.requireNonNullElseGet(sections.get(i), Section::new);
blockPalette.write(writer); // Blocks final Palette blockPalette = section.getPalette();
new Palette(2, 2).write(writer); // Biomes writer.writeShort(blockPalette.getBlockCount());
blockPalette.write(writer); // Blocks
new Palette(2, 2).write(writer); // Biomes
}
final int dataLength = buffer.position() - index - 3;
Utils.writeVarIntHeader(buffer, index, dataLength);
} }
writer.writeVarInt(localBuffer.position());
writer.write(localBuffer);
// Block entities // Block entities
writer.writeVarInt(0); writer.writeVarInt(0);
} }