From a289bd5949760709e2973b71896da61e4d33b373 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sun, 16 Jul 2017 20:36:27 -0400
Subject: [PATCH] Update upstream (memory leak fix)

---
 Spigot-API-Patches/POM-changes.patch          |  4 +--
 .../Add-PlayerInitialSpawnEvent.patch         |  2 +-
 .../Auto-Save-Improvements.patch              | 18 ++++++-------
 .../Configurable-Player-Collision.patch       | 10 +++----
 .../Enforce-Sync-Player-Saves.patch           |  2 +-
 ...dDebugInfo-not-initialized-on-client.patch |  2 +-
 Spigot-Server-Patches/POM-Changes.patch       | 17 ++++++------
 ...le-async-calls-to-restart-the-server.patch |  6 ++---
 Spigot-Server-Patches/Timings-v2.patch        |  4 +--
 ...oleAppender-for-console-improvements.patch | 26 +++++++++----------
 work/Bukkit                                   |  2 +-
 work/CraftBukkit                              |  2 +-
 work/Spigot                                   |  2 +-
 13 files changed, 48 insertions(+), 49 deletions(-)

diff --git a/Spigot-API-Patches/POM-changes.patch b/Spigot-API-Patches/POM-changes.patch
index fe33c59adf..decf2d8b4a 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 ecb870a0..968f9091 100644
+index 0c3bf997..cce94262 100644
 --- a/pom.xml
 +++ b/pom.xml
 @@ -0,0 +0,0 @@
@@ -120,7 +120,7 @@ index ecb870a0..968f9091 100644
 -            <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-shade-plugin</artifactId>
-                 <version>2.4.3</version>
+                 <version>3.0.0</version>
 @@ -0,0 +0,0 @@
                      </execution>
                  </executions>
diff --git a/Spigot-Server-Patches/Add-PlayerInitialSpawnEvent.patch b/Spigot-Server-Patches/Add-PlayerInitialSpawnEvent.patch
index 8d064e72fb..34d9a224cf 100644
--- a/Spigot-Server-Patches/Add-PlayerInitialSpawnEvent.patch
+++ b/Spigot-Server-Patches/Add-PlayerInitialSpawnEvent.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Add PlayerInitialSpawnEvent
 For modifying a player's initial spawn location as they join the server
 
 diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index 4aaf287ae..7c73e08c3 100644
+index b9920a5fc..b90407d18 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 {
diff --git a/Spigot-Server-Patches/Auto-Save-Improvements.patch b/Spigot-Server-Patches/Auto-Save-Improvements.patch
index eb03a788dd..8fc7a46267 100644
--- a/Spigot-Server-Patches/Auto-Save-Improvements.patch
+++ b/Spigot-Server-Patches/Auto-Save-Improvements.patch
@@ -12,7 +12,7 @@ Re-introduce a cap per tick for auto save (Spigot disabled the vanilla cap) and
 Adds incremental player auto saving too
 
 diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
-index 621c585e..da0984a3 100644
+index 621c585e7..da0984a35 100644
 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
 +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
 @@ -0,0 +0,0 @@ public class PaperConfig {
@@ -26,7 +26,7 @@ index 621c585e..da0984a3 100644
 +    }
  }
 diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
-index cec9ea74..39f8a0a2 100644
+index cec9ea74c..39f8a0a2c 100644
 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
 +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
 @@ -0,0 +0,0 @@ package com.destroystokyo.paper;
@@ -58,7 +58,7 @@ index cec9ea74..39f8a0a2 100644
 +    }
  }
 diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
-index a0b5cd56..f98d380f 100644
+index a0b5cd56b..f98d380f6 100644
 --- a/src/main/java/net/minecraft/server/Chunk.java
 +++ b/src/main/java/net/minecraft/server/Chunk.java
 @@ -0,0 +0,0 @@ public class Chunk {
@@ -76,7 +76,7 @@ index a0b5cd56..f98d380f 100644
  
      public Random a(long i) {
 diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
-index 9836c0c5..39f0f5a1 100644
+index 9836c0c5a..39f0f5a17 100644
 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
 +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
 @@ -0,0 +0,0 @@
@@ -96,7 +96,7 @@ index 9836c0c5..39f0f5a1 100644
                  }
              }
 diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
-index 8fe324cf..4cfd8961 100644
+index 5422b7d59..7ff7cc5d4 100644
 --- a/src/main/java/net/minecraft/server/EntityPlayer.java
 +++ b/src/main/java/net/minecraft/server/EntityPlayer.java
 @@ -0,0 +0,0 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@@ -108,7 +108,7 @@ index 8fe324cf..4cfd8961 100644
      public final MinecraftServer server;
      public final PlayerInteractManager playerInteractManager;
 diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 31ead884..9fc484ce 100644
+index 31ead8849..9fc484ce1 100644
 --- a/src/main/java/net/minecraft/server/MinecraftServer.java
 +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
 @@ -0,0 +0,0 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
@@ -155,7 +155,7 @@ index 31ead884..9fc484ce 100644
          this.methodProfiler.a("tallying");
          // Spigot start
 diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index 8fcf4d9c..7882eaba 100644
+index 7adf5eb87..73cf2e3d8 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 {
@@ -164,7 +164,7 @@ index 8fcf4d9c..7882eaba 100644
      protected void savePlayerFile(EntityPlayer entityplayer) {
 +        entityplayer.lastSave = MinecraftServer.currentTick; // Paper
          this.playerFileData.save(entityplayer);
-         ServerStatisticManager serverstatisticmanager = (ServerStatisticManager) this.o.get(entityplayer.getUniqueID());
+         ServerStatisticManager serverstatisticmanager = (ServerStatisticManager) entityplayer.getStatisticManager(); // CraftBukkit
  
 @@ -0,0 +0,0 @@ public abstract class PlayerList {
  
@@ -192,7 +192,7 @@ index 8fcf4d9c..7882eaba 100644
      public void addWhitelist(GameProfile gameprofile) {
          this.whitelist.add(new WhiteListEntry(gameprofile));
 diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
-index 3865b31c..87a95857 100644
+index 3865b31cb..87a95857c 100644
 --- a/src/main/java/net/minecraft/server/WorldServer.java
 +++ b/src/main/java/net/minecraft/server/WorldServer.java
 @@ -0,0 +0,0 @@ public class WorldServer extends World implements IAsyncTaskHandler {
diff --git a/Spigot-Server-Patches/Configurable-Player-Collision.patch b/Spigot-Server-Patches/Configurable-Player-Collision.patch
index 21384cf074..c2c1546b51 100644
--- a/Spigot-Server-Patches/Configurable-Player-Collision.patch
+++ b/Spigot-Server-Patches/Configurable-Player-Collision.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable Player Collision
 
 
 diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
-index ec464338..430b5d0c 100644
+index ec4643384..430b5d0cd 100644
 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
 +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
 @@ -0,0 +0,0 @@ public class PaperConfig {
@@ -19,7 +19,7 @@ index ec464338..430b5d0c 100644
 +    }
  }
 diff --git a/src/main/java/net/minecraft/server/CommandScoreboard.java b/src/main/java/net/minecraft/server/CommandScoreboard.java
-index b08274d9..0607e55d 100644
+index b08274d93..0607e55d3 100644
 --- a/src/main/java/net/minecraft/server/CommandScoreboard.java
 +++ b/src/main/java/net/minecraft/server/CommandScoreboard.java
 @@ -0,0 +0,0 @@ public class CommandScoreboard extends CommandAbstract {
@@ -37,7 +37,7 @@ index b08274d9..0607e55d 100644
                      }
                  }
 diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 71b66bbd..5db42bef 100644
+index 71b66bbdf..5db42beff 100644
 --- a/src/main/java/net/minecraft/server/MinecraftServer.java
 +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
 @@ -0,0 +0,0 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
@@ -62,7 +62,7 @@ index 71b66bbd..5db42bef 100644
  
      protected void l() {
 diff --git a/src/main/java/net/minecraft/server/PacketPlayOutScoreboardTeam.java b/src/main/java/net/minecraft/server/PacketPlayOutScoreboardTeam.java
-index 549d4e89..df11764e 100644
+index 549d4e89d..df11764e0 100644
 --- a/src/main/java/net/minecraft/server/PacketPlayOutScoreboardTeam.java
 +++ b/src/main/java/net/minecraft/server/PacketPlayOutScoreboardTeam.java
 @@ -0,0 +0,0 @@ public class PacketPlayOutScoreboardTeam implements Packet<PacketListenerPlayOut
@@ -75,7 +75,7 @@ index 549d4e89..df11764e 100644
          }
  
 diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index d54d7270..8fcf4d9c 100644
+index 4b2865506..7adf5eb87 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 {
diff --git a/Spigot-Server-Patches/Enforce-Sync-Player-Saves.patch b/Spigot-Server-Patches/Enforce-Sync-Player-Saves.patch
index f0500b490f..855f3a9538 100644
--- a/Spigot-Server-Patches/Enforce-Sync-Player-Saves.patch
+++ b/Spigot-Server-Patches/Enforce-Sync-Player-Saves.patch
@@ -7,7 +7,7 @@ Saving players async is extremely dangerous. This will force it to main
 the same way we handle async chunk loads.
 
 diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index 7882eaba..a988fc8b 100644
+index 73cf2e3d8..206068384 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 {
diff --git a/Spigot-Server-Patches/Fix-reducedDebugInfo-not-initialized-on-client.patch b/Spigot-Server-Patches/Fix-reducedDebugInfo-not-initialized-on-client.patch
index bbd94ce948..f035435089 100644
--- a/Spigot-Server-Patches/Fix-reducedDebugInfo-not-initialized-on-client.patch
+++ b/Spigot-Server-Patches/Fix-reducedDebugInfo-not-initialized-on-client.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix reducedDebugInfo not initialized on client
 
 
 diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index 3a5f2108..d54d7270 100644
+index b90407d18..4b2865506 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 {
diff --git a/Spigot-Server-Patches/POM-Changes.patch b/Spigot-Server-Patches/POM-Changes.patch
index 51cefc4248..d155ac8255 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 9bdc62ab..cf00ee13 100644
+index dafedf609..4cac7e38e 100644
 --- a/pom.xml
 +++ b/pom.xml
 @@ -0,0 +0,0 @@
@@ -36,8 +36,9 @@ index 9bdc62ab..cf00ee13 100644
          <version>dev-SNAPSHOT</version>
          <relativePath>../pom.xml</relativePath>
      </parent>
- 
-     <dependencies>
+@@ -0,0 +0,0 @@
+             <scope>compile</scope>
+         </dependency>
          <dependency>
 -            <groupId>org.spigotmc</groupId>
 -            <artifactId>spigot-api</artifactId>
@@ -138,28 +139,26 @@ index 9bdc62ab..cf00ee13 100644
                                      <pattern>org.bukkit.craftbukkit</pattern>
                                      <shadedPattern>org.bukkit.craftbukkit.v${minecraft_version}</shadedPattern>
 @@ -0,0 +0,0 @@
+                 <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-compiler-plugin</artifactId>
-                 <!-- versions after this appear to be broken -->
-                 <version>3.1</version>
+                 <version>3.6.1</version>
 -                <configuration>
 -                    <!-- we use the Eclipse compiler as it doesn't need a JDK -->
 -                    <compilerId>eclipse</compilerId>
--                    <!-- source and target are ignored if this isn't true -->
--                    <optimize>true</optimize>
 -                </configuration>
 -                <dependencies>
 -                    <!-- we need our custom version as it fixes some bugs on case sensitive file systems -->
 -                    <dependency>
 -                        <groupId>org.codehaus.plexus</groupId>
 -                        <artifactId>plexus-compiler-eclipse</artifactId>
--                        <version>2.5.0-spigotmc</version>
+-                        <version>2.8.1-spigotmc</version>
 -                    </dependency>
 -                </dependencies>
              </plugin>
              <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
 diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
-index 93046379..674096ca 100644
+index 93046379d..674096cab 100644
 --- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
 +++ b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
 @@ -0,0 +0,0 @@ public final class Versioning {
diff --git a/Spigot-Server-Patches/Properly-handle-async-calls-to-restart-the-server.patch b/Spigot-Server-Patches/Properly-handle-async-calls-to-restart-the-server.patch
index a3bf434a5d..feb3e1ff50 100644
--- a/Spigot-Server-Patches/Properly-handle-async-calls-to-restart-the-server.patch
+++ b/Spigot-Server-Patches/Properly-handle-async-calls-to-restart-the-server.patch
@@ -30,7 +30,7 @@ will have plugins and worlds saving to the disk has a high potential to result
 in corruption/dataloss.
 
 diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index eb585818..d84f59da 100644
+index eb5858189..d84f59da1 100644
 --- a/src/main/java/net/minecraft/server/MinecraftServer.java
 +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
 @@ -0,0 +0,0 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
@@ -78,7 +78,7 @@ index eb585818..d84f59da 100644
          return this.serverThread;
      }
 diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index a988fc8b..0c328782 100644
+index 206068384..17c251ba9 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 {
@@ -107,7 +107,7 @@ index a988fc8b..0c328782 100644
      // CraftBukkit start
      public void sendMessage(IChatBaseComponent[] iChatBaseComponents) {
 diff --git a/src/main/java/org/spigotmc/RestartCommand.java b/src/main/java/org/spigotmc/RestartCommand.java
-index 49768734..d51636c8 100644
+index 49768734d..d51636c8e 100644
 --- a/src/main/java/org/spigotmc/RestartCommand.java
 +++ b/src/main/java/org/spigotmc/RestartCommand.java
 @@ -0,0 +0,0 @@ public class RestartCommand extends Command
diff --git a/Spigot-Server-Patches/Timings-v2.patch b/Spigot-Server-Patches/Timings-v2.patch
index aafc198176..5135434003 100644
--- a/Spigot-Server-Patches/Timings-v2.patch
+++ b/Spigot-Server-Patches/Timings-v2.patch
@@ -1073,7 +1073,7 @@ index f74b06794..1fc632e0c 100644
 +    // Paper end
  }
 diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index 2df545ec7..38ac3b272 100644
+index 65b075307..b9920a5fc 100644
 --- a/src/main/java/net/minecraft/server/PlayerList.java
 +++ b/src/main/java/net/minecraft/server/PlayerList.java
 @@ -0,0 +0,0 @@
@@ -1399,7 +1399,7 @@ index 8afe1d3d3..00b093976 100644
  
      // CraftBukkit start
 diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 51981c386..25a11a69d 100644
+index ad075615a..209eaf36d 100644
 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
 +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
 @@ -0,0 +0,0 @@ public final class CraftServer implements Server {
diff --git a/Spigot-Server-Patches/Use-TerminalConsoleAppender-for-console-improvements.patch b/Spigot-Server-Patches/Use-TerminalConsoleAppender-for-console-improvements.patch
index 8bec5e05f3..0050bdd7ba 100644
--- a/Spigot-Server-Patches/Use-TerminalConsoleAppender-for-console-improvements.patch
+++ b/Spigot-Server-Patches/Use-TerminalConsoleAppender-for-console-improvements.patch
@@ -20,7 +20,7 @@ Other changes:
     configuration
 
 diff --git a/pom.xml b/pom.xml
-index 1ddfe7f4..63a1ae2b 100644
+index 4cac7e38e..420a47d94 100644
 --- a/pom.xml
 +++ b/pom.xml
 @@ -0,0 +0,0 @@
@@ -96,7 +96,7 @@ index 1ddfe7f4..63a1ae2b 100644
                  <groupId>org.apache.maven.plugins</groupId>
 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 00000000..685deaa0
+index 000000000..685deaa0e
 --- /dev/null
 +++ b/src/main/java/com/destroystokyo/paper/console/TerminalConsoleCommandSender.java
 @@ -0,0 +0,0 @@
@@ -119,7 +119,7 @@ index 00000000..685deaa0
 +}
 diff --git a/src/main/java/com/destroystokyo/paper/console/TerminalHandler.java b/src/main/java/com/destroystokyo/paper/console/TerminalHandler.java
 new file mode 100644
-index 00000000..d5bc6149
+index 000000000..d5bc61490
 --- /dev/null
 +++ b/src/main/java/com/destroystokyo/paper/console/TerminalHandler.java
 @@ -0,0 +0,0 @@
@@ -184,7 +184,7 @@ index 00000000..d5bc6149
 +
 +}
 diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
-index 2feeb855..3266df1f 100644
+index 2feeb855b..3266df1f5 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
@@ -237,7 +237,7 @@ index 2feeb855..3266df1f 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 d84f59da..8ca8fdce 100644
+index d84f59da1..8ca8fdceb 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;
@@ -296,7 +296,7 @@ index d84f59da..8ca8fdce 100644
  
      public boolean a(int i, String s) {
 diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index c3c82f1f..9a4357d1 100644
+index 17c251ba9..c47e05c19 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 {
@@ -310,7 +310,7 @@ index c3c82f1f..9a4357d1 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 dbb44d63..12f1bdfc 100644
+index 49a321d5d..aa9b3f1c9 100644
 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
 +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
 @@ -0,0 +0,0 @@ import io.netty.buffer.ByteBuf;
@@ -336,7 +336,7 @@ index dbb44d63..12f1bdfc 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 ec9508e9..d3d848f8 100644
+index ec9508e90..d3d848f8c 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;
@@ -378,7 +378,7 @@ index ec9508e9..d3d848f8 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 26a2fb89..00000000
+index 26a2fb894..000000000
 --- a/src/main/java/org/bukkit/craftbukkit/command/ColouredConsoleSender.java
 +++ /dev/null
 @@ -0,0 +0,0 @@
@@ -457,7 +457,7 @@ index 26a2fb89..00000000
 -    }
 -}
 diff --git a/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java b/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java
-index 33e8ea02..1e3aae3b 100644
+index 33e8ea02c..1e3aae3b8 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;
@@ -536,7 +536,7 @@ index 33e8ea02..1e3aae3b 100644
      }
  }
 diff --git a/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java b/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java
-index a0cdd231..0a181288 100644
+index a0cdd2317..0a1812883 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 {
@@ -550,7 +550,7 @@ index a0cdd231..0a181288 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 b6409711..00000000
+index b64097113..000000000
 --- a/src/main/java/org/bukkit/craftbukkit/util/TerminalConsoleWriterThread.java
 +++ /dev/null
 @@ -0,0 +0,0 @@
@@ -609,7 +609,7 @@ index b6409711..00000000
 -    }
 -}
 diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml
-index 5cee8f00..08b6bb7f 100644
+index 5cee8f00e..08b6bb7f9 100644
 --- a/src/main/resources/log4j2.xml
 +++ b/src/main/resources/log4j2.xml
 @@ -0,0 +0,0 @@
diff --git a/work/Bukkit b/work/Bukkit
index c86a051a8e..6ed0a976e5 160000
--- a/work/Bukkit
+++ b/work/Bukkit
@@ -1 +1 @@
-Subproject commit c86a051a8ee61331cf827c429030ba056fb3aa0d
+Subproject commit 6ed0a976e5e8da5599c95eb7e92976f1c839acf1
diff --git a/work/CraftBukkit b/work/CraftBukkit
index e03b1a556d..3819f8dbec 160000
--- a/work/CraftBukkit
+++ b/work/CraftBukkit
@@ -1 +1 @@
-Subproject commit e03b1a556d889f5ad47d53a4157bde75cbbf4764
+Subproject commit 3819f8dbec3b5967b4e242c5a1d57ed6c986b64c
diff --git a/work/Spigot b/work/Spigot
index 722832861f..99c2a37040 160000
--- a/work/Spigot
+++ b/work/Spigot
@@ -1 +1 @@
-Subproject commit 722832861f0300f0b1e9d9079b0085bca5387ce2
+Subproject commit 99c2a370408a7e4359eb40763b9c4efe8ef68932