diff --git a/patches/server/Check-player-world-in-endPortalSoundRadius.patch b/patches/server/Check-player-world-in-endPortalSoundRadius.patch
deleted file mode 100644
index 569dc7dbb3..0000000000
--- a/patches/server/Check-player-world-in-endPortalSoundRadius.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: lexikiq <noellekiq@gmail.com>
-Date: Sat, 17 Jul 2021 20:37:02 -0400
-Subject: [PATCH] Check player world in endPortalSoundRadius
-
-Fixes Spigot's endPortalSoundRadius not checking player worlds
-
-diff --git a/src/main/java/net/minecraft/world/item/EnderEyeItem.java b/src/main/java/net/minecraft/world/item/EnderEyeItem.java
-index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
---- a/src/main/java/net/minecraft/world/item/EnderEyeItem.java
-+++ b/src/main/java/net/minecraft/world/item/EnderEyeItem.java
-@@ -0,0 +0,0 @@ public class EnderEyeItem extends Item {
-                         double deltaX = soundPos.getX() - player.getX();
-                         double deltaZ = soundPos.getZ() - player.getZ();
-                         double distanceSquared = deltaX * deltaX + deltaZ * deltaZ;
--                        if (world.spigotConfig.endPortalSoundRadius > 0 && distanceSquared > world.spigotConfig.endPortalSoundRadius * world.spigotConfig.endPortalSoundRadius) continue; // Spigot
-+                        if (world.spigotConfig.endPortalSoundRadius > 0 && (distanceSquared > world.spigotConfig.endPortalSoundRadius * world.spigotConfig.endPortalSoundRadius || player.getLevel() != world)) continue; // Spigot // Paper - ensure recipient is in same world as portal
-                         if (distanceSquared > viewDistance * viewDistance) {
-                             double deltaLength = Math.sqrt(distanceSquared);
-                             double relativeX = player.getX() + (deltaX / deltaLength) * viewDistance;
diff --git a/patches/server/Only-send-Dragon-Wither-Death-sounds-to-same-world.patch b/patches/server/Only-send-global-sounds-to-same-world-if-limiting-ra.patch
similarity index 59%
rename from patches/server/Only-send-Dragon-Wither-Death-sounds-to-same-world.patch
rename to patches/server/Only-send-global-sounds-to-same-world-if-limiting-ra.patch
index 73562a80a6..6a48801be4 100644
--- a/patches/server/Only-send-Dragon-Wither-Death-sounds-to-same-world.patch
+++ b/patches/server/Only-send-global-sounds-to-same-world-if-limiting-ra.patch
@@ -1,9 +1,10 @@
 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Aikar <aikar@aikar.co>
 Date: Tue, 31 May 2016 22:53:50 -0400
-Subject: [PATCH] Only send Dragon/Wither Death sounds to same world
+Subject: [PATCH] Only send global sounds to same world if limiting radius
 
-Also fix view distance lookup
+Co-authored-by: Evan McCarthy <evanmccarthy@outlook.com>
+Co-authored-by: lexikiq <noellekiq@gmail.com>
 
 diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
 index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
@@ -14,7 +15,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
                  // this.world.b(1028, this.getChunkCoordinates(), 0);
                  int viewDistance = ((ServerLevel) this.level).getCraftServer().getViewDistance() * 16;
 -                for (net.minecraft.server.level.ServerPlayer player : this.level.getServer().getPlayerList().players) {
-+                for (net.minecraft.server.level.ServerPlayer player : (List<net.minecraft.server.level.ServerPlayer>) ((ServerLevel)level).players()) {
++                for (net.minecraft.server.level.ServerPlayer player : level.spigotConfig.dragonDeathSoundRadius > 0 ? ((ServerLevel) level).players() : level.getServer().getPlayerList().players) { // Paper
                      double deltaX = this.getX() - player.getX();
                      double deltaZ = this.getZ() - player.getZ();
                      double distanceSquared = deltaX * deltaX + deltaZ * deltaZ;
@@ -27,7 +28,20 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
                      // this.world.globalLevelEvent(1023, new BlockPosition(this), 0);
                      int viewDistance = ((ServerLevel) this.level).getCraftServer().getViewDistance() * 16;
 -                    for (ServerPlayer player : (List<ServerPlayer>) MinecraftServer.getServer().getPlayerList().players) {
-+                    for (ServerPlayer player : (List<ServerPlayer>)this.level.players()) { // Paper
++                    for (ServerPlayer player : level.spigotConfig.witherSpawnSoundRadius > 0 ? ((ServerLevel) level).players() : level.getServer().getPlayerList().players) { // Paper
                          double deltaX = this.getX() - player.getX();
                          double deltaZ = this.getZ() - player.getZ();
                          double distanceSquared = deltaX * deltaX + deltaZ * deltaZ;
+diff --git a/src/main/java/net/minecraft/world/item/EnderEyeItem.java b/src/main/java/net/minecraft/world/item/EnderEyeItem.java
+index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
+--- a/src/main/java/net/minecraft/world/item/EnderEyeItem.java
++++ b/src/main/java/net/minecraft/world/item/EnderEyeItem.java
+@@ -0,0 +0,0 @@ public class EnderEyeItem extends Item {
+                     // world.b(1038, blockposition1.c(1, 0, 1), 0);
+                     int viewDistance = world.getCraftServer().getViewDistance() * 16;
+                     BlockPos soundPos = blockposition1.offset(1, 0, 1);
+-                    for (ServerPlayer player : world.getServer().getPlayerList().players) {
++                    for (ServerPlayer player : world.spigotConfig.endPortalSoundRadius > 0 ? ((ServerLevel) world).players() : world.getServer().getPlayerList().players) { // Paper
+                         double deltaX = soundPos.getX() - player.getX();
+                         double deltaZ = soundPos.getZ() - player.getZ();
+                         double distanceSquared = deltaX * deltaX + deltaZ * deltaZ;