diff --git a/Spigot-API-Patches/0001-POM-changes.patch b/Spigot-API-Patches/0001-POM-changes.patch
index c6e0fac177..52950142e8 100644
--- a/Spigot-API-Patches/0001-POM-changes.patch
+++ b/Spigot-API-Patches/0001-POM-changes.patch
@@ -22,7 +22,7 @@ index 186405ba1914b2b384896c61770c225b50091401..9975ba9ae19f6217bec206fee247fac1
- spigot-api
+ com.destroystokyo.paper
+ paper-api
- 1.16-R0.1-SNAPSHOT
+ 1.15.2-R0.1-SNAPSHOT
jar
- Spigot-API
diff --git a/Spigot-API-Patches/0004-Timings-v2.patch b/Spigot-API-Patches/0004-Timings-v2.patch
index 8c10658d7f..1dd40a7a8b 100644
--- a/Spigot-API-Patches/0004-Timings-v2.patch
+++ b/Spigot-API-Patches/0004-Timings-v2.patch
@@ -3374,7 +3374,7 @@ index 92bafd6365313390326ea12fb815c62463f4d0fc..bfbe775fcd631b12975c0aaae8c82156
@NotNull
diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
-index ec77d7be69a8213c91d05bd3beabdd4fc664afa4..c548911c4b4fad495e4b321ea47455ec65c68255 100644
+index 62d0017362204070465c8ff72e5c2ca07501f558..745eaa8f2f2ff83536301db8ca47a8af30df7a73 100644
--- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java
+++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
@@ -358,7 +358,6 @@ public final class SimplePluginManager implements PluginManager {
@@ -3434,7 +3434,7 @@ index ec77d7be69a8213c91d05bd3beabdd4fc664afa4..c548911c4b4fad495e4b321ea47455ec
}
}
diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
-index df8a5dcbe3345abf7be53d7ebb81d13b33c86511..50a51394f71579b71c3875e4dc8c71abc23ae246 100644
+index 7b9ad3834c9c81220c74a16f1e66fb4da512e9f6..b6d739ca8ad8ebd4b1be7ebd129f9a7ae16b2a2a 100644
--- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
+++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
@@ -53,7 +53,6 @@ public final class JavaPluginLoader implements PluginLoader {
diff --git a/Spigot-API-Patches/0008-Version-Command-2.0.patch b/Spigot-API-Patches/0008-Version-Command-2.0.patch
index 30c0dac026..3a888b027f 100644
--- a/Spigot-API-Patches/0008-Version-Command-2.0.patch
+++ b/Spigot-API-Patches/0008-Version-Command-2.0.patch
@@ -55,7 +55,7 @@ index 0000000000000000000000000000000000000000..2a2651299e8dc631938ba4b4078dc694
+ }
+}
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 26dbc2a761108d6aad056a786cb5146c63b7ad3d..98df287bcb1462fa42b7d4a706a68d36927fbc1c 100644
+index 945b8b030d1b2a13afc0c4efad76997eb7bf00ba..1b6d737046646c102b0d519ab3f67c3fbd503979 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
@@ -77,5 +77,12 @@ public interface UnsafeValues {
diff --git a/Spigot-API-Patches/0013-Automatically-disable-plugins-that-fail-to-load.patch b/Spigot-API-Patches/0013-Automatically-disable-plugins-that-fail-to-load.patch
index ea81806dff..9d44d1360d 100644
--- a/Spigot-API-Patches/0013-Automatically-disable-plugins-that-fail-to-load.patch
+++ b/Spigot-API-Patches/0013-Automatically-disable-plugins-that-fail-to-load.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Automatically disable plugins that fail to load
diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
-index 50a51394f71579b71c3875e4dc8c71abc23ae246..5cc37eeedab8437db82791dd95cef4e387c124b3 100644
+index b6d739ca8ad8ebd4b1be7ebd129f9a7ae16b2a2a..c8497cb3021f584a885f4cb21c3be576ce0935a7 100644
--- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
+++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
@@ -344,6 +344,10 @@ public final class JavaPluginLoader implements PluginLoader {
diff --git a/Spigot-API-Patches/0017-Add-exception-reporting-event.patch b/Spigot-API-Patches/0017-Add-exception-reporting-event.patch
index 914766487c..b295b466fc 100644
--- a/Spigot-API-Patches/0017-Add-exception-reporting-event.patch
+++ b/Spigot-API-Patches/0017-Add-exception-reporting-event.patch
@@ -506,7 +506,7 @@ index f020cb04eba27a2e70fc7cf799ebbfb434b9d974..adfc7aae2c0f49bbcdd358e83b04a0cf
}
diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
-index c548911c4b4fad495e4b321ea47455ec65c68255..9a5fe8ca4ad9415055f3a71b62064d9e79b8e644 100644
+index 745eaa8f2f2ff83536301db8ca47a8af30df7a73..d0fec44d2546290091649879450761ce08514fcb 100644
--- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java
+++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
@@ -23,6 +23,10 @@ import java.util.WeakHashMap;
diff --git a/Spigot-API-Patches/0022-Use-ASM-for-event-executors.patch b/Spigot-API-Patches/0022-Use-ASM-for-event-executors.patch
index 65e844a8e6..b6c0d6bac8 100644
--- a/Spigot-API-Patches/0022-Use-ASM-for-event-executors.patch
+++ b/Spigot-API-Patches/0022-Use-ASM-for-event-executors.patch
@@ -412,7 +412,7 @@ index a850f0780de05463fc0d3f9e15ff7f19d88b2aed..9026e108ccd3a88aee1267ee275137be
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
-index 5cc37eeedab8437db82791dd95cef4e387c124b3..e72cbde4b3225cbf17d8a9b275e0ffcaa6d86c19 100644
+index c8497cb3021f584a885f4cb21c3be576ce0935a7..5be6460e8eb81381c7e305cb7ab6b77c0c7a8fe5 100644
--- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
+++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
@@ -300,21 +300,7 @@ public final class JavaPluginLoader implements PluginLoader {
diff --git a/Spigot-API-Patches/0025-Add-command-to-reload-permissions.yml-and-require-co.patch b/Spigot-API-Patches/0025-Add-command-to-reload-permissions.yml-and-require-co.patch
index b7eafeabd0..b3744bc53b 100644
--- a/Spigot-API-Patches/0025-Add-command-to-reload-permissions.yml-and-require-co.patch
+++ b/Spigot-API-Patches/0025-Add-command-to-reload-permissions.yml-and-require-co.patch
@@ -85,7 +85,7 @@ index 50cc311be7904cc8fc6070a21c8e4de3a489fd20..c62da4131b17e66892678e8b618fb9ba
}
}
diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
-index 9a5fe8ca4ad9415055f3a71b62064d9e79b8e644..8ddaf9c2e63b382533d7f8929023c364ff3a8f9d 100644
+index d0fec44d2546290091649879450761ce08514fcb..8b33d914d29897c0276f9e2e7ce83bd2c316d5e2 100644
--- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java
+++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
@@ -894,4 +894,13 @@ public final class SimplePluginManager implements PluginManager {
diff --git a/Spigot-API-Patches/0071-API-to-get-a-BlockState-without-a-snapshot.patch b/Spigot-API-Patches/0071-API-to-get-a-BlockState-without-a-snapshot.patch
index 3fe23df9f4..0f95b2be82 100644
--- a/Spigot-API-Patches/0071-API-to-get-a-BlockState-without-a-snapshot.patch
+++ b/Spigot-API-Patches/0071-API-to-get-a-BlockState-without-a-snapshot.patch
@@ -9,7 +9,7 @@ on the real tile entity.
This is useful for where performance is needed
diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java
-index 8a48572e92e311de8c799ae608c5bee681ac91a5..8154093df6f6d4180485cecf98da3af26219eab8 100644
+index 2ff77abef2b25c839ddd524aa29afbc4e49d0c31..633733d7c914cf6ae988f727d644c8f2be408b02 100644
--- a/src/main/java/org/bukkit/block/Block.java
+++ b/src/main/java/org/bukkit/block/Block.java
@@ -269,6 +269,16 @@ public interface Block extends Metadatable {
diff --git a/Spigot-API-Patches/0085-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch b/Spigot-API-Patches/0085-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch
index 4db167a055..2bbaa66d15 100644
--- a/Spigot-API-Patches/0085-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch
+++ b/Spigot-API-Patches/0085-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Ability to change PlayerProfile in AsyncPreLoginEvent
This will allow you to change the players name or skin on login.
diff --git a/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java b/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java
-index c8384da69af61e1970f254a3a9c206ee81d7a989..10292e59257d1c33cf4800d38bc24f6b35f75de1 100644
+index c8384da69af61e1970f254a3a9c206ee81d7a989..16352c7dab042c5042020a06208270200f576c02 100644
--- a/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java
+++ b/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java
@@ -2,6 +2,9 @@ package org.bukkit.event.player;
diff --git a/Spigot-API-Patches/0094-Additional-world.getNearbyEntities-API-s.patch b/Spigot-API-Patches/0094-Additional-world.getNearbyEntities-API-s.patch
index 8f2e860517..6af56de3a3 100644
--- a/Spigot-API-Patches/0094-Additional-world.getNearbyEntities-API-s.patch
+++ b/Spigot-API-Patches/0094-Additional-world.getNearbyEntities-API-s.patch
@@ -277,7 +277,7 @@ index 3b027f67c1763ee0a4f7b02490d3cee1c3eff369..fbe7e76c0f3122dd47c7ca4562b5ac35
* Get a list of all players in this World
*
diff --git a/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java b/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java
-index 6c09ea6c61bdeb6149c8f2f23f15b2abb543e66e..76c4a1a6e0c0e72b0f3f75d06f179c07f863e143 100644
+index 16352c7dab042c5042020a06208270200f576c02..e5b811229830e4d55b08ab18bedec1494ff342ac 100644
--- a/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java
+++ b/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java
@@ -42,8 +42,7 @@ public class AsyncPlayerPreLoginEvent extends Event {
diff --git a/Spigot-API-Patches/0098-Close-Plugin-Class-Loaders-on-Disable.patch b/Spigot-API-Patches/0098-Close-Plugin-Class-Loaders-on-Disable.patch
index 331239ba2e..4272393c94 100644
--- a/Spigot-API-Patches/0098-Close-Plugin-Class-Loaders-on-Disable.patch
+++ b/Spigot-API-Patches/0098-Close-Plugin-Class-Loaders-on-Disable.patch
@@ -53,7 +53,7 @@ index 41e26451fe12d8e6e0ef73c85731b24b4e3f200c..86cc5025ad98f7a752c51713b7cd6a39
* Gets a {@link Permission} from its fully qualified name
*
diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
-index 8ddaf9c2e63b382533d7f8929023c364ff3a8f9d..8bb24f734f0bbb5df37dff2f376a450b8be9be28 100644
+index 8b33d914d29897c0276f9e2e7ce83bd2c316d5e2..a7393d2830b95d7167121b02066a3f357cee6085 100644
--- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java
+++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
@@ -492,17 +492,28 @@ public final class SimplePluginManager implements PluginManager {
@@ -97,7 +97,7 @@ index 8ddaf9c2e63b382533d7f8929023c364ff3a8f9d..8bb24f734f0bbb5df37dff2f376a450b
lookupNames.clear();
dependencyGraph = GraphBuilder.directed().build();
diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
-index e72cbde4b3225cbf17d8a9b275e0ffcaa6d86c19..32ec68b489ab1933b4375a339c77c05a3e235202 100644
+index 5be6460e8eb81381c7e305cb7ab6b77c0c7a8fe5..bef88a6e2e6f7071401a3af0aec31e62aa265566 100644
--- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
+++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
@@ -331,7 +331,7 @@ public final class JavaPluginLoader implements PluginLoader {
diff --git a/Spigot-API-Patches/0118-Add-an-asterisk-to-legacy-API-plugins.patch b/Spigot-API-Patches/0118-Add-an-asterisk-to-legacy-API-plugins.patch
index ed8e05eb0c..cfe9dbb84d 100644
--- a/Spigot-API-Patches/0118-Add-an-asterisk-to-legacy-API-plugins.patch
+++ b/Spigot-API-Patches/0118-Add-an-asterisk-to-legacy-API-plugins.patch
@@ -7,7 +7,7 @@ Not here to name and shame, only so server admins can be aware of which
plugins have and haven't been updated.
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 98df287bcb1462fa42b7d4a706a68d36927fbc1c..6f5601639c472db62120bab8d903620ee87f7e5c 100644
+index 1b6d737046646c102b0d519ab3f67c3fbd503979..541e28a9bece0beb0c2cf02c39030840b758c6e6 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
@@ -84,5 +84,11 @@ public interface UnsafeValues {
@@ -42,7 +42,7 @@ index a1071e3178a298f3fc1d6c960f4d8a6d3a3d0277..3dcecf3a543646327c277ee269810615
return "(" + plugins.size() + "): " + pluginList.toString();
diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
-index 32ec68b489ab1933b4375a339c77c05a3e235202..8ff228ced356eb509b93abb7a0d3d9a26dd3e057 100644
+index bef88a6e2e6f7071401a3af0aec31e62aa265566..de44d850d7b3ab3e528eb6f2de375a6c3e0e5cf9 100644
--- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
+++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
@@ -315,7 +315,14 @@ public final class JavaPluginLoader implements PluginLoader {
diff --git a/Spigot-API-Patches/0128-Remove-deadlock-risk-in-firing-async-events.patch b/Spigot-API-Patches/0128-Remove-deadlock-risk-in-firing-async-events.patch
index 20fce849c9..54e90180af 100644
--- a/Spigot-API-Patches/0128-Remove-deadlock-risk-in-firing-async-events.patch
+++ b/Spigot-API-Patches/0128-Remove-deadlock-risk-in-firing-async-events.patch
@@ -29,7 +29,7 @@ index a8dbf282d0a8fb57f4719b9e95199894d8d3324c..b4069dbf31587786da39f5e387a71b7b
*
* @return a new copy of Location containing the position of this entity
diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
-index 8bb24f734f0bbb5df37dff2f376a450b8be9be28..8355f9f0eb1b554bf6cfd3883afd2bdd2bf8c357 100644
+index a7393d2830b95d7167121b02066a3f357cee6085..a1a805004941d67abb0b9aa1721e0370c45b5289 100644
--- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java
+++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
@@ -462,7 +462,7 @@ public final class SimplePluginManager implements PluginManager {
diff --git a/Spigot-API-Patches/0136-Allow-Blocks-to-be-accessed-via-a-long-key.patch b/Spigot-API-Patches/0136-Allow-Blocks-to-be-accessed-via-a-long-key.patch
index 32b318c48e..6914045123 100644
--- a/Spigot-API-Patches/0136-Allow-Blocks-to-be-accessed-via-a-long-key.patch
+++ b/Spigot-API-Patches/0136-Allow-Blocks-to-be-accessed-via-a-long-key.patch
@@ -91,7 +91,7 @@ index 8fe496ad8f566183e2280582d00c3b7751f06d75..08aebaedce935faa1a2c54c5abc02b85
* Gets the highest non-empty (impassable) coordinate at the given
* coordinates.
diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java
-index 8154093df6f6d4180485cecf98da3af26219eab8..41f6b849186346f9a4e254122d2448a7ea8e0ee9 100644
+index 633733d7c914cf6ae988f727d644c8f2be408b02..d7c7df85228c01529e266ffdd3b3bcdc9ed35774 100644
--- a/src/main/java/org/bukkit/block/Block.java
+++ b/src/main/java/org/bukkit/block/Block.java
@@ -153,6 +153,72 @@ public interface Block extends Metadatable {
diff --git a/Spigot-API-Patches/0194-Disable-Sync-Events-firing-Async-errors-during-shutd.patch b/Spigot-API-Patches/0194-Disable-Sync-Events-firing-Async-errors-during-shutd.patch
index a7e3a69f3b..5ca0264ed8 100644
--- a/Spigot-API-Patches/0194-Disable-Sync-Events-firing-Async-errors-during-shutd.patch
+++ b/Spigot-API-Patches/0194-Disable-Sync-Events-firing-Async-errors-during-shutd.patch
@@ -11,7 +11,7 @@ errors.
This isn't an issue on Spigot
diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
-index 8355f9f0eb1b554bf6cfd3883afd2bdd2bf8c357..4931bc86d44cd697d458d6e365c3b8030ea8285d 100644
+index a1a805004941d67abb0b9aa1721e0370c45b5289..26685f59b235ea5b4c4fb7ae21acb5149edaa2b3 100644
--- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java
+++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
@@ -591,7 +591,7 @@ public final class SimplePluginManager implements PluginManager {
diff --git a/Spigot-API-Patches/0195-Make-JavaPluginLoader-thread-safe.patch b/Spigot-API-Patches/0195-Make-JavaPluginLoader-thread-safe.patch
index 283d4022b8..21dbe589a4 100644
--- a/Spigot-API-Patches/0195-Make-JavaPluginLoader-thread-safe.patch
+++ b/Spigot-API-Patches/0195-Make-JavaPluginLoader-thread-safe.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Make JavaPluginLoader thread-safe
diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
-index 8ff228ced356eb509b93abb7a0d3d9a26dd3e057..ba2c5c6eee6fc9f7c96c3ab304d8a1fc759ccd77 100644
+index de44d850d7b3ab3e528eb6f2de375a6c3e0e5cf9..9d1f7cdf12029c8198792fd299f92be476040222 100644
--- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
+++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
@@ -52,6 +52,8 @@ public final class JavaPluginLoader implements PluginLoader {
diff --git a/Spigot-API-Patches/0207-Prioritise-own-classes-where-possible.patch b/Spigot-API-Patches/0207-Prioritise-own-classes-where-possible.patch
index a96387ed87..fad10c31db 100644
--- a/Spigot-API-Patches/0207-Prioritise-own-classes-where-possible.patch
+++ b/Spigot-API-Patches/0207-Prioritise-own-classes-where-possible.patch
@@ -25,7 +25,7 @@ The patch in general terms just loads the class in the plugin's jar
before it starts looking elsewhere for it.
diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
-index ba2c5c6eee6fc9f7c96c3ab304d8a1fc759ccd77..528ceeb22c55f23259340c29e3c4ed5ece89a118 100644
+index 9d1f7cdf12029c8198792fd299f92be476040222..384edf9890dfbd1cddfdcac4db1ebe9a4d761f78 100644
--- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
+++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
@@ -50,6 +50,7 @@ import org.yaml.snakeyaml.error.YAMLException;
diff --git a/Spigot-API-Patches/0208-Add-Raw-Byte-ItemStack-Serialization.patch b/Spigot-API-Patches/0208-Add-Raw-Byte-ItemStack-Serialization.patch
index e309f0c798..c4406670d6 100644
--- a/Spigot-API-Patches/0208-Add-Raw-Byte-ItemStack-Serialization.patch
+++ b/Spigot-API-Patches/0208-Add-Raw-Byte-ItemStack-Serialization.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Add Raw Byte ItemStack Serialization
Serializes using NBT which is safer for server data migrations than bukkits format.
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 6f5601639c472db62120bab8d903620ee87f7e5c..70d95e89a050632b2b0e2f477d3c286a3e8db1bd 100644
+index 541e28a9bece0beb0c2cf02c39030840b758c6e6..d3ec5084e33dff038d54cdd2aeb703a3eb25f7a7 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
@@ -90,5 +90,9 @@ public interface UnsafeValues {
diff --git a/Spigot-Server-Patches/0001-POM-Changes.patch b/Spigot-Server-Patches/0001-POM-Changes.patch
index e88b4595f9..d0e2a70921 100644
--- a/Spigot-Server-Patches/0001-POM-Changes.patch
+++ b/Spigot-Server-Patches/0001-POM-Changes.patch
@@ -16,7 +16,7 @@ index 9fc92e347f24a0210a9190513e93cba3b6772557..3554314526b3f33ad02df2adfd42d451
- spigot
+ paper
jar
- 1.16-R0.1-SNAPSHOT
+ 1.15.2-R0.1-SNAPSHOT
- Spigot
- https://www.spigotmc.org/
+ Paper
@@ -27,7 +27,7 @@ index 9fc92e347f24a0210a9190513e93cba3b6772557..3554314526b3f33ad02df2adfd42d451
+
UTF-8
unknown
- 1.16
+ 1.15.2
@@ -19,16 +18,22 @@
diff --git a/Spigot-Server-Patches/0003-MC-Dev-fixes.patch b/Spigot-Server-Patches/0003-MC-Dev-fixes.patch
index 315c5c35bd..ae0b5be3e0 100644
--- a/Spigot-Server-Patches/0003-MC-Dev-fixes.patch
+++ b/Spigot-Server-Patches/0003-MC-Dev-fixes.patch
@@ -84,51 +84,6 @@ index 960dce23072bbb5fad36760677f0fe2efb661552..253890e53702f9ba1c6628cc860a4ca1
}
public List> g() {
-diff --git a/src/main/java/net/minecraft/server/BlockDataAbstract.java b/src/main/java/net/minecraft/server/BlockDataAbstract.java
-index ab03b556823a3daee07cc6a57112d01ee52b677f..1cf97cefc9d113583214f340e72b35d5560d1e5d 100644
---- a/src/main/java/net/minecraft/server/BlockDataAbstract.java
-+++ b/src/main/java/net/minecraft/server/BlockDataAbstract.java
-@@ -29,7 +29,7 @@ public abstract class BlockDataAbstract implements IBlockDataHolder {
- }
-
- private > String a(IBlockState iblockstate, Comparable> comparable) {
-- return iblockstate.a(comparable);
-+ return iblockstate.a((T) comparable); // Paper - decompiler fix
- }
- };
- protected final O a;
-@@ -42,11 +42,11 @@ public abstract class BlockDataAbstract implements IBlockDataHolder {
- }
-
- public > S a(IBlockState iblockstate) {
-- return this.set(iblockstate, (Comparable) a(iblockstate.getValues(), this.get(iblockstate)));
-+ return this.set(iblockstate, a(iblockstate.getValues(), this.get(iblockstate))); // Paper - decompile fix
- }
-
- protected static T a(Collection collection, T t0) {
-- Iterator iterator = collection.iterator();
-+ Iterator iterator = collection.iterator(); // Paper - decompiler fix
-
- do {
- if (!iterator.hasNext()) {
-@@ -89,7 +89,7 @@ public abstract class BlockDataAbstract implements IBlockDataHolder {
- if (comparable == null) {
- throw new IllegalArgumentException("Cannot get property " + iblockstate + " as it does not exist in " + this.a);
- } else {
-- return (Comparable) iblockstate.b().cast(comparable);
-+ return iblockstate.b().cast(comparable); // Paper - decompiler fix
- }
- }
-
-@@ -100,7 +100,7 @@ public abstract class BlockDataAbstract implements IBlockDataHolder {
- if (comparable == null) {
- throw new IllegalArgumentException("Cannot set property " + iblockstate + " as it does not exist in " + this.a);
- } else if (comparable == v0) {
-- return this;
-+ return (S) this; // Paper - decompiler fix
- } else {
- S s0 = this.e.get(iblockstate, v0);
-
diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java
index e40f9c153b4f1f8f11ea467e6bd8e670959282d6..c88a62f6b72a8851b95587bb49c898569d74e0c6 100644
--- a/src/main/java/net/minecraft/server/BlockPosition.java
diff --git a/Spigot-Server-Patches/0004-MC-Utils.patch b/Spigot-Server-Patches/0004-MC-Utils.patch
index 10a690c4bd..adc0c050ca 100644
--- a/Spigot-Server-Patches/0004-MC-Utils.patch
+++ b/Spigot-Server-Patches/0004-MC-Utils.patch
@@ -2318,11 +2318,11 @@ index eff6ebcd30b538cbaedaa031a46a59ea956253ba..30cbfc8eac20910aa55951e3dce63862
@Override
public IBlockData getType(BlockPosition blockposition) {
return Blocks.AIR.getBlockData();
-diff --git a/src/main/java/net/minecraft/server/BlockDataAbstract.java b/src/main/java/net/minecraft/server/BlockDataAbstract.java
+diff --git a/src/main/java/net/minecraft/server/BlockData.java b/src/main/java/net/minecraft/server/BlockData.java
index 1cf97cefc9d113583214f340e72b35d5560d1e5d..2040f183490d515b913df048ae8ab07bbecaa9a4 100644
--- a/src/main/java/net/minecraft/server/BlockDataAbstract.java
+++ b/src/main/java/net/minecraft/server/BlockDataAbstract.java
-@@ -78,6 +78,7 @@ public abstract class BlockDataAbstract implements IBlockDataHolder {
+@@ -78,6 +78,7 @@ public abstract static class BlockDataAbstract implements IBlockDataHolder {
return Collections.unmodifiableCollection(this.d.keySet());
}
@@ -3102,7 +3102,7 @@ index bdfb1738539d0e0c9043ecb63950a5e7fce1c532..0b06fa2b664830d40cdb93968bc2f8c9
// CraftBukkit start - fire event
setGoalTarget(entityliving, EntityTargetEvent.TargetReason.UNKNOWN, true);
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index 9d1adaaa2c0dbd3773f81a1b54aac98fd16ae26d..3ace8ee854c11abd607dc27b93fe61a0982a73de 100644
+index 979e4b9de8cde8fb0209e081a58c5c01cd9dafd3..ff6579cb99dcd93254cae67fe84de0f7c034eaa5 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -129,6 +129,7 @@ public abstract class EntityLiving extends Entity {
diff --git a/Spigot-Server-Patches/0009-Timings-v2.patch b/Spigot-Server-Patches/0009-Timings-v2.patch
index 19951169a7..c947cd4ee5 100644
--- a/Spigot-Server-Patches/0009-Timings-v2.patch
+++ b/Spigot-Server-Patches/0009-Timings-v2.patch
@@ -1055,7 +1055,7 @@ index 0d8262b1d2722e716f95db4c9a8a132c54b613cf..19d68aa4585ccfc156e9db6024b7a99b
protected BlockPosition ag() {
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index 3ace8ee854c11abd607dc27b93fe61a0982a73de..690c1ce0f6707b2f5dd787e0fe340af5bd719783 100644
+index ff6579cb99dcd93254cae67fe84de0f7c034eaa5..3fdd7132d483155a574d12b56a2bc3432d16ac63 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -37,7 +37,7 @@ import org.bukkit.event.entity.EntityTeleportEvent;
@@ -1502,7 +1502,7 @@ index 2c671629a43f42da8335e7216f9fd399bb878729..eb3269e0ea3ce33d08e9eee3bca7cf43
PlayerConnectionUtils.LOGGER.debug("Ignoring packet due to disconnection: " + packet);
}
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index 7e8c50aa92e036b88b1fd725021c31846eb06097..79cfcbce85e779fc8e8589840a27961f59209f3d 100644
+index f36ef51158e9c8509465e46e33fe14a5931ac739..c759dd0f9a66dc2fa30746132564a0981037f265 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -1,5 +1,6 @@
diff --git a/Spigot-Server-Patches/0011-Configurable-baby-zombie-movement-speed.patch b/Spigot-Server-Patches/0011-Configurable-baby-zombie-movement-speed.patch
index 009e07aa2b..7301f8fdb5 100644
--- a/Spigot-Server-Patches/0011-Configurable-baby-zombie-movement-speed.patch
+++ b/Spigot-Server-Patches/0011-Configurable-baby-zombie-movement-speed.patch
@@ -25,7 +25,7 @@ index 098bd3fba867c0e4c6c58748aa6e2e632737a948..912611cf1aeccf5a82a789aab07d7672
+ }
}
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
-index 7783b57912e87ac132bab3d2e85808240f077174..0240cef74aaa7f9fcfea40106267ee2e8d39f133 100644
+index 95d238c82114621cb4e24b4488bba36cb828c241..83d5731b7f964136edf7cfabb96421e0788d067a 100644
--- a/src/main/java/net/minecraft/server/EntityZombie.java
+++ b/src/main/java/net/minecraft/server/EntityZombie.java
@@ -21,7 +21,7 @@ public class EntityZombie extends EntityMonster {
diff --git a/Spigot-Server-Patches/0015-Allow-for-toggling-of-spawn-chunks.patch b/Spigot-Server-Patches/0015-Allow-for-toggling-of-spawn-chunks.patch
index c3a72a7fe3..690cd70b6c 100644
--- a/Spigot-Server-Patches/0015-Allow-for-toggling-of-spawn-chunks.patch
+++ b/Spigot-Server-Patches/0015-Allow-for-toggling-of-spawn-chunks.patch
@@ -20,7 +20,7 @@ index 2845686411615245137cfe1a155088a865a4d3a0..8ee2b9bb1bce698fce50ac1b3fc477fc
+ }
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 740c59004514a332ebe556c4e91f84bd9bf4a11d..b69d84baf8d318968ef171232e493a315f71814b 100644
+index a126a6d22ccee90d0aadb8513bda60455a703bf6..13a759bc823f12daba3de367255079095b2b6df3 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -142,6 +142,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
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 280e94335b..d05ca8da1b 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
@@ -45,7 +45,7 @@ index 1ceba5f7eae58426834d7042af17f7e3b1990a56..ee749863730cb2228712ceddd4e405a7
private final String bukkitVersion = Versioning.getBukkitVersion();
private final Logger logger = Logger.getLogger("Minecraft");
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
-index 101d5b42e319c010fd7ed043fb17d1f2289ae38f..1ee40506095ed14f50b4b8031bb882e9bea475b5 100644
+index daa65aaf8c9616e5e058f3337fc4fc0895d13364..524c1d4c6d8a45620d534f23f67d75fd8988918b 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -200,12 +200,25 @@ public class Main {
diff --git a/Spigot-Server-Patches/0026-Prevent-tile-entity-and-entity-crashes.patch b/Spigot-Server-Patches/0026-Prevent-tile-entity-and-entity-crashes.patch
index fe41d422f0..e20b49e3fd 100644
--- a/Spigot-Server-Patches/0026-Prevent-tile-entity-and-entity-crashes.patch
+++ b/Spigot-Server-Patches/0026-Prevent-tile-entity-and-entity-crashes.patch
@@ -23,7 +23,7 @@ index fa6400dccd4df635d696e0858c0c164a0f19b4a4..e2f3cec7420edbd284b531ca7d1d1214
}
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index b69d84baf8d318968ef171232e493a315f71814b..ca3b4c9f2f7e1b5425e8be4c3d11e3e881915e8b 100644
+index 13a759bc823f12daba3de367255079095b2b6df3..12e57818687fe359e752f29f2c7d038c2e4a512f 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -665,11 +665,13 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
diff --git a/Spigot-Server-Patches/0032-Optimize-explosions.patch b/Spigot-Server-Patches/0032-Optimize-explosions.patch
index 9fafbf0455..52e8789495 100644
--- a/Spigot-Server-Patches/0032-Optimize-explosions.patch
+++ b/Spigot-Server-Patches/0032-Optimize-explosions.patch
@@ -135,7 +135,7 @@ index c61037c837e29544e3afeb0b23f422073d3f5166..a67c31a6021d881b49cfdb75f514404c
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index ca3b4c9f2f7e1b5425e8be4c3d11e3e881915e8b..6dfefa3f9ebf6d2ad08ebe6ddd77ca6d95971544 100644
+index 12e57818687fe359e752f29f2c7d038c2e4a512f..ea27e1fd62ff38fc92e914eb659e29ac836c2b45 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -80,6 +80,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
diff --git a/Spigot-Server-Patches/0033-Disable-explosion-knockback.patch b/Spigot-Server-Patches/0033-Disable-explosion-knockback.patch
index a9babd0de7..0fedfc1b93 100644
--- a/Spigot-Server-Patches/0033-Disable-explosion-knockback.patch
+++ b/Spigot-Server-Patches/0033-Disable-explosion-knockback.patch
@@ -19,7 +19,7 @@ index f038d3f7dc7d1034a3ee9f2384a85642f224836e..25e0717186366af580e512eedfd403b8
+ }
}
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index 690c1ce0f6707b2f5dd787e0fe340af5bd719783..d4d60220efdf32ee84eef57a7155e7de513cf029 100644
+index 3fdd7132d483155a574d12b56a2bc3432d16ac63..b3a1199d736798c295c695aea1152ac9d0a30d29 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -1073,6 +1073,7 @@ public abstract class EntityLiving extends Entity {
diff --git a/Spigot-Server-Patches/0041-Disable-spigot-tick-limiters.patch b/Spigot-Server-Patches/0041-Disable-spigot-tick-limiters.patch
index b50f633927..4d8b8b4b6f 100644
--- a/Spigot-Server-Patches/0041-Disable-spigot-tick-limiters.patch
+++ b/Spigot-Server-Patches/0041-Disable-spigot-tick-limiters.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Disable spigot tick limiters
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 6dfefa3f9ebf6d2ad08ebe6ddd77ca6d95971544..65fc7105c8c93ccee569abb14ccba3f5cf75a7a8 100644
+index ea27e1fd62ff38fc92e914eb659e29ac836c2b45..8c0cabd9b3d5315c319a4ef7eda9fce688c22584 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -635,9 +635,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
diff --git a/Spigot-Server-Patches/0042-Add-PlayerInitialSpawnEvent.patch b/Spigot-Server-Patches/0042-Add-PlayerInitialSpawnEvent.patch
index 4c186c7a87..973a105a91 100644
--- a/Spigot-Server-Patches/0042-Add-PlayerInitialSpawnEvent.patch
+++ b/Spigot-Server-Patches/0042-Add-PlayerInitialSpawnEvent.patch
@@ -9,7 +9,7 @@ This is a duplicate API from spigot, so use our duplicate subclass and
improve setPosition to use raw
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index 79cfcbce85e779fc8e8589840a27961f59209f3d..f8b7ea28694170148027123f889fb93f8647cdc4 100644
+index c759dd0f9a66dc2fa30746132564a0981037f265..6f11111f413914856e6a3622512f00f8a49cdfa2 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -119,14 +119,14 @@ public abstract class PlayerList {
diff --git a/Spigot-Server-Patches/0050-Change-implementation-of-tile-entity-removal-list.patch b/Spigot-Server-Patches/0050-Change-implementation-of-tile-entity-removal-list.patch
index 6f61ea2efe..ffdb326a6e 100644
--- a/Spigot-Server-Patches/0050-Change-implementation-of-tile-entity-removal-list.patch
+++ b/Spigot-Server-Patches/0050-Change-implementation-of-tile-entity-removal-list.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Change implementation of (tile)entity removal list
use sets for faster removal
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 65fc7105c8c93ccee569abb14ccba3f5cf75a7a8..fc9bbc4fdd371931ea31c061b9bef0c4f91853d9 100644
+index 8c0cabd9b3d5315c319a4ef7eda9fce688c22584..9a9a7ae659dd1aea5111603852fbda9fad707be2 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -36,7 +36,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
diff --git a/Spigot-Server-Patches/0054-Add-exception-reporting-event.patch b/Spigot-Server-Patches/0054-Add-exception-reporting-event.patch
index ccf79bfb40..06244eb003 100644
--- a/Spigot-Server-Patches/0054-Add-exception-reporting-event.patch
+++ b/Spigot-Server-Patches/0054-Add-exception-reporting-event.patch
@@ -80,7 +80,7 @@ index ef779879e33c2f64c325afd3cd411032fb0d63f9..b85e21202eb8bb9446989aa1d6889eed
}
}
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
-index 875f353dc3a0f3418b01821abf30e0f1ca32bb4d..fa4ad0b6dcd2cb428d87047340b81594b271e4b2 100644
+index 83707fa6ae5cf4f564760ca0fb5e8c1932d4a91e..7464aeb4e2f2cbe177cfd2ac19c45aabac625632 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
@@ -15,6 +15,9 @@ import java.util.function.BooleanSupplier;
diff --git a/Spigot-Server-Patches/0056-Disable-Scoreboards-for-non-players-by-default.patch b/Spigot-Server-Patches/0056-Disable-Scoreboards-for-non-players-by-default.patch
index 631beb2a46..24ec7bf891 100644
--- a/Spigot-Server-Patches/0056-Disable-Scoreboards-for-non-players-by-default.patch
+++ b/Spigot-Server-Patches/0056-Disable-Scoreboards-for-non-players-by-default.patch
@@ -37,7 +37,7 @@ index 65a421ee6f704af88ba2170930d17b46a9531c28..383805926e60f9f2f77e258e9d51ed07
}
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index d4d60220efdf32ee84eef57a7155e7de513cf029..591bf14a6270a67e0bf705a90869c1223b9b36fd 100644
+index b3a1199d736798c295c695aea1152ac9d0a30d29..e763bf1a6486134fe222865d207359c8b868c008 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -535,6 +535,7 @@ public abstract class EntityLiving extends Entity {
diff --git a/Spigot-Server-Patches/0066-Add-World-Util-Methods.patch b/Spigot-Server-Patches/0066-Add-World-Util-Methods.patch
index 1114a1ed89..48d9cf1d80 100644
--- a/Spigot-Server-Patches/0066-Add-World-Util-Methods.patch
+++ b/Spigot-Server-Patches/0066-Add-World-Util-Methods.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Add World Util Methods
Methods that can be used for other patches to help improve logic.
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 6e7d3573ed6f58a9c5f29c8b1b49746f13e21dc7..a721ad8addfd5a47608e304b372762d3ca89fa65 100644
+index 6e4329d21d7877e46369361e55954f2f9371bd6e..7f1f0111373fa409e52894e59ac49d5278d0bd58 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -223,6 +223,18 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
diff --git a/Spigot-Server-Patches/0073-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch b/Spigot-Server-Patches/0073-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch
index 09ee1b4a66..9ad19a252a 100644
--- a/Spigot-Server-Patches/0073-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch
+++ b/Spigot-Server-Patches/0073-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch
@@ -44,7 +44,7 @@ index a67c31a6021d881b49cfdb75f514404c342eea45..4c7df81217c10d92d05e619ad760bc5d
this.methodProfiler.a(() -> {
return worldserver.getWorldData().getName() + " " + IRegistry.DIMENSION_TYPE.getKey(worldserver.worldProvider.getDimensionManager());
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 40a51633ed509ca7ae6131e11276f8f3cb7c03ce..7278242d569dafd99984921a3a3b86de46d8287f 100644
+index 50c2c4b0dc6256d5fbc361ba9b89b4e17bef8acb..9ce4d23aa0af877b383750bbb73b7a93a117d03f 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -370,7 +370,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
diff --git a/Spigot-Server-Patches/0080-Fix-reducedDebugInfo-not-initialized-on-client.patch b/Spigot-Server-Patches/0080-Fix-reducedDebugInfo-not-initialized-on-client.patch
index 4c750dd271..511f55f7a8 100644
--- a/Spigot-Server-Patches/0080-Fix-reducedDebugInfo-not-initialized-on-client.patch
+++ b/Spigot-Server-Patches/0080-Fix-reducedDebugInfo-not-initialized-on-client.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix reducedDebugInfo not initialized on client
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index f8b7ea28694170148027123f889fb93f8647cdc4..87c854d052d32a10ba6f1abc317db083e8f079d4 100644
+index 6f11111f413914856e6a3622512f00f8a49cdfa2..c0c774d17b81109eaaea2ad726629eca902cfd6c 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -150,6 +150,7 @@ public abstract class PlayerList {
diff --git a/Spigot-Server-Patches/0082-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch b/Spigot-Server-Patches/0082-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch
index d88c6fc35b..6ede81f3d3 100644
--- a/Spigot-Server-Patches/0082-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch
+++ b/Spigot-Server-Patches/0082-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix Cancelling BlockPlaceEvent triggering physics
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 7278242d569dafd99984921a3a3b86de46d8287f..491e491895246063c4df38e1a90693bfc730ef33 100644
+index 9ce4d23aa0af877b383750bbb73b7a93a117d03f..1bc4cfea913dd4663bf18ebb31ef24fe07e5ee14 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -440,6 +440,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
diff --git a/Spigot-Server-Patches/0086-Remove-unused-World-Tile-Entity-List.patch b/Spigot-Server-Patches/0086-Remove-unused-World-Tile-Entity-List.patch
index 0e9f14b4f4..6a7d7e006d 100644
--- a/Spigot-Server-Patches/0086-Remove-unused-World-Tile-Entity-List.patch
+++ b/Spigot-Server-Patches/0086-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 491e491895246063c4df38e1a90693bfc730ef33..a3de9ae44acb3736394ac97c730d1b1cc2d5b914 100644
+index 1bc4cfea913dd4663bf18ebb31ef24fe07e5ee14..6647b9aca46b7db5e2466984f14d787a1c5daa10 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -36,7 +36,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
diff --git a/Spigot-Server-Patches/0093-EntityRegainHealthEvent-isFastRegen-API.patch b/Spigot-Server-Patches/0093-EntityRegainHealthEvent-isFastRegen-API.patch
index e79c9532f5..9d9d47c7c0 100644
--- a/Spigot-Server-Patches/0093-EntityRegainHealthEvent-isFastRegen-API.patch
+++ b/Spigot-Server-Patches/0093-EntityRegainHealthEvent-isFastRegen-API.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] EntityRegainHealthEvent isFastRegen API
Don't even get me started
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index 07c8f38f86a9d1eed95ccddb4c97892b555faf59..56c8b56b06a67e90c05f21c8141e61df7c9aafb1 100644
+index d6ef12f1d65e8ab8b1c41bcf06f022f3193df15f..9ba0bf40f823003a5966244e7cdde4e3e11da9ec 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -924,10 +924,16 @@ public abstract class EntityLiving extends Entity {
diff --git a/Spigot-Server-Patches/0103-Faster-redstone-torch-rapid-clock-removal.patch b/Spigot-Server-Patches/0103-Faster-redstone-torch-rapid-clock-removal.patch
index 2f5565d730..22ea8b2f2c 100644
--- a/Spigot-Server-Patches/0103-Faster-redstone-torch-rapid-clock-removal.patch
+++ b/Spigot-Server-Patches/0103-Faster-redstone-torch-rapid-clock-removal.patch
@@ -77,7 +77,7 @@ index 98a255ae578d4cdc6c0081c5fe7991a8a9b574f2..4c3062ece97409056b614cf36fefea22
public RedstoneUpdateInfo(BlockPosition blockposition, long i) {
this.a = blockposition;
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index a3de9ae44acb3736394ac97c730d1b1cc2d5b914..fd8724c755d4129c0f3fbd6e0730def09dba1e55 100644
+index 6647b9aca46b7db5e2466984f14d787a1c5daa10..5dd504ea0b0d0ca7e7cd8c33473177f95c54bd8c 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -84,6 +84,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
diff --git a/Spigot-Server-Patches/0104-Add-server-name-parameter.patch b/Spigot-Server-Patches/0104-Add-server-name-parameter.patch
index 0d4fa9b3aa..7fa217b96d 100644
--- a/Spigot-Server-Patches/0104-Add-server-name-parameter.patch
+++ b/Spigot-Server-Patches/0104-Add-server-name-parameter.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add server-name parameter
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
-index 1ee40506095ed14f50b4b8031bb882e9bea475b5..afbe711acbd1cbaf307513d4fede44bb17b3caae 100644
+index 524c1d4c6d8a45620d534f23f67d75fd8988918b..18a945ea8674390d294e2a978c78ee2b53039aed 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -137,6 +137,14 @@ public class Main {
diff --git a/Spigot-Server-Patches/0109-More-informative-vehicle-moved-wrongly-message.patch b/Spigot-Server-Patches/0109-More-informative-vehicle-moved-wrongly-message.patch
index ebef2819e2..44c53269c3 100644
--- a/Spigot-Server-Patches/0109-More-informative-vehicle-moved-wrongly-message.patch
+++ b/Spigot-Server-Patches/0109-More-informative-vehicle-moved-wrongly-message.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] More informative vehicle moved wrongly message
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index ac5e6f9e0dd9ea62c93076f2810bcfb4dba9a83d..4aaa5e4dd02fe8b3db512facf8465c1f8d2d8c62 100644
+index f9b77ec31b466687eaef2b952b01a2dcf38605c1..c00ada6c10529fd50b0d7fbb1763b6e09287a1fc 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -365,7 +365,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
diff --git a/Spigot-Server-Patches/0111-Optimise-BlockState-s-hashCode-equals.patch b/Spigot-Server-Patches/0111-Optimise-BlockState-s-hashCode-equals.patch
index 4db5da51d8..6df5b76c40 100644
--- a/Spigot-Server-Patches/0111-Optimise-BlockState-s-hashCode-equals.patch
+++ b/Spigot-Server-Patches/0111-Optimise-BlockState-s-hashCode-equals.patch
@@ -8,20 +8,20 @@ object identity checks safely.
Use a simpler optimized hashcode
-diff --git a/src/main/java/net/minecraft/server/BlockState.java b/src/main/java/net/minecraft/server/BlockState.java
+diff --git a/src/main/java/net/minecraft/server/IBlockState.java b/src/main/java/net/minecraft/server/IBlockState.java
index 0ce77d9230f3d1c53df7c5b72a380a2fa0c6d882..00e67b567f00824b25b45e5ff5ecd62c87ea0309 100644
---- a/src/main/java/net/minecraft/server/BlockState.java
-+++ b/src/main/java/net/minecraft/server/BlockState.java
-@@ -28,23 +28,13 @@ public abstract class BlockState> implements IBlockState
+--- a/src/main/java/net/minecraft/server/IBlockState.java
++++ b/src/main/java/net/minecraft/server/IBlockState.java
+@@ -28,23 +28,13 @@ public abstract class IBlockState>
}
public boolean equals(Object object) {
- if (this == object) {
- return true;
-- } else if (!(object instanceof BlockState)) {
+- } else if (!(object instanceof IBlockState)) {
- return false;
- } else {
-- BlockState> blockstate = (BlockState) object;
+- IBlockState> blockstate = (IBlockState) object;
-
- return this.a.equals(blockstate.a) && this.b.equals(blockstate.b);
- }
@@ -44,7 +44,7 @@ diff --git a/src/main/java/net/minecraft/server/BlockStateBoolean.java b/src/mai
index d8738447d794f6967307daa1271473903b76a632..7ca302b522df081755120c597a08d589193c57a6 100644
--- a/src/main/java/net/minecraft/server/BlockStateBoolean.java
+++ b/src/main/java/net/minecraft/server/BlockStateBoolean.java
-@@ -30,8 +30,7 @@ public class BlockStateBoolean extends BlockState {
+@@ -30,8 +30,7 @@ public class BlockStateBoolean extends IBlockState {
return obool.toString();
}
@@ -58,7 +58,7 @@ diff --git a/src/main/java/net/minecraft/server/BlockStateEnum.java b/src/main/j
index 1486d460c8ec3d117b4dc3d28b2c3f1b632e187b..7cdadc6b6abd069f9a1bc000a8f116f73b90e029 100644
--- a/src/main/java/net/minecraft/server/BlockStateEnum.java
+++ b/src/main/java/net/minecraft/server/BlockStateEnum.java
-@@ -49,8 +49,7 @@ public class BlockStateEnum & INamable> extends BlockState
+@@ -49,8 +49,7 @@ public class BlockStateEnum & INamable> extends IBlockState
return ((INamable) t0).getName();
}
@@ -72,7 +72,7 @@ diff --git a/src/main/java/net/minecraft/server/BlockStateInteger.java b/src/mai
index 6f35c365f9086a2289e17b4d8e73757ad2c7f87b..0499a71705f3bdac6c94a8dc340cc15e96d9586e 100644
--- a/src/main/java/net/minecraft/server/BlockStateInteger.java
+++ b/src/main/java/net/minecraft/server/BlockStateInteger.java
-@@ -38,8 +38,7 @@ public class BlockStateInteger extends BlockState {
+@@ -38,8 +38,7 @@ public class BlockStateInteger extends IBlockState {
return this.a;
}
diff --git a/Spigot-Server-Patches/0112-Configurable-packet-in-spam-threshold.patch b/Spigot-Server-Patches/0112-Configurable-packet-in-spam-threshold.patch
index af1a5acf01..03383c0c01 100644
--- a/Spigot-Server-Patches/0112-Configurable-packet-in-spam-threshold.patch
+++ b/Spigot-Server-Patches/0112-Configurable-packet-in-spam-threshold.patch
@@ -23,7 +23,7 @@ index 53f96a1576582fce83999a1f7e9a2624506ed51f..010b17d2e7a27ace6ff8b15edff577c4
+ }
}
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index 4aaa5e4dd02fe8b3db512facf8465c1f8d2d8c62..eec425abe1fd4c9730ab843d003267740216b050 100644
+index c00ada6c10529fd50b0d7fbb1763b6e09287a1fc..6a6739bba0ad9a5fadac7a49e698c2435200c1fc 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -1204,13 +1204,14 @@ public class PlayerConnection implements PacketListenerPlayIn {
diff --git a/Spigot-Server-Patches/0113-Configurable-flying-kick-messages.patch b/Spigot-Server-Patches/0113-Configurable-flying-kick-messages.patch
index d5362c5064..fa29bc96ad 100644
--- a/Spigot-Server-Patches/0113-Configurable-flying-kick-messages.patch
+++ b/Spigot-Server-Patches/0113-Configurable-flying-kick-messages.patch
@@ -21,7 +21,7 @@ index 010b17d2e7a27ace6ff8b15edff577c4164d2e81..5a83fc21cb6801d597a01fb4a83d3048
+ }
}
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index eec425abe1fd4c9730ab843d003267740216b050..eb3ed0d8757c59b387cd74a6df7371c356bd6d3a 100644
+index 6a6739bba0ad9a5fadac7a49e698c2435200c1fc..7ed21a99e9025837bc5c38efa542df85dc2eb248 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -147,7 +147,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
diff --git a/Spigot-Server-Patches/0118-Add-EntityZapEvent.patch b/Spigot-Server-Patches/0118-Add-EntityZapEvent.patch
index 5e2b15d0cb..1a72bb4223 100644
--- a/Spigot-Server-Patches/0118-Add-EntityZapEvent.patch
+++ b/Spigot-Server-Patches/0118-Add-EntityZapEvent.patch
@@ -39,7 +39,7 @@ index f72347050302e4cb99d4c9b71b7e8acab545ea59..5e3835851d8c5e804542c256a54187e4
entitywitch.prepare(this.world, this.world.getDamageScaler(new BlockPosition(entitywitch)), 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 b04ce0ee06ec21f87d605904e602ddc8d45a2aae..d739605ded8d81632c491af92322e02b4716c0b1 100644
+index 37b0776ed580995024008e81254b8a8516641e3f..26e29e0f37b9d4f23b4928c5aeef1da184efe3fc 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1053,6 +1053,14 @@ public class CraftEventFactory {
diff --git a/Spigot-Server-Patches/0123-Add-source-to-PlayerExpChangeEvent.patch b/Spigot-Server-Patches/0123-Add-source-to-PlayerExpChangeEvent.patch
index 2d229c5916..8ef90a2803 100644
--- a/Spigot-Server-Patches/0123-Add-source-to-PlayerExpChangeEvent.patch
+++ b/Spigot-Server-Patches/0123-Add-source-to-PlayerExpChangeEvent.patch
@@ -18,7 +18,7 @@ index f72bb0c13806c3fadcbbf345f3533c115a200a7f..0447800d9dc341af647a928abd8b7993
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 d739605ded8d81632c491af92322e02b4716c0b1..0c79171ba166846c7136ec6e89fd2a41f99ed260 100644
+index 26e29e0f37b9d4f23b4928c5aeef1da184efe3fc..d9997278d335901138ff8bd29faaf88d4e0f36cf 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -117,6 +117,7 @@ import org.bukkit.entity.ThrownPotion;
diff --git a/Spigot-Server-Patches/0125-Add-ProjectileCollideEvent.patch b/Spigot-Server-Patches/0125-Add-ProjectileCollideEvent.patch
index a424564583..998300bfa5 100644
--- a/Spigot-Server-Patches/0125-Add-ProjectileCollideEvent.patch
+++ b/Spigot-Server-Patches/0125-Add-ProjectileCollideEvent.patch
@@ -93,7 +93,7 @@ index 2e4c9d42677d3e48a8f8ad559a723fc4eeec07e3..724b78b5d2d7f4ce8de31c763d2d95b9
this.c(((MovingObjectPositionBlock) movingobjectposition).getBlockPosition());
} else {
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 0c79171ba166846c7136ec6e89fd2a41f99ed260..48008ca8b7632a9cfbf78ee8a142af9c8e2e91b6 100644
+index d9997278d335901138ff8bd29faaf88d4e0f36cf..f1a4de57282f3553f34245122bf15130420f558b 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1157,6 +1157,16 @@ public class CraftEventFactory {
diff --git a/Spigot-Server-Patches/0127-Optimize-World.isLoaded-BlockPosition-Z.patch b/Spigot-Server-Patches/0127-Optimize-World.isLoaded-BlockPosition-Z.patch
index 8a7422d28f..8eb7ae2704 100644
--- a/Spigot-Server-Patches/0127-Optimize-World.isLoaded-BlockPosition-Z.patch
+++ b/Spigot-Server-Patches/0127-Optimize-World.isLoaded-BlockPosition-Z.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Optimize World.isLoaded(BlockPosition)Z
Reduce method invocations for World.isLoaded(BlockPosition)Z
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index fd8724c755d4129c0f3fbd6e0730def09dba1e55..184ea74726078809ae1b6df320d37532fa0d26ab 100644
+index 5dd504ea0b0d0ca7e7cd8c33473177f95c54bd8c..203c4173ff2467a027da059b2d473ec1a90bb88b 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -225,6 +225,11 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
diff --git a/Spigot-Server-Patches/0132-Properly-fix-item-duplication-bug.patch b/Spigot-Server-Patches/0132-Properly-fix-item-duplication-bug.patch
index 38e21f3efd..777cb2cbff 100644
--- a/Spigot-Server-Patches/0132-Properly-fix-item-duplication-bug.patch
+++ b/Spigot-Server-Patches/0132-Properly-fix-item-duplication-bug.patch
@@ -19,7 +19,7 @@ index 482d7b7cb6b89d79b2ce54338130481f9f1c8c24..bf32997c422d478699c32ce0539a65c3
@Override
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index eb3ed0d8757c59b387cd74a6df7371c356bd6d3a..fbaf234e8400dc14dc2421c87c80eb887ba44fef 100644
+index 7ed21a99e9025837bc5c38efa542df85dc2eb248..d6f5f176d4b5a39ddea4a9dc31a2322cc7d9d2d0 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -2526,7 +2526,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
diff --git a/Spigot-Server-Patches/0136-Provide-E-TE-Chunk-count-stat-methods.patch b/Spigot-Server-Patches/0136-Provide-E-TE-Chunk-count-stat-methods.patch
index 7eb6fa96ad..28a446b8df 100644
--- a/Spigot-Server-Patches/0136-Provide-E-TE-Chunk-count-stat-methods.patch
+++ b/Spigot-Server-Patches/0136-Provide-E-TE-Chunk-count-stat-methods.patch
@@ -7,7 +7,7 @@ Provides counts without the ineffeciency of using .getEntities().size()
which creates copy of the collections.
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 3f420be58afb3721cef9caa413a2292a57406d19..32e96bc05704f10ac4830a661bd6abb71b71f487 100644
+index 1e4f45ef7e10156d6a48d907490009123028bff2..4ca9ddacb7da760b31d405e77b691ef6d8ff534a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -278,6 +278,48 @@ public class CraftWorld implements World {
diff --git a/Spigot-Server-Patches/0137-Enforce-Sync-Player-Saves.patch b/Spigot-Server-Patches/0137-Enforce-Sync-Player-Saves.patch
index 8f197b5f9e..ba5eace7d2 100644
--- a/Spigot-Server-Patches/0137-Enforce-Sync-Player-Saves.patch
+++ b/Spigot-Server-Patches/0137-Enforce-Sync-Player-Saves.patch
@@ -7,7 +7,7 @@ Saving players async is extremely dangerous. This will force it to main
the same way we handle async chunk loads.
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index aeb0a77d9aaf3877310528286a481f71fd5a4290..a97941d1f8a125c6d033b1d359c1527937f97799 100644
+index 0f09cacf6d67dab5bc7962f19fcf3eba85ada4ff..18c81bdcf206ecaa331cc5186a29ad321870b57f 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -918,11 +918,13 @@ public abstract class PlayerList {
diff --git a/Spigot-Server-Patches/0139-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch b/Spigot-Server-Patches/0139-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch
index 570232f963..aef7659aec 100644
--- a/Spigot-Server-Patches/0139-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch
+++ b/Spigot-Server-Patches/0139-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch
@@ -147,7 +147,7 @@ index 807ec3394db7bef29bf92f2c200fd76f96df03ab..73f5961aa331aa94fbbc57c5b4db9bc4
// CraftBukkit end
if (itemstack1.getItem().a(TagsItem.FISHES)) {
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index 56c8b56b06a67e90c05f21c8141e61df7c9aafb1..306435c1c6f28ad1a891d4ee8c124b14a83ae25b 100644
+index 9ba0bf40f823003a5966244e7cdde4e3e11da9ec..78785c11166e3541ee9ad1615c5e6fa46cfea523 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -1379,7 +1379,8 @@ public abstract class EntityLiving extends Entity {
diff --git a/Spigot-Server-Patches/0140-Cap-Entity-Collisions.patch b/Spigot-Server-Patches/0140-Cap-Entity-Collisions.patch
index fdb5db8220..6fd28f793a 100644
--- a/Spigot-Server-Patches/0140-Cap-Entity-Collisions.patch
+++ b/Spigot-Server-Patches/0140-Cap-Entity-Collisions.patch
@@ -39,7 +39,7 @@ index 63649936525efd33f50c602f6d723085edb2896e..0b971ad8addd65850162e46707c15fbc
// Spigot end
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index 306435c1c6f28ad1a891d4ee8c124b14a83ae25b..639d113de3fa1bbb610c596b84121ccde58f2622 100644
+index 78785c11166e3541ee9ad1615c5e6fa46cfea523..f4d68a5f0a6d28f278596cb6787d070bacd792a4 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -2626,8 +2626,11 @@ public abstract class EntityLiving extends Entity {
diff --git a/Spigot-Server-Patches/0143-Do-not-let-armorstands-drown.patch b/Spigot-Server-Patches/0143-Do-not-let-armorstands-drown.patch
index a23d9d8a1e..2be226b132 100644
--- a/Spigot-Server-Patches/0143-Do-not-let-armorstands-drown.patch
+++ b/Spigot-Server-Patches/0143-Do-not-let-armorstands-drown.patch
@@ -20,7 +20,7 @@ index 176af6c889fa29d5df7c822f888cdc26f81110e6..992d7bfb0fd26540fbdeaf8d7845e8c2
// Paper end
}
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index 639d113de3fa1bbb610c596b84121ccde58f2622..e6b48cc0eafc4612181495a1f412fd4f411ab0e5 100644
+index f4d68a5f0a6d28f278596cb6787d070bacd792a4..28d873d8fe7bb79d2a84eb9bf234ac8ba0223813 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -227,6 +227,7 @@ public abstract class EntityLiving extends Entity {
diff --git a/Spigot-Server-Patches/0144-Properly-handle-async-calls-to-restart-the-server.patch b/Spigot-Server-Patches/0144-Properly-handle-async-calls-to-restart-the-server.patch
index 424206522e..7781480243 100644
--- a/Spigot-Server-Patches/0144-Properly-handle-async-calls-to-restart-the-server.patch
+++ b/Spigot-Server-Patches/0144-Properly-handle-async-calls-to-restart-the-server.patch
@@ -73,7 +73,7 @@ index 629304c403c596bf81dd8de919f0fcb5c77bd403..80d8b0b0eac47b8d8e62db60da9daf0d
// Spigot Start
private static double calcTps(double avg, double exp, double tps)
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index a97941d1f8a125c6d033b1d359c1527937f97799..940c3acfa0dee0d454a1cc10dd3ca3862fd7b030 100644
+index 18c81bdcf206ecaa331cc5186a29ad321870b57f..d6af965c9d391ee802d0d65110fe62f1eacbac98 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -1031,10 +1031,15 @@ public abstract class PlayerList {
diff --git a/Spigot-Server-Patches/0146-Add-option-to-make-parrots-stay-on-shoulders-despite.patch b/Spigot-Server-Patches/0146-Add-option-to-make-parrots-stay-on-shoulders-despite.patch
index e346d63b72..c5d23873a9 100644
--- a/Spigot-Server-Patches/0146-Add-option-to-make-parrots-stay-on-shoulders-despite.patch
+++ b/Spigot-Server-Patches/0146-Add-option-to-make-parrots-stay-on-shoulders-despite.patch
@@ -39,7 +39,7 @@ index 0e8ba05455161883c86df6606104fab3529c3c0c..ad79e4521cee699de86a94885b273563
}
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index fbaf234e8400dc14dc2421c87c80eb887ba44fef..08211fd37ab7916586c0579cfb9c014c29553991 100644
+index d6f5f176d4b5a39ddea4a9dc31a2322cc7d9d2d0..26f894c752d623ed082f97fdbffe5a6680a941b7 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -1773,6 +1773,13 @@ public class PlayerConnection implements PacketListenerPlayIn {
diff --git a/Spigot-Server-Patches/0148-Use-TerminalConsoleAppender-for-console-improvements.patch b/Spigot-Server-Patches/0148-Use-TerminalConsoleAppender-for-console-improvements.patch
index 561fe6d2d0..2e701fd660 100644
--- a/Spigot-Server-Patches/0148-Use-TerminalConsoleAppender-for-console-improvements.patch
+++ b/Spigot-Server-Patches/0148-Use-TerminalConsoleAppender-for-console-improvements.patch
@@ -245,7 +245,7 @@ index 80d8b0b0eac47b8d8e62db60da9daf0da8671fb3..ed32242bd169e9f28607942aa31aa48a
public KeyPair getKeyPair() {
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index da5220728afbed353432b4c0399138d47f678ed1..63838572f60c9413b9531197b96783f3c77bd0f8 100644
+index d6af965c9d391ee802d0d65110fe62f1eacbac98..6b669f0f632418d36617c980b01cfcd0ef7487c2 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -76,8 +76,7 @@ public abstract class PlayerList {
diff --git a/Spigot-Server-Patches/0162-ProfileWhitelistVerifyEvent.patch b/Spigot-Server-Patches/0162-ProfileWhitelistVerifyEvent.patch
index a57bf98a3d..22b195fadf 100644
--- a/Spigot-Server-Patches/0162-ProfileWhitelistVerifyEvent.patch
+++ b/Spigot-Server-Patches/0162-ProfileWhitelistVerifyEvent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] ProfileWhitelistVerifyEvent
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index 0b403f08bed136916969b927c04078c14697803e..1800a6c86b2150b8183acdce3a7f6daa1c9a350b 100644
+index 6b669f0f632418d36617c980b01cfcd0ef7487c2..46ea6d8e487d0c051780b0bdb06622e515cd987f 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -509,9 +509,9 @@ public abstract class PlayerList {
diff --git a/Spigot-Server-Patches/0163-Fix-this-stupid-bullshit.patch b/Spigot-Server-Patches/0163-Fix-this-stupid-bullshit.patch
index e5fb521c2e..9f78361c93 100644
--- a/Spigot-Server-Patches/0163-Fix-this-stupid-bullshit.patch
+++ b/Spigot-Server-Patches/0163-Fix-this-stupid-bullshit.patch
@@ -9,7 +9,7 @@ modified in order to prevent merge conflicts when Spigot changes/disables the wa
and to provide some level of hint without being disruptive.
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
-index fc07fdb590475ccaa09875b8fcbb81adc0db5e66..bf0a020189425d6507fa75f68f8e754723c58818 100644
+index c3641ca48bfe4051f6450c891ccd4dd023257cb5..9b4f01120d473a4fea993a5df952e265b33cde0b 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -218,10 +218,12 @@ public class Main {
diff --git a/Spigot-Server-Patches/0166-Fix-MC-117075-TE-Unload-Lag-Spike.patch b/Spigot-Server-Patches/0166-Fix-MC-117075-TE-Unload-Lag-Spike.patch
index 927fe63722..00698ecb31 100644
--- a/Spigot-Server-Patches/0166-Fix-MC-117075-TE-Unload-Lag-Spike.patch
+++ b/Spigot-Server-Patches/0166-Fix-MC-117075-TE-Unload-Lag-Spike.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix MC-117075: TE Unload Lag Spike
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 184ea74726078809ae1b6df320d37532fa0d26ab..08f22545393148e91bec3d4a091092eab6828711 100644
+index 203c4173ff2467a027da059b2d473ec1a90bb88b..d8509ccdb01be022d5aa216b05fd97faeebd53a9 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -648,7 +648,11 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
diff --git a/Spigot-Server-Patches/0168-LivingEntity-setKiller.patch b/Spigot-Server-Patches/0168-LivingEntity-setKiller.patch
index 7389c25b87..5c8b4eb3c0 100644
--- a/Spigot-Server-Patches/0168-LivingEntity-setKiller.patch
+++ b/Spigot-Server-Patches/0168-LivingEntity-setKiller.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] LivingEntity#setKiller
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index e6b48cc0eafc4612181495a1f412fd4f411ab0e5..88688be66880d406705a89efabbd7c509b7e7b8c 100644
+index 28d873d8fe7bb79d2a84eb9bf234ac8ba0223813..ca2620548c7c80beab09554b96d8e55e499614f8 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -80,7 +80,7 @@ public abstract class EntityLiving extends Entity {
diff --git a/Spigot-Server-Patches/0173-Add-PlayerJumpEvent.patch b/Spigot-Server-Patches/0173-Add-PlayerJumpEvent.patch
index b9446e8ea0..f46cc03fa4 100644
--- a/Spigot-Server-Patches/0173-Add-PlayerJumpEvent.patch
+++ b/Spigot-Server-Patches/0173-Add-PlayerJumpEvent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add PlayerJumpEvent
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index 08211fd37ab7916586c0579cfb9c014c29553991..8da65ed9d96bc7fa3ebac27c2ac35c3bc97fd1f1 100644
+index 26f894c752d623ed082f97fdbffe5a6680a941b7..2fd9f9ceddd108f0d733ea481d5b5c7d4506329c 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -58,6 +58,8 @@ import org.bukkit.inventory.CraftingInventory;
diff --git a/Spigot-Server-Patches/0174-handle-PacketPlayInKeepAlive-async.patch b/Spigot-Server-Patches/0174-handle-PacketPlayInKeepAlive-async.patch
index f791ff0f87..da0e511ec9 100644
--- a/Spigot-Server-Patches/0174-handle-PacketPlayInKeepAlive-async.patch
+++ b/Spigot-Server-Patches/0174-handle-PacketPlayInKeepAlive-async.patch
@@ -15,7 +15,7 @@ also adding some additional logging in order to help work out what is causing
random disconnections for clients.
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index 8da65ed9d96bc7fa3ebac27c2ac35c3bc97fd1f1..1e81032f3118fb0c572ffe1ac975e60d30f94d67 100644
+index 2fd9f9ceddd108f0d733ea481d5b5c7d4506329c..7512764532fc3403cf1daa31079fe739820facde 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -2487,14 +2487,18 @@ public class PlayerConnection implements PacketListenerPlayIn {
diff --git a/Spigot-Server-Patches/0176-revert-serverside-behavior-of-keepalives.patch b/Spigot-Server-Patches/0176-revert-serverside-behavior-of-keepalives.patch
index a39e2c78af..a7aa14f47b 100644
--- a/Spigot-Server-Patches/0176-revert-serverside-behavior-of-keepalives.patch
+++ b/Spigot-Server-Patches/0176-revert-serverside-behavior-of-keepalives.patch
@@ -17,7 +17,7 @@ from networking or during connections flood of chunk packets on slower clients,
at the cost of dead connections being kept open for longer.
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index 1e81032f3118fb0c572ffe1ac975e60d30f94d67..be52533ef59c7a21119b8308247a5c8092a7db26 100644
+index 7512764532fc3403cf1daa31079fe739820facde..7d0fa2efe876d5de8b4bafd2be1a1323ea630410 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -70,7 +70,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
diff --git a/Spigot-Server-Patches/0177-Send-attack-SoundEffects-only-to-players-who-can-see.patch b/Spigot-Server-Patches/0177-Send-attack-SoundEffects-only-to-players-who-can-see.patch
index ecbbf5a655..3b4cf3e485 100644
--- a/Spigot-Server-Patches/0177-Send-attack-SoundEffects-only-to-players-who-can-see.patch
+++ b/Spigot-Server-Patches/0177-Send-attack-SoundEffects-only-to-players-who-can-see.patch
@@ -72,7 +72,7 @@ index 8e5edd2c9b7cc9a441969efeb666061515188486..542f935b4e7a027b3df82f037fcd6523
entity.extinguish();
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 08f22545393148e91bec3d4a091092eab6828711..b3e01415110d6a714b6cd5a94bf747a1481d72ab 100644
+index d8509ccdb01be022d5aa216b05fd97faeebd53a9..4e41b4262971401d90a96cd7710890e5048d5b63 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -585,6 +585,11 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
diff --git a/Spigot-Server-Patches/0178-Option-for-maximum-exp-value-when-merging-orbs.patch b/Spigot-Server-Patches/0178-Option-for-maximum-exp-value-when-merging-orbs.patch
index 0cdf0fc353..8e9e680006 100644
--- a/Spigot-Server-Patches/0178-Option-for-maximum-exp-value-when-merging-orbs.patch
+++ b/Spigot-Server-Patches/0178-Option-for-maximum-exp-value-when-merging-orbs.patch
@@ -20,7 +20,7 @@ index 39ab5457569684bc66cd67f5f9d2505ef9f304ab..d2582d981f859b55ba5086540963c01e
+ }
}
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 48008ca8b7632a9cfbf78ee8a142af9c8e2e91b6..90349d76a77a13094ca6476cc0dafaf526187946 100644
+index f1a4de57282f3553f34245122bf15130420f558b..d012376c134886cdf692bfe29e6154a618f932ea 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -550,16 +550,32 @@ public class CraftEventFactory {
diff --git a/Spigot-Server-Patches/0179-Add-PlayerArmorChangeEvent.patch b/Spigot-Server-Patches/0179-Add-PlayerArmorChangeEvent.patch
index 1100cc9e16..b867534ca7 100644
--- a/Spigot-Server-Patches/0179-Add-PlayerArmorChangeEvent.patch
+++ b/Spigot-Server-Patches/0179-Add-PlayerArmorChangeEvent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add PlayerArmorChangeEvent
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index 88688be66880d406705a89efabbd7c509b7e7b8c..c5c0fc3877fa6c8602e4468d5702612d986891f9 100644
+index ca2620548c7c80beab09554b96d8e55e499614f8..f5da67fd8908f027835b837a8b847e27c3638790 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -1,5 +1,6 @@
diff --git a/Spigot-Server-Patches/0181-use-CB-BlockState-implementations-for-captured-block.patch b/Spigot-Server-Patches/0181-use-CB-BlockState-implementations-for-captured-block.patch
index 89e508c6ed..ca68041251 100644
--- a/Spigot-Server-Patches/0181-use-CB-BlockState-implementations-for-captured-block.patch
+++ b/Spigot-Server-Patches/0181-use-CB-BlockState-implementations-for-captured-block.patch
@@ -18,7 +18,7 @@ the blockstate that will be valid for restoration, as opposed to dropping
information on restoration when the event is cancelled.
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index b3e01415110d6a714b6cd5a94bf747a1481d72ab..08bed18ad6f78c6aad444eeb5a321887d90e5829 100644
+index 4e41b4262971401d90a96cd7710890e5048d5b63..6603392f475f0bfe7af259a54ba9bb3469c18541 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -66,7 +66,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
diff --git a/Spigot-Server-Patches/0182-API-to-get-a-BlockState-without-a-snapshot.patch b/Spigot-Server-Patches/0182-API-to-get-a-BlockState-without-a-snapshot.patch
index cb6a1928fe..6f6ca899dc 100644
--- a/Spigot-Server-Patches/0182-API-to-get-a-BlockState-without-a-snapshot.patch
+++ b/Spigot-Server-Patches/0182-API-to-get-a-BlockState-without-a-snapshot.patch
@@ -39,7 +39,7 @@ index 630b279158f26902ebdcc6e5c810b189ce49c910..958279249fdadfe5c2808d2a046636f0
return null;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
-index 6bf73af21ceb52708013b1e25373fa42ddbefb2b..30b7c9038d3a95b80304e052a5d629b461f76e99 100644
+index 5a1629a19f082235f91913736d78509d44f8fd67..dd0bccd6995a79c52ec20cf45df27bb7ed06a5e6 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
@@ -308,6 +308,20 @@ public class CraftBlock implements Block {
diff --git a/Spigot-Server-Patches/0183-AsyncTabCompleteEvent.patch b/Spigot-Server-Patches/0183-AsyncTabCompleteEvent.patch
index bbf50969bb..cd18e4ad58 100644
--- a/Spigot-Server-Patches/0183-AsyncTabCompleteEvent.patch
+++ b/Spigot-Server-Patches/0183-AsyncTabCompleteEvent.patch
@@ -14,7 +14,7 @@ completion, such as offline players.
Also adds isCommand and getLocation to the sync TabCompleteEvent
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index be52533ef59c7a21119b8308247a5c8092a7db26..5cb402156dc29eb27b17266490f2a5ff88ba9dea 100644
+index 7d0fa2efe876d5de8b4bafd2be1a1323ea630410..c256e798d12098881cb5bfb655eab5b63f1614e7 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -524,10 +524,10 @@ public class PlayerConnection implements PacketListenerPlayIn {
diff --git a/Spigot-Server-Patches/0186-ExperienceOrbMergeEvent.patch b/Spigot-Server-Patches/0186-ExperienceOrbMergeEvent.patch
index fc73d734f2..7a67c40952 100644
--- a/Spigot-Server-Patches/0186-ExperienceOrbMergeEvent.patch
+++ b/Spigot-Server-Patches/0186-ExperienceOrbMergeEvent.patch
@@ -8,7 +8,7 @@ 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 90349d76a77a13094ca6476cc0dafaf526187946..43965bea87e5884fa0f6b7838abbade08ce5c536 100644
+index d012376c134886cdf692bfe29e6154a618f932ea..6d7236d3dcdb70cc1f33f462d08e78720045ccd0 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -560,7 +560,7 @@ public class CraftEventFactory {
diff --git a/Spigot-Server-Patches/0191-Add-setPlayerProfile-API-for-Skulls.patch b/Spigot-Server-Patches/0191-Add-setPlayerProfile-API-for-Skulls.patch
index b2286d9154..02559230ee 100644
--- a/Spigot-Server-Patches/0191-Add-setPlayerProfile-API-for-Skulls.patch
+++ b/Spigot-Server-Patches/0191-Add-setPlayerProfile-API-for-Skulls.patch
@@ -48,7 +48,7 @@ index 20588598386a4f479e6a58b294149bed789c63ce..ecc32c2fb1e8e1ac03074102b982adb4
public BlockFace getRotation() {
BlockData blockData = getBlockData();
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java
-index 35eda0a03cfec244103cfe4b998f9d2b9322fe69..109edb76618025651d05689d9db52248220550ca 100644
+index c31011ff91f4ea8368e3afbc5ec07eff84e93fe2..21e7a661739da84e6ec7a20c81cefcb0440484a2 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java
@@ -3,6 +3,8 @@ package org.bukkit.craftbukkit.inventory;
diff --git a/Spigot-Server-Patches/0201-Implement-extended-PaperServerListPingEvent.patch b/Spigot-Server-Patches/0201-Implement-extended-PaperServerListPingEvent.patch
index 14a54576e3..a59630a807 100644
--- a/Spigot-Server-Patches/0201-Implement-extended-PaperServerListPingEvent.patch
+++ b/Spigot-Server-Patches/0201-Implement-extended-PaperServerListPingEvent.patch
@@ -177,7 +177,7 @@ index 0000000000000000000000000000000000000000..a85466bc7e0a8aa54b9eff14077fe6c9
+
+}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 4a513aaea587414cf6abc1c136e52420d59688d8..d1667eba3398efecc8913c2778931030a90d6195 100644
+index 54f80cb8e1b771f2a493543e04f8bc8346a391dc..e7ee0e9b9b68f1fe31e189fbfd7e5b175a288a50 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1,6 +1,9 @@
diff --git a/Spigot-Server-Patches/0213-Fix-exploit-that-allowed-colored-signs-to-be-created.patch b/Spigot-Server-Patches/0213-Fix-exploit-that-allowed-colored-signs-to-be-created.patch
index 545295c55c..fa360cc099 100644
--- a/Spigot-Server-Patches/0213-Fix-exploit-that-allowed-colored-signs-to-be-created.patch
+++ b/Spigot-Server-Patches/0213-Fix-exploit-that-allowed-colored-signs-to-be-created.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix exploit that allowed colored signs to be created
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index 5cb402156dc29eb27b17266490f2a5ff88ba9dea..ab9ab7a88dde29ac141753e1f1e9c0ff87d199cd 100644
+index c256e798d12098881cb5bfb655eab5b63f1614e7..a357b6167405be4034cf3dad4124827e04278366 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -2502,7 +2502,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
diff --git a/Spigot-Server-Patches/0230-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch b/Spigot-Server-Patches/0230-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch
index 62612213b1..5f08c8d0fe 100644
--- a/Spigot-Server-Patches/0230-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch
+++ b/Spigot-Server-Patches/0230-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch
@@ -72,7 +72,7 @@ index 7be41c8698e86727978db7d72b3dd3fbfe6b7272..60a47bccca5bc77039c0bec94eb329b3
event.getProjectile().remove();
return;
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 43965bea87e5884fa0f6b7838abbade08ce5c536..3a897cf5903539e1099f1a9ec98f1e157437fee0 100644
+index 6d7236d3dcdb70cc1f33f462d08e78720045ccd0..b9e011256f0c8f67808ebebb5e9dc63d3358849f 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -52,6 +52,7 @@ import net.minecraft.server.GeneratorAccess;
diff --git a/Spigot-Server-Patches/0233-Implement-EntityKnockbackByEntityEvent.patch b/Spigot-Server-Patches/0233-Implement-EntityKnockbackByEntityEvent.patch
index 2b57a2e338..5e2f5954c3 100644
--- a/Spigot-Server-Patches/0233-Implement-EntityKnockbackByEntityEvent.patch
+++ b/Spigot-Server-Patches/0233-Implement-EntityKnockbackByEntityEvent.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Implement EntityKnockbackByEntityEvent
This event is called when an entity receives knockback by another entity.
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index 8f6fe004a40b693d1a9945dcab0625c5e9346c01..c1e6792e0d75647108127bcf43bdc9e7bf18aea3 100644
+index 1a1d608f5acfc92e3e55e53f63c9da6ab0aa6a0a..2a567dca19034ed9071ef09b5371eabb5fff557c 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -1421,6 +1421,16 @@ public abstract class EntityLiving extends Entity {
diff --git a/Spigot-Server-Patches/0242-Refresh-player-inventory-when-cancelling-PlayerInter.patch b/Spigot-Server-Patches/0242-Refresh-player-inventory-when-cancelling-PlayerInter.patch
index cdd72c5f12..f3b5d4e6a0 100644
--- a/Spigot-Server-Patches/0242-Refresh-player-inventory-when-cancelling-PlayerInter.patch
+++ b/Spigot-Server-Patches/0242-Refresh-player-inventory-when-cancelling-PlayerInter.patch
@@ -16,7 +16,7 @@ Refresh the player inventory when PlayerInteractEntityEvent is
cancelled to avoid this problem.
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index eb53d8bb5c36482c39afeb6c324a620d2c7b21fb..4fb5c47fc8505c6a6e68d21a240887a0cbe10d14 100644
+index 0c9e46a8973436a4438730a49986c88f12829be1..a46ef5e72d03a32e22cfd77b2581de70edcc686a 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -1950,6 +1950,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
diff --git a/Spigot-Server-Patches/0248-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch b/Spigot-Server-Patches/0248-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch
index 18a7c99300..8ea3b8bb72 100644
--- a/Spigot-Server-Patches/0248-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch
+++ b/Spigot-Server-Patches/0248-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch
@@ -40,7 +40,7 @@ index 7804cc0f6a02d14f4adbe05b37e8470a382c0d26..4ee26ff08f7a058648ab54f0dcd81b46
protected void g() {
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 08bed18ad6f78c6aad444eeb5a321887d90e5829..9a001a2a7934dc87f3e57d3388a8a888ec43908b 100644
+index 6603392f475f0bfe7af259a54ba9bb3469c18541..fb719c5e18bcfa0e424c67c6b23c5abedd234f79 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -63,6 +63,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
diff --git a/Spigot-Server-Patches/0253-Option-to-prevent-armor-stands-from-doing-entity-loo.patch b/Spigot-Server-Patches/0253-Option-to-prevent-armor-stands-from-doing-entity-loo.patch
index 036d18d06a..50bfc2319b 100644
--- a/Spigot-Server-Patches/0253-Option-to-prevent-armor-stands-from-doing-entity-loo.patch
+++ b/Spigot-Server-Patches/0253-Option-to-prevent-armor-stands-from-doing-entity-loo.patch
@@ -19,7 +19,7 @@ index 387e0dcb9f01ad947daaa19211331a96742ce004..eaaa51e4bf761f41fd516402ce1ad0f9
+ }
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 9a001a2a7934dc87f3e57d3388a8a888ec43908b..688d98dd1e6e5d2e17c8fc04e105fdc0ee649574 100644
+index fb719c5e18bcfa0e424c67c6b23c5abedd234f79..52d0b9e37b222274cccd2a7a872f61a6a72f2f06 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -782,6 +782,14 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
diff --git a/Spigot-Server-Patches/0254-Vanished-players-don-t-have-rights.patch b/Spigot-Server-Patches/0254-Vanished-players-don-t-have-rights.patch
index 9d2d19bd03..273b9575ca 100644
--- a/Spigot-Server-Patches/0254-Vanished-players-don-t-have-rights.patch
+++ b/Spigot-Server-Patches/0254-Vanished-players-don-t-have-rights.patch
@@ -97,7 +97,7 @@ index 0e30d8c9933dc6595b9715ef6dc99cc8910892cb..335142ec0dfad822cfe40877e99dec0f
if (operatorboolean.apply(false, false)) {
throw (IllegalArgumentException) SystemUtils.c(new IllegalArgumentException());
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 688d98dd1e6e5d2e17c8fc04e105fdc0ee649574..037770cde15a72192f0f45fdac33f8bd66ba646c 100644
+index 52d0b9e37b222274cccd2a7a872f61a6a72f2f06..2db91e85bd5e95d15b607a96114f33b6e7687b19 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -153,6 +153,46 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -148,7 +148,7 @@ index 688d98dd1e6e5d2e17c8fc04e105fdc0ee649574..037770cde15a72192f0f45fdac33f8bd
public boolean p_() {
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 6ca6ba46d0dd511072f518baa3aae6dc8281ef66..0125bf43e3383fddf7c36d831d19cca3f1ee3fae 100644
+index 4a76402c01dfe6525bae8728da2dde6e5d673765..dccc187c6198ce2e8824b8460347586ccf5c6741 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1179,6 +1179,14 @@ public class CraftEventFactory {
diff --git a/Spigot-Server-Patches/0257-EntityTransformedEvent.patch b/Spigot-Server-Patches/0257-EntityTransformedEvent.patch
index 5b5b04366c..53a2e0a865 100644
--- a/Spigot-Server-Patches/0257-EntityTransformedEvent.patch
+++ b/Spigot-Server-Patches/0257-EntityTransformedEvent.patch
@@ -29,7 +29,7 @@ index 6ca4fa43c41ad555c093b90cf08cfdb1e73fda22..6e0020ae0b4d2f2597843129b83fff0d
// CraftBukkit end
this.die();
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
-index 0240cef74aaa7f9fcfea40106267ee2e8d39f133..31aba6bfc3c196cc0c664c0e139f0f8eb7c804b4 100644
+index 83d5731b7f964136edf7cfabb96421e0788d067a..97a1dedf7460d513a560d722b2e0f1bf09fe669c 100644
--- a/src/main/java/net/minecraft/server/EntityZombie.java
+++ b/src/main/java/net/minecraft/server/EntityZombie.java
@@ -257,6 +257,7 @@ public class EntityZombie extends EntityMonster {
@@ -49,7 +49,7 @@ index 0240cef74aaa7f9fcfea40106267ee2e8d39f133..31aba6bfc3c196cc0c664c0e139f0f8e
this.world.addEntity(entityzombievillager, CreatureSpawnEvent.SpawnReason.INFECTION); // CraftBukkit - add SpawnReason
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/server/EntityZombieVillager.java b/src/main/java/net/minecraft/server/EntityZombieVillager.java
-index 91cac5d53035d5ba6fca14549bc373bc36347f23..8082fa617a10448ce81b82045e1619311aca2f4b 100644
+index 5c2d132c3a495650c5c279065e6659a88de0421d..b1818d269a78b6cb5594dd2f21c91ab1452649f7 100644
--- a/src/main/java/net/minecraft/server/EntityZombieVillager.java
+++ b/src/main/java/net/minecraft/server/EntityZombieVillager.java
@@ -197,6 +197,7 @@ public class EntityZombieVillager extends EntityZombie implements VillagerDataHo
diff --git a/Spigot-Server-Patches/0265-Break-up-and-make-tab-spam-limits-configurable.patch b/Spigot-Server-Patches/0265-Break-up-and-make-tab-spam-limits-configurable.patch
index b078dbfe95..4158686238 100644
--- a/Spigot-Server-Patches/0265-Break-up-and-make-tab-spam-limits-configurable.patch
+++ b/Spigot-Server-Patches/0265-Break-up-and-make-tab-spam-limits-configurable.patch
@@ -45,7 +45,7 @@ index 26ab855dcf38446a3d8577108bd16fdbb76126b2..adef07d4d521b4aaa6f3389b04aa27e2
+ }
}
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index 4fb5c47fc8505c6a6e68d21a240887a0cbe10d14..94469cf71f6617cd4fd9682781c8a3ef04ff3f9b 100644
+index a46ef5e72d03a32e22cfd77b2581de70edcc686a..e7ad580740bab3e102f32bd715c6b01a0e721e09 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -76,6 +76,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
diff --git a/Spigot-Server-Patches/0266-Add-hand-to-bucket-events.patch b/Spigot-Server-Patches/0266-Add-hand-to-bucket-events.patch
index 6ef868cfa4..2a6aeb13c4 100644
--- a/Spigot-Server-Patches/0266-Add-hand-to-bucket-events.patch
+++ b/Spigot-Server-Patches/0266-Add-hand-to-bucket-events.patch
@@ -69,7 +69,7 @@ index 7c5c0498435e3fae6a7997e34f197d402daa3bd8..ffe4b9eb868ecd9582ba1d3fc3aef0f8
((EntityPlayer) entityhuman).playerConnection.sendPacket(new PacketPlayOutBlockChange(world, blockposition)); // SPIGOT-4238: needed when looking through entity
((EntityPlayer) entityhuman).getBukkitEntity().updateInventory(); // SPIGOT-4541
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 0125bf43e3383fddf7c36d831d19cca3f1ee3fae..4329780e9de3337fd8fcca78b1ed8804e4687552 100644
+index dccc187c6198ce2e8824b8460347586ccf5c6741..2e859c32b5a7d314e38221da75d785ff244224ad 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -381,6 +381,20 @@ public class CraftEventFactory {
diff --git a/Spigot-Server-Patches/0268-Fix-client-rendering-skulls-from-same-user.patch b/Spigot-Server-Patches/0268-Fix-client-rendering-skulls-from-same-user.patch
index d26dddde1a..6d75986eeb 100644
--- a/Spigot-Server-Patches/0268-Fix-client-rendering-skulls-from-same-user.patch
+++ b/Spigot-Server-Patches/0268-Fix-client-rendering-skulls-from-same-user.patch
@@ -80,7 +80,7 @@ index 3a1d0deb0dec880d73185690e2a7c769a2731479..1fcbbd698a7e1b9ae3e8b5fa0328b85c
this.g.add(nbttagcompound);
}
diff --git a/src/main/java/net/minecraft/server/TileEntitySkull.java b/src/main/java/net/minecraft/server/TileEntitySkull.java
-index 177cceb77f8783fe93ba7e4342de9c589f155c1b..0882d82cef92382cd4639ee7c9858fa5d59b3e5a 100644
+index 83faa9dc5f74df4609cab34a66e4feed12990463..93030a7b24d53953b3672a23816dfc02d3c74caf 100644
--- a/src/main/java/net/minecraft/server/TileEntitySkull.java
+++ b/src/main/java/net/minecraft/server/TileEntitySkull.java
@@ -142,9 +142,37 @@ public class TileEntitySkull extends TileEntity /*implements ITickable*/ { // Pa
diff --git a/Spigot-Server-Patches/0269-Add-Early-Warning-Feature-to-WatchDog.patch b/Spigot-Server-Patches/0269-Add-Early-Warning-Feature-to-WatchDog.patch
index 736e84fac2..8f436a04a9 100644
--- a/Spigot-Server-Patches/0269-Add-Early-Warning-Feature-to-WatchDog.patch
+++ b/Spigot-Server-Patches/0269-Add-Early-Warning-Feature-to-WatchDog.patch
@@ -36,7 +36,7 @@ index adef07d4d521b4aaa6f3389b04aa27e29bec0229..214b577b326bc794fa3721deb6171228
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 d1667eba3398efecc8913c2778931030a90d6195..b7c83cd82ca1c9b6bdaaf566e800b8d15ad7d966 100644
+index e7ee0e9b9b68f1fe31e189fbfd7e5b175a288a50..3b89f62ab0522d23f47fd59c2f06fa7d0eacb7af 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -873,6 +873,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 4329780e9de3337fd8fcca78b1ed8804e4687552..91cfc6966e19a8d3d3b2cafdb0464162c9a94de5 100644
+index 2e859c32b5a7d314e38221da75d785ff244224ad..6ea8650d23b9fa8826142f0de3556db14c301f61 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -757,9 +757,16 @@ public class CraftEventFactory {
diff --git a/Spigot-Server-Patches/0290-Allow-chests-to-be-placed-with-NBT-data.patch b/Spigot-Server-Patches/0290-Allow-chests-to-be-placed-with-NBT-data.patch
index 5f1e4fec78..84600cf4ed 100644
--- a/Spigot-Server-Patches/0290-Allow-chests-to-be-placed-with-NBT-data.patch
+++ b/Spigot-Server-Patches/0290-Allow-chests-to-be-placed-with-NBT-data.patch
@@ -17,7 +17,7 @@ index 0b0c3c681c07cf8506df1b91b1feaf130891a440..d953cdef14a9b62833a35a4fe94a22b5
for (BlockState blockstate : blocks) {
blockstate.update(true, false);
diff --git a/src/main/java/net/minecraft/server/TileEntityChest.java b/src/main/java/net/minecraft/server/TileEntityChest.java
-index c4766f729fed7c9da9e456cae044400e2d08400c..b22bd06e27b3e07f1eb3e729686c394602a0ba5c 100644
+index eb2b6ff8fd86233c434882c69a8890adc9861d4b..9a5f2da8c073f9b249edac98b0990615a9efb0e2 100644
--- a/src/main/java/net/minecraft/server/TileEntityChest.java
+++ b/src/main/java/net/minecraft/server/TileEntityChest.java
@@ -292,7 +292,7 @@ public class TileEntityChest extends TileEntityLootable { // Paper - Remove ITic
diff --git a/Spigot-Server-Patches/0298-Support-Overriding-World-Seeds.patch b/Spigot-Server-Patches/0298-Support-Overriding-World-Seeds.patch
index c43edf6010..2ff8415988 100644
--- a/Spigot-Server-Patches/0298-Support-Overriding-World-Seeds.patch
+++ b/Spigot-Server-Patches/0298-Support-Overriding-World-Seeds.patch
@@ -59,7 +59,7 @@ index 214b577b326bc794fa3721deb6171228dd4f25e6..559e6b42ba5bf0ea92cccbabd2ef1d4c
+ }
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index b7c83cd82ca1c9b6bdaaf566e800b8d15ad7d966..acc5f01d022e49348de0079a9a89455cffc255ee 100644
+index 3b89f62ab0522d23f47fd59c2f06fa7d0eacb7af..85f989829b5ad1d7681b57cf68519a4806b26ea1 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -378,7 +378,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant= -30000000 && j >= -30000000 && i < 30000000 && j < 30000000) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index db31b17b87084c47402f5452872f385629c58382..0d5731429abe7b4ff97d6644ff088063dde19e60 100644
+index 07729667f5c66bbcb85fc59cb5fa3c218efa2ec8..2a3d133e51326b0088af2ce53e09bf2fe4b0c3c6 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -339,6 +339,29 @@ public class CraftWorld implements World {
diff --git a/Spigot-Server-Patches/0366-Fix-CB-call-to-changed-postToMainThread-method.patch b/Spigot-Server-Patches/0366-Fix-CB-call-to-changed-postToMainThread-method.patch
index 66621d2e85..977e0e6456 100644
--- a/Spigot-Server-Patches/0366-Fix-CB-call-to-changed-postToMainThread-method.patch
+++ b/Spigot-Server-Patches/0366-Fix-CB-call-to-changed-postToMainThread-method.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix CB call to changed postToMainThread method
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index 20cc434b2120c52c9a5786c67b773f65d286c4a9..96d26b45851c4066978186d49eed7ee131cc9140 100644
+index 266aa79420238d144a07022aab4a3ced5b0707e4..a5700a955b6d7927228a14128860b49e79e61f03 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -286,7 +286,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
diff --git a/Spigot-Server-Patches/0373-Fix-some-generation-concurrency-issues.patch b/Spigot-Server-Patches/0373-Fix-some-generation-concurrency-issues.patch
index 2c074157e1..016b1f23c8 100644
--- a/Spigot-Server-Patches/0373-Fix-some-generation-concurrency-issues.patch
+++ b/Spigot-Server-Patches/0373-Fix-some-generation-concurrency-issues.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix some generation concurrency issues
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index ee08cdcffc9237ee4154b7c756ba032b7723bd1f..74709dff3f87e929f1583be524d4e53ad3be6728 100644
+index a59a965104a2c2977fa3b3d0a199913df268bbd3..69db339c29c8f06026f05b0b5bb8019099af3fdf 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -86,6 +86,23 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
diff --git a/Spigot-Server-Patches/0376-Implement-CraftBlockSoundGroup.patch b/Spigot-Server-Patches/0376-Implement-CraftBlockSoundGroup.patch
index 17fbd8dcbe..9609100498 100644
--- a/Spigot-Server-Patches/0376-Implement-CraftBlockSoundGroup.patch
+++ b/Spigot-Server-Patches/0376-Implement-CraftBlockSoundGroup.patch
@@ -96,7 +96,7 @@ index b774d2d8d903acc1ce4c5bd9240b2e96779e1d53..adf0913a0ecc3eaf330bee303d9cc7fb
return this.D;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
-index 30b7c9038d3a95b80304e052a5d629b461f76e99..1fc7f55fcaa1f9aaa4c675f9fcd508ffb80e9629 100644
+index dd0bccd6995a79c52ec20cf45df27bb7ed06a5e6..16349e8e796c5e7e4e43fb355d4d641df7f41dc9 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
@@ -704,4 +704,11 @@ public class CraftBlock implements Block {
diff --git a/Spigot-Server-Patches/0377-Chunk-debug-command.patch b/Spigot-Server-Patches/0377-Chunk-debug-command.patch
index e327853d6c..ad712dc109 100644
--- a/Spigot-Server-Patches/0377-Chunk-debug-command.patch
+++ b/Spigot-Server-Patches/0377-Chunk-debug-command.patch
@@ -185,7 +185,7 @@ index 5acad8e44f024d3ddf5ef4fd320460ac516e0fb8..af810987846efcd2bffbd23c31481b2d
* Ported from MinecraftForge - author: LexManos - License: LGPLv2.1
*/
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
-index 8c6550433c20c54cbe390219821ce393c5720da8..e6d08756f76360b29b29f18305e5ec84d09f2d54 100644
+index 261eff5bdb4f4dfae2f66eecad79b21fef69ea8f..8a8fb6acaabc5fc179a23ce3e23ddb54e1ee23a4 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
@@ -22,7 +22,7 @@ import org.apache.logging.log4j.Logger;
diff --git a/Spigot-Server-Patches/0382-Synchronize-DataPaletteBlock-instead-of-ReentrantLoc.patch b/Spigot-Server-Patches/0382-Synchronize-DataPaletteBlock-instead-of-ReentrantLoc.patch
index a4138a3a75..fab2aaf139 100644
--- a/Spigot-Server-Patches/0382-Synchronize-DataPaletteBlock-instead-of-ReentrantLoc.patch
+++ b/Spigot-Server-Patches/0382-Synchronize-DataPaletteBlock-instead-of-ReentrantLoc.patch
@@ -13,7 +13,7 @@ contention situations.
And this is extremely a low contention situation.
diff --git a/src/main/java/net/minecraft/server/DataPaletteBlock.java b/src/main/java/net/minecraft/server/DataPaletteBlock.java
-index d5f5a51872dfabdbb828b6c20d61893aed2efec7..3da575929fcf878ebfe18e3240fac84325159225 100644
+index 3586fe065f21fbf1e71b602c372a690ef603f377..44310efd63b0a460e9dcdc1c8ad0abec78052061 100644
--- a/src/main/java/net/minecraft/server/DataPaletteBlock.java
+++ b/src/main/java/net/minecraft/server/DataPaletteBlock.java
@@ -24,7 +24,7 @@ public class DataPaletteBlock implements DataPaletteExpandable {
diff --git a/Spigot-Server-Patches/0387-Mark-entities-as-being-ticked-when-notifying-navigat.patch b/Spigot-Server-Patches/0387-Mark-entities-as-being-ticked-when-notifying-navigat.patch
index bd1b8d54e4..372f4a9a83 100644
--- a/Spigot-Server-Patches/0387-Mark-entities-as-being-ticked-when-notifying-navigat.patch
+++ b/Spigot-Server-Patches/0387-Mark-entities-as-being-ticked-when-notifying-navigat.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Mark entities as being ticked when notifying navigation
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
-index 36a951cfcd617baf1a840f394e639567bd044308..58018bfcee5396d440b0f022a7aa9ed452e67ec5 100644
+index 702dcc0387f85ebae8f1cfe9a8e79affef24281b..83585f3ba7ef9e72f3702079a82f62c8b17e4077 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1401,6 +1401,7 @@ public class WorldServer extends World {
diff --git a/Spigot-Server-Patches/0390-Asynchronous-chunk-IO-and-loading.patch b/Spigot-Server-Patches/0390-Asynchronous-chunk-IO-and-loading.patch
index 63124c86df..1f4ccdf6f6 100644
--- a/Spigot-Server-Patches/0390-Asynchronous-chunk-IO-and-loading.patch
+++ b/Spigot-Server-Patches/0390-Asynchronous-chunk-IO-and-loading.patch
@@ -4083,7 +4083,7 @@ index cf059aa091e9c732f99b89fc347074a9c1b879a8..5aea49404717061fce4bf24e91f36217
// we do this so we do not re-read the chunk data on disk
@@ -2442,6 +2444,34 @@ public class CraftWorld implements World {
- return new CraftDragonBattle(((WorldProviderTheEnd) worldProvider).o()); // PAIL rename getDragonBattle
+ return new CraftDragonBattle(worldProvider.o()); // PAIL rename getDragonBattle
}
+ // Paper start
+ @Override
diff --git a/Spigot-Server-Patches/0394-Do-less-work-if-we-have-a-custom-Bukkit-generator.patch b/Spigot-Server-Patches/0394-Do-less-work-if-we-have-a-custom-Bukkit-generator.patch
index 10d83ed9e3..45b933c4b9 100644
--- a/Spigot-Server-Patches/0394-Do-less-work-if-we-have-a-custom-Bukkit-generator.patch
+++ b/Spigot-Server-Patches/0394-Do-less-work-if-we-have-a-custom-Bukkit-generator.patch
@@ -7,7 +7,7 @@ If the Bukkit generator already has a spawn, use it immediately instead
of spending time generating one that we won't use
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
-index befdabc38edfcdffb588c4cdbe52908afe8a9c04..469f4e718ba123c65b9743877555f14d8d218589 100644
+index da38293cf02d84f3e24a883136ffe5118a510b5a..135d1211525f499198122e500626ce463c263088 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -814,12 +814,13 @@ public class WorldServer extends World {
diff --git a/Spigot-Server-Patches/0395-Fix-MC-158900.patch b/Spigot-Server-Patches/0395-Fix-MC-158900.patch
index baaab4d551..b7d14ec681 100644
--- a/Spigot-Server-Patches/0395-Fix-MC-158900.patch
+++ b/Spigot-Server-Patches/0395-Fix-MC-158900.patch
@@ -7,7 +7,7 @@ The problem was we were checking isExpired() on the entry, but if it
was expired at that point, then it would be null.
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index 7b2514355d26681ddd69c040ad6a7bc4d6aaaac2..e3127e01a5642225bf24bb061b069765da16cf72 100644
+index 559a411627ed7b018f00b90e8dfc1b470af4a531..3cc9c70882bfb9a933c726b7a194aa3b142034fa 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -502,8 +502,10 @@ public abstract class PlayerList {
diff --git a/Spigot-Server-Patches/0402-Fix-MC-161754.patch b/Spigot-Server-Patches/0402-Fix-MC-161754.patch
index 4e725ed021..9ba10c6d76 100644
--- a/Spigot-Server-Patches/0402-Fix-MC-161754.patch
+++ b/Spigot-Server-Patches/0402-Fix-MC-161754.patch
@@ -17,7 +17,7 @@ index c95ce0124d948626732e796c386b7544e34b36c4..18e1ae7f0a4b06ec7d7400e791ac79e5
@Override
public boolean canUse(EntityHuman entityhuman) {
- return this.c.a(entityhuman) && this.d.isAlive() && this.d.g((Entity) entityhuman) < 8.0F;
-+ return this.c.a(entityhuman) && (this.d.isAlive() && this.d.valid) && this.d.g((Entity) entityhuman) < 8.0F; // Paper - Fix MC-161754 - evaluate we might still want this in 1.16 as im not confident mojang fixed this, and made it worse
++ return this.c.a(entityhuman) && (this.d.isAlive() && this.d.valid) && this.d.g((Entity) entityhuman) < 8.0F; // Paper - Fix MC-161754
}
@Override
diff --git a/Spigot-Server-Patches/0406-Fix-stuck-in-sneak-when-changing-worlds-MC-10657.patch b/Spigot-Server-Patches/0406-Fix-stuck-in-sneak-when-changing-worlds-MC-10657.patch
index 076f9ddecf..3ab0a3b4d5 100644
--- a/Spigot-Server-Patches/0406-Fix-stuck-in-sneak-when-changing-worlds-MC-10657.patch
+++ b/Spigot-Server-Patches/0406-Fix-stuck-in-sneak-when-changing-worlds-MC-10657.patch
@@ -18,7 +18,7 @@ index 3db173fb5559e62150192a28dbdccdff16787401..81f00141776a1767b907d14ef04f60b5
PlayerChangedWorldEvent changeEvent = new PlayerChangedWorldEvent(this.getBukkitEntity(), worldserver.getWorld());
this.world.getServer().getPluginManager().callEvent(changeEvent);
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index e3127e01a5642225bf24bb061b069765da16cf72..e479dedc889bdfabda99d9c2b36f6c4b7ce87a99 100644
+index 3cc9c70882bfb9a933c726b7a194aa3b142034fa..088c82c5379b39f8cebd60465e054b97c96eb983 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -718,6 +718,8 @@ public abstract class PlayerList {
diff --git a/Spigot-Server-Patches/0408-Fix-AssertionError-when-player-hand-set-to-empty-typ.patch b/Spigot-Server-Patches/0408-Fix-AssertionError-when-player-hand-set-to-empty-typ.patch
index 79d4feb42b..019af38f15 100644
--- a/Spigot-Server-Patches/0408-Fix-AssertionError-when-player-hand-set-to-empty-typ.patch
+++ b/Spigot-Server-Patches/0408-Fix-AssertionError-when-player-hand-set-to-empty-typ.patch
@@ -7,7 +7,7 @@ Fixes an AssertionError when setting the player's item in hand to null or a new
Fixes GH-2718
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index 24594aa0e9b8741811acfc9f84f4db7552832bd2..aada8d3b08b437f81f68f8e988412c1071287d54 100644
+index 576c9c6ae4339951d4ec9fffa69c7f860d82b33f..4f9255c0bc2ff46f34072846d2b0dc2e97f05db4 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -1891,6 +1891,7 @@ public abstract class EntityLiving extends Entity {
@@ -19,7 +19,7 @@ index 24594aa0e9b8741811acfc9f84f4db7552832bd2..aada8d3b08b437f81f68f8e988412c10
if (enumhand == EnumHand.MAIN_HAND) {
return this.getEquipment(EnumItemSlot.MAINHAND);
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index 5d9bca7a87f463ede1ff0a478d5d6d524ccb877b..3ef083f7df1604e39405ed59b8630334ee9fcd4a 100644
+index ee186ed5a076ede4d89702aeb5a2128d6e7ac8cf..9ba5f9325fe0a7adc3ecf745d52cafe6496bc73f 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -1438,6 +1438,10 @@ public class PlayerConnection implements PacketListenerPlayIn {
diff --git a/Spigot-Server-Patches/0419-Optimise-IEntityAccess-getPlayerByUUID.patch b/Spigot-Server-Patches/0419-Optimise-IEntityAccess-getPlayerByUUID.patch
index 3bd05ac082..f9ea7f61b5 100644
--- a/Spigot-Server-Patches/0419-Optimise-IEntityAccess-getPlayerByUUID.patch
+++ b/Spigot-Server-Patches/0419-Optimise-IEntityAccess-getPlayerByUUID.patch
@@ -23,7 +23,7 @@ index d5c284cdd10d33f5f1b7f456d6a384a44eafb139..4157e50e4d99c029759bffcb48a8d645
EntityHuman entityhuman = (EntityHuman) this.getPlayers().get(i);
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
-index fe84d8b33733391cf58215d92f8f31d6ac107f0a..1f28e24f4f056c1f72293a3004c6dbdb8f8d1f9e 100644
+index 3ecc73d021c09fbcad74dd62aced460771f86038..f32e313a6287c8f5d487d4ad7148cac176773228 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -82,6 +82,15 @@ public class WorldServer extends World {
diff --git a/Spigot-Server-Patches/0424-Entity-Activation-Range-2.0.patch b/Spigot-Server-Patches/0424-Entity-Activation-Range-2.0.patch
index beee0f4a89..574d3c7907 100644
--- a/Spigot-Server-Patches/0424-Entity-Activation-Range-2.0.patch
+++ b/Spigot-Server-Patches/0424-Entity-Activation-Range-2.0.patch
@@ -111,7 +111,7 @@ index 6d53254f8381f3a957673930c7fdf42d4b9d2f36..5aca7a9131787415fb2edba1ebec9601
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 252b3c59294a75618622950286969f5e656da85a..38f666bb115d7d29da8eac1f4848ba23ef29ba43 100644
+index 0ec0ddb7d0e3f25820fe064d75916407cb579eae..bbe72ac65b7a9cfdfd577a0fbc316fbcc84fac59 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -91,7 +91,7 @@ public abstract class EntityLiving extends Entity {
@@ -331,7 +331,7 @@ index 5a8c60ad909394413427851db8068ba79c058b63..29657fed75184aee0c89e56f5e642a5d
return this.c;
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 6b6612de65081895825858f52d0f1c6f23c8edb6..3742be65afebcf4c61a9efbd1c207f968e5f7473 100644
+index 2beb1374b105381d4467de4989c207339cb5dca1..0fa2b335db297c6270090d3dd24ced92eab12825 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -76,6 +76,12 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
diff --git a/Spigot-Server-Patches/0429-Seed-based-feature-search.patch b/Spigot-Server-Patches/0429-Seed-based-feature-search.patch
index 2fcf7d28e0..0fa2f297f4 100644
--- a/Spigot-Server-Patches/0429-Seed-based-feature-search.patch
+++ b/Spigot-Server-Patches/0429-Seed-based-feature-search.patch
@@ -15,7 +15,7 @@ changes but this should usually not happen. A config option to disable
this improvement is added though in case that should ever be necessary.
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
-index fca4b6e20ab407ecaef3c5909c3d5e23a944e01b..ade7af40effbfff72e731628ac45c5fc40507c99 100644
+index cab503bd5c34d12b38a2f5deed6d3feb9287b370..2ab810f71beaa608af2194165696817a2cde4b92 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -357,6 +357,12 @@ public class PaperWorldConfig {
@@ -94,7 +94,7 @@ index e8ce2ecf23e58d82febf6b9441e0004e69cdc858..acfe732af5b9f63fc2f6b78499defabe
public abstract StructureGenerator.a a();
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 3742be65afebcf4c61a9efbd1c207f968e5f7473..b9685abed74fd1fb239b0940751fde65cceb6f57 100644
+index 0fa2b335db297c6270090d3dd24ced92eab12825..d7ac4c86d170a8d7d816f86ac691c3b5129a20ba 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -1570,8 +1570,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
diff --git a/Spigot-Server-Patches/0433-Allow-overriding-the-java-version-check.patch b/Spigot-Server-Patches/0433-Allow-overriding-the-java-version-check.patch
index 0f8fe08741..f1bc40efc3 100644
--- a/Spigot-Server-Patches/0433-Allow-overriding-the-java-version-check.patch
+++ b/Spigot-Server-Patches/0433-Allow-overriding-the-java-version-check.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Allow overriding the java version check
-DPaper.IgnoreJavaVersion=true
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
-index bf0a020189425d6507fa75f68f8e754723c58818..093dbeae2784d51dae74f66e3e1ce5bf6a370428 100644
+index 9b4f01120d473a4fea993a5df952e265b33cde0b..d3463abe89f6e730373cef5e3ac8c0911d0b0963 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -175,7 +175,7 @@ public class Main {
diff --git a/Spigot-Server-Patches/0435-Optimise-random-block-ticking.patch b/Spigot-Server-Patches/0435-Optimise-random-block-ticking.patch
index f4822e3d65..4b05375b2e 100644
--- a/Spigot-Server-Patches/0435-Optimise-random-block-ticking.patch
+++ b/Spigot-Server-Patches/0435-Optimise-random-block-ticking.patch
@@ -338,7 +338,7 @@ index 321eae23c575528788b1b575f17593580d6ba737..b19bbbbc81376177751396a2de9452ce
public final SoundEffectType getStepSound() { return this.r(); } // Paper - OBFHELPER
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index dab9d36dfcda6f363fb78ad6be6a0306786945ae..6f7da0a79bbbb2be354796033baa498845aaea7c 100644
+index adacff593ee20804b5ddb2df55b66bc6c162dc70..a52d8a27cee6721c32444d9d2bd81135b7d4b859 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -1564,10 +1564,19 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -363,7 +363,7 @@ index dab9d36dfcda6f363fb78ad6be6a0306786945ae..6f7da0a79bbbb2be354796033baa4988
public boolean isSavingDisabled() {
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
-index 1f28e24f4f056c1f72293a3004c6dbdb8f8d1f9e..5519fb529dd8e1f93aab79dbc434715e08edb94f 100644
+index f32e313a6287c8f5d487d4ad7148cac176773228..7fded15f14a3f5c04a676e9e25413718b9922c13 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -531,7 +531,12 @@ public class WorldServer extends World {
diff --git a/Spigot-Server-Patches/0436-Entity-Jump-API.patch b/Spigot-Server-Patches/0436-Entity-Jump-API.patch
index 929f727354..c2af5a8fed 100644
--- a/Spigot-Server-Patches/0436-Entity-Jump-API.patch
+++ b/Spigot-Server-Patches/0436-Entity-Jump-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Entity Jump API
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index 38f666bb115d7d29da8eac1f4848ba23ef29ba43..253e35826f6f51145c278b083d195599affca2a7 100644
+index bbe72ac65b7a9cfdfd577a0fbc316fbcc84fac59..4cac47c280a757b09e0b1e3f98c815bb8cd1b3c0 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -2608,8 +2608,10 @@ public abstract class EntityLiving extends Entity {
diff --git a/Spigot-Server-Patches/0438-Make-the-GUI-graph-fancier.patch b/Spigot-Server-Patches/0438-Make-the-GUI-graph-fancier.patch
index b84071ea4a..6f0b10d334 100644
--- a/Spigot-Server-Patches/0438-Make-the-GUI-graph-fancier.patch
+++ b/Spigot-Server-Patches/0438-Make-the-GUI-graph-fancier.patch
@@ -398,7 +398,7 @@ index c21db8e6b798cd5106801d666f14d1d73d5e84ed..7b6e9352578aecf37c5827ba2b2596d0
});
private final int[] b = new int[256];
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index e9c3d1507317e38272305e157e889a033c5d2803..dcc5781d99d760e1d1fe6194db8fd49b23091404 100644
+index 8c08a542a97edd76c07ef7d64834bdbd70345876..234c6f1854d4a491f6233fbd4677719a0503d3a1 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -105,7 +105,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant entitytypes = entity.getEntityType();
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
-index 255650fc6adcd81df2ee063209d2098745e45e39..c1e3c5ad7bbadedf01f7bd9162602398b81005a2 100644
+index 68c7c243a6d12d5c2f1045dfc5dd36f455dfbffa..dfc9f4d5738b01e3f80af8f3d25aec51b6e9d8d9 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1463,7 +1463,7 @@ public class WorldServer extends World {
diff --git a/Spigot-Server-Patches/0453-Optimize-Collision-to-not-load-chunks.patch b/Spigot-Server-Patches/0453-Optimize-Collision-to-not-load-chunks.patch
index f7bc6e470d..8677547aa7 100644
--- a/Spigot-Server-Patches/0453-Optimize-Collision-to-not-load-chunks.patch
+++ b/Spigot-Server-Patches/0453-Optimize-Collision-to-not-load-chunks.patch
@@ -84,7 +84,7 @@ index f851ed11df14fd9aa8017f44d82fb6cfc3bde345..3eefbf4d5f10b53f930759a0afa56612
if ((j2 != 1 || iblockdata.f()) && (j2 != 2 || iblockdata.getBlock() == Blocks.MOVING_PISTON)) {
VoxelShape voxelshape2 = iblockdata.b((IBlockAccess) ICollisionAccess.this, blockposition_mutableblockposition, voxelshapecollision);
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index 0ba103a5c60d8f5b8f332fe63364c597925a6450..157738f452493aabdefb228cd527ba85400baad5 100644
+index 088c82c5379b39f8cebd60465e054b97c96eb983..0e9ba6319472f54a1f77a9d2cdfb86d7490f0572 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -677,6 +677,7 @@ public abstract class PlayerList {
diff --git a/Spigot-Server-Patches/0459-Don-t-move-existing-players-to-world-spawn.patch b/Spigot-Server-Patches/0459-Don-t-move-existing-players-to-world-spawn.patch
index 261e26db9e..6d17816785 100644
--- a/Spigot-Server-Patches/0459-Don-t-move-existing-players-to-world-spawn.patch
+++ b/Spigot-Server-Patches/0459-Don-t-move-existing-players-to-world-spawn.patch
@@ -40,7 +40,7 @@ index f4215d38acef8018f09dff5f379c14336647687d..4e4c0acc6c103c85b7ba2a390a54d351
this.dimension = ((WorldServer) this.world).getWorldProvider().getDimensionManager();
this.playerInteractManager.a((WorldServer) world);
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index 157738f452493aabdefb228cd527ba85400baad5..611dea90200fe346915d66317e21d94154381e97 100644
+index 0e9ba6319472f54a1f77a9d2cdfb86d7490f0572..80f1c41062de9251343c3d9be4e076315cdbf88d 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -108,6 +108,7 @@ public abstract class PlayerList {
diff --git a/Spigot-Server-Patches/0475-Don-t-run-entity-collision-code-if-not-needed.patch b/Spigot-Server-Patches/0475-Don-t-run-entity-collision-code-if-not-needed.patch
index fa10e6fb2d..63d284875c 100644
--- a/Spigot-Server-Patches/0475-Don-t-run-entity-collision-code-if-not-needed.patch
+++ b/Spigot-Server-Patches/0475-Don-t-run-entity-collision-code-if-not-needed.patch
@@ -7,7 +7,7 @@ Will not run if max entity craming is disabled and
the max collisions per entity is less than or equal to 0
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index 253e35826f6f51145c278b083d195599affca2a7..2c81344a65bf230a6ba09deb2a3bb45881144a39 100644
+index 4cac47c280a757b09e0b1e3f98c815bb8cd1b3c0..b546537586c3033f696aba9c133490258a9422b2 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -2666,10 +2666,16 @@ public abstract class EntityLiving extends Entity {
diff --git a/Spigot-Server-Patches/0482-Broadcast-join-message-to-console.patch b/Spigot-Server-Patches/0482-Broadcast-join-message-to-console.patch
index 046df57479..36a66ac469 100644
--- a/Spigot-Server-Patches/0482-Broadcast-join-message-to-console.patch
+++ b/Spigot-Server-Patches/0482-Broadcast-join-message-to-console.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Broadcast join message to console
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index 5428f306340acb92b93fe133b827173b646e5d4c..ba97c48c937051adc0baa1e9acbc911575ea58d0 100644
+index 4d4912a38ad0bf38a42ac8fed0ad4c1eecaf63a5..3d6509786cba4307898c4485f6865e3f55ebb13b 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -188,9 +188,9 @@ public abstract class PlayerList {
diff --git a/Spigot-Server-Patches/0483-Fix-Longstanding-Broken-behavior-of-PlayerJoinEvent.patch b/Spigot-Server-Patches/0483-Fix-Longstanding-Broken-behavior-of-PlayerJoinEvent.patch
index 835b1f83a7..a668639175 100644
--- a/Spigot-Server-Patches/0483-Fix-Longstanding-Broken-behavior-of-PlayerJoinEvent.patch
+++ b/Spigot-Server-Patches/0483-Fix-Longstanding-Broken-behavior-of-PlayerJoinEvent.patch
@@ -52,7 +52,7 @@ index 48f858388029e77f710365e73905f8570f1103f5..2caa53a7e143aae32918ecbefc1bdadc
if (!(entity instanceof EntityComplexPart)) {
if (!(entity instanceof EntityLightning)) {
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index ba97c48c937051adc0baa1e9acbc911575ea58d0..1c7aac029ae01afa127ca386278a4ff8520e3674 100644
+index 3d6509786cba4307898c4485f6865e3f55ebb13b..d9fff5836e6f4b8a14fea1db66c5a89b43b2b952 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -177,6 +177,12 @@ public abstract class PlayerList {
diff --git a/Spigot-Server-Patches/0487-Add-PlayerAttackEntityCooldownResetEvent.patch b/Spigot-Server-Patches/0487-Add-PlayerAttackEntityCooldownResetEvent.patch
index f5ba23a129..9128290e7a 100644
--- a/Spigot-Server-Patches/0487-Add-PlayerAttackEntityCooldownResetEvent.patch
+++ b/Spigot-Server-Patches/0487-Add-PlayerAttackEntityCooldownResetEvent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add PlayerAttackEntityCooldownResetEvent
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index 2c81344a65bf230a6ba09deb2a3bb45881144a39..3fc2360a103a5399f2878eccb0c13eb6e41e824d 100644
+index b546537586c3033f696aba9c133490258a9422b2..ab6576f36e7682d5100f4e9358e76426e4a1c525 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -1690,7 +1690,17 @@ public abstract class EntityLiving extends Entity {
diff --git a/Spigot-Server-Patches/0491-Fix-numerous-item-duplication-issues-and-teleport-is.patch b/Spigot-Server-Patches/0491-Fix-numerous-item-duplication-issues-and-teleport-is.patch
index fd2e4bff84..f049948582 100644
--- a/Spigot-Server-Patches/0491-Fix-numerous-item-duplication-issues-and-teleport-is.patch
+++ b/Spigot-Server-Patches/0491-Fix-numerous-item-duplication-issues-and-teleport-is.patch
@@ -88,7 +88,7 @@ index 8ad131e4fc20efc61b938a5f6ab64379da23bf0d..d35a0b2d94e4f52c257375c35f55b5a4
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 08471184b04690653761a17d79941cd4ae8b1f81..ce8d7877adcc4635ebf2f5743c8b02aa95691102 100644
+index 5d88a48b4c54c4b2c79804557bd36d1a6c686c89..a4cd6c404c2a8d526c4673695aadd001f2b4516f 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -777,7 +777,8 @@ public class CraftEventFactory {
diff --git a/Spigot-Server-Patches/0503-No-Tick-view-distance-implementation.patch b/Spigot-Server-Patches/0503-No-Tick-view-distance-implementation.patch
index 5c11fc1075..442134ba54 100644
--- a/Spigot-Server-Patches/0503-No-Tick-view-distance-implementation.patch
+++ b/Spigot-Server-Patches/0503-No-Tick-view-distance-implementation.patch
@@ -553,7 +553,7 @@ index 74b868d7cec0260a10ca7718f48308f4ec54d56b..f832e7cdfc6741a932787f02754f1452
}
}
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index d7a9ec78db5994259bd6de289a8b4996349b2559..6daca5c0ffd1d84f9a25cd106e8992a055dfb912 100644
+index 628327e1e39299bbe64dff042d0187a9f79203a8..74571c1befa60e71e93de8052740a56f7b80e920 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -152,7 +152,7 @@ public abstract class PlayerList {
diff --git a/Spigot-Server-Patches/0527-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch b/Spigot-Server-Patches/0527-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch
index 55fde45492..519dc60fec 100644
--- a/Spigot-Server-Patches/0527-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch
+++ b/Spigot-Server-Patches/0527-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch
@@ -1123,7 +1123,7 @@ index d52fbda79fe1c52d3ddb53c0f1c1f521d7620702..f9cb87a3be35575ecf3362b10dc7fe5e
}
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index 6daca5c0ffd1d84f9a25cd106e8992a055dfb912..f133e7baf958b031819c2c72ccd21c52ba9a683d 100644
+index 74571c1befa60e71e93de8052740a56f7b80e920..f0fe864026dc10cd809f06dc9d4e823c21494a8d 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -174,8 +174,8 @@ public abstract class PlayerList {
diff --git a/Spigot-Server-Patches/0529-Optimize-sending-packets-to-nearby-locations-sounds-.patch b/Spigot-Server-Patches/0529-Optimize-sending-packets-to-nearby-locations-sounds-.patch
index fe477cdf8b..c15c5465f4 100644
--- a/Spigot-Server-Patches/0529-Optimize-sending-packets-to-nearby-locations-sounds-.patch
+++ b/Spigot-Server-Patches/0529-Optimize-sending-packets-to-nearby-locations-sounds-.patch
@@ -11,7 +11,7 @@ This will drastically cut down on packet sending cost for worlds with
lots of players in them.
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index f133e7baf958b031819c2c72ccd21c52ba9a683d..ab8247eb790be2084be7544f72e5b6661151905d 100644
+index f0fe864026dc10cd809f06dc9d4e823c21494a8d..5b634f2385f6dbb62cf3884daabded3870e8b8cc 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -1031,11 +1031,30 @@ public abstract class PlayerList {
diff --git a/Spigot-Server-Patches/0537-Delay-Chunk-Unloads-based-on-Player-Movement.patch b/Spigot-Server-Patches/0537-Delay-Chunk-Unloads-based-on-Player-Movement.patch
index 36bc22fde8..583c249a71 100644
--- a/Spigot-Server-Patches/0537-Delay-Chunk-Unloads-based-on-Player-Movement.patch
+++ b/Spigot-Server-Patches/0537-Delay-Chunk-Unloads-based-on-Player-Movement.patch
@@ -35,7 +35,7 @@ index c3f7717869c86d9ac6395615bceda324aea16b27..ecacb72b922927f06883b75e7d2cc1f9
+ }
}
diff --git a/src/main/java/net/minecraft/server/ChunkMapDistance.java b/src/main/java/net/minecraft/server/ChunkMapDistance.java
-index ff9e164574f1f3d043740ac727faf567122e5b64..cc02ed6b58a219d8f06e4ccc2a51f46c33af98d1 100644
+index 35a4999b2c34ae62cba042885db25dd1837cb127..9a84d1749cf00316f1acadc55d45426267a94827 100644
--- a/src/main/java/net/minecraft/server/ChunkMapDistance.java
+++ b/src/main/java/net/minecraft/server/ChunkMapDistance.java
@@ -176,6 +176,27 @@ public abstract class ChunkMapDistance {
diff --git a/Spigot-Server-Patches/0546-Expose-Arrow-getItemStack.patch b/Spigot-Server-Patches/0546-Expose-Arrow-getItemStack.patch
index 2c0aea35cb..0d64b1ddaf 100644
--- a/Spigot-Server-Patches/0546-Expose-Arrow-getItemStack.patch
+++ b/Spigot-Server-Patches/0546-Expose-Arrow-getItemStack.patch
@@ -18,7 +18,7 @@ index 9c97edf9c9e9a8cdf029264f6b563090142c686b..e66f6b30069af5b9031c7c78a2bb3d3a
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftArrow.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftArrow.java
-index 29d23db4121bf8cbd98b4d7acce90b13790df245..2e4765ba14c591f995f6ab0a6e3a16158c7ca308 100644
+index 228e1327ca8821cc7e1542d2c09cdeb3365024a5..27897182559044d7079953e302ecfaa67918536a 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftArrow.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftArrow.java
@@ -102,6 +102,13 @@ public class CraftArrow extends AbstractProjectile implements AbstractArrow {
diff --git a/Spigot-Server-Patches/0316-Fix-MC-93764.patch b/removed/1.16/0316-Fix-MC-93764.patch
similarity index 100%
rename from Spigot-Server-Patches/0316-Fix-MC-93764.patch
rename to removed/1.16/0316-Fix-MC-93764.patch
diff --git a/scripts/rebuildPatches.sh b/scripts/rebuildPatches.sh
index 7dd38d46fd..df1934b491 100755
--- a/scripts/rebuildPatches.sh
+++ b/scripts/rebuildPatches.sh
@@ -9,7 +9,7 @@ gitcmd="git -c commit.gpgsign=false -c core.safecrlf=false"
echo "Rebuilding patch files from current fork state..."
nofilter="0"
-if [ "$2" = "nofilter" ]; then
+if [ "$2" == "nofilter" ] || [ "$2" == "noclean" ]; then
nofilter="1"
fi
function cleanupPatches {
diff --git a/work/BuildData b/work/BuildData
index 455d45a424..be3371e674 160000
--- a/work/BuildData
+++ b/work/BuildData
@@ -1 +1 @@
-Subproject commit 455d45a4244894335cd07451bdda79ccd380aff6
+Subproject commit be3371e67489b5a2293306e24420793106baadc1
diff --git a/work/Bukkit b/work/Bukkit
index 149527f7b1..32fcd349d4 160000
--- a/work/Bukkit
+++ b/work/Bukkit
@@ -1 +1 @@
-Subproject commit 149527f7b10f992ef22186e85f13ded96ab76a63
+Subproject commit 32fcd349d4074c564116bbeb4b481332460902ee
diff --git a/work/CraftBukkit b/work/CraftBukkit
index be6aaf046e..2b00831c95 160000
--- a/work/CraftBukkit
+++ b/work/CraftBukkit
@@ -1 +1 @@
-Subproject commit be6aaf046eed614b0034ec42d5ef5e6f7de16ff0
+Subproject commit 2b00831c95f8dda096ad22ae88bc615d9dd31ea1
diff --git a/work/Spigot b/work/Spigot
index a99063f771..758abbeee4 160000
--- a/work/Spigot
+++ b/work/Spigot
@@ -1 +1 @@
-Subproject commit a99063f77142a462546e31413de6c6190e913f11
+Subproject commit 758abbeee4e12f5ff65470999dd9955d0ebb49cd