--- a/net/minecraft/network/protocol/game/ClientboundSetBorderCenterPacket.java
+++ b/net/minecraft/network/protocol/game/ClientboundSetBorderCenterPacket.java
@@ -7,15 +7,16 @@
 import net.minecraft.world.level.border.WorldBorder;
 
 public class ClientboundSetBorderCenterPacket implements Packet<ClientGamePacketListener> {
-    public static final StreamCodec<FriendlyByteBuf, ClientboundSetBorderCenterPacket> STREAM_CODEC = Packet.codec(
-        ClientboundSetBorderCenterPacket::write, ClientboundSetBorderCenterPacket::new
-    );
+
+    public static final StreamCodec<FriendlyByteBuf, ClientboundSetBorderCenterPacket> STREAM_CODEC = Packet.codec(ClientboundSetBorderCenterPacket::write, ClientboundSetBorderCenterPacket::new);
     private final double newCenterX;
     private final double newCenterZ;
 
     public ClientboundSetBorderCenterPacket(WorldBorder worldBorder) {
-        this.newCenterX = worldBorder.getCenterX();
-        this.newCenterZ = worldBorder.getCenterZ();
+        // CraftBukkit start - multiply out nether border
+        this.newCenterX = worldBorder.getCenterX() * (worldBorder.world != null ? worldBorder.world.dimensionType().coordinateScale() : 1.0);
+        this.newCenterZ = worldBorder.getCenterZ() * (worldBorder.world != null ? worldBorder.world.dimensionType().coordinateScale() : 1.0);
+        // CraftBukkit end
     }
 
     private ClientboundSetBorderCenterPacket(FriendlyByteBuf buf) {
@@ -33,7 +34,6 @@
         return GamePacketTypes.CLIENTBOUND_SET_BORDER_CENTER;
     }
 
-    @Override
     public void handle(ClientGamePacketListener listener) {
         listener.handleSetBorderCenter(this);
     }
