diff --git a/Spigot-API-Patches/Add-FastUtil-to-Bukkit.patch b/Spigot-API-Patches/Add-FastUtil-to-Bukkit.patch
index 1f83561837..6c2b9cb1e5 100644
--- a/Spigot-API-Patches/Add-FastUtil-to-Bukkit.patch
+++ b/Spigot-API-Patches/Add-FastUtil-to-Bukkit.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Add FastUtil to Bukkit
 Doesn't expose to plugins, just allows Paper-API to use it for optimization
 
 diff --git a/pom.xml b/pom.xml
-index 229fe559..412a6901 100644
+index a613cf963..f8f12595b 100644
 --- a/pom.xml
 +++ b/pom.xml
 @@ -0,0 +0,0 @@
diff --git a/Spigot-API-Patches/Allow-plugins-to-use-SLF4J-for-logging.patch b/Spigot-API-Patches/Allow-plugins-to-use-SLF4J-for-logging.patch
index 33bd182910..636535a00f 100644
--- a/Spigot-API-Patches/Allow-plugins-to-use-SLF4J-for-logging.patch
+++ b/Spigot-API-Patches/Allow-plugins-to-use-SLF4J-for-logging.patch
@@ -14,7 +14,7 @@ it without having to shade it in the plugin and going through
 several layers of logging abstraction.
 
 diff --git a/pom.xml b/pom.xml
-index 041ae474..3e2c1cd5 100644
+index 84ba2076f..3ebc62871 100644
 --- a/pom.xml
 +++ b/pom.xml
 @@ -0,0 +0,0 @@
@@ -33,7 +33,7 @@ index 041ae474..3e2c1cd5 100644
          <dependency>
              <groupId>junit</groupId>
 diff --git a/src/main/java/org/bukkit/plugin/Plugin.java b/src/main/java/org/bukkit/plugin/Plugin.java
-index 55debf5d..8d2999ac 100644
+index 55debf5d5..8d2999ace 100644
 --- a/src/main/java/org/bukkit/plugin/Plugin.java
 +++ b/src/main/java/org/bukkit/plugin/Plugin.java
 @@ -0,0 +0,0 @@ public interface Plugin extends TabExecutor {
diff --git a/Spigot-API-Patches/POM-changes.patch b/Spigot-API-Patches/POM-changes.patch
index f36df6376c..f2e7915107 100644
--- a/Spigot-API-Patches/POM-changes.patch
+++ b/Spigot-API-Patches/POM-changes.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] POM changes
 
 
 diff --git a/pom.xml b/pom.xml
-index 00d8019d9..148c322bc 100644
+index 23fde9622..a613cf963 100644
 --- a/pom.xml
 +++ b/pom.xml
 @@ -0,0 +0,0 @@
@@ -53,7 +53,9 @@ index 00d8019d9..148c322bc 100644
 -    </distributionManagement>
 -
      <repositories>
-         <repository>
+         <!--
+             If you are a plugin developer, please use https://hub.spigotmc.org/nexus/content/repositories/snapshots/
+@@ -0,0 +0,0 @@
              <id>spigotmc-public</id>
              <url>https://hub.spigotmc.org/nexus/content/groups/public/</url>
          </repository>
diff --git a/Spigot-API-Patches/Use-ASM-for-event-executors.patch b/Spigot-API-Patches/Use-ASM-for-event-executors.patch
index 17e731a4f0..6e35196535 100644
--- a/Spigot-API-Patches/Use-ASM-for-event-executors.patch
+++ b/Spigot-API-Patches/Use-ASM-for-event-executors.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Use ASM for event executors.
 Uses method handles for private or static methods.
 
 diff --git a/pom.xml b/pom.xml
-index 412a6901..041ae474 100644
+index f8f12595b..84ba2076f 100644
 --- a/pom.xml
 +++ b/pom.xml
 @@ -0,0 +0,0 @@
@@ -29,7 +29,7 @@ index 412a6901..041ae474 100644
      <build>
 diff --git a/src/main/java/com/destroystokyo/paper/event/executor/MethodHandleEventExecutor.java b/src/main/java/com/destroystokyo/paper/event/executor/MethodHandleEventExecutor.java
 new file mode 100644
-index 00000000..9ff99e3b
+index 000000000..9ff99e3b3
 --- /dev/null
 +++ b/src/main/java/com/destroystokyo/paper/event/executor/MethodHandleEventExecutor.java
 @@ -0,0 +0,0 @@
@@ -75,7 +75,7 @@ index 00000000..9ff99e3b
 +}
 diff --git a/src/main/java/com/destroystokyo/paper/event/executor/StaticMethodHandleEventExecutor.java b/src/main/java/com/destroystokyo/paper/event/executor/StaticMethodHandleEventExecutor.java
 new file mode 100644
-index 00000000..f60f0100
+index 000000000..f60f01005
 --- /dev/null
 +++ b/src/main/java/com/destroystokyo/paper/event/executor/StaticMethodHandleEventExecutor.java
 @@ -0,0 +0,0 @@
@@ -120,7 +120,7 @@ index 00000000..f60f0100
 +}
 diff --git a/src/main/java/com/destroystokyo/paper/event/executor/asm/ASMEventExecutorGenerator.java b/src/main/java/com/destroystokyo/paper/event/executor/asm/ASMEventExecutorGenerator.java
 new file mode 100644
-index 00000000..140cf0ad
+index 000000000..140cf0ad3
 --- /dev/null
 +++ b/src/main/java/com/destroystokyo/paper/event/executor/asm/ASMEventExecutorGenerator.java
 @@ -0,0 +0,0 @@
@@ -170,7 +170,7 @@ index 00000000..140cf0ad
 +}
 diff --git a/src/main/java/com/destroystokyo/paper/event/executor/asm/ClassDefiner.java b/src/main/java/com/destroystokyo/paper/event/executor/asm/ClassDefiner.java
 new file mode 100644
-index 00000000..6941d9fb
+index 000000000..6941d9fbf
 --- /dev/null
 +++ b/src/main/java/com/destroystokyo/paper/event/executor/asm/ClassDefiner.java
 @@ -0,0 +0,0 @@
@@ -208,7 +208,7 @@ index 00000000..6941d9fb
 +}
 diff --git a/src/main/java/com/destroystokyo/paper/event/executor/asm/SafeClassDefiner.java b/src/main/java/com/destroystokyo/paper/event/executor/asm/SafeClassDefiner.java
 new file mode 100644
-index 00000000..1473ff8c
+index 000000000..1473ff8cd
 --- /dev/null
 +++ b/src/main/java/com/destroystokyo/paper/event/executor/asm/SafeClassDefiner.java
 @@ -0,0 +0,0 @@
@@ -277,7 +277,7 @@ index 00000000..1473ff8c
 +}
 diff --git a/src/main/java/com/destroystokyo/paper/utils/UnsafeUtils.java b/src/main/java/com/destroystokyo/paper/utils/UnsafeUtils.java
 new file mode 100644
-index 00000000..62acbf82
+index 000000000..62acbf821
 --- /dev/null
 +++ b/src/main/java/com/destroystokyo/paper/utils/UnsafeUtils.java
 @@ -0,0 +0,0 @@
@@ -315,7 +315,7 @@ index 00000000..62acbf82
 +    }
 +}
 diff --git a/src/main/java/org/bukkit/plugin/EventExecutor.java b/src/main/java/org/bukkit/plugin/EventExecutor.java
-index 3b2c99ea..b45b6c1c 100644
+index 3b2c99ea7..b45b6c1c3 100644
 --- a/src/main/java/org/bukkit/plugin/EventExecutor.java
 +++ b/src/main/java/org/bukkit/plugin/EventExecutor.java
 @@ -0,0 +0,0 @@ import org.bukkit.event.Event;
@@ -401,7 +401,7 @@ index 3b2c99ea..b45b6c1c 100644
 +    // Paper end
  }
 diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
-index bf972302..77207f14 100644
+index bf9723029..77207f147 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 {
diff --git a/Spigot-Server-Patches/Add-EntityZapEvent.patch b/Spigot-Server-Patches/Add-EntityZapEvent.patch
index 309e94fbce..70708303a5 100644
--- a/Spigot-Server-Patches/Add-EntityZapEvent.patch
+++ b/Spigot-Server-Patches/Add-EntityZapEvent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add EntityZapEvent
 
 
 diff --git a/src/main/java/net/minecraft/server/EntityPig.java b/src/main/java/net/minecraft/server/EntityPig.java
-index 7ef67350a..9dc2d8be2 100644
+index 7ef67350a5..9dc2d8be27 100644
 --- a/src/main/java/net/minecraft/server/EntityPig.java
 +++ b/src/main/java/net/minecraft/server/EntityPig.java
 @@ -0,0 +0,0 @@ public class EntityPig extends EntityAnimal {
@@ -22,7 +22,7 @@ index 7ef67350a..9dc2d8be2 100644
              if (CraftEventFactory.callPigZapEvent(this, entitylightning, entitypigzombie).isCancelled()) {
                  return;
 diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
-index f8e05b75d..213d0b18c 100644
+index f8e05b75de..213d0b18c9 100644
 --- a/src/main/java/net/minecraft/server/EntityVillager.java
 +++ b/src/main/java/net/minecraft/server/EntityVillager.java
 @@ -0,0 +0,0 @@ public class EntityVillager extends EntityAgeable implements NPC, IMerchant {
@@ -39,7 +39,7 @@ index f8e05b75d..213d0b18c 100644
              entitywitch.prepare(this.world.getDamageScaler(new BlockPosition(entitywitch)), (GroupDataEntity) null, (NBTTagCompound) null);
              entitywitch.setNoAI(this.isNoAI());
 diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 7fe10fbe7..4097168a2 100644
+index b1df5985ef..ad83c69d76 100644
 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
 +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
 @@ -0,0 +0,0 @@ public class CraftEventFactory {
diff --git a/Spigot-Server-Patches/Add-ProjectileCollideEvent.patch b/Spigot-Server-Patches/Add-ProjectileCollideEvent.patch
index 6b9885ad59..07459e4274 100644
--- a/Spigot-Server-Patches/Add-ProjectileCollideEvent.patch
+++ b/Spigot-Server-Patches/Add-ProjectileCollideEvent.patch
@@ -87,7 +87,7 @@ index 751ea456b9..bab5b89fe9 100644
              if (movingobjectposition.type == MovingObjectPosition.EnumMovingObjectType.BLOCK && this.world.getType(movingobjectposition.getBlockPosition()).getBlock() == Blocks.NETHER_PORTAL) {
                  this.e(movingobjectposition.getBlockPosition());
 diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index b386395560..866dee45b0 100644
+index cf215205be..fb0fe35000 100644
 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
 +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
 @@ -0,0 +0,0 @@ public class CraftEventFactory {
diff --git a/Spigot-Server-Patches/Add-hand-to-bucket-events.patch b/Spigot-Server-Patches/Add-hand-to-bucket-events.patch
index efcf78ed23..9ba4785549 100644
--- a/Spigot-Server-Patches/Add-hand-to-bucket-events.patch
+++ b/Spigot-Server-Patches/Add-hand-to-bucket-events.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add hand to bucket events
 
 
 diff --git a/src/main/java/net/minecraft/server/EntityCow.java b/src/main/java/net/minecraft/server/EntityCow.java
-index 5ac88166f..5874d2993 100644
+index 5ac88166fd..5874d2993c 100644
 --- a/src/main/java/net/minecraft/server/EntityCow.java
 +++ b/src/main/java/net/minecraft/server/EntityCow.java
 @@ -0,0 +0,0 @@ public class EntityCow extends EntityAnimal {
@@ -18,7 +18,7 @@ index 5ac88166f..5874d2993 100644
              if (event.isCancelled()) {
                  return false;
 diff --git a/src/main/java/net/minecraft/server/ItemBucket.java b/src/main/java/net/minecraft/server/ItemBucket.java
-index 6f5dda880..a064897fc 100644
+index 6f5dda880b..a064897fc4 100644
 --- a/src/main/java/net/minecraft/server/ItemBucket.java
 +++ b/src/main/java/net/minecraft/server/ItemBucket.java
 @@ -0,0 +0,0 @@ public class ItemBucket extends Item {
@@ -67,7 +67,7 @@ index 6f5dda880..a064897fc 100644
                          ((EntityPlayer) entityhuman).playerConnection.sendPacket(new PacketPlayOutBlockChange(world, blockposition)); // SPIGOT-4238: needed when looking through entity
                          ((EntityPlayer) entityhuman).getBukkitEntity().updateInventory(); // SPIGOT-4541
 diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index fa3bb1047..a2841ee53 100644
+index 1b13fa6186..93da4c7267 100644
 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
 +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
 @@ -0,0 +0,0 @@ public class CraftEventFactory {
diff --git a/Spigot-Server-Patches/Add-source-to-PlayerExpChangeEvent.patch b/Spigot-Server-Patches/Add-source-to-PlayerExpChangeEvent.patch
index de7d84f02f..7fb874a109 100644
--- a/Spigot-Server-Patches/Add-source-to-PlayerExpChangeEvent.patch
+++ b/Spigot-Server-Patches/Add-source-to-PlayerExpChangeEvent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add source to PlayerExpChangeEvent
 
 
 diff --git a/src/main/java/net/minecraft/server/EntityExperienceOrb.java b/src/main/java/net/minecraft/server/EntityExperienceOrb.java
-index 808d1a120..3030dd9c3 100644
+index 808d1a120a..3030dd9c31 100644
 --- a/src/main/java/net/minecraft/server/EntityExperienceOrb.java
 +++ b/src/main/java/net/minecraft/server/EntityExperienceOrb.java
 @@ -0,0 +0,0 @@ public class EntityExperienceOrb extends Entity {
@@ -18,7 +18,7 @@ index 808d1a120..3030dd9c3 100644
  
                  this.die();
 diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index b8bf1fbef..717cd0f42 100644
+index ad83c69d76..cf215205be 100644
 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
 +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
 @@ -0,0 +0,0 @@ import org.bukkit.entity.Player;
diff --git a/Spigot-Server-Patches/Async-Chunk-Loading-and-Generation.patch b/Spigot-Server-Patches/Async-Chunk-Loading-and-Generation.patch
index da245ed560..31fa2711e2 100644
--- a/Spigot-Server-Patches/Async-Chunk-Loading-and-Generation.patch
+++ b/Spigot-Server-Patches/Async-Chunk-Loading-and-Generation.patch
@@ -2381,7 +2381,7 @@ index 95fe3a91bf..b5a87cfaf6 100644
                      if (isChunkLoaded(chunkCoordX + x, chunkCoordZ + z)) {
                          unloadChunk(chunkCoordX + x, chunkCoordZ + z);
 diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 58ebecefe0..282b4e6c38 100644
+index 054ebc82bd..2e0b4de83b 100644
 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
 +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
 @@ -0,0 +0,0 @@ public class CraftEventFactory {
diff --git a/Spigot-Server-Patches/EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch b/Spigot-Server-Patches/EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch
index 6f8d1fc794..978bff1a90 100644
--- a/Spigot-Server-Patches/EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch
+++ b/Spigot-Server-Patches/EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch
@@ -59,7 +59,7 @@ index 6934114005..52bc68e6a6 100644
                          if (itemstack1.isEmpty()) {
                              entityhuman.inventory.f(itemstack1);
 diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index e240c50bc3..edafaf0de7 100644
+index 0c57b36c8e..e75c188b5e 100644
 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
 +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
 @@ -0,0 +0,0 @@ public class CraftEventFactory {
diff --git a/Spigot-Server-Patches/ExperienceOrbMergeEvent.patch b/Spigot-Server-Patches/ExperienceOrbMergeEvent.patch
index 91612e8513..b967a8cbe2 100644
--- a/Spigot-Server-Patches/ExperienceOrbMergeEvent.patch
+++ b/Spigot-Server-Patches/ExperienceOrbMergeEvent.patch
@@ -8,7 +8,7 @@ Plugins can cancel this if they want to ensure experience orbs do not lose impor
 metadata such as spawn reason, or conditionally move data from source to target.
 
 diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index ea4262154..a7c0f8dd8 100644
+index 228f4b28eb..0c57b36c8e 100644
 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
 +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
 @@ -0,0 +0,0 @@ public class CraftEventFactory {
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 2cd65d90c3..4542c5104a 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
@@ -8,7 +8,7 @@ Adds lots of information about why this orb exists.
 Replaces isFromBottle() with logic that persists entity reloads too.
 
 diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java
-index dbf1089ba..66643be2b 100644
+index dbf1089bac..66643be2bf 100644
 --- a/src/main/java/net/minecraft/server/Block.java
 +++ b/src/main/java/net/minecraft/server/Block.java
 @@ -0,0 +0,0 @@ public class Block implements IMaterial {
@@ -28,7 +28,7 @@ index dbf1089ba..66643be2b 100644
          }
  
 diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java
-index b3fbc8249..79d8be8d4 100644
+index b3fbc8249e..79d8be8d46 100644
 --- a/src/main/java/net/minecraft/server/EntityEnderDragon.java
 +++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java
 @@ -0,0 +0,0 @@ public class EntityEnderDragon extends EntityInsentient implements IComplex, IMo
@@ -41,7 +41,7 @@ index b3fbc8249..79d8be8d4 100644
  
      }
 diff --git a/src/main/java/net/minecraft/server/EntityExperienceOrb.java b/src/main/java/net/minecraft/server/EntityExperienceOrb.java
-index 3030dd9c3..404a222b4 100644
+index 3030dd9c31..404a222b45 100644
 --- a/src/main/java/net/minecraft/server/EntityExperienceOrb.java
 +++ b/src/main/java/net/minecraft/server/EntityExperienceOrb.java
 @@ -0,0 +0,0 @@ public class EntityExperienceOrb extends Entity {
@@ -120,7 +120,7 @@ index 3030dd9c3..404a222b4 100644
  
      public void d(EntityHuman entityhuman) {
 diff --git a/src/main/java/net/minecraft/server/EntityFishingHook.java b/src/main/java/net/minecraft/server/EntityFishingHook.java
-index 23f7d36b5..e1c685eed 100644
+index 23f7d36b55..e1c685eede 100644
 --- a/src/main/java/net/minecraft/server/EntityFishingHook.java
 +++ b/src/main/java/net/minecraft/server/EntityFishingHook.java
 @@ -0,0 +0,0 @@ public class EntityFishingHook extends Entity {
@@ -133,7 +133,7 @@ index 23f7d36b5..e1c685eed 100644
                      // CraftBukkit end
                      if (itemstack1.getItem().a(TagsItem.FISHES)) {
 diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index f58ebe3c2..f2e38b9f3 100644
+index f58ebe3c23..f2e38b9f35 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 {
@@ -147,7 +147,7 @@ index f58ebe3c2..f2e38b9f3 100644
              this.expToDrop = 0;
              // CraftBukkit end
 diff --git a/src/main/java/net/minecraft/server/EntityThrownExpBottle.java b/src/main/java/net/minecraft/server/EntityThrownExpBottle.java
-index a5e1939e0..e73dba09a 100644
+index a5e1939e05..e73dba09a6 100644
 --- a/src/main/java/net/minecraft/server/EntityThrownExpBottle.java
 +++ b/src/main/java/net/minecraft/server/EntityThrownExpBottle.java
 @@ -0,0 +0,0 @@ public class EntityThrownExpBottle extends EntityProjectile {
@@ -160,7 +160,7 @@ index a5e1939e0..e73dba09a 100644
  
              this.die();
 diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
-index ebe397b15..78acac4ca 100644
+index ebe397b15a..78acac4ca7 100644
 --- a/src/main/java/net/minecraft/server/EntityVillager.java
 +++ b/src/main/java/net/minecraft/server/EntityVillager.java
 @@ -0,0 +0,0 @@ public class EntityVillager extends EntityAgeable implements NPC, IMerchant {
@@ -173,7 +173,7 @@ index ebe397b15..78acac4ca 100644
  
          if (this.tradingPlayer instanceof EntityPlayer) {
 diff --git a/src/main/java/net/minecraft/server/PathfinderGoalBreed.java b/src/main/java/net/minecraft/server/PathfinderGoalBreed.java
-index bf061cf06..55f978768 100644
+index bf061cf064..55f9787680 100644
 --- a/src/main/java/net/minecraft/server/PathfinderGoalBreed.java
 +++ b/src/main/java/net/minecraft/server/PathfinderGoalBreed.java
 @@ -0,0 +0,0 @@ public class PathfinderGoalBreed extends PathfinderGoal {
@@ -186,7 +186,7 @@ index bf061cf06..55f978768 100644
                  // CraftBukkit end
              }
 diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java
-index a165378ac..50a1239c2 100644
+index 0baf0100c9..6ae6afa339 100644
 --- a/src/main/java/net/minecraft/server/PlayerInteractManager.java
 +++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java
 @@ -0,0 +0,0 @@ public class PlayerInteractManager {
@@ -199,7 +199,7 @@ index a165378ac..50a1239c2 100644
                  // CraftBukkit end
  
 diff --git a/src/main/java/net/minecraft/server/SlotFurnaceResult.java b/src/main/java/net/minecraft/server/SlotFurnaceResult.java
-index 5ac554d65..d70c4dda5 100644
+index 5ac554d65e..d70c4dda5a 100644
 --- a/src/main/java/net/minecraft/server/SlotFurnaceResult.java
 +++ b/src/main/java/net/minecraft/server/SlotFurnaceResult.java
 @@ -0,0 +0,0 @@ import org.bukkit.event.inventory.FurnaceExtractEvent;
@@ -221,7 +221,7 @@ index 5ac554d65..d70c4dda5 100644
              }
  
 diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 0f3bf13ef..36d27c2a3 100644
+index 0f3bf13efe..36d27c2a3e 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 {
@@ -234,7 +234,7 @@ index 0f3bf13ef..36d27c2a3 100644
              // not sure what this can do
              if (LightningStrike.class.isAssignableFrom(clazz)) {
 diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java
-index 3a09cab3d..3302af0e4 100644
+index 3a09cab3d4..3302af0e45 100644
 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java
 +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java
 @@ -0,0 +0,0 @@ public class CraftExperienceOrb extends CraftEntity implements ExperienceOrb {
diff --git a/Spigot-Server-Patches/Extend-Player-Interact-cancellation.patch b/Spigot-Server-Patches/Extend-Player-Interact-cancellation.patch
index 1e51da49a6..63de3d7693 100644
--- a/Spigot-Server-Patches/Extend-Player-Interact-cancellation.patch
+++ b/Spigot-Server-Patches/Extend-Player-Interact-cancellation.patch
@@ -13,7 +13,7 @@ Update adjacent blocks of doors, double plants, pistons and beds
 when cancelling interaction.
 
 diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java
-index 50a1239c2..ef0b03795 100644
+index 6ae6afa339..07f9b8d2f7 100644
 --- a/src/main/java/net/minecraft/server/PlayerInteractManager.java
 +++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java
 @@ -0,0 +0,0 @@ public class PlayerInteractManager {
diff --git a/Spigot-Server-Patches/Improve-death-events.patch b/Spigot-Server-Patches/Improve-death-events.patch
index 5395eb404c..e0653bd616 100644
--- a/Spigot-Server-Patches/Improve-death-events.patch
+++ b/Spigot-Server-Patches/Improve-death-events.patch
@@ -305,7 +305,7 @@ index 07b9545e76..a2eae5d10c 100644
  
      public void injectScaledMaxHealth(Collection<AttributeInstance> collection, boolean force) {
 diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index da1fc58930..58ebecefe0 100644
+index 93da4c7267..054ebc82bd 100644
 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
 +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
 @@ -0,0 +0,0 @@ public class CraftEventFactory {
diff --git a/Spigot-Server-Patches/InventoryCloseEvent-Reason-API.patch b/Spigot-Server-Patches/InventoryCloseEvent-Reason-API.patch
index 0152e92028..e7b27822b3 100644
--- a/Spigot-Server-Patches/InventoryCloseEvent-Reason-API.patch
+++ b/Spigot-Server-Patches/InventoryCloseEvent-Reason-API.patch
@@ -168,7 +168,7 @@ index 0753a0f266..ce58cfc11e 100644
  
          // Check if the fromWorld and toWorld are the same.
 diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index edafaf0de7..d8f2e0c1b6 100644
+index e75c188b5e..167a3baec7 100644
 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
 +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
 @@ -0,0 +0,0 @@ public class CraftEventFactory {
diff --git a/Spigot-Server-Patches/MC-136865-Use-valid-item-for-enchantment-checks-on-b.patch b/Spigot-Server-Patches/MC-136865-Use-valid-item-for-enchantment-checks-on-b.patch
index ada63bf09b..9d2ef52769 100644
--- a/Spigot-Server-Patches/MC-136865-Use-valid-item-for-enchantment-checks-on-b.patch
+++ b/Spigot-Server-Patches/MC-136865-Use-valid-item-for-enchantment-checks-on-b.patch
@@ -13,7 +13,7 @@ keep the clone of the item used to a non empty value so it represents
 the item used.
 
 diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java
-index 22574a184f..74dcbc74ff 100644
+index 22378b6bc8..5e595b62e5 100644
 --- a/src/main/java/net/minecraft/server/PlayerInteractManager.java
 +++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java
 @@ -0,0 +0,0 @@ public class PlayerInteractManager {
diff --git a/Spigot-Server-Patches/Option-for-maximum-exp-value-when-merging-orbs.patch b/Spigot-Server-Patches/Option-for-maximum-exp-value-when-merging-orbs.patch
index 9e5ca4471b..487f4b06c6 100644
--- a/Spigot-Server-Patches/Option-for-maximum-exp-value-when-merging-orbs.patch
+++ b/Spigot-Server-Patches/Option-for-maximum-exp-value-when-merging-orbs.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Option for maximum exp value when merging orbs
 
 
 diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
-index af31030dc..b6764c7ec 100644
+index af31030dc7..b6764c7ec1 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 {
@@ -20,7 +20,7 @@ index af31030dc..b6764c7ec 100644
 +    }
  }
 diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 943963047..ea4262154 100644
+index fb0fe35000..228f4b28eb 100644
 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
 +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
 @@ -0,0 +0,0 @@ public class CraftEventFactory {
diff --git a/Spigot-Server-Patches/POM-Changes.patch b/Spigot-Server-Patches/POM-Changes.patch
index 6ee2d5dd0f..7d16f08893 100644
--- a/Spigot-Server-Patches/POM-Changes.patch
+++ b/Spigot-Server-Patches/POM-Changes.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] POM Changes
 
 
 diff --git a/pom.xml b/pom.xml
-index b8c0d03fc3..87202a520f 100644
+index a985cf0c7b..0305674eb0 100644
 --- a/pom.xml
 +++ b/pom.xml
 @@ -0,0 +0,0 @@
diff --git a/Spigot-Server-Patches/Use-TerminalConsoleAppender-for-console-improvements.patch b/Spigot-Server-Patches/Use-TerminalConsoleAppender-for-console-improvements.patch
index 0ff1ee1cae..d746ddc9c5 100644
--- a/Spigot-Server-Patches/Use-TerminalConsoleAppender-for-console-improvements.patch
+++ b/Spigot-Server-Patches/Use-TerminalConsoleAppender-for-console-improvements.patch
@@ -19,7 +19,7 @@ Other changes:
     configuration
 
 diff --git a/pom.xml b/pom.xml
-index d1913a434..1512ff969 100644
+index 0305674eb0..bf1c2ab823 100644
 --- a/pom.xml
 +++ b/pom.xml
 @@ -0,0 +0,0 @@
@@ -75,7 +75,7 @@ index d1913a434..1512ff969 100644
                  <groupId>org.apache.maven.plugins</groupId>
 diff --git a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java
 new file mode 100644
-index 000000000..688b4715e
+index 0000000000..688b4715eb
 --- /dev/null
 +++ b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java
 @@ -0,0 +0,0 @@
@@ -121,7 +121,7 @@ index 000000000..688b4715e
 +}
 diff --git a/src/main/java/com/destroystokyo/paper/console/TerminalConsoleCommandSender.java b/src/main/java/com/destroystokyo/paper/console/TerminalConsoleCommandSender.java
 new file mode 100644
-index 000000000..685deaa0e
+index 0000000000..685deaa0e5
 --- /dev/null
 +++ b/src/main/java/com/destroystokyo/paper/console/TerminalConsoleCommandSender.java
 @@ -0,0 +0,0 @@
@@ -143,7 +143,7 @@ index 000000000..685deaa0e
 +
 +}
 diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
-index 4e9ef43b4..5bb1ea880 100644
+index 4e9ef43b45..5bb1ea880a 100644
 --- a/src/main/java/net/minecraft/server/DedicatedServer.java
 +++ b/src/main/java/net/minecraft/server/DedicatedServer.java
 @@ -0,0 +0,0 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
@@ -185,7 +185,7 @@ index 4e9ef43b4..5bb1ea880 100644
          System.setOut(new PrintStream(new LoggerOutputStream(logger, Level.INFO), true));
          System.setErr(new PrintStream(new LoggerOutputStream(logger, Level.WARN), true));
 diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index dd910b16d..e046c2e33 100644
+index dd910b16d0..e046c2e334 100644
 --- a/src/main/java/net/minecraft/server/MinecraftServer.java
 +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
 @@ -0,0 +0,0 @@ import org.apache.commons.lang3.Validate;
@@ -243,7 +243,7 @@ index dd910b16d..e046c2e33 100644
  
      public KeyPair E() {
 diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index 9d44dcb3b..8bb3fef21 100644
+index 9d44dcb3b2..8bb3fef21e 100644
 --- a/src/main/java/net/minecraft/server/PlayerList.java
 +++ b/src/main/java/net/minecraft/server/PlayerList.java
 @@ -0,0 +0,0 @@ public abstract class PlayerList {
@@ -257,7 +257,7 @@ index 9d44dcb3b..8bb3fef21 100644
  
          this.k = new GameProfileBanList(PlayerList.a);
 diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 471da648f..7430c27bc 100644
+index 471da648f9..7430c27bcc 100644
 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
 +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
 @@ -0,0 +0,0 @@ import java.nio.ByteBuffer;
@@ -285,7 +285,7 @@ index 471da648f..7430c27bc 100644
      @Override
      public PluginCommand getPluginCommand(String name) {
 diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
-index 5c62e990a..b174a4efa 100644
+index 5c62e990ab..b174a4efae 100644
 --- a/src/main/java/org/bukkit/craftbukkit/Main.java
 +++ b/src/main/java/org/bukkit/craftbukkit/Main.java
 @@ -0,0 +0,0 @@ import java.util.logging.Logger;
@@ -327,7 +327,7 @@ index 5c62e990a..b174a4efa 100644
                  if (Main.class.getPackage().getImplementationVendor() != null && System.getProperty("IReallyKnowWhatIAmDoingISwear") == null) {
 diff --git a/src/main/java/org/bukkit/craftbukkit/command/ColouredConsoleSender.java b/src/main/java/org/bukkit/craftbukkit/command/ColouredConsoleSender.java
 deleted file mode 100644
-index 26a2fb894..000000000
+index 26a2fb8942..0000000000
 --- a/src/main/java/org/bukkit/craftbukkit/command/ColouredConsoleSender.java
 +++ /dev/null
 @@ -0,0 +0,0 @@
@@ -406,7 +406,7 @@ index 26a2fb894..000000000
 -    }
 -}
 diff --git a/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java b/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java
-index 33e8ea02c..1e3aae3b8 100644
+index 33e8ea02c4..1e3aae3b8f 100644
 --- a/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java
 +++ b/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java
 @@ -0,0 +0,0 @@ import java.util.logging.Level;
@@ -485,7 +485,7 @@ index 33e8ea02c..1e3aae3b8 100644
      }
  }
 diff --git a/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java b/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java
-index 984df4083..bbb5a84f3 100644
+index 984df4083d..bbb5a84f36 100644
 --- a/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java
 +++ b/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java
 @@ -0,0 +0,0 @@ public class ServerShutdownThread extends Thread {
@@ -499,7 +499,7 @@ index 984df4083..bbb5a84f3 100644
          }
 diff --git a/src/main/java/org/bukkit/craftbukkit/util/TerminalConsoleWriterThread.java b/src/main/java/org/bukkit/craftbukkit/util/TerminalConsoleWriterThread.java
 deleted file mode 100644
-index b64097113..000000000
+index b640971130..0000000000
 --- a/src/main/java/org/bukkit/craftbukkit/util/TerminalConsoleWriterThread.java
 +++ /dev/null
 @@ -0,0 +0,0 @@
@@ -558,7 +558,7 @@ index b64097113..000000000
 -    }
 -}
 diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml
-index 5cee8f00e..08b6bb7f9 100644
+index 5cee8f00ef..08b6bb7f97 100644
 --- a/src/main/resources/log4j2.xml
 +++ b/src/main/resources/log4j2.xml
 @@ -0,0 +0,0 @@
diff --git a/Spigot-Server-Patches/Vanished-players-don-t-have-rights.patch b/Spigot-Server-Patches/Vanished-players-don-t-have-rights.patch
index 31e87ec9de..de34cd183f 100644
--- a/Spigot-Server-Patches/Vanished-players-don-t-have-rights.patch
+++ b/Spigot-Server-Patches/Vanished-players-don-t-have-rights.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Vanished players don't have rights
 
 
 diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index 1b5663e52..682ab80d9 100644
+index e16fd4e5e9..61a547a40d 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 INamableTileEntity, ICommandListener, Ke
@@ -18,7 +18,7 @@ index 1b5663e52..682ab80d9 100644
      protected int k;
      private Entity vehicle;
 diff --git a/src/main/java/net/minecraft/server/ItemBlock.java b/src/main/java/net/minecraft/server/ItemBlock.java
-index 85d364b8f..ff6c8e2b5 100644
+index 85d364b8f4..ff6c8e2b55 100644
 --- a/src/main/java/net/minecraft/server/ItemBlock.java
 +++ b/src/main/java/net/minecraft/server/ItemBlock.java
 @@ -0,0 +0,0 @@ public class ItemBlock extends Item {
@@ -32,7 +32,7 @@ index 85d364b8f..ff6c8e2b5 100644
  
          BlockCanBuildEvent event = new BlockCanBuildEvent(CraftBlock.at(blockactioncontext.getWorld(), blockactioncontext.getClickPosition()), player, CraftBlockData.fromData(iblockdata), defaultReturn);
 diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 074d14b19..93b0544e0 100644
+index 074d14b196..93b0544e0f 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 IEntityAccess, GeneratorAccess, IIBlockAc
@@ -74,7 +74,7 @@ index 074d14b19..93b0544e0 100644
          if (voxelshape.isEmpty()) {
              return true;
 diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index d8f2e0c1b..fa11f966b 100644
+index 167a3baec7..1b13fa6186 100644
 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
 +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
 @@ -0,0 +0,0 @@ public class CraftEventFactory {
diff --git a/work/Bukkit b/work/Bukkit
index 60268ac8be..d58803c2b6 160000
--- a/work/Bukkit
+++ b/work/Bukkit
@@ -1 +1 @@
-Subproject commit 60268ac8be079ac815ee0d63ed1c1c4935258e44
+Subproject commit d58803c2b640ab583f259a5c6a8b5d1919634ae3
diff --git a/work/CraftBukkit b/work/CraftBukkit
index 2aba349f1a..ed274c517f 160000
--- a/work/CraftBukkit
+++ b/work/CraftBukkit
@@ -1 +1 @@
-Subproject commit 2aba349f1a39a804826584ef9abbd9f5bae565ea
+Subproject commit ed274c517f57b2fa0d181d3c32c5b3544d67689d