diff --git a/all/pom.xml b/all/pom.xml index e04742f4..78e66783 100644 --- a/all/pom.xml +++ b/all/pom.xml @@ -16,7 +16,7 @@ viabackwards-parent nl.matsv - 3.3.0-21w05b + 3.3.0-21w06b viabackwards-all diff --git a/bukkit/pom.xml b/bukkit/pom.xml index 63c08193..f1e9e41f 100644 --- a/bukkit/pom.xml +++ b/bukkit/pom.xml @@ -16,7 +16,7 @@ viabackwards-parent nl.matsv - 3.3.0-21w05b + 3.3.0-21w06b viabackwards-bukkit diff --git a/bungee/pom.xml b/bungee/pom.xml index 1e982e6a..2811b2b4 100644 --- a/bungee/pom.xml +++ b/bungee/pom.xml @@ -16,7 +16,7 @@ viabackwards-parent nl.matsv - 3.3.0-21w05b + 3.3.0-21w06b viabackwards-bungee diff --git a/core/pom.xml b/core/pom.xml index 6c55f847..a38a3e1c 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -16,7 +16,7 @@ viabackwards-parent nl.matsv - 3.3.0-21w05b + 3.3.0-21w06b viabackwards-core diff --git a/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_16_4to1_17/packets/BlockItemPackets1_17.java b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_16_4to1_17/packets/BlockItemPackets1_17.java index 0dea7c23..2d91fdf2 100644 --- a/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_16_4to1_17/packets/BlockItemPackets1_17.java +++ b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_16_4to1_17/packets/BlockItemPackets1_17.java @@ -18,6 +18,7 @@ import us.myles.ViaVersion.protocols.protocol1_17to1_16_4.ClientboundPackets1_17 import us.myles.ViaVersion.protocols.protocol1_17to1_16_4.types.Chunk1_17Type; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; public class BlockItemPackets1_17 extends nl.matsv.viabackwards.api.rewriters.ItemRewriter { @@ -171,6 +172,8 @@ public class BlockItemPackets1_17 extends nl.matsv.viabackwards.api.rewriters.It Chunk chunk = wrapper.read(new Chunk1_17Type(currentWorldSectionHeight)); wrapper.write(new Chunk1_16_2Type(), chunk); + chunk.setBiomeData(Arrays.copyOf(chunk.getBiomeData(), 1024)); + // Cut down to int mask chunk.setBitmask(cutLongArrayMask(chunk.getChunkMask().toLongArray())); chunk.setChunkMask(null); diff --git a/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_16_4to1_17/packets/EntityPackets1_17.java b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_16_4to1_17/packets/EntityPackets1_17.java index bf3d56e2..aeb61062 100644 --- a/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_16_4to1_17/packets/EntityPackets1_17.java +++ b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_16_4to1_17/packets/EntityPackets1_17.java @@ -19,6 +19,8 @@ import us.myles.ViaVersion.protocols.protocol1_17to1_16_4.ClientboundPackets1_17 import us.myles.viaversion.libs.gson.JsonElement; import us.myles.viaversion.libs.opennbt.tag.builtin.CompoundTag; import us.myles.viaversion.libs.opennbt.tag.builtin.IntTag; +import us.myles.viaversion.libs.opennbt.tag.builtin.ListTag; +import us.myles.viaversion.libs.opennbt.tag.builtin.Tag; public class EntityPackets1_17 extends EntityRewriter { @@ -53,7 +55,16 @@ public class EntityPackets1_17 extends EntityRewriter { }); handler(getTrackerHandler(Entity1_16_2Types.EntityType.PLAYER, Type.INT)); handler(getWorldDataTracker(1)); - handler(wrapper -> warnForExtendedHeight(wrapper.get(Type.NBT, 1))); + handler(wrapper -> { + CompoundTag dimensionRegistry = wrapper.get(Type.NBT, 0).get("minecraft:dimension_type"); + ListTag dimensions = dimensionRegistry.get("value"); + for (Tag dimension : dimensions) { + CompoundTag dimensionCompound = ((CompoundTag) dimension).get("element"); + reduceForExtendedHeight(dimensionCompound, false); + } + + reduceForExtendedHeight(wrapper.get(Type.NBT, 1), true); + }); } }); protocol.registerOutgoing(ClientboundPackets1_17.RESPAWN, new PacketRemapper() { @@ -61,7 +72,7 @@ public class EntityPackets1_17 extends EntityRewriter { public void registerMap() { map(Type.NBT); // Dimension data handler(getWorldDataTracker(0)); - handler(wrapper -> warnForExtendedHeight(wrapper.get(Type.NBT, 0))); + handler(wrapper -> reduceForExtendedHeight(wrapper.get(Type.NBT, 0), true)); } }); @@ -149,12 +160,18 @@ public class EntityPackets1_17 extends EntityRewriter { return Entity1_17Types.getTypeFromId(typeId); } - private void warnForExtendedHeight(CompoundTag tag) { + private void reduceForExtendedHeight(CompoundTag tag, boolean warn) { IntTag minY = tag.get("min_y"); IntTag height = tag.get("height"); - if (minY.getValue() != 0 || height.getValue() != 256) { - ViaBackwards.getPlatform().getLogger().severe("Custom worlds heights are NOT SUPPORTED for 1.16 players and older and may lead to errors!"); - ViaBackwards.getPlatform().getLogger().severe("You have min/max set to " + minY.getValue() + "/" + height.getValue()); + IntTag logicalHeight = tag.get("logical_height"); + if (minY.getValue() != 0 || height.getValue() > 256 || logicalHeight.getValue() > 256) { + if (warn) { + ViaBackwards.getPlatform().getLogger().severe("Custom worlds heights are NOT SUPPORTED for 1.16 players and older and may lead to errors!"); + ViaBackwards.getPlatform().getLogger().severe("You have min/max set to " + minY.getValue() + "/" + height.getValue()); + } + + height.setValue(Math.min(256, height.getValue())); + logicalHeight.setValue(Math.min(256, logicalHeight.getValue())); } } } diff --git a/fabric/pom.xml b/fabric/pom.xml index 275baf70..921892d7 100644 --- a/fabric/pom.xml +++ b/fabric/pom.xml @@ -16,7 +16,7 @@ viabackwards-parent nl.matsv - 3.3.0-21w05b + 3.3.0-21w06b viabackwards-fabric diff --git a/pom.xml b/pom.xml index aacf12f1..a92ed361 100644 --- a/pom.xml +++ b/pom.xml @@ -16,7 +16,7 @@ nl.matsv viabackwards-parent - 3.3.0-21w05b + 3.3.0-21w06b pom Allow older clients to join newer server versions. @@ -65,7 +65,7 @@ us.myles viaversion - 3.3.0-21w05b + 3.3.0-21w06b provided diff --git a/sponge/pom.xml b/sponge/pom.xml index a5288129..b0edab08 100644 --- a/sponge/pom.xml +++ b/sponge/pom.xml @@ -16,7 +16,7 @@ viabackwards-parent nl.matsv - 3.3.0-21w05b + 3.3.0-21w06b viabackwards-sponge diff --git a/velocity/pom.xml b/velocity/pom.xml index 868dae11..5dfd2761 100644 --- a/velocity/pom.xml +++ b/velocity/pom.xml @@ -16,7 +16,7 @@ viabackwards-parent nl.matsv - 3.3.0-21w05b + 3.3.0-21w06b viabackwards-velocity