aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--patches/api/0005-Add-FastUtil-to-Bukkit.patch4
-rw-r--r--patches/api/0006-Adventure.patch4
-rw-r--r--patches/api/0008-Use-ASM-for-event-executors.patch2
-rw-r--r--patches/api/0009-Paper-Plugins.patch2
-rw-r--r--patches/api/0067-Allow-plugins-to-use-SLF4J-for-logging.patch2
-rw-r--r--patches/api/0464-Brigadier-based-command-API.patch2
-rw-r--r--patches/server/0001-Setup-Gradle-project.patch72
-rw-r--r--patches/server/0002-Remap-fixes.patch (renamed from patches/unapplied/server/0002-Remap-fixes.patch)10
-rw-r--r--patches/server/0003-Build-system-changes.patch (renamed from patches/unapplied/server/0003-Build-system-changes.patch)12
-rw-r--r--patches/server/0004-Test-changes.patch (renamed from patches/unapplied/server/0004-Test-changes.patch)2
-rw-r--r--patches/server/0005-Paper-config-files.patch (renamed from patches/unapplied/server/0005-Paper-config-files.patch)26
-rw-r--r--patches/server/0006-MC-Dev-fixes.patch (renamed from patches/unapplied/server/0006-MC-Dev-fixes.patch)27
-rw-r--r--patches/server/0007-ConcurrentUtil.patch (renamed from patches/unapplied/server/0007-ConcurrentUtil.patch)0
-rw-r--r--patches/server/0008-CB-fixes.patch (renamed from patches/unapplied/server/0008-CB-fixes.patch)10
-rw-r--r--patches/server/0009-MC-Utils.patch (renamed from patches/unapplied/server/0009-MC-Utils.patch)78
-rw-r--r--patches/server/0010-Adventure.patch (renamed from patches/unapplied/server/0010-Adventure.patch)72
-rw-r--r--patches/server/0011-Use-TerminalConsoleAppender-for-console-improvements.patch (renamed from patches/unapplied/server/0011-Use-TerminalConsoleAppender-for-console-improvements.patch)8
-rw-r--r--patches/server/0012-Handle-plugin-prefixes-using-Log4J-configuration.patch (renamed from patches/unapplied/server/0012-Handle-plugin-prefixes-using-Log4J-configuration.patch)2
-rw-r--r--patches/server/0013-Improve-Log4J-Configuration-Plugin-Loggers.patch (renamed from patches/unapplied/server/0013-Improve-Log4J-Configuration-Plugin-Loggers.patch)0
-rw-r--r--patches/server/0014-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch (renamed from patches/unapplied/server/0014-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch)4
-rw-r--r--patches/server/0015-Deobfuscate-stacktraces-in-log-messages-crash-report.patch (renamed from patches/unapplied/server/0015-Deobfuscate-stacktraces-in-log-messages-crash-report.patch)4
-rw-r--r--patches/server/0016-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch (renamed from patches/unapplied/server/0016-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch)0
-rw-r--r--patches/server/0017-Paper-command.patch (renamed from patches/unapplied/server/0017-Paper-command.patch)0
-rw-r--r--patches/server/0018-Paper-Metrics.patch (renamed from patches/unapplied/server/0018-Paper-Metrics.patch)0
-rw-r--r--patches/server/0019-Paper-Plugins.patch (renamed from patches/unapplied/server/0019-Paper-Plugins.patch)12
-rw-r--r--patches/server/0020-Plugin-remapping.patch (renamed from patches/unapplied/server/0020-Plugin-remapping.patch)4
-rw-r--r--patches/server/0021-Hook-into-CB-plugin-rewrites.patch (renamed from patches/unapplied/server/0021-Hook-into-CB-plugin-rewrites.patch)0
-rw-r--r--patches/server/0022-Remap-reflection-calls-in-plugins-using-internals.patch (renamed from patches/unapplied/server/0022-Remap-reflection-calls-in-plugins-using-internals.patch)4
-rw-r--r--patches/server/0023-Further-improve-server-tick-loop.patch (renamed from patches/unapplied/server/0023-Further-improve-server-tick-loop.patch)2
-rw-r--r--patches/server/0024-Remove-Spigot-timings.patch (renamed from patches/unapplied/server/0024-Remove-Spigot-timings.patch)88
-rw-r--r--patches/server/0025-Add-command-line-option-to-load-extra-plugin-jars-no.patch (renamed from patches/unapplied/server/0025-Add-command-line-option-to-load-extra-plugin-jars-no.patch)2
-rw-r--r--patches/server/0026-Support-components-in-ItemMeta.patch (renamed from patches/unapplied/server/0026-Support-components-in-ItemMeta.patch)10
-rw-r--r--patches/server/0027-Configurable-cactus-bamboo-and-reed-growth-height.patch (renamed from patches/unapplied/server/0027-Configurable-cactus-bamboo-and-reed-growth-height.patch)0
-rw-r--r--patches/server/0028-Configurable-baby-zombie-movement-speed.patch (renamed from patches/unapplied/server/0028-Configurable-baby-zombie-movement-speed.patch)0
-rw-r--r--patches/server/0029-Configurable-fishing-time-ranges.patch (renamed from patches/unapplied/server/0029-Configurable-fishing-time-ranges.patch)2
-rw-r--r--patches/server/0030-Allow-nerfed-mobs-to-jump.patch (renamed from patches/unapplied/server/0030-Allow-nerfed-mobs-to-jump.patch)4
-rw-r--r--patches/server/0031-Add-configurable-entity-despawn-distances.patch (renamed from patches/unapplied/server/0031-Add-configurable-entity-despawn-distances.patch)2
-rw-r--r--patches/server/0032-Drop-falling-block-and-tnt-entities-at-the-specified.patch (renamed from patches/unapplied/server/0032-Drop-falling-block-and-tnt-entities-at-the-specified.patch)8
-rw-r--r--patches/server/0033-Expose-server-build-information.patch (renamed from patches/unapplied/server/0033-Expose-server-build-information.patch)10
-rw-r--r--patches/server/0034-Player-affects-spawning-API.patch (renamed from patches/unapplied/server/0034-Player-affects-spawning-API.patch)10
-rw-r--r--patches/server/0035-Only-refresh-abilities-if-needed.patch (renamed from patches/unapplied/server/0035-Only-refresh-abilities-if-needed.patch)2
-rw-r--r--patches/server/0036-Entity-Origin-API.patch (renamed from patches/unapplied/server/0036-Entity-Origin-API.patch)10
-rw-r--r--patches/server/0037-Prevent-block-entity-and-entity-crashes.patch (renamed from patches/unapplied/server/0037-Prevent-block-entity-and-entity-crashes.patch)12
-rw-r--r--patches/server/0038-Configurable-top-of-nether-void-damage.patch (renamed from patches/unapplied/server/0038-Configurable-top-of-nether-void-damage.patch)4
-rw-r--r--patches/server/0039-Check-online-mode-before-converting-and-renaming-pla.patch (renamed from patches/unapplied/server/0039-Check-online-mode-before-converting-and-renaming-pla.patch)0
-rw-r--r--patches/server/0040-Add-more-entities-to-activation-range-ignore-list.patch (renamed from patches/unapplied/server/0040-Add-more-entities-to-activation-range-ignore-list.patch)0
-rw-r--r--patches/server/0041-Configurable-end-credits.patch (renamed from patches/unapplied/server/0041-Configurable-end-credits.patch)2
-rw-r--r--patches/server/0042-Fix-lag-from-explosions-processing-dead-entities.patch (renamed from patches/unapplied/server/0042-Fix-lag-from-explosions-processing-dead-entities.patch)2
-rw-r--r--patches/server/0043-Optimize-explosions.patch (renamed from patches/unapplied/server/0043-Optimize-explosions.patch)10
-rw-r--r--patches/server/0044-Disable-explosion-knockback.patch (renamed from patches/unapplied/server/0044-Disable-explosion-knockback.patch)2
-rw-r--r--patches/server/0045-Disable-thunder.patch (renamed from patches/unapplied/server/0045-Disable-thunder.patch)4
-rw-r--r--patches/server/0046-Disable-ice-and-snow.patch (renamed from patches/unapplied/server/0046-Disable-ice-and-snow.patch)4
-rw-r--r--patches/server/0047-Configurable-mob-spawner-tick-rate.patch (renamed from patches/unapplied/server/0047-Configurable-mob-spawner-tick-rate.patch)0
-rw-r--r--patches/server/0048-Use-null-Locale-by-default.patch (renamed from patches/unapplied/server/0048-Use-null-Locale-by-default.patch)12
-rw-r--r--patches/server/0049-Add-BeaconEffectEvent.patch (renamed from patches/unapplied/server/0049-Add-BeaconEffectEvent.patch)0
-rw-r--r--patches/server/0050-Configurable-container-update-tick-rate.patch (renamed from patches/unapplied/server/0050-Configurable-container-update-tick-rate.patch)13
-rw-r--r--patches/server/0051-Use-UserCache-for-player-heads.patch (renamed from patches/unapplied/server/0051-Use-UserCache-for-player-heads.patch)0
-rw-r--r--patches/server/0052-Disable-spigot-tick-limiters.patch (renamed from patches/unapplied/server/0052-Disable-spigot-tick-limiters.patch)4
-rw-r--r--patches/server/0053-Fix-spawn-location-event-changing-location.patch (renamed from patches/unapplied/server/0053-Fix-spawn-location-event-changing-location.patch)0
-rw-r--r--patches/server/0054-Configurable-Disabling-Cat-Chest-Detection.patch (renamed from patches/unapplied/server/0054-Configurable-Disabling-Cat-Chest-Detection.patch)4
-rw-r--r--patches/server/0055-Improve-Player-chat-API-handling.patch (renamed from patches/unapplied/server/0055-Improve-Player-chat-API-handling.patch)8
-rw-r--r--patches/server/0056-All-chunks-are-slime-spawn-chunks-toggle.patch (renamed from patches/unapplied/server/0056-All-chunks-are-slime-spawn-chunks-toggle.patch)0
-rw-r--r--patches/server/0057-Expose-server-CommandMap.patch (renamed from patches/unapplied/server/0057-Expose-server-CommandMap.patch)0
-rw-r--r--patches/server/0058-Be-a-bit-more-informative-in-maxHealth-exception.patch (renamed from patches/unapplied/server/0058-Be-a-bit-more-informative-in-maxHealth-exception.patch)2
-rw-r--r--patches/server/0059-Player-Tab-List-and-Title-APIs.patch (renamed from patches/unapplied/server/0059-Player-Tab-List-and-Title-APIs.patch)2
-rw-r--r--patches/server/0060-Add-configurable-portal-search-radius.patch (renamed from patches/unapplied/server/0060-Add-configurable-portal-search-radius.patch)2
-rw-r--r--patches/server/0061-Add-velocity-warnings.patch (renamed from patches/unapplied/server/0061-Add-velocity-warnings.patch)0
-rw-r--r--patches/server/0062-Add-exception-reporting-event.patch (renamed from patches/unapplied/server/0062-Add-exception-reporting-event.patch)10
-rw-r--r--patches/server/0063-Disable-Scoreboards-for-non-players-by-default.patch (renamed from patches/unapplied/server/0063-Disable-Scoreboards-for-non-players-by-default.patch)6
-rw-r--r--patches/server/0064-Add-methods-for-working-with-arrows-stuck-in-living-.patch (renamed from patches/unapplied/server/0064-Add-methods-for-working-with-arrows-stuck-in-living-.patch)2
-rw-r--r--patches/server/0065-Complete-resource-pack-API.patch (renamed from patches/unapplied/server/0065-Complete-resource-pack-API.patch)2
-rw-r--r--patches/server/0066-Default-loading-permissions.yml-before-plugins.patch (renamed from patches/unapplied/server/0066-Default-loading-permissions.yml-before-plugins.patch)0
-rw-r--r--patches/server/0067-Allow-Reloading-of-Custom-Permissions.patch (renamed from patches/unapplied/server/0067-Allow-Reloading-of-Custom-Permissions.patch)0
-rw-r--r--patches/server/0068-Remove-Metadata-on-reload.patch (renamed from patches/unapplied/server/0068-Remove-Metadata-on-reload.patch)0
-rw-r--r--patches/server/0069-Handle-Item-Meta-Inconsistencies.patch (renamed from patches/unapplied/server/0069-Handle-Item-Meta-Inconsistencies.patch)18
-rw-r--r--patches/server/0070-Configurable-Non-Player-Arrow-Despawn-Rate.patch (renamed from patches/unapplied/server/0070-Configurable-Non-Player-Arrow-Despawn-Rate.patch)4
-rw-r--r--patches/server/0071-Add-World-Util-Methods.patch (renamed from patches/unapplied/server/0071-Add-World-Util-Methods.patch)4
-rw-r--r--patches/server/0072-Custom-replacement-for-eaten-items.patch (renamed from patches/unapplied/server/0072-Custom-replacement-for-eaten-items.patch)8
-rw-r--r--patches/server/0073-handle-NaN-health-absorb-values-and-repair-bad-data.patch (renamed from patches/unapplied/server/0073-handle-NaN-health-absorb-values-and-repair-bad-data.patch)8
-rw-r--r--patches/server/0074-Use-a-Shared-Random-for-Entities.patch (renamed from patches/unapplied/server/0074-Use-a-Shared-Random-for-Entities.patch)4
-rw-r--r--patches/server/0075-Configurable-spawn-chances-for-skeleton-horses.patch (renamed from patches/unapplied/server/0075-Configurable-spawn-chances-for-skeleton-horses.patch)4
-rw-r--r--patches/server/0076-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch (renamed from patches/unapplied/server/0076-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch)10
-rw-r--r--patches/server/0077-Entity-AddTo-RemoveFrom-World-Events.patch (renamed from patches/unapplied/server/0077-Entity-AddTo-RemoveFrom-World-Events.patch)6
-rw-r--r--patches/server/0078-Configurable-Chunk-Inhabited-Time.patch (renamed from patches/unapplied/server/0078-Configurable-Chunk-Inhabited-Time.patch)4
-rw-r--r--patches/server/0079-EntityPathfindEvent.patch (renamed from patches/unapplied/server/0079-EntityPathfindEvent.patch)14
-rw-r--r--patches/server/0080-Sanitise-RegionFileCache-and-make-configurable.patch (renamed from patches/unapplied/server/0080-Sanitise-RegionFileCache-and-make-configurable.patch)0
-rw-r--r--patches/server/0081-Do-not-load-chunks-for-Pathfinding.patch (renamed from patches/unapplied/server/0081-Do-not-load-chunks-for-Pathfinding.patch)0
-rw-r--r--patches/server/0082-Add-PlayerUseUnknownEntityEvent.patch (renamed from patches/unapplied/server/0082-Add-PlayerUseUnknownEntityEvent.patch)46
-rw-r--r--patches/server/0083-Configurable-random-tick-rates-for-blocks.patch (renamed from patches/unapplied/server/0083-Configurable-random-tick-rates-for-blocks.patch)2
-rw-r--r--patches/server/0084-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch (renamed from patches/unapplied/server/0084-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch)4
-rw-r--r--patches/server/0085-Optimize-DataBits.patch (renamed from patches/unapplied/server/0085-Optimize-DataBits.patch)0
-rw-r--r--patches/server/0086-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch (renamed from patches/unapplied/server/0086-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch)0
-rw-r--r--patches/server/0087-Configurable-Player-Collision.patch (renamed from patches/unapplied/server/0087-Configurable-Player-Collision.patch)2
-rw-r--r--patches/server/0088-Add-handshake-event-to-allow-plugins-to-handle-clien.patch (renamed from patches/unapplied/server/0088-Add-handshake-event-to-allow-plugins-to-handle-clien.patch)0
-rw-r--r--patches/server/0089-Configurable-RCON-IP-address.patch (renamed from patches/unapplied/server/0089-Configurable-RCON-IP-address.patch)0
-rw-r--r--patches/server/0090-EntityRegainHealthEvent-isFastRegen-API.patch (renamed from patches/unapplied/server/0090-EntityRegainHealthEvent-isFastRegen-API.patch)2
-rw-r--r--patches/server/0091-Add-ability-to-configure-frosted_ice-properties.patch (renamed from patches/unapplied/server/0091-Add-ability-to-configure-frosted_ice-properties.patch)2
-rw-r--r--patches/server/0092-remove-null-possibility-for-getServer-singleton.patch (renamed from patches/unapplied/server/0092-remove-null-possibility-for-getServer-singleton.patch)2
-rw-r--r--patches/server/0093-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch (renamed from patches/unapplied/server/0093-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch)0
-rw-r--r--patches/server/0094-LootTable-API-and-replenishable-lootables.patch (renamed from patches/unapplied/server/0094-LootTable-API-and-replenishable-lootables.patch)8
-rw-r--r--patches/server/0095-System-property-for-disabling-watchdoge.patch (renamed from patches/unapplied/server/0095-System-property-for-disabling-watchdoge.patch)0
-rw-r--r--patches/server/0096-Async-GameProfileCache-saving.patch (renamed from patches/unapplied/server/0096-Async-GameProfileCache-saving.patch)2
-rw-r--r--patches/server/0097-Optional-TNT-doesn-t-move-in-water.patch (renamed from patches/unapplied/server/0097-Optional-TNT-doesn-t-move-in-water.patch)2
-rw-r--r--patches/server/0098-Faster-redstone-torch-rapid-clock-removal.patch (renamed from patches/unapplied/server/0098-Faster-redstone-torch-rapid-clock-removal.patch)4
-rw-r--r--patches/server/0099-Add-server-name-parameter.patch (renamed from patches/unapplied/server/0099-Add-server-name-parameter.patch)2
-rw-r--r--patches/server/0100-Fix-global-sound-handling.patch (renamed from patches/unapplied/server/0100-Fix-global-sound-handling.patch)12
106 files changed, 390 insertions, 404 deletions
diff --git a/patches/api/0005-Add-FastUtil-to-Bukkit.patch b/patches/api/0005-Add-FastUtil-to-Bukkit.patch
index 748e23457b..057d57971b 100644
--- a/patches/api/0005-Add-FastUtil-to-Bukkit.patch
+++ b/patches/api/0005-Add-FastUtil-to-Bukkit.patch
@@ -6,14 +6,14 @@ Subject: [PATCH] Add FastUtil to Bukkit
Doesn't expose to plugins, just allows Paper-API to use it for optimization
diff --git a/build.gradle.kts b/build.gradle.kts
-index 2a4b8a6b06ed3df1a5e4d90bc4e36c227347d027..6180e0ee8e83d2a4799741348908b59c43a2efe1 100644
+index 2a4b8a6b06ed3df1a5e4d90bc4e36c227347d027..2e6996775d4424e6ac92aa337cad8abfcf184b90 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -35,6 +35,7 @@ dependencies {
api("com.googlecode.json-simple:json-simple:1.1.1") {
isTransitive = false // includes junit
}
-+ api("it.unimi.dsi:fastutil:8.5.6")
++ api("it.unimi.dsi:fastutil:8.5.15")
// Paper end
compileOnly("org.apache.maven:maven-resolver-provider:3.9.6")
diff --git a/patches/api/0006-Adventure.patch b/patches/api/0006-Adventure.patch
index e7ff86318c..ab6048955d 100644
--- a/patches/api/0006-Adventure.patch
+++ b/patches/api/0006-Adventure.patch
@@ -8,7 +8,7 @@ Co-authored-by: Jake Potrebic <[email protected]>
Co-authored-by: Yannick Lamprecht <[email protected]>
diff --git a/build.gradle.kts b/build.gradle.kts
-index 6180e0ee8e83d2a4799741348908b59c43a2efe1..a301926cd514bbc205af47fcbcb0c266c06468f6 100644
+index 2e6996775d4424e6ac92aa337cad8abfcf184b90..0b819441178e44e0458fca7c8ab4861aab1a7890 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -11,6 +11,18 @@ java {
@@ -46,7 +46,7 @@ index 6180e0ee8e83d2a4799741348908b59c43a2efe1..a301926cd514bbc205af47fcbcb0c266
@@ -36,6 +52,13 @@ dependencies {
isTransitive = false // includes junit
}
- api("it.unimi.dsi:fastutil:8.5.6")
+ api("it.unimi.dsi:fastutil:8.5.15")
+ apiAndDocs(platform("net.kyori:adventure-bom:$adventureVersion"))
+ apiAndDocs("net.kyori:adventure-api")
+ apiAndDocs("net.kyori:adventure-text-minimessage")
diff --git a/patches/api/0008-Use-ASM-for-event-executors.patch b/patches/api/0008-Use-ASM-for-event-executors.patch
index 901608bafe..b44b206b5d 100644
--- a/patches/api/0008-Use-ASM-for-event-executors.patch
+++ b/patches/api/0008-Use-ASM-for-event-executors.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Use ASM for event executors.
Uses method handles for private or static methods.
diff --git a/build.gradle.kts b/build.gradle.kts
-index a301926cd514bbc205af47fcbcb0c266c06468f6..36660956b058b3a79fed6932c3c267e157f2951b 100644
+index 0b819441178e44e0458fca7c8ab4861aab1a7890..421c188fbc7fb6f726cda0fcb3455ad57a2bbcd1 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -59,6 +59,9 @@ dependencies {
diff --git a/patches/api/0009-Paper-Plugins.patch b/patches/api/0009-Paper-Plugins.patch
index 84710e830f..baacc24d29 100644
--- a/patches/api/0009-Paper-Plugins.patch
+++ b/patches/api/0009-Paper-Plugins.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Paper Plugins
diff --git a/build.gradle.kts b/build.gradle.kts
-index 36660956b058b3a79fed6932c3c267e157f2951b..feb047d20178f957fb48388250303d7d3348a116 100644
+index 421c188fbc7fb6f726cda0fcb3455ad57a2bbcd1..c478531084e6029831f12ddf3e386183a93cee02 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -64,7 +64,7 @@ dependencies {
diff --git a/patches/api/0067-Allow-plugins-to-use-SLF4J-for-logging.patch b/patches/api/0067-Allow-plugins-to-use-SLF4J-for-logging.patch
index bb62002724..03cd827a6d 100644
--- a/patches/api/0067-Allow-plugins-to-use-SLF4J-for-logging.patch
+++ b/patches/api/0067-Allow-plugins-to-use-SLF4J-for-logging.patch
@@ -14,7 +14,7 @@ it without having to shade it in the plugin and going through
several layers of logging abstraction.
diff --git a/build.gradle.kts b/build.gradle.kts
-index feb047d20178f957fb48388250303d7d3348a116..09e35d410f86fc6ed894c072b77a49f9bb4ce78d 100644
+index c478531084e6029831f12ddf3e386183a93cee02..20ecbdd4e2f74475118769497004e93813c0a8a6 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -12,6 +12,8 @@ java {
diff --git a/patches/api/0464-Brigadier-based-command-API.patch b/patches/api/0464-Brigadier-based-command-API.patch
index 122fa83683..2409e5bfda 100644
--- a/patches/api/0464-Brigadier-based-command-API.patch
+++ b/patches/api/0464-Brigadier-based-command-API.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Brigadier based command API
Co-authored-by: Jake Potrebic <[email protected]>
diff --git a/build.gradle.kts b/build.gradle.kts
-index 09e35d410f86fc6ed894c072b77a49f9bb4ce78d..e8ae482b69fae0a162de2332e6baf39f2a807f3f 100644
+index 20ecbdd4e2f74475118769497004e93813c0a8a6..392c4bcf3a06172cdedb73250e2da617e1c6463e 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -39,6 +39,7 @@ abstract class MockitoAgentProvider : CommandLineArgumentProvider {
diff --git a/patches/server/0001-Setup-Gradle-project.patch b/patches/server/0001-Setup-Gradle-project.patch
index 4319f4cd05..0a6c8eafdb 100644
--- a/patches/server/0001-Setup-Gradle-project.patch
+++ b/patches/server/0001-Setup-Gradle-project.patch
@@ -28,7 +28,7 @@ index 37dab9e868dbfb019c271a547d975a48ad1cb571..3811c0d849a3eb028ed1a6b7a2d4747f
+/.factorypath
diff --git a/build.gradle.kts b/build.gradle.kts
new file mode 100644
-index 0000000000000000000000000000000000000000..6ef457b8ea6ff9b89cb74ecbdca20731d9f94e97
+index 0000000000000000000000000000000000000000..36e6426438865213d2e5e11ee3b1d6e538d475f7
--- /dev/null
+++ b/build.gradle.kts
@@ -0,0 +1,131 @@
@@ -42,12 +42,12 @@ index 0000000000000000000000000000000000000000..6ef457b8ea6ff9b89cb74ecbdca20731
+dependencies {
+ implementation(project(":paper-api"))
+ implementation("jline:jline:2.12.1")
-+ implementation("org.apache.logging.log4j:log4j-iostreams:2.22.1") {
++ implementation("org.apache.logging.log4j:log4j-iostreams:2.24.1") {
+ exclude(group = "org.apache.logging.log4j", module = "log4j-api")
+ }
+ implementation("org.ow2.asm:asm-commons:9.7.1")
+ implementation("commons-lang:commons-lang:2.6")
-+ runtimeOnly("org.xerial:sqlite-jdbc:3.46.1.3")
++ runtimeOnly("org.xerial:sqlite-jdbc:3.47.0.0")
+ runtimeOnly("com.mysql:mysql-connector-j:9.1.0")
+
+ runtimeOnly("org.apache.maven:maven-resolver-provider:3.9.6")
@@ -62,7 +62,7 @@ index 0000000000000000000000000000000000000000..6ef457b8ea6ff9b89cb74ecbdca20731
+}
+
+paperweight {
-+ craftBukkitPackageVersion.set("v1_21_R2") // also needs to be updated in MappingEnvironment
++ craftBukkitPackageVersion.set("v1_21_R3") // also needs to be updated in MappingEnvironment
+}
+
+tasks.jar {
@@ -165,7 +165,7 @@ index 0000000000000000000000000000000000000000..6ef457b8ea6ff9b89cb74ecbdca20731
+}
diff --git a/pom.xml b/pom.xml
deleted file mode 100644
-index c2973479d13a5d2898523cf5f246db39c2ea48e6..0000000000000000000000000000000000000000
+index 8fdbc360f03b7ad561be4497f0793e81aa2e170b..0000000000000000000000000000000000000000
--- a/pom.xml
+++ /dev/null
@@ -1,691 +0,0 @@
@@ -175,7 +175,7 @@ index c2973479d13a5d2898523cf5f246db39c2ea48e6..00000000000000000000000000000000
- <groupId>org.spigotmc</groupId>
- <artifactId>spigot</artifactId>
- <packaging>jar</packaging>
-- <version>1.21.3-R0.1-SNAPSHOT</version>
+- <version>1.21.4-R0.1-SNAPSHOT</version>
- <name>Spigot</name>
- <url>https://www.spigotmc.org/</url>
-
@@ -192,7 +192,7 @@ index c2973479d13a5d2898523cf5f246db39c2ea48e6..00000000000000000000000000000000
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <api.version>unknown</api.version>
- <bt.name>git</bt.name>
-- <minecraft_version>1_21_R2</minecraft_version>
+- <minecraft_version>1_21_R3</minecraft_version>
- <maven.compiler.release>21</maven.compiler.release>
- </properties>
-
@@ -226,7 +226,7 @@ index c2973479d13a5d2898523cf5f246db39c2ea48e6..00000000000000000000000000000000
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-iostreams</artifactId>
-- <version>2.22.1</version>
+- <version>2.24.1</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
@@ -257,7 +257,7 @@ index c2973479d13a5d2898523cf5f246db39c2ea48e6..00000000000000000000000000000000
- <dependency>
- <groupId>com.github.oshi</groupId>
- <artifactId>oshi-core</artifactId>
-- <version>6.4.10</version>
+- <version>6.6.5</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
@@ -269,13 +269,13 @@ index c2973479d13a5d2898523cf5f246db39c2ea48e6..00000000000000000000000000000000
- <dependency>
- <groupId>com.microsoft.azure</groupId>
- <artifactId>msal4j</artifactId>
-- <version>1.15.0</version>
+- <version>1.17.2</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>com.mojang</groupId>
- <artifactId>authlib</artifactId>
-- <version>6.0.55</version>
+- <version>6.0.57</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
@@ -299,7 +299,7 @@ index c2973479d13a5d2898523cf5f246db39c2ea48e6..00000000000000000000000000000000
- <dependency>
- <groupId>com.mojang</groupId>
- <artifactId>logging</artifactId>
-- <version>1.4.9</version>
+- <version>1.5.10</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
@@ -317,111 +317,111 @@ index c2973479d13a5d2898523cf5f246db39c2ea48e6..00000000000000000000000000000000
- <dependency>
- <groupId>com.nimbusds</groupId>
- <artifactId>nimbus-jose-jwt</artifactId>
-- <version>9.37.3</version>
+- <version>9.40</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>com.nimbusds</groupId>
- <artifactId>oauth2-oidc-sdk</artifactId>
-- <version>11.9.1</version>
+- <version>11.18</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
-- <version>2.15.1</version>
+- <version>2.17.0</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-buffer</artifactId>
-- <version>4.1.97.Final</version>
+- <version>4.1.115.Final</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-codec</artifactId>
-- <version>4.1.97.Final</version>
+- <version>4.1.115.Final</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-common</artifactId>
-- <version>4.1.97.Final</version>
+- <version>4.1.115.Final</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-handler</artifactId>
-- <version>4.1.97.Final</version>
+- <version>4.1.115.Final</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-resolver</artifactId>
-- <version>4.1.97.Final</version>
+- <version>4.1.115.Final</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-transport</artifactId>
-- <version>4.1.97.Final</version>
+- <version>4.1.115.Final</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-transport-classes-epoll</artifactId>
-- <version>4.1.97.Final</version>
+- <version>4.1.115.Final</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-transport-native-epoll</artifactId>
-- <version>4.1.97.Final</version>
+- <version>4.1.115.Final</version>
- <classifier>linux-x86_64</classifier>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-transport-native-epoll</artifactId>
-- <version>4.1.97.Final</version>
+- <version>4.1.115.Final</version>
- <classifier>linux-aarch_64</classifier>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-transport-native-unix-common</artifactId>
-- <version>4.1.97.Final</version>
+- <version>4.1.115.Final</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>it.unimi.dsi</groupId>
- <artifactId>fastutil</artifactId>
-- <version>8.5.12</version>
+- <version>8.5.15</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>net.java.dev.jna</groupId>
- <artifactId>jna</artifactId>
-- <version>5.14.0</version>
+- <version>5.15.0</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>net.java.dev.jna</groupId>
- <artifactId>jna-platform</artifactId>
-- <version>5.14.0</version>
+- <version>5.15.0</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>net.minidev</groupId>
- <artifactId>accessors-smart</artifactId>
-- <version>2.5.0</version>
+- <version>2.5.1</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>net.minidev</groupId>
- <artifactId>json-smart</artifactId>
-- <version>2.5.0</version>
+- <version>2.5.1</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
@@ -433,25 +433,25 @@ index c2973479d13a5d2898523cf5f246db39c2ea48e6..00000000000000000000000000000000
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-lang3</artifactId>
-- <version>3.14.0</version>
+- <version>3.17.0</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-api</artifactId>
-- <version>2.22.1</version>
+- <version>2.24.1</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-core</artifactId>
-- <version>2.22.1</version>
+- <version>2.24.1</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-slf4j2-impl</artifactId>
-- <version>2.22.1</version>
+- <version>2.24.1</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
@@ -463,7 +463,7 @@ index c2973479d13a5d2898523cf5f246db39c2ea48e6..00000000000000000000000000000000
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
-- <version>2.0.9</version>
+- <version>2.0.16</version>
- <scope>compile</scope>
- </dependency>
- <!-- End Mojang depends -->
@@ -490,7 +490,7 @@ index c2973479d13a5d2898523cf5f246db39c2ea48e6..00000000000000000000000000000000
- <dependency>
- <groupId>org.xerial</groupId>
- <artifactId>sqlite-jdbc</artifactId>
-- <version>3.46.1.3</version>
+- <version>3.47.0.0</version>
- <scope>runtime</scope>
- </dependency>
- <dependency>
diff --git a/patches/unapplied/server/0002-Remap-fixes.patch b/patches/server/0002-Remap-fixes.patch
index d7cff4215b..4ccde45041 100644
--- a/patches/unapplied/server/0002-Remap-fixes.patch
+++ b/patches/server/0002-Remap-fixes.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Remap fixes
diff --git a/src/main/java/net/minecraft/core/BlockPos.java b/src/main/java/net/minecraft/core/BlockPos.java
-index e8b604659cec5a1b09e93dd7c5166d627aa2fe3d..115cb27d3233863692553f8e07238c74b0fcb61c 100644
+index c05eadf5f2ea2b9a66b4c63ca78db9a11bc585f3..d4bff51e5fe0c76d6e3832f48067b6051b217ab7 100644
--- a/src/main/java/net/minecraft/core/BlockPos.java
+++ b/src/main/java/net/minecraft/core/BlockPos.java
-@@ -323,9 +323,11 @@ public class BlockPos extends Vec3i {
+@@ -324,9 +324,11 @@ public class BlockPos extends Vec3i {
public static Iterable<BlockPos> withinManhattan(BlockPos center, int rangeX, int rangeY, int rangeZ) {
int i = rangeX + rangeY + rangeZ;
@@ -23,7 +23,7 @@ index e8b604659cec5a1b09e93dd7c5166d627aa2fe3d..115cb27d3233863692553f8e07238c74
return () -> new AbstractIterator<BlockPos>() {
private final BlockPos.MutableBlockPos cursor = new BlockPos.MutableBlockPos();
private int currentDepth;
-@@ -339,7 +341,7 @@ public class BlockPos extends Vec3i {
+@@ -340,7 +342,7 @@ public class BlockPos extends Vec3i {
protected BlockPos computeNext() {
if (this.zMirror) {
this.zMirror = false;
@@ -32,7 +32,7 @@ index e8b604659cec5a1b09e93dd7c5166d627aa2fe3d..115cb27d3233863692553f8e07238c74
return this.cursor;
} else {
BlockPos blockPos;
-@@ -365,7 +367,7 @@ public class BlockPos extends Vec3i {
+@@ -366,7 +368,7 @@ public class BlockPos extends Vec3i {
int k = this.currentDepth - Math.abs(i) - Math.abs(j);
if (k <= rangeZ) {
this.zMirror = k != 0;
@@ -117,7 +117,7 @@ index e96d821da0698dd42651500fb97a0856a9e9ce02..fb7d40181abdaa5b2ce607db47c09d0d
}
}
diff --git a/src/test/java/org/bukkit/ParticleTest.java b/src/test/java/org/bukkit/ParticleTest.java
-index ab72aeeec64c284ea42ac1542f55fd33d314effb..e2a03301073aced927244b07fe86f2de043e40a3 100644
+index dc3f6dc2a4e52449f3d1b2e89900aae0f57dd4bf..c47ce2e5d23af967167fc2f61daa0efe1a85c8c1 100644
--- a/src/test/java/org/bukkit/ParticleTest.java
+++ b/src/test/java/org/bukkit/ParticleTest.java
@@ -279,7 +279,7 @@ public class ParticleTest {
diff --git a/patches/unapplied/server/0003-Build-system-changes.patch b/patches/server/0003-Build-system-changes.patch
index a20de6d780..9775928a69 100644
--- a/patches/unapplied/server/0003-Build-system-changes.patch
+++ b/patches/server/0003-Build-system-changes.patch
@@ -9,20 +9,20 @@ public net.minecraft.server.packs.VanillaPackResourcesBuilder safeGetPath(Ljava/
Co-authored-by: Jake Potrebic <[email protected]>
diff --git a/build.gradle.kts b/build.gradle.kts
-index 6ef457b8ea6ff9b89cb74ecbdca20731d9f94e97..d4a5229b4df544ff60cdaee80c8ae301faf2a235 100644
+index 36e6426438865213d2e5e11ee3b1d6e538d475f7..56c201841194bdea8c7d9f07bd105aefb7232697 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -8,9 +8,7 @@ plugins {
dependencies {
implementation(project(":paper-api"))
implementation("jline:jline:2.12.1")
-- implementation("org.apache.logging.log4j:log4j-iostreams:2.22.1") {
+- implementation("org.apache.logging.log4j:log4j-iostreams:2.24.1") {
- exclude(group = "org.apache.logging.log4j", module = "log4j-api")
- }
-+ implementation("org.apache.logging.log4j:log4j-iostreams:2.22.1") // Paper - remove exclusion
++ implementation("org.apache.logging.log4j:log4j-iostreams:2.24.1") // Paper - remove exclusion
implementation("org.ow2.asm:asm-commons:9.7.1")
implementation("commons-lang:commons-lang:2.6")
- runtimeOnly("org.xerial:sqlite-jdbc:3.46.1.3")
+ runtimeOnly("org.xerial:sqlite-jdbc:3.47.0.0")
@@ -39,6 +37,7 @@ tasks.jar {
val gitHash = git("rev-parse", "--short=7", "HEAD").getText().trim()
val implementationVersion = System.getenv("BUILD_NUMBER") ?: "\"$gitHash\""
@@ -131,7 +131,7 @@ index feca36209fd2405fab70f564f63e627b8b78ac18..396ec10a76bdadbf5be2f0e15e88eed4
public static PackRepository createPackRepository(Path dataPacksPath, DirectoryValidator symlinkFinder) {
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
-index cc9700073b6431742b2709f25267028cc8407686..5e75839c0620f94e5b58942c984938e564d3b936 100644
+index 37b916b97d21c8250725f6756312bf92da0eb487..af267523b60aa9076ac3c8f92ceac65a54ffbb00 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -199,7 +199,7 @@ public class Main {
@@ -142,7 +142,7 @@ index cc9700073b6431742b2709f25267028cc8407686..5e75839c0620f94e5b58942c984938e5
+ Date buildDate = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z").parse(Main.class.getPackage().getImplementationVendor()); // Paper
Calendar deadline = Calendar.getInstance();
- deadline.add(Calendar.DAY_OF_YEAR, -14);
+ deadline.add(Calendar.DAY_OF_YEAR, -2);
diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
index 93046379d0cefd5d3236fc59e698809acdc18f80..774556a62eb240da42e84db4502e2ed43495be17 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
diff --git a/patches/unapplied/server/0004-Test-changes.patch b/patches/server/0004-Test-changes.patch
index 2065edd4c2..44bae88788 100644
--- a/patches/unapplied/server/0004-Test-changes.patch
+++ b/patches/server/0004-Test-changes.patch
@@ -8,7 +8,7 @@ Subject: [PATCH] Test changes
Co-authored-by: yannnicklamprecht <[email protected]>
diff --git a/build.gradle.kts b/build.gradle.kts
-index d4a5229b4df544ff60cdaee80c8ae301faf2a235..dac5e12f59723cdbd0d42a153c57d71ce185d0e8 100644
+index 56c201841194bdea8c7d9f07bd105aefb7232697..7f1d42ca8df9f72d3d05501f36ae8aefffa6ade7 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -5,6 +5,18 @@ plugins {
diff --git a/patches/unapplied/server/0005-Paper-config-files.patch b/patches/server/0005-Paper-config-files.patch
index bd72b5facf..500f4f6294 100644
--- a/patches/unapplied/server/0005-Paper-config-files.patch
+++ b/patches/server/0005-Paper-config-files.patch
@@ -15,16 +15,16 @@ public net.minecraft.server.dedicated.DedicatedServerProperties reload(Lnet/mine
public net.minecraft.world.level.NaturalSpawner SPAWNING_CATEGORIES
diff --git a/build.gradle.kts b/build.gradle.kts
-index dac5e12f59723cdbd0d42a153c57d71ce185d0e8..220d2696bf40d1657c87d049f563ccfffed2e8ad 100644
+index 7f1d42ca8df9f72d3d05501f36ae8aefffa6ade7..b4a389d0ef9df8ef49abb7049037e391d491d0c9 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -22,6 +22,7 @@ dependencies {
implementation("jline:jline:2.12.1")
- implementation("org.apache.logging.log4j:log4j-iostreams:2.22.1") // Paper - remove exclusion
+ implementation("org.apache.logging.log4j:log4j-iostreams:2.24.1") // Paper - remove exclusion
implementation("org.ow2.asm:asm-commons:9.7.1")
+ implementation("org.spongepowered:configurate-yaml:4.2.0-SNAPSHOT") // Paper - config files
implementation("commons-lang:commons-lang:2.6")
- runtimeOnly("org.xerial:sqlite-jdbc:3.46.1.3")
+ runtimeOnly("org.xerial:sqlite-jdbc:3.47.0.0")
runtimeOnly("com.mysql:mysql-connector-j:9.1.0")
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
new file mode 100644
@@ -5223,10 +5223,10 @@ index 0000000000000000000000000000000000000000..af8bcae3fb6aeb75350d0783599582d0
+
+import org.jspecify.annotations.NullMarked;
diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java
-index fc5c42e77a76b0ca946b13435144584b9c4bfafa..9bd6056bba6ba48bada7e9cd5883b0a171b0bbc4 100644
+index 6e658e00a159e9190abca0c8fd669c603b2c8029..c791b6d176090d67ecb250c6bc71c90b6c62f447 100644
--- a/src/main/java/net/minecraft/server/Main.java
+++ b/src/main/java/net/minecraft/server/Main.java
-@@ -129,6 +129,10 @@ public class Main {
+@@ -131,6 +131,10 @@ public class Main {
RegionFileVersion.configure(dedicatedserversettings.getProperties().regionFileComression);
Path path2 = Paths.get("eula.txt");
Eula eula = new Eula(path2);
@@ -5237,7 +5237,7 @@ index fc5c42e77a76b0ca946b13435144584b9c4bfafa..9bd6056bba6ba48bada7e9cd5883b0a1
if (optionset.has("initSettings")) { // CraftBukkit
// CraftBukkit start - SPIGOT-5761: Create bukkit.yml and commands.yml if not present
-@@ -163,7 +167,7 @@ public class Main {
+@@ -165,7 +169,7 @@ public class Main {
}
File file = (File) optionset.valueOf("universe"); // CraftBukkit
@@ -5247,7 +5247,7 @@ index fc5c42e77a76b0ca946b13435144584b9c4bfafa..9bd6056bba6ba48bada7e9cd5883b0a1
String s = (String) Optional.ofNullable((String) optionset.valueOf("world")).orElse(dedicatedserversettings.getProperties().levelName);
LevelStorageSource convertable = LevelStorageSource.createDefault(file.toPath());
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index c54fae06acd566742cea3aef537ad1b4e2b7414a..3fc0abef2c4e2c8ceb3b8c4f02c59700aa3d0803 100644
+index d9e000e01cba7e7c889a947764e9944b4e83d1a1..b6a662ee88a550836b620bb1ede349d5e4c94dfb 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -320,6 +320,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -5334,10 +5334,10 @@ index 6d89a5414f46a0c30badb4fcd25bc6cb6d18db3a..0ec3b546db0cf3858dd9cd9ea067d1d6
}
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index a0b4ca006ba51da1a91d10b8e8d4a1b12a5a37d3..a17846ccd8581c3d6da962e977623aaab8314ec7 100644
+index d11f831a567d4c4baa4b292480d8e3fc1bc70da7..67d5aaa5faa14e5ea5213efc6b24ef5b97fc17f7 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -241,7 +241,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -242,7 +242,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
// Add env and gen to constructor, IWorldDataServer -> WorldDataServer
public ServerLevel(MinecraftServer minecraftserver, Executor executor, LevelStorageSource.LevelStorageAccess convertable_conversionsession, PrimaryLevelData iworlddataserver, ResourceKey<Level> resourcekey, LevelStem worlddimension, ChunkProgressListener worldloadlistener, boolean flag, long i, List<CustomSpawner> list, boolean flag1, @Nullable RandomSequences randomsequences, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider) {
@@ -5347,10 +5347,10 @@ index a0b4ca006ba51da1a91d10b8e8d4a1b12a5a37d3..a17846ccd8581c3d6da962e977623aaa
this.convertable = convertable_conversionsession;
this.uuid = WorldUUID.getUUID(convertable_conversionsession.levelDirectory.path().toFile());
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
-index 9cf0c141fefe67893828e300cba4f8a8545ba25f..c8e49c1904c80c4ede40ca5c26efad9b12e247d1 100644
+index 275e255e396e0144c600c630fbb4a29002056753..396d7425ee3754e502b23924001b00c57c24016e 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
-@@ -157,6 +157,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
+@@ -158,6 +158,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
public final it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap<SpawnCategory> ticksPerSpawnCategory = new it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap<>();
public boolean populating;
public final org.spigotmc.SpigotWorldConfig spigotConfig; // Spigot
@@ -5363,7 +5363,7 @@ index 9cf0c141fefe67893828e300cba4f8a8545ba25f..c8e49c1904c80c4ede40ca5c26efad9b
public final SpigotTimings.WorldTimingsHandler timings; // Spigot
public static BlockPos lastPhysicsProblem; // Spigot
-@@ -174,8 +180,9 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
+@@ -175,8 +181,9 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
public abstract ResourceKey<LevelStem> getTypeKey();
@@ -5387,7 +5387,7 @@ index 46b067fdfbbdeb3c0005b37d24ae248ec2d6bb90..d5451cb1976ca3675dd19b07bd8a2d36
world.serverLevelData.setDifficulty(config.difficulty);
world.setSpawnSettings(config.spawnMonsters);
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
-index 5e75839c0620f94e5b58942c984938e564d3b936..3ee69736494467aa6a1450baf868e73c94733e5b 100644
+index af267523b60aa9076ac3c8f92ceac65a54ffbb00..153041dc3b4df33bd63a8a4765b4aa80c911e50e 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -142,6 +142,19 @@ public class Main {
diff --git a/patches/unapplied/server/0006-MC-Dev-fixes.patch b/patches/server/0006-MC-Dev-fixes.patch
index 6c9bb2f227..e79167b41d 100644
--- a/patches/unapplied/server/0006-MC-Dev-fixes.patch
+++ b/patches/server/0006-MC-Dev-fixes.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] MC Dev fixes
diff --git a/src/main/java/net/minecraft/Util.java b/src/main/java/net/minecraft/Util.java
-index 5b9ca3d968fd4884b1b7f2c06477ae00c09f202e..0842080f1840a83b34c2cc829dfddba78ba12157 100644
+index 078af824c2b8d7e7ac05c1c370bd630ee90b434b..56947030e423bf314f32c8dba7e841949336b8cf 100644
--- a/src/main/java/net/minecraft/Util.java
+++ b/src/main/java/net/minecraft/Util.java
-@@ -533,7 +533,7 @@ public class Util {
+@@ -537,7 +537,7 @@ public class Util {
public static <K extends Enum<K>, V> EnumMap<K, V> makeEnumMap(Class<K> enumClass, Function<K, V> mapper) {
EnumMap<K, V> enumMap = new EnumMap<>(enumClass);
@@ -30,10 +30,10 @@ index 643bb8860962ad691b11073f6dbf406bf7ec5fb1..9b8ec1fd158f6e51779be263fd56b911
}
}
diff --git a/src/main/java/net/minecraft/core/BlockPos.java b/src/main/java/net/minecraft/core/BlockPos.java
-index 115cb27d3233863692553f8e07238c74b0fcb61c..83e7c141d947f8f8096fed1da716560494bc5c62 100644
+index d4bff51e5fe0c76d6e3832f48067b6051b217ab7..33167226a9687ce26450d30d7eebf351709c638a 100644
--- a/src/main/java/net/minecraft/core/BlockPos.java
+++ b/src/main/java/net/minecraft/core/BlockPos.java
-@@ -445,12 +445,12 @@ public class BlockPos extends Vec3i {
+@@ -446,12 +446,12 @@ public class BlockPos extends Vec3i {
if (this.index == l) {
return this.endOfData();
} else {
@@ -84,7 +84,7 @@ index a614e960fcd5958ad17b679eee8a8e6926f58e62..da101bca71f4710812621b98f0a0d8ca
if (!this.hasElementSeparator()) {
diff --git a/src/main/java/net/minecraft/resources/RegistryDataLoader.java b/src/main/java/net/minecraft/resources/RegistryDataLoader.java
-index f4f1a99d53ffb953beb2a944f54d28fa6349fa29..a75f6fefdd72188fa8d16df2b5cbb34c4129f52d 100644
+index 4a9b8ec9294e82fd8da166e7582637ce19dcde7c..b9b9ec93442423e99def9b2c51aedc955a7799d5 100644
--- a/src/main/java/net/minecraft/resources/RegistryDataLoader.java
+++ b/src/main/java/net/minecraft/resources/RegistryDataLoader.java
@@ -74,7 +74,7 @@ import org.slf4j.Logger;
@@ -97,7 +97,7 @@ index f4f1a99d53ffb953beb2a944f54d28fa6349fa29..a75f6fefdd72188fa8d16df2b5cbb34c
private static final Function<Optional<KnownPack>, RegistrationInfo> REGISTRATION_INFO_CACHE = Util.memoize(knownPacks -> {
Lifecycle lifecycle = knownPacks.map(KnownPack::isVanilla).map(vanilla -> Lifecycle.stable()).orElse(Lifecycle.experimental());
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 3fc0abef2c4e2c8ceb3b8c4f02c59700aa3d0803..8e16bc7da15824723f1d7d4bff87fac181978500 100644
+index b6a662ee88a550836b620bb1ede349d5e4c94dfb..294dc6691683b769b57635ea05b4b9e4562fa9f5 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -2031,7 +2031,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -135,21 +135,8 @@ index 33170f2f1d3f030fbf342e44a1baa109a34c31a7..dde1ccca98f58200910334160f0f79eb
return SoundEvents.DOLPHIN_DEATH;
}
-diff --git a/src/main/java/net/minecraft/world/entity/monster/Pillager.java b/src/main/java/net/minecraft/world/entity/monster/Pillager.java
-index cf025d7a4392213db3cf04e7ace3e2b166e710eb..3e8631c7bd1e7591051ca21c6ae7acd87d3c7529 100644
---- a/src/main/java/net/minecraft/world/entity/monster/Pillager.java
-+++ b/src/main/java/net/minecraft/world/entity/monster/Pillager.java
-@@ -69,7 +69,7 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve
- super.registerGoals();
- this.goalSelector.addGoal(0, new FloatGoal(this));
- this.goalSelector.addGoal(1, new AvoidEntityGoal<>(this, Creaking.class, 8.0F, 1.0D, 1.2D));
-- this.goalSelector.addGoal(2, new Raider.HoldGroundAttackGoal(this, this, 10.0F));
-+ this.goalSelector.addGoal(2, new Raider.HoldGroundAttackGoal(this, 10.0F)); // Paper - decomp fix
- this.goalSelector.addGoal(3, new RangedCrossbowAttackGoal<>(this, 1.0D, 8.0F));
- this.goalSelector.addGoal(8, new RandomStrollGoal(this, 0.6D));
- this.goalSelector.addGoal(9, new LookAtPlayerGoal(this, Player.class, 15.0F, 1.0F));
diff --git a/src/main/java/net/minecraft/world/level/chunk/status/ChunkStatusTasks.java b/src/main/java/net/minecraft/world/level/chunk/status/ChunkStatusTasks.java
-index 5fa94fd51027901591e40cabdacfd61d16a58585..3f552ee8f90566edddb5943311a14309e4bebb61 100644
+index 650cc276e38b44b8b5486f53dd978439c2c25bd7..d2104e6e6ac7911bdba1cea3b9eca64930165cce 100644
--- a/src/main/java/net/minecraft/world/level/chunk/status/ChunkStatusTasks.java
+++ b/src/main/java/net/minecraft/world/level/chunk/status/ChunkStatusTasks.java
@@ -151,7 +151,7 @@ public class ChunkStatusTasks {
diff --git a/patches/unapplied/server/0007-ConcurrentUtil.patch b/patches/server/0007-ConcurrentUtil.patch
index b285b3c6e3..b285b3c6e3 100644
--- a/patches/unapplied/server/0007-ConcurrentUtil.patch
+++ b/patches/server/0007-ConcurrentUtil.patch
diff --git a/patches/unapplied/server/0008-CB-fixes.patch b/patches/server/0008-CB-fixes.patch
index 8170779c37..d4c409c72b 100644
--- a/patches/unapplied/server/0008-CB-fixes.patch
+++ b/patches/server/0008-CB-fixes.patch
@@ -19,10 +19,10 @@ Subject: [PATCH] CB fixes
Co-authored-by: Spottedleaf <[email protected]>
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index a17846ccd8581c3d6da962e977623aaab8314ec7..f6a3606b972064c4ec78487374e6197c0c447e27 100644
+index 67d5aaa5faa14e5ea5213efc6b24ef5b97fc17f7..ecbef5d54aef8e3f3bc2e4c34d2da6e96b1267b8 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -293,7 +293,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -294,7 +294,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
long l = minecraftserver.getWorldData().worldGenOptions().seed();
@@ -83,7 +83,7 @@ index a70e6872add1c952a89e74be0e6d09a53cc16559..90b82ad996b2b85628c9a5ddeef94101
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 36a847cf1560c0c188209998d7b92b73ccca35d5..00f64bd917aaf13d00b22129f2ca298a733054f4 100644
+index abe22b2d9ab742fc58ec6dfe88f9fa337ba7d838..a9dec31bdafd6bae677e58143fe618d812b338b7 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -1300,6 +1300,10 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -98,7 +98,7 @@ index 36a847cf1560c0c188209998d7b92b73ccca35d5..00f64bd917aaf13d00b22129f2ca298a
public int getLogicalHeight() {
return this.world.dimensionType().logicalHeight();
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
-index 3ee69736494467aa6a1450baf868e73c94733e5b..39126769594a535ebd4bf7052f42e9eda9d3e10a 100644
+index 153041dc3b4df33bd63a8a4765b4aa80c911e50e..d2aa1d32a62e074b53f304a755d42687ba0422ee 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -123,6 +123,7 @@ public class Main {
@@ -130,7 +130,7 @@ index a25ccafc861249a2309bd42f08a32601644de46f..a7b53187a24d11b8c91e8c50eeb907ac
public class CraftScheduler implements BukkitScheduler {
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 7d39ed941cd0567d01122469a36d7a645b5aeeba..c101b342e4f0c154a35f6268253d9c30d97a98c3 100644
+index 592906e5b4cd7e3859001b279c1d5d70d2882c84..de7f9d5b3860e7d187d73a1bd0d28c70293ef66c 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -247,7 +247,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
diff --git a/patches/unapplied/server/0009-MC-Utils.patch b/patches/server/0009-MC-Utils.patch
index 5688fb2dd1..e2c27693b4 100644
--- a/patches/unapplied/server/0009-MC-Utils.patch
+++ b/patches/server/0009-MC-Utils.patch
@@ -5084,7 +5084,7 @@ index 0000000000000000000000000000000000000000..f7114d5b8f2f93f62883e24da29afaf9
+ }
+}
diff --git a/src/main/java/net/minecraft/Util.java b/src/main/java/net/minecraft/Util.java
-index 0842080f1840a83b34c2cc829dfddba78ba12157..2ff5a6517d717bbd4c944572040bd30866347341 100644
+index 56947030e423bf314f32c8dba7e841949336b8cf..a88cfb92dea57d2f9abc029cea94a1b921f66766 100644
--- a/src/main/java/net/minecraft/Util.java
+++ b/src/main/java/net/minecraft/Util.java
@@ -136,7 +136,7 @@ public class Util {
@@ -5112,7 +5112,7 @@ index 6b588a4e639da11edeb933ec2bc4afde8f0b47f1..d721ae6d9b54cbace5b7ade657e9739f
return NbtUtils.loadUUID(this.get(key));
}
diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java
-index 821de8e17031bf54edb61fc577d7c5a90aabfd2e..77985072928a1b892fb4f7dec1d0899324780082 100644
+index 28600c024f39961fde4d202724289741d779a992..1fc859f4cc1cf552d2d578b3cda5872bc8b1015a 100644
--- a/src/main/java/net/minecraft/network/Connection.java
+++ b/src/main/java/net/minecraft/network/Connection.java
@@ -121,6 +121,18 @@ public class Connection extends SimpleChannelInboundHandler<Packet<?>> {
@@ -5212,7 +5212,7 @@ index 3e5a85a7ad6149b04622c254fbc2e174896a4128..3f662692ed4846e026a9d48595e7b3b2
+
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 8e16bc7da15824723f1d7d4bff87fac181978500..1b6cf839450cc69bd3cda6d874656c5345b0ac51 100644
+index 294dc6691683b769b57635ea05b4b9e4562fa9f5..cbdc5f9c54f24ae09881b3c8dfe980f79d32ee4b 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -988,6 +988,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -5499,15 +5499,15 @@ index ad2d29b106df33965090be521d4f945601965a00..261943f1f188643793a72bd239dfc5fe
protected ChunkDistanceManager(final Executor workerExecutor, final Executor mainThreadExecutor) {
super(workerExecutor, mainThreadExecutor);
diff --git a/src/main/java/net/minecraft/server/level/DistanceManager.java b/src/main/java/net/minecraft/server/level/DistanceManager.java
-index 019228b1809e3816b0b4dfb9f19b8d42876cc240..6c2339d6a93172e25040c4868a3a47473a1f5336 100644
+index 83f9360d7c645c7bfca34627e40c86e2aa31143b..e7bca3db8c7d29fe984decddda83569ef921cc31 100644
--- a/src/main/java/net/minecraft/server/level/DistanceManager.java
+++ b/src/main/java/net/minecraft/server/level/DistanceManager.java
@@ -385,7 +385,7 @@ public abstract class DistanceManager {
}
public void removeTicketsOnClosing() {
-- ImmutableSet<TicketType<?>> immutableset = ImmutableSet.of(TicketType.UNKNOWN, TicketType.POST_TELEPORT);
-+ ImmutableSet<TicketType<?>> immutableset = ImmutableSet.of(TicketType.UNKNOWN, TicketType.POST_TELEPORT, TicketType.FUTURE_AWAIT); // Paper - add additional tickets to preserve
+- ImmutableSet<TicketType<?>> immutableset = ImmutableSet.of(TicketType.UNKNOWN);
++ ImmutableSet<TicketType<?>> immutableset = ImmutableSet.of(TicketType.UNKNOWN, TicketType.FUTURE_AWAIT); // Paper - add additional tickets to preserve
ObjectIterator<Entry<SortedArraySet<Ticket<?>>>> objectiterator = this.tickets.long2ObjectEntrySet().fastIterator();
while (objectiterator.hasNext()) {
@@ -5594,10 +5594,10 @@ index 9cdcab885a915990a679f3fc9ae6885f7d125bfd..3e35a64b4b92ec25789e85c7445375dd
boolean flag1 = this.chunkMap.promoteChunkMap();
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index f6a3606b972064c4ec78487374e6197c0c447e27..8978fa74ceae06bef6aad3b74d6544989c687c69 100644
+index ecbef5d54aef8e3f3bc2e4c34d2da6e96b1267b8..cba44ea8375692ce9d2511fba1ac1dd1d2d0cb1e 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -239,6 +239,103 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -240,6 +240,103 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
return this.convertable.dimensionType;
}
@@ -5702,10 +5702,10 @@ index f6a3606b972064c4ec78487374e6197c0c447e27..8978fa74ceae06bef6aad3b74d654498
public ServerLevel(MinecraftServer minecraftserver, Executor executor, LevelStorageSource.LevelStorageAccess convertable_conversionsession, PrimaryLevelData iworlddataserver, ResourceKey<Level> resourcekey, LevelStem worlddimension, ChunkProgressListener worldloadlistener, boolean flag, long i, List<CustomSpawner> list, boolean flag1, @Nullable RandomSequences randomsequences, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider) {
super(iworlddataserver, resourcekey, minecraftserver.registryAccess(), worlddimension.type(), false, flag, i, minecraftserver.getMaxChainedNeighborUpdates(), gen, biomeProvider, env, spigotConfig -> minecraftserver.paperConfigurations.createWorldConfig(io.papermc.paper.configuration.PaperConfigurations.createWorldContextMap(convertable_conversionsession.levelDirectory.path(), iworlddataserver.getLevelName(), resourcekey.location(), spigotConfig, minecraftserver.registryAccess(), iworlddataserver.getGameRules()))); // Paper - create paper world configs
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 2819ee5726c759e524ba558155bcc516f1b70606..c60e7f27ea4060e455a18feb6f6a7919e80a8fc8 100644
+index 97a670499f4ce50239d8c09cf10c03a7520c8753..50c255c5226d50f78ead4c0a0694ac9d2df490f3 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -309,6 +309,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
+@@ -307,6 +307,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
public boolean sentListPacket = false;
public String kickLeaveMessage = null; // SPIGOT-3034: Forward leave message to PlayerQuitEvent
// CraftBukkit end
@@ -5714,7 +5714,7 @@ index 2819ee5726c759e524ba558155bcc516f1b70606..c60e7f27ea4060e455a18feb6f6a7919
public ServerPlayer(MinecraftServer server, ServerLevel world, GameProfile profile, ClientInformation clientOptions) {
super(world, world.getSharedSpawnPos(), world.getSharedSpawnAngle(), profile);
diff --git a/src/main/java/net/minecraft/server/level/TicketType.java b/src/main/java/net/minecraft/server/level/TicketType.java
-index 011eeab289d68b9b535c6438016f1244d0666286..e701f57ac8b0efdf739389f9be7a255220bb3e21 100644
+index 1ab1d4054c3fc343325d60f55b6af9bdac12305a..0fdb65a1e474950a50480f4e6f99c69f8e015a50 100644
--- a/src/main/java/net/minecraft/server/level/TicketType.java
+++ b/src/main/java/net/minecraft/server/level/TicketType.java
@@ -7,6 +7,7 @@ import net.minecraft.util.Unit;
@@ -5787,7 +5787,7 @@ index ae25aec117a7272735c824a00c1ed117fa52a921..d6e942aca1bcc769c390504a4119d661
@Override
public void schedule(R runnable) {
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index cf08a224c68b35a005a8ae0a093d2c8f4324bacd..d4bf025ffcc485b22db8093f1e9da1edfaae694b 100644
+index 20cd4789d59de3255c04239a4ea49e9ebc5af1c0..cbbed9eff4c5fa5bcb67efd73cb15c539aa286b9 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -343,6 +343,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -5803,10 +5803,10 @@ index cf08a224c68b35a005a8ae0a093d2c8f4324bacd..d4bf025ffcc485b22db8093f1e9da1ed
public Entity(EntityType<?> type, Level world) {
this.id = Entity.ENTITY_COUNTER.incrementAndGet();
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 17f706d401154035a7f1ed47b04a38e4eef24263..1d7af970b8f5eaa46fe4cd2b7d076f3cdd371216 100644
+index 97960022b80fe19aec4df166b8e26c2f6100a583..d679363fb85e08c57e2886a24b88ee0a82afcf34 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -296,6 +296,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -294,6 +294,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
public boolean collides = true;
public Set<UUID> collidableExemptions = new HashSet<>();
public boolean bukkitPickUpLoot;
@@ -5815,10 +5815,10 @@ index 17f706d401154035a7f1ed47b04a38e4eef24263..1d7af970b8f5eaa46fe4cd2b7d076f3c
@Override
public float getBukkitYaw() {
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
-index 0495b02157a40742ebf6817841010aacea179806..b0e45e28d17780b760a81ccbff61581274e033df 100644
+index 75d14a20339dc170f478e3d1c1090ddfbc6adb5f..5fa11da0e1bfb0f0030746d1f58e40f09c04a221 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
-@@ -1025,6 +1025,25 @@ public final class ItemStack implements DataComponentHolder {
+@@ -1030,6 +1030,25 @@ public final class ItemStack implements DataComponentHolder {
}
}
@@ -5844,7 +5844,7 @@ index 0495b02157a40742ebf6817841010aacea179806..b0e45e28d17780b760a81ccbff615812
public void applyComponents(DataComponentPatch changes) {
this.components.applyPatch(changes);
this.getItem().verifyComponentsAfterLoad(this);
-@@ -1300,6 +1319,7 @@ public final class ItemStack implements DataComponentHolder {
+@@ -1318,6 +1337,7 @@ public final class ItemStack implements DataComponentHolder {
// CraftBukkit start
@Deprecated
public void setItem(Item item) {
@@ -5853,7 +5853,7 @@ index 0495b02157a40742ebf6817841010aacea179806..b0e45e28d17780b760a81ccbff615812
}
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/world/level/BlockGetter.java b/src/main/java/net/minecraft/world/level/BlockGetter.java
-index 1a69fa49d43c904d0f762159129b8ed1eea36a43..6850ac324ee4d202f112dbd057ea1bde9de17ea9 100644
+index 083071d0f5e391d6e3bbda4aa84d8bb73e4f902b..f399d130d9bf4ab00f35090019a00c6287146490 100644
--- a/src/main/java/net/minecraft/world/level/BlockGetter.java
+++ b/src/main/java/net/minecraft/world/level/BlockGetter.java
@@ -12,6 +12,7 @@ import javax.annotation.Nullable;
@@ -5945,10 +5945,10 @@ index 8741264b0a9529b40c41a4b9bf25b50d27c830bc..87af0b3cfd3a3170955894028fd667f1
public BlockState getBlockState(BlockPos pos) {
return Blocks.AIR.defaultBlockState();
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
-index c8e49c1904c80c4ede40ca5c26efad9b12e247d1..3fb17bbcecf6dc4af3b231835adff25f86e1379f 100644
+index 396d7425ee3754e502b23924001b00c57c24016e..a3fd246b6a09a77fa64ef8e435edadf77dfbb1d7 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
-@@ -97,6 +97,7 @@ import org.bukkit.craftbukkit.CraftServer;
+@@ -98,6 +98,7 @@ import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.craftbukkit.CraftWorld;
import org.bukkit.craftbukkit.SpigotTimings; // Spigot
import org.bukkit.craftbukkit.block.CapturedBlockState;
@@ -5956,7 +5956,7 @@ index c8e49c1904c80c4ede40ca5c26efad9b12e247d1..3fb17bbcecf6dc4af3b231835adff25f
import org.bukkit.craftbukkit.block.data.CraftBlockData;
import org.bukkit.craftbukkit.util.CraftSpawnCategory;
import org.bukkit.entity.SpawnCategory;
-@@ -274,6 +275,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
+@@ -275,6 +276,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
return null;
}
@@ -5970,7 +5970,7 @@ index c8e49c1904c80c4ede40ca5c26efad9b12e247d1..3fb17bbcecf6dc4af3b231835adff25f
public boolean isInWorldBounds(BlockPos pos) {
return !this.isOutsideBuildHeight(pos) && Level.isInWorldBoundsHorizontal(pos);
}
-@@ -290,18 +298,52 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
+@@ -291,18 +299,52 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
return y < -20000000 || y >= 20000000;
}
@@ -6026,7 +6026,7 @@ index c8e49c1904c80c4ede40ca5c26efad9b12e247d1..3fb17bbcecf6dc4af3b231835adff25f
ChunkAccess ichunkaccess = this.getChunkSource().getChunk(chunkX, chunkZ, leastStatus, create);
if (ichunkaccess == null && create) {
-@@ -553,7 +595,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
+@@ -554,7 +596,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
if (this.isOutsideBuildHeight(pos)) {
return Blocks.VOID_AIR.defaultBlockState();
} else {
@@ -6102,10 +6102,10 @@ index b682c7c51204f727e21bfc20c691837deb7137ba..5375ea8dee8f74c843964824ad1a374e
public WorldBorder getWorldBorder() {
return this.level.getWorldBorder();
diff --git a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
-index 107d387f0f81e1a1400cefbec4758b743a64ca3b..0bae4e8d1e9fcc4608b3ef1c981c65f3b03de22b 100644
+index 5322157822b724bc4808277d2e69020c20256d9d..4315fc2473bd60a14ce848e4c43001f04eb0cd9f 100644
--- a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
+++ b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
-@@ -883,12 +883,14 @@ public abstract class BlockBehaviour implements FeatureElement {
+@@ -887,12 +887,14 @@ public abstract class BlockBehaviour implements FeatureElement {
}
}
@@ -6120,7 +6120,7 @@ index 107d387f0f81e1a1400cefbec4758b743a64ca3b..0bae4e8d1e9fcc4608b3ef1c981c65f3
this.legacySolid = this.calculateSolid();
this.occlusionShape = this.canOcclude ? ((Block) this.owner).getOcclusionShape(this.asState()) : Shapes.empty();
-@@ -955,8 +957,8 @@ public abstract class BlockBehaviour implements FeatureElement {
+@@ -959,8 +961,8 @@ public abstract class BlockBehaviour implements FeatureElement {
return this.occlusionShape;
}
@@ -6132,7 +6132,7 @@ index 107d387f0f81e1a1400cefbec4758b743a64ca3b..0bae4e8d1e9fcc4608b3ef1c981c65f3
public boolean useShapeForLightOcclusion() {
diff --git a/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java b/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java
-index 15e3b8c8a850039d0adda3c345bd5b9288d06299..37795b9e264c571efe9c718fa9996197dca4ed54 100644
+index daf0ff02807ca658fffb62e9914f7b2c6e4ae5ea..4b56e7cb45026ac3323ecf0b9622a177e961112d 100644
--- a/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java
+++ b/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java
@@ -65,7 +65,7 @@ public abstract class ChunkAccess implements BiomeManager.NoiseBiomeSource, Ligh
@@ -6172,10 +6172,10 @@ index a52077f0d93c94b0ea644bc14b9b28e84fd1b154..dcc0acd259920463a4464213b9a5e793
@Nullable
@Override
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
-index 7252096639078cd0b16997354530bf181a61e999..d76591694c3b167b8b8f17b61a373a43140a8b68 100644
+index b182b4fdfde60a67d096bb65d9dad5f893c8bb4b..9e6889d20bc2c9e86103f6d935d344de3ec48050 100644
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
-@@ -120,6 +120,10 @@ public class LevelChunk extends ChunkAccess {
+@@ -121,6 +121,10 @@ public class LevelChunk extends ChunkAccess {
public boolean needsDecoration;
// CraftBukkit end
@@ -6185,8 +6185,8 @@ index 7252096639078cd0b16997354530bf181a61e999..d76591694c3b167b8b8f17b61a373a43
+
public LevelChunk(ServerLevel world, ProtoChunk protoChunk, @Nullable LevelChunk.PostLoadProcessor entityLoader) {
this(world, protoChunk.getPos(), protoChunk.getUpgradeData(), protoChunk.unpackBlockTicks(), protoChunk.unpackFluidTicks(), protoChunk.getInhabitedTime(), protoChunk.getSections(), entityLoader, protoChunk.getBlendingData());
- Iterator iterator = protoChunk.getBlockEntities().values().iterator();
-@@ -204,8 +208,25 @@ public class LevelChunk extends ChunkAccess {
+ if (!Collections.disjoint(protoChunk.pendingBlockEntities.keySet(), protoChunk.blockEntities.keySet())) {
+@@ -209,8 +213,25 @@ public class LevelChunk extends ChunkAccess {
}
}
@@ -6212,7 +6212,7 @@ index 7252096639078cd0b16997354530bf181a61e999..d76591694c3b167b8b8f17b61a373a43
int i = pos.getX();
int j = pos.getY();
int k = pos.getZ();
-@@ -247,6 +268,18 @@ public class LevelChunk extends ChunkAccess {
+@@ -252,6 +273,18 @@ public class LevelChunk extends ChunkAccess {
}
}
@@ -6231,7 +6231,7 @@ index 7252096639078cd0b16997354530bf181a61e999..d76591694c3b167b8b8f17b61a373a43
@Override
public FluidState getFluidState(BlockPos pos) {
return this.getFluidState(pos.getX(), pos.getY(), pos.getZ());
-@@ -579,7 +612,11 @@ public class LevelChunk extends ChunkAccess {
+@@ -584,7 +617,11 @@ public class LevelChunk extends ChunkAccess {
// CraftBukkit start
public void loadCallback() {
@@ -6243,7 +6243,7 @@ index 7252096639078cd0b16997354530bf181a61e999..d76591694c3b167b8b8f17b61a373a43
if (server != null) {
/*
* If it's a new world, the first few chunks are generated inside
-@@ -620,6 +657,10 @@ public class LevelChunk extends ChunkAccess {
+@@ -625,6 +662,10 @@ public class LevelChunk extends ChunkAccess {
server.getPluginManager().callEvent(unloadEvent);
// note: saving can be prevented, but not forced if no saving is actually required
this.mustNotSave = !unloadEvent.isSaveChunk();
@@ -6268,7 +6268,7 @@ index 0cf916776ce8735dcfa4c765b18e77037501a322..771529ba28a16664ad19ed9c0f4bf95e
private short tickingFluidCount;
public final PalettedContainer<BlockState> states;
diff --git a/src/main/java/net/minecraft/world/level/chunk/ProtoChunk.java b/src/main/java/net/minecraft/world/level/chunk/ProtoChunk.java
-index 8bd5fb4971be46a51534c202e10a362723ad8664..5321109ca638036572df9a7e17eafcef2b4f5112 100644
+index 1d7d057b1ccc9074863ab51c1898114ece5e2d7a..fe8b9373a4906652bb6c0b3d8e1d83df04d592a2 100644
--- a/src/main/java/net/minecraft/world/level/chunk/ProtoChunk.java
+++ b/src/main/java/net/minecraft/world/level/chunk/ProtoChunk.java
@@ -83,6 +83,18 @@ public class ProtoChunk extends ChunkAccess {
@@ -6291,7 +6291,7 @@ index 8bd5fb4971be46a51534c202e10a362723ad8664..5321109ca638036572df9a7e17eafcef
public BlockState getBlockState(BlockPos pos) {
int i = pos.getY();
diff --git a/src/main/java/net/minecraft/world/level/chunk/status/ChunkStatusTasks.java b/src/main/java/net/minecraft/world/level/chunk/status/ChunkStatusTasks.java
-index 3f552ee8f90566edddb5943311a14309e4bebb61..412caefe776df6c8e931f6a1a48ea2525ec6610e 100644
+index d2104e6e6ac7911bdba1cea3b9eca64930165cce..459a20453d3b447cae20fbe6426dfdc62a34949a 100644
--- a/src/main/java/net/minecraft/world/level/chunk/status/ChunkStatusTasks.java
+++ b/src/main/java/net/minecraft/world/level/chunk/status/ChunkStatusTasks.java
@@ -168,7 +168,7 @@ public class ChunkStatusTasks {
@@ -6339,7 +6339,7 @@ index d5451cb1976ca3675dd19b07bd8a2d363f82db86..e5054699f2f7555455b4da20249e253d
+ }
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 00f64bd917aaf13d00b22129f2ca298a733054f4..72f2c9e9f4f4338a3fc03621a5e06e50ba83570f 100644
+index a9dec31bdafd6bae677e58143fe618d812b338b7..8e5a6137321d1d4941de8be2af5c7a3e5e143cf1 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -257,8 +257,8 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -6415,10 +6415,10 @@ index 00f64bd917aaf13d00b22129f2ca298a733054f4..72f2c9e9f4f4338a3fc03621a5e06e50
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 031eed24638659f2633bef0ad2e178832ca058e9..2e4e6fee48d0f6be3b23a109a7c661b27179ccaa 100644
+index 9f6e15c138e708856cd69ebd4e1a26a2ee259206..e8ff50f1d799984b49116ef2dd1be70e3a655a10 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2447,4 +2447,34 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2432,4 +2432,34 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.spigot;
}
// Spigot end
diff --git a/patches/unapplied/server/0010-Adventure.patch b/patches/server/0010-Adventure.patch
index 77613c7c61..8a0288ddb0 100644
--- a/patches/unapplied/server/0010-Adventure.patch
+++ b/patches/server/0010-Adventure.patch
@@ -2637,7 +2637,7 @@ index bb97fdb9aa6167083442a928276ebe4225a586ef..eeaa40e8121643c6c1d951e76e7361e2
@Override
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 1b6cf839450cc69bd3cda6d874656c5345b0ac51..2e6259e1d07892cb4fbcc81de069b75144d6f533 100644
+index cbdc5f9c54f24ae09881b3c8dfe980f79d32ee4b..8c68969b7d22376cfe5aadf81a16d9ba45e7c131 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -208,6 +208,7 @@ import org.bukkit.craftbukkit.SpigotTimings; // Spigot
@@ -2730,10 +2730,10 @@ index 1b6cf839450cc69bd3cda6d874656c5345b0ac51..2e6259e1d07892cb4fbcc81de069b751
public boolean logIPs() {
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index c60e7f27ea4060e455a18feb6f6a7919e80a8fc8..e941b2f989333932e81cf7d04f70d0e7aad89432 100644
+index 50c255c5226d50f78ead4c0a0694ac9d2df490f3..3228c664925b1214aae0a693b93fdbe4d6698aa0 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -190,6 +190,7 @@ import net.minecraft.world.item.trading.MerchantOffers;
+@@ -189,6 +189,7 @@ import net.minecraft.world.item.trading.MerchantOffers;
import net.minecraft.world.scores.Scoreboard;
import net.minecraft.world.scores.Team;
import net.minecraft.world.scores.criteria.ObjectiveCriteria;
@@ -2741,7 +2741,7 @@ index c60e7f27ea4060e455a18feb6f6a7919e80a8fc8..e941b2f989333932e81cf7d04f70d0e7
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.WeatherType;
-@@ -261,6 +262,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
+@@ -259,6 +260,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
private boolean disconnected;
private int requestedViewDistance;
public String language = "en_us"; // CraftBukkit - default
@@ -2749,7 +2749,7 @@ index c60e7f27ea4060e455a18feb6f6a7919e80a8fc8..e941b2f989333932e81cf7d04f70d0e7
@Nullable
private Vec3 startingToFallPosition;
@Nullable
-@@ -297,6 +299,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
+@@ -295,6 +297,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
// CraftBukkit start
public CraftPlayer.TransferCookieConnection transferCookieConnection;
public String displayName;
@@ -2757,7 +2757,7 @@ index c60e7f27ea4060e455a18feb6f6a7919e80a8fc8..e941b2f989333932e81cf7d04f70d0e7
public Component listName;
public int listOrder = 0;
public org.bukkit.Location compassTarget;
-@@ -414,6 +417,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
+@@ -412,6 +415,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
// CraftBukkit start
this.displayName = this.getScoreboardName();
@@ -2765,7 +2765,7 @@ index c60e7f27ea4060e455a18feb6f6a7919e80a8fc8..e941b2f989333932e81cf7d04f70d0e7
this.bukkitPickUpLoot = true;
this.maxHealthCache = this.getMaxHealth();
}
-@@ -1170,22 +1174,17 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
+@@ -1168,22 +1172,17 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
String deathmessage = defaultMessage.getString();
this.keepLevel = keepInventory; // SPIGOT-2222: pre-set keepLevel
@@ -2792,7 +2792,7 @@ index c60e7f27ea4060e455a18feb6f6a7919e80a8fc8..e941b2f989333932e81cf7d04f70d0e7
this.connection.send(new ClientboundPlayerCombatKillPacket(this.getId(), ichatbasecomponent), PacketSendListener.exceptionallySend(() -> {
boolean flag1 = true;
-@@ -2288,8 +2287,13 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
+@@ -2269,8 +2268,13 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
}
public void sendChatMessage(OutgoingChatMessage message, boolean filterMaskEnabled, ChatType.Bound params) {
@@ -2807,7 +2807,7 @@ index c60e7f27ea4060e455a18feb6f6a7919e80a8fc8..e941b2f989333932e81cf7d04f70d0e7
}
}
-@@ -2316,6 +2320,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
+@@ -2297,6 +2301,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
}
// CraftBukkit end
this.language = clientOptions.language();
@@ -2902,7 +2902,7 @@ index e7c407039fef88ef01ba9b6be9ae5bcc3edc026f..5457358bc76889153036818fdfd70a04
@Override
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 7e276fb310fc9e9217fc12934003611cd616def1..18d56058073b6cc4f9020f0a6137e4ac26eed0b2 100644
+index 2394ff9873590bd9d4f377f60973b8c098144857..ef98348a701efb10d65414f9ab2acd640900d24f 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -45,6 +45,7 @@ import net.minecraft.nbt.CompoundTag;
@@ -2913,7 +2913,7 @@ index 7e276fb310fc9e9217fc12934003611cd616def1..18d56058073b6cc4f9020f0a6137e4ac
import net.minecraft.network.chat.ChatType;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.LastSeenMessages;
-@@ -201,6 +202,8 @@ import net.minecraft.world.phys.shapes.VoxelShape;
+@@ -203,6 +204,8 @@ import net.minecraft.world.phys.shapes.VoxelShape;
import org.slf4j.Logger;
// CraftBukkit start
@@ -2922,7 +2922,7 @@ index 7e276fb310fc9e9217fc12934003611cd616def1..18d56058073b6cc4f9020f0a6137e4ac
import com.mojang.datafixers.util.Pair;
import java.util.Arrays;
import java.util.concurrent.ExecutionException;
-@@ -1747,9 +1750,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1814,9 +1817,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
*/
this.player.disconnect();
@@ -2937,7 +2937,7 @@ index 7e276fb310fc9e9217fc12934003611cd616def1..18d56058073b6cc4f9020f0a6137e4ac
}
// CraftBukkit end
this.player.getTextFilter().leave();
-@@ -1810,10 +1815,10 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -1877,10 +1882,10 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
CompletableFuture<FilteredText> completablefuture = this.filterTextPacket(playerchatmessage.signedContent()).thenApplyAsync(Function.identity(), this.server.chatExecutor); // CraftBukkit - async chat
@@ -2951,7 +2951,7 @@ index 7e276fb310fc9e9217fc12934003611cd616def1..18d56058073b6cc4f9020f0a6137e4ac
this.broadcastChatMessage(playerchatmessage1);
});
-@@ -2033,7 +2038,15 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2100,7 +2105,15 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.handleCommand(s);
} else if (this.player.getChatVisibility() == ChatVisiblity.SYSTEM) {
// Do nothing, this is coming from a plugin
@@ -2968,14 +2968,14 @@ index 7e276fb310fc9e9217fc12934003611cd616def1..18d56058073b6cc4f9020f0a6137e4ac
Player player = this.getCraftPlayer();
AsyncPlayerChatEvent event = new AsyncPlayerChatEvent(async, player, s, new LazyPlayerSet(this.server));
String originalFormat = event.getFormat(), originalMessage = event.getMessage();
-@@ -3066,6 +3079,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
- public void handleClientInformation(ServerboundClientInformationPacket packet) {
- PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
+@@ -3129,6 +3142,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+ boolean flag = this.player.isModelPartShown(PlayerModelPart.HAT);
+
this.player.updateOptions(packet.information());
+ this.connection.channel.attr(io.papermc.paper.adventure.PaperAdventure.LOCALE_ATTRIBUTE).set(net.kyori.adventure.translation.Translator.parseLocale(packet.information().language())); // Paper
- }
-
- @Override
+ if (this.player.isModelPartShown(PlayerModelPart.HAT) != flag) {
+ this.server.getPlayerList().broadcastAll(new ClientboundPlayerInfoUpdatePacket(ClientboundPlayerInfoUpdatePacket.Action.UPDATE_HAT, this.player));
+ }
diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
index c209ac2be7fabcd36cfcc0400308e44a26d78263..8cf3b9f1b7eef2d6278830e21ae012852687e02b 100644
--- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
@@ -3272,10 +3272,10 @@ index ed54c81a3269360acce674aa4e1d54ccb2461841..c9c849534c3998cfcab7ddcb12a71ccb
}
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
-index b0e45e28d17780b760a81ccbff61581274e033df..1ebaedc9617e5b79458fa119887fd72cb1f39852 100644
+index 5fa11da0e1bfb0f0030746d1f58e40f09c04a221..1db50e72ad8e04e54bed9b462bd7276feb06ce4c 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
-@@ -183,7 +183,15 @@ public final class ItemStack implements DataComponentHolder {
+@@ -184,7 +184,15 @@ public final class ItemStack implements DataComponentHolder {
CraftItemStack.setItemMeta(itemstack, CraftItemStack.getItemMeta(itemstack));
// Spigot end
ITEM_STREAM_CODEC.encode(registryfriendlybytebuf, itemstack.getItemHolder()); // CraftBukkit - decompile error
@@ -3292,7 +3292,7 @@ index b0e45e28d17780b760a81ccbff61581274e033df..1ebaedc9617e5b79458fa119887fd72c
}
};
diff --git a/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java
-index 657b5bab0d9e513e52b511e8a1b8fac5799f2281..cdaa050f237c6d6d5a0df0faf23daf3775249451 100644
+index 56455d56b9657a31bccb8fdc0cff02b5850414fd..9e185afc561a4470055bba7dd1d256ee83805c8d 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java
@@ -210,22 +210,22 @@ public class SignBlockEntity extends BlockEntity {
@@ -3584,7 +3584,7 @@ index cbdb1a56a97150c164515a4ce6d3ba06428bf321..b214e7b302abbfe1641485a05f1371ac
public URI getUrl() {
return this.handle.link();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 72f2c9e9f4f4338a3fc03621a5e06e50ba83570f..5612f66ec7b0e927824d5503b15dc28af0dfb168 100644
+index 8e5a6137321d1d4941de8be2af5c7a3e5e143cf1..1827df86bf21ca3ed297fd4316f3a962063a47fb 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -167,6 +167,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -3665,7 +3665,7 @@ index 72f2c9e9f4f4338a3fc03621a5e06e50ba83570f..5612f66ec7b0e927824d5503b15dc28a
// Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
-index 39126769594a535ebd4bf7052f42e9eda9d3e10a..41ceea1093edbf777f9ebe252114be7f75438420 100644
+index d2aa1d32a62e074b53f304a755d42687ba0422ee..c210d21382e0922aaf61f2c51949f753e6462b9e 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -20,6 +20,12 @@ public class Main {
@@ -4185,7 +4185,7 @@ index 55945b83a5426b352bad9507cc9e94afb1278032..9ea1537408ff2d790747b6e5a681d917
public boolean isOp() {
return true;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 2e4e6fee48d0f6be3b23a109a7c661b27179ccaa..361d138f36e6eb25c225b1278fc73f045f0fc72f 100644
+index e8ff50f1d799984b49116ef2dd1be70e3a655a10..6172bce93681e94b4cb19f7164f739e599108e00 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -395,14 +395,40 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -4429,7 +4429,7 @@ index 2e4e6fee48d0f6be3b23a109a7c661b27179ccaa..361d138f36e6eb25c225b1278fc73f04
@Override
public void removeResourcePack(UUID id) {
Preconditions.checkArgument(id != null, "Resource pack id cannot be null");
-@@ -2315,6 +2436,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2300,6 +2421,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return (this.getHandle().requestedViewDistance() == 0) ? Bukkit.getViewDistance() : this.getHandle().requestedViewDistance();
}
@@ -4442,7 +4442,7 @@ index 2e4e6fee48d0f6be3b23a109a7c661b27179ccaa..361d138f36e6eb25c225b1278fc73f04
@Override
public int getPing() {
return this.getHandle().connection.latency();
-@@ -2365,6 +2492,248 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2350,6 +2477,248 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.getHandle().allowsListing();
}
@@ -4858,10 +4858,10 @@ index d89b178dc82c7e2ad6d586217c5a039688563e29..d674289b07748022b94cc6a7e6c6eb45
public String getTitle() {
return this.title;
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
-index 6e111222e251e2f7959390e9fa0c31a163207c14..5d7e6b61102a6244c5426917c4ff280fa9e12cf1 100644
+index cc70796e0a80d4c8ed4e0d448c583f6647d7d72c..2f57af25e5cdeb2295675309d4cb7f36d15256c5 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
-@@ -209,4 +209,21 @@ public final class CraftItemFactory implements ItemFactory {
+@@ -211,4 +211,21 @@ public final class CraftItemFactory implements ItemFactory {
Optional<HolderSet.Named<Enchantment>> optional = (allowTreasures) ? Optional.empty() : registry.lookupOrThrow(Registries.ENCHANTMENT).get(EnchantmentTags.IN_ENCHANTING_TABLE);
return CraftItemStack.asCraftMirror(EnchantmentHelper.enchantItem(source, craft.handle, level, registry, optional));
}
@@ -4910,7 +4910,7 @@ index b09f794abd68551058e5764749d76c9ce8d2b849..d658634ea4468c9dbfb29bc12282441c
return (V) container.getBukkitView();
}
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantCustom.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantCustom.java
-index b9025adf652f22b0ba703b4e249a25b80ee6359d..ef47eb9a321a7b082413d3986d3d394afb899610 100644
+index 13f8689b8c6a2f3c81325d5692dc25abf2121d74..06b3004fa4f3e89d6eb19d545afe548bfd565e06 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantCustom.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantCustom.java
@@ -15,10 +15,17 @@ public class CraftMerchantCustom implements CraftMerchant {
@@ -5228,10 +5228,10 @@ index c71a4971f127fdfc753306019313ce1a31201120..fd3b12477c30d1eabdbe57ea77902793
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-index 4054deb8ba4eb26c712d76311a250b6b80ff8455..bae8b6486d8adb9be035e2f6f697d2d35ec0e67e 100644
+index 92dcf22ee3b9cceb742b77c4cc58645eb25d9e67..aa14b5c363824761e81a9a29ae88820841df0166 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-@@ -1097,6 +1097,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1103,6 +1103,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
return !(this.hasDisplayName() || this.hasItemName() || this.hasLocalizedName() || this.hasEnchants() || (this.lore != null) || this.hasCustomModelData() || this.hasEnchantable() || this.hasBlockData() || this.hasRepairCost() || !this.unhandledTags.build().isEmpty() || !this.removedTags.isEmpty() || !this.persistentDataContainer.isEmpty() || this.hideFlag != 0 || this.isHideTooltip() || this.hasTooltipStyle() || this.hasItemModel() || this.isUnbreakable() || this.hasEnchantmentGlintOverride() || this.isGlider() || this.hasDamageResistant() || this.hasMaxStackSize() || this.hasRarity() || this.hasUseRemainder() || this.hasUseCooldown() || this.hasFood() || this.hasTool() || this.hasJukeboxPlayable() || this.hasEquippable() || this.hasDamage() || this.hasMaxDamage() || this.hasAttributeModifiers() || this.customTag != null);
}
@@ -5250,7 +5250,7 @@ index 4054deb8ba4eb26c712d76311a250b6b80ff8455..bae8b6486d8adb9be035e2f6f697d2d3
@Override
public String getDisplayName() {
return CraftChatMessage.fromComponent(this.displayName);
-@@ -1127,6 +1139,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1133,6 +1145,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
return this.itemName != null;
}
@@ -5269,7 +5269,7 @@ index 4054deb8ba4eb26c712d76311a250b6b80ff8455..bae8b6486d8adb9be035e2f6f697d2d3
@Override
public String getLocalizedName() {
return this.getDisplayName();
-@@ -1146,6 +1170,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1152,6 +1176,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
return this.lore != null && !this.lore.isEmpty();
}
@@ -5661,7 +5661,7 @@ index ff040613083c015d9c52c0995591b64305fd5018..95444fd9fecc5bda5462ca8dfeca82c5
boolean hadFormat = false;
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index c101b342e4f0c154a35f6268253d9c30d97a98c3..54551723c6a6aae63edee6034ef8b8d20760cf11 100644
+index de7f9d5b3860e7d187d73a1bd0d28c70293ef66c..bcc9c0295495301d3b62ceb9d4ea93e365caee87 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -80,6 +80,43 @@ public final class CraftMagicNumbers implements UnsafeValues {
diff --git a/patches/unapplied/server/0011-Use-TerminalConsoleAppender-for-console-improvements.patch b/patches/server/0011-Use-TerminalConsoleAppender-for-console-improvements.patch
index 509d074579..2e317fd247 100644
--- a/patches/unapplied/server/0011-Use-TerminalConsoleAppender-for-console-improvements.patch
+++ b/patches/server/0011-Use-TerminalConsoleAppender-for-console-improvements.patch
@@ -25,7 +25,7 @@ Other changes:
Co-Authored-By: Emilia Kond <[email protected]>
diff --git a/build.gradle.kts b/build.gradle.kts
-index 220d2696bf40d1657c87d049f563ccfffed2e8ad..99e44684a3f6340ed3c0f73c690a9d4d51872f0d 100644
+index b4a389d0ef9df8ef49abb7049037e391d491d0c9..611960836f7f66af17e9a231d85e7181dcc068c8 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -5,6 +5,12 @@ plugins {
@@ -62,7 +62,7 @@ index 220d2696bf40d1657c87d049f563ccfffed2e8ad..99e44684a3f6340ed3c0f73c690a9d4d
+ runtimeOnly(log4jPlugins.output)
+ alsoShade(log4jPlugins.output)
+ // Paper end
- implementation("org.apache.logging.log4j:log4j-iostreams:2.22.1") // Paper - remove exclusion
+ implementation("org.apache.logging.log4j:log4j-iostreams:2.24.1") // Paper - remove exclusion
implementation("org.ow2.asm:asm-commons:9.7.1")
implementation("org.spongepowered:configurate-yaml:4.2.0-SNAPSHOT") // Paper - config files
@@ -92,6 +113,19 @@ tasks.check {
@@ -266,7 +266,7 @@ index 8323f135d6bf2e1f12525e05094ffa3f2420e7e1..a143ea1e58464a3122fbd8ccafe417bd
}
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 2e6259e1d07892cb4fbcc81de069b75144d6f533..8e369a3e5c8e89891787a97ec9c29b2b64018dc1 100644
+index 8c68969b7d22376cfe5aadf81a16d9ba45e7c131..f43958a5253af0e753ba2b7d5ee9e715a3eaa424 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -161,7 +161,7 @@ import com.mojang.serialization.Dynamic;
@@ -429,7 +429,7 @@ index c3774d9a253d4fda80f63d4040722ab5c1c94be4..41aa22f431c989d60dde5c85ca2821d5
@Override
public PluginCommand getPluginCommand(String name) {
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
-index 41ceea1093edbf777f9ebe252114be7f75438420..b6e449c2f29b0a201e5e7495de81d21a19f67a25 100644
+index c210d21382e0922aaf61f2c51949f753e6462b9e..1f4dc832ac059ddb9eafd43b0a37436abadaa59f 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -13,7 +13,6 @@ import java.util.logging.Logger;
diff --git a/patches/unapplied/server/0012-Handle-plugin-prefixes-using-Log4J-configuration.patch b/patches/server/0012-Handle-plugin-prefixes-using-Log4J-configuration.patch
index 2273bec36a..a508959733 100644
--- a/patches/unapplied/server/0012-Handle-plugin-prefixes-using-Log4J-configuration.patch
+++ b/patches/server/0012-Handle-plugin-prefixes-using-Log4J-configuration.patch
@@ -15,7 +15,7 @@ This may cause additional prefixes to be disabled for plugins bypassing
the plugin logger.
diff --git a/build.gradle.kts b/build.gradle.kts
-index 99e44684a3f6340ed3c0f73c690a9d4d51872f0d..0edae14596ffef85e894925fd5eb826641d8b9f1 100644
+index 611960836f7f66af17e9a231d85e7181dcc068c8..dca5a9897195315a1e2c006aa3ae4338742e3fc9 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -36,7 +36,7 @@ dependencies {
diff --git a/patches/unapplied/server/0013-Improve-Log4J-Configuration-Plugin-Loggers.patch b/patches/server/0013-Improve-Log4J-Configuration-Plugin-Loggers.patch
index 4f654facd6..4f654facd6 100644
--- a/patches/unapplied/server/0013-Improve-Log4J-Configuration-Plugin-Loggers.patch
+++ b/patches/server/0013-Improve-Log4J-Configuration-Plugin-Loggers.patch
diff --git a/patches/unapplied/server/0014-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch b/patches/server/0014-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch
index 53f8b576ff..8ca83419cc 100644
--- a/patches/unapplied/server/0014-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch
+++ b/patches/server/0014-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch
@@ -5,12 +5,12 @@ Subject: [PATCH] Use AsyncAppender to keep logging IO off main thread
diff --git a/build.gradle.kts b/build.gradle.kts
-index 0edae14596ffef85e894925fd5eb826641d8b9f1..5596168e6c8d6adc139475130b4c843a709be92c 100644
+index dca5a9897195315a1e2c006aa3ae4338742e3fc9..ca7d5e2bb44e2719eee8ad046e40e1e52021a4a9 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -47,6 +47,7 @@ dependencies {
implementation("commons-lang:commons-lang:2.6")
- runtimeOnly("org.xerial:sqlite-jdbc:3.46.1.3")
+ runtimeOnly("org.xerial:sqlite-jdbc:3.47.0.0")
runtimeOnly("com.mysql:mysql-connector-j:9.1.0")
+ runtimeOnly("com.lmax:disruptor:3.4.4") // Paper
diff --git a/patches/unapplied/server/0015-Deobfuscate-stacktraces-in-log-messages-crash-report.patch b/patches/server/0015-Deobfuscate-stacktraces-in-log-messages-crash-report.patch
index ffd7a162f7..8160890afe 100644
--- a/patches/unapplied/server/0015-Deobfuscate-stacktraces-in-log-messages-crash-report.patch
+++ b/patches/server/0015-Deobfuscate-stacktraces-in-log-messages-crash-report.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Deobfuscate stacktraces in log messages, crash reports, and
diff --git a/build.gradle.kts b/build.gradle.kts
-index 5596168e6c8d6adc139475130b4c843a709be92c..dd7900a126ab35ed00af5653a35d361d175f6f76 100644
+index ca7d5e2bb44e2719eee8ad046e40e1e52021a4a9..19d9cbcaa05061a5bedf5b1d821138091acfe973 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -60,6 +60,7 @@ dependencies {
@@ -466,7 +466,7 @@ index 81831a061d7fbf513f4aa7880e3b18ef3fdc05d7..1e9873d7b258ce1f0b2437cb1e487157
}
}
diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java
-index 77985072928a1b892fb4f7dec1d0899324780082..f5e6610d271ef2c997fb3d1a5f65e0bf0740805a 100644
+index 1fc859f4cc1cf552d2d578b3cda5872bc8b1015a..00bf34e1fd3593ad6d92bd292f3069cd3cbddfdd 100644
--- a/src/main/java/net/minecraft/network/Connection.java
+++ b/src/main/java/net/minecraft/network/Connection.java
@@ -82,13 +82,13 @@ public class Connection extends SimpleChannelInboundHandler<Packet<?>> {
diff --git a/patches/unapplied/server/0016-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch b/patches/server/0016-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch
index 0fdcde78a6..0fdcde78a6 100644
--- a/patches/unapplied/server/0016-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch
+++ b/patches/server/0016-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch
diff --git a/patches/unapplied/server/0017-Paper-command.patch b/patches/server/0017-Paper-command.patch
index 58246e59fd..58246e59fd 100644
--- a/patches/unapplied/server/0017-Paper-command.patch
+++ b/patches/server/0017-Paper-command.patch
diff --git a/patches/unapplied/server/0018-Paper-Metrics.patch b/patches/server/0018-Paper-Metrics.patch
index 9ad0f5d70e..9ad0f5d70e 100644
--- a/patches/unapplied/server/0018-Paper-Metrics.patch
+++ b/patches/server/0018-Paper-Metrics.patch
diff --git a/patches/unapplied/server/0019-Paper-Plugins.patch b/patches/server/0019-Paper-Plugins.patch
index 9b55f84f9d..0d731f6b39 100644
--- a/patches/unapplied/server/0019-Paper-Plugins.patch
+++ b/patches/server/0019-Paper-Plugins.patch
@@ -7221,10 +7221,10 @@ index f66a2154486b6d3b5873da043e51df91cd396c72..3f72e30b57fb2a4231e22a2234729408
validate(REGISTRY);
}
diff --git a/src/main/java/net/minecraft/server/Bootstrap.java b/src/main/java/net/minecraft/server/Bootstrap.java
-index aa38282b0f5461fc623a69d9860523a678a6bcd6..9abd1dea58ffc612114d5fd8e8944d4aa8c68236 100644
+index 529d376c168014e41064262b4088bfcef74e8433..01c8d583a4addf43b8cad55a51989de7c3f73d90 100644
--- a/src/main/java/net/minecraft/server/Bootstrap.java
+++ b/src/main/java/net/minecraft/server/Bootstrap.java
-@@ -63,6 +63,7 @@ public class Bootstrap {
+@@ -66,6 +66,7 @@ public class Bootstrap {
Bootstrap.isBootstrapped = true;
Instant instant = Instant.now();
@@ -7232,7 +7232,7 @@ index aa38282b0f5461fc623a69d9860523a678a6bcd6..9abd1dea58ffc612114d5fd8e8944d4a
if (BuiltInRegistries.REGISTRY.keySet().isEmpty()) {
throw new IllegalStateException("Unable to load registries");
} else {
-@@ -74,7 +75,10 @@ public class Bootstrap {
+@@ -77,7 +78,10 @@ public class Bootstrap {
EntitySelectorOptions.bootStrap();
DispenseItemBehavior.bootStrap();
CauldronInteraction.bootStrap();
@@ -7245,10 +7245,10 @@ index aa38282b0f5461fc623a69d9860523a678a6bcd6..9abd1dea58ffc612114d5fd8e8944d4a
Bootstrap.wrapStreams();
Bootstrap.bootstrapDuration.set(Duration.between(instant, Instant.now()).toMillis());
diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java
-index 9bd6056bba6ba48bada7e9cd5883b0a171b0bbc4..7399358f18dc7869fbfe414186cf18414c1eaafc 100644
+index c791b6d176090d67ecb250c6bc71c90b6c62f447..a9f09f2939a0fbf20be7f8bc27a6d8b961fb748a 100644
--- a/src/main/java/net/minecraft/server/Main.java
+++ b/src/main/java/net/minecraft/server/Main.java
-@@ -119,6 +119,7 @@ public class Main {
+@@ -121,6 +121,7 @@ public class Main {
JvmProfiler.INSTANCE.start(Environment.SERVER);
}
@@ -7329,7 +7329,7 @@ index 118c8b227133639427c1da84b93fcaa865fd6d02..542ff64ce0cb93a9f996fa0a65e8dde7
this.enablePlugins(PluginLoadOrder.STARTUP);
this.enablePlugins(PluginLoadOrder.POSTWORLD);
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 54551723c6a6aae63edee6034ef8b8d20760cf11..3c9cdb8c67d2704caac6488a6216d8c9c8a009ef 100644
+index bcc9c0295495301d3b62ceb9d4ea93e365caee87..8e747d48fb76c3f8bacb28f270754d5caeca4445 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -402,6 +402,16 @@ public final class CraftMagicNumbers implements UnsafeValues {
diff --git a/patches/unapplied/server/0020-Plugin-remapping.patch b/patches/server/0020-Plugin-remapping.patch
index eca49f442a..7dd0c11a62 100644
--- a/patches/unapplied/server/0020-Plugin-remapping.patch
+++ b/patches/server/0020-Plugin-remapping.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Plugin remapping
Co-authored-by: Nassim Jahnke <[email protected]>
diff --git a/build.gradle.kts b/build.gradle.kts
-index dd7900a126ab35ed00af5653a35d361d175f6f76..8678e5bd59a7e085cb1b4e38f29e06ce36d2c1de 100644
+index 19d9cbcaa05061a5bedf5b1d821138091acfe973..884ac16677ee3f52174c7bbf7b34896bcbf04bbc 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -61,6 +61,7 @@ dependencies {
@@ -1553,7 +1553,7 @@ index 0000000000000000000000000000000000000000..badff5d6ae6dd8d209c82bc7e8afe370
+ }
+}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 8e369a3e5c8e89891787a97ec9c29b2b64018dc1..e3e8af2d47c06f1e00799fbac8e49bcc87c23916 100644
+index f43958a5253af0e753ba2b7d5ee9e715a3eaa424..8acd27005f2b7cf32dc4cf93cf1a6eea2ab594ca 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -657,6 +657,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
diff --git a/patches/unapplied/server/0021-Hook-into-CB-plugin-rewrites.patch b/patches/server/0021-Hook-into-CB-plugin-rewrites.patch
index 213edbe281..213edbe281 100644
--- a/patches/unapplied/server/0021-Hook-into-CB-plugin-rewrites.patch
+++ b/patches/server/0021-Hook-into-CB-plugin-rewrites.patch
diff --git a/patches/unapplied/server/0022-Remap-reflection-calls-in-plugins-using-internals.patch b/patches/server/0022-Remap-reflection-calls-in-plugins-using-internals.patch
index d04608c8b2..ebcc5735fb 100644
--- a/patches/unapplied/server/0022-Remap-reflection-calls-in-plugins-using-internals.patch
+++ b/patches/server/0022-Remap-reflection-calls-in-plugins-using-internals.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Remap reflection calls in plugins using internals
Co-authored-by: Jason Penilla <[email protected]>
diff --git a/build.gradle.kts b/build.gradle.kts
-index 8678e5bd59a7e085cb1b4e38f29e06ce36d2c1de..8d05216e246bfaec5945cdd55d08b6a388a769e8 100644
+index 884ac16677ee3f52174c7bbf7b34896bcbf04bbc..49749e2bd8a4af96d2091fa1bccd876c2abb9e12 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -62,6 +62,12 @@ dependencies {
@@ -705,7 +705,7 @@ index 7d2d5c4ee244e7118a4c38628e2e69c79b11b98d..371d31266a532e59c49dbb106e354296
final Set<RerouteMethodData> rerouteMethodData = new HashSet<>();
String className;
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 3c9cdb8c67d2704caac6488a6216d8c9c8a009ef..ab4dd5a86ccd8e9878abf95417bb05ceb91dd19c 100644
+index 8e747d48fb76c3f8bacb28f270754d5caeca4445..07316f0043639c608dddadd1b3af871f4c3129d0 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -75,6 +75,7 @@ import org.bukkit.potion.PotionType;
diff --git a/patches/unapplied/server/0023-Further-improve-server-tick-loop.patch b/patches/server/0023-Further-improve-server-tick-loop.patch
index dfde87b3ad..ff1c5e21de 100644
--- a/patches/unapplied/server/0023-Further-improve-server-tick-loop.patch
+++ b/patches/server/0023-Further-improve-server-tick-loop.patch
@@ -12,7 +12,7 @@ Previous implementation did not calculate TPS correctly.
Switch to a realistic rolling average and factor in std deviation as an extra reporting variable
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index e3e8af2d47c06f1e00799fbac8e49bcc87c23916..af42531b825458e22963f5419015197dd127e4bc 100644
+index 8acd27005f2b7cf32dc4cf93cf1a6eea2ab594ca..f307408d459196caafc0a485ddb8d1c00bdf0af9 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -307,7 +307,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
diff --git a/patches/unapplied/server/0024-Remove-Spigot-timings.patch b/patches/server/0024-Remove-Spigot-timings.patch
index a48e332699..3444309ea5 100644
--- a/patches/unapplied/server/0024-Remove-Spigot-timings.patch
+++ b/patches/server/0024-Remove-Spigot-timings.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Remove Spigot timings
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index af42531b825458e22963f5419015197dd127e4bc..047cbaf7699b38764fb104d272328fbfa2714cd2 100644
+index f307408d459196caafc0a485ddb8d1c00bdf0af9..6ae26c5e2a60ee04c786cf19b08678c50c397a6a 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -203,7 +203,6 @@ import org.bukkit.craftbukkit.Main;
@@ -207,10 +207,10 @@ index 3e35a64b4b92ec25789e85c7445375dd899e1805..2e2976efcf99de269f67dec2c87cb910
}
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 8978fa74ceae06bef6aad3b74d6544989c687c69..b187561711227eed87ca73ceb8833fcb8e966b3d 100644
+index cba44ea8375692ce9d2511fba1ac1dd1d2d0cb1e..9415c699ed2bc2b4237ab5e14cb8316410ac9fa5 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -176,7 +176,6 @@ import net.minecraft.world.ticks.LevelTicks;
+@@ -177,7 +177,6 @@ import net.minecraft.world.ticks.LevelTicks;
import org.slf4j.Logger;
import org.bukkit.Bukkit;
import org.bukkit.WeatherType;
@@ -218,7 +218,7 @@ index 8978fa74ceae06bef6aad3b74d6544989c687c69..b187561711227eed87ca73ceb8833fcb
import org.bukkit.craftbukkit.event.CraftEventFactory;
import org.bukkit.craftbukkit.generator.CustomWorldChunkManager;
import org.bukkit.craftbukkit.util.WorldUUID;
-@@ -474,7 +473,6 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -475,7 +474,6 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
}
gameprofilerfiller.push("tickPending");
@@ -226,7 +226,7 @@ index 8978fa74ceae06bef6aad3b74d6544989c687c69..b187561711227eed87ca73ceb8833fcb
if (!this.isDebug() && flag) {
j = this.getGameTime();
gameprofilerfiller.push("blockTicks");
-@@ -483,7 +481,6 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -484,7 +482,6 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
this.fluidTicks.tick(j, 65536, this::tickFluid);
gameprofilerfiller.pop();
}
@@ -234,7 +234,7 @@ index 8978fa74ceae06bef6aad3b74d6544989c687c69..b187561711227eed87ca73ceb8833fcb
gameprofilerfiller.popPush("raid");
if (flag) {
-@@ -494,9 +491,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -495,9 +492,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
this.getChunkSource().tick(shouldKeepTicking, true);
gameprofilerfiller.popPush("blockEvents");
if (flag) {
@@ -244,7 +244,7 @@ index 8978fa74ceae06bef6aad3b74d6544989c687c69..b187561711227eed87ca73ceb8833fcb
}
this.handlingTick = false;
-@@ -509,7 +504,6 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -510,7 +505,6 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
if (flag1 || this.emptyTime++ < 300) {
gameprofilerfiller.push("entities");
@@ -252,7 +252,7 @@ index 8978fa74ceae06bef6aad3b74d6544989c687c69..b187561711227eed87ca73ceb8833fcb
if (this.dragonFight != null && flag) {
gameprofilerfiller.push("dragonFight");
this.dragonFight.tick();
-@@ -517,7 +511,6 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -518,7 +512,6 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
}
org.spigotmc.ActivationRange.activateEntities(this); // Spigot
@@ -260,7 +260,7 @@ index 8978fa74ceae06bef6aad3b74d6544989c687c69..b187561711227eed87ca73ceb8833fcb
this.entityTickList.forEach((entity) -> {
if (!entity.isRemoved()) {
if (!tickratemanager.isEntityFrozen(entity)) {
-@@ -542,8 +535,6 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -543,8 +536,6 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
}
}
});
@@ -269,7 +269,7 @@ index 8978fa74ceae06bef6aad3b74d6544989c687c69..b187561711227eed87ca73ceb8833fcb
gameprofilerfiller.pop();
this.tickBlockEntities();
}
-@@ -956,7 +947,6 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -957,7 +948,6 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
return;
}
// Spigot end
@@ -277,7 +277,7 @@ index 8978fa74ceae06bef6aad3b74d6544989c687c69..b187561711227eed87ca73ceb8833fcb
entity.setOldPosAndRot();
ProfilerFiller gameprofilerfiller = Profiler.get();
-@@ -975,7 +965,6 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -976,7 +966,6 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
this.tickPassenger(entity, entity1);
}
@@ -286,10 +286,10 @@ index 8978fa74ceae06bef6aad3b74d6544989c687c69..b187561711227eed87ca73ceb8833fcb
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 18d56058073b6cc4f9020f0a6137e4ac26eed0b2..fddc6b5abbad66ebe556ff8565c38c60b7883fce 100644
+index ef98348a701efb10d65414f9ab2acd640900d24f..f21de202d7c932832fca9402a17a13e336aa36c8 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -339,7 +339,6 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -341,7 +341,6 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@Override
public void tick() {
@@ -297,7 +297,7 @@ index 18d56058073b6cc4f9020f0a6137e4ac26eed0b2..fddc6b5abbad66ebe556ff8565c38c60
if (this.ackBlockChangesUpTo > -1) {
this.send(new ClientboundBlockChangedAckPacket(this.ackBlockChangesUpTo));
this.ackBlockChangesUpTo = -1;
-@@ -395,7 +394,6 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -397,7 +396,6 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.player.resetLastActionTime(); // CraftBukkit - SPIGOT-854
this.disconnect((Component) Component.translatable("multiplayer.disconnect.idling"));
}
@@ -305,7 +305,7 @@ index 18d56058073b6cc4f9020f0a6137e4ac26eed0b2..fddc6b5abbad66ebe556ff8565c38c60
}
-@@ -2122,7 +2120,6 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2189,7 +2187,6 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
private void handleCommand(String s) {
@@ -313,7 +313,7 @@ index 18d56058073b6cc4f9020f0a6137e4ac26eed0b2..fddc6b5abbad66ebe556ff8565c38c60
if ( org.spigotmc.SpigotConfig.logCommands ) // Spigot
this.LOGGER.info(this.player.getScoreboardName() + " issued server command: " + s);
-@@ -2132,7 +2129,6 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2199,7 +2196,6 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.cserver.getPluginManager().callEvent(event);
if (event.isCancelled()) {
@@ -321,7 +321,7 @@ index 18d56058073b6cc4f9020f0a6137e4ac26eed0b2..fddc6b5abbad66ebe556ff8565c38c60
return;
}
-@@ -2145,7 +2141,6 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2212,7 +2208,6 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
java.util.logging.Logger.getLogger(ServerGamePacketListenerImpl.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
return;
} finally {
@@ -330,7 +330,7 @@ index 18d56058073b6cc4f9020f0a6137e4ac26eed0b2..fddc6b5abbad66ebe556ff8565c38c60
}
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index d4bf025ffcc485b22db8093f1e9da1edfaae694b..a69de4362934240d8469b820bd1fbfd4a60645a2 100644
+index cbbed9eff4c5fa5bcb67efd73cb15c539aa286b9..fdeb762077bf0b87ceb62697f935f611eb9b046b 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -149,7 +149,6 @@ import org.bukkit.command.CommandSender;
@@ -349,7 +349,7 @@ index d4bf025ffcc485b22db8093f1e9da1edfaae694b..a69de4362934240d8469b820bd1fbfd4
// Spigot start
public final org.spigotmc.ActivationRange.ActivationType activationType = org.spigotmc.ActivationRange.initializeEntityActivationType(this);
public final boolean defaultActivationState;
-@@ -867,7 +865,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -875,7 +873,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
public void move(MoverType type, Vec3 movement) {
@@ -357,7 +357,7 @@ index d4bf025ffcc485b22db8093f1e9da1edfaae694b..a69de4362934240d8469b820bd1fbfd4
if (this.noPhysics) {
this.setPos(this.getX() + movement.x, this.getY() + movement.y, this.getZ() + movement.z);
} else {
-@@ -979,7 +976,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -990,7 +987,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
gameprofilerfiller.pop();
}
}
@@ -366,10 +366,10 @@ index d4bf025ffcc485b22db8093f1e9da1edfaae694b..a69de4362934240d8469b820bd1fbfd4
private void applyMovementEmissionAndPlaySound(Entity.MovementEmission moveEffect, Vec3 movement, BlockPos landingPos, BlockState landingState) {
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 1d7af970b8f5eaa46fe4cd2b7d076f3cdd371216..900ab23f587e9d990afe29492058390dc1c13f2d 100644
+index d679363fb85e08c57e2886a24b88ee0a82afcf34..25d2aa773f67946bf18312975c5b25f93015c39c 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -162,8 +162,6 @@ import org.bukkit.event.entity.EntityTeleportEvent;
+@@ -161,8 +161,6 @@ import org.bukkit.event.entity.EntityTeleportEvent;
import org.bukkit.event.player.PlayerItemConsumeEvent;
// CraftBukkit end
@@ -378,7 +378,7 @@ index 1d7af970b8f5eaa46fe4cd2b7d076f3cdd371216..900ab23f587e9d990afe29492058390d
public abstract class LivingEntity extends Entity implements Attackable {
private static final Logger LOGGER = LogUtils.getLogger();
-@@ -3091,7 +3089,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3102,7 +3100,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
@Override
public void tick() {
@@ -386,7 +386,7 @@ index 1d7af970b8f5eaa46fe4cd2b7d076f3cdd371216..900ab23f587e9d990afe29492058390d
super.tick();
this.updatingUsingItem();
this.updateSwimAmount();
-@@ -3133,9 +3130,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3144,9 +3141,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
if (!this.isRemoved()) {
@@ -396,7 +396,7 @@ index 1d7af970b8f5eaa46fe4cd2b7d076f3cdd371216..900ab23f587e9d990afe29492058390d
}
double d0 = this.getX() - this.xo;
-@@ -3229,7 +3224,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3240,7 +3235,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
this.elytraAnimationState.tick();
@@ -404,7 +404,7 @@ index 1d7af970b8f5eaa46fe4cd2b7d076f3cdd371216..900ab23f587e9d990afe29492058390d
}
public void detectEquipmentUpdatesPublic() { // CraftBukkit
-@@ -3436,7 +3430,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3447,7 +3441,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
ProfilerFiller gameprofilerfiller = Profiler.get();
gameprofilerfiller.push("ai");
@@ -412,7 +412,7 @@ index 1d7af970b8f5eaa46fe4cd2b7d076f3cdd371216..900ab23f587e9d990afe29492058390d
if (this.isImmobile()) {
this.jumping = false;
this.xxa = 0.0F;
-@@ -3446,7 +3439,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3457,7 +3450,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.serverAiStep();
gameprofilerfiller.pop();
}
@@ -420,7 +420,7 @@ index 1d7af970b8f5eaa46fe4cd2b7d076f3cdd371216..900ab23f587e9d990afe29492058390d
gameprofilerfiller.pop();
gameprofilerfiller.push("jump");
-@@ -3489,7 +3481,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3500,7 +3492,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.resetFallDistance();
}
@@ -428,7 +428,7 @@ index 1d7af970b8f5eaa46fe4cd2b7d076f3cdd371216..900ab23f587e9d990afe29492058390d
label112:
{
LivingEntity entityliving = this.getControllingPassenger();
-@@ -3503,7 +3494,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3514,7 +3505,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.travel(vec3d1);
}
@@ -436,7 +436,7 @@ index 1d7af970b8f5eaa46fe4cd2b7d076f3cdd371216..900ab23f587e9d990afe29492058390d
if (!this.level().isClientSide() || this.isControlledByLocalInstance()) {
this.applyEffectsFromBlocks();
-@@ -3539,9 +3529,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3550,9 +3540,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.checkAutoSpinAttack(axisalignedbb, this.getBoundingBox());
}
@@ -447,10 +447,10 @@ index 1d7af970b8f5eaa46fe4cd2b7d076f3cdd371216..900ab23f587e9d990afe29492058390d
world = this.level();
if (world instanceof ServerLevel worldserver) {
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
-index 3fb17bbcecf6dc4af3b231835adff25f86e1379f..c5e480c43668211a091e44ae50b40b025ff1dca9 100644
+index a3fd246b6a09a77fa64ef8e435edadf77dfbb1d7..0aa5d3c85b021c552eda139850b48effc3613450 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
-@@ -95,7 +95,6 @@ import net.minecraft.network.protocol.game.ClientboundSetBorderWarningDistancePa
+@@ -96,7 +96,6 @@ import net.minecraft.network.protocol.game.ClientboundSetBorderWarningDistancePa
import org.bukkit.Bukkit;
import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.craftbukkit.CraftWorld;
@@ -458,7 +458,7 @@ index 3fb17bbcecf6dc4af3b231835adff25f86e1379f..c5e480c43668211a091e44ae50b40b02
import org.bukkit.craftbukkit.block.CapturedBlockState;
import org.bukkit.craftbukkit.block.CraftBlockState;
import org.bukkit.craftbukkit.block.data.CraftBlockData;
-@@ -165,7 +164,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
+@@ -166,7 +165,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
}
// Paper end - add paper world config
@@ -466,7 +466,7 @@ index 3fb17bbcecf6dc4af3b231835adff25f86e1379f..c5e480c43668211a091e44ae50b40b02
public static BlockPos lastPhysicsProblem; // Spigot
private org.spigotmc.TickLimiter entityLimiter;
private org.spigotmc.TickLimiter tileLimiter;
-@@ -259,7 +257,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
+@@ -260,7 +258,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
public void onBorderSetDamageSafeZOne(WorldBorder border, double safeZoneRadius) {}
});
// CraftBukkit end
@@ -474,7 +474,7 @@ index 3fb17bbcecf6dc4af3b231835adff25f86e1379f..c5e480c43668211a091e44ae50b40b02
this.entityLimiter = new org.spigotmc.TickLimiter(this.spigotConfig.entityMaxTickTime);
this.tileLimiter = new org.spigotmc.TickLimiter(this.spigotConfig.tileMaxTickTime);
}
-@@ -692,15 +689,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
+@@ -693,15 +690,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
ProfilerFiller gameprofilerfiller = Profiler.get();
gameprofilerfiller.push("blockEntities");
@@ -490,7 +490,7 @@ index 3fb17bbcecf6dc4af3b231835adff25f86e1379f..c5e480c43668211a091e44ae50b40b02
// Spigot start
// Iterator<TickingBlockEntity> iterator = this.blockEntityTickers.iterator();
boolean flag = this.tickRateManager().runsNormally();
-@@ -723,7 +717,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
+@@ -724,7 +718,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
}
}
@@ -498,7 +498,7 @@ index 3fb17bbcecf6dc4af3b231835adff25f86e1379f..c5e480c43668211a091e44ae50b40b02
this.tickingBlockEntities = false;
gameprofilerfiller.pop();
this.spigotConfig.currentPrimedTnt = 0; // Spigot
-@@ -731,9 +724,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
+@@ -732,9 +725,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
public <T extends Entity> void guardEntityTick(Consumer<T> tickConsumer, T entity) {
try {
@@ -529,10 +529,10 @@ index 1fe93e01c5e37397aded5d1f99214bf1bffe70b7..9389fd53f2bff0a9ca389694b312dc6d
}
diff --git a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java
-index 4c3bc3a495990bc486fce7ba1758bf731c3baf02..751a5ae04e4de3f5d85eda20092a87ef4f547436 100644
+index 33b0030ceae7dae2958ec0275613b7886fbedbc1..1fa90dbf0e431d1f69ab46aa3dc200f09cfe7536 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java
-@@ -33,11 +33,8 @@ import org.bukkit.craftbukkit.persistence.CraftPersistentDataTypeRegistry;
+@@ -32,11 +32,8 @@ import org.bukkit.craftbukkit.persistence.CraftPersistentDataTypeRegistry;
import org.bukkit.inventory.InventoryHolder;
// CraftBukkit end
@@ -545,10 +545,10 @@ index 4c3bc3a495990bc486fce7ba1758bf731c3baf02..751a5ae04e4de3f5d85eda20092a87ef
private static final CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new CraftPersistentDataTypeRegistry();
public CraftPersistentDataContainer persistentDataContainer;
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
-index d76591694c3b167b8b8f17b61a373a43140a8b68..f63d55bfe42b117c5b437e690124a98d94752a9a 100644
+index 9e6889d20bc2c9e86103f6d935d344de3ec48050..b215ed941197f5aa0e26cd50a420500dcdc17fbb 100644
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
-@@ -971,7 +971,6 @@ public class LevelChunk extends ChunkAccess {
+@@ -976,7 +976,6 @@ public class LevelChunk extends ChunkAccess {
ProfilerFiller gameprofilerfiller = Profiler.get();
gameprofilerfiller.push(this::getType);
@@ -556,7 +556,7 @@ index d76591694c3b167b8b8f17b61a373a43140a8b68..f63d55bfe42b117c5b437e690124a98d
BlockState iblockdata = LevelChunk.this.getBlockState(blockposition);
if (this.blockEntity.getType().isValid(iblockdata)) {
-@@ -990,9 +989,6 @@ public class LevelChunk extends ChunkAccess {
+@@ -995,9 +994,6 @@ public class LevelChunk extends ChunkAccess {
this.blockEntity.fillCrashReportCategory(crashreportsystemdetails);
throw new ReportedException(crashreport);
// Spigot start
@@ -808,10 +808,10 @@ index b0ffa23faf62629043dfd613315eaf9c5fcc2cfe..00000000000000000000000000000000
- }
-}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 361d138f36e6eb25c225b1278fc73f045f0fc72f..0370e0f199d572f868212c077e76ed97c8730c5e 100644
+index 6172bce93681e94b4cb19f7164f739e599108e00..a37e5d822e93b3a4b1c0becf22290017c4709b94 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2809,6 +2809,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2794,6 +2794,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
CraftPlayer.this.getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundSystemChatPacket(components, position == net.md_5.bungee.api.ChatMessageType.ACTION_BAR));
}
diff --git a/patches/unapplied/server/0025-Add-command-line-option-to-load-extra-plugin-jars-no.patch b/patches/server/0025-Add-command-line-option-to-load-extra-plugin-jars-no.patch
index 5f4aea9a21..9ba347c792 100644
--- a/patches/unapplied/server/0025-Add-command-line-option-to-load-extra-plugin-jars-no.patch
+++ b/patches/server/0025-Add-command-line-option-to-load-extra-plugin-jars-no.patch
@@ -47,7 +47,7 @@ index 4d80804c0992d8fe90526b9f3ce858ec710e7361..16d2b3e59b8a6ef65b411afb9d94c61e
if (type == PluginLoadOrder.STARTUP) {
this.helpMap.clear();
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
-index b6e449c2f29b0a201e5e7495de81d21a19f67a25..99bc6e3d472edc0a0182e7b53286cb6a0170ae80 100644
+index 1f4dc832ac059ddb9eafd43b0a37436abadaa59f..1c2f232a99856fe754c7805d5b5a3d565e0d7f6f 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -160,6 +160,12 @@ public class Main {
diff --git a/patches/unapplied/server/0026-Support-components-in-ItemMeta.patch b/patches/server/0026-Support-components-in-ItemMeta.patch
index b5de302fd2..cd71224a9b 100644
--- a/patches/unapplied/server/0026-Support-components-in-ItemMeta.patch
+++ b/patches/server/0026-Support-components-in-ItemMeta.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Support components in ItemMeta
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-index bae8b6486d8adb9be035e2f6f697d2d35ec0e67e..2c4822d56c1d9204785159e33fd3582885aa6266 100644
+index aa14b5c363824761e81a9a29ae88820841df0166..784db8fa1b9ef99755440c6446248b802445da67 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-@@ -1114,11 +1114,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1120,11 +1120,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
return CraftChatMessage.fromComponent(this.displayName);
}
@@ -32,7 +32,7 @@ index bae8b6486d8adb9be035e2f6f697d2d35ec0e67e..2c4822d56c1d9204785159e33fd35828
@Override
public boolean hasDisplayName() {
return this.displayName != null;
-@@ -1292,6 +1304,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1298,6 +1310,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
return this.lore == null ? null : new ArrayList<String>(Lists.transform(this.lore, CraftChatMessage::fromComponent));
}
@@ -47,7 +47,7 @@ index bae8b6486d8adb9be035e2f6f697d2d35ec0e67e..2c4822d56c1d9204785159e33fd35828
@Override
public void setLore(List<String> lore) {
if (lore == null || lore.isEmpty()) {
-@@ -1306,6 +1326,21 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1312,6 +1332,21 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
}
}
@@ -69,7 +69,7 @@ index bae8b6486d8adb9be035e2f6f697d2d35ec0e67e..2c4822d56c1d9204785159e33fd35828
@Override
public boolean hasCustomModelData() {
return this.customModelData != null;
-@@ -2188,6 +2223,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -2209,6 +2244,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
}
for (Object object : addFrom) {
diff --git a/patches/unapplied/server/0027-Configurable-cactus-bamboo-and-reed-growth-height.patch b/patches/server/0027-Configurable-cactus-bamboo-and-reed-growth-height.patch
index e5e4b807ee..e5e4b807ee 100644
--- a/patches/unapplied/server/0027-Configurable-cactus-bamboo-and-reed-growth-height.patch
+++ b/patches/server/0027-Configurable-cactus-bamboo-and-reed-growth-height.patch
diff --git a/patches/unapplied/server/0028-Configurable-baby-zombie-movement-speed.patch b/patches/server/0028-Configurable-baby-zombie-movement-speed.patch
index a7c6ba5835..a7c6ba5835 100644
--- a/patches/unapplied/server/0028-Configurable-baby-zombie-movement-speed.patch
+++ b/patches/server/0028-Configurable-baby-zombie-movement-speed.patch
diff --git a/patches/unapplied/server/0029-Configurable-fishing-time-ranges.patch b/patches/server/0029-Configurable-fishing-time-ranges.patch
index 4599ac587d..bbdff28832 100644
--- a/patches/unapplied/server/0029-Configurable-fishing-time-ranges.patch
+++ b/patches/server/0029-Configurable-fishing-time-ranges.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable fishing time ranges
diff --git a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java
-index 0f3e3f1b918ed2971440b7414ae62ee018a85b3e..ed378bc8135c329cb7423da06eb26fff69ee4954 100644
+index e71f1a9f5347673aa87b20be066046e4d144fd6a..bec8aa80dab4bfc9c75d50e4141f0bf18f4a39cb 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java
@@ -93,6 +93,10 @@ public class FishingHook extends Projectile {
diff --git a/patches/unapplied/server/0030-Allow-nerfed-mobs-to-jump.patch b/patches/server/0030-Allow-nerfed-mobs-to-jump.patch
index 9aa6c3381e..3b45d52fe7 100644
--- a/patches/unapplied/server/0030-Allow-nerfed-mobs-to-jump.patch
+++ b/patches/server/0030-Allow-nerfed-mobs-to-jump.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Allow nerfed mobs to jump
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
-index 02a2fdf2a4bdfb390d23bf45211b71798de422fa..9b26f6a7526f875535738b1f22d9aa458845eb8e 100644
+index 909662e73ce94bb093610ff982fe14fa21754cca..3a63bcdc6a803e7b0b18c863f6e32209ff55707c 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
-@@ -127,6 +127,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
+@@ -123,6 +123,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
private final BodyRotationControl bodyRotationControl;
protected PathNavigation navigation;
public GoalSelector goalSelector;
diff --git a/patches/unapplied/server/0031-Add-configurable-entity-despawn-distances.patch b/patches/server/0031-Add-configurable-entity-despawn-distances.patch
index f2d77f7042..8f3bba25f4 100644
--- a/patches/unapplied/server/0031-Add-configurable-entity-despawn-distances.patch
+++ b/patches/server/0031-Add-configurable-entity-despawn-distances.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add configurable entity despawn distances
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
-index 9b26f6a7526f875535738b1f22d9aa458845eb8e..efa1d813699286c0a2632f44c4d7eecd06e8aa64 100644
+index 3a63bcdc6a803e7b0b18c863f6e32209ff55707c..137e645950eab0fc083ef3ff0fc65ee702dc2ea7 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -861,20 +861,24 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
diff --git a/patches/unapplied/server/0032-Drop-falling-block-and-tnt-entities-at-the-specified.patch b/patches/server/0032-Drop-falling-block-and-tnt-entities-at-the-specified.patch
index 1fc91e5693..adcac773fb 100644
--- a/patches/unapplied/server/0032-Drop-falling-block-and-tnt-entities-at-the-specified.patch
+++ b/patches/server/0032-Drop-falling-block-and-tnt-entities-at-the-specified.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Drop falling block and tnt entities at the specified height
Co-authored-by: Jake Potrebic <[email protected]>
diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
-index e9e8ad33371749f52a88a0ee089540eb26fb0f28..a5543a6b4811628ff5178a0ec01933ec4b30dfa4 100644
+index d3106ea480e70f5b2ad8d5b21fc353cab660d09c..e8585c05c5db32eafa18f3ac1968ba7e0c6f4566 100644
--- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
@@ -159,6 +159,16 @@ public class FallingBlockEntity extends Entity {
@@ -27,7 +27,7 @@ index e9e8ad33371749f52a88a0ee089540eb26fb0f28..a5543a6b4811628ff5178a0ec01933ec
Level world = this.level();
diff --git a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
-index 91381122b5b63139be880f80dadde4d8cf31a260..3d489fdc14b3e29bab63f330d5edbbc1d354382a 100644
+index 1951fc0af9f441873b7254e8d6c7708f5d697bf9..5bc84cc5ba4dca412dbc159b7a798f52d6f813dc 100644
--- a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
+++ b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
@@ -106,6 +106,12 @@ public class PrimedTnt extends Entity implements TraceableEntity {
@@ -44,10 +44,10 @@ index 91381122b5b63139be880f80dadde4d8cf31a260..3d489fdc14b3e29bab63f330d5edbbc1
if (this.onGround()) {
this.setDeltaMovement(this.getDeltaMovement().multiply(0.7D, -0.5D, 0.7D));
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/MinecartTNT.java b/src/main/java/net/minecraft/world/entity/vehicle/MinecartTNT.java
-index ef87b0b4dbf4f08b7ec00eed0eb4df2e3f13d4a7..0652494dc5f3d999116d4380032dea0e7402caec 100644
+index f6bc771e3e7e62c80326a787b568a0a7c5627813..0f005b1f98c387cd7bcfb934f44c166c39fdc9a5 100644
--- a/src/main/java/net/minecraft/world/entity/vehicle/MinecartTNT.java
+++ b/src/main/java/net/minecraft/world/entity/vehicle/MinecartTNT.java
-@@ -52,6 +52,12 @@ public class MinecartTNT extends AbstractMinecart {
+@@ -56,6 +56,12 @@ public class MinecartTNT extends AbstractMinecart {
public void tick() {
super.tick();
if (this.fuse > 0) {
diff --git a/patches/unapplied/server/0033-Expose-server-build-information.patch b/patches/server/0033-Expose-server-build-information.patch
index 258a0822bd..e402cda0da 100644
--- a/patches/unapplied/server/0033-Expose-server-build-information.patch
+++ b/patches/server/0033-Expose-server-build-information.patch
@@ -11,7 +11,7 @@ Co-authored-by: Jake Potrebic <[email protected]>
Co-authored-by: masmc05 <[email protected]>
diff --git a/build.gradle.kts b/build.gradle.kts
-index 8d05216e246bfaec5945cdd55d08b6a388a769e8..cb100e337521fd278893ec775606f128717105f7 100644
+index 49749e2bd8a4af96d2091fa1bccd876c2abb9e12..221c7dace9950bd4e57299eeff46b2ee4cd05258 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -1,4 +1,5 @@
@@ -533,7 +533,7 @@ index 0000000000000000000000000000000000000000..790bad0494454ca12ee152e3de6da3da
+ }
+}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 047cbaf7699b38764fb104d272328fbfa2714cd2..e763b89dac66c36f43afaf45f5226f34bd119ceb 100644
+index 6ae26c5e2a60ee04c786cf19b08678c50c397a6a..f70468b2cc4a782d3d7cc7854192fbbc3ad3020f 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -45,7 +45,6 @@ import java.util.Set;
@@ -659,7 +659,7 @@ index 16d2b3e59b8a6ef65b411afb9d94c61e6d797e36..e4335bfc98272c5499651977625e1f0c
public List<CraftPlayer> getOnlinePlayers() {
return this.playerView;
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
-index 99bc6e3d472edc0a0182e7b53286cb6a0170ae80..44b6fd8a64e7d7756eb62cd3816b1c4dcc5c5927 100644
+index 1c2f232a99856fe754c7805d5b5a3d565e0d7f6f..c8171cb14612857a5a6f7b000c1cdfb62a59836f 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -15,6 +15,7 @@ import joptsimple.OptionSet;
@@ -671,7 +671,7 @@ index 99bc6e3d472edc0a0182e7b53286cb6a0170ae80..44b6fd8a64e7d7756eb62cd3816b1c4d
public static boolean useConsole = true;
@@ -241,7 +242,7 @@ public class Main {
- deadline.add(Calendar.DAY_OF_YEAR, -14);
+ deadline.add(Calendar.DAY_OF_YEAR, -2);
if (buildDate.before(deadline.getTime())) {
System.err.println("*** Error, this build is outdated ***");
- System.err.println("*** Please download a new build as per instructions from https://www.spigotmc.org/go/outdated-spigot ***");
@@ -692,7 +692,7 @@ index 99bc6e3d472edc0a0182e7b53286cb6a0170ae80..44b6fd8a64e7d7756eb62cd3816b1c4d
t.printStackTrace();
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index ab4dd5a86ccd8e9878abf95417bb05ceb91dd19c..61efb305e25b23fe6309276e15efdb41a46c7738 100644
+index 07316f0043639c608dddadd1b3af871f4c3129d0..e27f10d0d5720c144729ce83e27aa1c70170ebe2 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -475,6 +475,13 @@ public final class CraftMagicNumbers implements UnsafeValues {
diff --git a/patches/unapplied/server/0034-Player-affects-spawning-API.patch b/patches/server/0034-Player-affects-spawning-API.patch
index a80bbb3584..09c8974a75 100644
--- a/patches/unapplied/server/0034-Player-affects-spawning-API.patch
+++ b/patches/server/0034-Player-affects-spawning-API.patch
@@ -21,7 +21,7 @@ index 048c8af16fad8708a486bb29304db22e2fb1ecb3..a617ea34cfc28cefd68dd14ffbb334b8
public static Predicate<Entity> withinDistance(double x, double y, double z, double max) {
double d4 = max * max;
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
-index efa1d813699286c0a2632f44c4d7eecd06e8aa64..9655466953cf850b82716246821a3ebb968a5478 100644
+index 137e645950eab0fc083ef3ff0fc65ee702dc2ea7..0562039114a90ddb64547eb8396920813d54f46b 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -858,7 +858,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
@@ -73,10 +73,10 @@ index 3836d9255ac326a7220e1decd2e9d98be7884c17..73c4585870b7af409f84474f126a5849
entityzombie.finalizeSpawn(world, world.getCurrentDifficultyAt(entityzombie.blockPosition()), EntitySpawnReason.REINFORCEMENT, (SpawnGroupData) null);
world.addFreshEntityWithPassengers(entityzombie, CreatureSpawnEvent.SpawnReason.REINFORCEMENTS); // CraftBukkit
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
-index a879d715a78ff32cfb377dd29cd9facaf21b3f32..b953b8e7e184c0c0eb7231564ad120765d66823a 100644
+index f917b43240b2fa4207b276ac850832fd1618302a..09a7c6171e50b6cf08cf7096b6005d3f9d8d2de7 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
-@@ -195,6 +195,7 @@ public abstract class Player extends LivingEntity {
+@@ -198,6 +198,7 @@ public abstract class Player extends LivingEntity {
public Entity currentExplosionCause;
private boolean ignoreFallDamageFromCurrentImpulse;
private int currentImpulseContextResetGraceTime;
@@ -135,10 +135,10 @@ index f689b2ca0ebc15c099f36ebfd14e455bda540296..fb043d67eaa6336fc0b5d62774b8f110
for (Player player : this.players()) {
if (EntitySelector.NO_SPECTATORS.test(player) && EntitySelector.LIVING_ENTITY_STILL_ALIVE.test(player)) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 0370e0f199d572f868212c077e76ed97c8730c5e..511858181de22ec8e5835b92cd132d86ed9af921 100644
+index a37e5d822e93b3a4b1c0becf22290017c4709b94..90428fbc332fb8b621725ade8eb010d5edec1286 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2452,6 +2452,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2437,6 +2437,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.getHandle().language;
}
diff --git a/patches/unapplied/server/0035-Only-refresh-abilities-if-needed.patch b/patches/server/0035-Only-refresh-abilities-if-needed.patch
index 1f09d0a3e4..372aa1ca7b 100644
--- a/patches/unapplied/server/0035-Only-refresh-abilities-if-needed.patch
+++ b/patches/server/0035-Only-refresh-abilities-if-needed.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Only refresh abilities if needed
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 511858181de22ec8e5835b92cd132d86ed9af921..698cabdc8f2613293abd42fb5b09dfbed6e3c448 100644
+index 90428fbc332fb8b621725ade8eb010d5edec1286..fcaac0479ef0259d2271de0cd12752833873a1f6 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2120,12 +2120,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/unapplied/server/0036-Entity-Origin-API.patch b/patches/server/0036-Entity-Origin-API.patch
index 89116c4edf..17636f53d1 100644
--- a/patches/unapplied/server/0036-Entity-Origin-API.patch
+++ b/patches/server/0036-Entity-Origin-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Entity Origin API
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index b187561711227eed87ca73ceb8833fcb8e966b3d..c7ca1638457752bb3828cdde66865c578560d86a 100644
+index 9415c699ed2bc2b4237ab5e14cb8316410ac9fa5..7ca86e73d6e206e697578c805f170f08f35f5b5a 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -2187,6 +2187,15 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -2193,6 +2193,15 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
entity.updateDynamicGameEventListener(DynamicGameEventListener::add);
entity.inWorld = true; // CraftBukkit - Mark entity as in world
entity.valid = true; // CraftBukkit
@@ -25,7 +25,7 @@ index b187561711227eed87ca73ceb8833fcb8e966b3d..c7ca1638457752bb3828cdde66865c57
public void onTrackingEnd(Entity entity) {
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index a69de4362934240d8469b820bd1fbfd4a60645a2..a753bcd3a40c5169866845eb7155646b25e40732 100644
+index fdeb762077bf0b87ceb62697f935f611eb9b046b..8825087beb5388876a1206c9704648f3fa98fee2 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -332,7 +332,27 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -56,7 +56,7 @@ index a69de4362934240d8469b820bd1fbfd4a60645a2..a753bcd3a40c5169866845eb7155646b
public float getBukkitYaw() {
return this.yRot;
}
-@@ -2270,6 +2290,15 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -2293,6 +2313,15 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
this.bukkitEntity.storeBukkitValues(nbttagcompound);
}
// CraftBukkit end
@@ -72,7 +72,7 @@ index a69de4362934240d8469b820bd1fbfd4a60645a2..a753bcd3a40c5169866845eb7155646b
return nbttagcompound;
} catch (Throwable throwable) {
CrashReport crashreport = CrashReport.forThrowable(throwable, "Saving entity NBT");
-@@ -2398,6 +2427,20 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -2423,6 +2452,20 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
// CraftBukkit end
diff --git a/patches/unapplied/server/0037-Prevent-block-entity-and-entity-crashes.patch b/patches/server/0037-Prevent-block-entity-and-entity-crashes.patch
index 7226372683..e54880a46c 100644
--- a/patches/unapplied/server/0037-Prevent-block-entity-and-entity-crashes.patch
+++ b/patches/server/0037-Prevent-block-entity-and-entity-crashes.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Prevent block entity and entity crashes
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
-index c5e480c43668211a091e44ae50b40b025ff1dca9..071545e60f838fa6c930edc35f46e0ce9b73fb44 100644
+index 0aa5d3c85b021c552eda139850b48effc3613450..3d2f579cf2b7b96f4ce2588f9655d2287767b01c 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
-@@ -726,11 +726,11 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
+@@ -727,11 +727,11 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
try {
tickConsumer.accept(entity);
} catch (Throwable throwable) {
@@ -26,10 +26,10 @@ index c5e480c43668211a091e44ae50b40b025ff1dca9..071545e60f838fa6c930edc35f46e0ce
}
diff --git a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java
-index 751a5ae04e4de3f5d85eda20092a87ef4f547436..3d7c5db5514f9d4401da22d2df88c5614051e568 100644
+index 1fa90dbf0e431d1f69ab46aa3dc200f09cfe7536..4c5ff6009f72ec3e56a1f440904c472fb2a4138a 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java
-@@ -268,7 +268,12 @@ public abstract class BlockEntity {
+@@ -258,7 +258,12 @@ public abstract class BlockEntity {
public void fillCrashReportCategory(CrashReportCategory crashReportSection) {
crashReportSection.setDetail("Name", this::getNameForReporting);
if (this.level != null) {
@@ -44,10 +44,10 @@ index 751a5ae04e4de3f5d85eda20092a87ef4f547436..3d7c5db5514f9d4401da22d2df88c561
}
}
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
-index f63d55bfe42b117c5b437e690124a98d94752a9a..79cf3089c128ef3c17d956da1e380670279ee5da 100644
+index b215ed941197f5aa0e26cd50a420500dcdc17fbb..daa2b3f67765bc340404747b3cffea5604830515 100644
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
-@@ -983,11 +983,11 @@ public class LevelChunk extends ChunkAccess {
+@@ -988,11 +988,11 @@ public class LevelChunk extends ChunkAccess {
gameprofilerfiller.pop();
} catch (Throwable throwable) {
diff --git a/patches/unapplied/server/0038-Configurable-top-of-nether-void-damage.patch b/patches/server/0038-Configurable-top-of-nether-void-damage.patch
index c3eab8560e..61ac8b5be8 100644
--- a/patches/unapplied/server/0038-Configurable-top-of-nether-void-damage.patch
+++ b/patches/server/0038-Configurable-top-of-nether-void-damage.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Configurable top of nether void damage
Co-authored-by: Jake Potrebic <[email protected]>
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index a753bcd3a40c5169866845eb7155646b25e40732..01f38f356ea3be7baaec83dd3c45bff5e181539a 100644
+index 8825087beb5388876a1206c9704648f3fa98fee2..61f7461150c7354a641b86ce42a2b41460d3a45d 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -721,7 +721,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -725,7 +725,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
public void checkBelowWorld() {
diff --git a/patches/unapplied/server/0039-Check-online-mode-before-converting-and-renaming-pla.patch b/patches/server/0039-Check-online-mode-before-converting-and-renaming-pla.patch
index 70183b1722..70183b1722 100644
--- a/patches/unapplied/server/0039-Check-online-mode-before-converting-and-renaming-pla.patch
+++ b/patches/server/0039-Check-online-mode-before-converting-and-renaming-pla.patch
diff --git a/patches/unapplied/server/0040-Add-more-entities-to-activation-range-ignore-list.patch b/patches/server/0040-Add-more-entities-to-activation-range-ignore-list.patch
index f7bf86db8b..f7bf86db8b 100644
--- a/patches/unapplied/server/0040-Add-more-entities-to-activation-range-ignore-list.patch
+++ b/patches/server/0040-Add-more-entities-to-activation-range-ignore-list.patch
diff --git a/patches/unapplied/server/0041-Configurable-end-credits.patch b/patches/server/0041-Configurable-end-credits.patch
index 3514b6e2ef..17ff16662c 100644
--- a/patches/unapplied/server/0041-Configurable-end-credits.patch
+++ b/patches/server/0041-Configurable-end-credits.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable end credits
diff --git a/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java b/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java
-index 8bea909328bc15eb6af739850db13d624270dee4..5744944455b08d45a7c0fe2289414b50b6c0d66a 100644
+index 4e560e290669fd62e373e5fa3515404f6c222336..8887d35d188510cf10da3dc46b0b56373ac346bd 100644
--- a/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java
@@ -76,6 +76,7 @@ public class EndPortalBlock extends BaseEntityBlock implements Portal {
diff --git a/patches/unapplied/server/0042-Fix-lag-from-explosions-processing-dead-entities.patch b/patches/server/0042-Fix-lag-from-explosions-processing-dead-entities.patch
index 9dc78a5f91..1c5b19ed1f 100644
--- a/patches/unapplied/server/0042-Fix-lag-from-explosions-processing-dead-entities.patch
+++ b/patches/server/0042-Fix-lag-from-explosions-processing-dead-entities.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix lag from explosions processing dead entities
diff --git a/src/main/java/net/minecraft/world/level/ServerExplosion.java b/src/main/java/net/minecraft/world/level/ServerExplosion.java
-index 1df33018470136344d8843e5e429aa7f9b40b750..0eb25fabfff0e8a050c6dfb8cd24e703f679db76 100644
+index 9ef8b671d5f969c71ac00ec1b49874ac05ca84ac..67685dfa8eb4a74e70ef982291a55d145d6abc66 100644
--- a/src/main/java/net/minecraft/world/level/ServerExplosion.java
+++ b/src/main/java/net/minecraft/world/level/ServerExplosion.java
@@ -185,7 +185,7 @@ public class ServerExplosion implements Explosion {
diff --git a/patches/unapplied/server/0043-Optimize-explosions.patch b/patches/server/0043-Optimize-explosions.patch
index f7ca52b35d..a3cabb44da 100644
--- a/patches/unapplied/server/0043-Optimize-explosions.patch
+++ b/patches/server/0043-Optimize-explosions.patch
@@ -10,7 +10,7 @@ This patch adds a per-tick cache that is used for storing and retrieving
an entity's exposure during an explosion.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index e763b89dac66c36f43afaf45f5226f34bd119ceb..8acfb0a70bf7bf5611b217ebf0177746c8f95abd 100644
+index f70468b2cc4a782d3d7cc7854192fbbc3ad3020f..9c26725e12adb2d17b9fa27f632fbad02e904c9a 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1611,6 +1611,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -22,10 +22,10 @@ index e763b89dac66c36f43afaf45f5226f34bd119ceb..8acfb0a70bf7bf5611b217ebf0177746
gameprofilerfiller.popPush("connection");
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
-index 071545e60f838fa6c930edc35f46e0ce9b73fb44..e90dac1e46bca60896b027f670ba521d67c02c1e 100644
+index 3d2f579cf2b7b96f4ce2588f9655d2287767b01c..7e6680d0618173e23d323b4b29f0a2fc966789e7 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
-@@ -168,6 +168,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
+@@ -169,6 +169,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
private org.spigotmc.TickLimiter entityLimiter;
private org.spigotmc.TickLimiter tileLimiter;
private int tileTickPosition;
@@ -34,7 +34,7 @@ index 071545e60f838fa6c930edc35f46e0ce9b73fb44..e90dac1e46bca60896b027f670ba521d
public CraftWorld getWorld() {
return this.world;
diff --git a/src/main/java/net/minecraft/world/level/ServerExplosion.java b/src/main/java/net/minecraft/world/level/ServerExplosion.java
-index 0eb25fabfff0e8a050c6dfb8cd24e703f679db76..f4b5c81d0daae24e06ba6409fc4584b4f1406fd2 100644
+index 67685dfa8eb4a74e70ef982291a55d145d6abc66..bbe50f60e653e60c844ca6688e781fa69d67905a 100644
--- a/src/main/java/net/minecraft/world/level/ServerExplosion.java
+++ b/src/main/java/net/minecraft/world/level/ServerExplosion.java
@@ -206,7 +206,7 @@ public class ServerExplosion implements Explosion {
@@ -46,7 +46,7 @@ index 0eb25fabfff0e8a050c6dfb8cd24e703f679db76..f4b5c81d0daae24e06ba6409fc4584b4
if (flag) {
// CraftBukkit start
-@@ -483,4 +483,85 @@ public class ServerExplosion implements Explosion {
+@@ -487,4 +487,85 @@ public class ServerExplosion implements Explosion {
}
}
diff --git a/patches/unapplied/server/0044-Disable-explosion-knockback.patch b/patches/server/0044-Disable-explosion-knockback.patch
index 21d2161c67..aba45775df 100644
--- a/patches/unapplied/server/0044-Disable-explosion-knockback.patch
+++ b/patches/server/0044-Disable-explosion-knockback.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Disable explosion knockback
diff --git a/src/main/java/net/minecraft/world/level/ServerExplosion.java b/src/main/java/net/minecraft/world/level/ServerExplosion.java
-index f4b5c81d0daae24e06ba6409fc4584b4f1406fd2..3afacd201683f46fd75cd6f9a7f3d43a7050cf4a 100644
+index bbe50f60e653e60c844ca6688e781fa69d67905a..e816e54daff781d54a94a007df5c59051347739d 100644
--- a/src/main/java/net/minecraft/world/level/ServerExplosion.java
+++ b/src/main/java/net/minecraft/world/level/ServerExplosion.java
@@ -246,7 +246,7 @@ public class ServerExplosion implements Explosion {
diff --git a/patches/unapplied/server/0045-Disable-thunder.patch b/patches/server/0045-Disable-thunder.patch
index 7c2ce40c67..7bb69a9201 100644
--- a/patches/unapplied/server/0045-Disable-thunder.patch
+++ b/patches/server/0045-Disable-thunder.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Disable thunder
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index c7ca1638457752bb3828cdde66865c578560d86a..dbb473ef888823e4f53acefed38bb85471bf6088 100644
+index 7ca86e73d6e206e697578c805f170f08f35f5b5a..e3c894619d64352896b5290d3b7592611bc3164d 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -594,7 +594,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -595,7 +595,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
ProfilerFiller gameprofilerfiller = Profiler.get();
gameprofilerfiller.push("thunder");
diff --git a/patches/unapplied/server/0046-Disable-ice-and-snow.patch b/patches/server/0046-Disable-ice-and-snow.patch
index 406de2d6a1..d7858e36a8 100644
--- a/patches/unapplied/server/0046-Disable-ice-and-snow.patch
+++ b/patches/server/0046-Disable-ice-and-snow.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Disable ice and snow
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index dbb473ef888823e4f53acefed38bb85471bf6088..217e6663713007c6c6a0d7132075a47a866c7db3 100644
+index e3c894619d64352896b5290d3b7592611bc3164d..db57ac5086f862833057a06ff1253934ef46230d 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -624,11 +624,13 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -625,11 +625,13 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
gameprofilerfiller.popPush("iceandsnow");
diff --git a/patches/unapplied/server/0047-Configurable-mob-spawner-tick-rate.patch b/patches/server/0047-Configurable-mob-spawner-tick-rate.patch
index a3dc9ff7d3..a3dc9ff7d3 100644
--- a/patches/unapplied/server/0047-Configurable-mob-spawner-tick-rate.patch
+++ b/patches/server/0047-Configurable-mob-spawner-tick-rate.patch
diff --git a/patches/unapplied/server/0048-Use-null-Locale-by-default.patch b/patches/server/0048-Use-null-Locale-by-default.patch
index da75362ea4..b75495a16e 100644
--- a/patches/unapplied/server/0048-Use-null-Locale-by-default.patch
+++ b/patches/server/0048-Use-null-Locale-by-default.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Use null Locale by default
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index e941b2f989333932e81cf7d04f70d0e7aad89432..8c98f241d1bc113e2b9ba1045eb251dc3c66f9f6 100644
+index 3228c664925b1214aae0a693b93fdbe4d6698aa0..01ae7e9847602d489c34f060ff132a1f5f9781a3 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -261,7 +261,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
+@@ -259,7 +259,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
private int levitationStartTime;
private boolean disconnected;
private int requestedViewDistance;
@@ -17,7 +17,7 @@ index e941b2f989333932e81cf7d04f70d0e7aad89432..8c98f241d1bc113e2b9ba1045eb251dc
public java.util.Locale adventure$locale = java.util.Locale.US; // Paper
@Nullable
private Vec3 startingToFallPosition;
-@@ -321,7 +321,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
+@@ -319,7 +319,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
this.canChatColor = true;
this.lastActionTime = Util.getMillis();
this.requestedViewDistance = 2;
@@ -26,7 +26,7 @@ index e941b2f989333932e81cf7d04f70d0e7aad89432..8c98f241d1bc113e2b9ba1045eb251dc
this.lastSectionPos = SectionPos.of(0, 0, 0);
this.chunkTrackingView = ChunkTrackingView.EMPTY;
this.respawnDimension = Level.OVERWORLD;
-@@ -2314,7 +2314,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
+@@ -2295,7 +2295,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
PlayerChangedMainHandEvent event = new PlayerChangedMainHandEvent(this.getBukkitEntity(), this.getMainArm() == HumanoidArm.LEFT ? MainHand.LEFT : MainHand.RIGHT);
this.server.server.getPluginManager().callEvent(event);
}
@@ -36,10 +36,10 @@ index e941b2f989333932e81cf7d04f70d0e7aad89432..8c98f241d1bc113e2b9ba1045eb251dc
this.server.server.getPluginManager().callEvent(event);
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 698cabdc8f2613293abd42fb5b09dfbed6e3c448..2715662a638c15ecb5034f443c64157bfa93c2aa 100644
+index fcaac0479ef0259d2271de0cd12752833873a1f6..38dd2a6a6d92e0f89a8a141455382d49afa441dd 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2450,7 +2450,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2435,7 +2435,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public String getLocale() {
diff --git a/patches/unapplied/server/0049-Add-BeaconEffectEvent.patch b/patches/server/0049-Add-BeaconEffectEvent.patch
index ce80109f25..ce80109f25 100644
--- a/patches/unapplied/server/0049-Add-BeaconEffectEvent.patch
+++ b/patches/server/0049-Add-BeaconEffectEvent.patch
diff --git a/patches/unapplied/server/0050-Configurable-container-update-tick-rate.patch b/patches/server/0050-Configurable-container-update-tick-rate.patch
index 12e81f67ab..e0cfe6d6ee 100644
--- a/patches/unapplied/server/0050-Configurable-container-update-tick-rate.patch
+++ b/patches/server/0050-Configurable-container-update-tick-rate.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable container update tick rate
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 8c98f241d1bc113e2b9ba1045eb251dc3c66f9f6..a06a2c5acb677b2495fab223dfbde293dffca096 100644
+index 01ae7e9847602d489c34f060ff132a1f5f9781a3..7e5fb0abe6cb4f10c41dedb2076e70bd9ace5430 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -295,6 +295,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
+@@ -293,6 +293,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
private final CommandSource commandSource;
private int containerCounter;
public boolean wonGame;
@@ -16,17 +16,16 @@ index 8c98f241d1bc113e2b9ba1045eb251dc3c66f9f6..a06a2c5acb677b2495fab223dfbde293
// CraftBukkit start
public CraftPlayer.TransferCookieConnection transferCookieConnection;
-@@ -924,7 +925,12 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
+@@ -922,7 +923,11 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
--this.invulnerableTime;
}
- this.containerMenu.broadcastChanges();
-+ // Paper start - Configurable container update tick rate
-+ if (--containerUpdateDelay <= 0) {
++ if (--this.containerUpdateDelay <= 0) {
+ this.containerMenu.broadcastChanges();
-+ containerUpdateDelay = this.level().paperConfig().tickRates.containerUpdate;
++ this.containerUpdateDelay = this.level().paperConfig().tickRates.containerUpdate;
+ }
+ // Paper end - Configurable container update tick rate
- if (!this.level().isClientSide && !this.containerMenu.stillValid(this)) {
+ if (!this.containerMenu.stillValid(this)) {
this.closeContainer();
this.containerMenu = this.inventoryMenu;
diff --git a/patches/unapplied/server/0051-Use-UserCache-for-player-heads.patch b/patches/server/0051-Use-UserCache-for-player-heads.patch
index b7c3f11a27..b7c3f11a27 100644
--- a/patches/unapplied/server/0051-Use-UserCache-for-player-heads.patch
+++ b/patches/server/0051-Use-UserCache-for-player-heads.patch
diff --git a/patches/unapplied/server/0052-Disable-spigot-tick-limiters.patch b/patches/server/0052-Disable-spigot-tick-limiters.patch
index 2872d59fb9..1a8fb27a07 100644
--- a/patches/unapplied/server/0052-Disable-spigot-tick-limiters.patch
+++ b/patches/server/0052-Disable-spigot-tick-limiters.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Disable spigot tick limiters
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
-index e90dac1e46bca60896b027f670ba521d67c02c1e..ed15f5c4a365a199d04e92d688035e4ab755e8db 100644
+index 7e6680d0618173e23d323b4b29f0a2fc966789e7..d8621149add06021d594415e079771b6fd57cc3f 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
-@@ -701,9 +701,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
+@@ -702,9 +702,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
boolean flag = this.tickRateManager().runsNormally();
int tilesThisCycle = 0;
diff --git a/patches/unapplied/server/0053-Fix-spawn-location-event-changing-location.patch b/patches/server/0053-Fix-spawn-location-event-changing-location.patch
index cc20e90b16..cc20e90b16 100644
--- a/patches/unapplied/server/0053-Fix-spawn-location-event-changing-location.patch
+++ b/patches/server/0053-Fix-spawn-location-event-changing-location.patch
diff --git a/patches/unapplied/server/0054-Configurable-Disabling-Cat-Chest-Detection.patch b/patches/server/0054-Configurable-Disabling-Cat-Chest-Detection.patch
index 410ee5115f..d7b43107a7 100644
--- a/patches/unapplied/server/0054-Configurable-Disabling-Cat-Chest-Detection.patch
+++ b/patches/server/0054-Configurable-Disabling-Cat-Chest-Detection.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Configurable Disabling Cat Chest Detection
Offers a gameplay feature to stop cats from blocking chests
diff --git a/src/main/java/net/minecraft/world/level/block/ChestBlock.java b/src/main/java/net/minecraft/world/level/block/ChestBlock.java
-index 62440d5985341d6c1b9ec5f6cce81a5ad6bd9040..590837cb242eda62dca3c937a26b8ba26c41850c 100644
+index accdc4200bf0b6f1064d973ec41002a8cdde6b0b..252d2ab67c125ae075689fa779477eb698c20a15 100644
--- a/src/main/java/net/minecraft/world/level/block/ChestBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/ChestBlock.java
-@@ -348,6 +348,11 @@ public class ChestBlock extends AbstractChestBlock<ChestBlockEntity> implements
+@@ -343,6 +343,11 @@ public class ChestBlock extends AbstractChestBlock<ChestBlockEntity> implements
}
private static boolean isCatSittingOnChest(LevelAccessor world, BlockPos pos) {
diff --git a/patches/unapplied/server/0055-Improve-Player-chat-API-handling.patch b/patches/server/0055-Improve-Player-chat-API-handling.patch
index 8547d7afe7..7d96e48efd 100644
--- a/patches/unapplied/server/0055-Improve-Player-chat-API-handling.patch
+++ b/patches/server/0055-Improve-Player-chat-API-handling.patch
@@ -17,10 +17,10 @@ Co-authored-by: Jake Potrebic <[email protected]>
Co-authored-by: SoSeDiK <[email protected]>
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index fddc6b5abbad66ebe556ff8565c38c60b7883fce..55d61a4c93233c0d3994e75f41e29065c2f1ea93 100644
+index f21de202d7c932832fca9402a17a13e336aa36c8..97b776e384e8ce064ea9bb93fe24d902ff2d8817 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -2032,7 +2032,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2099,7 +2099,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
OutgoingChatMessage outgoing = OutgoingChatMessage.create(original);
@@ -29,7 +29,7 @@ index fddc6b5abbad66ebe556ff8565c38c60b7883fce..55d61a4c93233c0d3994e75f41e29065
this.handleCommand(s);
} else if (this.player.getChatVisibility() == ChatVisiblity.SYSTEM) {
// Do nothing, this is coming from a plugin
-@@ -2120,6 +2120,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2187,6 +2187,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
private void handleCommand(String s) {
@@ -51,7 +51,7 @@ index e4335bfc98272c5499651977625e1f0ca671fbec..a0a0fa7de47402f1820618da5c6582dd
if (this.commandMap.dispatch(sender, commandLine)) {
return true;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 2715662a638c15ecb5034f443c64157bfa93c2aa..4db8f28709dcfdcdae8565e15e4871b7827ef96a 100644
+index 38dd2a6a6d92e0f89a8a141455382d49afa441dd..aa5755bd263c7682e41eeacbde28934b40796cf5 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -563,7 +563,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/unapplied/server/0056-All-chunks-are-slime-spawn-chunks-toggle.patch b/patches/server/0056-All-chunks-are-slime-spawn-chunks-toggle.patch
index 454765e6e5..454765e6e5 100644
--- a/patches/unapplied/server/0056-All-chunks-are-slime-spawn-chunks-toggle.patch
+++ b/patches/server/0056-All-chunks-are-slime-spawn-chunks-toggle.patch
diff --git a/patches/unapplied/server/0057-Expose-server-CommandMap.patch b/patches/server/0057-Expose-server-CommandMap.patch
index 4eafe19d32..4eafe19d32 100644
--- a/patches/unapplied/server/0057-Expose-server-CommandMap.patch
+++ b/patches/server/0057-Expose-server-CommandMap.patch
diff --git a/patches/unapplied/server/0058-Be-a-bit-more-informative-in-maxHealth-exception.patch b/patches/server/0058-Be-a-bit-more-informative-in-maxHealth-exception.patch
index dc513f3e96..583ea362ac 100644
--- a/patches/unapplied/server/0058-Be-a-bit-more-informative-in-maxHealth-exception.patch
+++ b/patches/server/0058-Be-a-bit-more-informative-in-maxHealth-exception.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Be a bit more informative in maxHealth exception
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index 8146e3df0fbcdb5f7e474167814bfbd569984fa0..ea7cbb5b5e7f140c06029ef05a01567d51b39f91 100644
+index e92bd027d1302ab784625a4e148e74053157b5c8..b34829d780d9f695b8109f4baed7cc251f2b6fdc 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -108,7 +108,12 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
diff --git a/patches/unapplied/server/0059-Player-Tab-List-and-Title-APIs.patch b/patches/server/0059-Player-Tab-List-and-Title-APIs.patch
index 770cea03c7..ee10c559f4 100644
--- a/patches/unapplied/server/0059-Player-Tab-List-and-Title-APIs.patch
+++ b/patches/server/0059-Player-Tab-List-and-Title-APIs.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Player Tab List and Title APIs
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 4db8f28709dcfdcdae8565e15e4871b7827ef96a..be1208d209c29006b040f06f378e7dd031651971 100644
+index aa5755bd263c7682e41eeacbde28934b40796cf5..8fd5aaa16b0a6d34f54424512335020bd2e7ecb8 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -393,6 +393,98 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/unapplied/server/0060-Add-configurable-portal-search-radius.patch b/patches/server/0060-Add-configurable-portal-search-radius.patch
index 9307176401..43fb1eff61 100644
--- a/patches/unapplied/server/0060-Add-configurable-portal-search-radius.patch
+++ b/patches/server/0060-Add-configurable-portal-search-radius.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add configurable portal search radius
diff --git a/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java b/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java
-index 5244f272947a4eb600f5ba183db2bb17824784ce..5d4c0d7fec42bf843b11875f7a09bcb9279b3b54 100644
+index 6bdee85d11b86e618172089c8f9390b6071511ef..a8cb0d5019d06de64b2cc30e6830bbd6ad43a155 100644
--- a/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java
@@ -145,8 +145,14 @@ public class NetherPortalBlock extends Block implements Portal {
diff --git a/patches/unapplied/server/0061-Add-velocity-warnings.patch b/patches/server/0061-Add-velocity-warnings.patch
index 3e32e12869..3e32e12869 100644
--- a/patches/unapplied/server/0061-Add-velocity-warnings.patch
+++ b/patches/server/0061-Add-velocity-warnings.patch
diff --git a/patches/unapplied/server/0062-Add-exception-reporting-event.patch b/patches/server/0062-Add-exception-reporting-event.patch
index 7f45893a66..6337d72deb 100644
--- a/patches/unapplied/server/0062-Add-exception-reporting-event.patch
+++ b/patches/server/0062-Add-exception-reporting-event.patch
@@ -91,10 +91,10 @@ index a5b18a04f482d05d3ca74918a580499b21c2fc3c..bd3f71c3eaa33258ff56062ea3a2099c
}
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
-index ed15f5c4a365a199d04e92d688035e4ab755e8db..f900c86697f5a3da45b724944a663fca8f89413e 100644
+index d8621149add06021d594415e079771b6fd57cc3f..11c5191ec6a53cb42f8a75e249fbce1058f2b58e 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
-@@ -728,6 +728,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
+@@ -729,6 +729,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
// Paper start - Prevent block entity and entity crashes
final String msg = String.format("Entity threw exception at %s:%s,%s,%s", entity.level().getWorld().getName(), entity.getX(), entity.getY(), entity.getZ());
MinecraftServer.LOGGER.error(msg, throwable);
@@ -123,10 +123,10 @@ index 9389fd53f2bff0a9ca389694b312dc6da58befaf..da0ddb8285e157be0cc7b940a9590be5
}
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
-index 79cf3089c128ef3c17d956da1e380670279ee5da..96ea7a5d5d4a69c83c2401e64750d41cd70088fc 100644
+index daa2b3f67765bc340404747b3cffea5604830515..95da29b973d43b59d9c4d0c83068dc74b59c9c8b 100644
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
-@@ -496,8 +496,13 @@ public class LevelChunk extends ChunkAccess {
+@@ -501,8 +501,13 @@ public class LevelChunk extends ChunkAccess {
BlockState iblockdata = this.getBlockState(blockposition);
if (!iblockdata.hasBlockEntity()) {
@@ -142,7 +142,7 @@ index 79cf3089c128ef3c17d956da1e380670279ee5da..96ea7a5d5d4a69c83c2401e64750d41c
} else {
BlockState iblockdata1 = blockEntity.getBlockState();
-@@ -986,6 +991,7 @@ public class LevelChunk extends ChunkAccess {
+@@ -991,6 +996,7 @@ public class LevelChunk extends ChunkAccess {
// Paper start - Prevent block entity and entity crashes
final String msg = String.format("BlockEntity threw exception at %s:%s,%s,%s", LevelChunk.this.getLevel().getWorld().getName(), this.getPos().getX(), this.getPos().getY(), this.getPos().getZ());
net.minecraft.server.MinecraftServer.LOGGER.error(msg, throwable);
diff --git a/patches/unapplied/server/0063-Disable-Scoreboards-for-non-players-by-default.patch b/patches/server/0063-Disable-Scoreboards-for-non-players-by-default.patch
index ca8895ce93..f1fe0283de 100644
--- a/patches/unapplied/server/0063-Disable-Scoreboards-for-non-players-by-default.patch
+++ b/patches/server/0063-Disable-Scoreboards-for-non-players-by-default.patch
@@ -11,10 +11,10 @@ So avoid looking up scoreboards and short circuit to the "not on a team"
logic which is most likely to be true.
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 01f38f356ea3be7baaec83dd3c45bff5e181539a..10195d04c9ca9e5f79e9c423fba5dc33fa538f3a 100644
+index 61f7461150c7354a641b86ce42a2b41460d3a45d..ad16a318033bb1f24c811ad6eebe2f76eb987408 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -3058,6 +3058,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -3088,6 +3088,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@Nullable
public PlayerTeam getTeam() {
@@ -23,7 +23,7 @@ index 01f38f356ea3be7baaec83dd3c45bff5e181539a..10195d04c9ca9e5f79e9c423fba5dc33
}
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 900ab23f587e9d990afe29492058390dc1c13f2d..c177e3ba30b8807eb41ad7741706d9a017ab9717 100644
+index 25d2aa773f67946bf18312975c5b25f93015c39c..b8d70367d4d0a7a384b7ac723a02739fb5d741e5 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -871,6 +871,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
diff --git a/patches/unapplied/server/0064-Add-methods-for-working-with-arrows-stuck-in-living-.patch b/patches/server/0064-Add-methods-for-working-with-arrows-stuck-in-living-.patch
index 6da97b4baa..4b2ba339c3 100644
--- a/patches/unapplied/server/0064-Add-methods-for-working-with-arrows-stuck-in-living-.patch
+++ b/patches/server/0064-Add-methods-for-working-with-arrows-stuck-in-living-.patch
@@ -7,7 +7,7 @@ Upstream added methods for this, original methods are now
deprecated
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index ea7cbb5b5e7f140c06029ef05a01567d51b39f91..6bb32e4eab357c5f67a3daafa2de035b0d125635 100644
+index b34829d780d9f695b8109f4baed7cc251f2b6fdc..7d05d87e3c8ebbd65b15dcf09324e2e4f95959e5 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -289,10 +289,29 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
diff --git a/patches/unapplied/server/0065-Complete-resource-pack-API.patch b/patches/server/0065-Complete-resource-pack-API.patch
index a39f24e8f8..9504d643e4 100644
--- a/patches/unapplied/server/0065-Complete-resource-pack-API.patch
+++ b/patches/server/0065-Complete-resource-pack-API.patch
@@ -22,7 +22,7 @@ index 99f89854e43ed6742dc9ac1624fa7140b4594b3b..d4527831f66bf1c55e6273c7f8923d6e
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index be1208d209c29006b040f06f378e7dd031651971..5c5dc66c7d6019121907801f6b32db765a6cd020 100644
+index 8fd5aaa16b0a6d34f54424512335020bd2e7ecb8..dd3072717a28ae74914e0806f1874994f9ae5f5b 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -213,6 +213,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/unapplied/server/0066-Default-loading-permissions.yml-before-plugins.patch b/patches/server/0066-Default-loading-permissions.yml-before-plugins.patch
index 45510139a9..45510139a9 100644
--- a/patches/unapplied/server/0066-Default-loading-permissions.yml-before-plugins.patch
+++ b/patches/server/0066-Default-loading-permissions.yml-before-plugins.patch
diff --git a/patches/unapplied/server/0067-Allow-Reloading-of-Custom-Permissions.patch b/patches/server/0067-Allow-Reloading-of-Custom-Permissions.patch
index 9b62fef16d..9b62fef16d 100644
--- a/patches/unapplied/server/0067-Allow-Reloading-of-Custom-Permissions.patch
+++ b/patches/server/0067-Allow-Reloading-of-Custom-Permissions.patch
diff --git a/patches/unapplied/server/0068-Remove-Metadata-on-reload.patch b/patches/server/0068-Remove-Metadata-on-reload.patch
index 61752107c6..61752107c6 100644
--- a/patches/unapplied/server/0068-Remove-Metadata-on-reload.patch
+++ b/patches/server/0068-Remove-Metadata-on-reload.patch
diff --git a/patches/unapplied/server/0069-Handle-Item-Meta-Inconsistencies.patch b/patches/server/0069-Handle-Item-Meta-Inconsistencies.patch
index 2535840f40..bd6c98fc50 100644
--- a/patches/unapplied/server/0069-Handle-Item-Meta-Inconsistencies.patch
+++ b/patches/server/0069-Handle-Item-Meta-Inconsistencies.patch
@@ -149,7 +149,7 @@ index 101eea3452c9e387e770b716543c3a4f17b9a737..aea09533fada5bd3d42e2cc147921167
static Map<Enchantment, Integer> getEnchantments(net.minecraft.world.item.ItemStack item) {
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-index 2c4822d56c1d9204785159e33fd3582885aa6266..cd4c0d691f65cc04ef7a72c7e8c0ead33047ff36 100644
+index 784db8fa1b9ef99755440c6446248b802445da67..3c44f5509e63dd673f0b8e701720984b78b9b7c4 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -6,6 +6,7 @@ import com.google.common.collect.ImmutableList;
@@ -168,8 +168,8 @@ index 2c4822d56c1d9204785159e33fd3582885aa6266..cd4c0d691f65cc04ef7a72c7e8c0ead3
import java.util.EnumSet;
import java.util.HashMap;
import java.util.Iterator;
-@@ -281,7 +283,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
- private Integer customModelData;
+@@ -283,7 +285,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+ private CraftCustomModelDataComponent customModelData;
private Integer enchantableValue;
private Map<String, String> blockData;
- private Map<Enchantment, Integer> enchantments;
@@ -177,7 +177,7 @@ index 2c4822d56c1d9204785159e33fd3582885aa6266..cd4c0d691f65cc04ef7a72c7e8c0ead3
private Multimap<Attribute, AttributeModifier> attributeModifiers;
private int repairCost;
private int hideFlag;
-@@ -330,7 +332,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -334,7 +336,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
this.blockData = meta.blockData;
if (meta.enchantments != null) {
@@ -186,7 +186,7 @@ index 2c4822d56c1d9204785159e33fd3582885aa6266..cd4c0d691f65cc04ef7a72c7e8c0ead3
}
if (meta.hasAttributeModifiers()) {
-@@ -509,8 +511,8 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -513,8 +515,8 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
}
}
@@ -197,7 +197,7 @@ index 2c4822d56c1d9204785159e33fd3582885aa6266..cd4c0d691f65cc04ef7a72c7e8c0ead3
tag.entrySet().forEach((entry) -> {
Holder<net.minecraft.world.item.enchantment.Enchantment> id = entry.getKey();
-@@ -844,13 +846,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -850,13 +852,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
return modifiers;
}
@@ -213,7 +213,7 @@ index 2c4822d56c1d9204785159e33fd3582885aa6266..cd4c0d691f65cc04ef7a72c7e8c0ead3
for (Map.Entry<?, ?> entry : ench.entrySet()) {
Enchantment enchantment = CraftEnchantment.stringToBukkit(entry.getKey().toString());
if ((enchantment != null) && (entry.getValue() instanceof Integer)) {
-@@ -1217,14 +1219,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1223,14 +1225,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
@Override
public Map<Enchantment, Integer> getEnchants() {
@@ -230,7 +230,7 @@ index 2c4822d56c1d9204785159e33fd3582885aa6266..cd4c0d691f65cc04ef7a72c7e8c0ead3
}
if (ignoreRestrictions || level >= ench.getStartLevel() && level <= ench.getMaxLevel()) {
-@@ -1955,7 +1957,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1976,7 +1978,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
clone.enchantableValue = this.enchantableValue;
clone.blockData = this.blockData;
if (this.enchantments != null) {
@@ -239,7 +239,7 @@ index 2c4822d56c1d9204785159e33fd3582885aa6266..cd4c0d691f65cc04ef7a72c7e8c0ead3
}
if (this.hasAttributeModifiers()) {
clone.attributeModifiers = LinkedHashMultimap.create(this.attributeModifiers);
-@@ -2351,4 +2353,22 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -2372,4 +2374,22 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
return (result != null) ? result : Optional.empty();
}
diff --git a/patches/unapplied/server/0070-Configurable-Non-Player-Arrow-Despawn-Rate.patch b/patches/server/0070-Configurable-Non-Player-Arrow-Despawn-Rate.patch
index a48b481fcd..b42858afe6 100644
--- a/patches/unapplied/server/0070-Configurable-Non-Player-Arrow-Despawn-Rate.patch
+++ b/patches/server/0070-Configurable-Non-Player-Arrow-Despawn-Rate.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Configurable Non Player Arrow Despawn Rate
Can set a much shorter despawn rate for arrows that players can not pick up.
diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
-index 4e055d09711fefdbb8bdc17190610691261fdf78..eb9a82c8c0e342d2afb21c64da32412ce3a0be76 100644
+index a83efabc1e2ac5f8af8f8a82fdfc37c8fd7b1232..dd115d514aeb3d124bc99456044f7d176850acab 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
-@@ -379,7 +379,7 @@ public abstract class AbstractArrow extends Projectile {
+@@ -380,7 +380,7 @@ public abstract class AbstractArrow extends Projectile {
protected void tickDespawn() {
++this.life;
diff --git a/patches/unapplied/server/0071-Add-World-Util-Methods.patch b/patches/server/0071-Add-World-Util-Methods.patch
index 4c7b9c4d27..86fb726c99 100644
--- a/patches/unapplied/server/0071-Add-World-Util-Methods.patch
+++ b/patches/server/0071-Add-World-Util-Methods.patch
@@ -6,10 +6,10 @@ 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/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
-index f900c86697f5a3da45b724944a663fca8f89413e..d1b117f25bafb294f00c18be02be593061120956 100644
+index 11c5191ec6a53cb42f8a75e249fbce1058f2b58e..36ed95a432429d7fe977684d26818afdb49c36dc 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
-@@ -339,6 +339,22 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
+@@ -340,6 +340,22 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
return chunk == null ? null : chunk.getFluidState(blockposition);
}
diff --git a/patches/unapplied/server/0072-Custom-replacement-for-eaten-items.patch b/patches/server/0072-Custom-replacement-for-eaten-items.patch
index bc3c20320f..f49bdb7f65 100644
--- a/patches/unapplied/server/0072-Custom-replacement-for-eaten-items.patch
+++ b/patches/server/0072-Custom-replacement-for-eaten-items.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Custom replacement for eaten items
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index c177e3ba30b8807eb41ad7741706d9a017ab9717..21a356b3c7d3dec73e5c8feaa4afda479a7ec1a2 100644
+index b8d70367d4d0a7a384b7ac723a02739fb5d741e5..58d61cbbca0011b8d8e86dce818de6df4c9d1c83 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -3983,10 +3983,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3990,10 +3990,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (!this.useItem.isEmpty() && this.isUsingItem()) {
// CraftBukkit start - fire PlayerItemConsumeEvent
ItemStack itemstack;
@@ -21,7 +21,7 @@ index c177e3ba30b8807eb41ad7741706d9a017ab9717..21a356b3c7d3dec73e5c8feaa4afda47
this.level().getCraftServer().getPluginManager().callEvent(event);
if (event.isCancelled()) {
-@@ -4004,6 +4005,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -4011,6 +4012,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
} else {
itemstack = this.useItem.finishUsingItem(this.level(), this);
}
@@ -34,7 +34,7 @@ index c177e3ba30b8807eb41ad7741706d9a017ab9717..21a356b3c7d3dec73e5c8feaa4afda47
// CraftBukkit end
if (itemstack != this.useItem) {
-@@ -4011,6 +4018,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -4018,6 +4025,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
this.stopUsingItem();
diff --git a/patches/unapplied/server/0073-handle-NaN-health-absorb-values-and-repair-bad-data.patch b/patches/server/0073-handle-NaN-health-absorb-values-and-repair-bad-data.patch
index d06c28b081..00e466a32b 100644
--- a/patches/unapplied/server/0073-handle-NaN-health-absorb-values-and-repair-bad-data.patch
+++ b/patches/server/0073-handle-NaN-health-absorb-values-and-repair-bad-data.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] handle NaN health/absorb values and repair bad data
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 21a356b3c7d3dec73e5c8feaa4afda479a7ec1a2..cd7837935003775688281882b19f0808512a2e0d 100644
+index 58d61cbbca0011b8d8e86dce818de6df4c9d1c83..de88eec263fd327c3d72e69bcd1c32343379d33e 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -831,7 +831,13 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -34,7 +34,7 @@ index 21a356b3c7d3dec73e5c8feaa4afda479a7ec1a2..cd7837935003775688281882b19f0808
// CraftBukkit start - Handle scaled health
if (this instanceof ServerPlayer) {
org.bukkit.craftbukkit.entity.CraftPlayer player = ((ServerPlayer) this).getBukkitEntity();
-@@ -3840,7 +3850,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3847,7 +3857,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
public final void setAbsorptionAmount(float absorptionAmount) {
@@ -44,10 +44,10 @@ index 21a356b3c7d3dec73e5c8feaa4afda479a7ec1a2..cd7837935003775688281882b19f0808
protected void internalSetAbsorptionAmount(float absorptionAmount) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 5c5dc66c7d6019121907801f6b32db765a6cd020..2664daa2ae772b2ad63bdab8942bcaeda0e457bc 100644
+index dd3072717a28ae74914e0806f1874994f9ae5f5b..f32794e235fe58027bc6a13e2bbc593bbc9d713b 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2365,6 +2365,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2350,6 +2350,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
public void setRealHealth(double health) {
diff --git a/patches/unapplied/server/0074-Use-a-Shared-Random-for-Entities.patch b/patches/server/0074-Use-a-Shared-Random-for-Entities.patch
index d26d24c577..8ab24ff10c 100644
--- a/patches/unapplied/server/0074-Use-a-Shared-Random-for-Entities.patch
+++ b/patches/server/0074-Use-a-Shared-Random-for-Entities.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Use a Shared Random for Entities
Reduces memory usage and provides ensures more randomness, Especially since a lot of garbage entity objects get created.
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 10195d04c9ca9e5f79e9c423fba5dc33fa538f3a..30abcdfd4c18781563bed93642778424b4f9a417 100644
+index ad16a318033bb1f24c811ad6eebe2f76eb987408..68b89c03a20c051af8c5adb63eef310905e569bc 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -184,6 +184,79 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -99,7 +99,7 @@ index 10195d04c9ca9e5f79e9c423fba5dc33fa538f3a..30abcdfd4c18781563bed93642778424
this.fluidHeight = new Object2DoubleArrayMap(2);
this.fluidOnEyes = new HashSet();
diff --git a/src/main/java/net/minecraft/world/entity/animal/Squid.java b/src/main/java/net/minecraft/world/entity/animal/Squid.java
-index bcccd7d808a3bef4acafe2e6b484ba0ed8059507..f9fdc600dc680c55219fcbf9bc8f151a733a093c 100644
+index ba4f1f3ecee95e53cd9ed752a9249fb69228edf2..97a3f0ab3dfca24991051395229dd4c601a66fa0 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Squid.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java
@@ -46,7 +46,7 @@ public class Squid extends AgeableWaterCreature {
diff --git a/patches/unapplied/server/0075-Configurable-spawn-chances-for-skeleton-horses.patch b/patches/server/0075-Configurable-spawn-chances-for-skeleton-horses.patch
index 3133546f85..a3c2dccb23 100644
--- a/patches/unapplied/server/0075-Configurable-spawn-chances-for-skeleton-horses.patch
+++ b/patches/server/0075-Configurable-spawn-chances-for-skeleton-horses.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable spawn chances for skeleton horses
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 217e6663713007c6c6a0d7132075a47a866c7db3..d0501f4f122f502f5d7501830acc2150eef6a850 100644
+index db57ac5086f862833057a06ff1253934ef46230d..b3939c0da364492e60e3050be0c314e00b935019 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -599,7 +599,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -600,7 +600,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
if (this.isRainingAt(blockposition)) {
DifficultyInstance difficultydamagescaler = this.getCurrentDifficultyAt(blockposition);
diff --git a/patches/unapplied/server/0076-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch b/patches/server/0076-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch
index 445614f05a..4c0ca33b70 100644
--- a/patches/unapplied/server/0076-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch
+++ b/patches/server/0076-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Only process BlockPhysicsEvent if a plugin has a listener
Saves on some object allocation and processing when no plugin listens to this
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 8acfb0a70bf7bf5611b217ebf0177746c8f95abd..221e9f3c91f15a7d93b54952d7140267c10366aa 100644
+index 9c26725e12adb2d17b9fa27f632fbad02e904c9a..b293c7f901b4f0c6e55bc3edaab1eddb72c1218f 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1584,6 +1584,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -18,10 +18,10 @@ index 8acfb0a70bf7bf5611b217ebf0177746c8f95abd..221e9f3c91f15a7d93b54952d7140267
gameprofilerfiller.push(() -> {
String s = String.valueOf(worldserver);
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index d0501f4f122f502f5d7501830acc2150eef6a850..25415bd1aaa769bb655432193dcea65640f63115 100644
+index b3939c0da364492e60e3050be0c314e00b935019..1dcdb40c1d3def6e3fb1628100d74bf77a45efe3 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -228,6 +228,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -229,6 +229,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
// CraftBukkit start
public final LevelStorageSource.LevelStorageAccess convertable;
public final UUID uuid;
@@ -30,10 +30,10 @@ index d0501f4f122f502f5d7501830acc2150eef6a850..25415bd1aaa769bb655432193dcea656
public LevelChunk getChunkIfLoaded(int x, int z) {
return this.chunkSource.getChunk(x, z, false);
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
-index d1b117f25bafb294f00c18be02be593061120956..9e88e9c473d1ab02344afd9634c625b95b5f38ef 100644
+index 36ed95a432429d7fe977684d26818afdb49c36dc..fbc2830aab0bfa35ff071bbee84ce00da2d0e405 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
-@@ -489,7 +489,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
+@@ -490,7 +490,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
// CraftBukkit start
iblockdata1.updateIndirectNeighbourShapes(this, blockposition, k, j - 1); // Don't call an event for the old block to limit event spam
CraftWorld world = ((ServerLevel) this).getWorld();
diff --git a/patches/unapplied/server/0077-Entity-AddTo-RemoveFrom-World-Events.patch b/patches/server/0077-Entity-AddTo-RemoveFrom-World-Events.patch
index 0a0bf28ff8..0bb1405b36 100644
--- a/patches/unapplied/server/0077-Entity-AddTo-RemoveFrom-World-Events.patch
+++ b/patches/server/0077-Entity-AddTo-RemoveFrom-World-Events.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Entity AddTo/RemoveFrom World Events
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 25415bd1aaa769bb655432193dcea65640f63115..0b0f68c9c1d153543ef4f333f39e89d353eb0dae 100644
+index 1dcdb40c1d3def6e3fb1628100d74bf77a45efe3..c0e4c3fe5e996f84dcbaa2d78f5b845147e5ae84 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -2199,6 +2199,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -2205,6 +2205,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
entity.setOrigin(entity.getOriginVector().toLocation(getWorld()));
}
// Paper end - Entity origin API
@@ -16,7 +16,7 @@ index 25415bd1aaa769bb655432193dcea65640f63115..0b0f68c9c1d153543ef4f333f39e89d3
}
public void onTrackingEnd(Entity entity) {
-@@ -2269,6 +2270,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -2275,6 +2276,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
}
}
// CraftBukkit end
diff --git a/patches/unapplied/server/0078-Configurable-Chunk-Inhabited-Time.patch b/patches/server/0078-Configurable-Chunk-Inhabited-Time.patch
index d5d3a231fc..74892b6dae 100644
--- a/patches/unapplied/server/0078-Configurable-Chunk-Inhabited-Time.patch
+++ b/patches/server/0078-Configurable-Chunk-Inhabited-Time.patch
@@ -11,10 +11,10 @@ For people who want all chunks to be treated equally, you can chose a fixed valu
This allows to fine-tune vanilla gameplay.
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
-index 96ea7a5d5d4a69c83c2401e64750d41cd70088fc..a1b6c13d496519ef6ce240036cec6642626903b9 100644
+index 95da29b973d43b59d9c4d0c83068dc74b59c9c8b..31696856600db18d1dc401b7fa72a7c9ff219304 100644
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
-@@ -195,6 +195,13 @@ public class LevelChunk extends ChunkAccess {
+@@ -200,6 +200,13 @@ public class LevelChunk extends ChunkAccess {
return new ChunkAccess.PackedTicks(this.blockTicks.pack(time), this.fluidTicks.pack(time));
}
diff --git a/patches/unapplied/server/0079-EntityPathfindEvent.patch b/patches/server/0079-EntityPathfindEvent.patch
index f852d81661..82ced28d8a 100644
--- a/patches/unapplied/server/0079-EntityPathfindEvent.patch
+++ b/patches/server/0079-EntityPathfindEvent.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] EntityPathfindEvent
Fires when an Entity decides to start moving to a location.
diff --git a/src/main/java/net/minecraft/world/entity/ai/navigation/FlyingPathNavigation.java b/src/main/java/net/minecraft/world/entity/ai/navigation/FlyingPathNavigation.java
-index d3a279a1a14f99aee8dd516552e5c60de92b4969..a3e0c5af4cc9323c02e88e768cbda9e46854aea1 100644
+index b81a5149720daf23d3d33f0aaae51216121ea2e2..2bd66da93227d4e4fc2ec4df47ae94b17f4d39d3 100644
--- a/src/main/java/net/minecraft/world/entity/ai/navigation/FlyingPathNavigation.java
+++ b/src/main/java/net/minecraft/world/entity/ai/navigation/FlyingPathNavigation.java
-@@ -40,7 +40,7 @@ public class FlyingPathNavigation extends PathNavigation {
+@@ -39,7 +39,7 @@ public class FlyingPathNavigation extends PathNavigation {
@Override
public Path createPath(Entity entity, int distance) {
@@ -19,10 +19,10 @@ index d3a279a1a14f99aee8dd516552e5c60de92b4969..a3e0c5af4cc9323c02e88e768cbda9e4
@Override
diff --git a/src/main/java/net/minecraft/world/entity/ai/navigation/GroundPathNavigation.java b/src/main/java/net/minecraft/world/entity/ai/navigation/GroundPathNavigation.java
-index d41ff85a96df07e4d6d9844289379bd3f0c38dc4..f73b559b8e60859020f762dab88b67b8c912bf8f 100644
+index 90a7940bf8b32cb245e9253d957cb437fa600857..2796df7af365c452b28373adfd7daf1d6730bac5 100644
--- a/src/main/java/net/minecraft/world/entity/ai/navigation/GroundPathNavigation.java
+++ b/src/main/java/net/minecraft/world/entity/ai/navigation/GroundPathNavigation.java
-@@ -42,7 +42,7 @@ public class GroundPathNavigation extends PathNavigation {
+@@ -41,7 +41,7 @@ public class GroundPathNavigation extends PathNavigation {
}
@Override
@@ -31,7 +31,7 @@ index d41ff85a96df07e4d6d9844289379bd3f0c38dc4..f73b559b8e60859020f762dab88b67b8
LevelChunk levelChunk = this.level
.getChunkSource()
.getChunkNow(SectionPos.blockToSectionCoord(target.getX()), SectionPos.blockToSectionCoord(target.getZ()));
-@@ -57,7 +57,7 @@ public class GroundPathNavigation extends PathNavigation {
+@@ -56,7 +56,7 @@ public class GroundPathNavigation extends PathNavigation {
}
if (mutableBlockPos.getY() > this.level.getMinY()) {
@@ -40,7 +40,7 @@ index d41ff85a96df07e4d6d9844289379bd3f0c38dc4..f73b559b8e60859020f762dab88b67b8
}
mutableBlockPos.setY(target.getY() + 1);
-@@ -70,7 +70,7 @@ public class GroundPathNavigation extends PathNavigation {
+@@ -69,7 +69,7 @@ public class GroundPathNavigation extends PathNavigation {
}
if (!levelChunk.getBlockState(target).isSolid()) {
@@ -49,7 +49,7 @@ index d41ff85a96df07e4d6d9844289379bd3f0c38dc4..f73b559b8e60859020f762dab88b67b8
} else {
BlockPos.MutableBlockPos mutableBlockPos2 = target.mutable().move(Direction.UP);
-@@ -78,14 +78,14 @@ public class GroundPathNavigation extends PathNavigation {
+@@ -77,14 +77,14 @@ public class GroundPathNavigation extends PathNavigation {
mutableBlockPos2.move(Direction.UP);
}
diff --git a/patches/unapplied/server/0080-Sanitise-RegionFileCache-and-make-configurable.patch b/patches/server/0080-Sanitise-RegionFileCache-and-make-configurable.patch
index c8504969b8..c8504969b8 100644
--- a/patches/unapplied/server/0080-Sanitise-RegionFileCache-and-make-configurable.patch
+++ b/patches/server/0080-Sanitise-RegionFileCache-and-make-configurable.patch
diff --git a/patches/unapplied/server/0081-Do-not-load-chunks-for-Pathfinding.patch b/patches/server/0081-Do-not-load-chunks-for-Pathfinding.patch
index f67f87234b..f67f87234b 100644
--- a/patches/unapplied/server/0081-Do-not-load-chunks-for-Pathfinding.patch
+++ b/patches/server/0081-Do-not-load-chunks-for-Pathfinding.patch
diff --git a/patches/unapplied/server/0082-Add-PlayerUseUnknownEntityEvent.patch b/patches/server/0082-Add-PlayerUseUnknownEntityEvent.patch
index d895ad4117..9080ba1334 100644
--- a/patches/unapplied/server/0082-Add-PlayerUseUnknownEntityEvent.patch
+++ b/patches/server/0082-Add-PlayerUseUnknownEntityEvent.patch
@@ -28,36 +28,36 @@ index 1e9c68cd1868d083e6a790d56006dd4aa432010a..8a0ee9564fc36a2badf1357f7e6c47b5
+ // Paper end - PlayerUseUnknownEntityEvent
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 55d61a4c93233c0d3994e75f41e29065c2f1ea93..79db369b905744ab2fd69de1afc34feec589ec82 100644
+index 97b776e384e8ce064ea9bb93fe24d902ff2d8817..f8e38d3334eca60cd5abe1838b1f274a82c8ede5 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -2510,7 +2510,26 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
- });
+@@ -2585,7 +2585,26 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+ });
+ }
}
- }
-+ // Paper start - PlayerUseUnknownEntityEvent
-+ else {
-+ packet.dispatch(new net.minecraft.network.protocol.game.ServerboundInteractPacket.Handler() {
-+ @Override
-+ public void onInteraction(net.minecraft.world.InteractionHand hand) {
-+ CraftEventFactory.callPlayerUseUnknownEntityEvent(ServerGamePacketListenerImpl.this.player, packet, hand, null);
-+ }
++ // Paper start - PlayerUseUnknownEntityEvent
++ else {
++ packet.dispatch(new net.minecraft.network.protocol.game.ServerboundInteractPacket.Handler() {
++ @Override
++ public void onInteraction(net.minecraft.world.InteractionHand hand) {
++ CraftEventFactory.callPlayerUseUnknownEntityEvent(ServerGamePacketListenerImpl.this.player, packet, hand, null);
++ }
+
-+ @Override
-+ public void onInteraction(net.minecraft.world.InteractionHand hand, net.minecraft.world.phys.Vec3 pos) {
-+ CraftEventFactory.callPlayerUseUnknownEntityEvent(ServerGamePacketListenerImpl.this.player, packet, hand, pos);
-+ }
++ @Override
++ public void onInteraction(net.minecraft.world.InteractionHand hand, net.minecraft.world.phys.Vec3 pos) {
++ CraftEventFactory.callPlayerUseUnknownEntityEvent(ServerGamePacketListenerImpl.this.player, packet, hand, pos);
++ }
-+ @Override
-+ public void onAttack() {
-+ CraftEventFactory.callPlayerUseUnknownEntityEvent(ServerGamePacketListenerImpl.this.player, packet, net.minecraft.world.InteractionHand.MAIN_HAND, null);
-+ }
-+ });
-+ }
-+ // Paper end - PlayerUseUnknownEntityEvent
++ @Override
++ public void onAttack() {
++ CraftEventFactory.callPlayerUseUnknownEntityEvent(ServerGamePacketListenerImpl.this.player, packet, net.minecraft.world.InteractionHand.MAIN_HAND, null);
++ }
++ });
++ }
++ // Paper end - PlayerUseUnknownEntityEvent
+ }
}
- @Override
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 8ea4d63833cd1500d7f413f761aa9a7cf26520c0..9100ea65e85a0e55cad736634fa63815366334a8 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
diff --git a/patches/unapplied/server/0083-Configurable-random-tick-rates-for-blocks.patch b/patches/server/0083-Configurable-random-tick-rates-for-blocks.patch
index f55ff2c310..c1bbe4c616 100644
--- a/patches/unapplied/server/0083-Configurable-random-tick-rates-for-blocks.patch
+++ b/patches/server/0083-Configurable-random-tick-rates-for-blocks.patch
@@ -22,7 +22,7 @@ index 38b3c14d393137026720f42bd9f14b856b8377d0..a87f8345aa5520a867a8dd769b43526b
if (!FarmBlock.isNearWater(world, pos) && !world.isRainingAt(pos.above())) {
if (i > 0) {
diff --git a/src/main/java/net/minecraft/world/level/block/SpreadingSnowyDirtBlock.java b/src/main/java/net/minecraft/world/level/block/SpreadingSnowyDirtBlock.java
-index df77ac357d645a574814014ce69413a674b81bfc..b4b826c53548bcf6952f6d0ee8037975ceb8c6e1 100644
+index 63fb3b192a02af585168dda58f5a49ff2f6bc216..30047cbef0ef54ad326e71761cba64887624d493 100644
--- a/src/main/java/net/minecraft/world/level/block/SpreadingSnowyDirtBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/SpreadingSnowyDirtBlock.java
@@ -43,6 +43,7 @@ public abstract class SpreadingSnowyDirtBlock extends SnowyDirtBlock {
diff --git a/patches/unapplied/server/0084-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch b/patches/server/0084-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch
index 9af9af8eb8..469ff2ff1a 100644
--- a/patches/unapplied/server/0084-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch
+++ b/patches/server/0084-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Fix Cancelling BlockPlaceEvent triggering physics
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 0b0f68c9c1d153543ef4f333f39e89d353eb0dae..92387bffda6d7a7bfe6197b33c69142f184f9d3b 100644
+index c0e4c3fe5e996f84dcbaa2d78f5b845147e5ae84..7611f58246960ec3fd0521ab5f1743a5b08d8241 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -1377,11 +1377,13 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -1378,11 +1378,13 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@Override
public void updateNeighborsAt(BlockPos pos, Block block) {
diff --git a/patches/unapplied/server/0085-Optimize-DataBits.patch b/patches/server/0085-Optimize-DataBits.patch
index fa5c0b02f0..fa5c0b02f0 100644
--- a/patches/unapplied/server/0085-Optimize-DataBits.patch
+++ b/patches/server/0085-Optimize-DataBits.patch
diff --git a/patches/unapplied/server/0086-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch b/patches/server/0086-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch
index 4a2793dc00..4a2793dc00 100644
--- a/patches/unapplied/server/0086-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch
+++ b/patches/server/0086-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch
diff --git a/patches/unapplied/server/0087-Configurable-Player-Collision.patch b/patches/server/0087-Configurable-Player-Collision.patch
index 08615f2d7f..381fa85bb4 100644
--- a/patches/unapplied/server/0087-Configurable-Player-Collision.patch
+++ b/patches/server/0087-Configurable-Player-Collision.patch
@@ -18,7 +18,7 @@ index 9a1a961eabd4362c171da78c6be82c867f3696a4..1d0c473442b5c72245c356054440323e
ComponentSerialization.TRUSTED_STREAM_CODEC.encode(buf, this.playerPrefix);
ComponentSerialization.TRUSTED_STREAM_CODEC.encode(buf, this.playerSuffix);
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 221e9f3c91f15a7d93b54952d7140267c10366aa..81b770626cbc1285a947e314fc76327c0cb9d83e 100644
+index b293c7f901b4f0c6e55bc3edaab1eddb72c1218f..d374ff51987c30a84e137dd623e0f64966999b63 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -653,6 +653,20 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
diff --git a/patches/unapplied/server/0088-Add-handshake-event-to-allow-plugins-to-handle-clien.patch b/patches/server/0088-Add-handshake-event-to-allow-plugins-to-handle-clien.patch
index 33ef52f088..33ef52f088 100644
--- a/patches/unapplied/server/0088-Add-handshake-event-to-allow-plugins-to-handle-clien.patch
+++ b/patches/server/0088-Add-handshake-event-to-allow-plugins-to-handle-clien.patch
diff --git a/patches/unapplied/server/0089-Configurable-RCON-IP-address.patch b/patches/server/0089-Configurable-RCON-IP-address.patch
index 21e0b530fd..21e0b530fd 100644
--- a/patches/unapplied/server/0089-Configurable-RCON-IP-address.patch
+++ b/patches/server/0089-Configurable-RCON-IP-address.patch
diff --git a/patches/unapplied/server/0090-EntityRegainHealthEvent-isFastRegen-API.patch b/patches/server/0090-EntityRegainHealthEvent-isFastRegen-API.patch
index 0b3f78d7b9..47c59d0fd5 100644
--- a/patches/unapplied/server/0090-EntityRegainHealthEvent-isFastRegen-API.patch
+++ b/patches/server/0090-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/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index cd7837935003775688281882b19f0808512a2e0d..f8f4fa56881efabada7ec966d74db0a174907614 100644
+index de88eec263fd327c3d72e69bcd1c32343379d33e..4938b2caf5f8a32f6076f89fd2119fb965539e36 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1350,10 +1350,16 @@ public abstract class LivingEntity extends Entity implements Attackable {
diff --git a/patches/unapplied/server/0091-Add-ability-to-configure-frosted_ice-properties.patch b/patches/server/0091-Add-ability-to-configure-frosted_ice-properties.patch
index 5fe3cf9ede..d8eb02d3f1 100644
--- a/patches/unapplied/server/0091-Add-ability-to-configure-frosted_ice-properties.patch
+++ b/patches/server/0091-Add-ability-to-configure-frosted_ice-properties.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add ability to configure frosted_ice properties
diff --git a/src/main/java/net/minecraft/world/level/block/FrostedIceBlock.java b/src/main/java/net/minecraft/world/level/block/FrostedIceBlock.java
-index 39f4eeb965655b8495802608ad9de4ce2ea42ad0..2e47d1a37b783264ec139536b7dc89b8a55046a6 100644
+index 2620d4c4f42578f6b4a3cc8142d55ca3756d7aa0..56e5a6351d5fa99167ba8a544812e3619c13b953 100644
--- a/src/main/java/net/minecraft/world/level/block/FrostedIceBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/FrostedIceBlock.java
@@ -42,6 +42,7 @@ public class FrostedIceBlock extends IceBlock {
diff --git a/patches/unapplied/server/0092-remove-null-possibility-for-getServer-singleton.patch b/patches/server/0092-remove-null-possibility-for-getServer-singleton.patch
index 746cf3e777..63ff3b8ad4 100644
--- a/patches/unapplied/server/0092-remove-null-possibility-for-getServer-singleton.patch
+++ b/patches/server/0092-remove-null-possibility-for-getServer-singleton.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] remove null possibility for getServer singleton
to stop IDE complaining about potential NPE
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 81b770626cbc1285a947e314fc76327c0cb9d83e..135509f4be308179226fa1518e9070977f6cad56 100644
+index d374ff51987c30a84e137dd623e0f64966999b63..bf5f1cfc7f0c129083ada539d450b9c74d2d5d9c 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -203,6 +203,7 @@ import org.bukkit.event.server.ServerLoadEvent;
diff --git a/patches/unapplied/server/0093-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch b/patches/server/0093-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch
index e8fe46f840..e8fe46f840 100644
--- a/patches/unapplied/server/0093-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch
+++ b/patches/server/0093-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch
diff --git a/patches/unapplied/server/0094-LootTable-API-and-replenishable-lootables.patch b/patches/server/0094-LootTable-API-and-replenishable-lootables.patch
index 373db66b1f..97e331b6e4 100644
--- a/patches/unapplied/server/0094-LootTable-API-and-replenishable-lootables.patch
+++ b/patches/server/0094-LootTable-API-and-replenishable-lootables.patch
@@ -727,10 +727,10 @@ index beba927cffdeedcd68d8048708f5bf1a409ff965..874a44ab77248665c2db243764e8542b
+ // Paper end - LootTable API
}
diff --git a/src/main/java/net/minecraft/world/level/block/ShulkerBoxBlock.java b/src/main/java/net/minecraft/world/level/block/ShulkerBoxBlock.java
-index 5fd4594c26ef13ddef79cc4d4c8b446fdd3ba1f1..a0607cb6c6f74285363dfbd49033a8bde5ca6ae3 100644
+index 63e41d3ed8844d6d41ff57b85779e190e57dc889..0712818e2d9205078bfc8846452ba31388840034 100644
--- a/src/main/java/net/minecraft/world/level/block/ShulkerBoxBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/ShulkerBoxBlock.java
-@@ -143,7 +143,7 @@ public class ShulkerBoxBlock extends BaseEntityBlock {
+@@ -137,7 +137,7 @@ public class ShulkerBoxBlock extends BaseEntityBlock {
itemEntity.setDefaultPickUpDelay();
world.addFreshEntity(itemEntity);
} else {
@@ -739,7 +739,7 @@ index 5fd4594c26ef13ddef79cc4d4c8b446fdd3ba1f1..a0607cb6c6f74285363dfbd49033a8bd
}
}
-@@ -153,7 +153,15 @@ public class ShulkerBoxBlock extends BaseEntityBlock {
+@@ -147,7 +147,15 @@ public class ShulkerBoxBlock extends BaseEntityBlock {
@Override
protected List<ItemStack> getDrops(BlockState state, LootParams.Builder builder) {
BlockEntity blockEntity = builder.getOptionalParameter(LootContextParams.BLOCK_ENTITY);
@@ -755,7 +755,7 @@ index 5fd4594c26ef13ddef79cc4d4c8b446fdd3ba1f1..a0607cb6c6f74285363dfbd49033a8bd
builder = builder.withDynamicDrop(CONTENTS, lootConsumer -> {
for (int i = 0; i < shulkerBoxBlockEntity.getContainerSize(); i++) {
lootConsumer.accept(shulkerBoxBlockEntity.getItem(i));
-@@ -161,7 +169,13 @@ public class ShulkerBoxBlock extends BaseEntityBlock {
+@@ -155,7 +163,13 @@ public class ShulkerBoxBlock extends BaseEntityBlock {
});
}
diff --git a/patches/unapplied/server/0095-System-property-for-disabling-watchdoge.patch b/patches/server/0095-System-property-for-disabling-watchdoge.patch
index 4a35e21392..4a35e21392 100644
--- a/patches/unapplied/server/0095-System-property-for-disabling-watchdoge.patch
+++ b/patches/server/0095-System-property-for-disabling-watchdoge.patch
diff --git a/patches/unapplied/server/0096-Async-GameProfileCache-saving.patch b/patches/server/0096-Async-GameProfileCache-saving.patch
index 04eeb44729..76634a7718 100644
--- a/patches/unapplied/server/0096-Async-GameProfileCache-saving.patch
+++ b/patches/server/0096-Async-GameProfileCache-saving.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Async GameProfileCache saving
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 135509f4be308179226fa1518e9070977f6cad56..76d9f12e0c2d54ed35cee6a4463d982682d4d641 100644
+index bf5f1cfc7f0c129083ada539d450b9c74d2d5d9c..0eb856a27fefb8d7283617498a31b05f2a736192 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1011,7 +1011,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
diff --git a/patches/unapplied/server/0097-Optional-TNT-doesn-t-move-in-water.patch b/patches/server/0097-Optional-TNT-doesn-t-move-in-water.patch
index 4c44ca39c9..18deb91aa7 100644
--- a/patches/unapplied/server/0097-Optional-TNT-doesn-t-move-in-water.patch
+++ b/patches/server/0097-Optional-TNT-doesn-t-move-in-water.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Optional TNT doesn't move in water
diff --git a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
-index 3d489fdc14b3e29bab63f330d5edbbc1d354382a..45c224198135e48f94dc72312c805bf451bf7b0e 100644
+index 5bc84cc5ba4dca412dbc159b7a798f52d6f813dc..1d5de664af21013f68d59b326b1427bc632352de 100644
--- a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
+++ b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
@@ -135,6 +135,27 @@ public class PrimedTnt extends Entity implements TraceableEntity {
diff --git a/patches/unapplied/server/0098-Faster-redstone-torch-rapid-clock-removal.patch b/patches/server/0098-Faster-redstone-torch-rapid-clock-removal.patch
index 9d7f0e9161..e3f3a52b49 100644
--- a/patches/unapplied/server/0098-Faster-redstone-torch-rapid-clock-removal.patch
+++ b/patches/server/0098-Faster-redstone-torch-rapid-clock-removal.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Faster redstone torch rapid clock removal
Only resize the the redstone torch list once, since resizing arrays / lists is costly
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
-index 9e88e9c473d1ab02344afd9634c625b95b5f38ef..675dcb6eb5c33f6ec582ff20118d2f73745914a9 100644
+index fbc2830aab0bfa35ff071bbee84ce00da2d0e405..8891eab56b1bb2ed253fbced383e14a8c177966b 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
-@@ -169,6 +169,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
+@@ -170,6 +170,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
private org.spigotmc.TickLimiter tileLimiter;
private int tileTickPosition;
public final Map<ServerExplosion.CacheKey, Float> explosionDensityCache = new HashMap<>(); // Paper - Optimize explosions
diff --git a/patches/unapplied/server/0099-Add-server-name-parameter.patch b/patches/server/0099-Add-server-name-parameter.patch
index 72580c8f34..8405ca923a 100644
--- a/patches/unapplied/server/0099-Add-server-name-parameter.patch
+++ b/patches/server/0099-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 44b6fd8a64e7d7756eb62cd3816b1c4dcc5c5927..1a254cb043ae57afac80c3cfcf0a130089061ee3 100644
+index c8171cb14612857a5a6f7b000c1cdfb62a59836f..ffb40be63a01221d81060356e2a3fec17c1fa603 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -168,6 +168,14 @@ public class Main {
diff --git a/patches/unapplied/server/0100-Fix-global-sound-handling.patch b/patches/server/0100-Fix-global-sound-handling.patch
index 303eeb7fe1..aa06ccf2c3 100644
--- a/patches/unapplied/server/0100-Fix-global-sound-handling.patch
+++ b/patches/server/0100-Fix-global-sound-handling.patch
@@ -11,10 +11,10 @@ Co-authored-by: lexikiq <[email protected]>
Co-authored-by: Aikar <[email protected]>
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 92387bffda6d7a7bfe6197b33c69142f184f9d3b..3d54f52ed43ceef368804f7dce1dd95de3acc045 100644
+index 7611f58246960ec3fd0521ab5f1743a5b08d8241..9cb02b168384f597fce1251696e77a1e74f0d774 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -1310,7 +1310,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -1311,7 +1311,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@Override
public void levelEvent(@Nullable Player player, int eventId, BlockPos pos, int data) {
@@ -23,7 +23,7 @@ index 92387bffda6d7a7bfe6197b33c69142f184f9d3b..3d54f52ed43ceef368804f7dce1dd95d
}
public int getLogicalHeight() {
-@@ -2127,6 +2127,17 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -2133,6 +2133,17 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
return this.serverLevelData.getGameRules();
}
@@ -42,7 +42,7 @@ index 92387bffda6d7a7bfe6197b33c69142f184f9d3b..3d54f52ed43ceef368804f7dce1dd95d
public CrashReportCategory fillReportDetails(CrashReport report) {
CrashReportCategory crashreportsystemdetails = super.fillReportDetails(report);
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
-index 2bb62325d30ac509583de50407ea21f562f6e74f..95d69e3ca1a9095dfb340e9be0ec322ab6c5eb5e 100644
+index 97301b6643aa8c7d8ef0c5960188afa42665b4b4..e9246613702325375ac1e4cf03402839b3a93146 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
@@ -666,11 +666,12 @@ public class EnderDragon extends Mob implements Enemy {
@@ -61,10 +61,10 @@ index 2bb62325d30ac509583de50407ea21f562f6e74f..95d69e3ca1a9095dfb340e9be0ec322a
double deltaLength = Math.sqrt(distanceSquared);
double relativeX = player.getX() + (deltaX / deltaLength) * viewDistance;
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
-index 4c284ccd5b2eb05f487aba18e1daa0b59c3e8129..10c79cbc25383c0b65fb22a7347513134b7dee1d 100644
+index e3a9d008c48010bf29fca938cc0f2f71686c50ea..af721305a3b31f4aa9a36dfbc1cbe0cd278fa6ad 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
-@@ -276,11 +276,12 @@ public class WitherBoss extends Monster implements RangedAttackMob {
+@@ -275,11 +275,12 @@ public class WitherBoss extends Monster implements RangedAttackMob {
// CraftBukkit start - Use relative location for far away sounds
// worldserver.globalLevelEvent(1023, new BlockPosition(this), 0);
int viewDistance = world.getCraftServer().getViewDistance() * 16;