diff options
author | Glare <[email protected]> | 2021-12-09 22:26:24 -0600 |
---|---|---|
committer | GitHub <[email protected]> | 2021-12-10 04:26:24 +0000 |
commit | d4318a6ebca2a3f2859ca0ef1b274192633c7d5e (patch) | |
tree | bc80c926ba449e09e80d2bd900c26116f720d616 | |
parent | 244b392f390afa7a4880e2207c7358fe195bd431 (diff) | |
download | Paper-d4318a6ebca2a3f2859ca0ef1b274192633c7d5e.tar.gz Paper-d4318a6ebca2a3f2859ca0ef1b274192633c7d5e.zip |
Update Log4J (#7072)
-rw-r--r-- | patches/server/0740-Respect-despawn-rate-in-item-merge-check.patch (renamed from patches/server/0741-Respect-despawn-rate-in-item-merge-check.patch) | 0 | ||||
-rw-r--r-- | patches/server/0740-Set-AsyncAppender-dispatch-thread-to-be-a-daemon-thr.patch | 19 | ||||
-rw-r--r-- | patches/server/0741-Move-BlockPistonRetractEvent-to-fix-duplication.patch (renamed from patches/server/0742-Move-BlockPistonRetractEvent-to-fix-duplication.patch) | 0 | ||||
-rw-r--r-- | patches/server/0742-Change-EnderEye-target-without-changing-other-things.patch (renamed from patches/server/0743-Change-EnderEye-target-without-changing-other-things.patch) | 0 | ||||
-rw-r--r-- | patches/server/0743-Add-BlockBreakBlockEvent.patch (renamed from patches/server/0744-Add-BlockBreakBlockEvent.patch) | 0 | ||||
-rw-r--r-- | patches/server/0744-Vanilla-command-permission-fixes.patch (renamed from patches/server/0745-Vanilla-command-permission-fixes.patch) | 2 | ||||
-rw-r--r-- | patches/server/0745-Make-CallbackExecutor-strict-again.patch (renamed from patches/server/0746-Make-CallbackExecutor-strict-again.patch) | 2 | ||||
-rw-r--r-- | patches/server/0746-Prevent-unload-calls-removing-tickets-for-sync-loads.patch (renamed from patches/server/0747-Prevent-unload-calls-removing-tickets-for-sync-loads.patch) | 0 | ||||
-rw-r--r-- | patches/server/0747-Do-not-allow-ticket-level-changes-while-unloading-pl.patch (renamed from patches/server/0748-Do-not-allow-ticket-level-changes-while-unloading-pl.patch) | 0 | ||||
-rw-r--r-- | patches/server/0748-Do-not-allow-the-server-to-unload-chunks-at-request-.patch (renamed from patches/server/0749-Do-not-allow-the-server-to-unload-chunks-at-request-.patch) | 0 | ||||
-rw-r--r-- | patches/server/0749-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch (renamed from patches/server/0750-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch) | 4 | ||||
-rw-r--r-- | patches/server/0750-Correctly-handle-recursion-for-chunkholder-updates.patch (renamed from patches/server/0751-Correctly-handle-recursion-for-chunkholder-updates.patch) | 2 | ||||
-rw-r--r-- | patches/server/0751-Separate-lookup-locking-from-state-access-in-UserCac.patch (renamed from patches/server/0752-Separate-lookup-locking-from-state-access-in-UserCac.patch) | 0 | ||||
-rw-r--r-- | patches/server/0752-Fix-chunks-refusing-to-unload-at-low-TPS.patch (renamed from patches/server/0753-Fix-chunks-refusing-to-unload-at-low-TPS.patch) | 2 | ||||
-rw-r--r-- | patches/server/0753-Do-not-allow-ticket-level-changes-when-updating-chun.patch (renamed from patches/server/0754-Do-not-allow-ticket-level-changes-when-updating-chun.patch) | 2 | ||||
-rw-r--r-- | patches/server/0754-Do-not-submit-profile-lookups-to-worldgen-threads.patch (renamed from patches/server/0755-Do-not-submit-profile-lookups-to-worldgen-threads.patch) | 0 | ||||
-rw-r--r-- | patches/server/0755-Log-when-the-async-catcher-is-tripped.patch (renamed from patches/server/0756-Log-when-the-async-catcher-is-tripped.patch) | 0 | ||||
-rw-r--r-- | patches/server/0756-Sanitize-ResourceLocation-error-logging.patch (renamed from patches/server/0757-Sanitize-ResourceLocation-error-logging.patch) | 0 | ||||
-rw-r--r-- | patches/server/0757-Fix-and-optimize-legacy-world-conversion.patch (renamed from patches/server/0758-Fix-and-optimize-legacy-world-conversion.patch) | 2 | ||||
-rw-r--r-- | patches/server/0758-Optimise-general-POI-access.patch (renamed from patches/server/0759-Optimise-general-POI-access.patch) | 0 | ||||
-rw-r--r-- | patches/server/0759-Allow-controlled-flushing-for-network-manager.patch (renamed from patches/server/0760-Allow-controlled-flushing-for-network-manager.patch) | 0 | ||||
-rw-r--r-- | patches/server/0760-Add-more-async-catchers.patch (renamed from patches/server/0761-Add-more-async-catchers.patch) | 0 | ||||
-rw-r--r-- | patches/server/0761-Rewrite-the-light-engine.patch (renamed from patches/server/0762-Rewrite-the-light-engine.patch) | 6 | ||||
-rw-r--r-- | patches/server/0762-Rewrite-entity-bounding-box-lookup-calls.patch (renamed from patches/server/0763-Rewrite-entity-bounding-box-lookup-calls.patch) | 0 | ||||
-rw-r--r-- | patches/server/0763-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch (renamed from patches/server/0764-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch) | 6 | ||||
-rw-r--r-- | patches/server/0764-Optimise-chunk-tick-iteration.patch (renamed from patches/server/0765-Optimise-chunk-tick-iteration.patch) | 0 | ||||
-rw-r--r-- | patches/server/0765-Execute-chunk-tasks-mid-tick.patch (renamed from patches/server/0766-Execute-chunk-tasks-mid-tick.patch) | 0 | ||||
-rw-r--r-- | patches/server/0766-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch (renamed from patches/server/0767-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch) | 0 | ||||
-rw-r--r-- | patches/server/0767-Do-not-copy-visible-chunks.patch (renamed from patches/server/0768-Do-not-copy-visible-chunks.patch) | 4 | ||||
-rw-r--r-- | patches/server/0768-Replace-player-chunk-loader-system.patch (renamed from patches/server/0769-Replace-player-chunk-loader-system.patch) | 0 | ||||
-rw-r--r-- | patches/server/0769-Replace-ticket-level-propagator.patch (renamed from patches/server/0770-Replace-ticket-level-propagator.patch) | 0 | ||||
-rw-r--r-- | patches/server/0770-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch (renamed from patches/server/0771-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch) | 0 | ||||
-rw-r--r-- | patches/server/0771-Custom-table-implementation-for-blockstate-state-loo.patch (renamed from patches/server/0772-Custom-table-implementation-for-blockstate-state-loo.patch) | 0 | ||||
-rw-r--r-- | patches/server/0772-Detail-more-information-in-watchdog-dumps.patch (renamed from patches/server/0773-Detail-more-information-in-watchdog-dumps.patch) | 6 | ||||
-rw-r--r-- | patches/server/0773-Optimise-collision-checking-in-player-move-packet-ha.patch (renamed from patches/server/0774-Optimise-collision-checking-in-player-move-packet-ha.patch) | 2 | ||||
-rw-r--r-- | patches/server/0774-Manually-inline-methods-in-BlockPosition.patch (renamed from patches/server/0775-Manually-inline-methods-in-BlockPosition.patch) | 0 | ||||
-rw-r--r-- | patches/server/0775-Distance-manager-tick-timings.patch (renamed from patches/server/0776-Distance-manager-tick-timings.patch) | 0 | ||||
-rw-r--r-- | patches/server/0776-Name-craft-scheduler-threads-according-to-the-plugin.patch (renamed from patches/server/0777-Name-craft-scheduler-threads-according-to-the-plugin.patch) | 0 | ||||
-rw-r--r-- | patches/server/0777-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch (renamed from patches/server/0778-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch) | 0 | ||||
-rw-r--r-- | patches/server/0778-Add-packet-limiter-config.patch (renamed from patches/server/0779-Add-packet-limiter-config.patch) | 2 | ||||
-rw-r--r-- | patches/server/0779-Lag-compensate-block-breaking.patch (renamed from patches/server/0780-Lag-compensate-block-breaking.patch) | 0 | ||||
-rw-r--r-- | patches/server/0780-Use-hash-table-for-maintaing-changed-block-set.patch (renamed from patches/server/0781-Use-hash-table-for-maintaing-changed-block-set.patch) | 2 | ||||
-rw-r--r-- | patches/server/0781-Consolidate-flush-calls-for-entity-tracker-packets.patch (renamed from patches/server/0782-Consolidate-flush-calls-for-entity-tracker-packets.patch) | 0 | ||||
-rw-r--r-- | patches/server/0782-Don-t-lookup-fluid-state-when-raytracing.patch (renamed from patches/server/0783-Don-t-lookup-fluid-state-when-raytracing.patch) | 0 | ||||
-rw-r--r-- | patches/server/0783-Time-scoreboard-search.patch (renamed from patches/server/0784-Time-scoreboard-search.patch) | 0 | ||||
-rw-r--r-- | patches/server/0784-Send-full-pos-packets-for-hard-colliding-entities.patch (renamed from patches/server/0785-Send-full-pos-packets-for-hard-colliding-entities.patch) | 2 | ||||
-rw-r--r-- | patches/server/0785-Do-not-run-raytrace-logic-for-AIR.patch (renamed from patches/server/0786-Do-not-run-raytrace-logic-for-AIR.patch) | 0 | ||||
-rw-r--r-- | patches/server/0786-Oprimise-map-impl-for-tracked-players.patch (renamed from patches/server/0787-Oprimise-map-impl-for-tracked-players.patch) | 2 | ||||
-rw-r--r-- | patches/server/0787-Optimise-BlockSoil-nearby-water-lookup.patch (renamed from patches/server/0788-Optimise-BlockSoil-nearby-water-lookup.patch) | 0 | ||||
-rw-r--r-- | patches/server/0788-Allow-removal-addition-of-entities-to-entity-ticklis.patch (renamed from patches/server/0789-Allow-removal-addition-of-entities-to-entity-ticklis.patch) | 0 | ||||
-rw-r--r-- | patches/server/0789-Optimise-random-block-ticking.patch (renamed from patches/server/0790-Optimise-random-block-ticking.patch) | 0 | ||||
-rw-r--r-- | patches/server/0790-Optimise-non-flush-packet-sending.patch (renamed from patches/server/0791-Optimise-non-flush-packet-sending.patch) | 2 | ||||
-rw-r--r-- | patches/server/0791-Optimise-nearby-player-lookups.patch (renamed from patches/server/0792-Optimise-nearby-player-lookups.patch) | 8 | ||||
-rw-r--r-- | patches/server/0792-Fix-Codec-log-spam.patch (renamed from patches/server/0793-Fix-Codec-log-spam.patch) | 2 | ||||
-rw-r--r-- | patches/server/0793-Optimise-WorldServer-notify.patch (renamed from patches/server/0794-Optimise-WorldServer-notify.patch) | 2 | ||||
-rw-r--r-- | patches/server/0794-Remove-streams-for-villager-AI.patch (renamed from patches/server/0795-Remove-streams-for-villager-AI.patch) | 0 | ||||
-rw-r--r-- | patches/server/0795-Rewrite-dataconverter-system.patch (renamed from patches/server/0796-Rewrite-dataconverter-system.patch) | 2 | ||||
-rw-r--r-- | patches/server/0796-Use-Velocity-compression-and-cipher-natives.patch (renamed from patches/server/0797-Use-Velocity-compression-and-cipher-natives.patch) | 4 | ||||
-rw-r--r-- | patches/server/0797-Always-parse-protochunk-light-sources-unless-it-is-m.patch (renamed from patches/server/0798-Always-parse-protochunk-light-sources-unless-it-is-m.patch) | 0 | ||||
-rw-r--r-- | patches/server/0798-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch (renamed from patches/server/0799-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch) | 0 | ||||
-rw-r--r-- | patches/server/0799-Configurable-feature-seeds.patch (renamed from patches/server/0800-Configurable-feature-seeds.patch) | 0 | ||||
-rw-r--r-- | patches/server/0800-Do-not-process-entity-loads-in-CraftChunk-getEntitie.patch (renamed from patches/server/0801-Do-not-process-entity-loads-in-CraftChunk-getEntitie.patch) | 0 | ||||
-rw-r--r-- | patches/server/0801-Prevent-softlocked-end-exit-portal-generation.patch (renamed from patches/server/0802-Prevent-softlocked-end-exit-portal-generation.patch) | 0 | ||||
-rw-r--r-- | patches/server/0802-Add-paper-mobcaps-and-paper-playermobcaps.patch (renamed from patches/server/0803-Add-paper-mobcaps-and-paper-playermobcaps.patch) | 0 | ||||
-rw-r--r-- | patches/server/0803-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch (renamed from patches/server/0804-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch) | 0 | ||||
-rw-r--r-- | patches/server/0804-Don-t-log-debug-logging-being-disabled.patch (renamed from patches/server/0805-Don-t-log-debug-logging-being-disabled.patch) | 0 | ||||
-rw-r--r-- | patches/server/0805-Mark-fish-and-axolotls-from-buckets-as-persistent.patch (renamed from patches/server/0806-Mark-fish-and-axolotls-from-buckets-as-persistent.patch) | 0 | ||||
-rw-r--r-- | patches/server/0806-fix-various-menus-with-empty-level-accesses.patch (renamed from patches/server/0807-fix-various-menus-with-empty-level-accesses.patch) | 0 | ||||
-rw-r--r-- | patches/server/0807-Ensure-valid-vehicle-status.patch (renamed from patches/server/0808-Ensure-valid-vehicle-status.patch) | 2 | ||||
-rw-r--r-- | patches/server/0808-Option-to-prevent-NBT-copy-in-smithing-recipes.patch (renamed from patches/server/0809-Option-to-prevent-NBT-copy-in-smithing-recipes.patch) | 0 | ||||
-rw-r--r-- | patches/server/0809-More-CommmandBlock-API.patch (renamed from patches/server/0810-More-CommmandBlock-API.patch) | 0 | ||||
-rw-r--r-- | patches/server/0810-Preserve-overstacked-loot.patch (renamed from patches/server/0811-Preserve-overstacked-loot.patch) | 0 | ||||
-rw-r--r-- | patches/server/0811-Update-head-rotation-in-missing-places.patch (renamed from patches/server/0812-Update-head-rotation-in-missing-places.patch) | 2 | ||||
-rw-r--r-- | patches/server/0812-prevent-unintended-light-block-manipulation.patch (renamed from patches/server/0813-prevent-unintended-light-block-manipulation.patch) | 0 | ||||
-rw-r--r-- | patches/server/0813-Add-missing-team-sidebar-display-slots.patch (renamed from patches/server/0814-Add-missing-team-sidebar-display-slots.patch) | 0 | ||||
-rw-r--r-- | patches/server/0814-Dont-count-named-piglins-and-hoglins-towards-mob-cap.patch (renamed from patches/server/0815-Dont-count-named-piglins-and-hoglins-towards-mob-cap.patch) | 2 | ||||
-rw-r--r-- | patches/server/0815-Fix-CraftCriteria-defaults-map.patch (renamed from patches/server/0816-Fix-CraftCriteria-defaults-map.patch) | 0 | ||||
-rw-r--r-- | patches/server/0816-Add-back-EntityPortalExitEvent.patch (renamed from patches/server/0817-Add-back-EntityPortalExitEvent.patch) | 2 | ||||
-rw-r--r-- | patches/server/0817-Fix-upstreams-block-state-factories.patch (renamed from patches/server/0818-Fix-upstreams-block-state-factories.patch) | 0 | ||||
-rw-r--r-- | patches/server/0818-Add-config-option-for-logging-player-ip-addresses.patch (renamed from patches/server/0819-Add-config-option-for-logging-player-ip-addresses.patch) | 2 | ||||
-rw-r--r-- | patches/server/0819-Add-methods-to-find-targets-for-lightning-strikes.patch (renamed from patches/server/0820-Add-methods-to-find-targets-for-lightning-strikes.patch) | 2 | ||||
-rw-r--r-- | patches/server/0820-VanillaCommandWrapper-didnt-account-for-entity-sende.patch (renamed from patches/server/0821-VanillaCommandWrapper-didnt-account-for-entity-sende.patch) | 0 | ||||
-rw-r--r-- | patches/server/0821-Add-root-admin-user-detection.patch (renamed from patches/server/0822-Add-root-admin-user-detection.patch) | 0 | ||||
-rw-r--r-- | patches/server/0822-Always-allow-item-changing-in-Fireball.patch (renamed from patches/server/0823-Always-allow-item-changing-in-Fireball.patch) | 0 | ||||
-rw-r--r-- | patches/server/0823-Fix-merchant-inventory-not-closing-on-entity-removal.patch (renamed from patches/server/0824-Fix-merchant-inventory-not-closing-on-entity-removal.patch) | 0 | ||||
-rw-r--r-- | patches/server/0824-Do-not-overload-I-O-threads-with-chunk-data-while-fl.patch (renamed from patches/server/0825-Do-not-overload-I-O-threads-with-chunk-data-while-fl.patch) | 2 | ||||
-rw-r--r-- | patches/server/0825-Use-correct-LevelStem-registry-when-loading-default-.patch (renamed from patches/server/0826-Use-correct-LevelStem-registry-when-loading-default-.patch) | 0 | ||||
-rw-r--r-- | patches/server/0826-Get-entity-default-attributes.patch (renamed from patches/server/0827-Get-entity-default-attributes.patch) | 0 | ||||
-rw-r--r-- | patches/server/0827-Left-handed-API.patch (renamed from patches/server/0828-Left-handed-API.patch) | 0 | ||||
-rw-r--r-- | patches/server/0828-Add-advancement-display-API.patch (renamed from patches/server/0829-Add-advancement-display-API.patch) | 0 | ||||
-rw-r--r-- | patches/server/0829-Add-ItemFactory-getMonsterEgg-API.patch (renamed from patches/server/0830-Add-ItemFactory-getMonsterEgg-API.patch) | 0 | ||||
-rw-r--r-- | patches/server/0830-Add-critical-damage-API.patch (renamed from patches/server/0831-Add-critical-damage-API.patch) | 4 | ||||
-rw-r--r-- | patches/server/0831-Check-requirement-before-suggesting-root-nodes.patch (renamed from patches/server/0832-Check-requirement-before-suggesting-root-nodes.patch) | 0 | ||||
-rw-r--r-- | patches/server/0832-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch (renamed from patches/server/0833-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch) | 2 | ||||
-rw-r--r-- | patches/server/0833-don-t-attempt-to-teleport-dead-entities.patch (renamed from patches/server/0834-don-t-attempt-to-teleport-dead-entities.patch) | 2 | ||||
-rw-r--r-- | patches/server/0834-Async-catch-modifications-to-critical-entity-state.patch (renamed from patches/server/0835-Async-catch-modifications-to-critical-entity-state.patch) | 0 | ||||
-rw-r--r-- | patches/server/0835-Cache-palette-array.patch (renamed from patches/server/0836-Cache-palette-array.patch) | 0 | ||||
-rw-r--r-- | patches/server/0836-Fix-Bukkit-NamespacedKey-shenanigans.patch (renamed from patches/server/0837-Fix-Bukkit-NamespacedKey-shenanigans.patch) | 0 | ||||
-rw-r--r-- | patches/server/0837-Fix-issues-with-mob-conversion.patch (renamed from patches/server/0838-Fix-issues-with-mob-conversion.patch) | 0 | ||||
-rw-r--r-- | patches/server/0838-Add-isCollidable-methods-to-various-places.patch (renamed from patches/server/0839-Add-isCollidable-methods-to-various-places.patch) | 0 | ||||
-rw-r--r-- | patches/server/0839-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch (renamed from patches/server/0840-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch) | 0 | ||||
-rw-r--r-- | patches/server/0840-Goat-ram-API.patch (renamed from patches/server/0841-Goat-ram-API.patch) | 0 | ||||
-rw-r--r-- | patches/server/0841-Add-Raw-Byte-Entity-Serialization.patch (renamed from patches/server/0842-Add-Raw-Byte-Entity-Serialization.patch) | 2 | ||||
-rw-r--r-- | patches/server/0842-Call-onRemove-logic-for-breakNaturally.patch (renamed from patches/server/0843-Call-onRemove-logic-for-breakNaturally.patch) | 0 | ||||
-rw-r--r-- | patches/server/0843-Add-API-for-resetting-a-single-score.patch (renamed from patches/server/0844-Add-API-for-resetting-a-single-score.patch) | 0 | ||||
-rw-r--r-- | patches/server/0844-Fix-anvil-prepare-event-not-working-with-zero-xp.patch (renamed from patches/server/0845-Fix-anvil-prepare-event-not-working-with-zero-xp.patch) | 0 | ||||
-rw-r--r-- | patches/server/0845-Prevent-ContainerOpenersCounter-openCount-from-going.patch (renamed from patches/server/0846-Prevent-ContainerOpenersCounter-openCount-from-going.patch) | 0 | ||||
-rw-r--r-- | patches/server/0846-Update-Log4J.patch | 27 | ||||
-rw-r--r-- | patches/server/0847-Backport-log4j-2.15.0-bugfix.patch | 384 |
109 files changed, 73 insertions, 449 deletions
diff --git a/patches/server/0741-Respect-despawn-rate-in-item-merge-check.patch b/patches/server/0740-Respect-despawn-rate-in-item-merge-check.patch index 2b374d388a..2b374d388a 100644 --- a/patches/server/0741-Respect-despawn-rate-in-item-merge-check.patch +++ b/patches/server/0740-Respect-despawn-rate-in-item-merge-check.patch diff --git a/patches/server/0740-Set-AsyncAppender-dispatch-thread-to-be-a-daemon-thr.patch b/patches/server/0740-Set-AsyncAppender-dispatch-thread-to-be-a-daemon-thr.patch deleted file mode 100644 index 4a7c6f9fc7..0000000000 --- a/patches/server/0740-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/0742-Move-BlockPistonRetractEvent-to-fix-duplication.patch b/patches/server/0741-Move-BlockPistonRetractEvent-to-fix-duplication.patch index ab755b8fb7..ab755b8fb7 100644 --- a/patches/server/0742-Move-BlockPistonRetractEvent-to-fix-duplication.patch +++ b/patches/server/0741-Move-BlockPistonRetractEvent-to-fix-duplication.patch diff --git a/patches/server/0743-Change-EnderEye-target-without-changing-other-things.patch b/patches/server/0742-Change-EnderEye-target-without-changing-other-things.patch index 5f7821d0a6..5f7821d0a6 100644 --- a/patches/server/0743-Change-EnderEye-target-without-changing-other-things.patch +++ b/patches/server/0742-Change-EnderEye-target-without-changing-other-things.patch diff --git a/patches/server/0744-Add-BlockBreakBlockEvent.patch b/patches/server/0743-Add-BlockBreakBlockEvent.patch index 5360c87687..5360c87687 100644 --- a/patches/server/0744-Add-BlockBreakBlockEvent.patch +++ b/patches/server/0743-Add-BlockBreakBlockEvent.patch diff --git a/patches/server/0745-Vanilla-command-permission-fixes.patch b/patches/server/0744-Vanilla-command-permission-fixes.patch index 46e803d4e5..9d2853b29d 100644 --- a/patches/server/0745-Vanilla-command-permission-fixes.patch +++ b/patches/server/0744-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 816ea85a5880123c970d227d61426a0ae2b9539f..b7c24a7ff4dc50d03f74b21a0b353d0ce559b4d4 100644 +index e269bc8f6282a73ceac6e8aec8652fe2b685adab..0766f272068248175bc929a145bafaf9efc8978d 100644 --- a/src/main/java/net/minecraft/commands/Commands.java +++ b/src/main/java/net/minecraft/commands/Commands.java @@ -204,6 +204,13 @@ public class Commands { diff --git a/patches/server/0746-Make-CallbackExecutor-strict-again.patch b/patches/server/0745-Make-CallbackExecutor-strict-again.patch index 92205e8c6d..33efc0e20b 100644 --- a/patches/server/0746-Make-CallbackExecutor-strict-again.patch +++ b/patches/server/0745-Make-CallbackExecutor-strict-again.patch @@ -10,7 +10,7 @@ schedules. Effectively, use the callback executor as a tool of finding issues rather than hiding these issues. diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index 047f1772c8f9346ba4541d46af8e144141865cfb..173c9d06b28db3e776c762903a0409234c08b13c 100644 +index dc1aca025a6e54ee0d494e20a4a72ac6a6c976fb..ba1c55c4f2486cae25ce570132d9222f6ab77d49 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java @@ -154,17 +154,28 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider diff --git a/patches/server/0747-Prevent-unload-calls-removing-tickets-for-sync-loads.patch b/patches/server/0746-Prevent-unload-calls-removing-tickets-for-sync-loads.patch index b95a4cdfea..b95a4cdfea 100644 --- a/patches/server/0747-Prevent-unload-calls-removing-tickets-for-sync-loads.patch +++ b/patches/server/0746-Prevent-unload-calls-removing-tickets-for-sync-loads.patch diff --git a/patches/server/0748-Do-not-allow-ticket-level-changes-while-unloading-pl.patch b/patches/server/0747-Do-not-allow-ticket-level-changes-while-unloading-pl.patch index 6adcb35aef..6adcb35aef 100644 --- a/patches/server/0748-Do-not-allow-ticket-level-changes-while-unloading-pl.patch +++ b/patches/server/0747-Do-not-allow-ticket-level-changes-while-unloading-pl.patch diff --git a/patches/server/0749-Do-not-allow-the-server-to-unload-chunks-at-request-.patch b/patches/server/0748-Do-not-allow-the-server-to-unload-chunks-at-request-.patch index 834f48a1c9..834f48a1c9 100644 --- a/patches/server/0749-Do-not-allow-the-server-to-unload-chunks-at-request-.patch +++ b/patches/server/0748-Do-not-allow-the-server-to-unload-chunks-at-request-.patch diff --git a/patches/server/0750-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch b/patches/server/0749-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch index 3ccfde3cd9..ae87b61b5a 100644 --- a/patches/server/0750-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch +++ b/patches/server/0749-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 f8c0574137cab33d0b5efe5d532efb132dcb914a..80f59abeb0081fe4784f3c0d027e8dfce752814b 100644 +index 43a740eb644629bf88d60d7ab559793a1965f9d8..ac3ef76f0db5a2d0f02b5e48a8bf511d9b0104d4 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -1292,9 +1292,13 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -28,7 +28,7 @@ index f8c0574137cab33d0b5efe5d532efb132dcb914a..80f59abeb0081fe4784f3c0d027e8dfc } // 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 9b02f054493ad69c7a595374e6fd600c3d64e61e..e40587b9c13d9170ef5dd0811e96b02ecaccebb2 100644 +index 80f7ff6117d15d1e0f19a497a8a2172a75d14734..bb7185009ece552baeba6de72166eb22a39ccbed 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1562,6 +1562,18 @@ public class ServerPlayer extends Player { diff --git a/patches/server/0751-Correctly-handle-recursion-for-chunkholder-updates.patch b/patches/server/0750-Correctly-handle-recursion-for-chunkholder-updates.patch index 850a20267c..f82a342b6a 100644 --- a/patches/server/0751-Correctly-handle-recursion-for-chunkholder-updates.patch +++ b/patches/server/0750-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 823451570e02ee75bfce1c106779a0502187fcea..d4ea81824acdc1220616b24ea0f465db97f4a343 100644 +index 6df2167204ef1a8e9ad1d8b1e73df762f0523fa3..b4f8e67b1e4d1ea481d4270597fff86d7faf1bd5 100644 --- a/src/main/java/net/minecraft/server/level/ChunkHolder.java +++ b/src/main/java/net/minecraft/server/level/ChunkHolder.java @@ -619,8 +619,10 @@ public class ChunkHolder { diff --git a/patches/server/0752-Separate-lookup-locking-from-state-access-in-UserCac.patch b/patches/server/0751-Separate-lookup-locking-from-state-access-in-UserCac.patch index b5bd2f63c9..b5bd2f63c9 100644 --- a/patches/server/0752-Separate-lookup-locking-from-state-access-in-UserCac.patch +++ b/patches/server/0751-Separate-lookup-locking-from-state-access-in-UserCac.patch diff --git a/patches/server/0753-Fix-chunks-refusing-to-unload-at-low-TPS.patch b/patches/server/0752-Fix-chunks-refusing-to-unload-at-low-TPS.patch index 2f37de0d73..4ac3f081ff 100644 --- a/patches/server/0753-Fix-chunks-refusing-to-unload-at-low-TPS.patch +++ b/patches/server/0752-Fix-chunks-refusing-to-unload-at-low-TPS.patch @@ -10,7 +10,7 @@ chunk future to complete. We can simply schedule to the immediate executor to get this effect, rather than the main mailbox. diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index dcb5b1022eb72c50dc1df3654b0c9db7c782517c..efaab00b73f48e267a033a4ef466dcbaf2af2044 100644 +index fe15f8fdb886674278513c5fdbf17f066c9f0b4f..19bd06be74f144393be6aa6e392d60c88bdb1c2d 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java @@ -1451,9 +1451,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider diff --git a/patches/server/0754-Do-not-allow-ticket-level-changes-when-updating-chun.patch b/patches/server/0753-Do-not-allow-ticket-level-changes-when-updating-chun.patch index b270fb651b..7f42f6c716 100644 --- a/patches/server/0754-Do-not-allow-ticket-level-changes-when-updating-chun.patch +++ b/patches/server/0753-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 d4ea81824acdc1220616b24ea0f465db97f4a343..b0a6eb7846580489e0476e69565676e77fd224cd 100644 +index b4f8e67b1e4d1ea481d4270597fff86d7faf1bd5..dd18ee4ac478d64fca7b311148a85507232e602f 100644 --- a/src/main/java/net/minecraft/server/level/ChunkHolder.java +++ b/src/main/java/net/minecraft/server/level/ChunkHolder.java @@ -599,7 +599,13 @@ public class ChunkHolder { diff --git a/patches/server/0755-Do-not-submit-profile-lookups-to-worldgen-threads.patch b/patches/server/0754-Do-not-submit-profile-lookups-to-worldgen-threads.patch index a636b5f2f5..a636b5f2f5 100644 --- a/patches/server/0755-Do-not-submit-profile-lookups-to-worldgen-threads.patch +++ b/patches/server/0754-Do-not-submit-profile-lookups-to-worldgen-threads.patch diff --git a/patches/server/0756-Log-when-the-async-catcher-is-tripped.patch b/patches/server/0755-Log-when-the-async-catcher-is-tripped.patch index 7006040b25..7006040b25 100644 --- a/patches/server/0756-Log-when-the-async-catcher-is-tripped.patch +++ b/patches/server/0755-Log-when-the-async-catcher-is-tripped.patch diff --git a/patches/server/0757-Sanitize-ResourceLocation-error-logging.patch b/patches/server/0756-Sanitize-ResourceLocation-error-logging.patch index 1f990a622a..1f990a622a 100644 --- a/patches/server/0757-Sanitize-ResourceLocation-error-logging.patch +++ b/patches/server/0756-Sanitize-ResourceLocation-error-logging.patch diff --git a/patches/server/0758-Fix-and-optimize-legacy-world-conversion.patch b/patches/server/0757-Fix-and-optimize-legacy-world-conversion.patch index ba0f43086d..1fcaa41fe7 100644 --- a/patches/server/0758-Fix-and-optimize-legacy-world-conversion.patch +++ b/patches/server/0757-Fix-and-optimize-legacy-world-conversion.patch @@ -46,7 +46,7 @@ index 8703f97dc2f392b136c6851aa09b607cbfdfa5de..ade010fe3b62a4624b009c6d665e9909 exception.printStackTrace(); ServerInternalException.reportInternalException(exception); // Paper diff --git a/src/main/java/net/minecraft/world/level/storage/LevelStorageSource.java b/src/main/java/net/minecraft/world/level/storage/LevelStorageSource.java -index af8a555c777b5abbaa2615d2ff03f03a9a93847e..b794c02ea36bdc901b1f6a160095abb3fcfe9b60 100644 +index b1a65ec9258a3a74ef29e7856870132b1097f566..83ed842325c30dc3d62af697db87fe95b38a400d 100644 --- a/src/main/java/net/minecraft/world/level/storage/LevelStorageSource.java +++ b/src/main/java/net/minecraft/world/level/storage/LevelStorageSource.java @@ -348,6 +348,12 @@ public class LevelStorageSource { diff --git a/patches/server/0759-Optimise-general-POI-access.patch b/patches/server/0758-Optimise-general-POI-access.patch index d7a3900e0e..d7a3900e0e 100644 --- a/patches/server/0759-Optimise-general-POI-access.patch +++ b/patches/server/0758-Optimise-general-POI-access.patch diff --git a/patches/server/0760-Allow-controlled-flushing-for-network-manager.patch b/patches/server/0759-Allow-controlled-flushing-for-network-manager.patch index 447bf41386..447bf41386 100644 --- a/patches/server/0760-Allow-controlled-flushing-for-network-manager.patch +++ b/patches/server/0759-Allow-controlled-flushing-for-network-manager.patch diff --git a/patches/server/0761-Add-more-async-catchers.patch b/patches/server/0760-Add-more-async-catchers.patch index 6dba1f42b8..6dba1f42b8 100644 --- a/patches/server/0761-Add-more-async-catchers.patch +++ b/patches/server/0760-Add-more-async-catchers.patch diff --git a/patches/server/0762-Rewrite-the-light-engine.patch b/patches/server/0761-Rewrite-the-light-engine.patch index 214c76a928..22a207f19b 100644 --- a/patches/server/0762-Rewrite-the-light-engine.patch +++ b/patches/server/0761-Rewrite-the-light-engine.patch @@ -3843,7 +3843,7 @@ index d8be2ad889f46491e50404916fb4ae0de5f42098..29ba097a7b230ef67d4d1b5f4ebe20cd } diff --git a/src/main/java/net/minecraft/server/level/ChunkHolder.java b/src/main/java/net/minecraft/server/level/ChunkHolder.java -index b0a6eb7846580489e0476e69565676e77fd224cd..54822e418e319db551bfea3218d00faf0e043f43 100644 +index dd18ee4ac478d64fca7b311148a85507232e602f..a9267e64e54f451c896e35693f469b8563f578f9 100644 --- a/src/main/java/net/minecraft/server/level/ChunkHolder.java +++ b/src/main/java/net/minecraft/server/level/ChunkHolder.java @@ -55,7 +55,7 @@ public class ChunkHolder { @@ -3856,7 +3856,7 @@ index b0a6eb7846580489e0476e69565676e77fd224cd..54822e418e319db551bfea3218d00faf private final DebugBuffer<ChunkHolder.ChunkSaveDebug> chunkToSaveHistory; public int oldTicketLevel; diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index efaab00b73f48e267a033a4ef466dcbaf2af2044..aae8dca773686bec3f867b79aa11d668032b9244 100644 +index 19bd06be74f144393be6aa6e392d60c88bdb1c2d..0006b8af2f9f774068ed5b8c906fe9b9383666e1 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java @@ -121,7 +121,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider @@ -4196,7 +4196,7 @@ index 41ddcf6775f99c56cf4b13b284420061e5dd6bdc..ae46429264e6a7e5c88b6b6a41a6df4d public static <T> TicketType<T> create(String name, Comparator<T> argumentComparator) { return new TicketType<>(name, argumentComparator, 0L); diff --git a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java -index b534fd9e5d2a17926282cf40c9d66a2143a37bfe..4a7fdea6a5f966db444dc41f7215faa99e3820b3 100644 +index 2f35e145de9cd5a065eb6e6a0996afb78291bd62..b1b4dad73b69180cb4c3344e4a5e7e49bb467f62 100644 --- a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java +++ b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java @@ -643,6 +643,7 @@ public abstract class BlockBehaviour { diff --git a/patches/server/0763-Rewrite-entity-bounding-box-lookup-calls.patch b/patches/server/0762-Rewrite-entity-bounding-box-lookup-calls.patch index d80d218906..d80d218906 100644 --- a/patches/server/0763-Rewrite-entity-bounding-box-lookup-calls.patch +++ b/patches/server/0762-Rewrite-entity-bounding-box-lookup-calls.patch diff --git a/patches/server/0764-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch b/patches/server/0763-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch index fcfb420703..c899bb1262 100644 --- a/patches/server/0764-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch +++ b/patches/server/0763-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch @@ -926,7 +926,7 @@ index 0000000000000000000000000000000000000000..d67a40e7be030142443680c89e1763fc + } +} diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index e40587b9c13d9170ef5dd0811e96b02ecaccebb2..52ffc39715def70a8ad3a99356be19bea5ef892b 100644 +index bb7185009ece552baeba6de72166eb22a39ccbed..d0a6da33bb9152b6fafe6b3a788817d523c1fe49 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -419,7 +419,7 @@ public class ServerPlayer extends Player { @@ -961,7 +961,7 @@ index 450dd486269450be88c9a9a4d895184199e655aa..9b6770a41d272eea4b0a1d2076c936af } // CraftBukkit start diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 74fcc1b45a9e57280da82f7c181530d4183872a5..481e84fda6dccfaf684c922a12fa19ed35c87b3c 100644 +index b7b802053c48c740161747c89cc55ade80094cb7..880723e59e4ca52d7b30a4dcad3b929e86128d2a 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -1025,9 +1025,44 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n @@ -1229,7 +1229,7 @@ index 94130509e3a7980c378cc95c46821cf0fc753ce6..7224c56e8a68870364c6538c82c04f37 if (true || entityx.getBoundingBox().intersects(aABB)) { // Paper - always true if (entity == null) { diff --git a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java -index 4a7fdea6a5f966db444dc41f7215faa99e3820b3..d87f8d106834678364f8720447d671de60c2454e 100644 +index b1b4dad73b69180cb4c3344e4a5e7e49bb467f62..83d813025efca5846538e36508a5d4fe38b02108 100644 --- a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java +++ b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java @@ -685,7 +685,7 @@ public abstract class BlockBehaviour { diff --git a/patches/server/0765-Optimise-chunk-tick-iteration.patch b/patches/server/0764-Optimise-chunk-tick-iteration.patch index 7ca2497335..7ca2497335 100644 --- a/patches/server/0765-Optimise-chunk-tick-iteration.patch +++ b/patches/server/0764-Optimise-chunk-tick-iteration.patch diff --git a/patches/server/0766-Execute-chunk-tasks-mid-tick.patch b/patches/server/0765-Execute-chunk-tasks-mid-tick.patch index a1266038ec..a1266038ec 100644 --- a/patches/server/0766-Execute-chunk-tasks-mid-tick.patch +++ b/patches/server/0765-Execute-chunk-tasks-mid-tick.patch diff --git a/patches/server/0767-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch b/patches/server/0766-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch index dbf1b0db95..dbf1b0db95 100644 --- a/patches/server/0767-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch +++ b/patches/server/0766-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch diff --git a/patches/server/0768-Do-not-copy-visible-chunks.patch b/patches/server/0767-Do-not-copy-visible-chunks.patch index 09bbc5118f..5d907e436b 100644 --- a/patches/server/0768-Do-not-copy-visible-chunks.patch +++ b/patches/server/0767-Do-not-copy-visible-chunks.patch @@ -22,7 +22,7 @@ index 807bbe54f6516f794bdcb735bb7b8d6812e3ef01..2ef4b4c2ff81d0fa33d4630593266066 continue; } diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java -index 436ea61d284120a43123709f0213ec56870147dc..d2ea11d35ea111c349df5aa375d7ee8831658262 100644 +index 14d31bc2fb19b1265ee3e72280f2aba22ec0a26d..82a233b413791eff4bc6b9140b5bbf99354ed671 100644 --- a/src/main/java/net/minecraft/server/MCUtil.java +++ b/src/main/java/net/minecraft/server/MCUtil.java @@ -619,7 +619,7 @@ public final class MCUtil { @@ -35,7 +35,7 @@ index 436ea61d284120a43123709f0213ec56870147dc..d2ea11d35ea111c349df5aa375d7ee88 List<ChunkHolder> allChunks = new ArrayList<>(visibleChunks.values()); List<ServerPlayer> players = world.players; diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index aae8dca773686bec3f867b79aa11d668032b9244..2f5ab00d26dcf027ec0e152a8bf17686a280ae50 100644 +index 0006b8af2f9f774068ed5b8c906fe9b9383666e1..85c97767cdaf45b24f5764a6a1ef3c56535bb37f 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java @@ -114,9 +114,11 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider diff --git a/patches/server/0769-Replace-player-chunk-loader-system.patch b/patches/server/0768-Replace-player-chunk-loader-system.patch index ef546632f7..ef546632f7 100644 --- a/patches/server/0769-Replace-player-chunk-loader-system.patch +++ b/patches/server/0768-Replace-player-chunk-loader-system.patch diff --git a/patches/server/0770-Replace-ticket-level-propagator.patch b/patches/server/0769-Replace-ticket-level-propagator.patch index 5ed73f61e6..5ed73f61e6 100644 --- a/patches/server/0770-Replace-ticket-level-propagator.patch +++ b/patches/server/0769-Replace-ticket-level-propagator.patch diff --git a/patches/server/0771-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch b/patches/server/0770-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch index a0bc2c19ec..a0bc2c19ec 100644 --- a/patches/server/0771-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch +++ b/patches/server/0770-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch diff --git a/patches/server/0772-Custom-table-implementation-for-blockstate-state-loo.patch b/patches/server/0771-Custom-table-implementation-for-blockstate-state-loo.patch index acc5535802..acc5535802 100644 --- a/patches/server/0772-Custom-table-implementation-for-blockstate-state-loo.patch +++ b/patches/server/0771-Custom-table-implementation-for-blockstate-state-loo.patch diff --git a/patches/server/0773-Detail-more-information-in-watchdog-dumps.patch b/patches/server/0772-Detail-more-information-in-watchdog-dumps.patch index 7af32a532d..2234220b9e 100644 --- a/patches/server/0773-Detail-more-information-in-watchdog-dumps.patch +++ b/patches/server/0772-Detail-more-information-in-watchdog-dumps.patch @@ -7,7 +7,7 @@ Subject: [PATCH] Detail more information in watchdog dumps - Dump player name, player uuid, position, and world for packet handling diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java -index 23757f466da571aec35a373112dcbba0d1f46dcb..3321bb7582a3e0227fbc1d41982529c23548269b 100644 +index 580bdaa99129c8edb82b835edfa822892f1cd243..40875229e37d41b922add280e11a85cb3565e079 100644 --- a/src/main/java/net/minecraft/network/Connection.java +++ b/src/main/java/net/minecraft/network/Connection.java @@ -481,7 +481,14 @@ public class Connection extends SimpleChannelInboundHandler<Packet<?>> { @@ -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 9c69855874da2c18e9c80decf4244a0f50021a28..a999fece43b1b3f687061b541a975d889886db60 100644 +index e219e385df356531639cb1b4bf993dca9034aa1d..960aa86d64ce6bfc84fff06a7698490c7c32c5fa 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -962,7 +962,26 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -123,7 +123,7 @@ index 9c69855874da2c18e9c80decf4244a0f50021a28..a999fece43b1b3f687061b541a975d88 private void tickPassenger(Entity vehicle, Entity passenger) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 481e84fda6dccfaf684c922a12fa19ed35c87b3c..94857a736d2a16e8ade286c6f2ddf8bd798008eb 100644 +index 880723e59e4ca52d7b30a4dcad3b929e86128d2a..f3c5bf25c13b52b0843a45f2732a657b00e546a7 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -888,7 +888,42 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n diff --git a/patches/server/0774-Optimise-collision-checking-in-player-move-packet-ha.patch b/patches/server/0773-Optimise-collision-checking-in-player-move-packet-ha.patch index b99cdf62ed..c06a8bbd33 100644 --- a/patches/server/0774-Optimise-collision-checking-in-player-move-packet-ha.patch +++ b/patches/server/0773-Optimise-collision-checking-in-player-move-packet-ha.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Optimise collision checking in player move packet handling Move collision logic to just the hasNewCollision call instead of getCubes + hasNewCollision diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index efa7c4b1e8c2e4297f89eb62aab76c43d2947e16..5d7c47b0a302f7db95a0b2bb811c5656c6b02beb 100644 +index 2a1614a514e35c473e5497d6293c63ca70268c0d..43014e542600f4565615d33f5c1d19ec029af91d 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -582,12 +582,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser diff --git a/patches/server/0775-Manually-inline-methods-in-BlockPosition.patch b/patches/server/0774-Manually-inline-methods-in-BlockPosition.patch index 547ad97708..547ad97708 100644 --- a/patches/server/0775-Manually-inline-methods-in-BlockPosition.patch +++ b/patches/server/0774-Manually-inline-methods-in-BlockPosition.patch diff --git a/patches/server/0776-Distance-manager-tick-timings.patch b/patches/server/0775-Distance-manager-tick-timings.patch index 8825901f21..8825901f21 100644 --- a/patches/server/0776-Distance-manager-tick-timings.patch +++ b/patches/server/0775-Distance-manager-tick-timings.patch diff --git a/patches/server/0777-Name-craft-scheduler-threads-according-to-the-plugin.patch b/patches/server/0776-Name-craft-scheduler-threads-according-to-the-plugin.patch index 7d081ee195..7d081ee195 100644 --- a/patches/server/0777-Name-craft-scheduler-threads-according-to-the-plugin.patch +++ b/patches/server/0776-Name-craft-scheduler-threads-according-to-the-plugin.patch diff --git a/patches/server/0778-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch b/patches/server/0777-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch index f395f91274..f395f91274 100644 --- a/patches/server/0778-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch +++ b/patches/server/0777-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch diff --git a/patches/server/0779-Add-packet-limiter-config.patch b/patches/server/0778-Add-packet-limiter-config.patch index a273c156dd..ce1321cca0 100644 --- a/patches/server/0779-Add-packet-limiter-config.patch +++ b/patches/server/0778-Add-packet-limiter-config.patch @@ -131,7 +131,7 @@ index a72f15c10410508ff344caf3ca376fd3d7317518..5ccc86d714d5e6e40df853bb30be1166 + } } diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java -index 3321bb7582a3e0227fbc1d41982529c23548269b..73457ae24ba6f605dd831a870499f1a990570e53 100644 +index 40875229e37d41b922add280e11a85cb3565e079..c44b2d5d043340b12eed80d766aa17dd9e8bd5a3 100644 --- a/src/main/java/net/minecraft/network/Connection.java +++ b/src/main/java/net/minecraft/network/Connection.java @@ -148,6 +148,22 @@ public class Connection extends SimpleChannelInboundHandler<Packet<?>> { diff --git a/patches/server/0780-Lag-compensate-block-breaking.patch b/patches/server/0779-Lag-compensate-block-breaking.patch index 18f58cddec..18f58cddec 100644 --- a/patches/server/0780-Lag-compensate-block-breaking.patch +++ b/patches/server/0779-Lag-compensate-block-breaking.patch diff --git a/patches/server/0781-Use-hash-table-for-maintaing-changed-block-set.patch b/patches/server/0780-Use-hash-table-for-maintaing-changed-block-set.patch index 568e3dbe25..f7d4582c36 100644 --- a/patches/server/0781-Use-hash-table-for-maintaing-changed-block-set.patch +++ b/patches/server/0780-Use-hash-table-for-maintaing-changed-block-set.patch @@ -7,7 +7,7 @@ When a lot of block changes occur the iteration for checking can add up a bit and cause a small performance impact. diff --git a/src/main/java/net/minecraft/server/level/ChunkHolder.java b/src/main/java/net/minecraft/server/level/ChunkHolder.java -index de0c6316c9b75a2ecc7d6abf7bcca24e25de0ac0..4588ae8037407b81c99135863eb0c4e97c564c24 100644 +index 326aecc38a7f93fe0d25fb9b772d06f78f99781d..df33755f0196399a32cdbc993272e74919aa3f44 100644 --- a/src/main/java/net/minecraft/server/level/ChunkHolder.java +++ b/src/main/java/net/minecraft/server/level/ChunkHolder.java @@ -41,6 +41,8 @@ import net.minecraft.world.level.lighting.LevelLightEngine; diff --git a/patches/server/0782-Consolidate-flush-calls-for-entity-tracker-packets.patch b/patches/server/0781-Consolidate-flush-calls-for-entity-tracker-packets.patch index 0e44c24f7b..0e44c24f7b 100644 --- a/patches/server/0782-Consolidate-flush-calls-for-entity-tracker-packets.patch +++ b/patches/server/0781-Consolidate-flush-calls-for-entity-tracker-packets.patch diff --git a/patches/server/0783-Don-t-lookup-fluid-state-when-raytracing.patch b/patches/server/0782-Don-t-lookup-fluid-state-when-raytracing.patch index bf4e1f243f..bf4e1f243f 100644 --- a/patches/server/0783-Don-t-lookup-fluid-state-when-raytracing.patch +++ b/patches/server/0782-Don-t-lookup-fluid-state-when-raytracing.patch diff --git a/patches/server/0784-Time-scoreboard-search.patch b/patches/server/0783-Time-scoreboard-search.patch index 48469b83af..48469b83af 100644 --- a/patches/server/0784-Time-scoreboard-search.patch +++ b/patches/server/0783-Time-scoreboard-search.patch diff --git a/patches/server/0785-Send-full-pos-packets-for-hard-colliding-entities.patch b/patches/server/0784-Send-full-pos-packets-for-hard-colliding-entities.patch index 79c80daacc..65987be51d 100644 --- a/patches/server/0785-Send-full-pos-packets-for-hard-colliding-entities.patch +++ b/patches/server/0784-Send-full-pos-packets-for-hard-colliding-entities.patch @@ -24,7 +24,7 @@ index cf9a72b7fe0b41e1ca68bbae2164162447405fc5..0940655792402ed29a1ec80a2a6fb2f1 + } } diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java -index 9950541e0432240207458274b76b1c5d402ac704..b7c9294fdd3d799d410afba4a1118aa371c98533 100644 +index 764d449aa63af88029f80918884a0c942d630113..1c6bf5a3014beaf5f9c1c38aed4cf3225e50b8bb 100644 --- a/src/main/java/net/minecraft/server/level/ServerEntity.java +++ b/src/main/java/net/minecraft/server/level/ServerEntity.java @@ -173,7 +173,7 @@ public class ServerEntity { diff --git a/patches/server/0786-Do-not-run-raytrace-logic-for-AIR.patch b/patches/server/0785-Do-not-run-raytrace-logic-for-AIR.patch index f8c4d1a7af..f8c4d1a7af 100644 --- a/patches/server/0786-Do-not-run-raytrace-logic-for-AIR.patch +++ b/patches/server/0785-Do-not-run-raytrace-logic-for-AIR.patch diff --git a/patches/server/0787-Oprimise-map-impl-for-tracked-players.patch b/patches/server/0786-Oprimise-map-impl-for-tracked-players.patch index 62ec327fe7..ef90de5d14 100644 --- a/patches/server/0787-Oprimise-map-impl-for-tracked-players.patch +++ b/patches/server/0786-Oprimise-map-impl-for-tracked-players.patch @@ -7,7 +7,7 @@ Reference2BooleanOpenHashMap is going to have better lookups than HashMap. diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index 9b4d689c04c59056f0a2ec39cf26e173cb722641..87172ee94f5796a23c22c58bbb591dede2b2dc3c 100644 +index 8e0762bc1d705b7df664b6270c4d536f77572b87..dd35947f0367527682b29e07b191f47ad32e2059 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java @@ -103,6 +103,7 @@ import org.apache.logging.log4j.LogManager; diff --git a/patches/server/0788-Optimise-BlockSoil-nearby-water-lookup.patch b/patches/server/0787-Optimise-BlockSoil-nearby-water-lookup.patch index a3213ee164..a3213ee164 100644 --- a/patches/server/0788-Optimise-BlockSoil-nearby-water-lookup.patch +++ b/patches/server/0787-Optimise-BlockSoil-nearby-water-lookup.patch diff --git a/patches/server/0789-Allow-removal-addition-of-entities-to-entity-ticklis.patch b/patches/server/0788-Allow-removal-addition-of-entities-to-entity-ticklis.patch index d68c8524e7..d68c8524e7 100644 --- a/patches/server/0789-Allow-removal-addition-of-entities-to-entity-ticklis.patch +++ b/patches/server/0788-Allow-removal-addition-of-entities-to-entity-ticklis.patch diff --git a/patches/server/0790-Optimise-random-block-ticking.patch b/patches/server/0789-Optimise-random-block-ticking.patch index c03d323b51..c03d323b51 100644 --- a/patches/server/0790-Optimise-random-block-ticking.patch +++ b/patches/server/0789-Optimise-random-block-ticking.patch diff --git a/patches/server/0791-Optimise-non-flush-packet-sending.patch b/patches/server/0790-Optimise-non-flush-packet-sending.patch index c5f1223f87..d10e49bfc4 100644 --- a/patches/server/0791-Optimise-non-flush-packet-sending.patch +++ b/patches/server/0790-Optimise-non-flush-packet-sending.patch @@ -20,7 +20,7 @@ up on this optimisation before he came along. Locally this patch drops the entity tracker tick by a full 1.5x. diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java -index 300cd4d2861c7f155cc6a5bb5a0c47b0b77ff240..7c66d5d51efd3ec55f5170cf828db22e26131517 100644 +index c44b2d5d043340b12eed80d766aa17dd9e8bd5a3..8e90deafe3c2c960290dd944953f546559facc21 100644 --- a/src/main/java/net/minecraft/network/Connection.java +++ b/src/main/java/net/minecraft/network/Connection.java @@ -49,6 +49,8 @@ import org.apache.logging.log4j.Logger; diff --git a/patches/server/0792-Optimise-nearby-player-lookups.patch b/patches/server/0791-Optimise-nearby-player-lookups.patch index 7ac99c624f..84ee9e4b35 100644 --- a/patches/server/0792-Optimise-nearby-player-lookups.patch +++ b/patches/server/0791-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 4588ae8037407b81c99135863eb0c4e97c564c24..2a33071c4b69cb7b5a7e296e8fd903e3a528b210 100644 +index df33755f0196399a32cdbc993272e74919aa3f44..aeb011cbcfa59d023a093f2d617bcdea311ab7df 100644 --- a/src/main/java/net/minecraft/server/level/ChunkHolder.java +++ b/src/main/java/net/minecraft/server/level/ChunkHolder.java @@ -242,6 +242,12 @@ public class ChunkHolder { @@ -26,7 +26,7 @@ index 4588ae8037407b81c99135863eb0c4e97c564c24..2a33071c4b69cb7b5a7e296e8fd903e3 // Paper end - optimise isOutsideOfRange long lastAutoSaveTime; // Paper - incremental autosave diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index 6522eb4b72c50be3ff7d1b094066a1cbec88634d..10d1e1f728519ad49379895c7fd3668badcbfd5a 100644 +index dd35947f0367527682b29e07b191f47ad32e2059..934e1233a65fc07554088bf775b1758dc47a5a9c 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java @@ -217,6 +217,12 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider @@ -114,7 +114,7 @@ index 6522eb4b72c50be3ff7d1b094066a1cbec88634d..10d1e1f728519ad49379895c7fd3668b holder = new ChunkHolder(new ChunkPos(pos), level, this.level, this.lightEngine, this.queueSorter, this); // Paper start diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index ed696ed93251e644c2b71e468e2556d24b273933..3afb8b91dceb86e88b848462a5b8dbd5c8365239 100644 +index 2d322cc13dabc041911991e6c8dfde4374ac76bd..89a8138e97ab6a399cfbc69cab0ecaa70bb2fe8d 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -392,6 +392,83 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -235,7 +235,7 @@ index 5f4556505d831ea45e576a4c4e10f99e1353684e..55d07e70a67e08bab3a7a66076c98098 if (entityhuman != null) { double d0 = entityhuman.distanceToSqr((Entity) this); // CraftBukkit - decompile error diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 64d5e71a8a26116385cee195d86fce1ef1574a8c..f936e9f9a9fa655fa997d6862b5ed54c04169d35 100644 +index 326ce282ae333d9b3ba3a2f9904ecaf62c0734be..9cafd000b3533ed9fd35df2ec880f55e262084fb 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -247,6 +247,69 @@ public abstract class Level implements LevelAccessor, AutoCloseable { diff --git a/patches/server/0793-Fix-Codec-log-spam.patch b/patches/server/0792-Fix-Codec-log-spam.patch index 56249884d3..bc66ffbb3a 100644 --- a/patches/server/0793-Fix-Codec-log-spam.patch +++ b/patches/server/0792-Fix-Codec-log-spam.patch @@ -14,7 +14,7 @@ This fixes two instances: be provided for two new values (WITHOUT changing behavior). diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java -index c4117dcffd705d044f07eb5840a177b1b5825bb9..f80791bd383dc6dc4a9c1aac5f8e4c1561e33ad9 100644 +index 15fb4ee2066df1c8ce341913a64f350fb8b9718c..b5be0486d1cffe60808948b4b0bfd709664b2ae4 100644 --- a/src/main/java/net/minecraft/server/MCUtil.java +++ b/src/main/java/net/minecraft/server/MCUtil.java @@ -723,4 +723,70 @@ public final class MCUtil { diff --git a/patches/server/0794-Optimise-WorldServer-notify.patch b/patches/server/0793-Optimise-WorldServer-notify.patch index 8657ce3d53..79ec375a97 100644 --- a/patches/server/0794-Optimise-WorldServer-notify.patch +++ b/patches/server/0793-Optimise-WorldServer-notify.patch @@ -8,7 +8,7 @@ Instead, only iterate over navigators in the current region that are eligible for repathing. diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index bef7d5b4c8b99d2fbcd975127b16653e0f391338..19a853ceeded1c8803d182d035f0362abfa29933 100644 +index 934e1233a65fc07554088bf775b1758dc47a5a9c..7175d510b74e4cf81d479e6c6330bad77344d9c0 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java @@ -290,15 +290,81 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider diff --git a/patches/server/0795-Remove-streams-for-villager-AI.patch b/patches/server/0794-Remove-streams-for-villager-AI.patch index 227d34f188..227d34f188 100644 --- a/patches/server/0795-Remove-streams-for-villager-AI.patch +++ b/patches/server/0794-Remove-streams-for-villager-AI.patch diff --git a/patches/server/0796-Rewrite-dataconverter-system.patch b/patches/server/0795-Rewrite-dataconverter-system.patch index cc35e27dfc..ec61285470 100644 --- a/patches/server/0796-Rewrite-dataconverter-system.patch +++ b/patches/server/0795-Rewrite-dataconverter-system.patch @@ -19599,7 +19599,7 @@ index b889dbad607b6508fb4987d21d3be691a5b37072..747e2a31f055d84d4321c8241e1b6c29 nbttagcompound.putInt("DataVersion", SharedConstants.getCurrentVersion().getWorldVersion()); } diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java b/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java -index 0e13a1f898a793799416056bd468851013f9c5cb..916f93b097a65f95e830fe5e1567c85d304f808f 100644 +index bab6e0ac7b57a86ff36e8caf1014f1625ca976b6..1c77959518039e4b4fb2ffa8b93f5f69e8587ade 100644 --- a/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java +++ b/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java @@ -148,7 +148,7 @@ public class EntityStorage implements EntityPersistentStorage<Entity> { diff --git a/patches/server/0797-Use-Velocity-compression-and-cipher-natives.patch b/patches/server/0796-Use-Velocity-compression-and-cipher-natives.patch index 2d7569820c..85a7ec6afc 100644 --- a/patches/server/0797-Use-Velocity-compression-and-cipher-natives.patch +++ b/patches/server/0796-Use-Velocity-compression-and-cipher-natives.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Use Velocity compression and cipher natives diff --git a/build.gradle.kts b/build.gradle.kts -index c7ebad49e04c36c27341cabc4a024f170d762f3f..f46f11c32560da6f4955284d93da3dd7e22555a3 100644 +index e789d52955cf9f353cf52af3a5a69bb7b54085bd..e067c69fea1dec79ef8e97cad1c74020b6a3a235 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -55,6 +55,7 @@ dependencies { @@ -267,7 +267,7 @@ index 524c0c674f63cfcb601416a18348f37aabb4e3ff..89bf5066b83e8d79c77c90fce1f7858c return this.threshold; } diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java -index 0dae504f49a4a3c66a01eb03896833a010cd5821..5f43459884daea61178c3fdb913204e64f833f61 100644 +index 8e90deafe3c2c960290dd944953f546559facc21..291241502bdbb4bac666735b0d6365b612612e04 100644 --- a/src/main/java/net/minecraft/network/Connection.java +++ b/src/main/java/net/minecraft/network/Connection.java @@ -657,11 +657,28 @@ public class Connection extends SimpleChannelInboundHandler<Packet<?>> { diff --git a/patches/server/0798-Always-parse-protochunk-light-sources-unless-it-is-m.patch b/patches/server/0797-Always-parse-protochunk-light-sources-unless-it-is-m.patch index 263c8c5693..263c8c5693 100644 --- a/patches/server/0798-Always-parse-protochunk-light-sources-unless-it-is-m.patch +++ b/patches/server/0797-Always-parse-protochunk-light-sources-unless-it-is-m.patch diff --git a/patches/server/0799-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch b/patches/server/0798-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch index 5b9fbcac1f..5b9fbcac1f 100644 --- a/patches/server/0799-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch +++ b/patches/server/0798-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch diff --git a/patches/server/0800-Configurable-feature-seeds.patch b/patches/server/0799-Configurable-feature-seeds.patch index 60f93a8baa..60f93a8baa 100644 --- a/patches/server/0800-Configurable-feature-seeds.patch +++ b/patches/server/0799-Configurable-feature-seeds.patch diff --git a/patches/server/0801-Do-not-process-entity-loads-in-CraftChunk-getEntitie.patch b/patches/server/0800-Do-not-process-entity-loads-in-CraftChunk-getEntitie.patch index 12edb886b9..12edb886b9 100644 --- a/patches/server/0801-Do-not-process-entity-loads-in-CraftChunk-getEntitie.patch +++ b/patches/server/0800-Do-not-process-entity-loads-in-CraftChunk-getEntitie.patch diff --git a/patches/server/0802-Prevent-softlocked-end-exit-portal-generation.patch b/patches/server/0801-Prevent-softlocked-end-exit-portal-generation.patch index 42e617cf5f..42e617cf5f 100644 --- a/patches/server/0802-Prevent-softlocked-end-exit-portal-generation.patch +++ b/patches/server/0801-Prevent-softlocked-end-exit-portal-generation.patch diff --git a/patches/server/0803-Add-paper-mobcaps-and-paper-playermobcaps.patch b/patches/server/0802-Add-paper-mobcaps-and-paper-playermobcaps.patch index b03a1ed147..b03a1ed147 100644 --- a/patches/server/0803-Add-paper-mobcaps-and-paper-playermobcaps.patch +++ b/patches/server/0802-Add-paper-mobcaps-and-paper-playermobcaps.patch diff --git a/patches/server/0804-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch b/patches/server/0803-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch index 2ce994e362..2ce994e362 100644 --- a/patches/server/0804-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch +++ b/patches/server/0803-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch diff --git a/patches/server/0805-Don-t-log-debug-logging-being-disabled.patch b/patches/server/0804-Don-t-log-debug-logging-being-disabled.patch index 6ff8025b3b..6ff8025b3b 100644 --- a/patches/server/0805-Don-t-log-debug-logging-being-disabled.patch +++ b/patches/server/0804-Don-t-log-debug-logging-being-disabled.patch diff --git a/patches/server/0806-Mark-fish-and-axolotls-from-buckets-as-persistent.patch b/patches/server/0805-Mark-fish-and-axolotls-from-buckets-as-persistent.patch index ee3bb34c33..ee3bb34c33 100644 --- a/patches/server/0806-Mark-fish-and-axolotls-from-buckets-as-persistent.patch +++ b/patches/server/0805-Mark-fish-and-axolotls-from-buckets-as-persistent.patch diff --git a/patches/server/0807-fix-various-menus-with-empty-level-accesses.patch b/patches/server/0806-fix-various-menus-with-empty-level-accesses.patch index 3bda24b9c6..3bda24b9c6 100644 --- a/patches/server/0807-fix-various-menus-with-empty-level-accesses.patch +++ b/patches/server/0806-fix-various-menus-with-empty-level-accesses.patch diff --git a/patches/server/0808-Ensure-valid-vehicle-status.patch b/patches/server/0807-Ensure-valid-vehicle-status.patch index cb45c347b6..9160635028 100644 --- a/patches/server/0808-Ensure-valid-vehicle-status.patch +++ b/patches/server/0807-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 4dfd185e47849c18c552e28370d93b48799d2eb9..11f46c1b8f4c8414e0667d1873542c17d6e01f2a 100644 +index 6614954dd30efdd6a53d561fcb3cbfba8b168805..78fda0c982810b8b881a87099f355247566e513a 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -509,7 +509,7 @@ public class ServerPlayer extends Player { diff --git a/patches/server/0809-Option-to-prevent-NBT-copy-in-smithing-recipes.patch b/patches/server/0808-Option-to-prevent-NBT-copy-in-smithing-recipes.patch index 788db2c022..788db2c022 100644 --- a/patches/server/0809-Option-to-prevent-NBT-copy-in-smithing-recipes.patch +++ b/patches/server/0808-Option-to-prevent-NBT-copy-in-smithing-recipes.patch diff --git a/patches/server/0810-More-CommmandBlock-API.patch b/patches/server/0809-More-CommmandBlock-API.patch index f7ef8c10d6..f7ef8c10d6 100644 --- a/patches/server/0810-More-CommmandBlock-API.patch +++ b/patches/server/0809-More-CommmandBlock-API.patch diff --git a/patches/server/0811-Preserve-overstacked-loot.patch b/patches/server/0810-Preserve-overstacked-loot.patch index e5cd46277b..e5cd46277b 100644 --- a/patches/server/0811-Preserve-overstacked-loot.patch +++ b/patches/server/0810-Preserve-overstacked-loot.patch diff --git a/patches/server/0812-Update-head-rotation-in-missing-places.patch b/patches/server/0811-Update-head-rotation-in-missing-places.patch index dfc0762eca..bf89fad1ef 100644 --- a/patches/server/0812-Update-head-rotation-in-missing-places.patch +++ b/patches/server/0811-Update-head-rotation-in-missing-places.patch @@ -8,7 +8,7 @@ This is because bukkit uses a separate head rotation field for yaw. This issue only applies to players. diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 94857a736d2a16e8ade286c6f2ddf8bd798008eb..4f164f238177b5e2b18c76b7cc14596ec93409d1 100644 +index f3c5bf25c13b52b0843a45f2732a657b00e546a7..9fa01acbe1373a0975bd0c8a02f9b8317c2d0780 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -1742,6 +1742,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n diff --git a/patches/server/0813-prevent-unintended-light-block-manipulation.patch b/patches/server/0812-prevent-unintended-light-block-manipulation.patch index ba7dcc0e94..ba7dcc0e94 100644 --- a/patches/server/0813-prevent-unintended-light-block-manipulation.patch +++ b/patches/server/0812-prevent-unintended-light-block-manipulation.patch diff --git a/patches/server/0814-Add-missing-team-sidebar-display-slots.patch b/patches/server/0813-Add-missing-team-sidebar-display-slots.patch index 5581728a48..5581728a48 100644 --- a/patches/server/0814-Add-missing-team-sidebar-display-slots.patch +++ b/patches/server/0813-Add-missing-team-sidebar-display-slots.patch diff --git a/patches/server/0815-Dont-count-named-piglins-and-hoglins-towards-mob-cap.patch b/patches/server/0814-Dont-count-named-piglins-and-hoglins-towards-mob-cap.patch index 351633a78e..0f7e0584d7 100644 --- a/patches/server/0815-Dont-count-named-piglins-and-hoglins-towards-mob-cap.patch +++ b/patches/server/0814-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 0b228b8bcae5ed2840ab244b6de35732f737504d..f316585ccf6baf5e7e514ba3a68b4344e781a82d 100644 +index 790999fea74e4d03a80a4c0c9665af87bd683577..d63d89960839b506e240349043ab77c4d81ca71a 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/0816-Fix-CraftCriteria-defaults-map.patch b/patches/server/0815-Fix-CraftCriteria-defaults-map.patch index 11fce3ca24..11fce3ca24 100644 --- a/patches/server/0816-Fix-CraftCriteria-defaults-map.patch +++ b/patches/server/0815-Fix-CraftCriteria-defaults-map.patch diff --git a/patches/server/0817-Add-back-EntityPortalExitEvent.patch b/patches/server/0816-Add-back-EntityPortalExitEvent.patch index 36ceb88a14..614e6009fd 100644 --- a/patches/server/0817-Add-back-EntityPortalExitEvent.patch +++ b/patches/server/0816-Add-back-EntityPortalExitEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add back EntityPortalExitEvent diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 4f164f238177b5e2b18c76b7cc14596ec93409d1..e17bda0d13bae337cfad5ae31b118aa7a85499fc 100644 +index 9fa01acbe1373a0975bd0c8a02f9b8317c2d0780..a19ec0026d9a4ce26a0fc1eb9a55841712c7102f 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -3181,6 +3181,25 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n diff --git a/patches/server/0818-Fix-upstreams-block-state-factories.patch b/patches/server/0817-Fix-upstreams-block-state-factories.patch index 3a4d1c9bc6..3a4d1c9bc6 100644 --- a/patches/server/0818-Fix-upstreams-block-state-factories.patch +++ b/patches/server/0817-Fix-upstreams-block-state-factories.patch diff --git a/patches/server/0819-Add-config-option-for-logging-player-ip-addresses.patch b/patches/server/0818-Add-config-option-for-logging-player-ip-addresses.patch index e4c7591bd0..6222e5e1ff 100644 --- a/patches/server/0819-Add-config-option-for-logging-player-ip-addresses.patch +++ b/patches/server/0818-Add-config-option-for-logging-player-ip-addresses.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add config option for logging player ip addresses diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index b3f4ac2ce6f515e406d2f31b1d2429729c9e2b60..0277627e97b51e20470ccf578cee48470e06a34b 100644 +index 0940655792402ed29a1ec80a2a6fb2f100de4659..2509a170b8ddd812ad5be49e5345ec5a3c0cf2b8 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -489,6 +489,11 @@ public class PaperConfig { diff --git a/patches/server/0820-Add-methods-to-find-targets-for-lightning-strikes.patch b/patches/server/0819-Add-methods-to-find-targets-for-lightning-strikes.patch index 37fb358660..52146a7f66 100644 --- a/patches/server/0820-Add-methods-to-find-targets-for-lightning-strikes.patch +++ b/patches/server/0819-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 08c6ea9f19fa9218af089ed3bd2dcda1e83591ed..710a1064cec9c7ec93e1258b0786e74ab9af0c12 100644 +index c01b5611fe6946a24fe21eac6a80e3ddadf9f3c1..536c53fd1d009b86d2c1c3ca2364f458448bc38c 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -956,6 +956,11 @@ public class ServerLevel extends Level implements WorldGenLevel { diff --git a/patches/server/0821-VanillaCommandWrapper-didnt-account-for-entity-sende.patch b/patches/server/0820-VanillaCommandWrapper-didnt-account-for-entity-sende.patch index 6e33709dbe..6e33709dbe 100644 --- a/patches/server/0821-VanillaCommandWrapper-didnt-account-for-entity-sende.patch +++ b/patches/server/0820-VanillaCommandWrapper-didnt-account-for-entity-sende.patch diff --git a/patches/server/0822-Add-root-admin-user-detection.patch b/patches/server/0821-Add-root-admin-user-detection.patch index 053e03ef52..053e03ef52 100644 --- a/patches/server/0822-Add-root-admin-user-detection.patch +++ b/patches/server/0821-Add-root-admin-user-detection.patch diff --git a/patches/server/0823-Always-allow-item-changing-in-Fireball.patch b/patches/server/0822-Always-allow-item-changing-in-Fireball.patch index 1bb4c5dd5b..1bb4c5dd5b 100644 --- a/patches/server/0823-Always-allow-item-changing-in-Fireball.patch +++ b/patches/server/0822-Always-allow-item-changing-in-Fireball.patch diff --git a/patches/server/0824-Fix-merchant-inventory-not-closing-on-entity-removal.patch b/patches/server/0823-Fix-merchant-inventory-not-closing-on-entity-removal.patch index 136d0c2f97..136d0c2f97 100644 --- a/patches/server/0824-Fix-merchant-inventory-not-closing-on-entity-removal.patch +++ b/patches/server/0823-Fix-merchant-inventory-not-closing-on-entity-removal.patch diff --git a/patches/server/0825-Do-not-overload-I-O-threads-with-chunk-data-while-fl.patch b/patches/server/0824-Do-not-overload-I-O-threads-with-chunk-data-while-fl.patch index ab7e4fb93f..36f906c6da 100644 --- a/patches/server/0825-Do-not-overload-I-O-threads-with-chunk-data-while-fl.patch +++ b/patches/server/0824-Do-not-overload-I-O-threads-with-chunk-data-while-fl.patch @@ -12,7 +12,7 @@ time to save, as flush saving performs a full flush at the end anyways. diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index 4b1797659f6bb5913b105641ecaac38954ce8bc0..65090afbb510231c05db3132ba416502d188f1c0 100644 +index 7175d510b74e4cf81d479e6c6330bad77344d9c0..7bb12a30d8b4a817f5a85969c6200306fd45a43d 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java @@ -950,6 +950,16 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider diff --git a/patches/server/0826-Use-correct-LevelStem-registry-when-loading-default-.patch b/patches/server/0825-Use-correct-LevelStem-registry-when-loading-default-.patch index 1fdfe05599..1fdfe05599 100644 --- a/patches/server/0826-Use-correct-LevelStem-registry-when-loading-default-.patch +++ b/patches/server/0825-Use-correct-LevelStem-registry-when-loading-default-.patch diff --git a/patches/server/0827-Get-entity-default-attributes.patch b/patches/server/0826-Get-entity-default-attributes.patch index 98147486b9..98147486b9 100644 --- a/patches/server/0827-Get-entity-default-attributes.patch +++ b/patches/server/0826-Get-entity-default-attributes.patch diff --git a/patches/server/0828-Left-handed-API.patch b/patches/server/0827-Left-handed-API.patch index 099fa6769c..099fa6769c 100644 --- a/patches/server/0828-Left-handed-API.patch +++ b/patches/server/0827-Left-handed-API.patch diff --git a/patches/server/0829-Add-advancement-display-API.patch b/patches/server/0828-Add-advancement-display-API.patch index 844b192d18..844b192d18 100644 --- a/patches/server/0829-Add-advancement-display-API.patch +++ b/patches/server/0828-Add-advancement-display-API.patch diff --git a/patches/server/0830-Add-ItemFactory-getMonsterEgg-API.patch b/patches/server/0829-Add-ItemFactory-getMonsterEgg-API.patch index a7a82e297a..a7a82e297a 100644 --- a/patches/server/0830-Add-ItemFactory-getMonsterEgg-API.patch +++ b/patches/server/0829-Add-ItemFactory-getMonsterEgg-API.patch diff --git a/patches/server/0831-Add-critical-damage-API.patch b/patches/server/0830-Add-critical-damage-API.patch index 549054d680..24e67d23bf 100644 --- a/patches/server/0831-Add-critical-damage-API.patch +++ b/patches/server/0830-Add-critical-damage-API.patch @@ -29,7 +29,7 @@ index 80d19af2ad423bd3de0e039c5bb8f97af536aaa9..a828cad27fcd39f8bfbaefa97052a2a3 public static DamageSource sting(LivingEntity attacker) { return new EntityDamageSource("sting", attacker); diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 1018f4640bab5876c5e0afb5b88f71437fb79662..cbdff14b26f67b5040c13659f9d64d9ec4c7eaed 100644 +index fa904d0477fabc20ce9830d85c840426b94950ac..465dab588e770bf4d1e645e1f451a066f388014a 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -2571,15 +2571,27 @@ public abstract class LivingEntity extends Entity { @@ -105,7 +105,7 @@ index 6636845ea044c3810e1880aad8b679134cd33668..52e4948fd1657fa1776ac6b0142e8c21 int k = entity.getRemainingFireTicks(); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 2b2654ec04e8abca9db09d6257edf11099bb0d9b..c0b46ff81994e037e734b75afadcce372c2ddd7f 100644 +index 5013a93f9bdc6d2c52239ca0434c7aa40f0572e1..aaf47d3f58819ead3553973c159c5c6eec4abe43 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -964,7 +964,7 @@ public class CraftEventFactory { diff --git a/patches/server/0832-Check-requirement-before-suggesting-root-nodes.patch b/patches/server/0831-Check-requirement-before-suggesting-root-nodes.patch index da19d3f1ca..da19d3f1ca 100644 --- a/patches/server/0832-Check-requirement-before-suggesting-root-nodes.patch +++ b/patches/server/0831-Check-requirement-before-suggesting-root-nodes.patch diff --git a/patches/server/0833-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch b/patches/server/0832-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch index 4fc21d4b21..ca90f94119 100644 --- a/patches/server/0833-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch +++ b/patches/server/0832-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Don't respond to ServerboundCommandSuggestionPacket when diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 71b4d5f7bbccf56cb519333ad2751d6a953f2c68..029c21d9416520469548293f9a2ec0c056507d05 100644 +index 43014e542600f4565615d33f5c1d19ec029af91d..621ec8e8a197323da6b423fee57c816ac9d7c875 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -796,6 +796,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser diff --git a/patches/server/0834-don-t-attempt-to-teleport-dead-entities.patch b/patches/server/0833-don-t-attempt-to-teleport-dead-entities.patch index 8b1157986f..03ab5f6515 100644 --- a/patches/server/0834-don-t-attempt-to-teleport-dead-entities.patch +++ b/patches/server/0833-don-t-attempt-to-teleport-dead-entities.patch @@ -5,7 +5,7 @@ Subject: [PATCH] don't attempt to teleport dead entities diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index e17bda0d13bae337cfad5ae31b118aa7a85499fc..2ce32495758abf64eeeeeea1cdbf4904be77b697 100644 +index a19ec0026d9a4ce26a0fc1eb9a55841712c7102f..61cbe87c1fe43b6ce22bf9008986f730af3067da 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -702,7 +702,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n diff --git a/patches/server/0835-Async-catch-modifications-to-critical-entity-state.patch b/patches/server/0834-Async-catch-modifications-to-critical-entity-state.patch index 48b3a5b713..48b3a5b713 100644 --- a/patches/server/0835-Async-catch-modifications-to-critical-entity-state.patch +++ b/patches/server/0834-Async-catch-modifications-to-critical-entity-state.patch diff --git a/patches/server/0836-Cache-palette-array.patch b/patches/server/0835-Cache-palette-array.patch index 2c787bbbc6..2c787bbbc6 100644 --- a/patches/server/0836-Cache-palette-array.patch +++ b/patches/server/0835-Cache-palette-array.patch diff --git a/patches/server/0837-Fix-Bukkit-NamespacedKey-shenanigans.patch b/patches/server/0836-Fix-Bukkit-NamespacedKey-shenanigans.patch index 8f152dd0e7..8f152dd0e7 100644 --- a/patches/server/0837-Fix-Bukkit-NamespacedKey-shenanigans.patch +++ b/patches/server/0836-Fix-Bukkit-NamespacedKey-shenanigans.patch diff --git a/patches/server/0838-Fix-issues-with-mob-conversion.patch b/patches/server/0837-Fix-issues-with-mob-conversion.patch index ce962e6de7..ce962e6de7 100644 --- a/patches/server/0838-Fix-issues-with-mob-conversion.patch +++ b/patches/server/0837-Fix-issues-with-mob-conversion.patch diff --git a/patches/server/0839-Add-isCollidable-methods-to-various-places.patch b/patches/server/0838-Add-isCollidable-methods-to-various-places.patch index 84c0379606..84c0379606 100644 --- a/patches/server/0839-Add-isCollidable-methods-to-various-places.patch +++ b/patches/server/0838-Add-isCollidable-methods-to-various-places.patch diff --git a/patches/server/0840-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch b/patches/server/0839-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch index 31e987614a..31e987614a 100644 --- a/patches/server/0840-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch +++ b/patches/server/0839-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch diff --git a/patches/server/0841-Goat-ram-API.patch b/patches/server/0840-Goat-ram-API.patch index 8491164ccb..8491164ccb 100644 --- a/patches/server/0841-Goat-ram-API.patch +++ b/patches/server/0840-Goat-ram-API.patch diff --git a/patches/server/0842-Add-Raw-Byte-Entity-Serialization.patch b/patches/server/0841-Add-Raw-Byte-Entity-Serialization.patch index f600a0f9f3..4452b44970 100644 --- a/patches/server/0842-Add-Raw-Byte-Entity-Serialization.patch +++ b/patches/server/0841-Add-Raw-Byte-Entity-Serialization.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add Raw Byte Entity Serialization diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 996f09eaf7d1d6c5e27e2bb2630a6bcb18854172..6d2cc9d1813c862dfd23cb6897d4f4f4845af529 100644 +index 61cbe87c1fe43b6ce22bf9008986f730af3067da..b7c4700fd5db14c77e7ee78311dd77a754d9d41c 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -2008,6 +2008,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n diff --git a/patches/server/0843-Call-onRemove-logic-for-breakNaturally.patch b/patches/server/0842-Call-onRemove-logic-for-breakNaturally.patch index 4db123eba9..4db123eba9 100644 --- a/patches/server/0843-Call-onRemove-logic-for-breakNaturally.patch +++ b/patches/server/0842-Call-onRemove-logic-for-breakNaturally.patch diff --git a/patches/server/0844-Add-API-for-resetting-a-single-score.patch b/patches/server/0843-Add-API-for-resetting-a-single-score.patch index c2e1fd93b9..c2e1fd93b9 100644 --- a/patches/server/0844-Add-API-for-resetting-a-single-score.patch +++ b/patches/server/0843-Add-API-for-resetting-a-single-score.patch diff --git a/patches/server/0845-Fix-anvil-prepare-event-not-working-with-zero-xp.patch b/patches/server/0844-Fix-anvil-prepare-event-not-working-with-zero-xp.patch index 1ee105facf..1ee105facf 100644 --- a/patches/server/0845-Fix-anvil-prepare-event-not-working-with-zero-xp.patch +++ b/patches/server/0844-Fix-anvil-prepare-event-not-working-with-zero-xp.patch diff --git a/patches/server/0846-Prevent-ContainerOpenersCounter-openCount-from-going.patch b/patches/server/0845-Prevent-ContainerOpenersCounter-openCount-from-going.patch index 879289cfe2..879289cfe2 100644 --- a/patches/server/0846-Prevent-ContainerOpenersCounter-openCount-from-going.patch +++ b/patches/server/0845-Prevent-ContainerOpenersCounter-openCount-from-going.patch diff --git a/patches/server/0846-Update-Log4J.patch b/patches/server/0846-Update-Log4J.patch new file mode 100644 index 0000000000..2e724f4774 --- /dev/null +++ b/patches/server/0846-Update-Log4J.patch @@ -0,0 +1,27 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: darbyjack <[email protected]> +Date: Thu, 9 Dec 2021 21:05:20 -0600 +Subject: [PATCH] Update Log4J + + +diff --git a/build.gradle.kts b/build.gradle.kts +index e067c69fea1dec79ef8e97cad1c74020b6a3a235..f442236efe30d7d9e0c6a8dfb0f040540dc62753 100644 +--- a/build.gradle.kts ++++ b/build.gradle.kts +@@ -33,11 +33,12 @@ 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 out hex color converter plugin ++ 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 out hex color converter plugin + // Paper end +- implementation("org.apache.logging.log4j:log4j-iostreams:2.14.1") // Paper +- implementation("org.apache.logging.log4j:log4j-api: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.apache.logging.log4j:log4j-api:2.15.0") // Paper + implementation("org.ow2.asm:asm:9.2") + implementation("org.ow2.asm:asm-commons:9.2") // Paper - ASM event executor generation + implementation("com.googlecode.json-simple:json-simple:1.1.1") { diff --git a/patches/server/0847-Backport-log4j-2.15.0-bugfix.patch b/patches/server/0847-Backport-log4j-2.15.0-bugfix.patch deleted file mode 100644 index 06ee675021..0000000000 --- a/patches/server/0847-Backport-log4j-2.15.0-bugfix.patch +++ /dev/null @@ -1,384 +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..2d7604fee68c27f644e1c2915f09758ee7c15cb8 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,54 @@ 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) { -+ // This is OK. -+ } - return (T) this.context.lookup(name); - } - -@@ -176,13 +261,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. |