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