diff --git a/Spigot-API-Patches/0272-living-entity-allow-attribute-registration.patch b/Spigot-API-Patches/0273-living-entity-allow-attribute-registration.patch
similarity index 100%
rename from Spigot-API-Patches/0272-living-entity-allow-attribute-registration.patch
rename to Spigot-API-Patches/0273-living-entity-allow-attribute-registration.patch
diff --git a/Spigot-API-Patches/0273-Add-missing-effects.patch b/Spigot-API-Patches/0274-Add-missing-effects.patch
similarity index 100%
rename from Spigot-API-Patches/0273-Add-missing-effects.patch
rename to Spigot-API-Patches/0274-Add-missing-effects.patch
diff --git a/Spigot-Server-Patches/0002-Paper-config-files.patch b/Spigot-Server-Patches/0002-Paper-config-files.patch
index 6be171e6d..adab07d34 100644
--- a/Spigot-Server-Patches/0002-Paper-config-files.patch
+++ b/Spigot-Server-Patches/0002-Paper-config-files.patch
@@ -638,7 +638,7 @@ index 6d1012cc652780189a5d849125abe09b27b88422..d8c8bf2466be362b424fde611fe42b73
Main.LOGGER.info("Forcing world upgrade! {}", convertable_conversionsession.getLevelName()); // CraftBukkit
WorldUpgrader worldupgrader = new WorldUpgrader(convertable_conversionsession, datafixer, immutableset, flag);
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 169822482d3e31ef4f625a82102adc6d478588a8..2ffa56f3580b524c3593505585410dc347e1780c 100644
+index 4c5683bcb45ea500adb0775fc81f296bb2583f80..1606a7b4727fffef27d6bb08633b652b7e7fe588 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -77,6 +77,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -659,10 +659,10 @@ index 169822482d3e31ef4f625a82102adc6d478588a8..2ffa56f3580b524c3593505585410dc3
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 3aac98dd08e1608c30254fbcf6982773a3a6d20f..bf21a80f781e600a08f82d1a16f0e11983dc8f8d 100644
+index ab11efee28224852f4984ce7235494d83ba7fe7f..a19242d717f7f9c254e6127fb2cb2f202be2d78a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -809,6 +809,7 @@ public final class CraftServer implements Server {
+@@ -808,6 +808,7 @@ public final class CraftServer implements Server {
}
org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot
@@ -670,7 +670,7 @@ index 3aac98dd08e1608c30254fbcf6982773a3a6d20f..bf21a80f781e600a08f82d1a16f0e119
for (WorldServer world : console.getWorlds()) {
world.worldDataServer.setDifficulty(config.difficulty);
world.setSpawnFlags(config.spawnMonsters, config.spawnAnimals);
-@@ -842,6 +843,7 @@ public final class CraftServer implements Server {
+@@ -841,6 +842,7 @@ public final class CraftServer implements Server {
world.ticksPerAmbientSpawns = this.getTicksPerAmbientSpawns();
}
world.spigotConfig.init(); // Spigot
@@ -678,7 +678,7 @@ index 3aac98dd08e1608c30254fbcf6982773a3a6d20f..bf21a80f781e600a08f82d1a16f0e119
}
pluginManager.clearPlugins();
-@@ -849,6 +851,7 @@ public final class CraftServer implements Server {
+@@ -848,6 +850,7 @@ public final class CraftServer implements Server {
resetRecipes();
reloadData();
org.spigotmc.SpigotConfig.registerCommands(); // Spigot
@@ -686,10 +686,10 @@ index 3aac98dd08e1608c30254fbcf6982773a3a6d20f..bf21a80f781e600a08f82d1a16f0e119
overrideAllCommandBlockCommands = commandsConfiguration.getStringList("command-block-overrides").contains("*");
ignoreVanillaPermissions = commandsConfiguration.getBoolean("ignore-vanilla-permissions");
-@@ -2096,4 +2099,35 @@ public final class CraftServer implements Server {
- {
+@@ -2097,4 +2100,35 @@ public final class CraftServer implements Server {
return spigot;
}
+ // Spigot end
+
+ // Paper start
+ @SuppressWarnings({"rawtypes", "unchecked"})
@@ -742,7 +742,7 @@ index 3f52c19b6b797e26b3dcedcec2afd28c478e7091..3a6578170765a472d36b169b999e9dc5
};
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
-index 0005d4226467cc25b55f9863eb5b7aaeb4dd6917..5c394d26e2d2dbc5d65e38c1273b7e5d02464f3a 100644
+index 83d83ff7ceffbb77723da721b869dfd0091e496d..0efcbab8f8806aeb8dd8bd6384e5a7cee375d100 100644
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
@@ -39,36 +39,36 @@ public class SpigotWorldConfig
diff --git a/Spigot-Server-Patches/0009-Timings-v2.patch b/Spigot-Server-Patches/0009-Timings-v2.patch
index 4b9310280..0a3bbd17f 100644
--- a/Spigot-Server-Patches/0009-Timings-v2.patch
+++ b/Spigot-Server-Patches/0009-Timings-v2.patch
@@ -1517,7 +1517,7 @@ index b37b791cd66b2e88dd0ecf52beea1844c97cdb94..d34e91887cd73009bf852fb849e495a8
// this.minecraftServer.getCommandDispatcher().a(this.player.getCommandListener(), s);
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/server/PlayerConnectionUtils.java b/src/main/java/net/minecraft/server/PlayerConnectionUtils.java
-index 2c671629a43f42da8335e7216f9fd399bb878729..eb3269e0ea3ce33d08e9eee3bca7cf434921e991 100644
+index 8c534c2f06fe72287364536b8767bd774b94c027..9c810b5aa21ca714ccf355d5648b7612f99b6884 100644
--- a/src/main/java/net/minecraft/server/PlayerConnectionUtils.java
+++ b/src/main/java/net/minecraft/server/PlayerConnectionUtils.java
@@ -2,6 +2,8 @@ package net.minecraft.server;
@@ -1636,7 +1636,7 @@ index b9ffd000c97111678d45fd55dc9c207ebadc140e..f1d0e2faffb3ef27f5a41d06d0ff7d78
private static final CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new CraftPersistentDataTypeRegistry();
public CraftPersistentDataContainer persistentDataContainer;
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 9c6b15e70bfb7db853c8e4a8dfd7b24bae27a70c..b4aeea40ee04fd2ed10484f40d25dbd2a3a01b53 100644
+index 6df28adb17d78a7f5189787a979a44fad677f05c..09577ddcb3c2432a0af6047b287a387de5d2920a 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -18,7 +18,6 @@ import org.apache.logging.log4j.Logger;
@@ -1665,7 +1665,7 @@ index 9c6b15e70bfb7db853c8e4a8dfd7b24bae27a70c..b4aeea40ee04fd2ed10484f40d25dbd2
this.entityLimiter = new org.spigotmc.TickLimiter(spigotConfig.entityMaxTickTime);
this.tileLimiter = new org.spigotmc.TickLimiter(spigotConfig.tileMaxTickTime);
}
-@@ -746,15 +745,14 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
+@@ -745,15 +744,14 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
}
timings.tileEntityPending.stopTiming(); // Spigot
@@ -1810,7 +1810,7 @@ index c96ad91b15920293e228f5eb7d0843beda92faec..21e4088cfdb7218e78fb771fe4c9bd20
// CraftBukkit start - moved from MinecraftServer.saveChunks
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index bf21a80f781e600a08f82d1a16f0e11983dc8f8d..73bd46c980cb13d6cbe4aba41adb122eaab769be 100644
+index a19242d717f7f9c254e6127fb2cb2f202be2d78a..351440f534653c9d315ccaf1e923e03ca6ba01f6 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2069,12 +2069,31 @@ public final class CraftServer implements Server {
@@ -1847,7 +1847,7 @@ index bf21a80f781e600a08f82d1a16f0e11983dc8f8d..73bd46c980cb13d6cbe4aba41adb122e
org.spigotmc.RestartCommand.restart();
diff --git a/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java b/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java
deleted file mode 100644
-index 7f435847ac1d13756ce233e7d5ae13f9dc17c443..0000000000000000000000000000000000000000
+index 66523c21c49b8a019a82fdeb84a187c3b627ab73..0000000000000000000000000000000000000000
--- a/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java
+++ /dev/null
@@ -1,163 +0,0 @@
@@ -1921,7 +1921,7 @@ index 7f435847ac1d13756ce233e7d5ae13f9dc17c443..00000000000000000000000000000000
-
- String name = "Task: " + plugin + " Runnable: " + taskname;
- if (period > 0) {
-- name += "(interval:" + period +")";
+- name += "(interval:" + period + ")";
- } else {
- name += "(Single)";
- }
@@ -2015,10 +2015,10 @@ index 7f435847ac1d13756ce233e7d5ae13f9dc17c443..00000000000000000000000000000000
- }
-}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 3551ab3a570042585621c943d74d8d3c0bd299b4..4001145980f4dabbd291336d5a464c3856144996 100644
+index 6ebcf2afe78a0e0ab3ed4570b6aa416973c48fdf..8428ef53e0408c4a7f74cc03e7e238be9c2f1888 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1821,6 +1821,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1820,6 +1820,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
packet.components = components;
getHandle().playerConnection.sendPacket(packet);
}
@@ -2110,24 +2110,25 @@ index 4bf48f77f3f7cd62a91590543f5af441c8268029..ffe9cc1011226d604dc5499e7692e9a9
private boolean isReady(final int currentTick) {
diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java
-index d85e21b75054067b926ecfee89d62c6dd0744189..9d0d1598bfce2f51998395faf39d8bd2f5d3f9f3 100644
+index f5f70c1fe31e5c533991e2c857fe8c10a83b94fc..e2344711639ce8f11e8e8ad75a9878648f207a75 100644
--- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java
+++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java
-@@ -1,9 +1,11 @@
+@@ -1,10 +1,13 @@
package org.bukkit.craftbukkit.scheduler;
import java.util.function.Consumer;
+
+import co.aikar.timings.NullTimingHandler;
import org.bukkit.Bukkit;
--import org.bukkit.craftbukkit.SpigotTimings; // Spigot
--import org.spigotmc.CustomTimingsHandler; // Spigot
+import co.aikar.timings.MinecraftTimings; // Paper
+import co.aikar.timings.Timing; // Paper
import org.bukkit.plugin.Plugin;
import org.bukkit.scheduler.BukkitTask;
+-import org.bukkit.craftbukkit.SpigotTimings; // Spigot
+ import org.spigotmc.CustomTimingsHandler; // Spigot
-@@ -26,12 +28,12 @@ public class CraftTask implements BukkitTask, Runnable { // Spigot
+
+@@ -26,12 +29,12 @@ public class CraftTask implements BukkitTask, Runnable { // Spigot
*/
private volatile long period;
private long nextRun;
@@ -2143,7 +2144,7 @@ index d85e21b75054067b926ecfee89d62c6dd0744189..9d0d1598bfce2f51998395faf39d8bd2
CraftTask() {
this(null, null, CraftTask.NO_REPEATING, CraftTask.NO_REPEATING);
}
-@@ -51,7 +53,7 @@ public class CraftTask implements BukkitTask, Runnable { // Spigot
+@@ -51,7 +54,7 @@ public class CraftTask implements BukkitTask, Runnable { // Spigot
this.id = id;
this.period = CraftTask.NO_REPEATING;
this.taskName = taskName;
@@ -2152,7 +2153,7 @@ index d85e21b75054067b926ecfee89d62c6dd0744189..9d0d1598bfce2f51998395faf39d8bd2
}
// Paper end
-@@ -72,7 +74,7 @@ public class CraftTask implements BukkitTask, Runnable { // Spigot
+@@ -72,7 +75,7 @@ public class CraftTask implements BukkitTask, Runnable { // Spigot
}
this.id = id;
this.period = period;
@@ -2161,7 +2162,7 @@ index d85e21b75054067b926ecfee89d62c6dd0744189..9d0d1598bfce2f51998395faf39d8bd2
}
@Override
-@@ -92,11 +94,13 @@ public class CraftTask implements BukkitTask, Runnable { // Spigot
+@@ -92,11 +95,13 @@ public class CraftTask implements BukkitTask, Runnable { // Spigot
@Override
public void run() {
@@ -2175,7 +2176,7 @@ index d85e21b75054067b926ecfee89d62c6dd0744189..9d0d1598bfce2f51998395faf39d8bd2
}
long getPeriod() {
-@@ -123,7 +127,7 @@ public class CraftTask implements BukkitTask, Runnable { // Spigot
+@@ -123,7 +128,7 @@ public class CraftTask implements BukkitTask, Runnable { // Spigot
this.next = next;
}
@@ -2184,7 +2185,7 @@ index d85e21b75054067b926ecfee89d62c6dd0744189..9d0d1598bfce2f51998395faf39d8bd2
return (rTask != null) ? rTask.getClass() : ((cTask != null) ? cTask.getClass() : null);
}
-@@ -147,9 +151,4 @@ public class CraftTask implements BukkitTask, Runnable { // Spigot
+@@ -147,9 +152,4 @@ public class CraftTask implements BukkitTask, Runnable { // Spigot
return true;
}
@@ -2238,10 +2239,10 @@ index 6194d8aac0d2e54958aad3fb8b5fe144451cf879..d63a160f1b00de8d67ae1eb4fefbd5ca
* This helper class represents the different NBT Tags.
*
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
-index d838cd421ddcb082beba1edcd84b5d30e26b1544..2b00258ccd808e3332af5ab3f7e4967f03dd4aa3 100644
+index 383997d2e57a31e2ff30cf1bf34128fe477390a8..093a11b6e355f9e1236ecca921ea55488d70451d 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
-@@ -31,7 +31,7 @@ import net.minecraft.server.EntityWither;
+@@ -29,7 +29,7 @@ import net.minecraft.server.EntityWither;
import net.minecraft.server.MathHelper;
import net.minecraft.server.MinecraftServer;
import net.minecraft.server.World;
@@ -2250,7 +2251,7 @@ index d838cd421ddcb082beba1edcd84b5d30e26b1544..2b00258ccd808e3332af5ab3f7e4967f
public class ActivationRange
{
-@@ -75,8 +75,8 @@ public class ActivationRange
+@@ -73,8 +73,8 @@ public class ActivationRange
/**
* These entities are excluded from Activation range checks.
*
@@ -2261,7 +2262,7 @@ index d838cd421ddcb082beba1edcd84b5d30e26b1544..2b00258ccd808e3332af5ab3f7e4967f
* @return boolean If it should always tick.
*/
public static boolean initializeEntityActivationState(Entity entity, SpigotWorldConfig config)
-@@ -111,7 +111,7 @@ public class ActivationRange
+@@ -109,7 +109,7 @@ public class ActivationRange
*/
public static void activateEntities(World world)
{
@@ -2270,7 +2271,7 @@ index d838cd421ddcb082beba1edcd84b5d30e26b1544..2b00258ccd808e3332af5ab3f7e4967f
final int miscActivationRange = world.spigotConfig.miscActivationRange;
final int raiderActivationRange = world.spigotConfig.raiderActivationRange;
final int animalActivationRange = world.spigotConfig.animalActivationRange;
-@@ -148,7 +148,7 @@ public class ActivationRange
+@@ -146,7 +146,7 @@ public class ActivationRange
}
}
}
@@ -2279,7 +2280,7 @@ index d838cd421ddcb082beba1edcd84b5d30e26b1544..2b00258ccd808e3332af5ab3f7e4967f
}
/**
-@@ -245,10 +245,8 @@ public class ActivationRange
+@@ -243,10 +243,8 @@ public class ActivationRange
*/
public static boolean checkIfActive(Entity entity)
{
@@ -2290,7 +2291,7 @@ index d838cd421ddcb082beba1edcd84b5d30e26b1544..2b00258ccd808e3332af5ab3f7e4967f
return true;
}
-@@ -272,7 +270,6 @@ public class ActivationRange
+@@ -270,7 +268,6 @@ public class ActivationRange
{
isActive = false;
}
diff --git a/Spigot-Server-Patches/0017-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch b/Spigot-Server-Patches/0017-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch
index 142956669..6cfa97dec 100644
--- a/Spigot-Server-Patches/0017-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch
+++ b/Spigot-Server-Patches/0017-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch
@@ -19,7 +19,7 @@ index aab33df7a36eb69300fedfce733985d6c239ca01..550232cb3819138b3bae0fa1c5142948
throwable = throwable1;
throw throwable1;
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 3a11fca68223def767d8b140d177f2874299422a..42942635c69752fe2f5091759f07ed4a892f7b74 100644
+index 89d3ff83f0e152e9747c554693af4145f0a7d07e..dd104b1cd544983024ac60888940a1c0917d05a1 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1223,7 +1223,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant playerView;
public int reloadCount;
diff --git a/Spigot-Server-Patches/0053-Configurable-inter-world-teleportation-safety.patch b/Spigot-Server-Patches/0053-Configurable-inter-world-teleportation-safety.patch
index c257f16d4..78f2484a8 100644
--- a/Spigot-Server-Patches/0053-Configurable-inter-world-teleportation-safety.patch
+++ b/Spigot-Server-Patches/0053-Configurable-inter-world-teleportation-safety.patch
@@ -30,10 +30,10 @@ index 670efbe53241a0ae32d618c83da601ccc1f26e37..abbbe1786eb68af02f9d39650aad730a
+ }
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 6a07d417855db33ff458dc2114867e2c651bd6a5..9cf863ca3116108d7a20e6e7002dfdd0524f672f 100644
+index 6f651ff6d6ac678dcb1207dea9a122da86750f6f..72b82fb1cf46cd02b0adc46086c8704ebdd1eb16 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -783,7 +783,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -782,7 +782,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
if (fromWorld == toWorld) {
entity.playerConnection.teleport(to);
} else {
diff --git a/Spigot-Server-Patches/0054-Add-exception-reporting-event.patch b/Spigot-Server-Patches/0054-Add-exception-reporting-event.patch
index 13553e540..9f4ed7bce 100644
--- a/Spigot-Server-Patches/0054-Add-exception-reporting-event.patch
+++ b/Spigot-Server-Patches/0054-Add-exception-reporting-event.patch
@@ -187,7 +187,7 @@ index 1844a6504acc420bdfaaf8f045c569e970d055db..d6aadbda5c5a17976659f57ee04cf9b9
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 895436e36e6ef6f78dfd42e3ef3a0132506663f2..1c54c081c6ea1f422c19db1aa9e1935ce066d910 100644
+index eb0af6775d60e2cd610dde6e7c4874d4b01d6054..3638ae7c0eba5b1ef811bc1629334e9c483bef6f 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -1,5 +1,10 @@
@@ -214,7 +214,7 @@ index 895436e36e6ef6f78dfd42e3ef3a0132506663f2..1c54c081c6ea1f422c19db1aa9e1935c
tilesThisCycle--;
this.tileEntityListTick.remove(tileTickPosition--);
continue;
-@@ -757,8 +765,10 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
+@@ -756,8 +764,10 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
consumer.accept(entity);
} catch (Throwable throwable) {
// Paper start - Prevent tile entity and entity crashes
diff --git a/Spigot-Server-Patches/0058-Complete-resource-pack-API.patch b/Spigot-Server-Patches/0058-Complete-resource-pack-API.patch
index a73930f83..5ecbd8f82 100644
--- a/Spigot-Server-Patches/0058-Complete-resource-pack-API.patch
+++ b/Spigot-Server-Patches/0058-Complete-resource-pack-API.patch
@@ -22,10 +22,10 @@ index c70e290405c7c5ba247c1d3cce286579260cc76d..a6596d17a6c942061d98fed2cbb71045
// CraftBukkit end
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 000cd89542122960649e42e9cad334f1da3514a9..3eb7efc728cb64453348bbdabd8ecbb465dfddcd 100644
+index 72b82fb1cf46cd02b0adc46086c8704ebdd1eb16..5e3b36c1cc3346b2a1b6f84ea4a412beaff8b7b3 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -138,6 +138,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -137,6 +137,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
private double health = 20;
private boolean scaledHealth = false;
private double healthScale = 20;
@@ -36,7 +36,7 @@ index 000cd89542122960649e42e9cad334f1da3514a9..3eb7efc728cb64453348bbdabd8ecbb4
public CraftPlayer(CraftServer server, EntityPlayer entity) {
super(server, entity);
-@@ -1813,6 +1817,32 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1812,6 +1816,32 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public boolean getAffectsSpawning() {
return this.getHandle().affectsSpawning;
}
diff --git a/Spigot-Server-Patches/0060-Default-loading-permissions.yml-before-plugins.patch b/Spigot-Server-Patches/0060-Default-loading-permissions.yml-before-plugins.patch
index 1fbafb3e3..8cd24e744 100644
--- a/Spigot-Server-Patches/0060-Default-loading-permissions.yml-before-plugins.patch
+++ b/Spigot-Server-Patches/0060-Default-loading-permissions.yml-before-plugins.patch
@@ -30,10 +30,10 @@ index 1d03a79e9010bc514b72a81ba0ad4a62aeff1bb7..436e555205327afcb8e294370810cf27
+ }
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index cbf54bd024426e324c95b41b3eb6ebbadc4b8b13..4981acf892146caf79146293e41b131a1803ac15 100644
+index e2237167df0a132f51d40a2c2070e8ea416b4237..da3bf7ce01435284108f9bc614534646379afc47 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -400,6 +400,7 @@ public final class CraftServer implements Server {
+@@ -399,6 +399,7 @@ public final class CraftServer implements Server {
if (type == PluginLoadOrder.STARTUP) {
helpMap.clear();
helpMap.initializeGeneralTopics();
@@ -41,7 +41,7 @@ index cbf54bd024426e324c95b41b3eb6ebbadc4b8b13..4981acf892146caf79146293e41b131a
}
Plugin[] plugins = pluginManager.getPlugins();
-@@ -419,7 +420,7 @@ public final class CraftServer implements Server {
+@@ -418,7 +419,7 @@ public final class CraftServer implements Server {
commandMap.registerServerAliases();
DefaultPermissions.registerCorePermissions();
CraftDefaultPermissions.registerCorePermissions();
diff --git a/Spigot-Server-Patches/0061-Allow-Reloading-of-Custom-Permissions.patch b/Spigot-Server-Patches/0061-Allow-Reloading-of-Custom-Permissions.patch
index 96e191652..1dcd95d59 100644
--- a/Spigot-Server-Patches/0061-Allow-Reloading-of-Custom-Permissions.patch
+++ b/Spigot-Server-Patches/0061-Allow-Reloading-of-Custom-Permissions.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Custom Permissions
https://github.com/PaperMC/Paper/issues/49
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 4981acf892146caf79146293e41b131a1803ac15..41f312059cec379adf2afc9358a81d89ced74cc4 100644
+index da3bf7ce01435284108f9bc614534646379afc47..025abb797de805f9fdfee8aaac77c4f098044bf1 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2185,5 +2185,23 @@ public final class CraftServer implements Server {
+@@ -2186,5 +2186,23 @@ public final class CraftServer implements Server {
return null;
}
}
diff --git a/Spigot-Server-Patches/0062-Remove-Metadata-on-reload.patch b/Spigot-Server-Patches/0062-Remove-Metadata-on-reload.patch
index 8a5fda050..ced7749ab 100644
--- a/Spigot-Server-Patches/0062-Remove-Metadata-on-reload.patch
+++ b/Spigot-Server-Patches/0062-Remove-Metadata-on-reload.patch
@@ -7,10 +7,10 @@ Metadata is not meant to persist reload as things break badly with non primitive
This will remove metadata on reload so it does not crash everything if a plugin uses it.
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 41f312059cec379adf2afc9358a81d89ced74cc4..7779b0784c62cf74ea3ea0865f76ea70ccaf35d8 100644
+index 025abb797de805f9fdfee8aaac77c4f098044bf1..92d286a8f1f2d222e456be01e355b703fc412d64 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -871,8 +871,18 @@ public final class CraftServer implements Server {
+@@ -870,8 +870,18 @@ public final class CraftServer implements Server {
world.paperConfig.init(); // Paper
}
diff --git a/Spigot-Server-Patches/0067-handle-NaN-health-absorb-values-and-repair-bad-data.patch b/Spigot-Server-Patches/0067-handle-NaN-health-absorb-values-and-repair-bad-data.patch
index 79eb63bbb..89d2dedb3 100644
--- a/Spigot-Server-Patches/0067-handle-NaN-health-absorb-values-and-repair-bad-data.patch
+++ b/Spigot-Server-Patches/0067-handle-NaN-health-absorb-values-and-repair-bad-data.patch
@@ -44,10 +44,10 @@ index a001629eda462ba34555aed6fe162078c18e0c02..d20f405287fb25fd4b221345b0845a0c
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index f55b9a7d118d6433d7de609541aa45228f174e13..a7c91d3e5a4bab8eefb291a90b0752fe7c1fb6ec 100644
+index 5e3b36c1cc3346b2a1b6f84ea4a412beaff8b7b3..35c6c4871f21157fe349e87cb8fd0d5ab77a8c2a 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1630,6 +1630,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1629,6 +1629,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
public void setRealHealth(double health) {
diff --git a/Spigot-Server-Patches/0083-Workaround-for-setting-passengers-on-players.patch b/Spigot-Server-Patches/0083-Workaround-for-setting-passengers-on-players.patch
index 4d8424ab1..efbba57c2 100644
--- a/Spigot-Server-Patches/0083-Workaround-for-setting-passengers-on-players.patch
+++ b/Spigot-Server-Patches/0083-Workaround-for-setting-passengers-on-players.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Workaround for setting passengers on players
SPIGOT-1915 & GH-114
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index a8b0bfe18c88ff14fa285cbf2f0da7713f20d0cc..8f352763d81bb44786a603e80feb3a25ce91eb7a 100644
+index 35c6c4871f21157fe349e87cb8fd0d5ab77a8c2a..c1205594a8da1a28ac9ee30d1d70f1011f0a2327 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -792,6 +792,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -791,6 +791,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return true;
}
diff --git a/Spigot-Server-Patches/0084-Remove-unused-World-Tile-Entity-List.patch b/Spigot-Server-Patches/0084-Remove-unused-World-Tile-Entity-List.patch
index 983c1f295..390a69f36 100644
--- a/Spigot-Server-Patches/0084-Remove-unused-World-Tile-Entity-List.patch
+++ b/Spigot-Server-Patches/0084-Remove-unused-World-Tile-Entity-List.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Remove unused World Tile Entity List
Massive hit to performance and it is completely unnecessary.
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 1f4b9740557b58bd78a7683e69310853094b172b..9c90f13d179146c0af0ea3e8990f762ca74e5789 100644
+index d6ee6aae693519a379b4a6ba26642d5ef78e4deb..369a6b42a89fd75aeb3da4930f47b6917a1ae393 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -39,7 +39,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -39,7 +39,7 @@ index 1f4b9740557b58bd78a7683e69310853094b172b..9c90f13d179146c0af0ea3e8990f762c
this.tileEntityListUnload.clear();
}
-@@ -730,7 +730,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
+@@ -729,7 +729,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
tilesThisCycle--;
this.tileEntityListTick.remove(tileTickPosition--);
// Spigot end
@@ -48,7 +48,7 @@ index 1f4b9740557b58bd78a7683e69310853094b172b..9c90f13d179146c0af0ea3e8990f762c
if (this.isLoaded(tileentity.getPosition())) {
this.getChunkAtWorldCoords(tileentity.getPosition()).removeTileEntity(tileentity.getPosition());
}
-@@ -760,7 +760,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
+@@ -759,7 +759,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
this.notify(tileentity1.getPosition(), iblockdata, iblockdata, 3);
// CraftBukkit start
// From above, don't screw this up - SPIGOT-1746
@@ -57,7 +57,7 @@ index 1f4b9740557b58bd78a7683e69310853094b172b..9c90f13d179146c0af0ea3e8990f762c
this.a(tileentity1);
}
// CraftBukkit end
-@@ -906,7 +906,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
+@@ -905,7 +905,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
} else {
if (tileentity != null) {
this.tileEntityListPending.remove(tileentity);
@@ -67,7 +67,7 @@ index 1f4b9740557b58bd78a7683e69310853094b172b..9c90f13d179146c0af0ea3e8990f762c
}
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
-index f2d3ca17cd136db1e669477c15e660a8d39b0534..030def2da5d3c246dfeb42f12b0148166274fdea 100644
+index d199191220b5afc42d639f316878501c91514a50..4be09328cea0808c3a41681aea860cd04f799bbd 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1600,7 +1600,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
diff --git a/Spigot-Server-Patches/0090-Implement-PlayerLocaleChangeEvent.patch b/Spigot-Server-Patches/0090-Implement-PlayerLocaleChangeEvent.patch
index ca6a2bb87..f98673a19 100644
--- a/Spigot-Server-Patches/0090-Implement-PlayerLocaleChangeEvent.patch
+++ b/Spigot-Server-Patches/0090-Implement-PlayerLocaleChangeEvent.patch
@@ -29,10 +29,10 @@ index 46754524a7a4a3087f56ab5460e3dac665c06052..d82643dd24fbd4b35dc526292d6f6623
this.locale = packetplayinsettings.locale;
this.clientViewDistance = packetplayinsettings.viewDistance;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index a4c4c08ad8fdd03de0b9ac29ff736dd87e6221c6..f4910df73d64d1fc36598982bf20de3607ffd0ab 100644
+index c1205594a8da1a28ac9ee30d1d70f1011f0a2327..0c2637ae7e01535088bf9177f5ccf1b1bade98e9 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1816,8 +1816,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1815,8 +1815,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public String getLocale() {
diff --git a/Spigot-Server-Patches/0107-Add-setting-for-proxy-online-mode-status.patch b/Spigot-Server-Patches/0107-Add-setting-for-proxy-online-mode-status.patch
index 304b334c1..0f569934e 100644
--- a/Spigot-Server-Patches/0107-Add-setting-for-proxy-online-mode-status.patch
+++ b/Spigot-Server-Patches/0107-Add-setting-for-proxy-online-mode-status.patch
@@ -45,10 +45,10 @@ index 060887d765604e4be82913607bb6266a278f5db6..c5957c2d6c54b076ebe7f9a432e30551
} else {
String[] astring1 = astring;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 7779b0784c62cf74ea3ea0865f76ea70ccaf35d8..f2e641c80323b041241956c29590478ff2cf18ef 100644
+index 92d286a8f1f2d222e456be01e355b703fc412d64..aa21e9bf00ee0f3dbe4874f76079fb5c0843db57 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1489,7 +1489,8 @@ public final class CraftServer implements Server {
+@@ -1488,7 +1488,8 @@ public final class CraftServer implements Server {
// Spigot Start
GameProfile profile = null;
// Only fetch an online UUID in online mode
diff --git a/Spigot-Server-Patches/0115-Add-EntityZapEvent.patch b/Spigot-Server-Patches/0115-Add-EntityZapEvent.patch
index 48c8104ad..d9aa61691 100644
--- a/Spigot-Server-Patches/0115-Add-EntityZapEvent.patch
+++ b/Spigot-Server-Patches/0115-Add-EntityZapEvent.patch
@@ -38,10 +38,10 @@ index 824e172f06e57f86010836a1006a14d0a3b0bda3..eedec25373cfc8adec7ac8a99b146770
entitywitch.prepare(worldserver, worldserver.getDamageScaler(entitywitch.getChunkCoordinates()), EnumMobSpawn.CONVERSION, (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 dde25528de07857175b00ff85612d738eb43b9ec..e5fd59e3bd652c853735bea8ebb1005bff7b3244 100644
+index f6688c7151734f4bdb63a71e810996e04b09e22c..4b05e6b9abb318055444bea50e05c4ea07fb0def 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -1082,6 +1082,14 @@ public class CraftEventFactory {
+@@ -1076,6 +1076,14 @@ public class CraftEventFactory {
return event;
}
diff --git a/Spigot-Server-Patches/0119-Allow-Reloading-of-Command-Aliases.patch b/Spigot-Server-Patches/0119-Allow-Reloading-of-Command-Aliases.patch
index 2b0dc54b2..d54b31cf0 100644
--- a/Spigot-Server-Patches/0119-Allow-Reloading-of-Command-Aliases.patch
+++ b/Spigot-Server-Patches/0119-Allow-Reloading-of-Command-Aliases.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Command Aliases
Reload the aliases stored in commands.yml
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index f2e641c80323b041241956c29590478ff2cf18ef..05f87da2680a23746e023e52368d55748ecfc059 100644
+index aa21e9bf00ee0f3dbe4874f76079fb5c0843db57..864909728f8bab2c43e0c449b01d9680e5800355 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2214,5 +2214,24 @@ public final class CraftServer implements Server {
+@@ -2215,5 +2215,24 @@ public final class CraftServer implements Server {
DefaultPermissions.registerCorePermissions();
CraftDefaultPermissions.registerCorePermissions();
}
diff --git a/Spigot-Server-Patches/0120-Add-source-to-PlayerExpChangeEvent.patch b/Spigot-Server-Patches/0120-Add-source-to-PlayerExpChangeEvent.patch
index dac97b302..03d5884e9 100644
--- a/Spigot-Server-Patches/0120-Add-source-to-PlayerExpChangeEvent.patch
+++ b/Spigot-Server-Patches/0120-Add-source-to-PlayerExpChangeEvent.patch
@@ -18,10 +18,10 @@ index fda68abbdd7c970048ba710d7ef35214f2aaa74c..2c2d44562f732c75532cda910db5ce67
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 e5fd59e3bd652c853735bea8ebb1005bff7b3244..be74f172383f270e3f1ec194044f024e7b040694 100644
+index 4b05e6b9abb318055444bea50e05c4ea07fb0def..5562d0449aa35b76a8b0448bfe69fe9664f2f3b0 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -121,6 +121,7 @@ import org.bukkit.entity.ThrownPotion;
+@@ -117,6 +117,7 @@ import org.bukkit.entity.ThrownPotion;
import org.bukkit.entity.Vehicle;
import org.bukkit.entity.Villager;
import org.bukkit.entity.Villager.Profession;
@@ -29,7 +29,7 @@ index e5fd59e3bd652c853735bea8ebb1005bff7b3244..be74f172383f270e3f1ec194044f024e
import org.bukkit.event.Cancellable;
import org.bukkit.event.Event;
import org.bukkit.event.Event.Result;
-@@ -1041,6 +1042,17 @@ public class CraftEventFactory {
+@@ -1035,6 +1036,17 @@ public class CraftEventFactory {
return event;
}
diff --git a/Spigot-Server-Patches/0122-Add-ProjectileCollideEvent.patch b/Spigot-Server-Patches/0122-Add-ProjectileCollideEvent.patch
index 3bf7a7095..5f8c4ac95 100644
--- a/Spigot-Server-Patches/0122-Add-ProjectileCollideEvent.patch
+++ b/Spigot-Server-Patches/0122-Add-ProjectileCollideEvent.patch
@@ -71,10 +71,10 @@ index 7391fd31148dbde60e34955841a296f454ac768e..53a8ea7d1eff84abe6c49464d556aa27
this.checkBlockCollisions();
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index be74f172383f270e3f1ec194044f024e7b040694..8fbaaa7d287ecd13203ae7362b552c5f11858066 100644
+index 5562d0449aa35b76a8b0448bfe69fe9664f2f3b0..3dc4d0a3abe4eb0c2024dfc77f3be57f3d2a018c 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -1186,6 +1186,16 @@ public class CraftEventFactory {
+@@ -1180,6 +1180,16 @@ public class CraftEventFactory {
return CraftItemStack.asNMSCopy(bitem);
}
diff --git a/Spigot-Server-Patches/0130-String-based-Action-Bar-API.patch b/Spigot-Server-Patches/0130-String-based-Action-Bar-API.patch
index d58036217..20a89f937 100644
--- a/Spigot-Server-Patches/0130-String-based-Action-Bar-API.patch
+++ b/Spigot-Server-Patches/0130-String-based-Action-Bar-API.patch
@@ -18,10 +18,10 @@ index bdfd17362518ff2398cf9e1743a7a4f0c7a0e966..cc14e4b4609fa7013df666181c0e02a5
public static Collector, ?, Map> a() {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index f447059d0eecf68c44a74f27acd726f9355c4bd7..023bcc56e8c27d9660dadd90e074f64b75159d25 100644
+index 0c2637ae7e01535088bf9177f5ccf1b1bade98e9..7823ddab7f0bf9b1096cf4a3d54324e8bbb86a09 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -244,6 +244,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -243,6 +243,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
// Paper start
diff --git a/Spigot-Server-Patches/0131-Firework-API-s.patch b/Spigot-Server-Patches/0131-Firework-API-s.patch
index 1f8932f30..7fa32777c 100644
--- a/Spigot-Server-Patches/0131-Firework-API-s.patch
+++ b/Spigot-Server-Patches/0131-Firework-API-s.patch
@@ -44,10 +44,10 @@ index 46b315036bbe576b2bf9938db73d9c5931003cc1..a646dc9f030ad1f76ba2b7bb1bc7897c
@Override
diff --git a/src/main/java/net/minecraft/server/ItemCrossbow.java b/src/main/java/net/minecraft/server/ItemCrossbow.java
-index 9e17a002218ce82c0e1033f3487f878463970d17..14c0e7382292b3d39858d4d957df8016c301c712 100644
+index 5e1af55c429117111aa40a9408cecafc82a94512..658b5ca36d951f2f58d91613b89a328109606fd6 100644
--- a/src/main/java/net/minecraft/server/ItemCrossbow.java
+++ b/src/main/java/net/minecraft/server/ItemCrossbow.java
-@@ -183,6 +183,7 @@ public class ItemCrossbow extends ItemProjectileWeapon implements ItemVanishable
+@@ -182,6 +182,7 @@ public class ItemCrossbow extends ItemProjectileWeapon implements ItemVanishable
if (flag1) {
object = new EntityFireworks(world, itemstack1, entityliving, entityliving.locX(), entityliving.getHeadY() - 0.15000000596046448D, entityliving.locZ(), true);
diff --git a/Spigot-Server-Patches/0141-Properly-handle-async-calls-to-restart-the-server.patch b/Spigot-Server-Patches/0141-Properly-handle-async-calls-to-restart-the-server.patch
index 15c03f722..a04104b82 100644
--- a/Spigot-Server-Patches/0141-Properly-handle-async-calls-to-restart-the-server.patch
+++ b/Spigot-Server-Patches/0141-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 365719e9f6228f19dfb598d4850dc7ef69377f7c..836fdfcedb6b878c69bfa22cbbe1fc10a25d8ad0 100644
+index 7e4a966b5748417223243344bf7c4483e997a237..c6b520f3f8872a0345f76a75f0b48fe113021716 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -91,6 +91,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant) MinecraftServer.getServer().getPlayerList().players )
+- for ( EntityPlayer p : (List) MinecraftServer.getServer().getPlayerList().players )
- {
- p.playerConnection.disconnect(SpigotConfig.restartMessage);
- }
diff --git a/Spigot-Server-Patches/0144-Add-configuration-option-to-prevent-player-names-fro.patch b/Spigot-Server-Patches/0144-Add-configuration-option-to-prevent-player-names-fro.patch
index ba490c663..3eba2a3a4 100644
--- a/Spigot-Server-Patches/0144-Add-configuration-option-to-prevent-player-names-fro.patch
+++ b/Spigot-Server-Patches/0144-Add-configuration-option-to-prevent-player-names-fro.patch
@@ -20,10 +20,10 @@ index 3449ba199bdb426ad36dc4a281925f91eea3fab3..ed519159c37299595b4eaeaab5131a8e
+ }
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 05f87da2680a23746e023e52368d55748ecfc059..60d5de863b3abf364e0895d1b83c836b75e1e2be 100644
+index 864909728f8bab2c43e0c449b01d9680e5800355..0eb4a95d03a1d22ade42ea020fc4461a97e4323a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2233,5 +2233,10 @@ public final class CraftServer implements Server {
+@@ -2234,5 +2234,10 @@ public final class CraftServer implements Server {
commandMap.registerServerAliases();
return true;
}
diff --git a/Spigot-Server-Patches/0145-Use-TerminalConsoleAppender-for-console-improvements.patch b/Spigot-Server-Patches/0145-Use-TerminalConsoleAppender-for-console-improvements.patch
index e7ea76d39..e95ae2e32 100644
--- a/Spigot-Server-Patches/0145-Use-TerminalConsoleAppender-for-console-improvements.patch
+++ b/Spigot-Server-Patches/0145-Use-TerminalConsoleAppender-for-console-improvements.patch
@@ -259,7 +259,7 @@ index e42a789f24215f192427218fa08ae327f09c2a46..6b12c1d96a2b0ea305425a563dd0e908
this.k = new GameProfileBanList(PlayerList.b);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 60d5de863b3abf364e0895d1b83c836b75e1e2be..921434d9adf0b2c55c1194a3f258ffadb91c1eb8 100644
+index 0eb4a95d03a1d22ade42ea020fc4461a97e4323a..339377b0c09eeab85bcd972e37195b173cde356d 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -46,7 +46,7 @@ import java.util.function.Consumer;
@@ -271,7 +271,7 @@ index 60d5de863b3abf364e0895d1b83c836b75e1e2be..921434d9adf0b2c55c1194a3f258ffad
import net.minecraft.server.Advancement;
import net.minecraft.server.ArgumentEntity;
import net.minecraft.server.BiomeManager;
-@@ -1199,9 +1199,13 @@ public final class CraftServer implements Server {
+@@ -1198,9 +1198,13 @@ public final class CraftServer implements Server {
return logger;
}
diff --git a/Spigot-Server-Patches/0150-Add-UnknownCommandEvent.patch b/Spigot-Server-Patches/0150-Add-UnknownCommandEvent.patch
index b112baff2..5f3fa30bd 100644
--- a/Spigot-Server-Patches/0150-Add-UnknownCommandEvent.patch
+++ b/Spigot-Server-Patches/0150-Add-UnknownCommandEvent.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add UnknownCommandEvent
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 921434d9adf0b2c55c1194a3f258ffadb91c1eb8..419982244c8f5c9de69eb44ee27d23300132d859 100644
+index 339377b0c09eeab85bcd972e37195b173cde356d..9abf73ca40279c0802be90a687dad64992aa84ef 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -105,6 +105,7 @@ import net.minecraft.server.WorldNBTStorage;
+@@ -104,6 +104,7 @@ import net.minecraft.server.WorldNBTStorage;
import net.minecraft.server.WorldServer;
import net.minecraft.server.WorldSettings;
import org.apache.commons.lang.Validate;
@@ -16,7 +16,7 @@ index 921434d9adf0b2c55c1194a3f258ffadb91c1eb8..419982244c8f5c9de69eb44ee27d2330
import org.bukkit.BanList;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
-@@ -178,6 +179,7 @@ import org.bukkit.craftbukkit.util.Versioning;
+@@ -177,6 +178,7 @@ import org.bukkit.craftbukkit.util.Versioning;
import org.bukkit.craftbukkit.util.permissions.CraftDefaultPermissions;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
@@ -24,7 +24,7 @@ index 921434d9adf0b2c55c1194a3f258ffadb91c1eb8..419982244c8f5c9de69eb44ee27d2330
import org.bukkit.event.inventory.InventoryType;
import org.bukkit.event.player.PlayerChatTabCompleteEvent;
import org.bukkit.event.server.BroadcastMessageEvent;
-@@ -791,7 +793,13 @@ public final class CraftServer implements Server {
+@@ -790,7 +792,13 @@ public final class CraftServer implements Server {
// Spigot start
if (!org.spigotmc.SpigotConfig.unknownCommandMessage.isEmpty()) {
diff --git a/Spigot-Server-Patches/0151-Basic-PlayerProfile-API.patch b/Spigot-Server-Patches/0151-Basic-PlayerProfile-API.patch
index 07e9abf8b..745da0dbf 100644
--- a/Spigot-Server-Patches/0151-Basic-PlayerProfile-API.patch
+++ b/Spigot-Server-Patches/0151-Basic-PlayerProfile-API.patch
@@ -452,7 +452,7 @@ index 17d73ebbe51a83f79f338bdb1b366cecd99f880d..39174bca00b4535e92f6b325b3fd058c
* Calculates distance between 2 entities
* @param e1
diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java
-index 49649e70ee8bfb3dacd63a88a180f0f329f308c0..dacb8563bc823c8f6f1e1e10f2b8b9894819374f 100644
+index d8c8bf2466be362b424fde611fe42b73fea42ef9..85f7cfa1fade8d574e7f85d857ab071c66ec4a95 100644
--- a/src/main/java/net/minecraft/server/Main.java
+++ b/src/main/java/net/minecraft/server/Main.java
@@ -93,7 +93,7 @@ public class Main {
@@ -465,7 +465,7 @@ index 49649e70ee8bfb3dacd63a88a180f0f329f308c0..dacb8563bc823c8f6f1e1e10f2b8b989
GameProfileRepository gameprofilerepository = yggdrasilauthenticationservice.createProfileRepository();
UserCache usercache = new UserCache(gameprofilerepository, new File(file, MinecraftServer.b.getName()));
diff --git a/src/main/java/net/minecraft/server/UserCache.java b/src/main/java/net/minecraft/server/UserCache.java
-index 7171bdf7fb0489e9678588dfa33410984015ea3f..2484293b12d9ec88b8a2570aa853a12f0d858193 100644
+index e89c92aded564fe689cc1aa8d0c83abb72f7b10c..aa1b18ffa1e2b7f865f63b7df81d8f3b3d5aa966 100644
--- a/src/main/java/net/minecraft/server/UserCache.java
+++ b/src/main/java/net/minecraft/server/UserCache.java
@@ -42,7 +42,7 @@ public class UserCache {
@@ -509,10 +509,10 @@ index 7171bdf7fb0489e9678588dfa33410984015ea3f..2484293b12d9ec88b8a2570aa853a12f
private volatile long c;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 419982244c8f5c9de69eb44ee27d23300132d859..1177801842d987c71feecf78bd2b79da747f41f3 100644
+index 9abf73ca40279c0802be90a687dad64992aa84ef..b6d45407eca3f76299812c7cf98d1fd5d5ade1e2 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -228,6 +228,9 @@ import org.yaml.snakeyaml.error.MarkedYAMLException;
+@@ -227,6 +227,9 @@ import org.yaml.snakeyaml.error.MarkedYAMLException;
import net.md_5.bungee.api.chat.BaseComponent; // Spigot
@@ -522,7 +522,7 @@ index 419982244c8f5c9de69eb44ee27d23300132d859..1177801842d987c71feecf78bd2b79da
public final class CraftServer implements Server {
private final String serverName = "Paper"; // Paper
private final String serverVersion;
-@@ -2250,5 +2253,24 @@ public final class CraftServer implements Server {
+@@ -2251,5 +2254,24 @@ public final class CraftServer implements Server {
public boolean suggestPlayerNamesWhenNullTabCompletions() {
return com.destroystokyo.paper.PaperConfig.suggestPlayersWhenNullTabCompletions;
}
diff --git a/Spigot-Server-Patches/0152-Shoulder-Entities-Release-API.patch b/Spigot-Server-Patches/0152-Shoulder-Entities-Release-API.patch
index 9cd42986f..b167cccc8 100644
--- a/Spigot-Server-Patches/0152-Shoulder-Entities-Release-API.patch
+++ b/Spigot-Server-Patches/0152-Shoulder-Entities-Release-API.patch
@@ -58,10 +58,10 @@ index 63f3743bbf3632badf4e66a5ee4239ccbc5df700..502154234632fbf65fada993f9a1e457
@Override
public abstract boolean isSpectator();
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
-index af41d9f11c6da2609bd75e49f15f5ec129b92361..65144fac2d36b038bbf729bb2abe7b5a907d61fd 100644
+index 96b55867d8bfbc85cb290da9b320ec74b9dbb179..1f5f04aecfaccc80b2db8e14ba2c39f53528191b 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
-@@ -487,6 +487,32 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
+@@ -486,6 +486,32 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
getHandle().getCooldownTracker().setCooldown(CraftMagicNumbers.getItem(material), ticks);
}
diff --git a/Spigot-Server-Patches/0171-Expose-client-protocol-version-and-virtual-host.patch b/Spigot-Server-Patches/0171-Expose-client-protocol-version-and-virtual-host.patch
index 76d5cfb75..b15009e38 100644
--- a/Spigot-Server-Patches/0171-Expose-client-protocol-version-and-virtual-host.patch
+++ b/Spigot-Server-Patches/0171-Expose-client-protocol-version-and-virtual-host.patch
@@ -61,7 +61,7 @@ index 0000000000000000000000000000000000000000..5caca6439d2135e34880d501397fe2ea
+
+}
diff --git a/src/main/java/net/minecraft/server/HandshakeListener.java b/src/main/java/net/minecraft/server/HandshakeListener.java
-index 396c3f824968512e55987fd98d82d10e9cad6903..abace78271eedd453df692f4e24dacef474d215e 100644
+index 4de8646811f25b6217cffcd31fc14bcf79151b1a..6d9080abb63a6d13d1184ff6949ba86a470ea390 100644
--- a/src/main/java/net/minecraft/server/HandshakeListener.java
+++ b/src/main/java/net/minecraft/server/HandshakeListener.java
@@ -133,6 +133,10 @@ public class HandshakeListener implements PacketHandshakingInListener {
@@ -103,10 +103,10 @@ index 4f008e4723d2cb0bcabb2d5621203d63c40c4923..8545146fb1f093f821e3b966d9337049
return this.a;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 023bcc56e8c27d9660dadd90e074f64b75159d25..1fcc00fbec16a85ae5f3eb92c9d8f0780a7cf5ce 100644
+index 7823ddab7f0bf9b1096cf4a3d54324e8bbb86a09..8f3d5ab144576abc503c7d5e71841e4066570b15 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -188,6 +188,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -187,6 +187,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
}
diff --git a/Spigot-Server-Patches/0174-Option-for-maximum-exp-value-when-merging-orbs.patch b/Spigot-Server-Patches/0174-Option-for-maximum-exp-value-when-merging-orbs.patch
index 345ab7bf1..ee2e1c9c5 100644
--- a/Spigot-Server-Patches/0174-Option-for-maximum-exp-value-when-merging-orbs.patch
+++ b/Spigot-Server-Patches/0174-Option-for-maximum-exp-value-when-merging-orbs.patch
@@ -20,10 +20,10 @@ index 90ca51dfdbb3045dd528450225cba96f5834166e..6c692e58cde22003ecbf6dc569579914
+ }
}
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 8fbaaa7d287ecd13203ae7362b552c5f11858066..1e55416a7478397e86d0fb1d40ba75234509e425 100644
+index 3dc4d0a3abe4eb0c2024dfc77f3be57f3d2a018c..dfab818d71ea6a063dd94f40a363111319817d6c 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -583,16 +583,32 @@ public class CraftEventFactory {
+@@ -577,16 +577,32 @@ public class CraftEventFactory {
EntityExperienceOrb xp = (EntityExperienceOrb) entity;
double radius = world.spigotConfig.expMerge;
if (radius > 0) {
diff --git a/Spigot-Server-Patches/0179-AsyncTabCompleteEvent.patch b/Spigot-Server-Patches/0179-AsyncTabCompleteEvent.patch
index 7bdeb1a27..abd2731d8 100644
--- a/Spigot-Server-Patches/0179-AsyncTabCompleteEvent.patch
+++ b/Spigot-Server-Patches/0179-AsyncTabCompleteEvent.patch
@@ -72,10 +72,10 @@ index 479d3f9d5fd8d619655811b32e8182cc23a538f9..c3651ff73c0831f0dd727f6358aa45fb
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 1177801842d987c71feecf78bd2b79da747f41f3..1f5a9fda92ea71bc38c57bf04ed230c2b6abaa20 100644
+index b6d45407eca3f76299812c7cf98d1fd5d5ade1e2..56b8ff90e56bc553d14b8e2e2695754f08363951 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1797,7 +1797,7 @@ public final class CraftServer implements Server {
+@@ -1796,7 +1796,7 @@ public final class CraftServer implements Server {
offers = tabCompleteChat(player, message);
}
diff --git a/Spigot-Server-Patches/0182-ExperienceOrbMergeEvent.patch b/Spigot-Server-Patches/0182-ExperienceOrbMergeEvent.patch
index 14951b78c..4099d39b9 100644
--- a/Spigot-Server-Patches/0182-ExperienceOrbMergeEvent.patch
+++ b/Spigot-Server-Patches/0182-ExperienceOrbMergeEvent.patch
@@ -8,10 +8,10 @@ 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 1e55416a7478397e86d0fb1d40ba75234509e425..3ccd30d036deb9fc4112641a24e20c89f2d2b8eb 100644
+index dfab818d71ea6a063dd94f40a363111319817d6c..70a678dc8637897378f9924bae159233b181f817 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -593,7 +593,7 @@ public class CraftEventFactory {
+@@ -587,7 +587,7 @@ public class CraftEventFactory {
if (e instanceof EntityExperienceOrb) {
EntityExperienceOrb loopItem = (EntityExperienceOrb) e;
// Paper start
diff --git a/Spigot-Server-Patches/0183-Ability-to-apply-mending-to-XP-API.patch b/Spigot-Server-Patches/0183-Ability-to-apply-mending-to-XP-API.patch
index 368c2037f..0cec312cd 100644
--- a/Spigot-Server-Patches/0183-Ability-to-apply-mending-to-XP-API.patch
+++ b/Spigot-Server-Patches/0183-Ability-to-apply-mending-to-XP-API.patch
@@ -42,10 +42,10 @@ index 8354d18aa03d29202c82227a1891903a64c7921b..4df7df781d12e38885ecfbc89dd1d42d
return i * 2;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 1fcc00fbec16a85ae5f3eb92c9d8f0780a7cf5ce..2852bb13a7482ca152f8e013142a3efc4645d540 100644
+index 8f3d5ab144576abc503c7d5e71841e4066570b15..168c7995d3d3efb20768706f4fdf9f1f15e92eb6 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1098,8 +1098,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1097,8 +1097,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return GameMode.getByValue(getHandle().playerInteractManager.getGameMode().getId());
}
diff --git a/Spigot-Server-Patches/0199-Player.setPlayerProfile-API.patch b/Spigot-Server-Patches/0199-Player.setPlayerProfile-API.patch
index 5338e0469..6dddd1b83 100644
--- a/Spigot-Server-Patches/0199-Player.setPlayerProfile-API.patch
+++ b/Spigot-Server-Patches/0199-Player.setPlayerProfile-API.patch
@@ -48,10 +48,10 @@ index b8642986f4304b48bf88c4a1d4ddfab1fbae175a..87dcb1688d1bf1221609a410c33a8d61
uniqueId = i.getId();
// Paper end
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index f21f15e9e6314c0631706f213e53af80df1489ad..bafb362fd62709a29e55ab86475e2c59f1fd36fa 100644
+index 168c7995d3d3efb20768706f4fdf9f1f15e92eb6..a630265a84738b2d50fb1b571364df468cfb169c 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1256,8 +1256,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1255,8 +1255,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
hiddenPlayers.put(player.getUniqueId(), hidingPlugins);
// Remove this player from the hidden player's EntityTrackerEntry
@@ -66,7 +66,7 @@ index f21f15e9e6314c0631706f213e53af80df1489ad..bafb362fd62709a29e55ab86475e2c59
PlayerChunkMap.EntityTracker entry = tracker.trackedEntities.get(other.getId());
if (entry != null) {
entry.clear(getHandle());
-@@ -1298,8 +1303,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1297,8 +1302,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
hiddenPlayers.remove(player.getUniqueId());
@@ -81,7 +81,7 @@ index f21f15e9e6314c0631706f213e53af80df1489ad..bafb362fd62709a29e55ab86475e2c59
getHandle().playerConnection.sendPacket(new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.ADD_PLAYER, other));
-@@ -1308,6 +1318,50 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1307,6 +1317,50 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
entry.updatePlayer(getHandle());
}
}
diff --git a/Spigot-Server-Patches/0201-getPlayerUniqueId-API.patch b/Spigot-Server-Patches/0201-getPlayerUniqueId-API.patch
index 5d47ee607..f4437c5da 100644
--- a/Spigot-Server-Patches/0201-getPlayerUniqueId-API.patch
+++ b/Spigot-Server-Patches/0201-getPlayerUniqueId-API.patch
@@ -9,10 +9,10 @@ In Offline Mode, will return an Offline UUID
This is a more performant way to obtain a UUID for a name than loading an OfflinePlayer
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 1f5a9fda92ea71bc38c57bf04ed230c2b6abaa20..a6baf56e4db6f2942cf67d3e5a28506e35d22122 100644
+index 56b8ff90e56bc553d14b8e2e2695754f08363951..bcb0191c2acb830e441fbf87838468954dc4c585 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1493,6 +1493,26 @@ public final class CraftServer implements Server {
+@@ -1492,6 +1492,26 @@ public final class CraftServer implements Server {
return recipients.size();
}
diff --git a/Spigot-Server-Patches/0205-Flag-to-disable-the-channel-limit.patch b/Spigot-Server-Patches/0205-Flag-to-disable-the-channel-limit.patch
index a2eb206c0..eb85f19f2 100644
--- a/Spigot-Server-Patches/0205-Flag-to-disable-the-channel-limit.patch
+++ b/Spigot-Server-Patches/0205-Flag-to-disable-the-channel-limit.patch
@@ -9,10 +9,10 @@ e.g. servers which allow and support the usage of mod packs.
provide an optional flag to disable this check, at your own risk.
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index c30743056ccb27267e4aa7413e996720676765a1..0499a13549d19e9c81b4042219d8996fe1d86ae3 100644
+index a630265a84738b2d50fb1b571364df468cfb169c..0fc25497e7605a04088f888aab99482bd7187ae5 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -141,6 +141,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -140,6 +140,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
// Paper start
private org.bukkit.event.player.PlayerResourcePackStatusEvent.Status resourcePackStatus;
private String resourcePackHash;
@@ -20,7 +20,7 @@ index c30743056ccb27267e4aa7413e996720676765a1..0499a13549d19e9c81b4042219d8996f
// Paper end
public CraftPlayer(CraftServer server, EntityPlayer entity) {
-@@ -1524,7 +1525,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1523,7 +1524,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
public void addChannel(String channel) {
diff --git a/Spigot-Server-Patches/0206-Add-method-to-open-already-placed-sign.patch b/Spigot-Server-Patches/0206-Add-method-to-open-already-placed-sign.patch
index 34396b7db..391ee86f1 100644
--- a/Spigot-Server-Patches/0206-Add-method-to-open-already-placed-sign.patch
+++ b/Spigot-Server-Patches/0206-Add-method-to-open-already-placed-sign.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add method to open already placed sign
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
-index 65144fac2d36b038bbf729bb2abe7b5a907d61fd..a1c318aa6501d9d0bdd53dc1fb8a99b7a782b4ce 100644
+index 1f5f04aecfaccc80b2db8e14ba2c39f53528191b..99bd0b3f17dea43e85806fcad317ef8227d95715 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
-@@ -597,6 +597,17 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
+@@ -596,6 +596,17 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
}
}
diff --git a/Spigot-Server-Patches/0233-InventoryCloseEvent-Reason-API.patch b/Spigot-Server-Patches/0233-InventoryCloseEvent-Reason-API.patch
index e63a54654..4085b290e 100644
--- a/Spigot-Server-Patches/0233-InventoryCloseEvent-Reason-API.patch
+++ b/Spigot-Server-Patches/0233-InventoryCloseEvent-Reason-API.patch
@@ -152,10 +152,10 @@ index a1491094b58cf814d7b05d6c0ce4067bf34dae1a..a0d1e9f7535db896c0589dc02cb03bda
}
// Spigot End
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
-index a1c318aa6501d9d0bdd53dc1fb8a99b7a782b4ce..ebcd2d043b3e6cf90b62eda1ea7a2d8c01f1c7a8 100644
+index 99bd0b3f17dea43e85806fcad317ef8227d95715..08955d127859785bad49139c7f211f0ce7ea62ed 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
-@@ -370,7 +370,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
+@@ -369,7 +369,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
if (((EntityPlayer) getHandle()).playerConnection == null) return;
if (getHandle().activeContainer != getHandle().defaultContainer) {
// fire INVENTORY_CLOSE if one already open
@@ -164,7 +164,7 @@ index a1c318aa6501d9d0bdd53dc1fb8a99b7a782b4ce..ebcd2d043b3e6cf90b62eda1ea7a2d8c
}
EntityPlayer player = (EntityPlayer) getHandle();
Container container;
-@@ -436,8 +436,13 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
+@@ -435,8 +435,13 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
@Override
public void closeInventory() {
@@ -180,10 +180,10 @@ index a1c318aa6501d9d0bdd53dc1fb8a99b7a782b4ce..ebcd2d043b3e6cf90b62eda1ea7a2d8c
@Override
public boolean isBlocking() {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 78c91d94e9940431def77f2559e64c9cab6d8b49..c04ad85d16ce358dfbd72d1d84fb39970aa6aef0 100644
+index 0fc25497e7605a04088f888aab99482bd7187ae5..290bd5f50618be0a9d1e10afa3642d47501d192d 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -813,7 +813,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -812,7 +812,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
// Close any foreign inventory
if (getHandle().activeContainer != getHandle().defaultContainer) {
@@ -193,10 +193,10 @@ index 78c91d94e9940431def77f2559e64c9cab6d8b49..c04ad85d16ce358dfbd72d1d84fb3997
// 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 3ccd30d036deb9fc4112641a24e20c89f2d2b8eb..50047901625527e90d4d2ceb2572f30811f2ee76 100644
+index 70a678dc8637897378f9924bae159233b181f817..44fd948d9ce23e541bf47c89ff3d36ac8da9e41a 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -1171,7 +1171,7 @@ public class CraftEventFactory {
+@@ -1165,7 +1165,7 @@ public class CraftEventFactory {
public static Container callInventoryOpenEvent(EntityPlayer player, Container container, boolean cancelled) {
if (player.activeContainer != player.defaultContainer) { // fire INVENTORY_CLOSE if one already open
@@ -205,7 +205,7 @@ index 3ccd30d036deb9fc4112641a24e20c89f2d2b8eb..50047901625527e90d4d2ceb2572f308
}
CraftServer server = player.world.getServer();
-@@ -1336,8 +1336,18 @@ public class CraftEventFactory {
+@@ -1330,8 +1330,18 @@ public class CraftEventFactory {
return event;
}
diff --git a/Spigot-Server-Patches/0246-Option-to-prevent-armor-stands-from-doing-entity-loo.patch b/Spigot-Server-Patches/0246-Option-to-prevent-armor-stands-from-doing-entity-loo.patch
index 28ebbe402..83a9dc772 100644
--- a/Spigot-Server-Patches/0246-Option-to-prevent-armor-stands-from-doing-entity-loo.patch
+++ b/Spigot-Server-Patches/0246-Option-to-prevent-armor-stands-from-doing-entity-loo.patch
@@ -19,7 +19,7 @@ index 4813f62d1e382d5ac6971b2244df3f13c80d1950..3562950df4868b1393790b1a1ff1fe0d
+ }
}
diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java
-index b0847b4e61e587a47fd209eb2ec3772d1486802d..89f6525ef1a4c41d3b662a5ad22b353064a82f36 100644
+index e17637cfee773b1b79c05d7a8e6558963c7a9c14..9a3183e55fcb6809d2b324ad52e27f3e77d8fcb2 100644
--- a/src/main/java/net/minecraft/server/EntityArmorStand.java
+++ b/src/main/java/net/minecraft/server/EntityArmorStand.java
@@ -321,6 +321,7 @@ public class EntityArmorStand extends EntityLiving {
@@ -31,10 +31,10 @@ index b0847b4e61e587a47fd209eb2ec3772d1486802d..89f6525ef1a4c41d3b662a5ad22b3530
for (int i = 0; i < list.size(); ++i) {
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 3bad056cf3c9a4322dbbf3486ea4510117a8d95b..7b2df7f3538f7ee696db08f7d8be74f258ff1996 100644
+index cb1330ef117224aea07208cebff544c714ae313a..51c57f4752ea49859b9e00045a40899783731f28 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
-@@ -802,6 +802,13 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
+@@ -801,6 +801,13 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
// Paper end
}
}
diff --git a/Spigot-Server-Patches/0247-Vanished-players-don-t-have-rights.patch b/Spigot-Server-Patches/0247-Vanished-players-don-t-have-rights.patch
index cd4c268aa..0b0bb4613 100644
--- a/Spigot-Server-Patches/0247-Vanished-players-don-t-have-rights.patch
+++ b/Spigot-Server-Patches/0247-Vanished-players-don-t-have-rights.patch
@@ -17,7 +17,7 @@ index e0ae51ede44de5c894df526c1fc6d94c46d72013..8bcca73ae48ee822d32a6d23be2e1056
return this.getBlock().c(this.p(), iblockaccess, blockposition, voxelshapecollision);
}
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index c863fd94ee77b81aec84223588e20eed974515d6..02e4ce705c2a7a1cdc7024a6c3db799db8922ce9 100644
+index 64a739d0660098b840e2369f150670691eb9c441..91b450da31b972e2251382cd068a818a6bd70c1e 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -98,7 +98,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -50,7 +50,7 @@ index 0b62041f6dc9cb0151ea55407f6706cac134f1b5..97aed437adb98bc468ec757df8b6d375
return false;
}
diff --git a/src/main/java/net/minecraft/server/ItemBlock.java b/src/main/java/net/minecraft/server/ItemBlock.java
-index 3bfcde5f7fa7f7f6393a9687e48fae8dc3aa33a0..bbb1de7d1adce6e986467db234b27518df4dd87f 100644
+index f4be1584b5d09b6c5d01b29cecbc96849b6e90fc..9d62bc6d600526881dccb44d158e30f565078cec 100644
--- a/src/main/java/net/minecraft/server/ItemBlock.java
+++ b/src/main/java/net/minecraft/server/ItemBlock.java
@@ -154,7 +154,8 @@ public class ItemBlock extends Item {
@@ -96,7 +96,7 @@ index ed0f9c5d29c4f88b7beee4b0ecdd7a56de2d7a9e..881cea7c466f29ff4a89db28d104e850
if (operatorboolean.apply(false, false)) {
throw (IllegalArgumentException) SystemUtils.c((Throwable) (new IllegalArgumentException()));
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 7affb75a97e49b67861b24de38ef83e72b0abd5a..ce596bd1268eb7d6d20709fe1e00a59ccc50957d 100644
+index 51c57f4752ea49859b9e00045a40899783731f28..26669ded3ec47d13e4e79d65d0f05a588f9e1f63 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -178,6 +178,46 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -147,10 +147,10 @@ index 7affb75a97e49b67861b24de38ef83e72b0abd5a..ce596bd1268eb7d6d20709fe1e00a59c
public boolean s_() {
return this.isClientSide;
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 50047901625527e90d4d2ceb2572f30811f2ee76..6b62317f6a5e8a9bb8fdfc901835d0c28d3eeeda 100644
+index 44fd948d9ce23e541bf47c89ff3d36ac8da9e41a..b470f29fc938740c0e9c728e3f5ee716a9208e6a 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -1207,6 +1207,14 @@ public class CraftEventFactory {
+@@ -1201,6 +1201,14 @@ public class CraftEventFactory {
Projectile projectile = (Projectile) entity.getBukkitEntity();
org.bukkit.entity.Entity collided = position.getEntity().getBukkitEntity();
com.destroystokyo.paper.event.entity.ProjectileCollideEvent event = new com.destroystokyo.paper.event.entity.ProjectileCollideEvent(projectile, collided);
diff --git a/Spigot-Server-Patches/0258-Add-hand-to-bucket-events.patch b/Spigot-Server-Patches/0258-Add-hand-to-bucket-events.patch
index 7781dce65..2342711a5 100644
--- a/Spigot-Server-Patches/0258-Add-hand-to-bucket-events.patch
+++ b/Spigot-Server-Patches/0258-Add-hand-to-bucket-events.patch
@@ -73,7 +73,7 @@ index 48958308a89cbe39e1b4dddcdd8d1d0b5ece6339..120bf8436fd82294c339add2e7bff1cd
int i = blockposition.getX();
int j = blockposition.getY();
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index ce596bd1268eb7d6d20709fe1e00a59ccc50957d..3fc77d08e77b1594967c9e08efbd9102265603ea 100644
+index 26669ded3ec47d13e4e79d65d0f05a588f9e1f63..d6bce67fff263d2c04be29020a8dc66fa260a53e 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -218,6 +218,17 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -95,7 +95,7 @@ index ce596bd1268eb7d6d20709fe1e00a59ccc50957d..3fc77d08e77b1594967c9e08efbd9102
public boolean s_() {
return this.isClientSide;
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
-index 46624d1832eb76aed688da5e1cf6c7dc304d610b..c8a990ab5db73b9e13b60b55f10142fe20e8179a 100644
+index 1cbb1c3ddf45cd6d650ca274af4545f2d1c8a813..f047f07e768b77feb469c69166f36a3f6779f561 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1536,15 +1536,17 @@ public class WorldServer extends World implements GeneratorAccessSeed {
@@ -126,10 +126,10 @@ index 46624d1832eb76aed688da5e1cf6c7dc304d610b..c8a990ab5db73b9e13b60b55f10142fe
public float v() {
return this.worldData.d();
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 6b62317f6a5e8a9bb8fdfc901835d0c28d3eeeda..94a3a40fd14ecfcda8ca6a29edb2787f4babb154 100644
+index b470f29fc938740c0e9c728e3f5ee716a9208e6a..2b0d09e8791a0b2915eb36bda5f0848731c4236b 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -232,7 +232,7 @@ public class CraftEventFactory {
+@@ -226,7 +226,7 @@ public class CraftEventFactory {
public static Entity entityDamage; // For use in EntityDamageByEntityEvent
// helper methods
@@ -138,7 +138,7 @@ index 6b62317f6a5e8a9bb8fdfc901835d0c28d3eeeda..94a3a40fd14ecfcda8ca6a29edb2787f
int spawnSize = Bukkit.getServer().getSpawnRadius();
if (world.getDimensionKey() != World.OVERWORLD) return true;
-@@ -411,6 +411,20 @@ public class CraftEventFactory {
+@@ -405,6 +405,20 @@ public class CraftEventFactory {
}
private static PlayerEvent getPlayerBucketEvent(boolean isFilling, WorldServer world, EntityHuman who, BlockPosition changed, BlockPosition clicked, EnumDirection clickedFace, ItemStack itemstack, net.minecraft.server.Item item) {
@@ -159,7 +159,7 @@ index 6b62317f6a5e8a9bb8fdfc901835d0c28d3eeeda..94a3a40fd14ecfcda8ca6a29edb2787f
Player player = (Player) who.getBukkitEntity();
CraftItemStack itemInHand = CraftItemStack.asNewCraftStack(item);
Material bucket = CraftMagicNumbers.getMaterial(itemstack.getItem());
-@@ -423,10 +437,10 @@ public class CraftEventFactory {
+@@ -417,10 +431,10 @@ public class CraftEventFactory {
PlayerEvent event;
if (isFilling) {
diff --git a/Spigot-Server-Patches/0261-Add-Early-Warning-Feature-to-WatchDog.patch b/Spigot-Server-Patches/0261-Add-Early-Warning-Feature-to-WatchDog.patch
index bd84a8190..e4d261003 100644
--- a/Spigot-Server-Patches/0261-Add-Early-Warning-Feature-to-WatchDog.patch
+++ b/Spigot-Server-Patches/0261-Add-Early-Warning-Feature-to-WatchDog.patch
@@ -36,7 +36,7 @@ index 89f1eb215a585eccd8498cb337e5894369e41867..f1c1c9c09c6bfe288a239d53953e55bb
public static int tabSpamLimit = 500;
private static void tabSpamLimiters() {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 983868ef2b2d9bbec19ba8a23cb6376de015b53e..aea9e169f9a11378c176c0cc3ee5a0d59e6a4c38 100644
+index 88b45c8b4f58ee83d625408eae08aa329c87a6d4..d6d93c76f047573b3e7ea91409fb85e093666812 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -898,6 +898,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant 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 94a3a40fd14ecfcda8ca6a29edb2787f4babb154..8a5a583e49e037aeeeb38c38fc2a83b1048cf382 100644
+index 2b0d09e8791a0b2915eb36bda5f0848731c4236b..995194c4499cc93dc2fa21b0a6d7d826877d2c78 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -789,9 +789,16 @@ public class CraftEventFactory {
+@@ -783,9 +783,16 @@ public class CraftEventFactory {
public static EntityDeathEvent callEntityDeathEvent(EntityLiving victim, List drops) {
CraftLivingEntity entity = (CraftLivingEntity) victim.getBukkitEntity();
EntityDeathEvent event = new EntityDeathEvent(entity, drops, victim.getExpReward());
@@ -366,7 +366,7 @@ index 94a3a40fd14ecfcda8ca6a29edb2787f4babb154..8a5a583e49e037aeeeb38c38fc2a83b1
victim.expToDrop = event.getDroppedExp();
for (org.bukkit.inventory.ItemStack stack : event.getDrops()) {
-@@ -807,8 +814,15 @@ public class CraftEventFactory {
+@@ -801,8 +808,15 @@ public class CraftEventFactory {
CraftPlayer entity = victim.getBukkitEntity();
PlayerDeathEvent event = new PlayerDeathEvent(entity, drops, victim.getExpReward(), 0, deathMessage);
event.setKeepInventory(keepInventory);
@@ -382,7 +382,7 @@ index 94a3a40fd14ecfcda8ca6a29edb2787f4babb154..8a5a583e49e037aeeeb38c38fc2a83b1
victim.keepLevel = event.getKeepLevel();
victim.newLevel = event.getNewLevel();
-@@ -825,6 +839,31 @@ public class CraftEventFactory {
+@@ -819,6 +833,31 @@ public class CraftEventFactory {
return event;
}
diff --git a/Spigot-Server-Patches/0298-Add-Velocity-IP-Forwarding-Support.patch b/Spigot-Server-Patches/0298-Add-Velocity-IP-Forwarding-Support.patch
index e80bfda7e..05fd3367f 100644
--- a/Spigot-Server-Patches/0298-Add-Velocity-IP-Forwarding-Support.patch
+++ b/Spigot-Server-Patches/0298-Add-Velocity-IP-Forwarding-Support.patch
@@ -273,10 +273,10 @@ index b52e8b72eaee87e227b7cc2fd66101550262cb7e..990cfea6c2339cd3cf688e4645de76dc
public void a(PacketDataSerializer packetdataserializer) throws IOException {
this.a = packetdataserializer.i();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 512f99a198db7a48bcb21aadbd38125260bce812..816f0e7a5f958b4e3ea2c1fe02fc46de0b6e5664 100644
+index 77c782acdfc4f0403a06219759f0154d77f69c58..42f3d7545203f9e00ac241452ac8f214c693486d 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -683,7 +683,7 @@ public final class CraftServer implements Server {
+@@ -682,7 +682,7 @@ public final class CraftServer implements Server {
@Override
public long getConnectionThrottle() {
// Spigot Start - Automatically set connection throttle for bungee configurations
diff --git a/Spigot-Server-Patches/0312-Make-the-default-permission-message-configurable.patch b/Spigot-Server-Patches/0312-Make-the-default-permission-message-configurable.patch
index 1527f93de..05243c02e 100644
--- a/Spigot-Server-Patches/0312-Make-the-default-permission-message-configurable.patch
+++ b/Spigot-Server-Patches/0312-Make-the-default-permission-message-configurable.patch
@@ -29,10 +29,10 @@ index e8bade581ed391b25c592dbafb3fb3ccf72be616..053ba1023b6d1393c0ade589ae53feb2
Object val = config.get("settings.save-player-data");
if (val instanceof Boolean) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 816f0e7a5f958b4e3ea2c1fe02fc46de0b6e5664..9dd46d0dd0e623a9fab98e8529d1c5f9912dbbb7 100644
+index 42f3d7545203f9e00ac241452ac8f214c693486d..c04722999aac8cf4f38765312edf47444b90f91b 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2276,6 +2276,11 @@ public final class CraftServer implements Server {
+@@ -2277,6 +2277,11 @@ public final class CraftServer implements Server {
return com.destroystokyo.paper.PaperConfig.suggestPlayersWhenNullTabCompletions;
}
diff --git a/Spigot-Server-Patches/0316-Add-more-Zombie-API.patch b/Spigot-Server-Patches/0316-Add-more-Zombie-API.patch
index 4f5286f33..01c228d71 100644
--- a/Spigot-Server-Patches/0316-Add-more-Zombie-API.patch
+++ b/Spigot-Server-Patches/0316-Add-more-Zombie-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add more Zombie API
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
-index d07847876e22971b4a90f67d8281bf08361424e0..8c4a27721b66800c2d9b7bc6c1878b73b76b0df1 100644
+index 422632c9050d0bcc5398ac5d4cf51801cea9cdda..9b1297e564738eb40e6e9329817d8ebab11dce40 100644
--- a/src/main/java/net/minecraft/server/EntityZombie.java
+++ b/src/main/java/net/minecraft/server/EntityZombie.java
@@ -33,6 +33,7 @@ public class EntityZombie extends EntityMonster {
@@ -29,7 +29,7 @@ index d07847876e22971b4a90f67d8281bf08361424e0..8c4a27721b66800c2d9b7bc6c1878b73
public void startDrownedConversion(int i) {
this.lastTick = MinecraftServer.currentTick; // CraftBukkit
this.drownedConversionTime = i;
-@@ -226,9 +233,16 @@ public class EntityZombie extends EntityMonster {
+@@ -229,9 +236,16 @@ public class EntityZombie extends EntityMonster {
}
@@ -47,7 +47,7 @@ index d07847876e22971b4a90f67d8281bf08361424e0..8c4a27721b66800c2d9b7bc6c1878b73
@Override
public boolean damageEntity(DamageSource damagesource, float f) {
-@@ -349,6 +363,7 @@ public class EntityZombie extends EntityMonster {
+@@ -352,6 +366,7 @@ public class EntityZombie extends EntityMonster {
nbttagcompound.setBoolean("CanBreakDoors", this.eU());
nbttagcompound.setInt("InWaterTime", this.isInWater() ? this.bt : -1);
nbttagcompound.setInt("DrownedConversionTime", this.isDrownConverting() ? this.drownedConversionTime : -1);
@@ -55,7 +55,7 @@ index d07847876e22971b4a90f67d8281bf08361424e0..8c4a27721b66800c2d9b7bc6c1878b73
}
@Override
-@@ -360,7 +375,11 @@ public class EntityZombie extends EntityMonster {
+@@ -363,7 +378,11 @@ public class EntityZombie extends EntityMonster {
if (nbttagcompound.hasKeyOfType("DrownedConversionTime", 99) && nbttagcompound.getInt("DrownedConversionTime") > -1) {
this.startDrownedConversion(nbttagcompound.getInt("DrownedConversionTime"));
}
diff --git a/Spigot-Server-Patches/0319-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch b/Spigot-Server-Patches/0319-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch
index dd9a9b059..c26dcdc5e 100644
--- a/Spigot-Server-Patches/0319-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch
+++ b/Spigot-Server-Patches/0319-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch
@@ -106,10 +106,10 @@ index 00333548b470435aa89fb0f4b29047eb1461e992..5770d4183c1b9ab6119a25930283c023
public Location getBedSpawnLocation() {
NBTTagCompound data = getData();
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 2a243970e629dae83a223ad995f587361f91451f..058b57af2d50e82a877c87cc29c4dfb55685d0a2 100644
+index 42d7bd435fa8ee94af5eda4542598ed1c6fbd0c1..cd6f4d8d3ab72ee2d4c9042bb17966ed36f4c383 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -142,6 +142,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -141,6 +141,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
private org.bukkit.event.player.PlayerResourcePackStatusEvent.Status resourcePackStatus;
private String resourcePackHash;
private static final boolean DISABLE_CHANNEL_LIMIT = System.getProperty("paper.disableChannelLimit") != null; // Paper - add a flag to disable the channel limit
@@ -117,7 +117,7 @@ index 2a243970e629dae83a223ad995f587361f91451f..058b57af2d50e82a877c87cc29c4dfb5
// Paper end
public CraftPlayer(CraftServer server, EntityPlayer entity) {
-@@ -1428,6 +1429,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1427,6 +1428,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.firstPlayed = firstPlayed;
}
@@ -136,7 +136,7 @@ index 2a243970e629dae83a223ad995f587361f91451f..058b57af2d50e82a877c87cc29c4dfb5
public void readExtraData(NBTTagCompound nbttagcompound) {
hasPlayedBefore = true;
if (nbttagcompound.hasKey("bukkit")) {
-@@ -1450,6 +1463,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1449,6 +1462,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
public void setExtraData(NBTTagCompound nbttagcompound) {
@@ -145,7 +145,7 @@ index 2a243970e629dae83a223ad995f587361f91451f..058b57af2d50e82a877c87cc29c4dfb5
if (!nbttagcompound.hasKey("bukkit")) {
nbttagcompound.set("bukkit", new NBTTagCompound());
}
-@@ -1464,6 +1479,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1463,6 +1478,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
data.setLong("firstPlayed", getFirstPlayed());
data.setLong("lastPlayed", System.currentTimeMillis());
data.setString("lastKnownName", handle.getName());
diff --git a/Spigot-Server-Patches/0322-Block-Entity-remove-from-being-called-on-Players.patch b/Spigot-Server-Patches/0322-Block-Entity-remove-from-being-called-on-Players.patch
index 22de3c841..2bc81d669 100644
--- a/Spigot-Server-Patches/0322-Block-Entity-remove-from-being-called-on-Players.patch
+++ b/Spigot-Server-Patches/0322-Block-Entity-remove-from-being-called-on-Players.patch
@@ -12,10 +12,10 @@ Player we will look at limiting the scope of this change. It appears to
be unintentional in the few cases we've seen so far.
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 08512916fd14e3795d021f4b4c9212e4d6efaed2..f153c2d75768effe846789618732b3e212a2b8d3 100644
+index cd6f4d8d3ab72ee2d4c9042bb17966ed36f4c383..fdedd4de5a6538460a4c1124bfe45ceae6f2c809 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2038,6 +2038,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2037,6 +2037,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public void resetCooldown() {
getHandle().resetAttackCooldown();
}
diff --git a/Spigot-Server-Patches/0342-Optimize-Captured-TileEntity-Lookup.patch b/Spigot-Server-Patches/0342-Optimize-Captured-TileEntity-Lookup.patch
index 146aefbed..371675d5a 100644
--- a/Spigot-Server-Patches/0342-Optimize-Captured-TileEntity-Lookup.patch
+++ b/Spigot-Server-Patches/0342-Optimize-Captured-TileEntity-Lookup.patch
@@ -10,10 +10,10 @@ Optimize to check if the captured list even has values in it, and also to
just do a get call since the value can never be null.
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 89bb995909882a4b35e2d07e5a47739c1d4f46f2..f96ddcba26155bf179489b9d856305b90d1ae014 100644
+index 6c0e179f4a6c14cf0cedc5a57e959d13a40ca42b..4c36abfa48b7f4fee2d118ff1d218f8ee5fbe007 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
-@@ -909,12 +909,13 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
+@@ -908,12 +908,13 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
return null;
} else {
// CraftBukkit start
diff --git a/Spigot-Server-Patches/0345-Per-Player-View-Distance-API-placeholders.patch b/Spigot-Server-Patches/0345-Per-Player-View-Distance-API-placeholders.patch
index d3d8736e1..6b44d4dbd 100644
--- a/Spigot-Server-Patches/0345-Per-Player-View-Distance-API-placeholders.patch
+++ b/Spigot-Server-Patches/0345-Per-Player-View-Distance-API-placeholders.patch
@@ -40,10 +40,10 @@ index ad5a7cbe83fb61b79203369895e82edca2ffcb72..06cf8ca80c314b7c236984c7f6236533
double deltaZ = this.locZ() - player.locZ();
double distanceSquared = deltaX * deltaX + deltaZ * deltaZ;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index f153c2d75768effe846789618732b3e212a2b8d3..1eaf0a0303e6d687d9626d1ffcca41d9169341a8 100644
+index fdedd4de5a6538460a4c1124bfe45ceae6f2c809..687df7dd3ac33d8f331ae141782859b80b08a6ff 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2047,6 +2047,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2046,6 +2046,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
super.remove();
}
}
diff --git a/Spigot-Server-Patches/0348-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch b/Spigot-Server-Patches/0348-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch
index 0aedb0713..e5b7a9d69 100644
--- a/Spigot-Server-Patches/0348-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch
+++ b/Spigot-Server-Patches/0348-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch
@@ -16,7 +16,7 @@ handling that should have been handled synchronously will be handled
synchronously when the server gets shut down.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 46503c75ced00902ef675ad1f3800fb9236a3703..44991803a489a42842f79ce51bdd53a73ef35d71 100644
+index c4f1fa6bd54a1928d163d83807f2823029db54e6..83a0dc052683ad2de6843d49d2e2a861d94e8de2 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -2071,7 +2071,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant getTypeKey() {
return typeKey;
}
-@@ -1003,14 +1010,14 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
+@@ -1002,14 +1009,14 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
}
public boolean p(BlockPosition blockposition) {
@@ -55,7 +55,7 @@ index 5bb9cd2a9b00e908af700fa44944b2dd218b9653..e2ae32a2bbb02c81ba7bb8c2f75a51f4
return ichunkaccess == null ? false : ichunkaccess.getType(blockposition).a((IBlockAccess) this, blockposition, entity, enumdirection);
}
-@@ -1131,7 +1138,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
+@@ -1130,7 +1137,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
for (int i1 = i; i1 < j; ++i1) {
for (int j1 = k; j1 < l; ++j1) {
@@ -65,7 +65,7 @@ index 5bb9cd2a9b00e908af700fa44944b2dd218b9653..e2ae32a2bbb02c81ba7bb8c2f75a51f4
if (chunk != null) {
chunk.a(oclass, axisalignedbb, list, predicate);
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
-index a999683d6d16d3704c76b1af95255ad3c02a9fc2..6b851421262efb9ce918a86b838512cd8f74da52 100644
+index f9d3e7a774f6621cb8608d3dfa8676c3d13a174f..d3130ff85d90a8fb197c9917b66174389659e3bf 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -95,7 +95,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
@@ -78,10 +78,10 @@ index a999683d6d16d3704c76b1af95255ad3c02a9fc2..6b851421262efb9ce918a86b838512cd
// Paper start - Asynchronous IO
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
-index 78f0fb5d97b077673ec542cd70bbc3ffa13f916c..b73af0a5fb2d08c2f3a52c699ef0d8ed34c83f77 100644
+index d44ef056bdab3bcff39aea45b40a4c7e9c62398f..797e579afdbc77a8dc5fc4cdf5874e546922fbfa 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
-@@ -143,9 +143,10 @@ public class ActivationRange
+@@ -141,9 +141,10 @@ public class ActivationRange
{
for ( int j1 = k; j1 <= l; ++j1 )
{
diff --git a/Spigot-Server-Patches/0370-Reduce-sync-loads.patch b/Spigot-Server-Patches/0370-Reduce-sync-loads.patch
index d8347566a..4ede60e64 100644
--- a/Spigot-Server-Patches/0370-Reduce-sync-loads.patch
+++ b/Spigot-Server-Patches/0370-Reduce-sync-loads.patch
@@ -298,10 +298,10 @@ index 77e17feb56cc28e763640b2e37f66788241e09b4..2eb38bfcdc0c232da9dad6921df503e5
this.serverThreadQueue.awaitTasks(completablefuture::isDone);
com.destroystokyo.paper.io.chunk.ChunkTaskManager.popChunkWait(); // Paper - async chunk debug
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index e2ae32a2bbb02c81ba7bb8c2f75a51f4f61eb218..16e2f0e9580486337b8bc060d4b088bb1bf40581 100644
+index c922f4d5c3a5e7af7237361cb95a5ba8bb3ce715..dcca5257a03b6fe32ffcd6528e505762b7b4a3e7 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
-@@ -1071,7 +1071,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
+@@ -1070,7 +1070,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
for (int i1 = i; i1 <= j; ++i1) {
for (int j1 = k; j1 <= l; ++j1) {
@@ -310,7 +310,7 @@ index e2ae32a2bbb02c81ba7bb8c2f75a51f4f61eb218..16e2f0e9580486337b8bc060d4b088bb
if (chunk != null) {
chunk.a(entity, axisalignedbb, list, predicate);
-@@ -1092,7 +1092,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
+@@ -1091,7 +1091,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
for (int i1 = i; i1 < j; ++i1) {
for (int j1 = k; j1 < l; ++j1) {
@@ -319,7 +319,7 @@ index e2ae32a2bbb02c81ba7bb8c2f75a51f4f61eb218..16e2f0e9580486337b8bc060d4b088bb
if (chunk != null) {
chunk.a(entitytypes, axisalignedbb, list, predicate);
-@@ -1115,7 +1115,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
+@@ -1114,7 +1114,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
for (int i1 = i; i1 < j; ++i1) {
for (int j1 = k; j1 < l; ++j1) {
@@ -329,7 +329,7 @@ index e2ae32a2bbb02c81ba7bb8c2f75a51f4f61eb218..16e2f0e9580486337b8bc060d4b088bb
if (chunk != null) {
chunk.a(oclass, axisalignedbb, list, predicate);
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
-index 6b851421262efb9ce918a86b838512cd8f74da52..c7a39cd7ac8ca48b2b2fb42738406c94150f5d77 100644
+index d3130ff85d90a8fb197c9917b66174389659e3bf..0d8ef258422c0aaba31afbecf4bee6da7678259a 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -170,6 +170,12 @@ public class WorldServer extends World implements GeneratorAccessSeed {
diff --git a/Spigot-Server-Patches/0381-Expose-the-internal-current-tick.patch b/Spigot-Server-Patches/0381-Expose-the-internal-current-tick.patch
index ae5e80aa4..24d89ccd9 100644
--- a/Spigot-Server-Patches/0381-Expose-the-internal-current-tick.patch
+++ b/Spigot-Server-Patches/0381-Expose-the-internal-current-tick.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Expose the internal current tick
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index c606ba5335a3843bfe98f9b3536afb991bf17464..ecfbf331c87e7891699eb0e07a25b946c6222b9a 100644
+index 9e059fe1befff6ab1f0f04d824e524c33397cb62..d5a2f6d9274c91d2fe58652b9d58246d06fc5a70 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2299,5 +2299,10 @@ public final class CraftServer implements Server {
+@@ -2300,5 +2300,10 @@ public final class CraftServer implements Server {
}
return new com.destroystokyo.paper.profile.CraftPlayerProfile(uuid, name);
}
diff --git a/Spigot-Server-Patches/0389-Optimize-Hoppers.patch b/Spigot-Server-Patches/0389-Optimize-Hoppers.patch
index c48186964..d4f864b58 100644
--- a/Spigot-Server-Patches/0389-Optimize-Hoppers.patch
+++ b/Spigot-Server-Patches/0389-Optimize-Hoppers.patch
@@ -53,7 +53,7 @@ index b548ab8b7eb7e3c8a455f4653c30ea1610f268e8..187000f1e49f6609267b00f69fe2d266
+ double A(); default double getZ() { return this.A(); } // Paper - OBFHELPER
}
diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java
-index 63aa474c73f506737cb5de31977bffcd17d4dc11..b6703378e21a6cd7e140fd35756a20d47f49ed31 100644
+index 7ad595d5d7e090c523aa45a10d0f84b609ea86df..e3e2ecfcc6dabf02844551d94138e6c6ae18358a 100644
--- a/src/main/java/net/minecraft/server/ItemStack.java
+++ b/src/main/java/net/minecraft/server/ItemStack.java
@@ -486,11 +486,12 @@ public final class ItemStack {
@@ -73,7 +73,7 @@ index 63aa474c73f506737cb5de31977bffcd17d4dc11..b6703378e21a6cd7e140fd35756a20d4
itemstack.d(this.D());
if (this.tag != null) {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index f12bd4b34745a67477cc7a28b5c8dfaf970bbb61..b1408a72194b7a3743cdcfd88afd22cbe8d89eaa 100644
+index 410e63e4d15fa6ba85683694444cd49c53446574..a4913a0836f1c223af42e6fbbf7bb314332eef23 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1241,6 +1241,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant i) {
i = j;
diff --git a/src/main/java/org/spigotmc/TrackingRange.java b/src/main/java/org/spigotmc/TrackingRange.java
-index 6f8e6c1d079f82d7706d0b4f710bfb9b50e209d9..03990231a8b6bc6925f054e9033825316abfafcc 100644
+index 646811932e9703510679080dd93586a3389aace9..03990231a8b6bc6925f054e9033825316abfafcc 100644
--- a/src/main/java/org/spigotmc/TrackingRange.java
+++ b/src/main/java/org/spigotmc/TrackingRange.java
@@ -1,6 +1,8 @@
@@ -36,7 +36,7 @@ index 6f8e6c1d079f82d7706d0b4f710bfb9b50e209d9..03990231a8b6bc6925f054e903382531
if ( entity instanceof EntityPlayer )
{
return config.playerTrackingRange;
-- } else if ( entity.activationType == ActivationRange.ActivationType.MONSTER || entity.activationType == ActivationRange.ActivationType.RAIDER )
+- } else if ( entity.activationType == ActivationRange.ActivationType.MONSTER || entity.activationType == ActivationRange.ActivationType.RAIDER )
- {
- return config.monsterTrackingRange;
- } else if ( entity instanceof EntityGhast )
diff --git a/Spigot-Server-Patches/0401-Entity-Activation-Range-2.0.patch b/Spigot-Server-Patches/0401-Entity-Activation-Range-2.0.patch
index e62bfe66b..ab97d3e1c 100644
--- a/Spigot-Server-Patches/0401-Entity-Activation-Range-2.0.patch
+++ b/Spigot-Server-Patches/0401-Entity-Activation-Range-2.0.patch
@@ -118,7 +118,7 @@ index 800a8dd2543f0b83eec67e780510427467649d5d..73ceb0f14610fe1d4d55542dad957b1f
if (this.isPassenger() && this.getVehicle() instanceof EntityInsentient) {
EntityInsentient entityinsentient = (EntityInsentient) this.getVehicle();
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index eb712c7f4e5ef0c87a85b055a2db3b30fee8604f..0d04144d07bcba2fb4f79fbecfefb27beacba654 100644
+index cfc4422aaaf79a7b198f7991d422f887574f59e0..5d8c2f2b002945f5d6c26d61d2c3cffe4c84ec81 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -98,7 +98,7 @@ public abstract class EntityLiving extends Entity {
@@ -332,7 +332,7 @@ index 182cd7e9110408fff9909ef362d368d055a2b167..f3df10587e652d3a26d15deb09304b97
return this.c;
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 2fa1cd43a8a7b083cd1522c32716d21dee922c46..6a067e4db344ca5fc446650722db7118fa5127a2 100644
+index 1dca840322990c996ed6eac49792529f60058a6f..c9c5c0b6f8837001db0b38dabfba7e01bc6de6db 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -82,6 +82,12 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -440,13 +440,13 @@ index 15d68e08a51ae83ae4a8031f47d512b7c89deae0..7d17623989cb601a99195d6d1b0c6c2b
}
} else {
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
-index b73af0a5fb2d08c2f3a52c699ef0d8ed34c83f77..9030284ba06dfdcc17c2710f428e84d70afea8d5 100644
+index 797e579afdbc77a8dc5fc4cdf5874e546922fbfa..5b6604c5c84e9ee716110cd63a148187ff34201a 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
-@@ -2,24 +2,34 @@ package org.spigotmc;
+@@ -1,24 +1,34 @@
+ package org.spigotmc;
import java.util.Collection;
- import java.util.List;
+
+import net.minecraft.server.Activity;
import net.minecraft.server.AxisAlignedBB;
@@ -478,7 +478,7 @@ index b73af0a5fb2d08c2f3a52c699ef0d8ed34c83f77..9030284ba06dfdcc17c2710f428e84d7
import net.minecraft.server.EntityProjectile;
import net.minecraft.server.EntityRaider;
import net.minecraft.server.EntitySheep;
-@@ -29,16 +39,26 @@ import net.minecraft.server.EntityTNTPrimed;
+@@ -27,16 +37,26 @@ import net.minecraft.server.EntityTNTPrimed;
import net.minecraft.server.EntityThrownTrident;
import net.minecraft.server.EntityVillager;
import net.minecraft.server.EntityWither;
@@ -505,7 +505,7 @@ index b73af0a5fb2d08c2f3a52c699ef0d8ed34c83f77..9030284ba06dfdcc17c2710f428e84d7
MONSTER,
ANIMAL,
RAIDER,
-@@ -46,6 +66,43 @@ public class ActivationRange
+@@ -44,6 +64,43 @@ public class ActivationRange
AxisAlignedBB boundingBox = new AxisAlignedBB( 0, 0, 0, 0, 0, 0 );
}
@@ -549,7 +549,7 @@ index b73af0a5fb2d08c2f3a52c699ef0d8ed34c83f77..9030284ba06dfdcc17c2710f428e84d7
static AxisAlignedBB maxBB = new AxisAlignedBB( 0, 0, 0, 0, 0, 0 );
-@@ -58,10 +115,13 @@ public class ActivationRange
+@@ -56,10 +113,13 @@ public class ActivationRange
*/
public static ActivationType initializeEntityActivationType(Entity entity)
{
@@ -564,7 +564,7 @@ index b73af0a5fb2d08c2f3a52c699ef0d8ed34c83f77..9030284ba06dfdcc17c2710f428e84d7
{
return ActivationType.MONSTER;
} else if ( entity instanceof EntityCreature || entity instanceof EntityAmbient )
-@@ -82,10 +142,14 @@ public class ActivationRange
+@@ -80,10 +140,14 @@ public class ActivationRange
*/
public static boolean initializeEntityActivationState(Entity entity, SpigotWorldConfig config)
{
@@ -583,7 +583,7 @@ index b73af0a5fb2d08c2f3a52c699ef0d8ed34c83f77..9030284ba06dfdcc17c2710f428e84d7
|| entity instanceof EntityHuman
|| entity instanceof EntityProjectile
|| entity instanceof EntityEnderDragon
-@@ -118,10 +182,25 @@ public class ActivationRange
+@@ -116,10 +180,25 @@ public class ActivationRange
final int raiderActivationRange = world.spigotConfig.raiderActivationRange;
final int animalActivationRange = world.spigotConfig.animalActivationRange;
final int monsterActivationRange = world.spigotConfig.monsterActivationRange;
@@ -609,7 +609,7 @@ index b73af0a5fb2d08c2f3a52c699ef0d8ed34c83f77..9030284ba06dfdcc17c2710f428e84d7
maxRange = Math.min( ( world.spigotConfig.viewDistance << 4 ) - 8, maxRange );
for ( EntityHuman player : world.getPlayers() )
-@@ -133,6 +212,11 @@ public class ActivationRange
+@@ -131,6 +210,11 @@ public class ActivationRange
ActivationType.RAIDER.boundingBox = player.getBoundingBox().grow( raiderActivationRange, 256, raiderActivationRange );
ActivationType.ANIMAL.boundingBox = player.getBoundingBox().grow( animalActivationRange, 256, animalActivationRange );
ActivationType.MONSTER.boundingBox = player.getBoundingBox().grow( monsterActivationRange, 256, monsterActivationRange );
@@ -621,7 +621,7 @@ index b73af0a5fb2d08c2f3a52c699ef0d8ed34c83f77..9030284ba06dfdcc17c2710f428e84d7
int i = MathHelper.floor( maxBB.minX / 16.0D );
int j = MathHelper.floor( maxBB.maxX / 16.0D );
-@@ -143,7 +227,7 @@ public class ActivationRange
+@@ -141,7 +225,7 @@ public class ActivationRange
{
for ( int j1 = k; j1 <= l; ++j1 )
{
@@ -630,11 +630,11 @@ index b73af0a5fb2d08c2f3a52c699ef0d8ed34c83f77..9030284ba06dfdcc17c2710f428e84d7
if ( chunk != null )
{
activateChunkEntities( chunk );
-@@ -161,19 +245,15 @@ public class ActivationRange
+@@ -159,19 +243,15 @@ public class ActivationRange
*/
private static void activateChunkEntities(Chunk chunk)
{
-- for ( List slice : chunk.entitySlices )
+- for ( java.util.List slice : chunk.entitySlices )
- {
- for ( Entity entity : (Collection) slice )
+ // Paper start
@@ -658,7 +658,7 @@ index b73af0a5fb2d08c2f3a52c699ef0d8ed34c83f77..9030284ba06dfdcc17c2710f428e84d7
entity.activatedTick = MinecraftServer.currentTick;
}
}
-@@ -188,56 +268,105 @@ public class ActivationRange
+@@ -186,56 +266,105 @@ public class ActivationRange
* @param entity
* @return
*/
@@ -780,7 +780,7 @@ index b73af0a5fb2d08c2f3a52c699ef0d8ed34c83f77..9030284ba06dfdcc17c2710f428e84d7
}
/**
-@@ -252,8 +381,19 @@ public class ActivationRange
+@@ -250,8 +379,19 @@ public class ActivationRange
if ( !entity.inChunk || entity instanceof EntityFireworks ) {
return true;
}
@@ -801,7 +801,7 @@ index b73af0a5fb2d08c2f3a52c699ef0d8ed34c83f77..9030284ba06dfdcc17c2710f428e84d7
// Should this entity tick?
if ( !isActive )
-@@ -261,15 +401,19 @@ public class ActivationRange
+@@ -259,15 +399,19 @@ public class ActivationRange
if ( ( MinecraftServer.currentTick - entity.activatedTick - 1 ) % 20 == 0 )
{
// Check immunities every 20 ticks.
@@ -827,7 +827,7 @@ index b73af0a5fb2d08c2f3a52c699ef0d8ed34c83f77..9030284ba06dfdcc17c2710f428e84d7
isActive = false;
}
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
-index f0ad5fa235adfd165b8e56be7352568a3b3ae54a..9859e0c964e4d1e7dc7689cb97f40643a8e5cdd7 100644
+index 34ee684901906fc2ef5f0d09680d2686b813e52b..6b015c1f26facb4e82d75b252164dec05731ca6c 100644
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
@@ -180,13 +180,59 @@ public class SpigotWorldConfig
diff --git a/Spigot-Server-Patches/0407-Optimise-random-block-ticking.patch b/Spigot-Server-Patches/0407-Optimise-random-block-ticking.patch
index 254fcec8f..6e1ab7bf3 100644
--- a/Spigot-Server-Patches/0407-Optimise-random-block-ticking.patch
+++ b/Spigot-Server-Patches/0407-Optimise-random-block-ticking.patch
@@ -243,10 +243,10 @@ index fa8eab20bb839c53bf7989d02d2274f835002609..4ad393bc99881d813e2b349fb929fc8e
public BlockPosition getHomePos() { // Paper - public
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 6a067e4db344ca5fc446650722db7118fa5127a2..a6a16f72b49a8a641dbb8ab580ecd9d61e9f4b37 100644
+index c9c5c0b6f8837001db0b38dabfba7e01bc6de6db..4da88ce31cfb8baa6fa68c0115edadac0c5b2fba 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
-@@ -1413,10 +1413,18 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
+@@ -1412,10 +1412,18 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
public abstract ITagRegistry p();
public BlockPosition a(int i, int j, int k, int l) {
@@ -267,7 +267,7 @@ index 6a067e4db344ca5fc446650722db7118fa5127a2..a6a16f72b49a8a641dbb8ab580ecd9d6
public boolean isSavingDisabled() {
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
-index c345729675c76c5cd02a469283ed668a2df52816..52b1f4afc47d91603e1829275daecf8e9dd4cb1f 100644
+index 7d17623989cb601a99195d6d1b0c6c2b29fd3c3f..91e8dceec2d3aa8bb072b3d2f80953dc9af470b4 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -561,7 +561,12 @@ public class WorldServer extends World implements GeneratorAccessSeed {
diff --git a/Spigot-Server-Patches/0411-add-hand-to-BlockMultiPlaceEvent.patch b/Spigot-Server-Patches/0411-add-hand-to-BlockMultiPlaceEvent.patch
index a6933e43c..e2e6e88cf 100644
--- a/Spigot-Server-Patches/0411-add-hand-to-BlockMultiPlaceEvent.patch
+++ b/Spigot-Server-Patches/0411-add-hand-to-BlockMultiPlaceEvent.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] add hand to BlockMultiPlaceEvent
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 8a5a583e49e037aeeeb38c38fc2a83b1048cf382..a41bc1450401afef3c6f847cf833ce07b94bc1a8 100644
+index 995194c4499cc93dc2fa21b0a6d7d826877d2c78..a4c80ebc49ba3b9ac244f64e10448ebc90932795 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -334,13 +334,18 @@ public class CraftEventFactory {
+@@ -328,13 +328,18 @@ public class CraftEventFactory {
}
org.bukkit.inventory.ItemStack item;
diff --git a/Spigot-Server-Patches/0415-Configurable-chance-of-villager-zombie-infection.patch b/Spigot-Server-Patches/0415-Configurable-chance-of-villager-zombie-infection.patch
index 046a44c9d..341a5ca81 100644
--- a/Spigot-Server-Patches/0415-Configurable-chance-of-villager-zombie-infection.patch
+++ b/Spigot-Server-Patches/0415-Configurable-chance-of-villager-zombie-infection.patch
@@ -22,10 +22,10 @@ index fe1c9dd8258ec8c3fdf343d4a44de2be2ae3d35f..525d702d78a609af987ebd2c32169b87
+ }
}
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
-index 05d7b7a67bfc117a91903db5f303587a4f8f8624..f390abf65d648e1e0697e2d802f3195a0241116e 100644
+index b7dc265ea684b71cc94e9a0542dad484864c0e30..360f14a3128f9a4c31fadb5a6f245d15845c8ae0 100644
--- a/src/main/java/net/minecraft/server/EntityZombie.java
+++ b/src/main/java/net/minecraft/server/EntityZombie.java
-@@ -386,10 +386,14 @@ public class EntityZombie extends EntityMonster {
+@@ -389,10 +389,14 @@ public class EntityZombie extends EntityMonster {
@Override
public void a(WorldServer worldserver, EntityLiving entityliving) {
super.a(worldserver, entityliving);
diff --git a/Spigot-Server-Patches/0431-Add-tick-times-API-and-mspt-command.patch b/Spigot-Server-Patches/0431-Add-tick-times-API-and-mspt-command.patch
index 091936d1e..e69ab178a 100644
--- a/Spigot-Server-Patches/0431-Add-tick-times-API-and-mspt-command.patch
+++ b/Spigot-Server-Patches/0431-Add-tick-times-API-and-mspt-command.patch
@@ -75,7 +75,7 @@ index 0000000000000000000000000000000000000000..d0211d4f39f9d6af1d751ac66342b42c
+ }
+}
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
-index 01d7ad6778d4bbef6e07f7529f40dd9da6cd2ea8..6f0c5a2d33001f59e560ec239c0edbd32de84ed8 100644
+index 63b3726bfdd22900e7bc577c34db58ddba1084ee..2f9398f7bb90e8ae0a1cb81b162dba28706d408a 100644
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
@@ -69,6 +69,7 @@ public class PaperConfig {
@@ -87,7 +87,7 @@ index 01d7ad6778d4bbef6e07f7529f40dd9da6cd2ea8..6f0c5a2d33001f59e560ec239c0edbd3
version = getInt("config-version", 20);
set("config-version", 20);
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 3149caeee2ad6e31806530b794f265315105ef5a..0c469ad1fd477fdb6181c657b7b9e193c790246d 100644
+index 77a91fa0549d5db12e8a9fa9b51a34a258821e7b..a8fe6c5f99c2be9dc7fedb8dfa8b12e4d0852534 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -107,6 +107,11 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant afterEntityTickingTasks = Lists.newArrayList();
public void doIfNotEntityTicking(java.lang.Runnable run) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index f546f7ac0484b6224b878ad39285ffccd7410b96..38cb08adf3f71ac40c70b3443b238ac1c67d2b4a 100644
+index e5568d86b64465f54fe9bdec89b1a8f1d7639be7..4f5fe1f10195b1e3b09bf8301750dc75687b318a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1793,7 +1793,7 @@ public final class CraftServer implements Server {
+@@ -1792,7 +1792,7 @@ public final class CraftServer implements Server {
@Override
public boolean isPrimaryThread() {
diff --git a/Spigot-Server-Patches/0442-Prevent-opening-inventories-when-frozen.patch b/Spigot-Server-Patches/0442-Prevent-opening-inventories-when-frozen.patch
index d4037857d..3629089a6 100644
--- a/Spigot-Server-Patches/0442-Prevent-opening-inventories-when-frozen.patch
+++ b/Spigot-Server-Patches/0442-Prevent-opening-inventories-when-frozen.patch
@@ -36,10 +36,10 @@ index 67eaac661a03742051e63551e6f18e1475a19e99..18f50189032b710dbdd4e81b079b57b4
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
-index ebcd2d043b3e6cf90b62eda1ea7a2d8c01f1c7a8..c3a51843a58138270bd24e51b5bead2c43e2cbe3 100644
+index 08955d127859785bad49139c7f211f0ce7ea62ed..5f77989ce1e0d2289e63960453b9b28443592103 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
-@@ -319,7 +319,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
+@@ -318,7 +318,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
String title = container.getBukkitView().getTitle();
@@ -48,7 +48,7 @@ index ebcd2d043b3e6cf90b62eda1ea7a2d8c01f1c7a8..c3a51843a58138270bd24e51b5bead2c
getHandle().activeContainer = container;
getHandle().activeContainer.addSlotListener(player);
}
-@@ -389,7 +389,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
+@@ -388,7 +388,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
// Now open the window
Containers> windowType = CraftContainer.getNotchInventoryType(inventory.getTopInventory());
String title = inventory.getTitle();
diff --git a/Spigot-Server-Patches/0447-Implement-Player-Client-Options-API.patch b/Spigot-Server-Patches/0447-Implement-Player-Client-Options-API.patch
index f3e6abf63..05c24bfc7 100644
--- a/Spigot-Server-Patches/0447-Implement-Player-Client-Options-API.patch
+++ b/Spigot-Server-Patches/0447-Implement-Player-Client-Options-API.patch
@@ -149,7 +149,7 @@ index dbc3552d50c4129e1844c8a379ab5ba396645f52..87ec3987d4b6de836016e91ef90383e3
return this.e;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 99453d8a0270a8c6acfc912b9a654f5dd312b41b..e28309cefff2b2c1c5c1c200a67c3d1ca3cc65b0 100644
+index 687df7dd3ac33d8f331ae141782859b80b08a6ff..6d7e6d7b9df864057030322e25110647dbff56ab 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1,5 +1,8 @@
@@ -161,7 +161,7 @@ index 99453d8a0270a8c6acfc912b9a654f5dd312b41b..e28309cefff2b2c1c5c1c200a67c3d1c
import com.destroystokyo.paper.Title;
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableSet;
-@@ -2057,6 +2060,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2056,6 +2059,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public void setViewDistance(int viewDistance) {
throw new NotImplementedException("Per-Player View Distance APIs need further understanding to properly implement (There are per world view distances though!)"); // TODO
}
diff --git a/Spigot-Server-Patches/0449-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch b/Spigot-Server-Patches/0449-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch
index e52d3ea2b..7fde62fb0 100644
--- a/Spigot-Server-Patches/0449-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch
+++ b/Spigot-Server-Patches/0449-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch
@@ -7,12 +7,12 @@ Subject: [PATCH] Don't crash if player is attempted to be removed from
I suspect it deals with teleporting as it uses players current x/y/z
diff --git a/src/main/java/net/minecraft/server/ChunkMapDistance.java b/src/main/java/net/minecraft/server/ChunkMapDistance.java
-index d15bf949671c9a533573278d573376282bfed8c8..275c2b23b4d1ff09ee2b1823d0780700f773659e 100644
+index 706ef10959df897a4b1889c2e2e7ff41ed924876..52a69edcefb72a3908ecd522ef87e7eb989467a6 100644
--- a/src/main/java/net/minecraft/server/ChunkMapDistance.java
+++ b/src/main/java/net/minecraft/server/ChunkMapDistance.java
-@@ -238,8 +238,8 @@ public abstract class ChunkMapDistance {
- long i = sectionposition.r().pair();
+@@ -239,8 +239,8 @@ public abstract class ChunkMapDistance {
ObjectSet objectset = (ObjectSet) this.c.get(i);
+ if (objectset == null) return; // CraftBukkit - SPIGOT-6208
- objectset.remove(entityplayer);
- if (objectset.isEmpty()) {
diff --git a/Spigot-Server-Patches/0458-Fix-numerous-item-duplication-issues-and-teleport-is.patch b/Spigot-Server-Patches/0458-Fix-numerous-item-duplication-issues-and-teleport-is.patch
index 5f315457a..6fab3198c 100644
--- a/Spigot-Server-Patches/0458-Fix-numerous-item-duplication-issues-and-teleport-is.patch
+++ b/Spigot-Server-Patches/0458-Fix-numerous-item-duplication-issues-and-teleport-is.patch
@@ -16,7 +16,7 @@ So even if something NEW comes up, it would be impossible to drop the
same item twice because the source was destroyed.
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index 0f9a67d584157a6605b289cf5a6bccb854ed9292..2361c2d40f3f53d26c398676b0a1b6ec832f29fc 100644
+index d88470e6dc0316d0a5f5a50a9644d71aedadee6e..273f9c19768916a86968e02e653754c55317e663 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1880,11 +1880,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -80,7 +80,7 @@ index 0f9a67d584157a6605b289cf5a6bccb854ed9292..2361c2d40f3f53d26c398676b0a1b6ec
public float a(Explosion explosion, IBlockAccess iblockaccess, BlockPosition blockposition, IBlockData iblockdata, Fluid fluid, float f) {
diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java
-index 7a061f1f072f57042bb32ff187b0f916545e2e48..0fd3a7ebddfd22d6640307452f525d1c2aaf4439 100644
+index cd50fe3616d4b33c7ad76458fb75683541c33ae5..97425f38ac05c24433dc27c5cda74c36871d61a9 100644
--- a/src/main/java/net/minecraft/server/EntityArmorStand.java
+++ b/src/main/java/net/minecraft/server/EntityArmorStand.java
@@ -567,7 +567,7 @@ public class EntityArmorStand extends EntityLiving {
@@ -102,10 +102,10 @@ index 7a061f1f072f57042bb32ff187b0f916545e2e48..0fd3a7ebddfd22d6640307452f525d1c
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index a41bc1450401afef3c6f847cf833ce07b94bc1a8..d3a0dbe9617c2393591c01920764bf098db868ad 100644
+index a4c80ebc49ba3b9ac244f64e10448ebc90932795..44cf5fe48650790b3372e9ebbb0b5d6c4b997f62 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -809,7 +809,8 @@ public class CraftEventFactory {
+@@ -803,7 +803,8 @@ public class CraftEventFactory {
for (org.bukkit.inventory.ItemStack stack : event.getDrops()) {
if (stack == null || stack.getType() == Material.AIR || stack.getAmount() == 0) continue;
diff --git a/Spigot-Server-Patches/0462-Expose-game-version.patch b/Spigot-Server-Patches/0462-Expose-game-version.patch
index ec312c5dd..bbc22637b 100644
--- a/Spigot-Server-Patches/0462-Expose-game-version.patch
+++ b/Spigot-Server-Patches/0462-Expose-game-version.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Expose game version
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index dec85293caeaf247ef58975f1f7dfd2bb095635d..0acaa3d463995a1863f97a6951fcbdfd61a8ef7e 100644
+index 4f5fe1f10195b1e3b09bf8301750dc75687b318a..0c9d9364e4544107231dc23982bd7cb3cc2f0008 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -519,6 +519,13 @@ public final class CraftServer implements Server {
+@@ -518,6 +518,13 @@ public final class CraftServer implements Server {
return bukkitVersion;
}
diff --git a/Spigot-Server-Patches/0465-Implement-Mob-Goal-API.patch b/Spigot-Server-Patches/0465-Implement-Mob-Goal-API.patch
index 38cd9dfa3..68bcd9f75 100644
--- a/Spigot-Server-Patches/0465-Implement-Mob-Goal-API.patch
+++ b/Spigot-Server-Patches/0465-Implement-Mob-Goal-API.patch
@@ -873,10 +873,10 @@ index 22773eca7561d39cd838338efe6d40ab9421feba..2e56fcc32f914d2b5f4bb9d368f504f4
public PathfinderGoalWrapped(int i, PathfinderGoal pathfindergoal) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index af92698d6baa9db019d37fd2400c90b03ab92364..cc4f4a8883972cb639fe9df1f583b01d0571ebb8 100644
+index 0c9d9364e4544107231dc23982bd7cb3cc2f0008..4e5681a938bcea925a32ab6ec93610d9d64094a4 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2326,5 +2326,11 @@ public final class CraftServer implements Server {
+@@ -2327,5 +2327,11 @@ public final class CraftServer implements Server {
public boolean isStopping() {
return net.minecraft.server.MinecraftServer.getServer().hasStopped();
}
diff --git a/Spigot-Server-Patches/0467-Optimize-isOutsideRange-to-use-distance-maps.patch b/Spigot-Server-Patches/0467-Optimize-isOutsideRange-to-use-distance-maps.patch
index fb7d2219d..b5beeb6f8 100644
--- a/Spigot-Server-Patches/0467-Optimize-isOutsideRange-to-use-distance-maps.patch
+++ b/Spigot-Server-Patches/0467-Optimize-isOutsideRange-to-use-distance-maps.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Optimize isOutsideRange to use distance maps
Use a distance map to find the players in range quickly
diff --git a/src/main/java/net/minecraft/server/ChunkMapDistance.java b/src/main/java/net/minecraft/server/ChunkMapDistance.java
-index 275c2b23b4d1ff09ee2b1823d0780700f773659e..ef61f8e784b7ebd26293d627e8b8e1aef1be6e21 100644
+index 52a69edcefb72a3908ecd522ef87e7eb989467a6..126eae36dc99c29b0d15be26bd68f00fe7e563fe 100644
--- a/src/main/java/net/minecraft/server/ChunkMapDistance.java
+++ b/src/main/java/net/minecraft/server/ChunkMapDistance.java
@@ -31,7 +31,7 @@ public abstract class ChunkMapDistance {
@@ -45,7 +45,7 @@ index 275c2b23b4d1ff09ee2b1823d0780700f773659e..ef61f8e784b7ebd26293d627e8b8e1ae
this.g.update(i, 0, true);
}
-@@ -241,7 +243,7 @@ public abstract class ChunkMapDistance {
+@@ -242,7 +244,7 @@ public abstract class ChunkMapDistance {
if (objectset != null) objectset.remove(entityplayer); // Paper - some state corruption happens here, don't crash, clean up gracefully.
if (objectset == null || objectset.isEmpty()) { // Paper
this.c.remove(i);
@@ -54,7 +54,7 @@ index 275c2b23b4d1ff09ee2b1823d0780700f773659e..ef61f8e784b7ebd26293d627e8b8e1ae
this.g.update(i, Integer.MAX_VALUE, false);
}
-@@ -265,13 +267,17 @@ public abstract class ChunkMapDistance {
+@@ -266,13 +268,17 @@ public abstract class ChunkMapDistance {
}
public int b() {
diff --git a/Spigot-Server-Patches/0469-No-Tick-view-distance-implementation.patch b/Spigot-Server-Patches/0469-No-Tick-view-distance-implementation.patch
index 65e1f7492..65cf5a77d 100644
--- a/Spigot-Server-Patches/0469-No-Tick-view-distance-implementation.patch
+++ b/Spigot-Server-Patches/0469-No-Tick-view-distance-implementation.patch
@@ -102,10 +102,10 @@ index 8e91a0270a7a72f09dfc86331a788765de1f9f5e..544f4a473d1453e029111bea45483543
this.n[i].clear();
diff --git a/src/main/java/net/minecraft/server/ChunkMapDistance.java b/src/main/java/net/minecraft/server/ChunkMapDistance.java
-index ef61f8e784b7ebd26293d627e8b8e1aef1be6e21..03b1a67aaf3ed75b7669a3157847affd678f8df4 100644
+index 126eae36dc99c29b0d15be26bd68f00fe7e563fe..6ebc4a4b5c90d8592a017e7b29dec5ca00827432 100644
--- a/src/main/java/net/minecraft/server/ChunkMapDistance.java
+++ b/src/main/java/net/minecraft/server/ChunkMapDistance.java
-@@ -262,7 +262,7 @@ public abstract class ChunkMapDistance {
+@@ -263,7 +263,7 @@ public abstract class ChunkMapDistance {
return s;
}
@@ -114,7 +114,7 @@ index ef61f8e784b7ebd26293d627e8b8e1aef1be6e21..03b1a67aaf3ed75b7669a3157847affd
this.g.a(i);
}
-@@ -381,7 +381,7 @@ public abstract class ChunkMapDistance {
+@@ -382,7 +382,7 @@ public abstract class ChunkMapDistance {
private void a(long i, int j, boolean flag, boolean flag1) {
if (flag != flag1) {
@@ -608,7 +608,7 @@ index 0f46aac9d021dc115718b1e36b8fbe28cbc820c6..b8ab8150b7dfe9e34910d35f565083e8
while (iterator.hasNext()) {
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index a50b647631eae271380728c890ad3ff67f56bcbe..8198962c05fe83fd2ff0401c35f4976eb6e6680b 100644
+index d26fd68b2abd4907138ce77a6e6bb45c9af4af02..b5127f4b2deaa70b411991d78657f0c9e73d9e43 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -465,8 +465,13 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -672,10 +672,10 @@ index 8f221c3b4c4cc9b5dea9938d868a2a036854d6e3..48dc8ed1294ac53216d7014b0b3130ac
private final Spigot spigot = new Spigot()
{
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
-index 9030284ba06dfdcc17c2710f428e84d70afea8d5..0b93635ba59df4eb4456a97c5e9b51ab5aeda53f 100644
+index 5b6604c5c84e9ee716110cd63a148187ff34201a..6ade13fd88c381280f619daaa8d6b241c67dd9d9 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
-@@ -201,7 +201,7 @@ public class ActivationRange
+@@ -199,7 +199,7 @@ public class ActivationRange
maxRange = Math.max( maxRange, waterActivationRange );
maxRange = Math.max( maxRange, villagerActivationRange );
// Paper end
diff --git a/Spigot-Server-Patches/0475-Potential-bed-API.patch b/Spigot-Server-Patches/0475-Potential-bed-API.patch
index 715a488b0..f32f9c647 100644
--- a/Spigot-Server-Patches/0475-Potential-bed-API.patch
+++ b/Spigot-Server-Patches/0475-Potential-bed-API.patch
@@ -8,10 +8,10 @@ Adds a new method to fetch the location of a player's bed without generating any
getPotentialBedLocation - Gets the last known location of a player's bed. This does not preform any check if the bed is still valid and does not load any chunks.
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
-index c3a51843a58138270bd24e51b5bead2c43e2cbe3..9c142fddbfcbff7433c199dbaa679625233db866 100644
+index 5f77989ce1e0d2289e63960453b9b28443592103..caabe25db61637c5a695daed00bc9692189e1ad0 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
-@@ -127,6 +127,22 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
+@@ -126,6 +126,22 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
return getHandle().sleepTicks;
}
diff --git a/Spigot-Server-Patches/0476-Wait-for-Async-Tasks-during-shutdown.patch b/Spigot-Server-Patches/0476-Wait-for-Async-Tasks-during-shutdown.patch
index 04a40808c..d01adf857 100644
--- a/Spigot-Server-Patches/0476-Wait-for-Async-Tasks-during-shutdown.patch
+++ b/Spigot-Server-Patches/0476-Wait-for-Async-Tasks-during-shutdown.patch
@@ -10,7 +10,7 @@ Adds a 5 second grace period for any async tasks to finish and warns
if any are still running after that delay just as reload does.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 13c22c4c712fac2f2cda3146df17547c0f6f8f12..319740c0256a6ad2544b4997c835235e4d3a4a9a 100644
+index 6fd956cbbb4fddc4294ff03976e66d93c1b086c7..d0ce4b96174f85c545a457fe864c7ebadc727ade 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -771,6 +771,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant boolean addTicketAtLevel(TicketType ticketType, ChunkCoordIntPair chunkcoordintpair, int level, T identifier) {
return this.addTicket(chunkcoordintpair.pair(), new Ticket<>(ticketType, level, identifier));
// CraftBukkit end
-@@ -381,27 +520,50 @@ public abstract class ChunkMapDistance {
+@@ -382,27 +521,50 @@ public abstract class ChunkMapDistance {
private void a(long i, int j, boolean flag, boolean flag1) {
if (flag != flag1) {
@@ -364,7 +364,7 @@ index 03b1a67aaf3ed75b7669a3157847affd678f8df4..09fec533d7feebb90e989007dd19c952
});
}, i, true));
}
-@@ -409,6 +571,101 @@ public abstract class ChunkMapDistance {
+@@ -410,6 +572,101 @@ public abstract class ChunkMapDistance {
}
@@ -466,7 +466,7 @@ index 03b1a67aaf3ed75b7669a3157847affd678f8df4..09fec533d7feebb90e989007dd19c952
@Override
public void a() {
super.a();
-@@ -440,6 +697,7 @@ public abstract class ChunkMapDistance {
+@@ -441,6 +698,7 @@ public abstract class ChunkMapDistance {
}
@@ -474,7 +474,7 @@ index 03b1a67aaf3ed75b7669a3157847affd678f8df4..09fec533d7feebb90e989007dd19c952
private boolean c(int i) {
return i <= this.e - 2;
}
-@@ -456,6 +714,7 @@ public abstract class ChunkMapDistance {
+@@ -457,6 +715,7 @@ public abstract class ChunkMapDistance {
this.a.defaultReturnValue((byte) (i + 2));
}
@@ -1237,10 +1237,10 @@ index 48dc8ed1294ac53216d7014b0b3130acb8e5b328..560590c3c772eb91d562c622b627af36
net.minecraft.server.Chunk chunk = (net.minecraft.server.Chunk) either.left().orElse(null);
return CompletableFuture.completedFuture(chunk == null ? null : chunk.getBukkitChunk());
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index e28309cefff2b2c1c5c1c200a67c3d1ca3cc65b0..fda5ead74838dd54045eb30b92384c6544e8b93d 100644
+index 6d7e6d7b9df864057030322e25110647dbff56ab..3ca98b422fb0836a08abd1663a940bd22c565eb8 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -766,6 +766,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -765,6 +765,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
throw new UnsupportedOperationException("Cannot set rotation of players. Consider teleporting instead.");
}
diff --git a/Spigot-Server-Patches/0495-Add-Plugin-Tickets-to-API-Chunk-Methods.patch b/Spigot-Server-Patches/0495-Add-Plugin-Tickets-to-API-Chunk-Methods.patch
index a5aeb76a5..f061674d0 100644
--- a/Spigot-Server-Patches/0495-Add-Plugin-Tickets-to-API-Chunk-Methods.patch
+++ b/Spigot-Server-Patches/0495-Add-Plugin-Tickets-to-API-Chunk-Methods.patch
@@ -22,10 +22,10 @@ wants it to collect even faster, they can restore that setting back to 1 instead
Not adding it to .getType() though to keep behavior consistent with vanilla for performance reasons.
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 5d6d22fa67430a4489c6ff3bb1fe7cc3f57b25ba..360ecf3e1ef7c8f35f22448e8e333bcf9ad539fd 100644
+index 8c454db0986fe5c23f7b8ece0abdad1f1e36cf08..94c91b38ec71a03fc3bc5b1e15f9737cb0e8d1a8 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -347,7 +347,7 @@ public final class CraftServer implements Server {
+@@ -346,7 +346,7 @@ public final class CraftServer implements Server {
ambientSpawn = configuration.getInt("spawn-limits.ambient");
console.autosavePeriod = configuration.getInt("ticks-per.autosave");
warningState = WarningState.value(configuration.getString("settings.deprecated-verbose"));
@@ -34,7 +34,7 @@ index 5d6d22fa67430a4489c6ff3bb1fe7cc3f57b25ba..360ecf3e1ef7c8f35f22448e8e333bcf
minimumAPI = configuration.getString("settings.minimum-api");
loadIcon();
}
-@@ -835,7 +835,7 @@ public final class CraftServer implements Server {
+@@ -834,7 +834,7 @@ public final class CraftServer implements Server {
waterAmbientSpawn = configuration.getInt("spawn-limits.water-ambient");
ambientSpawn = configuration.getInt("spawn-limits.ambient");
warningState = WarningState.value(configuration.getString("settings.deprecated-verbose"));
@@ -44,7 +44,7 @@ index 5d6d22fa67430a4489c6ff3bb1fe7cc3f57b25ba..360ecf3e1ef7c8f35f22448e8e333bcf
printSaveWarning = false;
console.autosavePeriod = configuration.getInt("ticks-per.autosave");
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 9cdef96fe912b14be02f10c9b16464d987085f76..24546615dcd9b4f5fa140137ff59d8efe9e3b52f 100644
+index 560590c3c772eb91d562c622b627af36bf394609..10697f8b5208a72bf3d7248c5abd73ddd10420cd 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -407,9 +407,22 @@ public class CraftWorld implements World {
diff --git a/Spigot-Server-Patches/0524-Add-PrepareResultEvent.patch b/Spigot-Server-Patches/0524-Add-PrepareResultEvent.patch
index b6e67d993..9d968573d 100644
--- a/Spigot-Server-Patches/0524-Add-PrepareResultEvent.patch
+++ b/Spigot-Server-Patches/0524-Add-PrepareResultEvent.patch
@@ -106,10 +106,10 @@ index ba3db09763d94d730c3fe8662e4dbb24e0636786..3506473f9b9f4c747f7b737d9bd02bef
private void a(IInventory iinventory, ItemStack itemstack) {
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index d3a0dbe9617c2393591c01920764bf098db868ad..6d73a10bfaba8044f1cdc5e7d3bf3cfca61eb0e1 100644
+index 44cf5fe48650790b3372e9ebbb0b5d6c4b997f62..fe36039b7dbfeebc1e01a9cefc5f8f391087fee6 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -1515,19 +1515,44 @@ public class CraftEventFactory {
+@@ -1509,19 +1509,44 @@ public class CraftEventFactory {
return event;
}
diff --git a/Spigot-Server-Patches/0525-Allow-delegation-to-vanilla-chunk-gen.patch b/Spigot-Server-Patches/0525-Allow-delegation-to-vanilla-chunk-gen.patch
index 8e7e2721a..500efd469 100644
--- a/Spigot-Server-Patches/0525-Allow-delegation-to-vanilla-chunk-gen.patch
+++ b/Spigot-Server-Patches/0525-Allow-delegation-to-vanilla-chunk-gen.patch
@@ -27,10 +27,10 @@ index b51613040e4583ff056060b47b1f97a86ebcde51..5366314e5f889b5b8d7740bbd0f024d9
for (int l = 0; l < k; ++l) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 360ecf3e1ef7c8f35f22448e8e333bcf9ad539fd..ae03d893a7a3881d5e9b979107b3a79d37a2498f 100644
+index 94c91b38ec71a03fc3bc5b1e15f9737cb0e8d1a8..ea347aee98408e2af87ebbd8c57967dc743a8a19 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1980,6 +1980,32 @@ public final class CraftServer implements Server {
+@@ -1979,6 +1979,32 @@ public final class CraftServer implements Server {
return new CraftChunkData(world);
}
@@ -90,10 +90,10 @@ index bb18740ebdf4a14ced9944efa82103b350b32ba5..948a59217cca0f8dfa9d3befb61e679a
return tiles;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java b/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java
-index 6d694544262ce9139c4fb3598f38800597f78a77..1acf953602ec3c08e0e0b293207fcf5c27d1a24f 100644
+index 69429e267fbe3f7c31634f98e6fbbbd988d4451e..bd7985cf2dd932ffcca2be61ddba97ee3a8927d0 100644
--- a/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java
+++ b/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java
-@@ -40,7 +40,7 @@ import org.bukkit.generator.ChunkGenerator.ChunkData;
+@@ -33,7 +33,7 @@ import org.bukkit.generator.ChunkGenerator.ChunkData;
public class CustomChunkGenerator extends InternalChunkGenerator {
diff --git a/Spigot-Server-Patches/0547-Brand-support.patch b/Spigot-Server-Patches/0547-Brand-support.patch
index 8e9d47f00..b4ea10f63 100644
--- a/Spigot-Server-Patches/0547-Brand-support.patch
+++ b/Spigot-Server-Patches/0547-Brand-support.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Brand support
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index f19fd40cdc1e758ebefb85201358e314428bd8c6..444355e81bd7f5d07e3ef5f4b9d91d1bf11428ef 100644
+index 601a6fdf52ac0002f130ea27d4dd3e6f64acc381..f1e3c764fc8d5b6acb2ae94276e31fe37af817b6 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -5,6 +5,7 @@ import com.google.common.primitives.Doubles;
@@ -65,10 +65,10 @@ index f19fd40cdc1e758ebefb85201358e314428bd8c6..444355e81bd7f5d07e3ef5f4b9d91d1b
return (!this.player.joining && !this.networkManager.isConnected()) || this.processedDisconnect; // Paper
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index fda5ead74838dd54045eb30b92384c6544e8b93d..8a4e574857fdcc5cf950371da606fcb07d78a9b1 100644
+index 3ca98b422fb0836a08abd1663a940bd22c565eb8..fb871480a55d73681f2a45f6f14b984807d51ba3 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2190,6 +2190,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2189,6 +2189,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
// Paper end
};
diff --git a/Spigot-Server-Patches/0551-Add-setMaxPlayers-API.patch b/Spigot-Server-Patches/0551-Add-setMaxPlayers-API.patch
index e9cbd128b..2366baa11 100644
--- a/Spigot-Server-Patches/0551-Add-setMaxPlayers-API.patch
+++ b/Spigot-Server-Patches/0551-Add-setMaxPlayers-API.patch
@@ -18,10 +18,10 @@ index ad6207dfb9b524b6d85bf8d904527db04672661d..dc3df171a6eb11f13272303951fb59a1
private EnumGamemode u;
private boolean v;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 588740661a0cb60ae55c38a12b5665cec097c902..d8d29d14559169f5e8d8b4cf63d8b427b823eb2f 100644
+index ea347aee98408e2af87ebbd8c57967dc743a8a19..69b1add508a96df71a37289da28ed1b8c17ef395 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -616,6 +616,13 @@ public final class CraftServer implements Server {
+@@ -615,6 +615,13 @@ public final class CraftServer implements Server {
return playerList.getMaxPlayers();
}
diff --git a/Spigot-Server-Patches/0557-Brand-support.patch b/Spigot-Server-Patches/0557-Brand-support.patch
index 920c8ad40..3062af10e 100644
--- a/Spigot-Server-Patches/0557-Brand-support.patch
+++ b/Spigot-Server-Patches/0557-Brand-support.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Brand support
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 1a536de0397fdec40fe821ff45b2b10665cf807a..16e9f6b263d6c625f159f5c01aa62d14394e6554 100644
+index fb871480a55d73681f2a45f6f14b984807d51ba3..3f63f83b21d84a4fa1cfda217afb22c4cf7fd2ad 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2193,7 +2193,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2192,7 +2192,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
// Paper start - brand support
@Override
public String getClientBrandName() {
diff --git a/Spigot-Server-Patches/0561-Optimize-redstone-algorithm.patch b/Spigot-Server-Patches/0561-Optimize-redstone-algorithm.patch
index b2bbf3d62..f3f1f5c33 100644
--- a/Spigot-Server-Patches/0561-Optimize-redstone-algorithm.patch
+++ b/Spigot-Server-Patches/0561-Optimize-redstone-algorithm.patch
@@ -1138,7 +1138,7 @@ index 7b3ccded0451f7b6634aeca0bdc1b5cc94f52b96..7f9ca45d403000d26d84198d8f88cd48
c(iblockdata, world, blockposition);
world.a(blockposition, false);
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 14dbedbe879c84d8b0e141d1a4e2e7c1256a6f97..a9a853f176613fae6c1f5937a724f580ce60db2c 100644
+index f2944dcf6b83b530124d53743a3d58b68ecec6f8..b91f1a4623a7d2d49bdd4265df3b1cfcdcb0ef88 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -599,6 +599,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -1149,7 +1149,7 @@ index 14dbedbe879c84d8b0e141d1a4e2e7c1256a6f97..a9a853f176613fae6c1f5937a724f580
public void a(BlockPosition blockposition, Block block, BlockPosition blockposition1) {
if (!this.isClientSide) {
IBlockData iblockdata = this.getType(blockposition);
-@@ -1228,6 +1229,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
+@@ -1227,6 +1228,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
return this.getBlockFacePower(blockposition.down(), EnumDirection.DOWN) > 0 ? true : (this.getBlockFacePower(blockposition.up(), EnumDirection.UP) > 0 ? true : (this.getBlockFacePower(blockposition.north(), EnumDirection.NORTH) > 0 ? true : (this.getBlockFacePower(blockposition.south(), EnumDirection.SOUTH) > 0 ? true : (this.getBlockFacePower(blockposition.west(), EnumDirection.WEST) > 0 ? true : this.getBlockFacePower(blockposition.east(), EnumDirection.EAST) > 0))));
}
diff --git a/Spigot-Server-Patches/0570-Add-additional-open-container-api-to-HumanEntity.patch b/Spigot-Server-Patches/0570-Add-additional-open-container-api-to-HumanEntity.patch
index e0c32c522..231f9958d 100644
--- a/Spigot-Server-Patches/0570-Add-additional-open-container-api-to-HumanEntity.patch
+++ b/Spigot-Server-Patches/0570-Add-additional-open-container-api-to-HumanEntity.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add additional open container api to HumanEntity
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
-index 9c142fddbfcbff7433c199dbaa679625233db866..53917d3b381730efb079113fdffecdc29939d6ea 100644
+index caabe25db61637c5a695daed00bc9692189e1ad0..2318d19b21514effe28b4d21c0196c8f778d22db 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
-@@ -450,6 +450,70 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
+@@ -449,6 +449,70 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
return this.getHandle().activeContainer.getBukkitView();
}
diff --git a/Spigot-Server-Patches/0589-Player-elytra-boost-API.patch b/Spigot-Server-Patches/0589-Player-elytra-boost-API.patch
index e6f08b659..9d2bcc1c2 100644
--- a/Spigot-Server-Patches/0589-Player-elytra-boost-API.patch
+++ b/Spigot-Server-Patches/0589-Player-elytra-boost-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Player elytra boost API
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 16e9f6b263d6c625f159f5c01aa62d14394e6554..81a11c7112770cf748c5cad52ea9e0662edee0b2 100644
+index 3f63f83b21d84a4fa1cfda217afb22c4cf7fd2ad..129f1941d65d11e614f5efefd7f4e4cc2fd55a76 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2086,6 +2086,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2085,6 +2085,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
throw new RuntimeException("Unknown settings type");
}
diff --git a/Spigot-Server-Patches/0592-Add-getOfflinePlayerIfCached-String.patch b/Spigot-Server-Patches/0592-Add-getOfflinePlayerIfCached-String.patch
index 425600e53..d13ce8b93 100644
--- a/Spigot-Server-Patches/0592-Add-getOfflinePlayerIfCached-String.patch
+++ b/Spigot-Server-Patches/0592-Add-getOfflinePlayerIfCached-String.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add getOfflinePlayerIfCached(String)
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index eac64fe0dcbf4b7ab404ec510f85294a91419d1a..dc7de2b59ec5ca3e5fba34dbb2aa2e6aed8f95cb 100644
+index 69b1add508a96df71a37289da28ed1b8c17ef395..3138ebd9a4fbf50f5aae74c280a8a916500dcb23 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1589,6 +1589,28 @@ public final class CraftServer implements Server {
+@@ -1588,6 +1588,28 @@ public final class CraftServer implements Server {
return result;
}
diff --git a/Spigot-Server-Patches/0599-Seed-based-feature-search.patch b/Spigot-Server-Patches/0599-Seed-based-feature-search.patch
index e34e1feb5..9ebde8b0d 100644
--- a/Spigot-Server-Patches/0599-Seed-based-feature-search.patch
+++ b/Spigot-Server-Patches/0599-Seed-based-feature-search.patch
@@ -81,10 +81,10 @@ index c3bd58069d8dbdf36f70f1dafd7c24000f31708b..a62c87bceab2c9700a7b3925f208b0ff
StructureStart> structurestart = structuremanager.a(SectionPosition.a(ichunkaccess.getPos(), 0), this, ichunkaccess);
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 16c3ef27e8f77942401568727ea78230147dba29..1c0bfeef83c3669651d9b727c4c746441f6b793c 100644
+index 23e5ad868f1acfb99ec313fbda9bb83a138ccf0b..179915312cd35845216a196018726345324614de 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
-@@ -1452,8 +1452,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
+@@ -1451,8 +1451,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
return this.methodProfiler;
}
diff --git a/Spigot-Server-Patches/0604-Fix-Player-spawnParticle-x-y-z-precision-loss.patch b/Spigot-Server-Patches/0604-Fix-Player-spawnParticle-x-y-z-precision-loss.patch
index 9cc9b7d08..f283bcb05 100644
--- a/Spigot-Server-Patches/0604-Fix-Player-spawnParticle-x-y-z-precision-loss.patch
+++ b/Spigot-Server-Patches/0604-Fix-Player-spawnParticle-x-y-z-precision-loss.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Fix Player spawnParticle x/y/z precision loss
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 47fccf065b3f87d78ddd97b56a65f9d97bb3c884..58caa3240b90cdc661e1e32e3f5c312ed62c3c21 100644
+index 129f1941d65d11e614f5efefd7f4e4cc2fd55a76..68b95bc17eaa40f11ec3babebbca57d9fb64c9dc 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1953,7 +1953,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1952,7 +1952,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
if (data != null && !particle.getDataType().isInstance(data)) {
throw new IllegalArgumentException("data should be " + particle.getDataType() + " got " + data.getClass());
}
diff --git a/Spigot-Server-Patches/0621-Add-OBSTRUCTED-reason-to-BedEnterResult.patch b/Spigot-Server-Patches/0621-Add-OBSTRUCTED-reason-to-BedEnterResult.patch
index cb0860aaf..84a3ce4bd 100644
--- a/Spigot-Server-Patches/0621-Add-OBSTRUCTED-reason-to-BedEnterResult.patch
+++ b/Spigot-Server-Patches/0621-Add-OBSTRUCTED-reason-to-BedEnterResult.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add OBSTRUCTED reason to BedEnterResult
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 6d73a10bfaba8044f1cdc5e7d3bf3cfca61eb0e1..345bce7bbf0a9391d70be7aa5530d394273842aa 100644
+index fe36039b7dbfeebc1e01a9cefc5f8f391087fee6..30dd99ea12b940d92b4ebba1f74b737dfa0b0ef3 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -267,6 +267,10 @@ public class CraftEventFactory {
+@@ -261,6 +261,10 @@ public class CraftEventFactory {
return BedEnterResult.TOO_FAR_AWAY;
case NOT_SAFE:
return BedEnterResult.NOT_SAFE;
diff --git a/Spigot-Server-Patches/0628-Optimized-tick-ready-check.patch b/Spigot-Server-Patches/0628-Optimized-tick-ready-check.patch
index 71aa1e744..5fb315179 100644
--- a/Spigot-Server-Patches/0628-Optimized-tick-ready-check.patch
+++ b/Spigot-Server-Patches/0628-Optimized-tick-ready-check.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Optimized tick ready check
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 1c0bfeef83c3669651d9b727c4c746441f6b793c..02303f00e243748b9d1c4a37719fcf5c8d271ed9 100644
+index 179915312cd35845216a196018726345324614de..f5ab99156ce5429e63976183cbf115d5340a83a1 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -794,13 +794,13 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -24,7 +24,7 @@ index 1c0bfeef83c3669651d9b727c4c746441f6b793c..02303f00e243748b9d1c4a37719fcf5c
((ITickable) tileentity).tick();
} else {
tileentity.w();
-@@ -834,9 +834,11 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
+@@ -833,9 +833,11 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
this.tileEntityListTick.remove(tileTickPosition--);
// Spigot end
//this.tileEntityList.remove(tileentity); // Paper - remove unused list
@@ -38,7 +38,7 @@ index 1c0bfeef83c3669651d9b727c4c746441f6b793c..02303f00e243748b9d1c4a37719fcf5c
}
}
-@@ -855,8 +857,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
+@@ -854,8 +856,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
}
// CraftBukkit end */
diff --git a/Spigot-Server-Patches/0639-Added-world-settings-for-mobs-picking-up-loot.patch b/Spigot-Server-Patches/0639-Added-world-settings-for-mobs-picking-up-loot.patch
index 934ee522a..bbd7d53a7 100644
--- a/Spigot-Server-Patches/0639-Added-world-settings-for-mobs-picking-up-loot.patch
+++ b/Spigot-Server-Patches/0639-Added-world-settings-for-mobs-picking-up-loot.patch
@@ -37,10 +37,10 @@ index ced89af70ca791bfe42c4e2d21604997a0cf3e0f..f73304240a626f3f7d9355e6e5f2963a
LocalDate localdate = LocalDate.now();
int i = localdate.get(ChronoField.DAY_OF_MONTH);
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
-index 096c345da09b273c9e3e30e93759f5901c5e6fb4..62d202ff871cf3f3deea69931fbee84131bdda8b 100644
+index 2aaa6aa323e805423a8fd2bd32cc6a1e48edc817..cab4226166c43f11f77be262e0ced1b223764b7d 100644
--- a/src/main/java/net/minecraft/server/EntityZombie.java
+++ b/src/main/java/net/minecraft/server/EntityZombie.java
-@@ -433,7 +433,7 @@ public class EntityZombie extends EntityMonster {
+@@ -436,7 +436,7 @@ public class EntityZombie extends EntityMonster {
Object object = super.prepare(worldaccess, difficultydamagescaler, enummobspawn, groupdataentity, nbttagcompound);
float f = difficultydamagescaler.d();
diff --git a/Spigot-Server-Patches/0640-Implemented-BlockFailedDispenseEvent.patch b/Spigot-Server-Patches/0640-Implemented-BlockFailedDispenseEvent.patch
index a0396abdd..6253d9c90 100644
--- a/Spigot-Server-Patches/0640-Implemented-BlockFailedDispenseEvent.patch
+++ b/Spigot-Server-Patches/0640-Implemented-BlockFailedDispenseEvent.patch
@@ -29,7 +29,7 @@ index 65c212690d8ba7c8ea55d4d3b6af1ba3d9f4a7f6..22ab5a861920e1902c64301c3b06cf95
} else {
ItemStack itemstack = tileentitydispenser.getItem(i);
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 345bce7bbf0a9391d70be7aa5530d394273842aa..4534d22aec95cf247daf7575472acd0eba91a3c9 100644
+index 30dd99ea12b940d92b4ebba1f74b737dfa0b0ef3..636f2c0a83a6651dae99b39fd96c0c9f065b29b5 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -4,6 +4,7 @@ import com.google.common.base.Function;
@@ -40,35 +40,7 @@ index 345bce7bbf0a9391d70be7aa5530d394273842aa..4534d22aec95cf247daf7575472acd0e
import java.net.InetAddress;
import java.util.ArrayList;
import java.util.Collections;
-@@ -22,7 +23,6 @@ import net.minecraft.server.EntityAnimal;
- import net.minecraft.server.EntityAreaEffectCloud;
- import net.minecraft.server.EntityDamageSource;
- import net.minecraft.server.EntityDamageSourceIndirect;
--import net.minecraft.server.EntityEnderCrystal;
- import net.minecraft.server.EntityEnderDragon;
- import net.minecraft.server.EntityExperienceOrb;
- import net.minecraft.server.EntityFireworks;
-@@ -44,11 +44,9 @@ import net.minecraft.server.EntityVillager;
- import net.minecraft.server.EntityWaterAnimal;
- import net.minecraft.server.EnumDirection;
- import net.minecraft.server.EnumHand;
--import net.minecraft.server.EnumItemSlot;
- import net.minecraft.server.Explosion;
- import net.minecraft.server.GeneratorAccess;
- import net.minecraft.server.IBlockData;
--import net.minecraft.server.IChatBaseComponent;
- import net.minecraft.server.IInventory;
- import net.minecraft.server.IProjectile;
- import net.minecraft.server.ItemActionContext;
-@@ -69,7 +67,6 @@ import net.minecraft.server.Unit;
- import net.minecraft.server.World;
- import net.minecraft.server.WorldServer;
- import org.bukkit.Bukkit;
--import org.bukkit.Location;
- import org.bukkit.Material;
- import org.bukkit.NamespacedKey;
- import org.bukkit.Server;
-@@ -121,7 +118,6 @@ import org.bukkit.entity.ThrownPotion;
+@@ -117,7 +118,6 @@ import org.bukkit.entity.ThrownPotion;
import org.bukkit.entity.Vehicle;
import org.bukkit.entity.Villager;
import org.bukkit.entity.Villager.Profession;
@@ -76,23 +48,7 @@ index 345bce7bbf0a9391d70be7aa5530d394273842aa..4534d22aec95cf247daf7575472acd0e
import org.bukkit.event.Cancellable;
import org.bukkit.event.Event;
import org.bukkit.event.Event.Result;
-@@ -162,7 +158,6 @@ import org.bukkit.event.entity.EntityDeathEvent;
- import org.bukkit.event.entity.EntityEnterLoveModeEvent;
- import org.bukkit.event.entity.EntityPickupItemEvent;
- import org.bukkit.event.entity.EntityPlaceEvent;
--import org.bukkit.event.entity.EntityPortalEvent;
- import org.bukkit.event.entity.EntityPotionEffectEvent;
- import org.bukkit.event.entity.EntityShootBowEvent;
- import org.bukkit.event.entity.EntitySpawnEvent;
-@@ -221,7 +216,6 @@ import org.bukkit.inventory.EquipmentSlot;
- import org.bukkit.inventory.InventoryView;
- import org.bukkit.inventory.meta.BookMeta;
- import org.bukkit.potion.PotionEffect;
--import org.bukkit.projectiles.ProjectileSource;
-
- import org.bukkit.event.entity.SpawnerSpawnEvent; // Spigot
-
-@@ -1758,4 +1752,12 @@ public class CraftEventFactory {
+@@ -1752,4 +1752,12 @@ public class CraftEventFactory {
return event;
}
diff --git a/Spigot-Server-Patches/0650-Add-sendOpLevel-API.patch b/Spigot-Server-Patches/0650-Add-sendOpLevel-API.patch
index 28ac8290d..9c644be1d 100644
--- a/Spigot-Server-Patches/0650-Add-sendOpLevel-API.patch
+++ b/Spigot-Server-Patches/0650-Add-sendOpLevel-API.patch
@@ -32,10 +32,10 @@ index 4bc9b3b08b42becfd66f39cb0d639bdcae18d45c..1eb44877e7384ae0a028a12b83268412
// Paper start
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 58caa3240b90cdc661e1e32e3f5c312ed62c3c21..7c18b22c7b93b6ca1189e481dde17476797b8fd5 100644
+index 68b95bc17eaa40f11ec3babebbca57d9fb64c9dc..ed7b91bf703c7e7d5cbe323d9ab1c299c33ebad1 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2100,6 +2100,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2099,6 +2099,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
? (org.bukkit.entity.Firework) entity.getBukkitEntity()
: null;
}
diff --git a/Spigot-Server-Patches/0658-Added-Vanilla-Entity-Tags.patch b/Spigot-Server-Patches/0658-Added-Vanilla-Entity-Tags.patch
index 20bdd3673..bff7ffe10 100644
--- a/Spigot-Server-Patches/0658-Added-Vanilla-Entity-Tags.patch
+++ b/Spigot-Server-Patches/0658-Added-Vanilla-Entity-Tags.patch
@@ -41,10 +41,10 @@ index 0000000000000000000000000000000000000000..4a689a2769ac343c2ffab49631c41601
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index dc7de2b59ec5ca3e5fba34dbb2aa2e6aed8f95cb..9ad6ea5ef331c3c057f39115d00f855ca57e219b 100644
+index 3138ebd9a4fbf50f5aae74c280a8a916500dcb23..85023c68a9c85802383cfcf52ec21392abdf3d85 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2169,6 +2169,11 @@ public final class CraftServer implements Server {
+@@ -2168,6 +2168,11 @@ public final class CraftServer implements Server {
Preconditions.checkArgument(clazz == org.bukkit.Fluid.class, "Fluid namespace must have fluid type");
return (org.bukkit.Tag) new CraftFluidTag(console.getTagRegistry().getFluidTags(), key);
diff --git a/Spigot-Server-Patches/0672-living-entity-allow-attribute-registration.patch b/Spigot-Server-Patches/0673-living-entity-allow-attribute-registration.patch
similarity index 100%
rename from Spigot-Server-Patches/0672-living-entity-allow-attribute-registration.patch
rename to Spigot-Server-Patches/0673-living-entity-allow-attribute-registration.patch
diff --git a/Spigot-Server-Patches/0673-fix-dead-slime-setSize-invincibility.patch b/Spigot-Server-Patches/0674-fix-dead-slime-setSize-invincibility.patch
similarity index 100%
rename from Spigot-Server-Patches/0673-fix-dead-slime-setSize-invincibility.patch
rename to Spigot-Server-Patches/0674-fix-dead-slime-setSize-invincibility.patch
diff --git a/work/CraftBukkit b/work/CraftBukkit
index 804914622..c631fe557 160000
--- a/work/CraftBukkit
+++ b/work/CraftBukkit
@@ -1 +1 @@
-Subproject commit 8049146227e4f8e44013f6b825ee91bdc7e3290f
+Subproject commit c631fe557977348f9e8a82bfc168d61584cdc1b0
diff --git a/work/Spigot b/work/Spigot
index 89d6047d1..138d451b0 160000
--- a/work/Spigot
+++ b/work/Spigot
@@ -1 +1 @@
-Subproject commit 89d6047d1aea78b9011ba38681663780a63233c9
+Subproject commit 138d451b0c61bdc079b46e398ba4dfdc4bd6a233