From 8a65e6b9590d408bea3abf8001e8e8f37713b7d4 Mon Sep 17 00:00:00 2001
From: Josh Roy <10731363+JRoy@users.noreply.github.com>
Date: Mon, 8 Mar 2021 18:12:31 -0500
Subject: [PATCH] Updated Upstream (Bukkit/CraftBukkit/Spigot) (#5325)

Upstream has released updates that appear to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
d264e972 #591: Add option for a consumer before spawning an item
1c537fce #590: Add spawn and transform reasons for piglin zombification.

CraftBukkit Changes:
ee5006d1 #810: Add option for a consumer before spawning an item
f6a39d3c #809: Add spawn and transform reasons for piglin zombification.
0c24068a Organise imports

Spigot Changes:
bff52619 Organise imports
---
 .../Add-ArmorStand-Item-Meta.patch             |  4 ++--
 .../Add-BeaconEffectEvent.patch                |  4 ++--
 ...d-MinecraftKey-Information-to-Objects.patch |  2 +-
 .../Add-PlayerInitialSpawnEvent.patch          |  6 +++---
 Spigot-Server-Patches/Add-TNTPrimeEvent.patch  |  2 +-
 ...ng-for-servers-not-running-on-Java-11.patch |  8 ++++----
 .../Added-ServerResourcesReloadedEvent.patch   |  6 ++++--
 Spigot-Server-Patches/EntityMoveEvent.patch    |  2 +-
 .../Further-improve-server-tick-loop.patch     |  2 +-
 .../Implement-Brigadier-Mojang-API.patch       |  6 +++---
 ...nk-Priority-Urgency-System-for-Chunks.patch |  4 ++--
 ...plement-alternative-item-despawn-rate.patch |  4 ++--
 ...ent-furnace-cook-speed-multiplier-API.patch |  4 ++--
 .../No-Tick-view-distance-implementation.patch |  2 +-
 Spigot-Server-Patches/RangedEntity-API.patch   |  5 +++--
 .../Slime-Pathfinder-Events.patch              |  4 ++--
 ...pawn-player-in-correct-world-on-login.patch |  2 +-
 Spigot-Server-Patches/Timings-v2.patch         | 18 +++++++++---------
 ...soleAppender-for-console-improvements.patch |  6 +++---
 work/Bukkit                                    |  2 +-
 work/CraftBukkit                               |  2 +-
 work/Spigot                                    |  2 +-
 22 files changed, 50 insertions(+), 47 deletions(-)

diff --git a/Spigot-Server-Patches/Add-ArmorStand-Item-Meta.patch b/Spigot-Server-Patches/Add-ArmorStand-Item-Meta.patch
index 9240c0c237..cf2774907a 100644
--- a/Spigot-Server-Patches/Add-ArmorStand-Item-Meta.patch
+++ b/Spigot-Server-Patches/Add-ArmorStand-Item-Meta.patch
@@ -16,8 +16,8 @@ diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaArmorStand.
 index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaArmorStand.java
 +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaArmorStand.java
-@@ -0,0 +0,0 @@ import org.bukkit.Material;
- import org.bukkit.configuration.serialization.DelegateDeserialization;
+@@ -0,0 +0,0 @@ import org.bukkit.configuration.serialization.DelegateDeserialization;
+ import org.bukkit.craftbukkit.inventory.CraftMetaItem.ItemMetaKey;
  
  @DelegateDeserialization(CraftMetaItem.SerializableMeta.class)
 -public class CraftMetaArmorStand extends CraftMetaItem {
diff --git a/Spigot-Server-Patches/Add-BeaconEffectEvent.patch b/Spigot-Server-Patches/Add-BeaconEffectEvent.patch
index dfcb7a192b..906edbcae0 100644
--- a/Spigot-Server-Patches/Add-BeaconEffectEvent.patch
+++ b/Spigot-Server-Patches/Add-BeaconEffectEvent.patch
@@ -8,8 +8,8 @@ diff --git a/src/main/java/net/minecraft/server/TileEntityBeacon.java b/src/main
 index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 --- a/src/main/java/net/minecraft/server/TileEntityBeacon.java
 +++ b/src/main/java/net/minecraft/server/TileEntityBeacon.java
-@@ -0,0 +0,0 @@ import org.bukkit.craftbukkit.potion.CraftPotionUtil;
- import org.bukkit.entity.HumanEntity;
+@@ -0,0 +0,0 @@ import javax.annotation.Nullable;
+ import org.bukkit.craftbukkit.potion.CraftPotionUtil;
  import org.bukkit.potion.PotionEffect;
  // CraftBukkit end
 +// Paper start
diff --git a/Spigot-Server-Patches/Add-MinecraftKey-Information-to-Objects.patch b/Spigot-Server-Patches/Add-MinecraftKey-Information-to-Objects.patch
index 0841ad5f74..b33fd8c4bb 100644
--- a/Spigot-Server-Patches/Add-MinecraftKey-Information-to-Objects.patch
+++ b/Spigot-Server-Patches/Add-MinecraftKey-Information-to-Objects.patch
@@ -96,7 +96,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
 --- a/src/main/java/net/minecraft/server/TileEntity.java
 +++ b/src/main/java/net/minecraft/server/TileEntity.java
 @@ -0,0 +0,0 @@ import org.bukkit.inventory.InventoryHolder;
- // CraftBukkit end
+ 
  import org.spigotmc.CustomTimingsHandler; // Spigot
  
 -public abstract class TileEntity {
diff --git a/Spigot-Server-Patches/Add-PlayerInitialSpawnEvent.patch b/Spigot-Server-Patches/Add-PlayerInitialSpawnEvent.patch
index df948df91f..cb61610367 100644
--- a/Spigot-Server-Patches/Add-PlayerInitialSpawnEvent.patch
+++ b/Spigot-Server-Patches/Add-PlayerInitialSpawnEvent.patch
@@ -16,9 +16,9 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
  
          // Spigot start - spawn location event
          Player bukkitPlayer = entityplayer.getBukkitEntity();
--        PlayerSpawnLocationEvent ev = new PlayerSpawnLocationEvent(bukkitPlayer, bukkitPlayer.getLocation());
-+        PlayerSpawnLocationEvent ev = new com.destroystokyo.paper.event.player.PlayerInitialSpawnEvent(bukkitPlayer, bukkitPlayer.getLocation()); // Paper use our duplicate event
-         Bukkit.getPluginManager().callEvent(ev);
+-        org.spigotmc.event.player.PlayerSpawnLocationEvent ev = new org.spigotmc.event.player.PlayerSpawnLocationEvent(bukkitPlayer, bukkitPlayer.getLocation());
++        org.spigotmc.event.player.PlayerSpawnLocationEvent ev = new com.destroystokyo.paper.event.player.PlayerInitialSpawnEvent(bukkitPlayer, bukkitPlayer.getLocation()); // Paper use our duplicate event
+         cserver.getPluginManager().callEvent(ev);
  
          Location loc = ev.getSpawnLocation();
 @@ -0,0 +0,0 @@ public abstract class PlayerList {
diff --git a/Spigot-Server-Patches/Add-TNTPrimeEvent.patch b/Spigot-Server-Patches/Add-TNTPrimeEvent.patch
index e6afe9af80..4bf4394d2c 100644
--- a/Spigot-Server-Patches/Add-TNTPrimeEvent.patch
+++ b/Spigot-Server-Patches/Add-TNTPrimeEvent.patch
@@ -124,8 +124,8 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
  // CraftBukkit end
 +import com.destroystokyo.paper.event.block.TNTPrimeEvent; // Paper - TNTPrimeEvent
  
- // PAIL: Fixme
  public class EntityEnderDragon extends EntityInsentient implements IMonster {
+ 
 @@ -0,0 +0,0 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster {
                      });
                      craftBlock.getNMS().dropNaturally((WorldServer) world, blockposition, ItemStack.b);
diff --git a/Spigot-Server-Patches/Add-warning-for-servers-not-running-on-Java-11.patch b/Spigot-Server-Patches/Add-warning-for-servers-not-running-on-Java-11.patch
index a9edc00c60..3ea9f02583 100644
--- a/Spigot-Server-Patches/Add-warning-for-servers-not-running-on-Java-11.patch
+++ b/Spigot-Server-Patches/Add-warning-for-servers-not-running-on-Java-11.patch
@@ -62,14 +62,14 @@ diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/
 index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 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.bukkit.craftbukkit.Main;
- import org.bukkit.event.server.ServerLoadEvent;
- // CraftBukkit end
+@@ -0,0 +0,0 @@ import org.bukkit.event.server.ServerLoadEvent;
+ 
  import co.aikar.timings.MinecraftTimings; // Paper
-+import io.papermc.paper.util.PaperJvmChecker; // Paper
  import org.spigotmc.SlackActivityAccountant; // Spigot
++import io.papermc.paper.util.PaperJvmChecker; // Paper
  
  public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTask> implements IMojangStatistics, ICommandListener, AutoCloseable {
+ 
 @@ -0,0 +0,0 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
                  LOGGER.info("Done ({})! For help, type \"help\"", doneTime);
                  // Paper end
diff --git a/Spigot-Server-Patches/Added-ServerResourcesReloadedEvent.patch b/Spigot-Server-Patches/Added-ServerResourcesReloadedEvent.patch
index f7f3198fb2..762923dc97 100644
--- a/Spigot-Server-Patches/Added-ServerResourcesReloadedEvent.patch
+++ b/Spigot-Server-Patches/Added-ServerResourcesReloadedEvent.patch
@@ -47,7 +47,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
  import com.google.common.collect.Lists;
  import com.google.common.collect.Maps;
  import com.google.common.collect.Sets;
-@@ -0,0 +0,0 @@ import org.apache.logging.log4j.Logger;
+@@ -0,0 +0,0 @@ import com.mojang.serialization.Lifecycle;
  import com.google.common.collect.ImmutableSet;
  // import jline.console.ConsoleReader; // Paper
  import joptsimple.OptionSet;
@@ -56,12 +56,14 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
 -import org.bukkit.craftbukkit.Main;
  import org.bukkit.event.server.ServerLoadEvent;
  // CraftBukkit end
+ 
  import co.aikar.timings.MinecraftTimings; // Paper
+ import org.spigotmc.SlackActivityAccountant; // Spigot
  import io.papermc.paper.util.PaperJvmChecker; // Paper
 +import io.papermc.paper.event.server.ServerResourcesReloadedEvent; // Paper
- import org.spigotmc.SlackActivityAccountant; // Spigot
  
  public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTask> implements IMojangStatistics, ICommandListener, AutoCloseable {
+ 
 @@ -0,0 +0,0 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
          return this.customFunctionData;
      }
diff --git a/Spigot-Server-Patches/EntityMoveEvent.patch b/Spigot-Server-Patches/EntityMoveEvent.patch
index 3d71671458..e119c15c8c 100644
--- a/Spigot-Server-Patches/EntityMoveEvent.patch
+++ b/Spigot-Server-Patches/EntityMoveEvent.patch
@@ -41,7 +41,7 @@ diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/
 index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 --- a/src/main/java/net/minecraft/server/MinecraftServer.java
 +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -0,0 +0,0 @@ import com.mojang.serialization.Lifecycle;
+@@ -0,0 +0,0 @@ import com.mojang.datafixers.DataFixer;
  import io.netty.buffer.ByteBuf;
  import io.netty.buffer.ByteBufOutputStream;
  import io.netty.buffer.Unpooled;
diff --git a/Spigot-Server-Patches/Further-improve-server-tick-loop.patch b/Spigot-Server-Patches/Further-improve-server-tick-loop.patch
index bd1cf11a9f..3d8fe2a992 100644
--- a/Spigot-Server-Patches/Further-improve-server-tick-loop.patch
+++ b/Spigot-Server-Patches/Further-improve-server-tick-loop.patch
@@ -159,7 +159,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
 +    // Paper end
 +
      // Spigot start
-     private final Spigot spigot = new Spigot()
+     private final org.bukkit.Server.Spigot spigot = new org.bukkit.Server.Spigot()
      {
 diff --git a/src/main/java/org/spigotmc/TicksPerSecondCommand.java b/src/main/java/org/spigotmc/TicksPerSecondCommand.java
 index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
diff --git a/Spigot-Server-Patches/Implement-Brigadier-Mojang-API.patch b/Spigot-Server-Patches/Implement-Brigadier-Mojang-API.patch
index 841305f3a9..e5103e04e9 100644
--- a/Spigot-Server-Patches/Implement-Brigadier-Mojang-API.patch
+++ b/Spigot-Server-Patches/Implement-Brigadier-Mojang-API.patch
@@ -33,9 +33,9 @@ diff --git a/src/main/java/net/minecraft/server/CommandListenerWrapper.java b/sr
 index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 --- a/src/main/java/net/minecraft/server/CommandListenerWrapper.java
 +++ b/src/main/java/net/minecraft/server/CommandListenerWrapper.java
-@@ -0,0 +0,0 @@ import java.util.function.BinaryOperator;
- import java.util.stream.Stream;
- import javax.annotation.Nullable;
+@@ -0,0 +0,0 @@ import javax.annotation.Nullable;
+ 
+ import com.mojang.brigadier.tree.CommandNode; // CraftBukkit
  
 -public class CommandListenerWrapper implements ICompletionProvider {
 +public class CommandListenerWrapper implements ICompletionProvider, com.destroystokyo.paper.brigadier.BukkitBrigadierCommandSource { // Paper
diff --git a/Spigot-Server-Patches/Implement-Chunk-Priority-Urgency-System-for-Chunks.patch b/Spigot-Server-Patches/Implement-Chunk-Priority-Urgency-System-for-Chunks.patch
index d0222075a7..43c2f32dfe 100644
--- a/Spigot-Server-Patches/Implement-Chunk-Priority-Urgency-System-for-Chunks.patch
+++ b/Spigot-Server-Patches/Implement-Chunk-Priority-Urgency-System-for-Chunks.patch
@@ -900,9 +900,9 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
  import it.unimi.dsi.fastutil.longs.Long2ObjectLinkedOpenHashMap;
  import it.unimi.dsi.fastutil.longs.Long2ObjectMap.Entry;
  import it.unimi.dsi.fastutil.longs.LongIterator;
-@@ -0,0 +0,0 @@ import org.apache.commons.lang3.mutable.MutableBoolean;
- import org.apache.logging.log4j.LogManager;
+@@ -0,0 +0,0 @@ import org.apache.logging.log4j.LogManager;
  import org.apache.logging.log4j.Logger;
+ 
  import org.bukkit.entity.Player; // CraftBukkit
 +import org.spigotmc.AsyncCatcher;
  
diff --git a/Spigot-Server-Patches/Implement-alternative-item-despawn-rate.patch b/Spigot-Server-Patches/Implement-alternative-item-despawn-rate.patch
index c1f2d2733d..1a6c5e7900 100644
--- a/Spigot-Server-Patches/Implement-alternative-item-despawn-rate.patch
+++ b/Spigot-Server-Patches/Implement-alternative-item-despawn-rate.patch
@@ -81,9 +81,9 @@ diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/
 index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 --- a/src/main/java/net/minecraft/server/EntityItem.java
 +++ b/src/main/java/net/minecraft/server/EntityItem.java
-@@ -0,0 +0,0 @@ import java.util.Objects;
- import java.util.UUID;
+@@ -0,0 +0,0 @@ import java.util.UUID;
  import javax.annotation.Nullable;
+ 
  // CraftBukkit start
 +import org.bukkit.Material; // Paper
  import org.bukkit.event.entity.EntityPickupItemEvent;
diff --git a/Spigot-Server-Patches/Implement-furnace-cook-speed-multiplier-API.patch b/Spigot-Server-Patches/Implement-furnace-cook-speed-multiplier-API.patch
index c4604dccbd..9502351860 100644
--- a/Spigot-Server-Patches/Implement-furnace-cook-speed-multiplier-API.patch
+++ b/Spigot-Server-Patches/Implement-furnace-cook-speed-multiplier-API.patch
@@ -14,9 +14,9 @@ diff --git a/src/main/java/net/minecraft/server/TileEntityFurnace.java b/src/mai
 index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 --- a/src/main/java/net/minecraft/server/TileEntityFurnace.java
 +++ b/src/main/java/net/minecraft/server/TileEntityFurnace.java
-@@ -0,0 +0,0 @@ import java.util.List;
- import java.util.Map;
+@@ -0,0 +0,0 @@ import java.util.Map;
  import javax.annotation.Nullable;
+ 
  // CraftBukkit start
 +import java.util.List;
  import org.bukkit.craftbukkit.block.CraftBlock;
diff --git a/Spigot-Server-Patches/No-Tick-view-distance-implementation.patch b/Spigot-Server-Patches/No-Tick-view-distance-implementation.patch
index 6c085fcd4d..8d12782efd 100644
--- a/Spigot-Server-Patches/No-Tick-view-distance-implementation.patch
+++ b/Spigot-Server-Patches/No-Tick-view-distance-implementation.patch
@@ -669,7 +669,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
 +    // Paper end - per player view distance
 +
      // Spigot start
-     private final Spigot spigot = new Spigot()
+     private final org.bukkit.World.Spigot spigot = new org.bukkit.World.Spigot()
      {
 diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
 index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
diff --git a/Spigot-Server-Patches/RangedEntity-API.patch b/Spigot-Server-Patches/RangedEntity-API.patch
index 69e6f76490..90b2a230a9 100644
--- a/Spigot-Server-Patches/RangedEntity-API.patch
+++ b/Spigot-Server-Patches/RangedEntity-API.patch
@@ -92,8 +92,8 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
  import com.google.common.base.Preconditions;
  import net.minecraft.server.EntityLlama;
  import org.bukkit.craftbukkit.CraftServer;
-@@ -0,0 +0,0 @@ import org.bukkit.entity.Horse;
- import org.bukkit.entity.Llama;
+@@ -0,0 +0,0 @@ import org.bukkit.entity.Llama;
+ import org.bukkit.entity.Llama.Color;
  import org.bukkit.inventory.LlamaInventory;
  
 -public class CraftLlama extends CraftChestedHorse implements Llama {
@@ -153,6 +153,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
  import org.bukkit.craftbukkit.CraftServer;
  import org.bukkit.entity.EntityType;
  import org.bukkit.entity.Skeleton;
+ import org.bukkit.entity.Skeleton.SkeletonType;
  
 -public class CraftSkeleton extends CraftMonster implements Skeleton {
 +public class CraftSkeleton extends CraftMonster implements Skeleton, CraftRangedEntity<EntitySkeletonAbstract> { // Paper
diff --git a/Spigot-Server-Patches/Slime-Pathfinder-Events.patch b/Spigot-Server-Patches/Slime-Pathfinder-Events.patch
index d647ba500e..ef36fd9e7f 100644
--- a/Spigot-Server-Patches/Slime-Pathfinder-Events.patch
+++ b/Spigot-Server-Patches/Slime-Pathfinder-Events.patch
@@ -8,10 +8,10 @@ diff --git a/src/main/java/net/minecraft/server/EntitySlime.java b/src/main/java
 index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 --- a/src/main/java/net/minecraft/server/EntitySlime.java
 +++ b/src/main/java/net/minecraft/server/EntitySlime.java
-@@ -0,0 +0,0 @@ import java.util.Objects;
- import java.util.Optional;
+@@ -0,0 +0,0 @@ import java.util.Optional;
  import java.util.Random;
  import javax.annotation.Nullable;
+ 
 +// Paper start
 +import com.destroystokyo.paper.event.entity.SlimeChangeDirectionEvent;
 +import com.destroystokyo.paper.event.entity.SlimeSwimEvent;
diff --git a/Spigot-Server-Patches/Spawn-player-in-correct-world-on-login.patch b/Spigot-Server-Patches/Spawn-player-in-correct-world-on-login.patch
index 8148222591..ef6c1bba8e 100644
--- a/Spigot-Server-Patches/Spawn-player-in-correct-world-on-login.patch
+++ b/Spigot-Server-Patches/Spawn-player-in-correct-world-on-login.patch
@@ -16,7 +16,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
 +        // Paper start - move logic in Entity to here, to use bukkit supplied world UUID.
 +        if (nbttagcompound != null && nbttagcompound.hasKey("WorldUUIDMost") && nbttagcompound.hasKey("WorldUUIDLeast")) {
 +            UUID uid = new UUID(nbttagcompound.getLong("WorldUUIDMost"), nbttagcompound.getLong("WorldUUIDLeast"));
-+            org.bukkit.World bWorld = Bukkit.getServer().getWorld(uid);
++            org.bukkit.World bWorld = org.bukkit.Bukkit.getServer().getWorld(uid);
 +            if (bWorld != null) {
 +                resourcekey = ((CraftWorld) bWorld).getHandle().getDimensionKey();
 +            } else {
diff --git a/Spigot-Server-Patches/Timings-v2.patch b/Spigot-Server-Patches/Timings-v2.patch
index bfb2f83e43..e328620d08 100644
--- a/Spigot-Server-Patches/Timings-v2.patch
+++ b/Spigot-Server-Patches/Timings-v2.patch
@@ -1176,10 +1176,10 @@ diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/
 index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 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.bukkit.craftbukkit.CraftServer;
- import org.bukkit.craftbukkit.Main;
+@@ -0,0 +0,0 @@ import org.bukkit.craftbukkit.Main;
  import org.bukkit.event.server.ServerLoadEvent;
  // CraftBukkit end
+ 
 -import org.bukkit.craftbukkit.SpigotTimings; // Spigot
 +import co.aikar.timings.MinecraftTimings; // Paper
  import org.spigotmc.SlackActivityAccountant; // Spigot
@@ -1620,11 +1620,10 @@ diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/
 index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 --- a/src/main/java/net/minecraft/server/TileEntity.java
 +++ b/src/main/java/net/minecraft/server/TileEntity.java
-@@ -0,0 +0,0 @@ import org.bukkit.craftbukkit.persistence.CraftPersistentDataContainer;
- import org.bukkit.craftbukkit.persistence.CraftPersistentDataTypeRegistry;
- import org.bukkit.inventory.InventoryHolder;
+@@ -0,0 +0,0 @@ import org.bukkit.inventory.InventoryHolder;
  // CraftBukkit end
--import org.spigotmc.CustomTimingsHandler; // Spigot
+ 
+ import org.spigotmc.CustomTimingsHandler; // Spigot
 +import co.aikar.timings.MinecraftTimings; // Paper
 +import co.aikar.timings.Timing; // Paper
  
@@ -1814,7 +1813,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
 --- 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 {
-     private final Spigot spigot = new Spigot()
+     private final org.bukkit.Server.Spigot spigot = new org.bukkit.Server.Spigot()
      {
  
 +        @Deprecated
@@ -2121,13 +2120,14 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
  import org.bukkit.Bukkit;
  import org.bukkit.plugin.Plugin;
  import org.bukkit.scheduler.BukkitTask;
+ 
 -import org.bukkit.craftbukkit.SpigotTimings; // Spigot
--import org.spigotmc.CustomTimingsHandler; // Spigot
+ import org.spigotmc.CustomTimingsHandler; // Spigot
 +import co.aikar.timings.MinecraftTimings; // Paper
 +import co.aikar.timings.Timing; // Paper
  
- 
  public class CraftTask implements BukkitTask, Runnable { // Spigot
+ 
 @@ -0,0 +0,0 @@ public class CraftTask implements BukkitTask, Runnable { // Spigot
       */
      private volatile long period;
diff --git a/Spigot-Server-Patches/Use-TerminalConsoleAppender-for-console-improvements.patch b/Spigot-Server-Patches/Use-TerminalConsoleAppender-for-console-improvements.patch
index c1623662fe..af2f84d337 100644
--- a/Spigot-Server-Patches/Use-TerminalConsoleAppender-for-console-improvements.patch
+++ b/Spigot-Server-Patches/Use-TerminalConsoleAppender-for-console-improvements.patch
@@ -189,9 +189,9 @@ diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/
 index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 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.logging.log4j.LogManager;
- import org.apache.logging.log4j.Logger;
- // CraftBukkit start
+@@ -0,0 +0,0 @@ import org.apache.logging.log4j.Logger;
+ import com.mojang.serialization.DynamicOps;
+ import com.mojang.serialization.Lifecycle;
  import com.google.common.collect.ImmutableSet;
 -import jline.console.ConsoleReader;
 +// import jline.console.ConsoleReader; // Paper
diff --git a/work/Bukkit b/work/Bukkit
index 9d0ad3184e..d264e972e9 160000
--- a/work/Bukkit
+++ b/work/Bukkit
@@ -1 +1 @@
-Subproject commit 9d0ad3184ec89c61eecd7a1234005391fee66297
+Subproject commit d264e972e9fecfea2f4a016c5d89ab8611680eb3
diff --git a/work/CraftBukkit b/work/CraftBukkit
index a021e334aa..ee5006d187 160000
--- a/work/CraftBukkit
+++ b/work/CraftBukkit
@@ -1 +1 @@
-Subproject commit a021e334aa342a60945b330d11b7dbd5d0fff017
+Subproject commit ee5006d1873170ce1ad908455f680b228096da87
diff --git a/work/Spigot b/work/Spigot
index db99f82161..bff526193e 160000
--- a/work/Spigot
+++ b/work/Spigot
@@ -1 +1 @@
-Subproject commit db99f82161b38f74d56351b3f941d4fb42bfa588
+Subproject commit bff526193eec525c624bf7e65f8a5239866bfcbf