From a8e767250a3df17983367830982311e13857e6e2 Mon Sep 17 00:00:00 2001 From: Nassim Jahnke Date: Sat, 22 Jan 2022 11:52:09 +0100 Subject: [PATCH] Fix 1.17->1.16 heightmap conversion Fixes ViaVersion/ViaVersion#2801 --- .../packets/BlockItemPackets1_17.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/common/src/main/java/com/viaversion/viabackwards/protocol/protocol1_16_4to1_17/packets/BlockItemPackets1_17.java b/common/src/main/java/com/viaversion/viabackwards/protocol/protocol1_16_4to1_17/packets/BlockItemPackets1_17.java index 5d78ab2b..17fafebf 100644 --- a/common/src/main/java/com/viaversion/viabackwards/protocol/protocol1_16_4to1_17/packets/BlockItemPackets1_17.java +++ b/common/src/main/java/com/viaversion/viabackwards/protocol/protocol1_16_4to1_17/packets/BlockItemPackets1_17.java @@ -30,6 +30,9 @@ import com.viaversion.viaversion.api.minecraft.chunks.ChunkSection; import com.viaversion.viaversion.api.protocol.packet.PacketWrapper; import com.viaversion.viaversion.api.protocol.remapper.PacketRemapper; import com.viaversion.viaversion.api.type.Type; +import com.viaversion.viaversion.libs.opennbt.tag.builtin.CompoundTag; +import com.viaversion.viaversion.libs.opennbt.tag.builtin.LongArrayTag; +import com.viaversion.viaversion.libs.opennbt.tag.builtin.Tag; import com.viaversion.viaversion.protocols.protocol1_16_2to1_16_1.ClientboundPackets1_16_2; import com.viaversion.viaversion.protocols.protocol1_16_2to1_16_1.ServerboundPackets1_16_2; import com.viaversion.viaversion.protocols.protocol1_16_2to1_16_1.types.Chunk1_16_2Type; @@ -38,6 +41,8 @@ import com.viaversion.viaversion.protocols.protocol1_17to1_16_4.ClientboundPacke import com.viaversion.viaversion.protocols.protocol1_17to1_16_4.ServerboundPackets1_17; import com.viaversion.viaversion.protocols.protocol1_17to1_16_4.types.Chunk1_17Type; import com.viaversion.viaversion.rewriter.BlockRewriter; +import com.viaversion.viaversion.util.CompactArrayUtil; +import com.viaversion.viaversion.util.MathUtil; import java.util.ArrayList; import java.util.Arrays; @@ -282,6 +287,16 @@ public final class BlockItemPackets1_17 extends ItemRewriter heightMapData[i] = MathUtil.clamp(v + tracker.currentMinY(), 0, 255)); + heightMap.setValue(CompactArrayUtil.createCompactArrayWithPadding(9, heightMapData.length, i -> heightMapData[i])); + } + for (int i = 0; i < 16; i++) { ChunkSection section = sections[i]; if (section == null) continue;