From 5677701fb653ed3d8481c4f35d25248df16a2641 Mon Sep 17 00:00:00 2001 From: David Luedtke Date: Sun, 21 Dec 2025 23:48:41 +0100 Subject: [PATCH 1/2] fix world border lerp size set in ticks instead of millis (ViaVersion/ViaVersion#4755) --- .../rewriter/BlockItemPacketRewriter1_21_11.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/common/src/main/java/com/viaversion/viabackwards/protocol/v1_21_11to1_21_9/rewriter/BlockItemPacketRewriter1_21_11.java b/common/src/main/java/com/viaversion/viabackwards/protocol/v1_21_11to1_21_9/rewriter/BlockItemPacketRewriter1_21_11.java index 7f31eb7b..ec1c0fd2 100644 --- a/common/src/main/java/com/viaversion/viabackwards/protocol/v1_21_11to1_21_9/rewriter/BlockItemPacketRewriter1_21_11.java +++ b/common/src/main/java/com/viaversion/viabackwards/protocol/v1_21_11to1_21_9/rewriter/BlockItemPacketRewriter1_21_11.java @@ -83,6 +83,21 @@ public void registerPackets() { recipeRewriter.registerRecipeBookAdd(ClientboundPackets1_21_11.RECIPE_BOOK_ADD); recipeRewriter.registerPlaceGhostRecipe(ClientboundPackets1_21_11.PLACE_GHOST_RECIPE); + protocol.registerClientbound(ClientboundPackets1_21_11.SET_BORDER_LERP_SIZE, wrapper -> { + wrapper.passthrough(Types.DOUBLE); // oldSize + wrapper.passthrough(Types.DOUBLE); // newSize + wrapper.write(Types.VAR_LONG, wrapper.read(Types.VAR_LONG) * 50); // lerpTime + }); + protocol.registerClientbound(ClientboundPackets1_21_11.INITIALIZE_BORDER, wrapper -> { + wrapper.passthrough(Types.DOUBLE); // newCenterX + wrapper.passthrough(Types.DOUBLE); // newCenterZ + wrapper.passthrough(Types.DOUBLE); // oldSize + wrapper.passthrough(Types.DOUBLE); // newSize + wrapper.write(Types.VAR_LONG, wrapper.read(Types.VAR_LONG) * 50); // lerpTime + wrapper.passthrough(Types.VAR_INT); // newAbsoluteMaxSize + wrapper.passthrough(Types.VAR_INT); // warningBlocks + wrapper.passthrough(Types.VAR_INT); // warningTime + }); protocol.registerClientbound(ClientboundPackets1_21_11.SET_TIME, wrapper -> { final long gameTime = wrapper.passthrough(Types.LONG); wrapper.user().get(GameTimeStorage.class).setGameTime(gameTime); From 3179035758a402f0eab6f5ecc6e943a71ebc5cf5 Mon Sep 17 00:00:00 2001 From: David Luedtke Date: Mon, 22 Dec 2025 11:18:16 +0100 Subject: [PATCH 2/2] initialize border do not passthrough trailing data --- .../rewriter/BlockItemPacketRewriter1_21_11.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/common/src/main/java/com/viaversion/viabackwards/protocol/v1_21_11to1_21_9/rewriter/BlockItemPacketRewriter1_21_11.java b/common/src/main/java/com/viaversion/viabackwards/protocol/v1_21_11to1_21_9/rewriter/BlockItemPacketRewriter1_21_11.java index ec1c0fd2..d4901fb0 100644 --- a/common/src/main/java/com/viaversion/viabackwards/protocol/v1_21_11to1_21_9/rewriter/BlockItemPacketRewriter1_21_11.java +++ b/common/src/main/java/com/viaversion/viabackwards/protocol/v1_21_11to1_21_9/rewriter/BlockItemPacketRewriter1_21_11.java @@ -94,9 +94,6 @@ public void registerPackets() { wrapper.passthrough(Types.DOUBLE); // oldSize wrapper.passthrough(Types.DOUBLE); // newSize wrapper.write(Types.VAR_LONG, wrapper.read(Types.VAR_LONG) * 50); // lerpTime - wrapper.passthrough(Types.VAR_INT); // newAbsoluteMaxSize - wrapper.passthrough(Types.VAR_INT); // warningBlocks - wrapper.passthrough(Types.VAR_INT); // warningTime }); protocol.registerClientbound(ClientboundPackets1_21_11.SET_TIME, wrapper -> { final long gameTime = wrapper.passthrough(Types.LONG);