diff --git a/Spigot-Server-Patches/0005-Timings-v2.patch b/Spigot-Server-Patches/0005-Timings-v2.patch
index d7aeac2645..a849533df3 100644
--- a/Spigot-Server-Patches/0005-Timings-v2.patch
+++ b/Spigot-Server-Patches/0005-Timings-v2.patch
@@ -1,4 +1,4 @@
-From 144a0f6da4e59e11511965e09bd19ac98f5f36ab Mon Sep 17 00:00:00 2001
+From 71902c748944e74f9f67d964777dcfe04b3459fa Mon Sep 17 00:00:00 2001
 From: Aikar <aikar@aikar.co>
 Date: Thu, 3 Mar 2016 04:00:11 -0600
 Subject: [PATCH] Timings v2
@@ -465,7 +465,7 @@ index 5432e70..72cd51a 100644
      }
  
 diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 2aee2be..736800a 100644
+index 80675f6..b7a3582 100644
 --- a/src/main/java/net/minecraft/server/MinecraftServer.java
 +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
 @@ -50,7 +50,7 @@ import org.apache.logging.log4j.Logger;
@@ -512,7 +512,7 @@ index 2aee2be..736800a 100644
          }
  
          this.methodProfiler.a("tallying");
-@@ -718,12 +719,13 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
+@@ -718,15 +719,16 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
  
          this.methodProfiler.b();
          this.methodProfiler.b();
@@ -524,11 +524,16 @@ index 2aee2be..736800a 100644
      }
  
      public void D() {
+-        SpigotTimings.schedulerTimer.startTiming(); // Spigot
++        MinecraftTimings.bukkitSchedulerTimer.startTiming(); // Paper
+         this.server.getScheduler().mainThreadHeartbeat(this.ticks); // CraftBukkit
+-        SpigotTimings.schedulerTimer.stopTiming(); // Spigot
++        MinecraftTimings.bukkitSchedulerTimer.stopTiming(); // Paper
 +        MinecraftTimings.minecraftSchedulerTimer.startTiming(); // Paper
          this.methodProfiler.a("jobs");
          Queue queue = this.j;
  
-@@ -734,26 +736,27 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
+@@ -737,22 +739,23 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
              SystemUtils.a(entry, MinecraftServer.LOGGER);
           }
          // Spigot end
@@ -536,13 +541,7 @@ index 2aee2be..736800a 100644
  
          this.methodProfiler.c("levels");
  
--        SpigotTimings.schedulerTimer.startTiming(); // Spigot
-+        MinecraftTimings.bukkitSchedulerTimer.startTiming(); // Paper
          // CraftBukkit start
-         this.server.getScheduler().mainThreadHeartbeat(this.ticks);
--        SpigotTimings.schedulerTimer.stopTiming(); // Spigot
-+        MinecraftTimings.bukkitSchedulerTimer.stopTiming(); // Paper
- 
          // Run tasks that are waiting on processing
 -        SpigotTimings.processQueueTimer.startTiming(); // Spigot
 +        MinecraftTimings.processQueueTimer.startTiming(); // Spigot
@@ -563,7 +562,7 @@ index 2aee2be..736800a 100644
          // Send time updates to everyone, it will get the right time from the world the player is in.
          if (this.ticks % 20 == 0) {
              for (int i = 0; i < this.getPlayerList().players.size(); ++i) {
-@@ -761,7 +764,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
+@@ -760,7 +763,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
                  entityplayer.playerConnection.sendPacket(new PacketPlayOutUpdateTime(entityplayer.world.getTime(), entityplayer.getPlayerTime(), entityplayer.world.getGameRules().getBoolean("doDaylightCycle"))); // Add support for per player time
              }
          }
@@ -572,7 +571,7 @@ index 2aee2be..736800a 100644
  
          int i;
  
-@@ -818,9 +821,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
+@@ -817,9 +820,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
  
                  this.methodProfiler.b();
                  this.methodProfiler.a("tracker");
@@ -582,7 +581,7 @@ index 2aee2be..736800a 100644
                  this.methodProfiler.b();
                  this.methodProfiler.b();
              // } // CraftBukkit
-@@ -829,20 +830,20 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
+@@ -828,20 +829,20 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
          }
  
          this.methodProfiler.c("connection");
diff --git a/Spigot-Server-Patches/0018-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch b/Spigot-Server-Patches/0018-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch
index cd828f1307..df44ce239d 100644
--- a/Spigot-Server-Patches/0018-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch
+++ b/Spigot-Server-Patches/0018-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch
@@ -1,4 +1,4 @@
-From e73cfba0ec91cf2bc7c8f9bca1e3205c652a68b3 Mon Sep 17 00:00:00 2001
+From 9c23c9b57712bada7bfe99affbe33c070cf8a24a Mon Sep 17 00:00:00 2001
 From: Zach Brown <zach.brown@destroystokyo.com>
 Date: Tue, 1 Mar 2016 14:32:43 -0600
 Subject: [PATCH] Show 'Paper' in client crashes, server lists, and Mojang
@@ -20,10 +20,10 @@ index a8b5079..ebbc1fc 100644
              EULA.a.warn("Failed to save {}", new Object[] { this.b, exception});
          } finally {
 diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 736800a..fab855c 100644
+index b7a3582..295c673 100644
 --- a/src/main/java/net/minecraft/server/MinecraftServer.java
 +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -1036,7 +1036,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
+@@ -1035,7 +1035,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
      }
  
      public String getServerModName() {
diff --git a/Spigot-Server-Patches/0036-Optimize-explosions.patch b/Spigot-Server-Patches/0036-Optimize-explosions.patch
index f73b5c51b8..d72dafd704 100644
--- a/Spigot-Server-Patches/0036-Optimize-explosions.patch
+++ b/Spigot-Server-Patches/0036-Optimize-explosions.patch
@@ -1,4 +1,4 @@
-From 2f20d12e65e7e480ff9635d146f611746a9d11c5 Mon Sep 17 00:00:00 2001
+From 785ec5fad9779788978a1b2b4b187f331e32a31c Mon Sep 17 00:00:00 2001
 From: Byteflux <byte@byteflux.net>
 Date: Wed, 2 Mar 2016 11:59:48 -0600
 Subject: [PATCH] Optimize explosions
@@ -124,10 +124,10 @@ index f4765d3..caf29c7 100644
 +    // Paper end
  }
 diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 88f99e5..afdce00 100644
+index ff1dd53..a8d9e67 100644
 --- a/src/main/java/net/minecraft/server/MinecraftServer.java
 +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -878,6 +878,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
+@@ -877,6 +877,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
                  worldserver.getTracker().updatePlayers();
                  this.methodProfiler.b();
                  this.methodProfiler.b();
diff --git a/Spigot-Server-Patches/0057-Add-Location-support-to-tab-completers-vanilla-featu.patch b/Spigot-Server-Patches/0057-Add-Location-support-to-tab-completers-vanilla-featu.patch
index 264dc4205c..64549545aa 100644
--- a/Spigot-Server-Patches/0057-Add-Location-support-to-tab-completers-vanilla-featu.patch
+++ b/Spigot-Server-Patches/0057-Add-Location-support-to-tab-completers-vanilla-featu.patch
@@ -1,4 +1,4 @@
-From c8890627ca3af598f072d84bbb7aad3540c5fb38 Mon Sep 17 00:00:00 2001
+From 7ee7e55bf2dc94c90e59e6c2ea9819cd17708c84 Mon Sep 17 00:00:00 2001
 From: DemonWav <demonwav@gmail.com>
 Date: Thu, 3 Mar 2016 01:44:39 -0600
 Subject: [PATCH] Add Location support to tab completers (vanilla feature
@@ -20,10 +20,10 @@ index b302cb7..75e7b78 100644
 +    }
  }
 diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index afdce00..a441b80 100644
+index a8d9e67..9b330f6 100644
 --- a/src/main/java/net/minecraft/server/MinecraftServer.java
 +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -1164,7 +1164,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
+@@ -1163,7 +1163,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
              return arraylist;
          }
          */
diff --git a/Spigot-Server-Patches/0112-Add-getEntity-by-UUID-API.patch b/Spigot-Server-Patches/0112-Add-getEntity-by-UUID-API.patch
index 1f31e9928b..d8283a481d 100644
--- a/Spigot-Server-Patches/0112-Add-getEntity-by-UUID-API.patch
+++ b/Spigot-Server-Patches/0112-Add-getEntity-by-UUID-API.patch
@@ -1,14 +1,14 @@
-From 7c894ae97ba5f7e12014d7a4d9aeec71bc503a14 Mon Sep 17 00:00:00 2001
+From 95e61169a47b04da263601f5d38dbe53fef67cd0 Mon Sep 17 00:00:00 2001
 From: DemonWav <demonwav@gmail.com>
 Date: Wed, 30 Mar 2016 01:20:11 -0500
 Subject: [PATCH] Add getEntity by UUID API
 
 
 diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index a441b80..d0aeec2 100644
+index 9b330f6..2d51202 100644
 --- a/src/main/java/net/minecraft/server/MinecraftServer.java
 +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -1514,6 +1514,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
+@@ -1513,6 +1513,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
          this.Y = 0L;
      }
  
@@ -16,7 +16,7 @@ index a441b80..d0aeec2 100644
      @Nullable
      public Entity a(UUID uuid) {
          WorldServer[] aworldserver = this.worldServer;
-@@ -1527,7 +1528,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
+@@ -1526,7 +1527,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
              if (worldserver != null) {
                  Entity entity = worldserver.getEntity(uuid);
  
diff --git a/Spigot-Server-Patches/0141-remove-null-possibility-for-getServer-singleton.patch b/Spigot-Server-Patches/0141-remove-null-possibility-for-getServer-singleton.patch
index a97b091726..e52ba8ca2b 100644
--- a/Spigot-Server-Patches/0141-remove-null-possibility-for-getServer-singleton.patch
+++ b/Spigot-Server-Patches/0141-remove-null-possibility-for-getServer-singleton.patch
@@ -1,4 +1,4 @@
-From 8d3ec2bb81e67c4a97606de1dbb78fc600fb147a Mon Sep 17 00:00:00 2001
+From 10ee17c62df495549f10eb5046fe99d8ea5f156f Mon Sep 17 00:00:00 2001
 From: Aikar <aikar@aikar.co>
 Date: Thu, 28 Apr 2016 00:57:27 -0400
 Subject: [PATCH] remove null possibility for getServer singleton
@@ -6,7 +6,7 @@ Subject: [PATCH] remove null possibility for getServer singleton
 to stop IDE complaining about potential NPE
 
 diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 6ae3665..0392042 100644
+index dc07733..ede9c30 100644
 --- a/src/main/java/net/minecraft/server/MinecraftServer.java
 +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
 @@ -54,6 +54,7 @@ import co.aikar.timings.MinecraftTimings; // Paper
@@ -25,7 +25,7 @@ index 6ae3665..0392042 100644
          io.netty.util.ResourceLeakDetector.setEnabled( false ); // Spigot - disable
          this.e = proxy;
          this.U = yggdrasilauthenticationservice;
-@@ -1603,7 +1605,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
+@@ -1602,7 +1604,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
      // CraftBukkit start
      @Deprecated
      public static MinecraftServer getServer() {
diff --git a/work/CraftBukkit b/work/CraftBukkit
index 1faaa340e5..6b843d995f 160000
--- a/work/CraftBukkit
+++ b/work/CraftBukkit
@@ -1 +1 @@
-Subproject commit 1faaa340e5d02ab0afdc5c9482ce7e5a5e74c1f7
+Subproject commit 6b843d995ffa4b1d5e50124bb67ea58289598596
diff --git a/work/Spigot b/work/Spigot
index 65a0f1170c..3996d7d5c0 160000
--- a/work/Spigot
+++ b/work/Spigot
@@ -1 +1 @@
-Subproject commit 65a0f1170c38f06928cf916892ae863abecb6927
+Subproject commit 3996d7d5c02c6a13ff621eb3cb37c17fc7ec1954