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 6378af5cb9..a5ee10174a 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 970d651b..4a725d79 100644
+index 73157ff9..fd423664 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 970d651b..4a725d79 100644
  
      public static Server.Spigot spigot()
 diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 9de7693a..3c550d06 100644
+index 18549ce0..032d6211 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 {
@@ -87,7 +87,7 @@ index c70d5129..040509c1 100644
 +
  }
 diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
-index 9d7bdeef..21f898bf 100644
+index b88f31ca..bd0588a2 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 6b373a7e59..fe1f011eff 100644
--- a/Spigot-API-Patches/Add-exception-reporting-event.patch
+++ b/Spigot-API-Patches/Add-exception-reporting-event.patch
@@ -458,7 +458,7 @@ index 00000000..5582999f
 +    }
 +}
 diff --git a/src/main/java/org/bukkit/command/SimpleCommandMap.java b/src/main/java/org/bukkit/command/SimpleCommandMap.java
-index b886cd82..f1e9f200 100644
+index bdc0de8c..762eb1d2 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.List;
@@ -494,7 +494,7 @@ index b886cd82..f1e9f200 100644
      }
  
 diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
-index 041a4cd7..68dd3332 100644
+index 80c152ba..b88f31ca 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.logging.Level;
diff --git a/Spigot-API-Patches/Add-sender-name-to-commands.yml-replacement.patch b/Spigot-API-Patches/Add-sender-name-to-commands.yml-replacement.patch
index f24ff54d8d..8eb92a3973 100644
--- a/Spigot-API-Patches/Add-sender-name-to-commands.yml-replacement.patch
+++ b/Spigot-API-Patches/Add-sender-name-to-commands.yml-replacement.patch
@@ -7,18 +7,19 @@ This allows you to use $sender in commands.yml definitions to make
 commands that auto target self.
 
 diff --git a/src/main/java/org/bukkit/command/FormattedCommandAlias.java b/src/main/java/org/bukkit/command/FormattedCommandAlias.java
-index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
+index 9c80f464..631be1cb 100644
 --- a/src/main/java/org/bukkit/command/FormattedCommandAlias.java
 +++ b/src/main/java/org/bukkit/command/FormattedCommandAlias.java
-@@ -0,0 +0,0 @@ package org.bukkit.command;
+@@ -0,0 +0,0 @@
+ package org.bukkit.command;
  
  import java.util.ArrayList;
- import java.util.logging.Level;
++import java.util.logging.Level;
 +import java.util.regex.Matcher;
 +import java.util.regex.Pattern;
  
  import org.bukkit.Bukkit;
- import org.bukkit.entity.Player;
+ 
 @@ -0,0 +0,0 @@ public class FormattedCommandAlias extends Command {
          ArrayList<String> commands = new ArrayList<String>();
          for (String formatString : formatStrings) {
@@ -37,7 +38,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
 +        if (formatString.contains("$sender")) { // Paper
 +            formatString = formatString.replaceAll(Pattern.quote("$sender"), Matcher.quoteReplacement(sender.getName())); // Paper
 +        } // Paper
-         int index = formatString.indexOf("$");
+         int index = formatString.indexOf('$');
          while (index != -1) {
              int start = index;
 --
\ No newline at end of file
diff --git a/Spigot-API-Patches/Allow-Reloading-of-Command-Aliases.patch b/Spigot-API-Patches/Allow-Reloading-of-Command-Aliases.patch
index c6f17660f2..9bad0119e5 100644
--- a/Spigot-API-Patches/Allow-Reloading-of-Command-Aliases.patch
+++ b/Spigot-API-Patches/Allow-Reloading-of-Command-Aliases.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Allow Reloading of Command Aliases
 Reload the aliases stored in commands.yml
 
 diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 4a725d79..498dfd33 100644
+index fd423664..5431b17b 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 {
@@ -26,7 +26,7 @@ index 4a725d79..498dfd33 100644
  
      public static Server.Spigot spigot()
 diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 3c550d06..4f077b7c 100644
+index 032d6211..83b370e5 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 {
@@ -55,7 +55,7 @@ index 30d60247..938959aa 100644
 +    // Paper end
  }
 diff --git a/src/main/java/org/bukkit/command/SimpleCommandMap.java b/src/main/java/org/bukkit/command/SimpleCommandMap.java
-index f1e9f200..c6613c0a 100644
+index 762eb1d2..23d08336 100644
 --- a/src/main/java/org/bukkit/command/SimpleCommandMap.java
 +++ b/src/main/java/org/bukkit/command/SimpleCommandMap.java
 @@ -0,0 +0,0 @@ public class SimpleCommandMap implements CommandMap {
diff --git a/Spigot-API-Patches/Entity-Origin-API.patch b/Spigot-API-Patches/Entity-Origin-API.patch
index 35662fdbfd..0946131af3 100644
--- a/Spigot-API-Patches/Entity-Origin-API.patch
+++ b/Spigot-API-Patches/Entity-Origin-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Entity Origin API
 
 
 diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
-index e454e70a..c86c1c5f 100644
+index 219ec25f..69fbdb3c 100644
 --- a/src/main/java/org/bukkit/entity/Entity.java
 +++ b/src/main/java/org/bukkit/entity/Entity.java
 @@ -0,0 +0,0 @@ public interface Entity extends Metadatable, CommandSender, Nameable {
diff --git a/Spigot-API-Patches/Entity-fromMobSpawner.patch b/Spigot-API-Patches/Entity-fromMobSpawner.patch
index 55b703be2d..342d2fb87b 100644
--- a/Spigot-API-Patches/Entity-fromMobSpawner.patch
+++ b/Spigot-API-Patches/Entity-fromMobSpawner.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Entity#fromMobSpawner()
 
 
 diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
-index c86c1c5f..57f62ae4 100644
+index 69fbdb3c..6fc00fdf 100644
 --- a/src/main/java/org/bukkit/entity/Entity.java
 +++ b/src/main/java/org/bukkit/entity/Entity.java
 @@ -0,0 +0,0 @@ public interface Entity extends Metadatable, CommandSender, Nameable {
diff --git a/Spigot-API-Patches/Timings-v2.patch b/Spigot-API-Patches/Timings-v2.patch
index bba2d2eec2..6ea7f6d5ca 100644
--- a/Spigot-API-Patches/Timings-v2.patch
+++ b/Spigot-API-Patches/Timings-v2.patch
@@ -3062,7 +3062,7 @@ index 08a9739f..347d2189 100644
              return true;
          }
 diff --git a/src/main/java/org/bukkit/command/FormattedCommandAlias.java b/src/main/java/org/bukkit/command/FormattedCommandAlias.java
-index 3f07d7f4..f89ad075 100644
+index 50257883..9c80f464 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 {
@@ -3195,7 +3195,7 @@ index 00000000..5527e7c8
 +
 +}
 diff --git a/src/main/java/org/bukkit/command/SimpleCommandMap.java b/src/main/java/org/bukkit/command/SimpleCommandMap.java
-index 71709126..b886cd82 100644
+index 1b5b37bf..bdc0de8c 100644
 --- a/src/main/java/org/bukkit/command/SimpleCommandMap.java
 +++ b/src/main/java/org/bukkit/command/SimpleCommandMap.java
 @@ -0,0 +0,0 @@ public class SimpleCommandMap implements CommandMap {
@@ -3488,7 +3488,7 @@ index bba914d7..00000000
 -    // Spigot end
 -}
 diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index bd2cc354..d2a78f56 100644
+index 8af5f849..f4eff6b7 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, CommandSender, Offline
@@ -3504,7 +3504,7 @@ index bd2cc354..d2a78f56 100644
  
      @Override
 diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
-index b3bcda52..041a4cd7 100644
+index 8b130abb..80c152ba 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-Server-Patches/Add-API-methods-to-control-if-armour-stands-can-move.patch b/Spigot-Server-Patches/Add-API-methods-to-control-if-armour-stands-can-move.patch
index c8dba0b770..12ff86e254 100644
--- a/Spigot-Server-Patches/Add-API-methods-to-control-if-armour-stands-can-move.patch
+++ b/Spigot-Server-Patches/Add-API-methods-to-control-if-armour-stands-can-move.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add API methods to control if armour stands can move
 
 
 diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java
-index 94b1602a4..f95b2c573 100644
+index c9054fc91..ee3d37a71 100644
 --- a/src/main/java/net/minecraft/server/EntityArmorStand.java
 +++ b/src/main/java/net/minecraft/server/EntityArmorStand.java
 @@ -0,0 +0,0 @@ public class EntityArmorStand extends EntityLiving {
@@ -17,9 +17,9 @@ index 94b1602a4..f95b2c573 100644
      public EntityArmorStand(World world) {
          super(world);
 @@ -0,0 +0,0 @@ public class EntityArmorStand extends EntityLiving {
-         return this.yaw;
+     public boolean cS() {
+         return false;
      }
-     // CraftBukkit end
 +
 +    // Paper start
 +    @Override
diff --git a/Spigot-Server-Patches/Add-PlayerUseUnknownEntityEvent.patch b/Spigot-Server-Patches/Add-PlayerUseUnknownEntityEvent.patch
index 123283efd9..7a62c40de2 100644
--- a/Spigot-Server-Patches/Add-PlayerUseUnknownEntityEvent.patch
+++ b/Spigot-Server-Patches/Add-PlayerUseUnknownEntityEvent.patch
@@ -18,7 +18,7 @@ index c67cb54a3..521f46262 100644
      private Vec3D c;
      private EnumHand d;
 diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index 7a721ffc6..4830dd581 100644
+index 5cc5dbcd7..70fb4f6b0 100644
 --- a/src/main/java/net/minecraft/server/PlayerConnection.java
 +++ b/src/main/java/net/minecraft/server/PlayerConnection.java
 @@ -0,0 +0,0 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
diff --git a/Spigot-Server-Patches/Add-option-to-make-parrots-stay-on-shoulders-despite.patch b/Spigot-Server-Patches/Add-option-to-make-parrots-stay-on-shoulders-despite.patch
index 95240ae650..f5d6dc57d2 100644
--- a/Spigot-Server-Patches/Add-option-to-make-parrots-stay-on-shoulders-despite.patch
+++ b/Spigot-Server-Patches/Add-option-to-make-parrots-stay-on-shoulders-despite.patch
@@ -39,7 +39,7 @@ index 3cc13bdc4..a8f5117bc 100644
  
      }
 diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index 751989f5a..2b11f68f4 100644
+index 2367ff1f0..9c8828ebd 100644
 --- a/src/main/java/net/minecraft/server/PlayerConnection.java
 +++ b/src/main/java/net/minecraft/server/PlayerConnection.java
 @@ -0,0 +0,0 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
diff --git a/Spigot-Server-Patches/Cap-Entity-Collisions.patch b/Spigot-Server-Patches/Cap-Entity-Collisions.patch
index d7c79e31cd..1c5b968182 100644
--- a/Spigot-Server-Patches/Cap-Entity-Collisions.patch
+++ b/Spigot-Server-Patches/Cap-Entity-Collisions.patch
@@ -27,7 +27,7 @@ index 70af657f5..af953dda4 100644
 +    }
  }
 diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index b4318e4f7..d744477c9 100644
+index a6ffe144f..f08f4ae56 100644
 --- a/src/main/java/net/minecraft/server/Entity.java
 +++ b/src/main/java/net/minecraft/server/Entity.java
 @@ -0,0 +0,0 @@ public abstract class Entity implements ICommandListener {
@@ -39,7 +39,7 @@ index b4318e4f7..d744477c9 100644
      // Spigot end
  
 diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index b437ebf26..35e473a26 100644
+index 650e549b1..341108472 100644
 --- a/src/main/java/net/minecraft/server/EntityLiving.java
 +++ b/src/main/java/net/minecraft/server/EntityLiving.java
 @@ -0,0 +0,0 @@ public abstract class EntityLiving extends Entity {
diff --git a/Spigot-Server-Patches/Configurable-top-of-nether-void-damage.patch b/Spigot-Server-Patches/Configurable-top-of-nether-void-damage.patch
index 5637ec6c00..bccbe58fbb 100644
--- a/Spigot-Server-Patches/Configurable-top-of-nether-void-damage.patch
+++ b/Spigot-Server-Patches/Configurable-top-of-nether-void-damage.patch
@@ -20,7 +20,7 @@ index 62e6830aa..e524a464f 100644
 +    }
  }
 diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index 3dff98596..e712ab370 100644
+index 00487dd5f..9ee8c40a5 100644
 --- a/src/main/java/net/minecraft/server/Entity.java
 +++ b/src/main/java/net/minecraft/server/Entity.java
 @@ -0,0 +0,0 @@ public abstract class Entity implements ICommandListener {
@@ -67,7 +67,7 @@ index 3dff98596..e712ab370 100644
          this.die();
      }
 diff --git a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
-index f4ad25dae..4b1c7ad99 100644
+index 82795ee87..f8da1887d 100644
 --- a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
 +++ b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
 @@ -0,0 +0,0 @@ public abstract class EntityMinecartAbstract extends Entity implements INamableT
diff --git a/Spigot-Server-Patches/Custom-replacement-for-eaten-items.patch b/Spigot-Server-Patches/Custom-replacement-for-eaten-items.patch
index b4860a8c17..ca2e937dc5 100644
--- a/Spigot-Server-Patches/Custom-replacement-for-eaten-items.patch
+++ b/Spigot-Server-Patches/Custom-replacement-for-eaten-items.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Custom replacement for eaten items
 
 
 diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index d99413337..83c55dff6 100644
+index 5a6b33981..4c632bb68 100644
 --- a/src/main/java/net/minecraft/server/EntityLiving.java
 +++ b/src/main/java/net/minecraft/server/EntityLiving.java
 @@ -0,0 +0,0 @@ public abstract class EntityLiving extends Entity {
diff --git a/Spigot-Server-Patches/Disable-Scoreboards-for-non-players-by-default.patch b/Spigot-Server-Patches/Disable-Scoreboards-for-non-players-by-default.patch
index b099e8ffd8..74cbdab299 100644
--- a/Spigot-Server-Patches/Disable-Scoreboards-for-non-players-by-default.patch
+++ b/Spigot-Server-Patches/Disable-Scoreboards-for-non-players-by-default.patch
@@ -37,7 +37,7 @@ index ec9a87239..b08274d93 100644
  
                          if (scoreboard.addPlayerToTeam(s2, s)) {
 diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index b4f42a71d..e78b3789f 100644
+index 438624dd7..9a1cac844 100644
 --- a/src/main/java/net/minecraft/server/Entity.java
 +++ b/src/main/java/net/minecraft/server/Entity.java
 @@ -0,0 +0,0 @@ public abstract class Entity implements ICommandListener {
diff --git a/Spigot-Server-Patches/Disable-explosion-knockback.patch b/Spigot-Server-Patches/Disable-explosion-knockback.patch
index 02ad0270ae..cb068fbf97 100644
--- a/Spigot-Server-Patches/Disable-explosion-knockback.patch
+++ b/Spigot-Server-Patches/Disable-explosion-knockback.patch
@@ -19,7 +19,7 @@ index a197af84f..2217f680c 100644
 +    }
  }
 diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index 35812d561..d99413337 100644
+index e8401bba7..5a6b33981 100644
 --- a/src/main/java/net/minecraft/server/EntityLiving.java
 +++ b/src/main/java/net/minecraft/server/EntityLiving.java
 @@ -0,0 +0,0 @@ public abstract class EntityLiving extends Entity {
diff --git a/Spigot-Server-Patches/Do-not-let-armorstands-drown.patch b/Spigot-Server-Patches/Do-not-let-armorstands-drown.patch
index f2745d1222..294ff48c76 100644
--- a/Spigot-Server-Patches/Do-not-let-armorstands-drown.patch
+++ b/Spigot-Server-Patches/Do-not-let-armorstands-drown.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Do not let armorstands drown
 
 
 diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java
-index f95b2c573..798711d2d 100644
+index ee3d37a71..df0d66ad0 100644
 --- a/src/main/java/net/minecraft/server/EntityArmorStand.java
 +++ b/src/main/java/net/minecraft/server/EntityArmorStand.java
 @@ -0,0 +0,0 @@ public class EntityArmorStand extends EntityLiving {
@@ -20,7 +20,7 @@ index f95b2c573..798711d2d 100644
      // Paper end
  }
 diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index 35e473a26..66b82bbfb 100644
+index 341108472..135a9c0e2 100644
 --- a/src/main/java/net/minecraft/server/EntityLiving.java
 +++ b/src/main/java/net/minecraft/server/EntityLiving.java
 @@ -0,0 +0,0 @@ public abstract class EntityLiving extends Entity {
diff --git a/Spigot-Server-Patches/Don-t-allow-entities-to-ride-themselves-572.patch b/Spigot-Server-Patches/Don-t-allow-entities-to-ride-themselves-572.patch
index 5daafc12a3..aa26eb2231 100644
--- a/Spigot-Server-Patches/Don-t-allow-entities-to-ride-themselves-572.patch
+++ b/Spigot-Server-Patches/Don-t-allow-entities-to-ride-themselves-572.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Don't allow entities to ride themselves - #572
 
 
 diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index e0ae1f7dd..b4318e4f7 100644
+index 9080006e5..a6ffe144f 100644
 --- a/src/main/java/net/minecraft/server/Entity.java
 +++ b/src/main/java/net/minecraft/server/Entity.java
 @@ -0,0 +0,0 @@ public abstract class Entity implements ICommandListener {
diff --git a/Spigot-Server-Patches/Don-t-teleport-dead-entities.patch b/Spigot-Server-Patches/Don-t-teleport-dead-entities.patch
index 30374704f0..efaffa35c8 100644
--- a/Spigot-Server-Patches/Don-t-teleport-dead-entities.patch
+++ b/Spigot-Server-Patches/Don-t-teleport-dead-entities.patch
@@ -7,7 +7,7 @@ Had some issue with this in past, and this is the vanilla logic.
 Potentially an old CB change that's no longer needed.
 
 diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index 7e9dbf1a1..7912d05d9 100644
+index 05d764fa2..a6d472139 100644
 --- a/src/main/java/net/minecraft/server/Entity.java
 +++ b/src/main/java/net/minecraft/server/Entity.java
 @@ -0,0 +0,0 @@ public abstract class Entity implements ICommandListener {
diff --git a/Spigot-Server-Patches/Drop-falling-block-and-tnt-entities-at-the-specified.patch b/Spigot-Server-Patches/Drop-falling-block-and-tnt-entities-at-the-specified.patch
index 8bdeac1da8..252dd0b73d 100644
--- a/Spigot-Server-Patches/Drop-falling-block-and-tnt-entities-at-the-specified.patch
+++ b/Spigot-Server-Patches/Drop-falling-block-and-tnt-entities-at-the-specified.patch
@@ -24,7 +24,7 @@ index 7ac6a5f1f..8cdeb34d4 100644
 +    }
  }
 diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index c6b7d6c22..bbbd1689e 100644
+index 4c794a098..90be49189 100644
 --- a/src/main/java/net/minecraft/server/Entity.java
 +++ b/src/main/java/net/minecraft/server/Entity.java
 @@ -0,0 +0,0 @@ public abstract class Entity implements ICommandListener {
@@ -36,7 +36,7 @@ index c6b7d6c22..bbbd1689e 100644
      public EntityItem a(ItemStack itemstack, float f) {
          if (itemstack.isEmpty()) {
 diff --git a/src/main/java/net/minecraft/server/EntityFallingBlock.java b/src/main/java/net/minecraft/server/EntityFallingBlock.java
-index 3c7488965..0fd29b17e 100644
+index 579e51a0a..2ba5d51a5 100644
 --- a/src/main/java/net/minecraft/server/EntityFallingBlock.java
 +++ b/src/main/java/net/minecraft/server/EntityFallingBlock.java
 @@ -0,0 +0,0 @@ public class EntityFallingBlock extends Entity {
diff --git a/Spigot-Server-Patches/Ensure-commands-are-not-ran-async.patch b/Spigot-Server-Patches/Ensure-commands-are-not-ran-async.patch
index 01e22657b8..ba502634d2 100644
--- a/Spigot-Server-Patches/Ensure-commands-are-not-ran-async.patch
+++ b/Spigot-Server-Patches/Ensure-commands-are-not-ran-async.patch
@@ -14,7 +14,7 @@ big slowdown in execution but throwing an exception at same time to raise awaren
 that it is happening so that plugin authors can fix their code to stop executing commands async.
 
 diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index c291e2605..5ebd3c78f 100644
+index da25a8bea..5348c0cbc 100644
 --- a/src/main/java/net/minecraft/server/PlayerConnection.java
 +++ b/src/main/java/net/minecraft/server/PlayerConnection.java
 @@ -0,0 +0,0 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
diff --git a/Spigot-Server-Patches/Entity-Origin-API.patch b/Spigot-Server-Patches/Entity-Origin-API.patch
index 367893df2c..d6bd0754fe 100644
--- a/Spigot-Server-Patches/Entity-Origin-API.patch
+++ b/Spigot-Server-Patches/Entity-Origin-API.patch
@@ -5,12 +5,12 @@ Subject: [PATCH] Entity Origin API
 
 
 diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index 86c946119..acadeae93 100644
+index 90be49189..00487dd5f 100644
 --- a/src/main/java/net/minecraft/server/Entity.java
 +++ b/src/main/java/net/minecraft/server/Entity.java
 @@ -0,0 +0,0 @@ public abstract class Entity implements ICommandListener {
-     public org.bukkit.projectiles.ProjectileSource projectileSource; // CraftBukkit - For projectiles only
-     public boolean forceExplosionKnockback; // CraftBukkit - SPIGOT-949
+     public org.bukkit.projectiles.ProjectileSource projectileSource; // For projectiles only
+     public boolean forceExplosionKnockback; // SPIGOT-949
      public Timing tickTimer = MinecraftTimings.getEntityTimings(this); // Paper
 +    public Location origin; // Paper
      // Spigot start
@@ -101,7 +101,7 @@ index bc6383669..ca9eb2f3b 100644
          if (i >= 0 && i < this.list.size()) {
              NBTBase nbtbase = (NBTBase) this.list.get(i);
 diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 27f428efa..3298cbe6b 100644
+index a35f714eb..957e0101e 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 IBlockAccess {
@@ -118,7 +118,7 @@ index 27f428efa..3298cbe6b 100644
              flag = true;
          }
 diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
-index 30641581a..9ee7593b2 100644
+index 51cc15e79..fa2bdabc6 100644
 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
 +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
 @@ -0,0 +0,0 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
diff --git a/Spigot-Server-Patches/Entity-fromMobSpawner.patch b/Spigot-Server-Patches/Entity-fromMobSpawner.patch
index 07d4792579..6b8cc1629e 100644
--- a/Spigot-Server-Patches/Entity-fromMobSpawner.patch
+++ b/Spigot-Server-Patches/Entity-fromMobSpawner.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Entity#fromMobSpawner()
 
 
 diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index d744477c9..18eee4944 100644
+index f08f4ae56..1f3aabd01 100644
 --- a/src/main/java/net/minecraft/server/Entity.java
 +++ b/src/main/java/net/minecraft/server/Entity.java
 @@ -0,0 +0,0 @@ public abstract class Entity implements ICommandListener {
@@ -49,7 +49,7 @@ index 0562c6e34..06b064a78 100644
                          if ( entity.world.spigotConfig.nerfSpawnerMobs )
                          {
 diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
-index 9429ae1ab..248477661 100644
+index 3ce4fbdbd..58a8f5a78 100644
 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
 +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
 @@ -0,0 +0,0 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
diff --git a/Spigot-Server-Patches/EntityRegainHealthEvent-isFastRegen-API.patch b/Spigot-Server-Patches/EntityRegainHealthEvent-isFastRegen-API.patch
index 5f07fc261e..f3ee512391 100644
--- a/Spigot-Server-Patches/EntityRegainHealthEvent-isFastRegen-API.patch
+++ b/Spigot-Server-Patches/EntityRegainHealthEvent-isFastRegen-API.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] EntityRegainHealthEvent isFastRegen API
 Don't even get me started
 
 diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index e9552ff21..f5b04ca48 100644
+index 296c05480..a09d8964f 100644
 --- a/src/main/java/net/minecraft/server/EntityLiving.java
 +++ b/src/main/java/net/minecraft/server/EntityLiving.java
 @@ -0,0 +0,0 @@ public abstract class EntityLiving extends Entity {
diff --git a/Spigot-Server-Patches/Fix-AIOOBE-in-inventory-handling.patch b/Spigot-Server-Patches/Fix-AIOOBE-in-inventory-handling.patch
index df51de29ae..de8b60020a 100644
--- a/Spigot-Server-Patches/Fix-AIOOBE-in-inventory-handling.patch
+++ b/Spigot-Server-Patches/Fix-AIOOBE-in-inventory-handling.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix AIOOBE in inventory handling
 
 
 diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index d6c9bfc5d..b8601ae87 100644
+index 98cb84409..5e0e5a3c1 100644
 --- a/src/main/java/net/minecraft/server/PlayerConnection.java
 +++ b/src/main/java/net/minecraft/server/PlayerConnection.java
 @@ -0,0 +0,0 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
diff --git a/Spigot-Server-Patches/IllegalPacketEvent.patch b/Spigot-Server-Patches/IllegalPacketEvent.patch
index bc0784aa30..2669f91635 100644
--- a/Spigot-Server-Patches/IllegalPacketEvent.patch
+++ b/Spigot-Server-Patches/IllegalPacketEvent.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] IllegalPacketEvent
 Fired for invalid data from players that represents hacking attempts
 
 diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index 9f05c7da2..a04df7d88 100644
+index 0191a9af2..45a50602b 100644
 --- a/src/main/java/net/minecraft/server/PlayerConnection.java
 +++ b/src/main/java/net/minecraft/server/PlayerConnection.java
 @@ -0,0 +0,0 @@ import org.bukkit.inventory.CraftingInventory;
diff --git a/Spigot-Server-Patches/MC-Utils.patch b/Spigot-Server-Patches/MC-Utils.patch
index 0e8a4e52b5..f0f14bfa91 100644
--- a/Spigot-Server-Patches/MC-Utils.patch
+++ b/Spigot-Server-Patches/MC-Utils.patch
@@ -274,7 +274,7 @@ index e0cb6aa6e..bc6383669 100644
  
      public NBTTagList() {}
 diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index aa9d024fa..516673c0e 100644
+index 8cede938a..cd2d58bfb 100644
 --- a/src/main/java/net/minecraft/server/PlayerConnection.java
 +++ b/src/main/java/net/minecraft/server/PlayerConnection.java
 @@ -0,0 +0,0 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
diff --git a/Spigot-Server-Patches/Option-to-use-vanilla-per-world-scoreboard-coloring-.patch b/Spigot-Server-Patches/Option-to-use-vanilla-per-world-scoreboard-coloring-.patch
index 80862d9298..2b83e82cf7 100644
--- a/Spigot-Server-Patches/Option-to-use-vanilla-per-world-scoreboard-coloring-.patch
+++ b/Spigot-Server-Patches/Option-to-use-vanilla-per-world-scoreboard-coloring-.patch
@@ -19,7 +19,7 @@ index 3a942c763..3bd29650c 100644
 +    }
  }
 diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index 7912d05d9..e04a7d942 100644
+index a6d472139..1d31bcde8 100644
 --- a/src/main/java/net/minecraft/server/Entity.java
 +++ b/src/main/java/net/minecraft/server/Entity.java
 @@ -0,0 +0,0 @@ public abstract class Entity implements ICommandListener {
@@ -31,7 +31,7 @@ index 7912d05d9..e04a7d942 100644
      public ScoreboardTeamBase aY() {
          if (!this.world.paperConfig.nonPlayerEntitiesOnScoreboards && !(this instanceof EntityHuman)) { return null; } // Paper
 diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index 4830dd581..506eab20d 100644
+index 70fb4f6b0..187e59a08 100644
 --- a/src/main/java/net/minecraft/server/PlayerConnection.java
 +++ b/src/main/java/net/minecraft/server/PlayerConnection.java
 @@ -0,0 +0,0 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
diff --git a/Spigot-Server-Patches/Optional-TNT-doesn-t-move-in-water.patch b/Spigot-Server-Patches/Optional-TNT-doesn-t-move-in-water.patch
index 52b5ccd5d6..81da708815 100644
--- a/Spigot-Server-Patches/Optional-TNT-doesn-t-move-in-water.patch
+++ b/Spigot-Server-Patches/Optional-TNT-doesn-t-move-in-water.patch
@@ -32,7 +32,7 @@ index fbe769eb3..d2a542354 100644
 +    }
  }
 diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index 25641bafd..47872bf32 100644
+index ef096ef65..d46fb1d76 100644
 --- a/src/main/java/net/minecraft/server/Entity.java
 +++ b/src/main/java/net/minecraft/server/Entity.java
 @@ -0,0 +0,0 @@ public abstract class Entity implements ICommandListener {
diff --git a/Spigot-Server-Patches/Properly-fix-item-duplication-bug.patch b/Spigot-Server-Patches/Properly-fix-item-duplication-bug.patch
index fc17faa293..99cf94811c 100644
--- a/Spigot-Server-Patches/Properly-fix-item-duplication-bug.patch
+++ b/Spigot-Server-Patches/Properly-fix-item-duplication-bug.patch
@@ -19,7 +19,7 @@ index 53147c6e2..5fbb99b7e 100644
  
      @Override
 diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index a04df7d88..22ead6533 100644
+index 45a50602b..33ae76415 100644
 --- a/src/main/java/net/minecraft/server/PlayerConnection.java
 +++ b/src/main/java/net/minecraft/server/PlayerConnection.java
 @@ -0,0 +0,0 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
diff --git a/Spigot-Server-Patches/Timings-v2.patch b/Spigot-Server-Patches/Timings-v2.patch
index 9a7a114f3d..4233fe49bc 100644
--- a/Spigot-Server-Patches/Timings-v2.patch
+++ b/Spigot-Server-Patches/Timings-v2.patch
@@ -596,7 +596,7 @@ index e1cb96a88..8f2afcc32 100644
              return waitable.get();
          } catch (java.util.concurrent.ExecutionException e) {
 diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index 8181ab2f2..f54c654fb 100644
+index 40f06c5bc..4c794a098 100644
 --- a/src/main/java/net/minecraft/server/Entity.java
 +++ b/src/main/java/net/minecraft/server/Entity.java
 @@ -0,0 +0,0 @@ import org.bukkit.block.BlockFace;
@@ -610,9 +610,9 @@ index 8181ab2f2..f54c654fb 100644
  import org.bukkit.event.hanging.HangingBreakByEntityEvent;
  import org.bukkit.event.vehicle.VehicleBlockCollisionEvent;
 @@ -0,0 +0,0 @@ public abstract class Entity implements ICommandListener {
-     public boolean valid; // CraftBukkit
-     public org.bukkit.projectiles.ProjectileSource projectileSource; // CraftBukkit - For projectiles only
-     public boolean forceExplosionKnockback; // CraftBukkit - SPIGOT-949
+     public boolean valid;
+     public org.bukkit.projectiles.ProjectileSource projectileSource; // For projectiles only
+     public boolean forceExplosionKnockback; // SPIGOT-949
 -    public CustomTimingsHandler tickTimer = org.bukkit.craftbukkit.SpigotTimings.getEntityTimings(this); // Spigot
 +    public Timing tickTimer = MinecraftTimings.getEntityTimings(this); // Paper
      // Spigot start
@@ -635,7 +635,7 @@ index 8181ab2f2..f54c654fb 100644
  
      public void recalcPosition() {
 diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index 27580a938..35812d561 100644
+index ee2d1f9a9..e8401bba7 100644
 --- a/src/main/java/net/minecraft/server/EntityLiving.java
 +++ b/src/main/java/net/minecraft/server/EntityLiving.java
 @@ -0,0 +0,0 @@ import org.bukkit.event.entity.EntityTeleportEvent;
@@ -984,7 +984,7 @@ index eeac34998..e4ed2e991 100644
  
      }
 diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index 516673c0e..8cb7486ba 100644
+index cd2d58bfb..da25a8bea 100644
 --- a/src/main/java/net/minecraft/server/PlayerConnection.java
 +++ b/src/main/java/net/minecraft/server/PlayerConnection.java
 @@ -0,0 +0,0 @@ import org.bukkit.inventory.CraftingInventory;
diff --git a/Spigot-Server-Patches/Toggleable-Elytra-Wall-Damage.patch b/Spigot-Server-Patches/Toggleable-Elytra-Wall-Damage.patch
index 8438444b65..486bb7f985 100644
--- a/Spigot-Server-Patches/Toggleable-Elytra-Wall-Damage.patch
+++ b/Spigot-Server-Patches/Toggleable-Elytra-Wall-Damage.patch
@@ -21,7 +21,7 @@ index ef60c15bd..cec9ea74c 100644
 +    }
  }
 diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index f5b04ca48..3086a36f9 100644
+index a09d8964f..20aac1f38 100644
 --- a/src/main/java/net/minecraft/server/EntityLiving.java
 +++ b/src/main/java/net/minecraft/server/EntityLiving.java
 @@ -0,0 +0,0 @@ public abstract class EntityLiving extends Entity {
diff --git a/Spigot-Server-Patches/Use-a-Shared-Random-for-Entities.patch b/Spigot-Server-Patches/Use-a-Shared-Random-for-Entities.patch
index 40a87a9a6e..fab3446581 100644
--- a/Spigot-Server-Patches/Use-a-Shared-Random-for-Entities.patch
+++ b/Spigot-Server-Patches/Use-a-Shared-Random-for-Entities.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Use a Shared Random for Entities
 Reduces memory usage and provides ensures more randomness, Especially since a lot of garbage entity objects get created.
 
 diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index f26a438af..8aba80c07 100644
+index 9a1cac844..05d764fa2 100644
 --- a/src/main/java/net/minecraft/server/Entity.java
 +++ b/src/main/java/net/minecraft/server/Entity.java
 @@ -0,0 +0,0 @@ public abstract class Entity implements ICommandListener {
diff --git a/Spigot-Server-Patches/Vehicle-Event-Cancellation-Changes.patch b/Spigot-Server-Patches/Vehicle-Event-Cancellation-Changes.patch
index 38f32afa36..0fae54261c 100644
--- a/Spigot-Server-Patches/Vehicle-Event-Cancellation-Changes.patch
+++ b/Spigot-Server-Patches/Vehicle-Event-Cancellation-Changes.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Vehicle Event Cancellation Changes
 
 
 diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index 0d92e604..b10f670a 100644
+index 1d31bcde8..06857c483 100644
 --- a/src/main/java/net/minecraft/server/Entity.java
 +++ b/src/main/java/net/minecraft/server/Entity.java
 @@ -0,0 +0,0 @@ public abstract class Entity implements ICommandListener {
diff --git a/Spigot-Server-Patches/handle-NaN-health-absorb-values-and-repair-bad-data.patch b/Spigot-Server-Patches/handle-NaN-health-absorb-values-and-repair-bad-data.patch
index bac3962d17..966058cf37 100644
--- a/Spigot-Server-Patches/handle-NaN-health-absorb-values-and-repair-bad-data.patch
+++ b/Spigot-Server-Patches/handle-NaN-health-absorb-values-and-repair-bad-data.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] handle NaN health/absorb values and repair bad data
 
 
 diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index 83c55dff6..e9552ff21 100644
+index 4c632bb68..296c05480 100644
 --- a/src/main/java/net/minecraft/server/EntityLiving.java
 +++ b/src/main/java/net/minecraft/server/EntityLiving.java
 @@ -0,0 +0,0 @@ public abstract class EntityLiving extends Entity {
diff --git a/Spigot-Server-Patches/handle-PacketPlayInKeepAlive-async.patch b/Spigot-Server-Patches/handle-PacketPlayInKeepAlive-async.patch
index f4f5866d55..d89ea7f31f 100644
--- a/Spigot-Server-Patches/handle-PacketPlayInKeepAlive-async.patch
+++ b/Spigot-Server-Patches/handle-PacketPlayInKeepAlive-async.patch
@@ -15,7 +15,7 @@ also adding some additional logging in order to help work out what is causing
 random disconnections for clients.
 
 diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index a07904143..26fbb30f9 100644
+index cc58a4a93..a92bf8967 100644
 --- a/src/main/java/net/minecraft/server/PlayerConnection.java
 +++ b/src/main/java/net/minecraft/server/PlayerConnection.java
 @@ -0,0 +0,0 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
diff --git a/work/Bukkit b/work/Bukkit
index cef79e5515..100ab9f2dc 160000
--- a/work/Bukkit
+++ b/work/Bukkit
@@ -1 +1 @@
-Subproject commit cef79e55153e438d9ef4b87f4de45cd59233f01e
+Subproject commit 100ab9f2dc90cb717ab9a8c61e555a6618eccdb8
diff --git a/work/CraftBukkit b/work/CraftBukkit
index 53fccdf958..305df9035f 160000
--- a/work/CraftBukkit
+++ b/work/CraftBukkit
@@ -1 +1 @@
-Subproject commit 53fccdf958fe3e10cb9bdb0f396a454e9ac6ead9
+Subproject commit 305df9035faeda09b14f923dc44bdd550d9c9000
diff --git a/work/Spigot b/work/Spigot
index 5695bca2df..95dd097033 160000
--- a/work/Spigot
+++ b/work/Spigot
@@ -1 +1 @@
-Subproject commit 5695bca2df7302a6a911e8591591925e8852e0e9
+Subproject commit 95dd09703307e923ccd31aeb1e5744c01df2a1b7