diff --git a/Spigot-Server-Patches/0002-Paper-config-files.patch b/Spigot-Server-Patches/0002-Paper-config-files.patch
index ebc2f4a3eb..3de3adca65 100644
--- a/Spigot-Server-Patches/0002-Paper-config-files.patch
+++ b/Spigot-Server-Patches/0002-Paper-config-files.patch
@@ -1,4 +1,4 @@
-From a5eb13cb6d15cfa42961580bceb89f8b03356609 Mon Sep 17 00:00:00 2001
+From 6d7c54049384f29cda8dc22268864a57681ed022 Mon Sep 17 00:00:00 2001
 From: Zach Brown <zach.brown@destroystokyo.com>
 Date: Mon, 29 Feb 2016 21:02:09 -0600
 Subject: [PATCH] Paper config files
@@ -6,10 +6,10 @@ Subject: [PATCH] Paper config files
 
 diff --git a/src/main/java/com/destroystokyo/paper/PaperCommand.java b/src/main/java/com/destroystokyo/paper/PaperCommand.java
 new file mode 100644
-index 0000000000..961966e169
+index 000000000..2e79b0b5f
 --- /dev/null
 +++ b/src/main/java/com/destroystokyo/paper/PaperCommand.java
-@@ -0,0 +1,237 @@
+@@ -0,0 +1,241 @@
 +package com.destroystokyo.paper;
 +
 +import com.google.common.base.Functions;
@@ -123,8 +123,12 @@ index 0000000000..961966e169
 +                break;
 +            case "ver":
 +            case "version":
-+                org.bukkit.Bukkit.getServer().getCommandMap().getCommand("version").execute(sender, commandLabel, new String[0]);
-+                break;
++                Command ver = org.bukkit.Bukkit.getServer().getCommandMap().getCommand("version");
++                if (ver != null) {
++                    ver.execute(sender, commandLabel, new String[0]);
++                    break;
++                }
++                // else - fall through to default
 +            default:
 +                sender.sendMessage(ChatColor.RED + "Usage: " + usageMessage);
 +                return false;
@@ -249,7 +253,7 @@ index 0000000000..961966e169
 +}
 diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
 new file mode 100644
-index 0000000000..5586575ce9
+index 000000000..5586575ce
 --- /dev/null
 +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
 @@ -0,0 +1,184 @@
@@ -439,7 +443,7 @@ index 0000000000..5586575ce9
 +}
 diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
 new file mode 100644
-index 0000000000..a738657394
+index 000000000..a73865739
 --- /dev/null
 +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
 @@ -0,0 +1,67 @@
@@ -511,7 +515,7 @@ index 0000000000..a738657394
 +    }
 +}
 diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
-index 64a6a681fb..ad9c00bc80 100644
+index 64a6a681f..ad9c00bc8 100644
 --- a/src/main/java/net/minecraft/server/DedicatedServer.java
 +++ b/src/main/java/net/minecraft/server/DedicatedServer.java
 @@ -192,6 +192,15 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
@@ -531,7 +535,7 @@ index 64a6a681fb..ad9c00bc80 100644
              DedicatedServer.LOGGER.info("Generating keypair");
              this.a(MinecraftEncryption.b());
 diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index 22be0e4225..33229f45d9 100644
+index 9a8bbeea7..cd998fcfb 100644
 --- a/src/main/java/net/minecraft/server/Entity.java
 +++ b/src/main/java/net/minecraft/server/Entity.java
 @@ -133,9 +133,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener {
@@ -548,7 +552,7 @@ index 22be0e4225..33229f45d9 100644
      public boolean impulse;
      public int portalCooldown;
 diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java
-index ee16fac91e..b8abd6363f 100644
+index ee16fac91..b8abd6363 100644
 --- a/src/main/java/net/minecraft/server/EntityTypes.java
 +++ b/src/main/java/net/minecraft/server/EntityTypes.java
 @@ -2,6 +2,8 @@ package net.minecraft.server;
@@ -572,7 +576,7 @@ index ee16fac91e..b8abd6363f 100644
 +    // Paper end
  }
 diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 90c54a73d4..9865f7f7aa 100644
+index a84a182b2..9d5b3958b 100644
 --- a/src/main/java/net/minecraft/server/World.java
 +++ b/src/main/java/net/minecraft/server/World.java
 @@ -130,6 +130,8 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
@@ -593,7 +597,7 @@ index 90c54a73d4..9865f7f7aa 100644
          this.world = new CraftWorld((WorldServer) this, gen, env);
          this.ticksPerAnimalSpawns = this.getServer().getTicksPerAnimalSpawns(); // CraftBukkit
 diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index a0afe05615..2bf30cd6b4 100644
+index a0afe0561..2bf30cd6b 100644
 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
 +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
 @@ -755,6 +755,7 @@ public final class CraftServer implements Server {
@@ -648,7 +652,7 @@ index a0afe05615..2bf30cd6b4 100644
 +    // Paper end
  }
 diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
-index 5ae5b7099f..24620a8b8d 100644
+index 76abec66f..a62359ba6 100644
 --- a/src/main/java/org/bukkit/craftbukkit/Main.java
 +++ b/src/main/java/org/bukkit/craftbukkit/Main.java
 @@ -128,6 +128,14 @@ public class Main {
@@ -667,7 +671,7 @@ index 5ae5b7099f..24620a8b8d 100644
          };
  
 diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
-index 2578c4957f..d3c2abc398 100644
+index 2578c4957..d3c2abc39 100644
 --- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
 +++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
 @@ -39,31 +39,31 @@ public class SpigotWorldConfig
@@ -708,5 +712,5 @@ index 2578c4957f..d3c2abc398 100644
          config.addDefault( "world-settings.default." + path, def );
          return config.getString( "world-settings." + worldName + "." + path, config.getString( "world-settings.default." + path ) );
 -- 
-2.20.1
+2.21.0
 
diff --git a/Spigot-Server-Patches/0006-Add-MinecraftKey-Information-to-Objects.patch b/Spigot-Server-Patches/0006-Add-MinecraftKey-Information-to-Objects.patch
index 985c618e2e..94554bbccb 100644
--- a/Spigot-Server-Patches/0006-Add-MinecraftKey-Information-to-Objects.patch
+++ b/Spigot-Server-Patches/0006-Add-MinecraftKey-Information-to-Objects.patch
@@ -1,4 +1,4 @@
-From 68a23948d30b920b302c42cd4fc9eb1ab9b47c5c Mon Sep 17 00:00:00 2001
+From ce9840a8f99f46154e941de2d8560f0333f459a8 Mon Sep 17 00:00:00 2001
 From: Aikar <aikar@aikar.co>
 Date: Wed, 4 Jul 2018 01:40:13 -0400
 Subject: [PATCH] Add MinecraftKey Information to Objects
@@ -6,10 +6,10 @@ Subject: [PATCH] Add MinecraftKey Information to Objects
 Stores the reference to the objects respective MinecraftKey
 
 diff --git a/src/main/java/com/destroystokyo/paper/PaperCommand.java b/src/main/java/com/destroystokyo/paper/PaperCommand.java
-index 961966e169..56700fc596 100644
+index 2e79b0b5f..f38179e98 100644
 --- a/src/main/java/com/destroystokyo/paper/PaperCommand.java
 +++ b/src/main/java/com/destroystokyo/paper/PaperCommand.java
-@@ -171,7 +171,7 @@ public class PaperCommand extends Command {
+@@ -175,7 +175,7 @@ public class PaperCommand extends Command {
  
                  List<Entity> entities = world.entityList;
                  entities.forEach(e -> {
@@ -19,7 +19,7 @@ index 961966e169..56700fc596 100644
                      MutablePair<Integer, Map<ChunkCoordIntPair, Integer>> info = list.computeIfAbsent(key, k -> MutablePair.of(0, Maps.newHashMap()));
                      ChunkCoordIntPair chunk = new ChunkCoordIntPair(e.getChunkX(), e.getChunkZ());
 diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index 33229f45d9..c87d11da5b 100644
+index cd998fcfb..d9c9748ce 100644
 --- a/src/main/java/net/minecraft/server/Entity.java
 +++ b/src/main/java/net/minecraft/server/Entity.java
 @@ -44,7 +44,7 @@ import org.bukkit.event.entity.EntityPortalEvent;
@@ -75,7 +75,7 @@ index 33229f45d9..c87d11da5b 100644
  
      protected abstract void a(NBTTagCompound nbttagcompound);
 diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java
-index a07ee150c2..d74bfa1201 100644
+index a07ee150c..d74bfa120 100644
 --- a/src/main/java/net/minecraft/server/EntityTypes.java
 +++ b/src/main/java/net/minecraft/server/EntityTypes.java
 @@ -240,6 +240,7 @@ public class EntityTypes<T extends Entity> {
@@ -88,7 +88,7 @@ index a07ee150c2..d74bfa1201 100644
      }
 diff --git a/src/main/java/net/minecraft/server/KeyedObject.java b/src/main/java/net/minecraft/server/KeyedObject.java
 new file mode 100644
-index 0000000000..743142d030
+index 000000000..743142d03
 --- /dev/null
 +++ b/src/main/java/net/minecraft/server/KeyedObject.java
 @@ -0,0 +1,9 @@
@@ -102,7 +102,7 @@ index 0000000000..743142d030
 +    }
 +}
 diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java
-index 62b6e6eb38..7390061bf0 100644
+index 62b6e6eb3..7390061bf 100644
 --- a/src/main/java/net/minecraft/server/TileEntity.java
 +++ b/src/main/java/net/minecraft/server/TileEntity.java
 @@ -7,11 +7,11 @@ import org.apache.logging.log4j.Logger;
@@ -147,5 +147,5 @@ index 62b6e6eb38..7390061bf0 100644
      public World getWorld() {
          return this.world;
 -- 
-2.20.1
+2.21.0
 
diff --git a/Spigot-Server-Patches/0308-Ignore-Dead-Entities-in-entityList-iteration.patch b/Spigot-Server-Patches/0308-Ignore-Dead-Entities-in-entityList-iteration.patch
index ab9c97aed1..20ad305ac9 100644
--- a/Spigot-Server-Patches/0308-Ignore-Dead-Entities-in-entityList-iteration.patch
+++ b/Spigot-Server-Patches/0308-Ignore-Dead-Entities-in-entityList-iteration.patch
@@ -1,4 +1,4 @@
-From 86175d98704ba04f46d51e36b6ff3fc2ff213f32 Mon Sep 17 00:00:00 2001
+From 0e53985f8b0afb2bffb0b17aa5a014b9023db2c3 Mon Sep 17 00:00:00 2001
 From: Aikar <aikar@aikar.co>
 Date: Sat, 28 Jul 2018 12:18:27 -0400
 Subject: [PATCH] Ignore Dead Entities in entityList iteration
@@ -11,10 +11,10 @@ This will ensure that dead entities are skipped from iteration since
 they shouldn't of been in the list in the first place.
 
 diff --git a/src/main/java/com/destroystokyo/paper/PaperCommand.java b/src/main/java/com/destroystokyo/paper/PaperCommand.java
-index 56700fc59..9b9c8361e 100644
+index f38179e98..8e1bda4de 100644
 --- a/src/main/java/com/destroystokyo/paper/PaperCommand.java
 +++ b/src/main/java/com/destroystokyo/paper/PaperCommand.java
-@@ -172,6 +172,7 @@ public class PaperCommand extends Command {
+@@ -176,6 +176,7 @@ public class PaperCommand extends Command {
                  List<Entity> entities = world.entityList;
                  entities.forEach(e -> {
                      MinecraftKey key = e.getMinecraftKey();
@@ -71,7 +71,7 @@ index f93adc860..814950bde 100644
              if (entity instanceof EntityInsentient) {
                  EntityInsentient entityinsentient = (EntityInsentient) entity;
 diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 2fca59f8f..3fdd12ec0 100644
+index 609b91126..4594bab46 100644
 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
 +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
 @@ -634,6 +634,7 @@ public class CraftWorld implements World {