aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGlare <[email protected]>2021-12-09 20:02:41 -0600
committerGitHub <[email protected]>2021-12-09 18:02:41 -0800
commitdce79f333c1f3f60335163d8fe1050d424722a92 (patch)
tree12559c6101a93eaea0a2fd7147151caaf5d322e2
parent4e355c488dc72e3c6701c69d2e4d6099449671b4 (diff)
downloadPaper-dce79f333c1f3f60335163d8fe1050d424722a92.tar.gz
Paper-dce79f333c1f3f60335163d8fe1050d424722a92.zip
Update Log4J (#7069)
-rw-r--r--patches/server/0717-Respect-despawn-rate-in-item-merge-check.patch (renamed from patches/server/0718-Respect-despawn-rate-in-item-merge-check.patch)0
-rw-r--r--patches/server/0717-Set-AsyncAppender-dispatch-thread-to-be-a-daemon-thr.patch19
-rw-r--r--patches/server/0718-Move-BlockPistonRetractEvent-to-fix-duplication.patch (renamed from patches/server/0719-Move-BlockPistonRetractEvent-to-fix-duplication.patch)0
-rw-r--r--patches/server/0719-Change-EnderEye-target-without-changing-other-things.patch (renamed from patches/server/0720-Change-EnderEye-target-without-changing-other-things.patch)0
-rw-r--r--patches/server/0720-Add-BlockBreakBlockEvent.patch (renamed from patches/server/0721-Add-BlockBreakBlockEvent.patch)2
-rw-r--r--patches/server/0721-Option-to-prevent-NBT-copy-in-smithing-recipes.patch (renamed from patches/server/0722-Option-to-prevent-NBT-copy-in-smithing-recipes.patch)0
-rw-r--r--patches/server/0722-More-CommandBlock-API.patch (renamed from patches/server/0723-More-CommandBlock-API.patch)0
-rw-r--r--patches/server/0723-Add-missing-team-sidebar-display-slots.patch (renamed from patches/server/0724-Add-missing-team-sidebar-display-slots.patch)0
-rw-r--r--patches/server/0724-Add-back-EntityPortalExitEvent.patch (renamed from patches/server/0725-Add-back-EntityPortalExitEvent.patch)0
-rw-r--r--patches/server/0725-Add-methods-to-find-targets-for-lightning-strikes.patch (renamed from patches/server/0726-Add-methods-to-find-targets-for-lightning-strikes.patch)2
-rw-r--r--patches/server/0726-Get-entity-default-attributes.patch (renamed from patches/server/0727-Get-entity-default-attributes.patch)2
-rw-r--r--patches/server/0727-Left-handed-API.patch (renamed from patches/server/0728-Left-handed-API.patch)0
-rw-r--r--patches/server/0728-Add-advancement-display-API.patch (renamed from patches/server/0729-Add-advancement-display-API.patch)0
-rw-r--r--patches/server/0729-Add-ItemFactory-getMonsterEgg-API.patch (renamed from patches/server/0730-Add-ItemFactory-getMonsterEgg-API.patch)0
-rw-r--r--patches/server/0730-Add-critical-damage-API.patch (renamed from patches/server/0731-Add-critical-damage-API.patch)0
-rw-r--r--patches/server/0731-Fix-issues-with-mob-conversion.patch (renamed from patches/server/0732-Fix-issues-with-mob-conversion.patch)0
-rw-r--r--patches/server/0732-Add-isCollidable-methods-to-various-places.patch (renamed from patches/server/0733-Add-isCollidable-methods-to-various-places.patch)4
-rw-r--r--patches/server/0733-Goat-ram-API.patch (renamed from patches/server/0734-Goat-ram-API.patch)0
-rw-r--r--patches/server/0734-Add-API-for-resetting-a-single-score.patch (renamed from patches/server/0735-Add-API-for-resetting-a-single-score.patch)0
-rw-r--r--patches/server/0735-Add-Raw-Byte-Entity-Serialization.patch (renamed from patches/server/0736-Add-Raw-Byte-Entity-Serialization.patch)0
-rw-r--r--patches/server/0736-Vanilla-command-permission-fixes.patch (renamed from patches/server/0737-Vanilla-command-permission-fixes.patch)2
-rw-r--r--patches/server/0737-Make-CallbackExecutor-strict-again.patch (renamed from patches/server/0738-Make-CallbackExecutor-strict-again.patch)0
-rw-r--r--patches/server/0738-Do-not-allow-the-server-to-unload-chunks-at-request-.patch (renamed from patches/server/0739-Do-not-allow-the-server-to-unload-chunks-at-request-.patch)2
-rw-r--r--patches/server/0739-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch (renamed from patches/server/0740-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch)4
-rw-r--r--patches/server/0740-Correctly-handle-recursion-for-chunkholder-updates.patch (renamed from patches/server/0741-Correctly-handle-recursion-for-chunkholder-updates.patch)2
-rw-r--r--patches/server/0741-Separate-lookup-locking-from-state-access-in-UserCac.patch (renamed from patches/server/0742-Separate-lookup-locking-from-state-access-in-UserCac.patch)0
-rw-r--r--patches/server/0742-Fix-chunks-refusing-to-unload-at-low-TPS.patch (renamed from patches/server/0743-Fix-chunks-refusing-to-unload-at-low-TPS.patch)0
-rw-r--r--patches/server/0743-Do-not-allow-ticket-level-changes-while-unloading-pl.patch (renamed from patches/server/0744-Do-not-allow-ticket-level-changes-while-unloading-pl.patch)2
-rw-r--r--patches/server/0744-Do-not-allow-ticket-level-changes-when-updating-chun.patch (renamed from patches/server/0745-Do-not-allow-ticket-level-changes-when-updating-chun.patch)2
-rw-r--r--patches/server/0745-Do-not-submit-profile-lookups-to-worldgen-threads.patch (renamed from patches/server/0746-Do-not-submit-profile-lookups-to-worldgen-threads.patch)0
-rw-r--r--patches/server/0746-Log-when-the-async-catcher-is-tripped.patch (renamed from patches/server/0747-Log-when-the-async-catcher-is-tripped.patch)0
-rw-r--r--patches/server/0747-Add-paper-mobcaps-and-paper-playermobcaps.patch (renamed from patches/server/0748-Add-paper-mobcaps-and-paper-playermobcaps.patch)2
-rw-r--r--patches/server/0748-Prevent-unload-calls-removing-tickets-for-sync-loads.patch (renamed from patches/server/0749-Prevent-unload-calls-removing-tickets-for-sync-loads.patch)2
-rw-r--r--patches/server/0749-Sanitize-ResourceLocation-error-logging.patch (renamed from patches/server/0750-Sanitize-ResourceLocation-error-logging.patch)0
-rw-r--r--patches/server/0750-Optimise-general-POI-access.patch (renamed from patches/server/0751-Optimise-general-POI-access.patch)0
-rw-r--r--patches/server/0751-Allow-controlled-flushing-for-network-manager.patch (renamed from patches/server/0752-Allow-controlled-flushing-for-network-manager.patch)0
-rw-r--r--patches/server/0752-Add-more-async-catchers.patch (renamed from patches/server/0753-Add-more-async-catchers.patch)0
-rw-r--r--patches/server/0753-Rewrite-entity-bounding-box-lookup-calls.patch (renamed from patches/server/0754-Rewrite-entity-bounding-box-lookup-calls.patch)8
-rw-r--r--patches/server/0754-Optimise-chunk-tick-iteration.patch (renamed from patches/server/0755-Optimise-chunk-tick-iteration.patch)2
-rw-r--r--patches/server/0755-Execute-chunk-tasks-mid-tick.patch (renamed from patches/server/0756-Execute-chunk-tasks-mid-tick.patch)4
-rw-r--r--patches/server/0756-Do-not-copy-visible-chunks.patch (renamed from patches/server/0757-Do-not-copy-visible-chunks.patch)0
-rw-r--r--patches/server/0757-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch (renamed from patches/server/0758-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch)0
-rw-r--r--patches/server/0758-Custom-table-implementation-for-blockstate-state-loo.patch (renamed from patches/server/0759-Custom-table-implementation-for-blockstate-state-loo.patch)0
-rw-r--r--patches/server/0759-Detail-more-information-in-watchdog-dumps.patch (renamed from patches/server/0760-Detail-more-information-in-watchdog-dumps.patch)2
-rw-r--r--patches/server/0760-Manually-inline-methods-in-BlockPosition.patch (renamed from patches/server/0761-Manually-inline-methods-in-BlockPosition.patch)2
-rw-r--r--patches/server/0761-Distance-manager-tick-timings.patch (renamed from patches/server/0762-Distance-manager-tick-timings.patch)2
-rw-r--r--patches/server/0762-Name-craft-scheduler-threads-according-to-the-plugin.patch (renamed from patches/server/0763-Name-craft-scheduler-threads-according-to-the-plugin.patch)0
-rw-r--r--patches/server/0763-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch (renamed from patches/server/0764-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch)2
-rw-r--r--patches/server/0764-Add-packet-limiter-config.patch (renamed from patches/server/0765-Add-packet-limiter-config.patch)0
-rw-r--r--patches/server/0765-Lag-compensate-block-breaking.patch (renamed from patches/server/0766-Lag-compensate-block-breaking.patch)2
-rw-r--r--patches/server/0766-Use-correct-LevelStem-registry-when-loading-default-.patch (renamed from patches/server/0767-Use-correct-LevelStem-registry-when-loading-default-.patch)0
-rw-r--r--patches/server/0767-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch (renamed from patches/server/0768-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch)0
-rw-r--r--patches/server/0768-Consolidate-flush-calls-for-entity-tracker-packets.patch (renamed from patches/server/0769-Consolidate-flush-calls-for-entity-tracker-packets.patch)2
-rw-r--r--patches/server/0769-Don-t-lookup-fluid-state-when-raytracing.patch (renamed from patches/server/0770-Don-t-lookup-fluid-state-when-raytracing.patch)2
-rw-r--r--patches/server/0770-Time-scoreboard-search.patch (renamed from patches/server/0771-Time-scoreboard-search.patch)0
-rw-r--r--patches/server/0771-Send-full-pos-packets-for-hard-colliding-entities.patch (renamed from patches/server/0772-Send-full-pos-packets-for-hard-colliding-entities.patch)0
-rw-r--r--patches/server/0772-Do-not-run-raytrace-logic-for-AIR.patch (renamed from patches/server/0773-Do-not-run-raytrace-logic-for-AIR.patch)2
-rw-r--r--patches/server/0773-Oprimise-map-impl-for-tracked-players.patch (renamed from patches/server/0774-Oprimise-map-impl-for-tracked-players.patch)0
-rw-r--r--patches/server/0774-Optimise-BlockSoil-nearby-water-lookup.patch (renamed from patches/server/0775-Optimise-BlockSoil-nearby-water-lookup.patch)0
-rw-r--r--patches/server/0775-Allow-removal-addition-of-entities-to-entity-ticklis.patch (renamed from patches/server/0776-Allow-removal-addition-of-entities-to-entity-ticklis.patch)0
-rw-r--r--patches/server/0776-Optimise-random-block-ticking.patch (renamed from patches/server/0777-Optimise-random-block-ticking.patch)4
-rw-r--r--patches/server/0777-Optimise-non-flush-packet-sending.patch (renamed from patches/server/0778-Optimise-non-flush-packet-sending.patch)0
-rw-r--r--patches/server/0778-Optimise-nearby-player-lookups.patch (renamed from patches/server/0779-Optimise-nearby-player-lookups.patch)12
-rw-r--r--patches/server/0779-Optimise-WorldServer-notify.patch (renamed from patches/server/0780-Optimise-WorldServer-notify.patch)2
-rw-r--r--patches/server/0780-Remove-streams-for-villager-AI.patch (renamed from patches/server/0781-Remove-streams-for-villager-AI.patch)0
-rw-r--r--patches/server/0781-Rewrite-dataconverter-system.patch (renamed from patches/server/0782-Rewrite-dataconverter-system.patch)0
-rw-r--r--patches/server/0782-Use-Velocity-compression-and-cipher-natives.patch (renamed from patches/server/0783-Use-Velocity-compression-and-cipher-natives.patch)0
-rw-r--r--patches/server/0783-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch (renamed from patches/server/0784-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch)0
-rw-r--r--patches/server/0784-Do-not-process-entity-loads-in-CraftChunk-getEntitie.patch (renamed from patches/server/0785-Do-not-process-entity-loads-in-CraftChunk-getEntitie.patch)0
-rw-r--r--patches/server/0785-Async-catch-modifications-to-critical-entity-state.patch (renamed from patches/server/0786-Async-catch-modifications-to-critical-entity-state.patch)0
-rw-r--r--patches/server/0786-Fix-Bukkit-NamespacedKey-shenanigans.patch (renamed from patches/server/0787-Fix-Bukkit-NamespacedKey-shenanigans.patch)0
-rw-r--r--patches/server/0787-Fix-merchant-inventory-not-closing-on-entity-removal.patch (renamed from patches/server/0788-Fix-merchant-inventory-not-closing-on-entity-removal.patch)2
-rw-r--r--patches/server/0788-Check-requirement-before-suggesting-root-nodes.patch (renamed from patches/server/0789-Check-requirement-before-suggesting-root-nodes.patch)0
-rw-r--r--patches/server/0789-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch (renamed from patches/server/0790-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch)0
-rw-r--r--patches/server/0790-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch (renamed from patches/server/0791-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch)0
-rw-r--r--patches/server/0791-Ensure-valid-vehicle-status.patch (renamed from patches/server/0792-Ensure-valid-vehicle-status.patch)2
-rw-r--r--patches/server/0792-Prevent-softlocked-end-exit-portal-generation.patch (renamed from patches/server/0793-Prevent-softlocked-end-exit-portal-generation.patch)0
-rw-r--r--patches/server/0793-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch (renamed from patches/server/0794-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch)0
-rw-r--r--patches/server/0794-Don-t-log-debug-logging-being-disabled.patch (renamed from patches/server/0795-Don-t-log-debug-logging-being-disabled.patch)0
-rw-r--r--patches/server/0795-Mark-fish-and-axolotls-from-buckets-as-persistent.patch (renamed from patches/server/0796-Mark-fish-and-axolotls-from-buckets-as-persistent.patch)0
-rw-r--r--patches/server/0796-fix-various-menus-with-empty-level-accesses.patch (renamed from patches/server/0797-fix-various-menus-with-empty-level-accesses.patch)0
-rw-r--r--patches/server/0797-Do-not-overload-I-O-threads-with-chunk-data-while-fl.patch (renamed from patches/server/0798-Do-not-overload-I-O-threads-with-chunk-data-while-fl.patch)0
-rw-r--r--patches/server/0798-Preserve-overstacked-loot.patch (renamed from patches/server/0799-Preserve-overstacked-loot.patch)0
-rw-r--r--patches/server/0799-Update-head-rotation-in-missing-places.patch (renamed from patches/server/0800-Update-head-rotation-in-missing-places.patch)0
-rw-r--r--patches/server/0800-prevent-unintended-light-block-manipulation.patch (renamed from patches/server/0801-prevent-unintended-light-block-manipulation.patch)0
-rw-r--r--patches/server/0801-Dont-count-named-piglins-and-hoglins-towards-mob-cap.patch (renamed from patches/server/0802-Dont-count-named-piglins-and-hoglins-towards-mob-cap.patch)2
-rw-r--r--patches/server/0802-Fix-CraftCriteria-defaults-map.patch (renamed from patches/server/0803-Fix-CraftCriteria-defaults-map.patch)0
-rw-r--r--patches/server/0803-Fix-upstreams-block-state-factories.patch (renamed from patches/server/0804-Fix-upstreams-block-state-factories.patch)0
-rw-r--r--patches/server/0804-Add-config-option-for-logging-player-ip-addresses.patch (renamed from patches/server/0805-Add-config-option-for-logging-player-ip-addresses.patch)0
-rw-r--r--patches/server/0805-Configurable-feature-seeds.patch (renamed from patches/server/0806-Configurable-feature-seeds.patch)0
-rw-r--r--patches/server/0806-VanillaCommandWrapper-didnt-account-for-entity-sende.patch (renamed from patches/server/0807-VanillaCommandWrapper-didnt-account-for-entity-sende.patch)0
-rw-r--r--patches/server/0807-Add-root-admin-user-detection.patch (renamed from patches/server/0808-Add-root-admin-user-detection.patch)0
-rw-r--r--patches/server/0808-Always-allow-item-changing-in-Fireball.patch (renamed from patches/server/0809-Always-allow-item-changing-in-Fireball.patch)0
-rw-r--r--patches/server/0809-don-t-attempt-to-teleport-dead-entities.patch (renamed from patches/server/0810-don-t-attempt-to-teleport-dead-entities.patch)0
-rw-r--r--patches/server/0810-Call-onRemove-logic-for-breakNaturally.patch (renamed from patches/server/0811-Call-onRemove-logic-for-breakNaturally.patch)0
-rw-r--r--patches/server/0811-Fix-anvil-prepare-event-not-working-with-zero-xp.patch (renamed from patches/server/0812-Fix-anvil-prepare-event-not-working-with-zero-xp.patch)0
-rw-r--r--patches/server/0812-Prevent-excessive-velocity-through-repeated-crits.patch (renamed from patches/server/0813-Prevent-excessive-velocity-through-repeated-crits.patch)0
-rw-r--r--patches/server/0813-Remove-client-side-code-using-deprecated-for-removal.patch (renamed from patches/server/0814-Remove-client-side-code-using-deprecated-for-removal.patch)0
-rw-r--r--patches/server/0814-Rewrite-the-light-engine.patch (renamed from patches/server/0815-Rewrite-the-light-engine.patch)0
-rw-r--r--patches/server/0815-Always-parse-protochunk-light-sources-unless-it-is-m.patch (renamed from patches/server/0816-Always-parse-protochunk-light-sources-unless-it-is-m.patch)2
-rw-r--r--patches/server/0816-Fix-removing-recipes.patch (renamed from patches/server/0817-Fix-removing-recipes.patch)0
-rw-r--r--patches/server/0817-Prevent-sending-oversized-item-data-in-equipment-and.patch (renamed from patches/server/0818-Prevent-sending-oversized-item-data-in-equipment-and.patch)0
-rw-r--r--patches/server/0818-Hide-unnecessary-itemmeta-from-clients.patch (renamed from patches/server/0819-Hide-unnecessary-itemmeta-from-clients.patch)0
-rw-r--r--patches/server/0819-Fix-kelp-modifier-changing-growth-for-other-crops.patch (renamed from patches/server/0820-Fix-kelp-modifier-changing-growth-for-other-crops.patch)0
-rw-r--r--patches/server/0820-Prevent-ContainerOpenersCounter-openCount-from-going.patch (renamed from patches/server/0821-Prevent-ContainerOpenersCounter-openCount-from-going.patch)0
-rw-r--r--patches/server/0821-Add-PlayerItemFrameChangeEvent.patch (renamed from patches/server/0822-Add-PlayerItemFrameChangeEvent.patch)0
-rw-r--r--patches/server/0822-Add-player-health-update-API.patch (renamed from patches/server/0823-Add-player-health-update-API.patch)0
-rw-r--r--patches/server/0823-Optimize-HashMapPalette.patch (renamed from patches/server/0824-Optimize-HashMapPalette.patch)0
-rw-r--r--patches/server/0824-Allow-delegation-to-vanilla-chunk-gen.patch (renamed from patches/server/0825-Allow-delegation-to-vanilla-chunk-gen.patch)0
-rw-r--r--patches/server/0825-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch (renamed from patches/server/0826-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch)2
-rw-r--r--patches/server/0826-Optimise-collision-checking-in-player-move-packet-ha.patch (renamed from patches/server/0827-Optimise-collision-checking-in-player-move-packet-ha.patch)0
-rw-r--r--patches/server/0827-Actually-unload-POI-data.patch (renamed from patches/server/0828-Actually-unload-POI-data.patch)0
-rw-r--r--patches/server/0828-Fix-ChunkSnapshot-isSectionEmpty-int.patch (renamed from patches/server/0829-Fix-ChunkSnapshot-isSectionEmpty-int.patch)0
-rw-r--r--patches/server/0829-Don-t-disable-log4j-lookups.patch (renamed from patches/server/0831-Don-t-disable-log4j-lookups.patch)0
-rw-r--r--patches/server/0830-Backport-log4j-2.15.0-bugfix.patch385
-rw-r--r--patches/server/0830-Update-Log4j.patch25
116 files changed, 68 insertions, 447 deletions
diff --git a/patches/server/0718-Respect-despawn-rate-in-item-merge-check.patch b/patches/server/0717-Respect-despawn-rate-in-item-merge-check.patch
index d5cd293f4a..d5cd293f4a 100644
--- a/patches/server/0718-Respect-despawn-rate-in-item-merge-check.patch
+++ b/patches/server/0717-Respect-despawn-rate-in-item-merge-check.patch
diff --git a/patches/server/0717-Set-AsyncAppender-dispatch-thread-to-be-a-daemon-thr.patch b/patches/server/0717-Set-AsyncAppender-dispatch-thread-to-be-a-daemon-thr.patch
deleted file mode 100644
index 4a7c6f9fc7..0000000000
--- a/patches/server/0717-Set-AsyncAppender-dispatch-thread-to-be-a-daemon-thr.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Jason Penilla <[email protected]>
-Date: Wed, 18 Aug 2021 12:02:02 -0500
-Subject: [PATCH] Set AsyncAppender dispatch thread to be a daemon thread
-
-This diff will be included in the not yet released Log4j 2.14.2. When Log4j 2.14.2 is released this patch should be dropped in favor of bumping Log4j.
-
-diff --git a/src/main/java/org/apache/logging/log4j/core/appender/AsyncAppenderEventDispatcher.java b/src/main/java/org/apache/logging/log4j/core/appender/AsyncAppenderEventDispatcher.java
-index a01f68db840b6e953fa6908ad10cd25744be6471..d406c3d38059b1e4012ca5ebd938b8a6f8ce152f 100644
---- a/src/main/java/org/apache/logging/log4j/core/appender/AsyncAppenderEventDispatcher.java
-+++ b/src/main/java/org/apache/logging/log4j/core/appender/AsyncAppenderEventDispatcher.java
-@@ -50,6 +50,7 @@ class AsyncAppenderEventDispatcher extends Log4jThread {
- final List<AppenderControl> appenders,
- final BlockingQueue<LogEvent> queue) {
- super("AsyncAppenderEventDispatcher-" + THREAD_COUNTER.incrementAndGet() + "-" + name);
-+ this.setDaemon(true); // Paper - Backport change from not yet released Log4j 2.14.2
- this.errorAppender = errorAppender;
- this.appenders = appenders;
- this.queue = queue;
diff --git a/patches/server/0719-Move-BlockPistonRetractEvent-to-fix-duplication.patch b/patches/server/0718-Move-BlockPistonRetractEvent-to-fix-duplication.patch
index 87cfb92404..87cfb92404 100644
--- a/patches/server/0719-Move-BlockPistonRetractEvent-to-fix-duplication.patch
+++ b/patches/server/0718-Move-BlockPistonRetractEvent-to-fix-duplication.patch
diff --git a/patches/server/0720-Change-EnderEye-target-without-changing-other-things.patch b/patches/server/0719-Change-EnderEye-target-without-changing-other-things.patch
index e4af6267df..e4af6267df 100644
--- a/patches/server/0720-Change-EnderEye-target-without-changing-other-things.patch
+++ b/patches/server/0719-Change-EnderEye-target-without-changing-other-things.patch
diff --git a/patches/server/0721-Add-BlockBreakBlockEvent.patch b/patches/server/0720-Add-BlockBreakBlockEvent.patch
index 73d2960284..bbd9414dca 100644
--- a/patches/server/0721-Add-BlockBreakBlockEvent.patch
+++ b/patches/server/0720-Add-BlockBreakBlockEvent.patch
@@ -46,7 +46,7 @@ index c7d23fcaa5702f0e8bbf616c86b16ab1b3400dbb..28256f1f0aeb7718a5866add4ec40ce0
if (!iblockdata1.is((Tag) BlockTags.FIRE)) {
world.addDestroyBlockEffect(blockposition3, iblockdata1);
diff --git a/src/main/java/net/minecraft/world/level/material/FlowingFluid.java b/src/main/java/net/minecraft/world/level/material/FlowingFluid.java
-index 18e24f400289fdfca0bf33ea0f93badeef3e46eb..1aab936f9f57bd2dda4444d6bd36e064809e5915 100644
+index 49b8e9a764a868975ec832ea354bb0df99f9721a..6f5f9d8a38bf023969c883b3e3a230c3cdc62104 100644
--- a/src/main/java/net/minecraft/world/level/material/FlowingFluid.java
+++ b/src/main/java/net/minecraft/world/level/material/FlowingFluid.java
@@ -295,7 +295,7 @@ public abstract class FlowingFluid extends Fluid {
diff --git a/patches/server/0722-Option-to-prevent-NBT-copy-in-smithing-recipes.patch b/patches/server/0721-Option-to-prevent-NBT-copy-in-smithing-recipes.patch
index 14e666a79e..14e666a79e 100644
--- a/patches/server/0722-Option-to-prevent-NBT-copy-in-smithing-recipes.patch
+++ b/patches/server/0721-Option-to-prevent-NBT-copy-in-smithing-recipes.patch
diff --git a/patches/server/0723-More-CommandBlock-API.patch b/patches/server/0722-More-CommandBlock-API.patch
index daf682f8a0..daf682f8a0 100644
--- a/patches/server/0723-More-CommandBlock-API.patch
+++ b/patches/server/0722-More-CommandBlock-API.patch
diff --git a/patches/server/0724-Add-missing-team-sidebar-display-slots.patch b/patches/server/0723-Add-missing-team-sidebar-display-slots.patch
index 5581728a48..5581728a48 100644
--- a/patches/server/0724-Add-missing-team-sidebar-display-slots.patch
+++ b/patches/server/0723-Add-missing-team-sidebar-display-slots.patch
diff --git a/patches/server/0725-Add-back-EntityPortalExitEvent.patch b/patches/server/0724-Add-back-EntityPortalExitEvent.patch
index 5fa0a24533..5fa0a24533 100644
--- a/patches/server/0725-Add-back-EntityPortalExitEvent.patch
+++ b/patches/server/0724-Add-back-EntityPortalExitEvent.patch
diff --git a/patches/server/0726-Add-methods-to-find-targets-for-lightning-strikes.patch b/patches/server/0725-Add-methods-to-find-targets-for-lightning-strikes.patch
index da9b6f9626..f2c4db516e 100644
--- a/patches/server/0726-Add-methods-to-find-targets-for-lightning-strikes.patch
+++ b/patches/server/0725-Add-methods-to-find-targets-for-lightning-strikes.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add methods to find targets for lightning strikes
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 081c031f08c9817de6c4e1e6bf18b11efc3c668b..c2800bbcf4892ca4e8fdc22e9bf794aa5a60c0fc 100644
+index 1d372935aeab82d7d6540b8fd7590466a0dc5763..ae0f2bd13adf1d8a56e4a2a26aa5d8cc75e7aaae 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -748,6 +748,11 @@ public class ServerLevel extends Level implements WorldGenLevel {
diff --git a/patches/server/0727-Get-entity-default-attributes.patch b/patches/server/0726-Get-entity-default-attributes.patch
index 242fb46936..6cdfcd9662 100644
--- a/patches/server/0727-Get-entity-default-attributes.patch
+++ b/patches/server/0726-Get-entity-default-attributes.patch
@@ -90,7 +90,7 @@ index 0000000000000000000000000000000000000000..4ecba0b02c2813a890aecc5586987879
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 957c1091a810160c0fba83419bb8f83ca06c72fd..2a8d1dc9d985250fd38e32f12e096bb8c31e43b7 100644
+index fd02c143fa1cc972341f8122d554539c968bab1a..08b44f0f5e018ac5ecc42906a0c126061ed52268 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -516,6 +516,18 @@ public final class CraftMagicNumbers implements UnsafeValues {
diff --git a/patches/server/0728-Left-handed-API.patch b/patches/server/0727-Left-handed-API.patch
index dd1acc7723..dd1acc7723 100644
--- a/patches/server/0728-Left-handed-API.patch
+++ b/patches/server/0727-Left-handed-API.patch
diff --git a/patches/server/0729-Add-advancement-display-API.patch b/patches/server/0728-Add-advancement-display-API.patch
index c2bd6b94c0..c2bd6b94c0 100644
--- a/patches/server/0729-Add-advancement-display-API.patch
+++ b/patches/server/0728-Add-advancement-display-API.patch
diff --git a/patches/server/0730-Add-ItemFactory-getMonsterEgg-API.patch b/patches/server/0729-Add-ItemFactory-getMonsterEgg-API.patch
index a7a82e297a..a7a82e297a 100644
--- a/patches/server/0730-Add-ItemFactory-getMonsterEgg-API.patch
+++ b/patches/server/0729-Add-ItemFactory-getMonsterEgg-API.patch
diff --git a/patches/server/0731-Add-critical-damage-API.patch b/patches/server/0730-Add-critical-damage-API.patch
index e9da7c9a2f..e9da7c9a2f 100644
--- a/patches/server/0731-Add-critical-damage-API.patch
+++ b/patches/server/0730-Add-critical-damage-API.patch
diff --git a/patches/server/0732-Fix-issues-with-mob-conversion.patch b/patches/server/0731-Fix-issues-with-mob-conversion.patch
index 65a03ed56e..65a03ed56e 100644
--- a/patches/server/0732-Fix-issues-with-mob-conversion.patch
+++ b/patches/server/0731-Fix-issues-with-mob-conversion.patch
diff --git a/patches/server/0733-Add-isCollidable-methods-to-various-places.patch b/patches/server/0732-Add-isCollidable-methods-to-various-places.patch
index faf261a998..3b727102f7 100644
--- a/patches/server/0733-Add-isCollidable-methods-to-various-places.patch
+++ b/patches/server/0732-Add-isCollidable-methods-to-various-places.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add isCollidable methods to various places
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
-index ee24edb7f3821ae3a1881824257d21226f909adb..808bdd0e8d6b679c2eee87c3078a4c3dbcd08b8b 100644
+index 4a013a0ecdeda29c64748a551f79b8437021978c..fcf2e5b0b07d2884b678b9c39b72cc7dc5518163 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
@@ -473,6 +473,11 @@ public class CraftBlock implements Block {
@@ -37,7 +37,7 @@ index 7b9e943b391c061782fccd2b8d705ceec8db50fe..966ac60daebb7bb211ab8096fc0c5f33
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 2a8d1dc9d985250fd38e32f12e096bb8c31e43b7..52f5dfb2179a6cf35dfe38bac211ac6d8166e636 100644
+index 08b44f0f5e018ac5ecc42906a0c126061ed52268..ac9bfb29009d9969c7444678fb1478752f15bfac 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -528,6 +528,12 @@ public final class CraftMagicNumbers implements UnsafeValues {
diff --git a/patches/server/0734-Goat-ram-API.patch b/patches/server/0733-Goat-ram-API.patch
index 641bebca80..641bebca80 100644
--- a/patches/server/0734-Goat-ram-API.patch
+++ b/patches/server/0733-Goat-ram-API.patch
diff --git a/patches/server/0735-Add-API-for-resetting-a-single-score.patch b/patches/server/0734-Add-API-for-resetting-a-single-score.patch
index c2e1fd93b9..c2e1fd93b9 100644
--- a/patches/server/0735-Add-API-for-resetting-a-single-score.patch
+++ b/patches/server/0734-Add-API-for-resetting-a-single-score.patch
diff --git a/patches/server/0736-Add-Raw-Byte-Entity-Serialization.patch b/patches/server/0735-Add-Raw-Byte-Entity-Serialization.patch
index 434733010e..434733010e 100644
--- a/patches/server/0736-Add-Raw-Byte-Entity-Serialization.patch
+++ b/patches/server/0735-Add-Raw-Byte-Entity-Serialization.patch
diff --git a/patches/server/0737-Vanilla-command-permission-fixes.patch b/patches/server/0736-Vanilla-command-permission-fixes.patch
index 9080cc3cca..b5097e5762 100644
--- a/patches/server/0737-Vanilla-command-permission-fixes.patch
+++ b/patches/server/0736-Vanilla-command-permission-fixes.patch
@@ -30,7 +30,7 @@ index 899008b2980d13f1be6280cd8cb959c53a29bebf..f875507241ac6769545e91cd3285232b
private RedirectModifier<S> modifier = null;
private boolean forks;
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
-index 40a0fbc2049aeffef597f867383877cce9ea7a03..edc202d60ac3e8ac13b61d8c2c82d587567e9c05 100644
+index 112dddca796f9d987c321174bf9d6ad98dbb7a5e..f6b73f8c6638ddf79e45042f5c8902ea1f271f5c 100644
--- a/src/main/java/net/minecraft/commands/Commands.java
+++ b/src/main/java/net/minecraft/commands/Commands.java
@@ -211,6 +211,13 @@ public class Commands {
diff --git a/patches/server/0738-Make-CallbackExecutor-strict-again.patch b/patches/server/0737-Make-CallbackExecutor-strict-again.patch
index 68b18d6536..68b18d6536 100644
--- a/patches/server/0738-Make-CallbackExecutor-strict-again.patch
+++ b/patches/server/0737-Make-CallbackExecutor-strict-again.patch
diff --git a/patches/server/0739-Do-not-allow-the-server-to-unload-chunks-at-request-.patch b/patches/server/0738-Do-not-allow-the-server-to-unload-chunks-at-request-.patch
index eb5a3a65ed..0f9c3bedf6 100644
--- a/patches/server/0739-Do-not-allow-the-server-to-unload-chunks-at-request-.patch
+++ b/patches/server/0738-Do-not-allow-the-server-to-unload-chunks-at-request-.patch
@@ -10,7 +10,7 @@ to be unloaded will simply be unloaded next tick, rather than
immediately.
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
-index f7abb67568cf1034dae3fe9e0adff9bcc36b96e7..2099769f54b53129f350856a227db4c475b4c903 100644
+index 761bd290d5a041d56ce6be98443107b8f87137aa..ef6e4dddc699c05a5f3d4b2dc29db0d1fa79b0ef 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -884,6 +884,7 @@ public class ServerChunkCache extends ChunkSource {
diff --git a/patches/server/0740-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch b/patches/server/0739-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch
index 7de4b588e9..ad0f95ae14 100644
--- a/patches/server/0740-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch
+++ b/patches/server/0739-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch
@@ -9,7 +9,7 @@ chunk through it. This should also be OK from a leak prevention/
state desync POV because the TE is getting unloaded anyways.
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index c2800bbcf4892ca4e8fdc22e9bf794aa5a60c0fc..132d87cc61f836cf5518e28f24374aa17173bd82 100644
+index ae0f2bd13adf1d8a56e4a2a26aa5d8cc75e7aaae..37ca0efe6ad83b0e8c7578514d3d2d3fb58b91ec 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1303,9 +1303,13 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -28,7 +28,7 @@ index c2800bbcf4892ca4e8fdc22e9bf794aa5a60c0fc..132d87cc61f836cf5518e28f24374aa1
}
// Spigot End
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index ea724b1781ea256c991fe47aa044183e20ae4d82..5270a8b1ee2cc426b8e0b5d34db4d81843fb4230 100644
+index 6c0c1f7f4f3407164ee39abf4c87ffcc057994fd..a3274d3506b90422e4acdf6446e351b2da65b29c 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1577,6 +1577,18 @@ public class ServerPlayer extends Player {
diff --git a/patches/server/0741-Correctly-handle-recursion-for-chunkholder-updates.patch b/patches/server/0740-Correctly-handle-recursion-for-chunkholder-updates.patch
index 8b0d0239c2..d4a47032bf 100644
--- a/patches/server/0741-Correctly-handle-recursion-for-chunkholder-updates.patch
+++ b/patches/server/0740-Correctly-handle-recursion-for-chunkholder-updates.patch
@@ -8,7 +8,7 @@ cause a recursive call which would handle the increase but then
the caller would think the chunk would be unloaded.
diff --git a/src/main/java/net/minecraft/server/level/ChunkHolder.java b/src/main/java/net/minecraft/server/level/ChunkHolder.java
-index 4b0d87c0534cddcab16d772c16307f3621fc30e9..634de60385923b3482f8a52138694b5c635c23b8 100644
+index 17a71e2fce455552c0e8af4073c516c21bc3e208..6bfc705cbf3d8efdb0926df4e1bc6948f9052440 100644
--- a/src/main/java/net/minecraft/server/level/ChunkHolder.java
+++ b/src/main/java/net/minecraft/server/level/ChunkHolder.java
@@ -438,8 +438,10 @@ public class ChunkHolder {
diff --git a/patches/server/0742-Separate-lookup-locking-from-state-access-in-UserCac.patch b/patches/server/0741-Separate-lookup-locking-from-state-access-in-UserCac.patch
index 20298aa1a6..20298aa1a6 100644
--- a/patches/server/0742-Separate-lookup-locking-from-state-access-in-UserCac.patch
+++ b/patches/server/0741-Separate-lookup-locking-from-state-access-in-UserCac.patch
diff --git a/patches/server/0743-Fix-chunks-refusing-to-unload-at-low-TPS.patch b/patches/server/0742-Fix-chunks-refusing-to-unload-at-low-TPS.patch
index 5d95d12b7c..5d95d12b7c 100644
--- a/patches/server/0743-Fix-chunks-refusing-to-unload-at-low-TPS.patch
+++ b/patches/server/0742-Fix-chunks-refusing-to-unload-at-low-TPS.patch
diff --git a/patches/server/0744-Do-not-allow-ticket-level-changes-while-unloading-pl.patch b/patches/server/0743-Do-not-allow-ticket-level-changes-while-unloading-pl.patch
index d1cd2e9a71..42b3fa9938 100644
--- a/patches/server/0744-Do-not-allow-ticket-level-changes-while-unloading-pl.patch
+++ b/patches/server/0743-Do-not-allow-ticket-level-changes-while-unloading-pl.patch
@@ -49,7 +49,7 @@ index c9563c0a5f230753dda469530cabde67fdb13f83..5157eac0190c6e1458dedfb1cb2eddee
}
};
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
-index 2099769f54b53129f350856a227db4c475b4c903..e13a8e3dc11292aed13ff12ee8e0f9d6a95f0c34 100644
+index ef6e4dddc699c05a5f3d4b2dc29db0d1fa79b0ef..74836552406743c16ef9e510ad22f7ba5520ea7f 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -820,6 +820,7 @@ public class ServerChunkCache extends ChunkSource {
diff --git a/patches/server/0745-Do-not-allow-ticket-level-changes-when-updating-chun.patch b/patches/server/0744-Do-not-allow-ticket-level-changes-when-updating-chun.patch
index e4d9eab542..538eaa84b7 100644
--- a/patches/server/0745-Do-not-allow-ticket-level-changes-when-updating-chun.patch
+++ b/patches/server/0744-Do-not-allow-ticket-level-changes-when-updating-chun.patch
@@ -8,7 +8,7 @@ This WILL cause state corruption if it happens. So, don't
allow it.
diff --git a/src/main/java/net/minecraft/server/level/ChunkHolder.java b/src/main/java/net/minecraft/server/level/ChunkHolder.java
-index 634de60385923b3482f8a52138694b5c635c23b8..bb411853cb9e0120bcaa82e878724ee17167057b 100644
+index 6bfc705cbf3d8efdb0926df4e1bc6948f9052440..1f602d50f3212078490c0092ceefd3b17e0b1532 100644
--- a/src/main/java/net/minecraft/server/level/ChunkHolder.java
+++ b/src/main/java/net/minecraft/server/level/ChunkHolder.java
@@ -418,7 +418,13 @@ public class ChunkHolder {
diff --git a/patches/server/0746-Do-not-submit-profile-lookups-to-worldgen-threads.patch b/patches/server/0745-Do-not-submit-profile-lookups-to-worldgen-threads.patch
index 6fd3fefa43..6fd3fefa43 100644
--- a/patches/server/0746-Do-not-submit-profile-lookups-to-worldgen-threads.patch
+++ b/patches/server/0745-Do-not-submit-profile-lookups-to-worldgen-threads.patch
diff --git a/patches/server/0747-Log-when-the-async-catcher-is-tripped.patch b/patches/server/0746-Log-when-the-async-catcher-is-tripped.patch
index 7006040b25..7006040b25 100644
--- a/patches/server/0747-Log-when-the-async-catcher-is-tripped.patch
+++ b/patches/server/0746-Log-when-the-async-catcher-is-tripped.patch
diff --git a/patches/server/0748-Add-paper-mobcaps-and-paper-playermobcaps.patch b/patches/server/0747-Add-paper-mobcaps-and-paper-playermobcaps.patch
index 6c68736e63..2983360250 100644
--- a/patches/server/0748-Add-paper-mobcaps-and-paper-playermobcaps.patch
+++ b/patches/server/0747-Add-paper-mobcaps-and-paper-playermobcaps.patch
@@ -272,7 +272,7 @@ index f436ab35798c9b6e6cb2eb60d2c02cbf9b742e69..4d7575087947f3b199dd895cd9aa02a7
List<org.bukkit.World> worlds;
if (args.length < 2 || args[1].equals("*")) {
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
-index 63ba93538d990fdd4c9e8c491bb715adc8d57986..928025438af179711c42381fc3eaeac74cd20c59 100644
+index c88bd5bc044b5f9722cb5826936e31811a8312c7..9b13244571807907fc0e14463d746724b0713c19 100644
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
@@ -148,32 +148,16 @@ public final class NaturalSpawner {
diff --git a/patches/server/0749-Prevent-unload-calls-removing-tickets-for-sync-loads.patch b/patches/server/0748-Prevent-unload-calls-removing-tickets-for-sync-loads.patch
index 7560130c15..2c13e7604d 100644
--- a/patches/server/0749-Prevent-unload-calls-removing-tickets-for-sync-loads.patch
+++ b/patches/server/0748-Prevent-unload-calls-removing-tickets-for-sync-loads.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Prevent unload() calls removing tickets for sync loads
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
-index e13a8e3dc11292aed13ff12ee8e0f9d6a95f0c34..9f0321179fb1d87b6e1b74e128955157983b0500 100644
+index 74836552406743c16ef9e510ad22f7ba5520ea7f..280ca8758cbaf710c2bf357e41dd2af6e14b49bc 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -725,6 +725,8 @@ public class ServerChunkCache extends ChunkSource {
diff --git a/patches/server/0750-Sanitize-ResourceLocation-error-logging.patch b/patches/server/0749-Sanitize-ResourceLocation-error-logging.patch
index 1f990a622a..1f990a622a 100644
--- a/patches/server/0750-Sanitize-ResourceLocation-error-logging.patch
+++ b/patches/server/0749-Sanitize-ResourceLocation-error-logging.patch
diff --git a/patches/server/0751-Optimise-general-POI-access.patch b/patches/server/0750-Optimise-general-POI-access.patch
index c920f51774..c920f51774 100644
--- a/patches/server/0751-Optimise-general-POI-access.patch
+++ b/patches/server/0750-Optimise-general-POI-access.patch
diff --git a/patches/server/0752-Allow-controlled-flushing-for-network-manager.patch b/patches/server/0751-Allow-controlled-flushing-for-network-manager.patch
index c52730c1df..c52730c1df 100644
--- a/patches/server/0752-Allow-controlled-flushing-for-network-manager.patch
+++ b/patches/server/0751-Allow-controlled-flushing-for-network-manager.patch
diff --git a/patches/server/0753-Add-more-async-catchers.patch b/patches/server/0752-Add-more-async-catchers.patch
index 9eca07f148..9eca07f148 100644
--- a/patches/server/0753-Add-more-async-catchers.patch
+++ b/patches/server/0752-Add-more-async-catchers.patch
diff --git a/patches/server/0754-Rewrite-entity-bounding-box-lookup-calls.patch b/patches/server/0753-Rewrite-entity-bounding-box-lookup-calls.patch
index cd5be5652a..a509a9c638 100644
--- a/patches/server/0754-Rewrite-entity-bounding-box-lookup-calls.patch
+++ b/patches/server/0753-Rewrite-entity-bounding-box-lookup-calls.patch
@@ -914,7 +914,7 @@ index 0000000000000000000000000000000000000000..3ba094e640d7fe7803e2bbdab8ff3beb
+ }
+}
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 132d87cc61f836cf5518e28f24374aa17173bd82..2459b8bfbb73310be66e354112c39e0ded1db036 100644
+index 37ca0efe6ad83b0e8c7578514d3d2d3fb58b91ec..875ba4b21f122a0d748c7bd5b3d48f4b8ead5693 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -425,7 +425,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -927,7 +927,7 @@ index 132d87cc61f836cf5518e28f24374aa17173bd82..2459b8bfbb73310be66e354112c39e0d
int j = this.spigotConfig.viewDistance; // Spigot
int k = this.spigotConfig.simulationDistance; // Spigot
diff --git a/src/main/java/net/minecraft/server/level/WorldGenRegion.java b/src/main/java/net/minecraft/server/level/WorldGenRegion.java
-index c34dcba5c94a321f236fa8c70021adf3cf190bdc..36511b27672d9105e176929047bc9614c2347505 100644
+index de5e18a331178da8f7e82aa2419a0ee606e801ee..9b25d36fe5230e287d81b99be31b9eddd8e76002 100644
--- a/src/main/java/net/minecraft/server/level/WorldGenRegion.java
+++ b/src/main/java/net/minecraft/server/level/WorldGenRegion.java
@@ -496,4 +496,21 @@ public class WorldGenRegion implements WorldGenLevel {
@@ -1051,7 +1051,7 @@ index bc3bfe8d3c2f87e2e9f167b9ff34d9ca8a696391..30276959c0119813c27ee3f98e237c93
<T extends Entity> List<T> getEntities(EntityTypeTest<Entity, T> filter, AABB box, Predicate<? super T> predicate);
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
-index 7ac5755df29a82d053fdd3f9e83b0789cbdb0525..317f4ea838a2ba654d5bf36b416e67d897a12470 100644
+index d63f4108012b4d3ed566298c7cda27bbbf018c6a..3831895e2219d846022500553d9b714c7d654b3a 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -203,6 +203,48 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -1257,7 +1257,7 @@ index d6efa18ba9c032858071f6c87f1bdc0ce2ddb20f..d51833b1ad40ab234e2a2b2a61f09362
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/util/DummyGeneratorAccess.java b/src/main/java/org/bukkit/craftbukkit/util/DummyGeneratorAccess.java
-index aff1a282516119e0f6026f1b35d6ee72859e8670..80948afdb8c40d9930706e299ca359596ef41189 100644
+index 9ab8159975f58a0014edbe3a368490b3590882ea..4c6cbfbcb5a7876e6b556b59c54e9a4cedf7843e 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/DummyGeneratorAccess.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/DummyGeneratorAccess.java
@@ -258,4 +258,20 @@ public class DummyGeneratorAccess implements WorldGenLevel {
diff --git a/patches/server/0755-Optimise-chunk-tick-iteration.patch b/patches/server/0754-Optimise-chunk-tick-iteration.patch
index ca24ea128f..c381730e4a 100644
--- a/patches/server/0755-Optimise-chunk-tick-iteration.patch
+++ b/patches/server/0754-Optimise-chunk-tick-iteration.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Optimise chunk tick iteration
Use a dedicated list of entity ticking chunks to reduce the cost
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
-index 280ca8758cbaf710c2bf357e41dd2af6e14b49bc..4f502f1c8a86a28e2cd6513516f3846ed74be891 100644
+index 280ca8758cbaf710c2bf357e41dd2af6e14b49bc..ad352b4b67632f9984c4d10994a9acfe434a4996 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -999,34 +999,46 @@ public class ServerChunkCache extends ChunkSource {
diff --git a/patches/server/0756-Execute-chunk-tasks-mid-tick.patch b/patches/server/0755-Execute-chunk-tasks-mid-tick.patch
index 09c7b22a67..d1841cb15c 100644
--- a/patches/server/0756-Execute-chunk-tasks-mid-tick.patch
+++ b/patches/server/0755-Execute-chunk-tasks-mid-tick.patch
@@ -128,7 +128,7 @@ index ad352b4b67632f9984c4d10994a9acfe434a4996..df415f79dfd2ae9a709747b112022b38
}
// Paper start - optimise chunk tick iteration
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 427deff283b5e47e68966ad6af8823b282b20cf8..5fc77bd9a05d5fad7c49d15fe64ccab14ec37bc3 100644
+index 875ba4b21f122a0d748c7bd5b3d48f4b8ead5693..8eb4320b281ef83fa9387d14f10d140f099e83e4 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -198,7 +198,9 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -143,7 +143,7 @@ index 427deff283b5e47e68966ad6af8823b282b20cf8..5fc77bd9a05d5fad7c49d15fe64ccab1
// CraftBukkit start
private int tickPosition;
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
-index 317f4ea838a2ba654d5bf36b416e67d897a12470..93e607aae3e64b6a04fd56b25748283535ce5aac 100644
+index 3831895e2219d846022500553d9b714c7d654b3a..86bcedec97f1bc95621380da6ad074bdcc4bfeab 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -896,6 +896,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
diff --git a/patches/server/0757-Do-not-copy-visible-chunks.patch b/patches/server/0756-Do-not-copy-visible-chunks.patch
index e649466db3..e649466db3 100644
--- a/patches/server/0757-Do-not-copy-visible-chunks.patch
+++ b/patches/server/0756-Do-not-copy-visible-chunks.patch
diff --git a/patches/server/0758-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch b/patches/server/0757-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch
index 48436825c0..48436825c0 100644
--- a/patches/server/0758-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch
+++ b/patches/server/0757-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch
diff --git a/patches/server/0759-Custom-table-implementation-for-blockstate-state-loo.patch b/patches/server/0758-Custom-table-implementation-for-blockstate-state-loo.patch
index 9b556d7fe8..9b556d7fe8 100644
--- a/patches/server/0759-Custom-table-implementation-for-blockstate-state-loo.patch
+++ b/patches/server/0758-Custom-table-implementation-for-blockstate-state-loo.patch
diff --git a/patches/server/0760-Detail-more-information-in-watchdog-dumps.patch b/patches/server/0759-Detail-more-information-in-watchdog-dumps.patch
index c0bd75a9ce..7a4abf8346 100644
--- a/patches/server/0760-Detail-more-information-in-watchdog-dumps.patch
+++ b/patches/server/0759-Detail-more-information-in-watchdog-dumps.patch
@@ -77,7 +77,7 @@ index bcf53ec07b8eeec7a88fb67e6fb908362e6f51b0..acc12307f61e1e055896b68fe16654c9
});
throw RunningOnDifferentThreadException.RUNNING_ON_DIFFERENT_THREAD;
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 5fc77bd9a05d5fad7c49d15fe64ccab14ec37bc3..495bcfdb63957363915ff0d5dbf538d467b9ec0f 100644
+index 8eb4320b281ef83fa9387d14f10d140f099e83e4..dd37f4ac7b1b2bca52ed1a0055eb5d6b53a11bd4 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -973,7 +973,26 @@ public class ServerLevel extends Level implements WorldGenLevel {
diff --git a/patches/server/0761-Manually-inline-methods-in-BlockPosition.patch b/patches/server/0760-Manually-inline-methods-in-BlockPosition.patch
index 0d800a8100..9d7f17f71a 100644
--- a/patches/server/0761-Manually-inline-methods-in-BlockPosition.patch
+++ b/patches/server/0760-Manually-inline-methods-in-BlockPosition.patch
@@ -45,7 +45,7 @@ index 0dcf75c5c792650d7a5b9354222df16bcd1cfbd2..14610e6144ec144ebbec6fb0945c67bb
}
// Paper end
diff --git a/src/main/java/net/minecraft/core/Vec3i.java b/src/main/java/net/minecraft/core/Vec3i.java
-index 6de2ea6641433206027015695a0d10c80fe0e2f5..b9d30deecb63efd4cd8c840b710edba5b956bd93 100644
+index e7ee1fa6fe070cd307fdeb2c77c927506014da72..1c3583e97b13b6978535fae401778fa45808a32e 100644
--- a/src/main/java/net/minecraft/core/Vec3i.java
+++ b/src/main/java/net/minecraft/core/Vec3i.java
@@ -19,9 +19,9 @@ public class Vec3i implements Comparable<Vec3i> {
diff --git a/patches/server/0762-Distance-manager-tick-timings.patch b/patches/server/0761-Distance-manager-tick-timings.patch
index 0274a09f76..c12b5b8d05 100644
--- a/patches/server/0762-Distance-manager-tick-timings.patch
+++ b/patches/server/0761-Distance-manager-tick-timings.patch
@@ -19,7 +19,7 @@ index eada966d7f108a6081be7a848f5c1dfcb1eed676..a977f7483f37df473096b2234dc1308b
public static final Timing midTickChunkTasks = Timings.ofSafe("Mid Tick Chunk Tasks");
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
-index b89596e3394698d91bb5720648916e01c251f52e..bcca5262f9658b5e8f30c389faf371b3857fd6a4 100644
+index df415f79dfd2ae9a709747b112022b38437daac4..69de466c627f91cb4ee67c1015ead2502f3f7500 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -834,6 +834,7 @@ public class ServerChunkCache extends ChunkSource {
diff --git a/patches/server/0763-Name-craft-scheduler-threads-according-to-the-plugin.patch b/patches/server/0762-Name-craft-scheduler-threads-according-to-the-plugin.patch
index 7d081ee195..7d081ee195 100644
--- a/patches/server/0763-Name-craft-scheduler-threads-according-to-the-plugin.patch
+++ b/patches/server/0762-Name-craft-scheduler-threads-according-to-the-plugin.patch
diff --git a/patches/server/0764-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch b/patches/server/0763-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch
index ff97803f3d..c20e5ba267 100644
--- a/patches/server/0764-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch
+++ b/patches/server/0763-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch
@@ -13,7 +13,7 @@ Paper recently reverted this optimisation, so it's been reintroduced
here.
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
-index 93e607aae3e64b6a04fd56b25748283535ce5aac..79a231c6a2387e8b6bf1b32d02f0d3e0e1393756 100644
+index 86bcedec97f1bc95621380da6ad074bdcc4bfeab..a8e0d2609978652cf07e865c1af555d47bdaaea6 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -397,6 +397,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
diff --git a/patches/server/0765-Add-packet-limiter-config.patch b/patches/server/0764-Add-packet-limiter-config.patch
index 4ff4c8272f..4ff4c8272f 100644
--- a/patches/server/0765-Add-packet-limiter-config.patch
+++ b/patches/server/0764-Add-packet-limiter-config.patch
diff --git a/patches/server/0766-Lag-compensate-block-breaking.patch b/patches/server/0765-Lag-compensate-block-breaking.patch
index 9ab1776b29..520e151053 100644
--- a/patches/server/0766-Lag-compensate-block-breaking.patch
+++ b/patches/server/0765-Lag-compensate-block-breaking.patch
@@ -21,7 +21,7 @@ index aafb87e80ff2cbc7f46fc102dd5b1d828206ecc8..f34ae86812b13a96b509724591a75c1a
+ }
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
-index 92f5cb240e0cf52caa8e95302606baa79a0da0f9..dd92cc53f0e6247508c6ce494dd45b4829344b2a 100644
+index 1ca6dc1e9334bf7e03eab4c2a75f4c86c7d36a9f..3125af569ec2bb1cd613a9dd96c3a181d723006d 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
@@ -54,14 +54,28 @@ public class ServerPlayerGameMode {
diff --git a/patches/server/0767-Use-correct-LevelStem-registry-when-loading-default-.patch b/patches/server/0766-Use-correct-LevelStem-registry-when-loading-default-.patch
index 7cd2d9c9f6..7cd2d9c9f6 100644
--- a/patches/server/0767-Use-correct-LevelStem-registry-when-loading-default-.patch
+++ b/patches/server/0766-Use-correct-LevelStem-registry-when-loading-default-.patch
diff --git a/patches/server/0768-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch b/patches/server/0767-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch
index b201e36d10..b201e36d10 100644
--- a/patches/server/0768-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch
+++ b/patches/server/0767-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch
diff --git a/patches/server/0769-Consolidate-flush-calls-for-entity-tracker-packets.patch b/patches/server/0768-Consolidate-flush-calls-for-entity-tracker-packets.patch
index 85e5738ffc..faa1b46041 100644
--- a/patches/server/0769-Consolidate-flush-calls-for-entity-tracker-packets.patch
+++ b/patches/server/0768-Consolidate-flush-calls-for-entity-tracker-packets.patch
@@ -22,7 +22,7 @@ With this change I could get all 200 on at 0ms ping.
So in general this patch should reduce Netty I/O thread load.
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
-index bcca5262f9658b5e8f30c389faf371b3857fd6a4..aee92dc0d5b26fcd4df48169bdb02ed8b9cc1b4e 100644
+index 69de466c627f91cb4ee67c1015ead2502f3f7500..e7e110b53e79e0606262982555dd9eb096c7c4a8 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -1070,7 +1070,24 @@ public class ServerChunkCache extends ChunkSource {
diff --git a/patches/server/0770-Don-t-lookup-fluid-state-when-raytracing.patch b/patches/server/0769-Don-t-lookup-fluid-state-when-raytracing.patch
index a1ddcdaa79..eef7de0e32 100644
--- a/patches/server/0770-Don-t-lookup-fluid-state-when-raytracing.patch
+++ b/patches/server/0769-Don-t-lookup-fluid-state-when-raytracing.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Don't lookup fluid state when raytracing
Just use the iblockdata already retrieved, removes a getType call.
diff --git a/src/main/java/net/minecraft/world/level/BlockGetter.java b/src/main/java/net/minecraft/world/level/BlockGetter.java
-index 3bf658ad473ebfcb4f4ca6efff2ee068167b1a62..7ad35b3586ae670602cc63e67d2f01fc5d10b638 100644
+index bca0838e40bc91d78e9b93df5318642d1c9f341e..9cf2f046d50a8a0e08189c9b4b5d2f323d1f790d 100644
--- a/src/main/java/net/minecraft/world/level/BlockGetter.java
+++ b/src/main/java/net/minecraft/world/level/BlockGetter.java
@@ -84,7 +84,7 @@ public interface BlockGetter extends LevelHeightAccessor {
diff --git a/patches/server/0771-Time-scoreboard-search.patch b/patches/server/0770-Time-scoreboard-search.patch
index 48469b83af..48469b83af 100644
--- a/patches/server/0771-Time-scoreboard-search.patch
+++ b/patches/server/0770-Time-scoreboard-search.patch
diff --git a/patches/server/0772-Send-full-pos-packets-for-hard-colliding-entities.patch b/patches/server/0771-Send-full-pos-packets-for-hard-colliding-entities.patch
index af1611e279..af1611e279 100644
--- a/patches/server/0772-Send-full-pos-packets-for-hard-colliding-entities.patch
+++ b/patches/server/0771-Send-full-pos-packets-for-hard-colliding-entities.patch
diff --git a/patches/server/0773-Do-not-run-raytrace-logic-for-AIR.patch b/patches/server/0772-Do-not-run-raytrace-logic-for-AIR.patch
index 8517a67d89..baedf55a9d 100644
--- a/patches/server/0773-Do-not-run-raytrace-logic-for-AIR.patch
+++ b/patches/server/0772-Do-not-run-raytrace-logic-for-AIR.patch
@@ -9,7 +9,7 @@ easy win. The remaining problems with this function
are mostly with the block getting itself.
diff --git a/src/main/java/net/minecraft/world/level/BlockGetter.java b/src/main/java/net/minecraft/world/level/BlockGetter.java
-index 7ad35b3586ae670602cc63e67d2f01fc5d10b638..ae8800a37ecd117126d976bcce1b91d56e7587b8 100644
+index 9cf2f046d50a8a0e08189c9b4b5d2f323d1f790d..d1eefa6ef3e9abfe7af4d8310aa64465fa2d5463 100644
--- a/src/main/java/net/minecraft/world/level/BlockGetter.java
+++ b/src/main/java/net/minecraft/world/level/BlockGetter.java
@@ -84,6 +84,7 @@ public interface BlockGetter extends LevelHeightAccessor {
diff --git a/patches/server/0774-Oprimise-map-impl-for-tracked-players.patch b/patches/server/0773-Oprimise-map-impl-for-tracked-players.patch
index 9a9b55816c..9a9b55816c 100644
--- a/patches/server/0774-Oprimise-map-impl-for-tracked-players.patch
+++ b/patches/server/0773-Oprimise-map-impl-for-tracked-players.patch
diff --git a/patches/server/0775-Optimise-BlockSoil-nearby-water-lookup.patch b/patches/server/0774-Optimise-BlockSoil-nearby-water-lookup.patch
index ab3e7cfa17..ab3e7cfa17 100644
--- a/patches/server/0775-Optimise-BlockSoil-nearby-water-lookup.patch
+++ b/patches/server/0774-Optimise-BlockSoil-nearby-water-lookup.patch
diff --git a/patches/server/0776-Allow-removal-addition-of-entities-to-entity-ticklis.patch b/patches/server/0775-Allow-removal-addition-of-entities-to-entity-ticklis.patch
index d68c8524e7..d68c8524e7 100644
--- a/patches/server/0776-Allow-removal-addition-of-entities-to-entity-ticklis.patch
+++ b/patches/server/0775-Allow-removal-addition-of-entities-to-entity-ticklis.patch
diff --git a/patches/server/0777-Optimise-random-block-ticking.patch b/patches/server/0776-Optimise-random-block-ticking.patch
index 24277f8c22..19ca976a3d 100644
--- a/patches/server/0777-Optimise-random-block-ticking.patch
+++ b/patches/server/0776-Optimise-random-block-ticking.patch
@@ -71,7 +71,7 @@ index 0000000000000000000000000000000000000000..e8b4053babe46999980b926431254050
+ }
+}
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 495bcfdb63957363915ff0d5dbf538d467b9ec0f..17b01c1592ec2481d1ff444ff12dbc3790e09368 100644
+index dd37f4ac7b1b2bca52ed1a0055eb5d6b53a11bd4..e6a8e21aa0ef8846b9998fe40605bf98c3966888 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -639,6 +639,10 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -297,7 +297,7 @@ index 60e1111f3c2c43398f21c541248f38524f41f4fb..56e9c0d15249562ebea8eb451d4bcc9f
public BlockPos getHomePos() {
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
-index 79a231c6a2387e8b6bf1b32d02f0d3e0e1393756..02a240a3925008152ea93059db47122e7f1a40d9 100644
+index a8e0d2609978652cf07e865c1af555d47bdaaea6..103428df78d1efe805ab425f1b4085077239bdf6 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -1355,10 +1355,18 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
diff --git a/patches/server/0778-Optimise-non-flush-packet-sending.patch b/patches/server/0777-Optimise-non-flush-packet-sending.patch
index f8dc75ba8c..f8dc75ba8c 100644
--- a/patches/server/0778-Optimise-non-flush-packet-sending.patch
+++ b/patches/server/0777-Optimise-non-flush-packet-sending.patch
diff --git a/patches/server/0779-Optimise-nearby-player-lookups.patch b/patches/server/0778-Optimise-nearby-player-lookups.patch
index a7293bc1ff..b56bd770af 100644
--- a/patches/server/0779-Optimise-nearby-player-lookups.patch
+++ b/patches/server/0778-Optimise-nearby-player-lookups.patch
@@ -9,7 +9,7 @@ since the penalty of a map lookup could outweigh the benefits of
searching less players (as it basically did in the outside range patch).
diff --git a/src/main/java/net/minecraft/server/level/ChunkHolder.java b/src/main/java/net/minecraft/server/level/ChunkHolder.java
-index bb411853cb9e0120bcaa82e878724ee17167057b..7f663523b8c43b356763d6d5249e1aec416de37c 100644
+index 1f602d50f3212078490c0092ceefd3b17e0b1532..825fdb0336b0388dbbc54c8da99781900612031c 100644
--- a/src/main/java/net/minecraft/server/level/ChunkHolder.java
+++ b/src/main/java/net/minecraft/server/level/ChunkHolder.java
@@ -83,6 +83,12 @@ public class ChunkHolder {
@@ -92,7 +92,7 @@ index 9ab37d95b0dbd13dfe31b34b2a91c2a7bc7f6e64..27e9bd7dabb5f827b8baf126565d1efb
protected ChunkGenerator generator() {
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 17b01c1592ec2481d1ff444ff12dbc3790e09368..3ce8055f0fb8c5b605356e4e85ee1dbdcc73ba0e 100644
+index e6a8e21aa0ef8846b9998fe40605bf98c3966888..f166a4cf5e71f3b3eb961ab729ce59991a06ce7c 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -396,6 +396,83 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -195,7 +195,7 @@ index 17b01c1592ec2481d1ff444ff12dbc3790e09368..3ce8055f0fb8c5b605356e4e85ee1dbd
this.handlingTick = true;
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
-index 697c2663c4deeb8f2ad603c979ab0884ac027930..0b46066d35d9bb38d98a9d6e5ca8dbdc0ba1dc5a 100644
+index 0a559b658cd52a1cce2895c6d9f96aa665a85c7b..8200e33ed4ebcae8a27cccf2a28daba5e10cf75d 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -792,7 +792,12 @@ public abstract class Mob extends LivingEntity {
@@ -213,7 +213,7 @@ index 697c2663c4deeb8f2ad603c979ab0884ac027930..0b46066d35d9bb38d98a9d6e5ca8dbdc
if (entityhuman != null) {
double d0 = entityhuman.distanceToSqr((Entity) this);
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
-index 02a240a3925008152ea93059db47122e7f1a40d9..c2220d5157d3065a256cd17410760c6aedf24987 100644
+index 103428df78d1efe805ab425f1b4085077239bdf6..4247dcb003626535dbb997f48ad9f61380bd17e9 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -244,6 +244,69 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -287,7 +287,7 @@ index 02a240a3925008152ea93059db47122e7f1a40d9..c2220d5157d3065a256cd17410760c6a
protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, final DimensionType dimensionmanager, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.concurrent.Executor executor) { // Paper - Async-Anti-Xray - Pass executor
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
-index 928025438af179711c42381fc3eaeac74cd20c59..c48d0773e7f1af4bc247d777eccc8a42c7e17601 100644
+index 9b13244571807907fc0e14463d746724b0713c19..49a0ceaf9a08f64f84f3925cfba3fab6bb034bae 100644
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
@@ -275,7 +275,7 @@ public final class NaturalSpawner {
@@ -309,7 +309,7 @@ index 928025438af179711c42381fc3eaeac74cd20c59..c48d0773e7f1af4bc247d777eccc8a42
private static Boolean isValidSpawnPostitionForType(ServerLevel world, MobCategory group, StructureFeatureManager structureAccessor, ChunkGenerator chunkGenerator, MobSpawnSettings.SpawnerData spawnEntry, BlockPos.MutableBlockPos pos, double squaredDistance) { // Paper
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 f73b3bb9b92fab3ca73d8561672797c1fd3e318b..c30204c5daac422eb009a447c1eb4fbc94a84318 100644
+index 8e03e63a00dd242791ba0d5a8a17922227b16165..4a9a1fef5603b073e6d2d12e3e8e5dca73a7bd1b 100644
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
@@ -235,6 +235,93 @@ public class LevelChunk extends ChunkAccess {
diff --git a/patches/server/0780-Optimise-WorldServer-notify.patch b/patches/server/0779-Optimise-WorldServer-notify.patch
index 57fa172a05..cad31cc75e 100644
--- a/patches/server/0780-Optimise-WorldServer-notify.patch
+++ b/patches/server/0779-Optimise-WorldServer-notify.patch
@@ -110,7 +110,7 @@ index 27e9bd7dabb5f827b8baf126565d1efb9eb2c2ef..a14effa7f8f56a27bccd4479baad82fc
}
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 3ce8055f0fb8c5b605356e4e85ee1dbdcc73ba0e..051c32968d5b134f6f83dd9ac7db7e608ec1a4f2 100644
+index f166a4cf5e71f3b3eb961ab729ce59991a06ce7c..10563d4d02d825f5334b0c2c3e0fe032ccdacb73 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1090,6 +1090,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
diff --git a/patches/server/0781-Remove-streams-for-villager-AI.patch b/patches/server/0780-Remove-streams-for-villager-AI.patch
index 8257c2de40..8257c2de40 100644
--- a/patches/server/0781-Remove-streams-for-villager-AI.patch
+++ b/patches/server/0780-Remove-streams-for-villager-AI.patch
diff --git a/patches/server/0782-Rewrite-dataconverter-system.patch b/patches/server/0781-Rewrite-dataconverter-system.patch
index 999b3737c5..999b3737c5 100644
--- a/patches/server/0782-Rewrite-dataconverter-system.patch
+++ b/patches/server/0781-Rewrite-dataconverter-system.patch
diff --git a/patches/server/0783-Use-Velocity-compression-and-cipher-natives.patch b/patches/server/0782-Use-Velocity-compression-and-cipher-natives.patch
index 64e78ac585..64e78ac585 100644
--- a/patches/server/0783-Use-Velocity-compression-and-cipher-natives.patch
+++ b/patches/server/0782-Use-Velocity-compression-and-cipher-natives.patch
diff --git a/patches/server/0784-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch b/patches/server/0783-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch
index d95c023f1e..d95c023f1e 100644
--- a/patches/server/0784-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch
+++ b/patches/server/0783-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch
diff --git a/patches/server/0785-Do-not-process-entity-loads-in-CraftChunk-getEntitie.patch b/patches/server/0784-Do-not-process-entity-loads-in-CraftChunk-getEntitie.patch
index ddc57c0d3a..ddc57c0d3a 100644
--- a/patches/server/0785-Do-not-process-entity-loads-in-CraftChunk-getEntitie.patch
+++ b/patches/server/0784-Do-not-process-entity-loads-in-CraftChunk-getEntitie.patch
diff --git a/patches/server/0786-Async-catch-modifications-to-critical-entity-state.patch b/patches/server/0785-Async-catch-modifications-to-critical-entity-state.patch
index 7b91e7da2c..7b91e7da2c 100644
--- a/patches/server/0786-Async-catch-modifications-to-critical-entity-state.patch
+++ b/patches/server/0785-Async-catch-modifications-to-critical-entity-state.patch
diff --git a/patches/server/0787-Fix-Bukkit-NamespacedKey-shenanigans.patch b/patches/server/0786-Fix-Bukkit-NamespacedKey-shenanigans.patch
index 8f152dd0e7..8f152dd0e7 100644
--- a/patches/server/0787-Fix-Bukkit-NamespacedKey-shenanigans.patch
+++ b/patches/server/0786-Fix-Bukkit-NamespacedKey-shenanigans.patch
diff --git a/patches/server/0788-Fix-merchant-inventory-not-closing-on-entity-removal.patch b/patches/server/0787-Fix-merchant-inventory-not-closing-on-entity-removal.patch
index 9cd01be5f2..ed32ea573d 100644
--- a/patches/server/0788-Fix-merchant-inventory-not-closing-on-entity-removal.patch
+++ b/patches/server/0787-Fix-merchant-inventory-not-closing-on-entity-removal.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix merchant inventory not closing on entity removal
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 051c32968d5b134f6f83dd9ac7db7e608ec1a4f2..e371ffb1f88e08883a1a2460260ff368c0cfe853 100644
+index 10563d4d02d825f5334b0c2c3e0fe032ccdacb73..a770b5abc7fc66b6de9f17dde192447686e70f4a 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -2440,6 +2440,11 @@ public class ServerLevel extends Level implements WorldGenLevel {
diff --git a/patches/server/0789-Check-requirement-before-suggesting-root-nodes.patch b/patches/server/0788-Check-requirement-before-suggesting-root-nodes.patch
index da19d3f1ca..da19d3f1ca 100644
--- a/patches/server/0789-Check-requirement-before-suggesting-root-nodes.patch
+++ b/patches/server/0788-Check-requirement-before-suggesting-root-nodes.patch
diff --git a/patches/server/0790-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch b/patches/server/0789-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch
index 2dbc76dea7..2dbc76dea7 100644
--- a/patches/server/0790-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch
+++ b/patches/server/0789-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch
diff --git a/patches/server/0791-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch b/patches/server/0790-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch
index 31e987614a..31e987614a 100644
--- a/patches/server/0791-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch
+++ b/patches/server/0790-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch
diff --git a/patches/server/0792-Ensure-valid-vehicle-status.patch b/patches/server/0791-Ensure-valid-vehicle-status.patch
index b179fe45e2..80521d64a1 100644
--- a/patches/server/0792-Ensure-valid-vehicle-status.patch
+++ b/patches/server/0791-Ensure-valid-vehicle-status.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Ensure valid vehicle status
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 5270a8b1ee2cc426b8e0b5d34db4d81843fb4230..b6f9c99d580d985f2b84efaa655d9ae40073e72b 100644
+index a3274d3506b90422e4acdf6446e351b2da65b29c..d626af3879e558cdfbe95b1e70e0b32e0f4d1170 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -505,7 +505,7 @@ public class ServerPlayer extends Player {
diff --git a/patches/server/0793-Prevent-softlocked-end-exit-portal-generation.patch b/patches/server/0792-Prevent-softlocked-end-exit-portal-generation.patch
index d7ec8ee0ea..d7ec8ee0ea 100644
--- a/patches/server/0793-Prevent-softlocked-end-exit-portal-generation.patch
+++ b/patches/server/0792-Prevent-softlocked-end-exit-portal-generation.patch
diff --git a/patches/server/0794-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch b/patches/server/0793-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch
index 2ce994e362..2ce994e362 100644
--- a/patches/server/0794-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch
+++ b/patches/server/0793-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch
diff --git a/patches/server/0795-Don-t-log-debug-logging-being-disabled.patch b/patches/server/0794-Don-t-log-debug-logging-being-disabled.patch
index 52bf120706..52bf120706 100644
--- a/patches/server/0795-Don-t-log-debug-logging-being-disabled.patch
+++ b/patches/server/0794-Don-t-log-debug-logging-being-disabled.patch
diff --git a/patches/server/0796-Mark-fish-and-axolotls-from-buckets-as-persistent.patch b/patches/server/0795-Mark-fish-and-axolotls-from-buckets-as-persistent.patch
index 5a420fb241..5a420fb241 100644
--- a/patches/server/0796-Mark-fish-and-axolotls-from-buckets-as-persistent.patch
+++ b/patches/server/0795-Mark-fish-and-axolotls-from-buckets-as-persistent.patch
diff --git a/patches/server/0797-fix-various-menus-with-empty-level-accesses.patch b/patches/server/0796-fix-various-menus-with-empty-level-accesses.patch
index 3bda24b9c6..3bda24b9c6 100644
--- a/patches/server/0797-fix-various-menus-with-empty-level-accesses.patch
+++ b/patches/server/0796-fix-various-menus-with-empty-level-accesses.patch
diff --git a/patches/server/0798-Do-not-overload-I-O-threads-with-chunk-data-while-fl.patch b/patches/server/0797-Do-not-overload-I-O-threads-with-chunk-data-while-fl.patch
index e68034a318..e68034a318 100644
--- a/patches/server/0798-Do-not-overload-I-O-threads-with-chunk-data-while-fl.patch
+++ b/patches/server/0797-Do-not-overload-I-O-threads-with-chunk-data-while-fl.patch
diff --git a/patches/server/0799-Preserve-overstacked-loot.patch b/patches/server/0798-Preserve-overstacked-loot.patch
index c344524a24..c344524a24 100644
--- a/patches/server/0799-Preserve-overstacked-loot.patch
+++ b/patches/server/0798-Preserve-overstacked-loot.patch
diff --git a/patches/server/0800-Update-head-rotation-in-missing-places.patch b/patches/server/0799-Update-head-rotation-in-missing-places.patch
index c8aa34155c..c8aa34155c 100644
--- a/patches/server/0800-Update-head-rotation-in-missing-places.patch
+++ b/patches/server/0799-Update-head-rotation-in-missing-places.patch
diff --git a/patches/server/0801-prevent-unintended-light-block-manipulation.patch b/patches/server/0800-prevent-unintended-light-block-manipulation.patch
index 08bd6164f5..08bd6164f5 100644
--- a/patches/server/0801-prevent-unintended-light-block-manipulation.patch
+++ b/patches/server/0800-prevent-unintended-light-block-manipulation.patch
diff --git a/patches/server/0802-Dont-count-named-piglins-and-hoglins-towards-mob-cap.patch b/patches/server/0801-Dont-count-named-piglins-and-hoglins-towards-mob-cap.patch
index 6619ce60f3..17215f32f2 100644
--- a/patches/server/0802-Dont-count-named-piglins-and-hoglins-towards-mob-cap.patch
+++ b/patches/server/0801-Dont-count-named-piglins-and-hoglins-towards-mob-cap.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Dont count named piglins and hoglins towards mob cap
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
-index c48d0773e7f1af4bc247d777eccc8a42c7e17601..429ed5a583e0332593edd9c073ea1614c595bff0 100644
+index 49a0ceaf9a08f64f84f3925cfba3fab6bb034bae..3ce14f26abb890e0d3fbf9b02747c4614ec46b47 100644
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
@@ -83,7 +83,7 @@ public final class NaturalSpawner {
diff --git a/patches/server/0803-Fix-CraftCriteria-defaults-map.patch b/patches/server/0802-Fix-CraftCriteria-defaults-map.patch
index 11fce3ca24..11fce3ca24 100644
--- a/patches/server/0803-Fix-CraftCriteria-defaults-map.patch
+++ b/patches/server/0802-Fix-CraftCriteria-defaults-map.patch
diff --git a/patches/server/0804-Fix-upstreams-block-state-factories.patch b/patches/server/0803-Fix-upstreams-block-state-factories.patch
index 0d31f433f5..0d31f433f5 100644
--- a/patches/server/0804-Fix-upstreams-block-state-factories.patch
+++ b/patches/server/0803-Fix-upstreams-block-state-factories.patch
diff --git a/patches/server/0805-Add-config-option-for-logging-player-ip-addresses.patch b/patches/server/0804-Add-config-option-for-logging-player-ip-addresses.patch
index 39b64883ac..39b64883ac 100644
--- a/patches/server/0805-Add-config-option-for-logging-player-ip-addresses.patch
+++ b/patches/server/0804-Add-config-option-for-logging-player-ip-addresses.patch
diff --git a/patches/server/0806-Configurable-feature-seeds.patch b/patches/server/0805-Configurable-feature-seeds.patch
index 4a81ec7caf..4a81ec7caf 100644
--- a/patches/server/0806-Configurable-feature-seeds.patch
+++ b/patches/server/0805-Configurable-feature-seeds.patch
diff --git a/patches/server/0807-VanillaCommandWrapper-didnt-account-for-entity-sende.patch b/patches/server/0806-VanillaCommandWrapper-didnt-account-for-entity-sende.patch
index 6e33709dbe..6e33709dbe 100644
--- a/patches/server/0807-VanillaCommandWrapper-didnt-account-for-entity-sende.patch
+++ b/patches/server/0806-VanillaCommandWrapper-didnt-account-for-entity-sende.patch
diff --git a/patches/server/0808-Add-root-admin-user-detection.patch b/patches/server/0807-Add-root-admin-user-detection.patch
index 63ae0993b1..63ae0993b1 100644
--- a/patches/server/0808-Add-root-admin-user-detection.patch
+++ b/patches/server/0807-Add-root-admin-user-detection.patch
diff --git a/patches/server/0809-Always-allow-item-changing-in-Fireball.patch b/patches/server/0808-Always-allow-item-changing-in-Fireball.patch
index fe4cbf2ef1..fe4cbf2ef1 100644
--- a/patches/server/0809-Always-allow-item-changing-in-Fireball.patch
+++ b/patches/server/0808-Always-allow-item-changing-in-Fireball.patch
diff --git a/patches/server/0810-don-t-attempt-to-teleport-dead-entities.patch b/patches/server/0809-don-t-attempt-to-teleport-dead-entities.patch
index ffaf509f20..ffaf509f20 100644
--- a/patches/server/0810-don-t-attempt-to-teleport-dead-entities.patch
+++ b/patches/server/0809-don-t-attempt-to-teleport-dead-entities.patch
diff --git a/patches/server/0811-Call-onRemove-logic-for-breakNaturally.patch b/patches/server/0810-Call-onRemove-logic-for-breakNaturally.patch
index 8ccb77cbf1..8ccb77cbf1 100644
--- a/patches/server/0811-Call-onRemove-logic-for-breakNaturally.patch
+++ b/patches/server/0810-Call-onRemove-logic-for-breakNaturally.patch
diff --git a/patches/server/0812-Fix-anvil-prepare-event-not-working-with-zero-xp.patch b/patches/server/0811-Fix-anvil-prepare-event-not-working-with-zero-xp.patch
index 408215402f..408215402f 100644
--- a/patches/server/0812-Fix-anvil-prepare-event-not-working-with-zero-xp.patch
+++ b/patches/server/0811-Fix-anvil-prepare-event-not-working-with-zero-xp.patch
diff --git a/patches/server/0813-Prevent-excessive-velocity-through-repeated-crits.patch b/patches/server/0812-Prevent-excessive-velocity-through-repeated-crits.patch
index 794b416d60..794b416d60 100644
--- a/patches/server/0813-Prevent-excessive-velocity-through-repeated-crits.patch
+++ b/patches/server/0812-Prevent-excessive-velocity-through-repeated-crits.patch
diff --git a/patches/server/0814-Remove-client-side-code-using-deprecated-for-removal.patch b/patches/server/0813-Remove-client-side-code-using-deprecated-for-removal.patch
index 368687d252..368687d252 100644
--- a/patches/server/0814-Remove-client-side-code-using-deprecated-for-removal.patch
+++ b/patches/server/0813-Remove-client-side-code-using-deprecated-for-removal.patch
diff --git a/patches/server/0815-Rewrite-the-light-engine.patch b/patches/server/0814-Rewrite-the-light-engine.patch
index 4e4ff82174..4e4ff82174 100644
--- a/patches/server/0815-Rewrite-the-light-engine.patch
+++ b/patches/server/0814-Rewrite-the-light-engine.patch
diff --git a/patches/server/0816-Always-parse-protochunk-light-sources-unless-it-is-m.patch b/patches/server/0815-Always-parse-protochunk-light-sources-unless-it-is-m.patch
index cd0dd1b77a..96c4a80599 100644
--- a/patches/server/0816-Always-parse-protochunk-light-sources-unless-it-is-m.patch
+++ b/patches/server/0815-Always-parse-protochunk-light-sources-unless-it-is-m.patch
@@ -8,7 +8,7 @@ Chunks not marked as lit will always go through the light engine,
so they should always have their block sources parsed.
diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java b/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java
-index e54376b463b017d5e371f8d3204a37993b0e78e7..9b7bc1c9091d20671d281fa304722ac45fbf6e2e 100644
+index 2ade441dc4456d1670a81a3f58d4aa54d2888c19..300c95a3839954b9e631aa4d76c131a5c2d96394 100644
--- a/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java
+++ b/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java
@@ -304,16 +304,33 @@ public class ChunkSerializer {
diff --git a/patches/server/0817-Fix-removing-recipes.patch b/patches/server/0816-Fix-removing-recipes.patch
index d7712c6588..d7712c6588 100644
--- a/patches/server/0817-Fix-removing-recipes.patch
+++ b/patches/server/0816-Fix-removing-recipes.patch
diff --git a/patches/server/0818-Prevent-sending-oversized-item-data-in-equipment-and.patch b/patches/server/0817-Prevent-sending-oversized-item-data-in-equipment-and.patch
index ce6b90d603..ce6b90d603 100644
--- a/patches/server/0818-Prevent-sending-oversized-item-data-in-equipment-and.patch
+++ b/patches/server/0817-Prevent-sending-oversized-item-data-in-equipment-and.patch
diff --git a/patches/server/0819-Hide-unnecessary-itemmeta-from-clients.patch b/patches/server/0818-Hide-unnecessary-itemmeta-from-clients.patch
index e0d22d41e6..e0d22d41e6 100644
--- a/patches/server/0819-Hide-unnecessary-itemmeta-from-clients.patch
+++ b/patches/server/0818-Hide-unnecessary-itemmeta-from-clients.patch
diff --git a/patches/server/0820-Fix-kelp-modifier-changing-growth-for-other-crops.patch b/patches/server/0819-Fix-kelp-modifier-changing-growth-for-other-crops.patch
index 3342b664b5..3342b664b5 100644
--- a/patches/server/0820-Fix-kelp-modifier-changing-growth-for-other-crops.patch
+++ b/patches/server/0819-Fix-kelp-modifier-changing-growth-for-other-crops.patch
diff --git a/patches/server/0821-Prevent-ContainerOpenersCounter-openCount-from-going.patch b/patches/server/0820-Prevent-ContainerOpenersCounter-openCount-from-going.patch
index 0e41fd2743..0e41fd2743 100644
--- a/patches/server/0821-Prevent-ContainerOpenersCounter-openCount-from-going.patch
+++ b/patches/server/0820-Prevent-ContainerOpenersCounter-openCount-from-going.patch
diff --git a/patches/server/0822-Add-PlayerItemFrameChangeEvent.patch b/patches/server/0821-Add-PlayerItemFrameChangeEvent.patch
index 8e8fbb1fb8..8e8fbb1fb8 100644
--- a/patches/server/0822-Add-PlayerItemFrameChangeEvent.patch
+++ b/patches/server/0821-Add-PlayerItemFrameChangeEvent.patch
diff --git a/patches/server/0823-Add-player-health-update-API.patch b/patches/server/0822-Add-player-health-update-API.patch
index 12eb8fbfb7..12eb8fbfb7 100644
--- a/patches/server/0823-Add-player-health-update-API.patch
+++ b/patches/server/0822-Add-player-health-update-API.patch
diff --git a/patches/server/0824-Optimize-HashMapPalette.patch b/patches/server/0823-Optimize-HashMapPalette.patch
index 63c4c69921..63c4c69921 100644
--- a/patches/server/0824-Optimize-HashMapPalette.patch
+++ b/patches/server/0823-Optimize-HashMapPalette.patch
diff --git a/patches/server/0825-Allow-delegation-to-vanilla-chunk-gen.patch b/patches/server/0824-Allow-delegation-to-vanilla-chunk-gen.patch
index b3d9977a49..b3d9977a49 100644
--- a/patches/server/0825-Allow-delegation-to-vanilla-chunk-gen.patch
+++ b/patches/server/0824-Allow-delegation-to-vanilla-chunk-gen.patch
diff --git a/patches/server/0826-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch b/patches/server/0825-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch
index 45cf414717..35b70c0c0d 100644
--- a/patches/server/0826-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch
+++ b/patches/server/0825-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch
@@ -1125,7 +1125,7 @@ index 516015eb48900abaf0e2f47de4ffd10e9cf4d9a7..821c34a48127802947e293c4599e0cda
}
diff --git a/src/main/java/net/minecraft/world/level/BlockCollisions.java b/src/main/java/net/minecraft/world/level/BlockCollisions.java
-index d40bbc5ae6b87028a6dde400ea714249792da79a..ca84778200050e0ef7dfeabcaa2e346a6e9cbe12 100644
+index a733c91700a38634806e9155c693b227e6aa16b6..120e1778f2bdd64ca19ee21dc5c5f2f382895470 100644
--- a/src/main/java/net/minecraft/world/level/BlockCollisions.java
+++ b/src/main/java/net/minecraft/world/level/BlockCollisions.java
@@ -106,7 +106,7 @@ public class BlockCollisions extends AbstractIterator<VoxelShape> {
diff --git a/patches/server/0827-Optimise-collision-checking-in-player-move-packet-ha.patch b/patches/server/0826-Optimise-collision-checking-in-player-move-packet-ha.patch
index fdd4f47039..fdd4f47039 100644
--- a/patches/server/0827-Optimise-collision-checking-in-player-move-packet-ha.patch
+++ b/patches/server/0826-Optimise-collision-checking-in-player-move-packet-ha.patch
diff --git a/patches/server/0828-Actually-unload-POI-data.patch b/patches/server/0827-Actually-unload-POI-data.patch
index 9f3cbf8327..9f3cbf8327 100644
--- a/patches/server/0828-Actually-unload-POI-data.patch
+++ b/patches/server/0827-Actually-unload-POI-data.patch
diff --git a/patches/server/0829-Fix-ChunkSnapshot-isSectionEmpty-int.patch b/patches/server/0828-Fix-ChunkSnapshot-isSectionEmpty-int.patch
index 8b84bbcaa0..8b84bbcaa0 100644
--- a/patches/server/0829-Fix-ChunkSnapshot-isSectionEmpty-int.patch
+++ b/patches/server/0828-Fix-ChunkSnapshot-isSectionEmpty-int.patch
diff --git a/patches/server/0831-Don-t-disable-log4j-lookups.patch b/patches/server/0829-Don-t-disable-log4j-lookups.patch
index 3c5c31f118..3c5c31f118 100644
--- a/patches/server/0831-Don-t-disable-log4j-lookups.patch
+++ b/patches/server/0829-Don-t-disable-log4j-lookups.patch
diff --git a/patches/server/0830-Backport-log4j-2.15.0-bugfix.patch b/patches/server/0830-Backport-log4j-2.15.0-bugfix.patch
deleted file mode 100644
index a778541870..0000000000
--- a/patches/server/0830-Backport-log4j-2.15.0-bugfix.patch
+++ /dev/null
@@ -1,385 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Ralph Goers <[email protected]>
-Date: Sat, 4 Dec 2021 21:03:32 -0700
-Subject: [PATCH] Backport log4j 2.15.0 bugfix
-
-
-diff --git a/src/main/java/org/apache/logging/log4j/core/appender/mom/JmsAppender.java b/src/main/java/org/apache/logging/log4j/core/appender/mom/JmsAppender.java
-index ddac6663a164ce362773cab3257e867a418a17a0..2c6f065299431099e0066d9ad74421ecac1daa44 100644
---- a/src/main/java/org/apache/logging/log4j/core/appender/mom/JmsAppender.java
-+++ b/src/main/java/org/apache/logging/log4j/core/appender/mom/JmsAppender.java
-@@ -21,8 +21,6 @@ import java.io.Serializable;
- import java.util.Properties;
- import java.util.concurrent.TimeUnit;
-
--import javax.jms.JMSException;
--
- import org.apache.logging.log4j.core.Appender;
- import org.apache.logging.log4j.core.Filter;
- import org.apache.logging.log4j.core.Layout;
-@@ -88,6 +86,15 @@ public class JmsAppender extends AbstractAppender {
- @PluginBuilderAttribute
- private boolean immediateFail;
-
-+ @PluginBuilderAttribute
-+ private String allowedLdapClasses;
-+
-+ @PluginBuilderAttribute
-+ private String allowedLdapHosts;
-+
-+ @PluginBuilderAttribute
-+ private String allowedJndiProtocols;
-+
- // Programmatic access only for now.
- private JmsManager jmsManager;
-
-@@ -100,8 +107,21 @@ public class JmsAppender extends AbstractAppender {
- JmsManager actualJmsManager = jmsManager;
- JmsManagerConfiguration configuration = null;
- if (actualJmsManager == null) {
-+ Properties additionalProperties = null;
-+ if (allowedLdapClasses != null || allowedLdapHosts != null) {
-+ additionalProperties = new Properties();
-+ if (allowedLdapHosts != null) {
-+ additionalProperties.put(JndiManager.ALLOWED_HOSTS, allowedLdapHosts);
-+ }
-+ if (allowedLdapClasses != null) {
-+ additionalProperties.put(JndiManager.ALLOWED_CLASSES, allowedLdapClasses);
-+ }
-+ if (allowedJndiProtocols != null) {
-+ additionalProperties.put(JndiManager.ALLOWED_PROTOCOLS, allowedJndiProtocols);
-+ }
-+ }
- final Properties jndiProperties = JndiManager.createProperties(factoryName, providerUrl, urlPkgPrefixes,
-- securityPrincipalName, securityCredentials, null);
-+ securityPrincipalName, securityCredentials, additionalProperties);
- configuration = new JmsManagerConfiguration(jndiProperties, factoryBindingName, destinationBindingName,
- userName, password, false, reconnectIntervalMillis);
- actualJmsManager = AbstractManager.getManager(getName(), JmsManager.FACTORY, configuration);
-@@ -115,13 +135,13 @@ public class JmsAppender extends AbstractAppender {
- LOGGER.error("No layout provided for JmsAppender");
- return null;
- }
-- try {
-+ //try {
- return new JmsAppender(getName(), getFilter(), layout, isIgnoreExceptions(), getPropertyArray(),
- actualJmsManager);
-- } catch (final JMSException e) {
-+ /*} catch (final JMSException e) {
- // Never happens since the ctor no longer actually throws a JMSException.
- throw new IllegalStateException(e);
-- }
-+ }*/
- }
-
- public Builder setDestinationBindingName(final String destinationBindingName) {
-@@ -202,6 +222,21 @@ public class JmsAppender extends AbstractAppender {
- return this;
- }
-
-+ public Builder setAllowedLdapClasses(final String allowedLdapClasses) {
-+ this.allowedLdapClasses = allowedLdapClasses;
-+ return this;
-+ }
-+
-+ public Builder setAllowedLdapHosts(final String allowedLdapHosts) {
-+ this.allowedLdapHosts = allowedLdapHosts;
-+ return this;
-+ }
-+
-+ public Builder setAllowedJndiProtocols(final String allowedJndiProtocols) {
-+ this.allowedJndiProtocols = allowedJndiProtocols;
-+ return this;
-+ }
-+
- /**
- * Does not include the password.
- */
-@@ -212,7 +247,8 @@ public class JmsAppender extends AbstractAppender {
- + ", securityCredentials=" + securityCredentials + ", factoryBindingName=" + factoryBindingName
- + ", destinationBindingName=" + destinationBindingName + ", username=" + userName + ", layout="
- + getLayout() + ", filter=" + getFilter() + ", ignoreExceptions=" + isIgnoreExceptions()
-- + ", jmsManager=" + jmsManager + "]";
-+ + ", jmsManager=" + jmsManager + ", allowedLdapClasses=" + allowedLdapClasses
-+ + ", allowedLdapHosts=" + allowedLdapHosts + ", allowedJndiProtocols=" + allowedJndiProtocols + "]";
- }
-
- }
-@@ -224,24 +260,15 @@ public class JmsAppender extends AbstractAppender {
-
- private volatile JmsManager manager;
-
-- /**
-- *
-- * @throws JMSException not thrown as of 2.9 but retained in the signature for compatibility, will be removed in 3.0
-- */
- protected JmsAppender(final String name, final Filter filter, final Layout<? extends Serializable> layout,
-- final boolean ignoreExceptions, final Property[] properties, final JmsManager manager) throws JMSException {
-+ final boolean ignoreExceptions, final Property[] properties, final JmsManager manager) /*throws JMSException*/ {
- super(name, filter, layout, ignoreExceptions, properties);
- this.manager = manager;
- }
-
-- /**
-- *
-- * @throws JMSException not thrown as of 2.9 but retained in the signature for compatibility, will be removed in 3.0
-- * @deprecated
-- */
- @Deprecated
- protected JmsAppender(final String name, final Filter filter, final Layout<? extends Serializable> layout,
-- final boolean ignoreExceptions, final JmsManager manager) throws JMSException {
-+ final boolean ignoreExceptions, final JmsManager manager) /*throws JMSException*/ {
- super(name, filter, layout, ignoreExceptions, Property.EMPTY_ARRAY);
- this.manager = manager;
- }
-diff --git a/src/main/java/org/apache/logging/log4j/core/net/JndiManager.java b/src/main/java/org/apache/logging/log4j/core/net/JndiManager.java
-index 267085788482dbc8f8252b8a4fc42259d3de45e4..b9da6aea2f0b114fb53f20a1ad767398d8bdc38c 100644
---- a/src/main/java/org/apache/logging/log4j/core/net/JndiManager.java
-+++ b/src/main/java/org/apache/logging/log4j/core/net/JndiManager.java
-@@ -17,31 +17,69 @@
-
- package org.apache.logging.log4j.core.net;
-
-+import java.net.URI;
-+import java.net.URISyntaxException;
-+import java.util.ArrayList;
-+import java.util.Arrays;
-+import java.util.HashMap;
-+import java.util.List;
-+import java.util.Locale;
-+import java.util.Map;
- import java.util.Properties;
- import java.util.concurrent.TimeUnit;
-
- import javax.naming.Context;
--import javax.naming.InitialContext;
-+import javax.naming.NamingEnumeration;
- import javax.naming.NamingException;
-+import javax.naming.directory.Attribute;
-+import javax.naming.directory.Attributes;
-+import javax.naming.directory.DirContext;
-+import javax.naming.directory.InitialDirContext;
-
- import org.apache.logging.log4j.core.appender.AbstractManager;
- import org.apache.logging.log4j.core.appender.ManagerFactory;
- import org.apache.logging.log4j.core.util.JndiCloser;
-+import org.apache.logging.log4j.core.util.NetUtils;
-+import org.apache.logging.log4j.util.PropertiesUtil;
-
- /**
-- * Manages a JNDI {@link javax.naming.Context}.
-+ * Manages a JNDI {@link javax.naming.directory.DirContext}.
- *
- * @since 2.1
- */
- public class JndiManager extends AbstractManager {
-
-+ public static final String ALLOWED_HOSTS = "allowedLdapHosts";
-+ public static final String ALLOWED_CLASSES = "allowedLdapClasses";
-+ public static final String ALLOWED_PROTOCOLS = "allowedJndiProtocols";
-+
- private static final JndiManagerFactory FACTORY = new JndiManagerFactory();
-+ private static final String PREFIX = "log4j2.";
-+ private static final String LDAP = "ldap";
-+ private static final String LDAPS = "ldaps";
-+ private static final String JAVA = "java";
-+ private static final List<String> permanentAllowedHosts = NetUtils.getLocalIps();
-+ private static final List<String> permanentAllowedClasses = Arrays.asList(Boolean.class.getName(),
-+ Byte.class.getName(), Character.class.getName(), Double.class.getName(), Float.class.getName(),
-+ Integer.class.getName(), Long.class.getName(), Short.class.getName(), String.class.getName());
-+ private static final List<String> permanentAllowedProtocols = Arrays.asList(JAVA, LDAP, LDAPS);
-+ private static final String SERIALIZED_DATA = "javaSerializedData";
-+ private static final String CLASS_NAME = "javaClassName";
-+ private static final String REFERENCE_ADDRESS = "javaReferenceAddress";
-+ private static final String OBJECT_FACTORY = "javaFactory";
-+ private final List<String> allowedHosts;
-+ private final List<String> allowedClasses;
-+ private final List<String> allowedProtocols;
-
-- private final Context context;
-+ private final DirContext context;
-
-- private JndiManager(final String name, final Context context) {
-+ private JndiManager(final String name, final DirContext context, final List<String> allowedHosts,
-+ final List<String> allowedClasses, final List<String> allowedProtocols) {
- super(null, name);
- this.context = context;
-+ this.allowedHosts = allowedHosts;
-+ this.allowedClasses = allowedClasses;
-+ this.allowedProtocols = allowedProtocols;
- }
-
- /**
-@@ -168,7 +206,55 @@ public class JndiManager extends AbstractManager {
- * @throws NamingException if a naming exception is encountered
- */
- @SuppressWarnings("unchecked")
-- public <T> T lookup(final String name) throws NamingException {
-+ public synchronized <T> T lookup(final String name) throws NamingException {
-+ try {
-+ URI uri = new URI(name);
-+ if (uri.getScheme() != null) {
-+ if (!allowedProtocols.contains(uri.getScheme().toLowerCase(Locale.ROOT))) {
-+ LOGGER.warn("Log4j JNDI does not allow protocol {}", uri.getScheme());
-+ return null;
-+ }
-+ if (LDAP.equalsIgnoreCase(uri.getScheme()) || LDAPS.equalsIgnoreCase(uri.getScheme())) {
-+ if (!allowedHosts.contains(uri.getHost())) {
-+ LOGGER.warn("Attempt to access ldap server not in allowed list");
-+ return null;
-+ }
-+ Attributes attributes = this.context.getAttributes(name);
-+ if (attributes != null) {
-+ // In testing the "key" for attributes seems to be lowercase while the attribute id is
-+ // camelcase, but that may just be true for the test LDAP used here. This copies the Attributes
-+ // to a Map ignoring the "key" and using the Attribute's id as the key in the Map so it matches
-+ // the Java schema.
-+ Map<String, Attribute> attributeMap = new HashMap<>();
-+ NamingEnumeration<? extends Attribute> enumeration = attributes.getAll();
-+ while (enumeration.hasMore()) {
-+ Attribute attribute = enumeration.next();
-+ attributeMap.put(attribute.getID(), attribute);
-+ }
-+ Attribute classNameAttr = attributeMap.get(CLASS_NAME);
-+ if (attributeMap.get(SERIALIZED_DATA) != null) {
-+ if (classNameAttr != null) {
-+ String className = classNameAttr.get().toString();
-+ if (!allowedClasses.contains(className)) {
-+ LOGGER.warn("Deserialization of {} is not allowed", className);
-+ return null;
-+ }
-+ } else {
-+ LOGGER.warn("No class name provided for {}", name);
-+ return null;
-+ }
-+ } else if (attributeMap.get(REFERENCE_ADDRESS) != null
-+ || attributeMap.get(OBJECT_FACTORY) != null) {
-+ LOGGER.warn("Referenceable class is not allowed for {}", name);
-+ return null;
-+ }
-+ }
-+ }
-+ }
-+ } catch (URISyntaxException ex) {
-+ LOGGER.warn("Invalid JNDI URI - {}", name);
-+ return null;
-+ }
- return (T) this.context.lookup(name);
- }
-
-@@ -176,13 +262,36 @@ public class JndiManager extends AbstractManager {
-
- @Override
- public JndiManager createManager(final String name, final Properties data) {
-+ String hosts = data != null ? data.getProperty(ALLOWED_HOSTS) : null;
-+ String classes = data != null ? data.getProperty(ALLOWED_CLASSES) : null;
-+ String protocols = data != null ? data.getProperty(ALLOWED_PROTOCOLS) : null;
-+ List<String> allowedHosts = new ArrayList<>();
-+ List<String> allowedClasses = new ArrayList<>();
-+ List<String> allowedProtocols = new ArrayList<>();
-+ addAll(hosts, allowedHosts, permanentAllowedHosts, ALLOWED_HOSTS, data);
-+ addAll(classes, allowedClasses, permanentAllowedClasses, ALLOWED_CLASSES, data);
-+ addAll(protocols, allowedProtocols, permanentAllowedProtocols, ALLOWED_PROTOCOLS, data);
- try {
-- return new JndiManager(name, new InitialContext(data));
-+ return new JndiManager(name, new InitialDirContext(data), allowedHosts, allowedClasses,
-+ allowedProtocols);
- } catch (final NamingException e) {
- LOGGER.error("Error creating JNDI InitialContext.", e);
- return null;
- }
- }
-+
-+ private void addAll(String toSplit, List<String> list, List<String> permanentList, String propertyName,
-+ Properties data) {
-+ if (toSplit != null) {
-+ list.addAll(Arrays.asList(toSplit.split("\\s*,\\s*")));
-+ data.remove(propertyName);
-+ }
-+ toSplit = PropertiesUtil.getProperties().getStringProperty(PREFIX + propertyName);
-+ if (toSplit != null) {
-+ list.addAll(Arrays.asList(toSplit.split("\\s*,\\s*")));
-+ }
-+ list.addAll(permanentList);
-+ }
- }
-
- @Override
-diff --git a/src/main/java/org/apache/logging/log4j/core/util/NetUtils.java b/src/main/java/org/apache/logging/log4j/core/util/NetUtils.java
-index 8a8353e7f907a009cba6664652ab69f25d12201c..661f74f90b1a731f5be76eca6b61b6cec33e2439 100644
---- a/src/main/java/org/apache/logging/log4j/core/util/NetUtils.java
-+++ b/src/main/java/org/apache/logging/log4j/core/util/NetUtils.java
-@@ -17,6 +17,8 @@
- package org.apache.logging.log4j.core.util;
-
- import java.io.File;
-+import java.net.Inet4Address;
-+import java.net.Inet6Address;
- import java.net.InetAddress;
- import java.net.MalformedURLException;
- import java.net.NetworkInterface;
-@@ -25,11 +27,14 @@ import java.net.URI;
- import java.net.URISyntaxException;
- import java.net.URL;
- import java.net.UnknownHostException;
-+import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.Enumeration;
-+import java.util.List;
-
- import org.apache.logging.log4j.Logger;
- import org.apache.logging.log4j.status.StatusLogger;
-+import org.apache.logging.log4j.util.Strings;
-
- /**
- * Networking-related convenience methods.
-@@ -79,6 +84,49 @@ public final class NetUtils {
- }
- }
-
-+ /**
-+ * Returns all the local host names and ip addresses.
-+ * @return The local host names and ip addresses.
-+ */
-+ public static List<String> getLocalIps() {
-+ List<String> localIps = new ArrayList<>();
-+ localIps.add("localhost");
-+ localIps.add("127.0.0.1");
-+ try {
-+ final InetAddress addr = Inet4Address.getLocalHost();
-+ setHostName(addr, localIps);
-+ } catch (final UnknownHostException ex) {
-+ // Ignore this.
-+ }
-+ try {
-+ final Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();
-+ if (interfaces != null) {
-+ while (interfaces.hasMoreElements()) {
-+ final NetworkInterface nic = interfaces.nextElement();
-+ final Enumeration<InetAddress> addresses = nic.getInetAddresses();
-+ while (addresses.hasMoreElements()) {
-+ final InetAddress address = addresses.nextElement();
-+ setHostName(address, localIps);
-+ }
-+ }
-+ }
-+ } catch (final SocketException se) {
-+ // ignore.
-+ }
-+ return localIps;
-+ }
-+
-+ private static void setHostName(InetAddress address, List<String> localIps) {
-+ String[] parts = address.toString().split("\\s*/\\s*");
-+ if (parts.length > 0) {
-+ for (String part : parts) {
-+ if (Strings.isNotBlank(part) && !localIps.contains(part)) {
-+ localIps.add(part);
-+ }
-+ }
-+ }
-+ }
-+
- /**
- * Returns the local network interface's MAC address if possible. The local network interface is defined here as
- * the {@link java.net.NetworkInterface} that is both up and not a loopback interface.
diff --git a/patches/server/0830-Update-Log4j.patch b/patches/server/0830-Update-Log4j.patch
new file mode 100644
index 0000000000..d90be23fef
--- /dev/null
+++ b/patches/server/0830-Update-Log4j.patch
@@ -0,0 +1,25 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: darbyjack <[email protected]>
+Date: Thu, 9 Dec 2021 19:17:02 -0600
+Subject: [PATCH] Update Log4j
+
+
+diff --git a/build.gradle.kts b/build.gradle.kts
+index 5678a9f8d2aa8a7afbc5729570ec297b12acf75d..ed05c831fcf8dfb8669ce57248b469fa9c9edef5 100644
+--- a/build.gradle.kts
++++ b/build.gradle.kts
+@@ -29,10 +29,11 @@ dependencies {
+ all its classes to check if they are plugins.
+ Scanning takes about 1-2 seconds so adding this speeds up the server start.
+ */
+- implementation("org.apache.logging.log4j:log4j-core:2.14.1") // Paper - implementation
+- annotationProcessor("org.apache.logging.log4j:log4j-core:2.14.1") // Paper - Needed to generate meta for our Log4j plugins
++ implementation("org.apache.logging.log4j:log4j-core:2.15.0") // Paper - implementation
++ annotationProcessor("org.apache.logging.log4j:log4j-core:2.15.0") // Paper - Needed to generate meta for our Log4j plugins
+ // Paper end
+- implementation("org.apache.logging.log4j:log4j-iostreams:2.14.1") // Paper
++ implementation("org.apache.logging.log4j:log4j-iostreams:2.15.0") // Paper
++ implementation("org.apache.logging.log4j:log4j-slf4j18-impl:2.15.0") // Paper
+ implementation("org.ow2.asm:asm:9.2")
+ implementation("org.ow2.asm:asm-commons:9.2") // Paper - ASM event executor generation
+ runtimeOnly("org.xerial:sqlite-jdbc:3.36.0.3")