diff --git a/Spigot-API-Patches/Add-Heightmap-API.patch b/Spigot-API-Patches/Add-Heightmap-API.patch
index cb41e25fd5..adb17058ea 100644
--- a/Spigot-API-Patches/Add-Heightmap-API.patch
+++ b/Spigot-API-Patches/Add-Heightmap-API.patch
@@ -89,7 +89,7 @@ index 77d9cd0a..59047503 100644
       * Creates explosion at this location with given power
       *
 diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index d0256af5..5047be15 100644
+index c88f1724..db18f70e 100644
 --- a/src/main/java/org/bukkit/World.java
 +++ b/src/main/java/org/bukkit/World.java
 @@ -0,0 +0,0 @@ public interface World extends PluginMessageRecipient, Metadatable {
diff --git a/Spigot-API-Patches/Add-World.getEntity-UUID-API.patch b/Spigot-API-Patches/Add-World.getEntity-UUID-API.patch
index 468bcebaa3..814b450afb 100644
--- a/Spigot-API-Patches/Add-World.getEntity-UUID-API.patch
+++ b/Spigot-API-Patches/Add-World.getEntity-UUID-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add World.getEntity(UUID) API
 
 
 diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 86d488e5..f82063af 100644
+index 08985f77..889756b1 100644
 --- a/src/main/java/org/bukkit/World.java
 +++ b/src/main/java/org/bukkit/World.java
 @@ -0,0 +0,0 @@ public interface World extends PluginMessageRecipient, Metadatable {
diff --git a/Spigot-API-Patches/Add-an-asterisk-to-legacy-API-plugins.patch b/Spigot-API-Patches/Add-an-asterisk-to-legacy-API-plugins.patch
index cf7187638a..dc31dd8d1e 100644
--- a/Spigot-API-Patches/Add-an-asterisk-to-legacy-API-plugins.patch
+++ b/Spigot-API-Patches/Add-an-asterisk-to-legacy-API-plugins.patch
@@ -23,25 +23,24 @@ index c0ff133d..82106426 100644
      // Paper end
  }
 diff --git a/src/main/java/org/bukkit/command/defaults/PluginsCommand.java b/src/main/java/org/bukkit/command/defaults/PluginsCommand.java
-index d4e74d29..6cfd9f3c 100644
+index a1071e31..3dcecf3a 100644
 --- a/src/main/java/org/bukkit/command/defaults/PluginsCommand.java
 +++ b/src/main/java/org/bukkit/command/defaults/PluginsCommand.java
 @@ -0,0 +0,0 @@ public class PluginsCommand extends BukkitCommand {
-         TreeMap<String, ChatColor> plugins = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
  
-         for (Plugin plugin : Bukkit.getPluginManager().getPlugins()) {
--            plugins.put(plugin.getDescription().getName(), plugin.isEnabled() ? ChatColor.GREEN : ChatColor.RED);
+ 
+             pluginList.append(plugin.isEnabled() ? ChatColor.GREEN : ChatColor.RED);
+-            pluginList.append(plugin.getDescription().getName());
 +            // Paper start - Add an asterisk to legacy plugins (so admins are aware)
 +            String pluginName = plugin.getDescription().getName();
 +            if (org.bukkit.UnsafeValues.isLegacyPlugin(plugin)) {
 +                pluginName += "*";
 +            }
-+
-+            plugins.put(pluginName, plugin.isEnabled() ? ChatColor.GREEN : ChatColor.RED);
++            pluginList.append(pluginName);
 +            // Paper end
          }
  
-         StringBuilder pluginList = new StringBuilder();
+         return "(" + plugins.size() + "): " + pluginList.toString();
 diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
 index 32ec68b4..8ff228ce 100644
 --- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
diff --git a/Spigot-API-Patches/Add-command-to-reload-permissions.yml-and-require-co.patch b/Spigot-API-Patches/Add-command-to-reload-permissions.yml-and-require-co.patch
index d1110a3688..b8170dd84d 100644
--- a/Spigot-API-Patches/Add-command-to-reload-permissions.yml-and-require-co.patch
+++ b/Spigot-API-Patches/Add-command-to-reload-permissions.yml-and-require-co.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Add command to reload permissions.yml and require confirm to
 
 
 diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 39423f3a6..423fecf54 100644
+index 39423f3a..423fecf5 100644
 --- a/src/main/java/org/bukkit/Bukkit.java
 +++ b/src/main/java/org/bukkit/Bukkit.java
 @@ -0,0 +0,0 @@ public final class Bukkit {
@@ -24,7 +24,7 @@ index 39423f3a6..423fecf54 100644
  
      @NotNull
 diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index b09d01085..38d7da737 100644
+index b09d0108..38d7da73 100644
 --- a/src/main/java/org/bukkit/Server.java
 +++ b/src/main/java/org/bukkit/Server.java
 @@ -0,0 +0,0 @@ public interface Server extends PluginMessageRecipient {
@@ -35,7 +35,7 @@ index b09d01085..38d7da737 100644
 +    void reloadPermissions(); // Paper
  }
 diff --git a/src/main/java/org/bukkit/command/defaults/ReloadCommand.java b/src/main/java/org/bukkit/command/defaults/ReloadCommand.java
-index 50cc311be..c62da4131 100644
+index 50cc311b..c62da413 100644
 --- a/src/main/java/org/bukkit/command/defaults/ReloadCommand.java
 +++ b/src/main/java/org/bukkit/command/defaults/ReloadCommand.java
 @@ -0,0 +0,0 @@ public class ReloadCommand extends BukkitCommand {
@@ -85,7 +85,7 @@ index 50cc311be..c62da4131 100644
      }
  }
 diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
-index 715954c75..f70296d76 100644
+index 9a5fe8ca..8ddaf9c2 100644
 --- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java
 +++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
 @@ -0,0 +0,0 @@ public final class SimplePluginManager implements PluginManager {
diff --git a/Spigot-API-Patches/Add-exception-reporting-event.patch b/Spigot-API-Patches/Add-exception-reporting-event.patch
index c5f4c3272f..787f0b0fc7 100644
--- a/Spigot-API-Patches/Add-exception-reporting-event.patch
+++ b/Spigot-API-Patches/Add-exception-reporting-event.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Add exception reporting event
 
 diff --git a/src/main/java/com/destroystokyo/paper/event/server/ServerExceptionEvent.java b/src/main/java/com/destroystokyo/paper/event/server/ServerExceptionEvent.java
 new file mode 100644
-index 000000000..2f573299a
+index 00000000..2f573299
 --- /dev/null
 +++ b/src/main/java/com/destroystokyo/paper/event/server/ServerExceptionEvent.java
 @@ -0,0 +0,0 @@
@@ -55,7 +55,7 @@ index 000000000..2f573299a
 +}
 diff --git a/src/main/java/com/destroystokyo/paper/exception/ServerCommandException.java b/src/main/java/com/destroystokyo/paper/exception/ServerCommandException.java
 new file mode 100644
-index 000000000..6fb39af04
+index 00000000..6fb39af0
 --- /dev/null
 +++ b/src/main/java/com/destroystokyo/paper/exception/ServerCommandException.java
 @@ -0,0 +0,0 @@
@@ -125,7 +125,7 @@ index 000000000..6fb39af04
 +}
 diff --git a/src/main/java/com/destroystokyo/paper/exception/ServerEventException.java b/src/main/java/com/destroystokyo/paper/exception/ServerEventException.java
 new file mode 100644
-index 000000000..410b24139
+index 00000000..410b2413
 --- /dev/null
 +++ b/src/main/java/com/destroystokyo/paper/exception/ServerEventException.java
 @@ -0,0 +0,0 @@
@@ -183,7 +183,7 @@ index 000000000..410b24139
 +}
 diff --git a/src/main/java/com/destroystokyo/paper/exception/ServerException.java b/src/main/java/com/destroystokyo/paper/exception/ServerException.java
 new file mode 100644
-index 000000000..c06ea3942
+index 00000000..c06ea394
 --- /dev/null
 +++ b/src/main/java/com/destroystokyo/paper/exception/ServerException.java
 @@ -0,0 +0,0 @@
@@ -212,7 +212,7 @@ index 000000000..c06ea3942
 +}
 diff --git a/src/main/java/com/destroystokyo/paper/exception/ServerInternalException.java b/src/main/java/com/destroystokyo/paper/exception/ServerInternalException.java
 new file mode 100644
-index 000000000..e762ed0db
+index 00000000..e762ed0d
 --- /dev/null
 +++ b/src/main/java/com/destroystokyo/paper/exception/ServerInternalException.java
 @@ -0,0 +0,0 @@
@@ -253,7 +253,7 @@ index 000000000..e762ed0db
 +}
 diff --git a/src/main/java/com/destroystokyo/paper/exception/ServerPluginEnableDisableException.java b/src/main/java/com/destroystokyo/paper/exception/ServerPluginEnableDisableException.java
 new file mode 100644
-index 000000000..f016ba3b1
+index 00000000..f016ba3b
 --- /dev/null
 +++ b/src/main/java/com/destroystokyo/paper/exception/ServerPluginEnableDisableException.java
 @@ -0,0 +0,0 @@
@@ -280,7 +280,7 @@ index 000000000..f016ba3b1
 \ No newline at end of file
 diff --git a/src/main/java/com/destroystokyo/paper/exception/ServerPluginException.java b/src/main/java/com/destroystokyo/paper/exception/ServerPluginException.java
 new file mode 100644
-index 000000000..6defac287
+index 00000000..6defac28
 --- /dev/null
 +++ b/src/main/java/com/destroystokyo/paper/exception/ServerPluginException.java
 @@ -0,0 +0,0 @@
@@ -324,7 +324,7 @@ index 000000000..6defac287
 +}
 diff --git a/src/main/java/com/destroystokyo/paper/exception/ServerPluginMessageException.java b/src/main/java/com/destroystokyo/paper/exception/ServerPluginMessageException.java
 new file mode 100644
-index 000000000..89e132525
+index 00000000..89e13252
 --- /dev/null
 +++ b/src/main/java/com/destroystokyo/paper/exception/ServerPluginMessageException.java
 @@ -0,0 +0,0 @@
@@ -394,7 +394,7 @@ index 000000000..89e132525
 +}
 diff --git a/src/main/java/com/destroystokyo/paper/exception/ServerSchedulerException.java b/src/main/java/com/destroystokyo/paper/exception/ServerSchedulerException.java
 new file mode 100644
-index 000000000..2d0b2d4a9
+index 00000000..2d0b2d4a
 --- /dev/null
 +++ b/src/main/java/com/destroystokyo/paper/exception/ServerSchedulerException.java
 @@ -0,0 +0,0 @@
@@ -437,7 +437,7 @@ index 000000000..2d0b2d4a9
 +}
 diff --git a/src/main/java/com/destroystokyo/paper/exception/ServerTabCompleteException.java b/src/main/java/com/destroystokyo/paper/exception/ServerTabCompleteException.java
 new file mode 100644
-index 000000000..5582999fe
+index 00000000..5582999f
 --- /dev/null
 +++ b/src/main/java/com/destroystokyo/paper/exception/ServerTabCompleteException.java
 @@ -0,0 +0,0 @@
@@ -464,7 +464,7 @@ index 000000000..5582999fe
 +    }
 +}
 diff --git a/src/main/java/org/bukkit/command/SimpleCommandMap.java b/src/main/java/org/bukkit/command/SimpleCommandMap.java
-index f020cb04e..adfc7aae2 100644
+index f020cb04..adfc7aae 100644
 --- a/src/main/java/org/bukkit/command/SimpleCommandMap.java
 +++ b/src/main/java/org/bukkit/command/SimpleCommandMap.java
 @@ -0,0 +0,0 @@ import java.util.HashMap;
@@ -506,7 +506,7 @@ index f020cb04e..adfc7aae2 100644
      }
  
 diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
-index b9ce12ff9..715954c75 100644
+index c548911c..9a5fe8ca 100644
 --- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java
 +++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
 @@ -0,0 +0,0 @@ import java.util.WeakHashMap;
diff --git a/Spigot-API-Patches/Add-sun-related-API.patch b/Spigot-API-Patches/Add-sun-related-API.patch
index 681dab07f2..674c312540 100644
--- a/Spigot-API-Patches/Add-sun-related-API.patch
+++ b/Spigot-API-Patches/Add-sun-related-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add sun related API
 
 
 diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 5366d205..d0256af5 100644
+index b7ad4f56..c88f1724 100644
 --- a/src/main/java/org/bukkit/World.java
 +++ b/src/main/java/org/bukkit/World.java
 @@ -0,0 +0,0 @@ public interface World extends PluginMessageRecipient, Metadatable {
@@ -26,7 +26,7 @@ index 5366d205..d0256af5 100644
       * Returns whether the world has an ongoing storm.
       *
 diff --git a/src/main/java/org/bukkit/entity/Mob.java b/src/main/java/org/bukkit/entity/Mob.java
-index afdc103f..784db447 100644
+index b1322878..d726453c 100644
 --- a/src/main/java/org/bukkit/entity/Mob.java
 +++ b/src/main/java/org/bukkit/entity/Mob.java
 @@ -0,0 +0,0 @@ public interface Mob extends LivingEntity, Lootable {
diff --git a/Spigot-API-Patches/Additional-world.getNearbyEntities-API-s.patch b/Spigot-API-Patches/Additional-world.getNearbyEntities-API-s.patch
index d9682b8f99..977b7bc714 100644
--- a/Spigot-API-Patches/Additional-world.getNearbyEntities-API-s.patch
+++ b/Spigot-API-Patches/Additional-world.getNearbyEntities-API-s.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Additional world.getNearbyEntities API's
 Provides more methods to get nearby entities, and filter by types and predicates
 
 diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index da9f234d..ab2ddc05 100644
+index 3b027f67..fbe7e76c 100644
 --- a/src/main/java/org/bukkit/World.java
 +++ b/src/main/java/org/bukkit/World.java
 @@ -0,0 +0,0 @@
diff --git a/Spigot-API-Patches/Allow-Blocks-to-be-accessed-via-a-long-key.patch b/Spigot-API-Patches/Allow-Blocks-to-be-accessed-via-a-long-key.patch
index d9786aa090..157c0e7809 100644
--- a/Spigot-API-Patches/Allow-Blocks-to-be-accessed-via-a-long-key.patch
+++ b/Spigot-API-Patches/Allow-Blocks-to-be-accessed-via-a-long-key.patch
@@ -48,7 +48,7 @@ index f87ecd0a..07e532cd 100644
       * @return A new location where X/Y/Z are the center of the block
       */
 diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 310041ae..5bf2ba6f 100644
+index 62aa9bd6..64308c1f 100644
 --- a/src/main/java/org/bukkit/World.java
 +++ b/src/main/java/org/bukkit/World.java
 @@ -0,0 +0,0 @@ public interface World extends PluginMessageRecipient, Metadatable {
diff --git a/Spigot-API-Patches/Async-Chunks-API.patch b/Spigot-API-Patches/Async-Chunks-API.patch
index 532aa871a0..84014499db 100644
--- a/Spigot-API-Patches/Async-Chunks-API.patch
+++ b/Spigot-API-Patches/Async-Chunks-API.patch
@@ -8,7 +8,7 @@ Adds API's to load or generate chunks asynchronously.
 Also adds utility methods to Entity to teleport asynchronously.
 
 diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index ae414b51..a62663b2 100644
+index e5b76d59..62aa9bd6 100644
 --- a/src/main/java/org/bukkit/World.java
 +++ b/src/main/java/org/bukkit/World.java
 @@ -0,0 +0,0 @@ public interface World extends PluginMessageRecipient, Metadatable {
diff --git a/Spigot-API-Patches/Close-Plugin-Class-Loaders-on-Disable.patch b/Spigot-API-Patches/Close-Plugin-Class-Loaders-on-Disable.patch
index 05ae1f1438..b750302f16 100644
--- a/Spigot-API-Patches/Close-Plugin-Class-Loaders-on-Disable.patch
+++ b/Spigot-API-Patches/Close-Plugin-Class-Loaders-on-Disable.patch
@@ -53,7 +53,7 @@ index 41e26451..86cc5025 100644
       * Gets a {@link Permission} from its fully qualified name
       *
 diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
-index 1c355a75..7453230c 100644
+index 8ddaf9c2..8bb24f73 100644
 --- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java
 +++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
 @@ -0,0 +0,0 @@ public final class SimplePluginManager implements PluginManager {
diff --git a/Spigot-API-Patches/Expand-Explosions-API.patch b/Spigot-API-Patches/Expand-Explosions-API.patch
index 3336398104..c202a0f371 100644
--- a/Spigot-API-Patches/Expand-Explosions-API.patch
+++ b/Spigot-API-Patches/Expand-Explosions-API.patch
@@ -106,7 +106,7 @@ index 4cf22afc..ac3c8eef 100644
       * Returns a list of entities within a bounding box centered around a Location.
       *
 diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 54d86a76..86d488e5 100644
+index 085c7a42..08985f77 100644
 --- a/src/main/java/org/bukkit/World.java
 +++ b/src/main/java/org/bukkit/World.java
 @@ -0,0 +0,0 @@ public interface World extends PluginMessageRecipient, Metadatable {
diff --git a/Spigot-API-Patches/Expand-World.spawnParticle-API-and-add-Builder.patch b/Spigot-API-Patches/Expand-World.spawnParticle-API-and-add-Builder.patch
index bc1392d182..ce426f95bf 100644
--- a/Spigot-API-Patches/Expand-World.spawnParticle-API-and-add-Builder.patch
+++ b/Spigot-API-Patches/Expand-World.spawnParticle-API-and-add-Builder.patch
@@ -10,7 +10,7 @@ This adds a new Builder API which is much friendlier to use.
 
 diff --git a/src/main/java/com/destroystokyo/paper/ParticleBuilder.java b/src/main/java/com/destroystokyo/paper/ParticleBuilder.java
 new file mode 100644
-index 000000000..06f1602f5
+index 00000000..06f1602f
 --- /dev/null
 +++ b/src/main/java/com/destroystokyo/paper/ParticleBuilder.java
 @@ -0,0 +0,0 @@
@@ -493,7 +493,7 @@ index 000000000..06f1602f5
 +    }
 +}
 diff --git a/src/main/java/org/bukkit/Particle.java b/src/main/java/org/bukkit/Particle.java
-index 49467ac70..d2ceb07c7 100644
+index 49467ac7..d2ceb07c 100644
 --- a/src/main/java/org/bukkit/Particle.java
 +++ b/src/main/java/org/bukkit/Particle.java
 @@ -0,0 +0,0 @@ public enum Particle {
@@ -515,7 +515,7 @@ index 49467ac70..d2ceb07c7 100644
       * Options which can be applied to redstone dust particles - a particle
       * color and size.
 diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 2dcab309f..b72f7b4b8 100644
+index fbe7e76c..085c7a42 100644
 --- a/src/main/java/org/bukkit/World.java
 +++ b/src/main/java/org/bukkit/World.java
 @@ -0,0 +0,0 @@ public interface World extends PluginMessageRecipient, Metadatable {
diff --git a/Spigot-API-Patches/Fix-upstream-javadoc-warnings-and-errors.patch b/Spigot-API-Patches/Fix-upstream-javadoc-warnings-and-errors.patch
index 7c4f1e77ce..d3557ad0bc 100644
--- a/Spigot-API-Patches/Fix-upstream-javadoc-warnings-and-errors.patch
+++ b/Spigot-API-Patches/Fix-upstream-javadoc-warnings-and-errors.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Fix upstream javadoc warnings and errors
 Upstream still refuses to use Java 8 with the API so they are likely unaware these are even issues.
 
 diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index e2f0dc77e..bc1b8f120 100644
+index 808c3b4a..3b027f67 100644
 --- a/src/main/java/org/bukkit/World.java
 +++ b/src/main/java/org/bukkit/World.java
 @@ -0,0 +0,0 @@ public interface World extends PluginMessageRecipient, Metadatable {
@@ -74,7 +74,7 @@ index e2f0dc77e..bc1b8f120 100644
      public <T> void spawnParticle(@NotNull Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, @Nullable T data, boolean force);
  
 diff --git a/src/main/java/org/bukkit/entity/AreaEffectCloud.java b/src/main/java/org/bukkit/entity/AreaEffectCloud.java
-index c2096b534..bca9d3659 100644
+index c2096b53..bca9d365 100644
 --- a/src/main/java/org/bukkit/entity/AreaEffectCloud.java
 +++ b/src/main/java/org/bukkit/entity/AreaEffectCloud.java
 @@ -0,0 +0,0 @@ public interface AreaEffectCloud extends Entity {
@@ -86,7 +86,7 @@ index c2096b534..bca9d3659 100644
      <T> void setParticle(@NotNull Particle particle, @Nullable T data);
  
 diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 58a6795df..f10ef7ae7 100644
+index 58a6795d..f10ef7ae 100644
 --- a/src/main/java/org/bukkit/entity/Player.java
 +++ b/src/main/java/org/bukkit/entity/Player.java
 @@ -0,0 +0,0 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -179,7 +179,7 @@ index 58a6795df..f10ef7ae7 100644
      public <T> void spawnParticle(@NotNull Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, @Nullable T data);
  
 diff --git a/src/main/java/org/bukkit/event/player/PlayerMoveEvent.java b/src/main/java/org/bukkit/event/player/PlayerMoveEvent.java
-index 1b2267f4e..1a58734d9 100644
+index 1b2267f4..1a58734d 100644
 --- a/src/main/java/org/bukkit/event/player/PlayerMoveEvent.java
 +++ b/src/main/java/org/bukkit/event/player/PlayerMoveEvent.java
 @@ -0,0 +0,0 @@ public class PlayerMoveEvent extends PlayerEvent implements Cancellable {
diff --git a/Spigot-API-Patches/Make-EnderDragon-extend-Mob.patch b/Spigot-API-Patches/Make-EnderDragon-extend-Mob.patch
index 44bb126b27..9997a56581 100644
--- a/Spigot-API-Patches/Make-EnderDragon-extend-Mob.patch
+++ b/Spigot-API-Patches/Make-EnderDragon-extend-Mob.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Make EnderDragon extend Mob
 
 
 diff --git a/src/main/java/org/bukkit/entity/EnderDragon.java b/src/main/java/org/bukkit/entity/EnderDragon.java
-index 16199b3e..ddef550b 100644
+index c14278d2..92da609f 100644
 --- a/src/main/java/org/bukkit/entity/EnderDragon.java
 +++ b/src/main/java/org/bukkit/entity/EnderDragon.java
-@@ -0,0 +0,0 @@ import org.jetbrains.annotations.NotNull;
+@@ -0,0 +0,0 @@ import org.jetbrains.annotations.Nullable;
  /**
   * Represents an Ender Dragon
   */
diff --git a/Spigot-API-Patches/Make-plugins-list-alphabetical.patch b/Spigot-API-Patches/Make-plugins-list-alphabetical.patch
index 05cb000cec..10701d2e51 100644
--- a/Spigot-API-Patches/Make-plugins-list-alphabetical.patch
+++ b/Spigot-API-Patches/Make-plugins-list-alphabetical.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Make /plugins list alphabetical
 
 
 diff --git a/src/main/java/org/bukkit/command/defaults/PluginsCommand.java b/src/main/java/org/bukkit/command/defaults/PluginsCommand.java
-index 11fbd0e0..d4e74d29 100644
+index bcb576a4..a1071e31 100644
 --- a/src/main/java/org/bukkit/command/defaults/PluginsCommand.java
 +++ b/src/main/java/org/bukkit/command/defaults/PluginsCommand.java
 @@ -0,0 +0,0 @@ package org.bukkit.command.defaults;
@@ -25,24 +25,31 @@ index 11fbd0e0..d4e74d29 100644
 -        StringBuilder pluginList = new StringBuilder();
 -        Plugin[] plugins = Bukkit.getPluginManager().getPlugins();
 +        // Paper start
-+        TreeMap<String, ChatColor> plugins = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
++        TreeMap<String, Plugin> plugins = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
 +
 +        for (Plugin plugin : Bukkit.getPluginManager().getPlugins()) {
-+            plugins.put(plugin.getDescription().getName(), plugin.isEnabled() ? ChatColor.GREEN : ChatColor.RED);
++            plugins.put(plugin.getDescription().getName(), plugin);
 +        }
  
 -        for (Plugin plugin : plugins) {
 +        StringBuilder pluginList = new StringBuilder();
-+        for (Map.Entry<String, ChatColor> entry : plugins.entrySet()) {
++        for (Map.Entry<String, Plugin> entry : plugins.entrySet()) {
              if (pluginList.length() > 0) {
                  pluginList.append(ChatColor.WHITE);
                  pluginList.append(", ");
              }
--
+ 
 -            pluginList.append(plugin.isEnabled() ? ChatColor.GREEN : ChatColor.RED);
 -            pluginList.append(plugin.getDescription().getName());
-+            pluginList.append(entry.getValue());
-+            pluginList.append(entry.getKey());
++            Plugin plugin = entry.getValue();
+ 
+             if (plugin.getDescription().getProvides().size() > 0) {
+                 pluginList.append(" (").append(String.join(", ", plugin.getDescription().getProvides())).append(")");
+             }
++
++
++            pluginList.append(plugin.isEnabled() ? ChatColor.GREEN : ChatColor.RED);
++            pluginList.append(plugin.getDescription().getName());
          }
  
 -        return "(" + plugins.length + "): " + pluginList.toString();
diff --git a/Spigot-API-Patches/Provide-Chunk-Coordinates-as-a-Long-API.patch b/Spigot-API-Patches/Provide-Chunk-Coordinates-as-a-Long-API.patch
index d27a802be4..66742864d6 100644
--- a/Spigot-API-Patches/Provide-Chunk-Coordinates-as-a-Long-API.patch
+++ b/Spigot-API-Patches/Provide-Chunk-Coordinates-as-a-Long-API.patch
@@ -44,7 +44,7 @@ index 95e485ee..0bbef14a 100644
       * Gets the world containing this chunk
       *
 diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index f82063af..ae414b51 100644
+index 889756b1..e5b76d59 100644
 --- a/src/main/java/org/bukkit/World.java
 +++ b/src/main/java/org/bukkit/World.java
 @@ -0,0 +0,0 @@ public interface World extends PluginMessageRecipient, Metadatable {
diff --git a/Spigot-API-Patches/Provide-E-TE-Chunk-count-stat-methods.patch b/Spigot-API-Patches/Provide-E-TE-Chunk-count-stat-methods.patch
index 119a5c741d..e76e6613e2 100644
--- a/Spigot-API-Patches/Provide-E-TE-Chunk-count-stat-methods.patch
+++ b/Spigot-API-Patches/Provide-E-TE-Chunk-count-stat-methods.patch
@@ -7,7 +7,7 @@ Provides counts without the ineffeciency of using .getEntities().size()
 which creates copy of the collections.
 
 diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 4cbf6101..edd73f41 100644
+index cd8a0957..808c3b4a 100644
 --- a/src/main/java/org/bukkit/World.java
 +++ b/src/main/java/org/bukkit/World.java
 @@ -0,0 +0,0 @@ import org.jetbrains.annotations.Nullable;
diff --git a/Spigot-API-Patches/Remove-deadlock-risk-in-firing-async-events.patch b/Spigot-API-Patches/Remove-deadlock-risk-in-firing-async-events.patch
index af0bddc97f..4c38214718 100644
--- a/Spigot-API-Patches/Remove-deadlock-risk-in-firing-async-events.patch
+++ b/Spigot-API-Patches/Remove-deadlock-risk-in-firing-async-events.patch
@@ -16,7 +16,7 @@ which results in a hard crash.
 This change removes the synchronize and adds some protection around enable/disable
 
 diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
-index a8dbf282d..b4069dbf3 100644
+index a8dbf282..b4069dbf 100644
 --- a/src/main/java/org/bukkit/entity/Entity.java
 +++ b/src/main/java/org/bukkit/entity/Entity.java
 @@ -0,0 +0,0 @@ import org.jetbrains.annotations.Nullable;
@@ -29,7 +29,7 @@ index a8dbf282d..b4069dbf3 100644
       *
       * @return a new copy of Location containing the position of this entity
 diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
-index 93a8cc13b..8d54d5619 100644
+index 8bb24f73..8355f9f0 100644
 --- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java
 +++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
 @@ -0,0 +0,0 @@ public final class SimplePluginManager implements PluginManager {
@@ -97,7 +97,7 @@ index 93a8cc13b..8d54d5619 100644
          RegisteredListener[] listeners = handlers.getRegisteredListeners();
  
 diff --git a/src/test/java/org/bukkit/plugin/PluginManagerTest.java b/src/test/java/org/bukkit/plugin/PluginManagerTest.java
-index f188cd4f3..1941c9f49 100644
+index f188cd4f..1941c9f4 100644
 --- a/src/test/java/org/bukkit/plugin/PluginManagerTest.java
 +++ b/src/test/java/org/bukkit/plugin/PluginManagerTest.java
 @@ -0,0 +0,0 @@ public class PluginManagerTest {
diff --git a/Spigot-API-Patches/Timings-v2.patch b/Spigot-API-Patches/Timings-v2.patch
index 5f7b8e4342..eac1c07617 100644
--- a/Spigot-API-Patches/Timings-v2.patch
+++ b/Spigot-API-Patches/Timings-v2.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Timings v2
 
 diff --git a/src/main/java/co/aikar/timings/FullServerTickHandler.java b/src/main/java/co/aikar/timings/FullServerTickHandler.java
 new file mode 100644
-index 000000000..64531fcce
+index 00000000..64531fcc
 --- /dev/null
 +++ b/src/main/java/co/aikar/timings/FullServerTickHandler.java
 @@ -0,0 +0,0 @@
@@ -96,7 +96,7 @@ index 000000000..64531fcce
 +}
 diff --git a/src/main/java/co/aikar/timings/NullTimingHandler.java b/src/main/java/co/aikar/timings/NullTimingHandler.java
 new file mode 100644
-index 000000000..9b45ce887
+index 00000000..9b45ce88
 --- /dev/null
 +++ b/src/main/java/co/aikar/timings/NullTimingHandler.java
 @@ -0,0 +0,0 @@
@@ -170,7 +170,7 @@ index 000000000..9b45ce887
 +}
 diff --git a/src/main/java/co/aikar/timings/TimedEventExecutor.java b/src/main/java/co/aikar/timings/TimedEventExecutor.java
 new file mode 100644
-index 000000000..933ecf9bd
+index 00000000..933ecf9b
 --- /dev/null
 +++ b/src/main/java/co/aikar/timings/TimedEventExecutor.java
 @@ -0,0 +0,0 @@
@@ -259,7 +259,7 @@ index 000000000..933ecf9bd
 +}
 diff --git a/src/main/java/co/aikar/timings/Timing.java b/src/main/java/co/aikar/timings/Timing.java
 new file mode 100644
-index 000000000..a21e5ead5
+index 00000000..a21e5ead
 --- /dev/null
 +++ b/src/main/java/co/aikar/timings/Timing.java
 @@ -0,0 +0,0 @@
@@ -348,7 +348,7 @@ index 000000000..a21e5ead5
 +}
 diff --git a/src/main/java/co/aikar/timings/TimingData.java b/src/main/java/co/aikar/timings/TimingData.java
 new file mode 100644
-index 000000000..a5d13a1e4
+index 00000000..a5d13a1e
 --- /dev/null
 +++ b/src/main/java/co/aikar/timings/TimingData.java
 @@ -0,0 +0,0 @@
@@ -476,7 +476,7 @@ index 000000000..a5d13a1e4
 +}
 diff --git a/src/main/java/co/aikar/timings/TimingHandler.java b/src/main/java/co/aikar/timings/TimingHandler.java
 new file mode 100644
-index 000000000..cc0390c06
+index 00000000..cc0390c0
 --- /dev/null
 +++ b/src/main/java/co/aikar/timings/TimingHandler.java
 @@ -0,0 +0,0 @@
@@ -709,7 +709,7 @@ index 000000000..cc0390c06
 +}
 diff --git a/src/main/java/co/aikar/timings/TimingHistory.java b/src/main/java/co/aikar/timings/TimingHistory.java
 new file mode 100644
-index 000000000..ddaed8127
+index 00000000..ddaed812
 --- /dev/null
 +++ b/src/main/java/co/aikar/timings/TimingHistory.java
 @@ -0,0 +0,0 @@
@@ -1069,7 +1069,7 @@ index 000000000..ddaed8127
 +}
 diff --git a/src/main/java/co/aikar/timings/TimingHistoryEntry.java b/src/main/java/co/aikar/timings/TimingHistoryEntry.java
 new file mode 100644
-index 000000000..86d5ac6bd
+index 00000000..86d5ac6b
 --- /dev/null
 +++ b/src/main/java/co/aikar/timings/TimingHistoryEntry.java
 @@ -0,0 +0,0 @@
@@ -1133,7 +1133,7 @@ index 000000000..86d5ac6bd
 +}
 diff --git a/src/main/java/co/aikar/timings/TimingIdentifier.java b/src/main/java/co/aikar/timings/TimingIdentifier.java
 new file mode 100644
-index 000000000..df142a89b
+index 00000000..df142a89
 --- /dev/null
 +++ b/src/main/java/co/aikar/timings/TimingIdentifier.java
 @@ -0,0 +0,0 @@
@@ -1255,7 +1255,7 @@ index 000000000..df142a89b
 +}
 diff --git a/src/main/java/co/aikar/timings/Timings.java b/src/main/java/co/aikar/timings/Timings.java
 new file mode 100644
-index 000000000..0b34e0d01
+index 00000000..0b34e0d0
 --- /dev/null
 +++ b/src/main/java/co/aikar/timings/Timings.java
 @@ -0,0 +0,0 @@
@@ -1554,7 +1554,7 @@ index 000000000..0b34e0d01
 +}
 diff --git a/src/main/java/co/aikar/timings/TimingsCommand.java b/src/main/java/co/aikar/timings/TimingsCommand.java
 new file mode 100644
-index 000000000..c0d8f2016
+index 00000000..c0d8f201
 --- /dev/null
 +++ b/src/main/java/co/aikar/timings/TimingsCommand.java
 @@ -0,0 +0,0 @@
@@ -1682,7 +1682,7 @@ index 000000000..c0d8f2016
 +}
 diff --git a/src/main/java/co/aikar/timings/TimingsExport.java b/src/main/java/co/aikar/timings/TimingsExport.java
 new file mode 100644
-index 000000000..93d5a3f97
+index 00000000..93d5a3f9
 --- /dev/null
 +++ b/src/main/java/co/aikar/timings/TimingsExport.java
 @@ -0,0 +0,0 @@
@@ -2043,7 +2043,7 @@ index 000000000..93d5a3f97
 +}
 diff --git a/src/main/java/co/aikar/timings/TimingsManager.java b/src/main/java/co/aikar/timings/TimingsManager.java
 new file mode 100644
-index 000000000..ef824d701
+index 00000000..ef824d70
 --- /dev/null
 +++ b/src/main/java/co/aikar/timings/TimingsManager.java
 @@ -0,0 +0,0 @@
@@ -2237,7 +2237,7 @@ index 000000000..ef824d701
 +}
 diff --git a/src/main/java/co/aikar/timings/TimingsReportListener.java b/src/main/java/co/aikar/timings/TimingsReportListener.java
 new file mode 100644
-index 000000000..bf3e059fe
+index 00000000..bf3e059f
 --- /dev/null
 +++ b/src/main/java/co/aikar/timings/TimingsReportListener.java
 @@ -0,0 +0,0 @@
@@ -2318,7 +2318,7 @@ index 000000000..bf3e059fe
 +}
 diff --git a/src/main/java/co/aikar/timings/UnsafeTimingHandler.java b/src/main/java/co/aikar/timings/UnsafeTimingHandler.java
 new file mode 100644
-index 000000000..632c49615
+index 00000000..632c4961
 --- /dev/null
 +++ b/src/main/java/co/aikar/timings/UnsafeTimingHandler.java
 @@ -0,0 +0,0 @@
@@ -2377,7 +2377,7 @@ index 000000000..632c49615
 +}
 diff --git a/src/main/java/co/aikar/util/Counter.java b/src/main/java/co/aikar/util/Counter.java
 new file mode 100644
-index 000000000..80155072d
+index 00000000..80155072
 --- /dev/null
 +++ b/src/main/java/co/aikar/util/Counter.java
 @@ -0,0 +0,0 @@
@@ -2421,7 +2421,7 @@ index 000000000..80155072d
 +}
 diff --git a/src/main/java/co/aikar/util/JSONUtil.java b/src/main/java/co/aikar/util/JSONUtil.java
 new file mode 100644
-index 000000000..190bf0598
+index 00000000..190bf059
 --- /dev/null
 +++ b/src/main/java/co/aikar/util/JSONUtil.java
 @@ -0,0 +0,0 @@
@@ -2567,7 +2567,7 @@ index 000000000..190bf0598
 +}
 diff --git a/src/main/java/co/aikar/util/LoadingIntMap.java b/src/main/java/co/aikar/util/LoadingIntMap.java
 new file mode 100644
-index 000000000..63a899c7d
+index 00000000..63a899c7
 --- /dev/null
 +++ b/src/main/java/co/aikar/util/LoadingIntMap.java
 @@ -0,0 +0,0 @@
@@ -2649,7 +2649,7 @@ index 000000000..63a899c7d
 +}
 diff --git a/src/main/java/co/aikar/util/LoadingMap.java b/src/main/java/co/aikar/util/LoadingMap.java
 new file mode 100644
-index 000000000..aedbb0332
+index 00000000..aedbb033
 --- /dev/null
 +++ b/src/main/java/co/aikar/util/LoadingMap.java
 @@ -0,0 +0,0 @@
@@ -3023,7 +3023,7 @@ index 000000000..aedbb0332
 +}
 diff --git a/src/main/java/co/aikar/util/MRUMapCache.java b/src/main/java/co/aikar/util/MRUMapCache.java
 new file mode 100644
-index 000000000..5989ee212
+index 00000000..5989ee21
 --- /dev/null
 +++ b/src/main/java/co/aikar/util/MRUMapCache.java
 @@ -0,0 +0,0 @@
@@ -3139,7 +3139,7 @@ index 000000000..5989ee212
 +    }
 +}
 diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index ae21e0f97..755869366 100644
+index ae21e0f9..75586936 100644
 --- a/src/main/java/org/bukkit/Bukkit.java
 +++ b/src/main/java/org/bukkit/Bukkit.java
 @@ -0,0 +0,0 @@ public final class Bukkit {
@@ -3151,7 +3151,7 @@ index ae21e0f97..755869366 100644
  
      /**
 diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index f6fb72fab..fad4e9292 100644
+index f6fb72fa..fad4e929 100644
 --- a/src/main/java/org/bukkit/Server.java
 +++ b/src/main/java/org/bukkit/Server.java
 @@ -0,0 +0,0 @@ public interface Server extends PluginMessageRecipient {
@@ -3182,7 +3182,7 @@ index f6fb72fab..fad4e9292 100644
           * Sends the component to the player
           *
 diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 247d194f8..72c5501e8 100644
+index 247d194f..72c5501e 100644
 --- a/src/main/java/org/bukkit/UnsafeValues.java
 +++ b/src/main/java/org/bukkit/UnsafeValues.java
 @@ -0,0 +0,0 @@ public interface UnsafeValues {
@@ -3200,7 +3200,7 @@ index 247d194f8..72c5501e8 100644
  }
 diff --git a/src/main/java/org/bukkit/command/BufferedCommandSender.java b/src/main/java/org/bukkit/command/BufferedCommandSender.java
 new file mode 100644
-index 000000000..f9a00aecc
+index 00000000..f9a00aec
 --- /dev/null
 +++ b/src/main/java/org/bukkit/command/BufferedCommandSender.java
 @@ -0,0 +0,0 @@
@@ -3226,7 +3226,7 @@ index 000000000..f9a00aecc
 +    }
 +}
 diff --git a/src/main/java/org/bukkit/command/Command.java b/src/main/java/org/bukkit/command/Command.java
-index 4bfc21468..03bdc1622 100644
+index 4bfc2146..03bdc162 100644
 --- a/src/main/java/org/bukkit/command/Command.java
 +++ b/src/main/java/org/bukkit/command/Command.java
 @@ -0,0 +0,0 @@ public abstract class Command {
@@ -3256,7 +3256,7 @@ index 4bfc21468..03bdc1622 100644
              return true;
          }
 diff --git a/src/main/java/org/bukkit/command/FormattedCommandAlias.java b/src/main/java/org/bukkit/command/FormattedCommandAlias.java
-index d6c8938b1..a6ad94ef9 100644
+index d6c8938b..a6ad94ef 100644
 --- a/src/main/java/org/bukkit/command/FormattedCommandAlias.java
 +++ b/src/main/java/org/bukkit/command/FormattedCommandAlias.java
 @@ -0,0 +0,0 @@ public class FormattedCommandAlias extends Command {
@@ -3280,7 +3280,7 @@ index d6c8938b1..a6ad94ef9 100644
      }
 diff --git a/src/main/java/org/bukkit/command/MessageCommandSender.java b/src/main/java/org/bukkit/command/MessageCommandSender.java
 new file mode 100644
-index 000000000..ca1893e9f
+index 00000000..ca1893e9
 --- /dev/null
 +++ b/src/main/java/org/bukkit/command/MessageCommandSender.java
 @@ -0,0 +0,0 @@
@@ -3399,7 +3399,7 @@ index 000000000..ca1893e9f
 +
 +}
 diff --git a/src/main/java/org/bukkit/command/SimpleCommandMap.java b/src/main/java/org/bukkit/command/SimpleCommandMap.java
-index 81e4fa573..f020cb04e 100644
+index 81e4fa57..f020cb04 100644
 --- a/src/main/java/org/bukkit/command/SimpleCommandMap.java
 +++ b/src/main/java/org/bukkit/command/SimpleCommandMap.java
 @@ -0,0 +0,0 @@ import org.bukkit.command.defaults.BukkitCommand;
@@ -3456,7 +3456,7 @@ index 81e4fa573..f020cb04e 100644
  
 diff --git a/src/main/java/org/bukkit/command/defaults/TimingsCommand.java b/src/main/java/org/bukkit/command/defaults/TimingsCommand.java
 deleted file mode 100644
-index 2a145d851..000000000
+index 2a145d85..00000000
 --- a/src/main/java/org/bukkit/command/defaults/TimingsCommand.java
 +++ /dev/null
 @@ -0,0 +0,0 @@
@@ -3711,7 +3711,7 @@ index 2a145d851..000000000
 -    // Spigot end
 -}
 diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 9b0153f7d..9d82a691a 100644
+index 9b0153f7..9d82a691 100644
 --- a/src/main/java/org/bukkit/entity/Player.java
 +++ b/src/main/java/org/bukkit/entity/Player.java
 @@ -0,0 +0,0 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -3727,7 +3727,7 @@ index 9b0153f7d..9d82a691a 100644
  
      @NotNull
 diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
-index 180794eb4..b9ce12ff9 100644
+index ec77d7be..c548911c 100644
 --- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java
 +++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
 @@ -0,0 +0,0 @@ public final class SimplePluginManager implements PluginManager {
@@ -3744,9 +3744,12 @@ index 180794eb4..b9ce12ff9 100644
              plugins.add(result);
 -            lookupNames.put(result.getDescription().getName(), result);
 +            lookupNames.put(result.getDescription().getName().toLowerCase(java.util.Locale.ENGLISH), result); // Paper
+             for (String provided : result.getDescription().getProvides()) {
+-                lookupNames.putIfAbsent(provided, result);
++                lookupNames.putIfAbsent(provided.toLowerCase(java.util.Locale.ENGLISH), result); // Paper
+             }
          }
  
-         return result;
 @@ -0,0 +0,0 @@ public final class SimplePluginManager implements PluginManager {
      @Override
      @Nullable
@@ -3784,7 +3787,7 @@ index 180794eb4..b9ce12ff9 100644
      }
  }
 diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
-index df8a5dcbe..50a51394f 100644
+index df8a5dcb..50a51394 100644
 --- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
 +++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
 @@ -0,0 +0,0 @@ public final class JavaPluginLoader implements PluginLoader {
@@ -3827,7 +3830,7 @@ index df8a5dcbe..50a51394f 100644
                  eventSet.add(new TimedRegisteredListener(listener, executor, eh.priority(), plugin, eh.ignoreCancelled()));
              } else {
 diff --git a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java
-index 5830e8b9b..36f542a85 100644
+index 5830e8b9..36f542a8 100644
 --- a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java
 +++ b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java
 @@ -0,0 +0,0 @@ import org.jetbrains.annotations.Nullable;
@@ -3841,7 +3844,7 @@ index 5830e8b9b..36f542a85 100644
      private final Map<String, Class<?>> classes = new ConcurrentHashMap<String, Class<?>>();
      private final PluginDescriptionFile description;
 diff --git a/src/main/java/org/bukkit/util/CachedServerIcon.java b/src/main/java/org/bukkit/util/CachedServerIcon.java
-index 5ca863b36..612958a33 100644
+index 5ca863b3..612958a3 100644
 --- a/src/main/java/org/bukkit/util/CachedServerIcon.java
 +++ b/src/main/java/org/bukkit/util/CachedServerIcon.java
 @@ -0,0 +0,0 @@ package org.bukkit.util;
@@ -3864,7 +3867,7 @@ index 5ca863b36..612958a33 100644
 +
 +}
 diff --git a/src/main/java/org/spigotmc/CustomTimingsHandler.java b/src/main/java/org/spigotmc/CustomTimingsHandler.java
-index 44badfedc..3cbe5c2bb 100644
+index 44badfed..3cbe5c2b 100644
 --- a/src/main/java/org/spigotmc/CustomTimingsHandler.java
 +++ b/src/main/java/org/spigotmc/CustomTimingsHandler.java
 @@ -0,0 +0,0 @@
diff --git a/Spigot-API-Patches/isChunkGenerated-API.patch b/Spigot-API-Patches/isChunkGenerated-API.patch
index 7a248c8cdb..589393370b 100644
--- a/Spigot-API-Patches/isChunkGenerated-API.patch
+++ b/Spigot-API-Patches/isChunkGenerated-API.patch
@@ -34,7 +34,7 @@ index 07e532cd..6e1a1124 100644
      /**
       * Sets the position of this Location and returns itself
 diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index e291c544..5366d205 100644
+index 64308c1f..b7ad4f56 100644
 --- a/src/main/java/org/bukkit/World.java
 +++ b/src/main/java/org/bukkit/World.java
 @@ -0,0 +0,0 @@ public interface World extends PluginMessageRecipient, Metadatable {
diff --git a/Spigot-Server-Patches/Add-Heightmap-API.patch b/Spigot-Server-Patches/Add-Heightmap-API.patch
index 80a359f31f..0604ace649 100644
--- a/Spigot-Server-Patches/Add-Heightmap-API.patch
+++ b/Spigot-Server-Patches/Add-Heightmap-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add Heightmap API
 
 
 diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 4aca398f1..20d9dd839 100644
+index 4aca398f10..20d9dd839c 100644
 --- a/src/main/java/net/minecraft/server/World.java
 +++ b/src/main/java/net/minecraft/server/World.java
 @@ -0,0 +0,0 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -20,7 +20,7 @@ index 4aca398f1..20d9dd839 100644
  
          if (i >= -30000000 && j >= -30000000 && i < 30000000 && j < 30000000) {
 diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index b41404652..d4ccef12f 100644
+index 06b2e8b910..693dc983cd 100644
 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
 +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
 @@ -0,0 +0,0 @@ public class CraftWorld implements World {
diff --git a/Spigot-Server-Patches/Add-config-to-disable-ender-dragon-legacy-check.patch b/Spigot-Server-Patches/Add-config-to-disable-ender-dragon-legacy-check.patch
index a1d05e21ac..f52298a90e 100644
--- a/Spigot-Server-Patches/Add-config-to-disable-ender-dragon-legacy-check.patch
+++ b/Spigot-Server-Patches/Add-config-to-disable-ender-dragon-legacy-check.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add config to disable ender dragon legacy check
 
 
 diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
-index 33ce9a500..cea15d50e 100644
+index 33ce9a5004..cea15d50ed 100644
 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
 +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
 @@ -0,0 +0,0 @@ public class PaperWorldConfig {
@@ -19,7 +19,7 @@ index 33ce9a500..cea15d50e 100644
 +    }
  }
 diff --git a/src/main/java/net/minecraft/server/EnderDragonBattle.java b/src/main/java/net/minecraft/server/EnderDragonBattle.java
-index 909d13c42..218c04245 100644
+index 0674811849..687efa022d 100644
 --- a/src/main/java/net/minecraft/server/EnderDragonBattle.java
 +++ b/src/main/java/net/minecraft/server/EnderDragonBattle.java
 @@ -0,0 +0,0 @@ public class EnderDragonBattle {
@@ -29,11 +29,11 @@ index 909d13c42..218c04245 100644
 -    private boolean k;
 +    private boolean k; private void setDragonKilled(boolean dragonKilled) { this.k = dragonKilled; } // Paper - OBFHELPER
      private boolean l;
-     private UUID m;
+     public UUID m; // CraftBukkit PAIL private -> public, rename dragonUUID
 -    private boolean n;
-+    private boolean n;  private void setScanForLegacyFight(boolean scanForLegacyFight) { this.n = scanForLegacyFight; } private boolean scanForLegacyFight() { return this.n; } // Paper - OBFHELPER
-     private BlockPosition o;
-     private EnumDragonRespawn p;
++    private boolean n; private void setScanForLegacyFight(boolean scanForLegacyFight) { this.n = scanForLegacyFight; } private boolean scanForLegacyFight() { return this.n; } // Paper - OBFHELPER
+     public BlockPosition o; // CraftBukkit PAIL private -> public, rename portalLocation
+     public EnumDragonRespawn p; // CraftBukkit PAIL private -> public, rename respawnPhase
      private int q;
 @@ -0,0 +0,0 @@ public class EnderDragonBattle {
          this.bossBattle = (BossBattleServer) (new BossBattleServer(new ChatMessage("entity.minecraft.ender_dragon", new Object[0]), BossBattle.BarColor.PINK, BossBattle.BarStyle.PROGRESS)).setPlayMusic(true).c(true);
diff --git a/Spigot-Server-Patches/Add-sun-related-API.patch b/Spigot-Server-Patches/Add-sun-related-API.patch
index f2934e1cbf..bab623b6dd 100644
--- a/Spigot-Server-Patches/Add-sun-related-API.patch
+++ b/Spigot-Server-Patches/Add-sun-related-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add sun related API
 
 
 diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
-index b5816dc89..bed15873b 100644
+index b5816dc89e..bed15873b6 100644
 --- a/src/main/java/net/minecraft/server/EntityInsentient.java
 +++ b/src/main/java/net/minecraft/server/EntityInsentient.java
 @@ -0,0 +0,0 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -17,7 +17,7 @@ index b5816dc89..bed15873b 100644
          if (this.world.isDay() && !this.world.isClientSide) {
              float f = this.aI();
 diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 9940b9520..b41404652 100644
+index 6e1ae94cea..06b2e8b910 100644
 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
 +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
 @@ -0,0 +0,0 @@ public class CraftWorld implements World {
@@ -35,7 +35,7 @@ index 9940b9520..b41404652 100644
      public boolean createExplosion(double x, double y, double z, float power) {
          return createExplosion(x, y, z, power, false, true);
 diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java
-index c89bc7024..eaad222fd 100644
+index c89bc7024b..eaad222fd3 100644
 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java
 +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java
 @@ -0,0 +0,0 @@ public abstract class CraftMob extends CraftLivingEntity implements Mob {
diff --git a/Spigot-Server-Patches/Allow-spawning-Item-entities-with-World.spawnEntity.patch b/Spigot-Server-Patches/Allow-spawning-Item-entities-with-World.spawnEntity.patch
index 5c0c93e6c3..00188daac8 100644
--- a/Spigot-Server-Patches/Allow-spawning-Item-entities-with-World.spawnEntity.patch
+++ b/Spigot-Server-Patches/Allow-spawning-Item-entities-with-World.spawnEntity.patch
@@ -8,7 +8,7 @@ This API has more capabilities than .dropItem with the Consumer function
 Item can be set inside of the Consumer pre spawn function.
 
 diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 451cc0c2d..aefa7bb18 100644
+index daf305bb14..0b4821e16e 100644
 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
 +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
 @@ -0,0 +0,0 @@ public class CraftWorld implements World {
diff --git a/Spigot-Server-Patches/Asynchronous-chunk-IO-and-loading.patch b/Spigot-Server-Patches/Asynchronous-chunk-IO-and-loading.patch
index a7a7eca1a4..9267695625 100644
--- a/Spigot-Server-Patches/Asynchronous-chunk-IO-and-loading.patch
+++ b/Spigot-Server-Patches/Asynchronous-chunk-IO-and-loading.patch
@@ -3933,7 +3933,7 @@ index c999f8c9bf..b59ef1a633 100644
  
          HAS_SPACE(VillagePlaceRecord::d), IS_OCCUPIED(VillagePlaceRecord::e), ANY((villageplacerecord) -> {
 diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
-index 30a50afafe..5c8894840b 100644
+index 5063544a44..2b22bf5090 100644
 --- a/src/main/java/net/minecraft/server/WorldServer.java
 +++ b/src/main/java/net/minecraft/server/WorldServer.java
 @@ -0,0 +0,0 @@ public class WorldServer extends World {
@@ -4026,7 +4026,7 @@ index 30a50afafe..5c8894840b 100644
  
      // CraftBukkit start
 diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 7ae9f8ab56..defee67226 100644
+index a71bb86508..1d275520fb 100644
 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
 +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
 @@ -0,0 +0,0 @@ public class CraftWorld implements World {
@@ -4062,9 +4062,9 @@ index 7ae9f8ab56..defee67226 100644
              // fall through to load
              // we do this so we do not re-read the chunk data on disk
 @@ -0,0 +0,0 @@ public class CraftWorld implements World {
-         return persistentRaid.raids.values().stream().map(CraftRaid::new).collect(Collectors.toList());
-     }
  
+         return new CraftDragonBattle(((WorldProviderTheEnd) worldProvider).o()); // PAIL rename getDragonBattle
+     }
 +    // Paper start
 +    @Override
 +    public CompletableFuture<Chunk> getChunkAtAsync(int x, int z, boolean gen) {
@@ -4083,10 +4083,9 @@ index 7ae9f8ab56..defee67226 100644
 +        return ret;
 +    }
 +    // Paper end
-+
+ 
      // Spigot start
      @Override
-     public int getViewDistance() {
 diff --git a/src/main/java/org/spigotmc/WatchdogThread.java b/src/main/java/org/spigotmc/WatchdogThread.java
 index 07936eeba2..5bdcdcf9e8 100644
 --- a/src/main/java/org/spigotmc/WatchdogThread.java
diff --git a/Spigot-Server-Patches/Call-BlockRedstoneEvent-for-fence-gates.patch b/Spigot-Server-Patches/Call-BlockRedstoneEvent-for-fence-gates.patch
deleted file mode 100644
index 2ed32e957b..0000000000
--- a/Spigot-Server-Patches/Call-BlockRedstoneEvent-for-fence-gates.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Jan Boerman <Janboerman95@gmail.com>
-Date: Sat, 14 Mar 2020 14:17:35 +0100
-Subject: [PATCH] Call BlockRedstoneEvent for fence gates
-
-
-diff --git a/src/main/java/net/minecraft/server/BlockFenceGate.java b/src/main/java/net/minecraft/server/BlockFenceGate.java
-index 432e47bb99..583eb68837 100644
---- a/src/main/java/net/minecraft/server/BlockFenceGate.java
-+++ b/src/main/java/net/minecraft/server/BlockFenceGate.java
-@@ -0,0 +0,0 @@ public class BlockFenceGate extends BlockFacingHorizontal {
-     public void doPhysics(IBlockData iblockdata, World world, BlockPosition blockposition, Block block, BlockPosition blockposition1, boolean flag) {
-         if (!world.isClientSide) {
-             boolean flag1 = world.isBlockIndirectlyPowered(blockposition);
-+            // Paper start
-+            boolean isOldPowered = iblockdata.get(BlockFenceGate.POWERED);
-+            if (flag1 != isOldPowered) {
-+                int newPower = flag1 ? 15 : 0;
-+                int oldPower = isOldPowered ? 15 : 0;
-+                org.bukkit.block.Block bukkitBlock = org.bukkit.craftbukkit.block.CraftBlock.at(world, blockposition);
-+                org.bukkit.event.block.BlockRedstoneEvent eventRedstone = new org.bukkit.event.block.BlockRedstoneEvent(bukkitBlock, oldPower, newPower);
-+                world.getServer().getPluginManager().callEvent(eventRedstone);
-+                flag1 = eventRedstone.getNewCurrent() > 0;
-+            }
-+            // Paper end
- 
-             if ((Boolean) iblockdata.get(BlockFenceGate.POWERED) != flag1) {
-                 world.setTypeAndData(blockposition, (IBlockData) ((IBlockData) iblockdata.set(BlockFenceGate.POWERED, flag1)).set(BlockFenceGate.OPEN, flag1), 2);
---
\ No newline at end of file
diff --git a/Spigot-Server-Patches/Configurable-Keep-Spawn-Loaded-range-per-world.patch b/Spigot-Server-Patches/Configurable-Keep-Spawn-Loaded-range-per-world.patch
index c9b9352a09..87920767de 100644
--- a/Spigot-Server-Patches/Configurable-Keep-Spawn-Loaded-range-per-world.patch
+++ b/Spigot-Server-Patches/Configurable-Keep-Spawn-Loaded-range-per-world.patch
@@ -207,7 +207,7 @@ index ea3a890027..f4ee20efd9 100644
  
      public LongSet getForceLoadedChunks() {
 diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 41d1c3bb62..ecc10a4f7a 100644
+index 8b6d22e710..661a89c5d6 100644
 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
 +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
 @@ -0,0 +0,0 @@ public class CraftWorld implements World {
diff --git a/Spigot-Server-Patches/Expand-Explosions-API.patch b/Spigot-Server-Patches/Expand-Explosions-API.patch
index b984fa455d..ec549652b1 100644
--- a/Spigot-Server-Patches/Expand-Explosions-API.patch
+++ b/Spigot-Server-Patches/Expand-Explosions-API.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Expand Explosions API
 Add Entity as a Source capability, and add more API choices, and on Location.
 
 diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index f5a3dd484..9552d409e 100644
+index 0b4821e16e..1787c2d205 100644
 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
 +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
 @@ -0,0 +0,0 @@ public class CraftWorld implements World {
diff --git a/Spigot-Server-Patches/Expand-World.spawnParticle-API-and-add-Builder.patch b/Spigot-Server-Patches/Expand-World.spawnParticle-API-and-add-Builder.patch
index 2f6115196d..d97e749801 100644
--- a/Spigot-Server-Patches/Expand-World.spawnParticle-API-and-add-Builder.patch
+++ b/Spigot-Server-Patches/Expand-World.spawnParticle-API-and-add-Builder.patch
@@ -43,7 +43,7 @@ index eb99f3a967..da391e945c 100644
  
              if (this.a(entityplayer, force, d0, d1, d2, packetplayoutworldparticles)) { // CraftBukkit
 diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 8e1057cdca..367da203ac 100644
+index d3df3f593f..daf305bb14 100644
 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
 +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
 @@ -0,0 +0,0 @@ public class CraftWorld implements World {
diff --git a/Spigot-Server-Patches/ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch b/Spigot-Server-Patches/ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch
index 79276f25de..e7a0b885b2 100644
--- a/Spigot-Server-Patches/ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch
+++ b/Spigot-Server-Patches/ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch
@@ -265,7 +265,7 @@ index 8dc47452a4..560e2f42b7 100644
  
      }
 diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index a41b32ddc7..462458645e 100644
+index c06b10c6b1..d3df3f593f 100644
 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
 +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
 @@ -0,0 +0,0 @@ public class CraftWorld implements World {
diff --git a/Spigot-Server-Patches/Fix-World-isChunkGenerated-calls.patch b/Spigot-Server-Patches/Fix-World-isChunkGenerated-calls.patch
index 868f072aa3..1ec0e7c09a 100644
--- a/Spigot-Server-Patches/Fix-World-isChunkGenerated-calls.patch
+++ b/Spigot-Server-Patches/Fix-World-isChunkGenerated-calls.patch
@@ -8,7 +8,7 @@ This patch also adds a chunk status cache on region files (note that
 its only purpose is to cache the status on DISK)
 
 diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
-index d2ec089e8..21498da29 100644
+index 462b224dfe..b582171c51 100644
 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
 +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
 @@ -0,0 +0,0 @@ public class ChunkProviderServer extends IChunkProvider {
@@ -43,7 +43,7 @@ index d2ec089e8..21498da29 100644
  
      @Nullable
 diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
-index 6371f2f5b..961228e9d 100644
+index 6371f2f5b1..961228e9df 100644
 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
 +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
 @@ -0,0 +0,0 @@ public class ChunkRegionLoader {
@@ -65,7 +65,7 @@ index 6371f2f5b..961228e9d 100644
          if (nbttagcompound != null) {
              ChunkStatus chunkstatus = ChunkStatus.a(nbttagcompound.getCompound("Level").getString("Status"));
 diff --git a/src/main/java/net/minecraft/server/ChunkStatus.java b/src/main/java/net/minecraft/server/ChunkStatus.java
-index efdf611e6..134a4f0b7 100644
+index efdf611e66..134a4f0b7d 100644
 --- a/src/main/java/net/minecraft/server/ChunkStatus.java
 +++ b/src/main/java/net/minecraft/server/ChunkStatus.java
 @@ -0,0 +0,0 @@ public class ChunkStatus {
@@ -95,7 +95,7 @@ index efdf611e6..134a4f0b7 100644
          return (ChunkStatus) IRegistry.CHUNK_STATUS.get(MinecraftKey.a(s));
      }
 diff --git a/src/main/java/net/minecraft/server/IChunkLoader.java b/src/main/java/net/minecraft/server/IChunkLoader.java
-index f0a052eec..2f95174fc 100644
+index f0a052eec2..2f95174fcc 100644
 --- a/src/main/java/net/minecraft/server/IChunkLoader.java
 +++ b/src/main/java/net/minecraft/server/IChunkLoader.java
 @@ -0,0 +0,0 @@ import javax.annotation.Nullable;
@@ -108,7 +108,7 @@ index f0a052eec..2f95174fc 100644
      @Nullable
      private PersistentStructureLegacy c;
 diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java
-index 66a389a67..027a6b0fd 100644
+index 66a389a67e..027a6b0fd2 100644
 --- a/src/main/java/net/minecraft/server/PlayerChunk.java
 +++ b/src/main/java/net/minecraft/server/PlayerChunk.java
 @@ -0,0 +0,0 @@ public class PlayerChunk {
@@ -132,7 +132,7 @@ index 66a389a67..027a6b0fd 100644
  
      public CompletableFuture<Either<IChunkAccess, PlayerChunk.Failure>> getStatusFutureUnchecked(ChunkStatus chunkstatus) {
 diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
-index 5c28ccc00..04728dca7 100644
+index 5c28ccc004..04728dca77 100644
 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
 +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
 @@ -0,0 +0,0 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
@@ -201,7 +201,7 @@ index 5c28ccc00..04728dca7 100644
          // Spigot start
          return isOutsideOfRange(chunkcoordintpair, false);
 diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java
-index 6b543f89d..d37abf2cf 100644
+index 6b543f89d4..d37abf2cf3 100644
 --- a/src/main/java/net/minecraft/server/RegionFile.java
 +++ b/src/main/java/net/minecraft/server/RegionFile.java
 @@ -0,0 +0,0 @@ public class RegionFile implements AutoCloseable {
@@ -250,7 +250,7 @@ index 6b543f89d..d37abf2cf 100644
              this.c();
          } finally {
 diff --git a/src/main/java/net/minecraft/server/RegionFileCache.java b/src/main/java/net/minecraft/server/RegionFileCache.java
-index b3d1bb5fd..e07ae9854 100644
+index b3d1bb5fd8..e07ae98540 100644
 --- a/src/main/java/net/minecraft/server/RegionFileCache.java
 +++ b/src/main/java/net/minecraft/server/RegionFileCache.java
 @@ -0,0 +0,0 @@ public final class RegionFileCache implements AutoCloseable {
@@ -280,7 +280,7 @@ index b3d1bb5fd..e07ae9854 100644
              throwable = throwable1;
              throw throwable1;
 diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index ecc10a4f7..7ae9f8ab5 100644
+index 661a89c5d6..a71bb86508 100644
 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
 +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
 @@ -0,0 +0,0 @@ import java.util.Objects;
diff --git a/Spigot-Server-Patches/Fix-spawning-of-hanging-entities-that-are-not-ItemFr.patch b/Spigot-Server-Patches/Fix-spawning-of-hanging-entities-that-are-not-ItemFr.patch
index 48d442498b..b00d8ca40d 100644
--- a/Spigot-Server-Patches/Fix-spawning-of-hanging-entities-that-are-not-ItemFr.patch
+++ b/Spigot-Server-Patches/Fix-spawning-of-hanging-entities-that-are-not-ItemFr.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Fix spawning of hanging entities that are not ItemFrames and
 
 
 diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index defee6722..1a5ee3410 100644
+index 1d275520fb..051506fce8 100644
 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
 +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
 @@ -0,0 +0,0 @@ public class CraftWorld implements World {
diff --git a/Spigot-Server-Patches/Ignore-Dead-Entities-in-entityList-iteration.patch b/Spigot-Server-Patches/Ignore-Dead-Entities-in-entityList-iteration.patch
index f6a9995776..92dcfb4df4 100644
--- a/Spigot-Server-Patches/Ignore-Dead-Entities-in-entityList-iteration.patch
+++ b/Spigot-Server-Patches/Ignore-Dead-Entities-in-entityList-iteration.patch
@@ -92,7 +92,7 @@ index 6ce7f77a5e..c13aefff94 100644
      }
  
 diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 05a6b25045..326c3564ce 100644
+index 588c87119f..e94ac028df 100644
 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
 +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
 @@ -0,0 +0,0 @@ public class CraftWorld implements World {
diff --git a/Spigot-Server-Patches/Implement-World.getEntity-UUID-API.patch b/Spigot-Server-Patches/Implement-World.getEntity-UUID-API.patch
index 99518d7c75..6223ff80dc 100644
--- a/Spigot-Server-Patches/Implement-World.getEntity-UUID-API.patch
+++ b/Spigot-Server-Patches/Implement-World.getEntity-UUID-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Implement World.getEntity(UUID) API
 
 
 diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 9552d409e..05a6b2504 100644
+index 1787c2d205..588c87119f 100644
 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
 +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
 @@ -0,0 +0,0 @@ public class CraftWorld implements World {
diff --git a/Spigot-Server-Patches/MC-Dev-fixes.patch b/Spigot-Server-Patches/MC-Dev-fixes.patch
index e255259039..3160817d2e 100644
--- a/Spigot-Server-Patches/MC-Dev-fixes.patch
+++ b/Spigot-Server-Patches/MC-Dev-fixes.patch
@@ -179,28 +179,6 @@ index 2dd27edc83..6def3616ef 100644
          }));
          CraftingManager.LOGGER.info("Loaded {} recipes", map1.size());
      }
-diff --git a/src/main/java/net/minecraft/server/EnderDragonBattle.java b/src/main/java/net/minecraft/server/EnderDragonBattle.java
-index f2c0e06bab..909d13c427 100644
---- a/src/main/java/net/minecraft/server/EnderDragonBattle.java
-+++ b/src/main/java/net/minecraft/server/EnderDragonBattle.java
-@@ -0,0 +0,0 @@ public class EnderDragonBattle {
- 
-     private void a(BlockPosition blockposition) {
-         this.d.triggerEffect(3000, blockposition, 0);
--        WorldGenerator.END_GATEWAY.b((WorldGenFeatureConfiguration) WorldGenEndGatewayConfiguration.a()).a(this.d, this.d.getChunkProvider().getChunkGenerator(), new Random(), blockposition);
-+        WorldGenerator.END_GATEWAY.b(WorldGenEndGatewayConfiguration.a()).a(this.d, this.d.getChunkProvider().getChunkGenerator(), new Random(), blockposition); // Paper - decompile fix
-     }
- 
-     private void a(boolean flag) {
-@@ -0,0 +0,0 @@ public class EnderDragonBattle {
-             }
-         }
- 
--        worldgenendtrophy.b((WorldGenFeatureConfiguration) WorldGenFeatureConfiguration.e).a(this.d, this.d.getChunkProvider().getChunkGenerator(), new Random(), this.o);
-+        worldgenendtrophy.b(WorldGenFeatureConfiguration.e).a(this.d, this.d.getChunkProvider().getChunkGenerator(), new Random(), this.o); // Paper - decompile fix
-     }
- 
-     private EntityEnderDragon o() {
 diff --git a/src/main/java/net/minecraft/server/EntityVindicator.java b/src/main/java/net/minecraft/server/EntityVindicator.java
 index 7d44348c78..73ecdd22ea 100644
 --- a/src/main/java/net/minecraft/server/EntityVindicator.java
diff --git a/Spigot-Server-Patches/Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch b/Spigot-Server-Patches/Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch
index d4ccda661b..3d14e4546a 100644
--- a/Spigot-Server-Patches/Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch
+++ b/Spigot-Server-Patches/Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Make CraftWorld#loadChunk(int, int, false) load unconverted
 
 
 diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index fe0912c06..9940b9520 100644
+index d61769b4f2..6e1ae94cea 100644
 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
 +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
 @@ -0,0 +0,0 @@ public class CraftWorld implements World {
diff --git a/Spigot-Server-Patches/Optimise-Chunk-getFluid.patch b/Spigot-Server-Patches/Optimise-Chunk-getFluid.patch
index 96973696b5..c6053110da 100644
--- a/Spigot-Server-Patches/Optimise-Chunk-getFluid.patch
+++ b/Spigot-Server-Patches/Optimise-Chunk-getFluid.patch
@@ -8,7 +8,7 @@ faster on its own, however removing the try catch makes it
 easier to inline due to code size
 
 diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
-index 92065fe02..07073af99 100644
+index 92065fe029..07073af991 100644
 --- a/src/main/java/net/minecraft/server/Chunk.java
 +++ b/src/main/java/net/minecraft/server/Chunk.java
 @@ -0,0 +0,0 @@ public class Chunk implements IChunkAccess {
@@ -48,7 +48,7 @@ index 92065fe02..07073af99 100644
  
      // CraftBukkit start
 diff --git a/src/main/java/net/minecraft/server/ChunkSection.java b/src/main/java/net/minecraft/server/ChunkSection.java
-index 8b28fb5ee..426221f7c 100644
+index 8b28fb5ee1..426221f7c3 100644
 --- a/src/main/java/net/minecraft/server/ChunkSection.java
 +++ b/src/main/java/net/minecraft/server/ChunkSection.java
 @@ -0,0 +0,0 @@ public class ChunkSection {
diff --git a/Spigot-Server-Patches/Provide-E-TE-Chunk-count-stat-methods.patch b/Spigot-Server-Patches/Provide-E-TE-Chunk-count-stat-methods.patch
index 9b904d0062..f77766de2c 100644
--- a/Spigot-Server-Patches/Provide-E-TE-Chunk-count-stat-methods.patch
+++ b/Spigot-Server-Patches/Provide-E-TE-Chunk-count-stat-methods.patch
@@ -7,7 +7,7 @@ Provides counts without the ineffeciency of using .getEntities().size()
 which creates copy of the collections.
 
 diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 5b03ff709..a41b32ddc 100644
+index 16b78bd02e..c06b10c6b1 100644
 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
 +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
 @@ -0,0 +0,0 @@ public class CraftWorld implements World {
diff --git a/Spigot-Server-Patches/Send-nearby-packets-from-world-player-list-not-serve.patch b/Spigot-Server-Patches/Send-nearby-packets-from-world-player-list-not-serve.patch
index fa09321f79..c6c777ea1b 100644
--- a/Spigot-Server-Patches/Send-nearby-packets-from-world-player-list-not-serve.patch
+++ b/Spigot-Server-Patches/Send-nearby-packets-from-world-player-list-not-serve.patch
@@ -68,7 +68,7 @@ index c13aefff94..2b2b547034 100644
          }
  
 diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 326c3564ce..fe0912c06c 100644
+index e94ac028df..d61769b4f2 100644
 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
 +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
 @@ -0,0 +0,0 @@ public class CraftWorld implements World {
diff --git a/Spigot-Server-Patches/improve-CraftWorld-isChunkLoaded.patch b/Spigot-Server-Patches/improve-CraftWorld-isChunkLoaded.patch
index 8fbd25d923..54a88b5766 100644
--- a/Spigot-Server-Patches/improve-CraftWorld-isChunkLoaded.patch
+++ b/Spigot-Server-Patches/improve-CraftWorld-isChunkLoaded.patch
@@ -9,7 +9,7 @@ waiting for the execution queue to get to our request; We can just query
 the chunk status and get a response now, vs having to wait
 
 diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index d4ccef12f..41d1c3bb6 100644
+index 693dc983cd..8b6d22e710 100644
 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
 +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
 @@ -0,0 +0,0 @@ public class CraftWorld implements World {
diff --git a/work/Bukkit b/work/Bukkit
index 6148fca759..564ed1522a 160000
--- a/work/Bukkit
+++ b/work/Bukkit
@@ -1 +1 @@
-Subproject commit 6148fca75953d5f8f656453848137a018e11a5b3
+Subproject commit 564ed1522adc76c68da2d1746df9e3a8a51cf5b6
diff --git a/work/CraftBukkit b/work/CraftBukkit
index fc24934098..fc318cc10e 160000
--- a/work/CraftBukkit
+++ b/work/CraftBukkit
@@ -1 +1 @@
-Subproject commit fc2493409826a7fdcd2d69ab5d25ce8c492eb996
+Subproject commit fc318cc10e26c66b36551a2d2562cecdb7410849
diff --git a/work/Spigot b/work/Spigot
index 6de3d4be46..a03b1fdbaf 160000
--- a/work/Spigot
+++ b/work/Spigot
@@ -1 +1 @@
-Subproject commit 6de3d4be46f609f86c968b58a4e5c12e90779fed
+Subproject commit a03b1fdbaff792c6a1de74bd553fcb0d24f44849