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