--- a/net/minecraft/network/protocol/game/ClientboundInitializeBorderPacket.java
+++ b/net/minecraft/network/protocol/game/ClientboundInitializeBorderPacket.java
@@ -5,6 +5,7 @@
 import net.minecraft.world.level.border.WorldBorder;
 
 public class ClientboundInitializeBorderPacket implements Packet<ClientGamePacketListener> {
+
     private final double newCenterX;
     private final double newCenterZ;
     private final double oldSize;
@@ -26,8 +27,10 @@
     }
 
     public ClientboundInitializeBorderPacket(WorldBorder worldBorder) {
-        this.newCenterX = worldBorder.getCenterX();
-        this.newCenterZ = worldBorder.getCenterZ();
+        // CraftBukkit start - multiply out nether border
+        this.newCenterX = worldBorder.getCenterX() * worldBorder.world.dimensionType().coordinateScale();
+        this.newCenterZ = worldBorder.getCenterZ() * worldBorder.world.dimensionType().coordinateScale();
+        // CraftBukkit end
         this.oldSize = worldBorder.getSize();
         this.newSize = worldBorder.getLerpTarget();
         this.lerpTime = worldBorder.getLerpRemainingTime();
@@ -48,7 +51,6 @@
         buf.writeVarInt(this.warningTime);
     }
 
-    @Override
     public void handle(ClientGamePacketListener listener) {
         listener.handleInitializeBorder(this);
     }
