diff options
author | Nassim Jahnke <[email protected]> | 2024-04-26 10:45:00 +0200 |
---|---|---|
committer | Nassim Jahnke <[email protected]> | 2024-04-26 10:45:00 +0200 |
commit | 813cfbf2b0c31f3468554cd6fd87bad5af03259c (patch) | |
tree | 248bb64d270c4822256a1db031b4a25dee20fe51 | |
parent | 7e9da43b33aab434a49743e7bc5e969a7bf3e7d2 (diff) | |
download | Paper-813cfbf2b0c31f3468554cd6fd87bad5af03259c.tar.gz Paper-813cfbf2b0c31f3468554cd6fd87bad5af03259c.zip |
Fix compile issues
-rw-r--r-- | patches/server/0971-Fix-bees-aging-inside-hives.patch (renamed from patches/server/1036-Fix-bees-aging-inside-hives.patch) | 0 | ||||
-rw-r--r-- | patches/server/0972-Disable-memory-reserve-allocating.patch (renamed from patches/server/0971-Disable-memory-reserve-allocating.patch) | 0 | ||||
-rw-r--r-- | patches/server/0973-Fire-EntityDamageByEntityEvent-for-unowned-wither-sk.patch (renamed from patches/server/0972-Fire-EntityDamageByEntityEvent-for-unowned-wither-sk.patch) | 0 | ||||
-rw-r--r-- | patches/server/0974-Fix-DamageSource-API.patch (renamed from patches/server/0973-Fix-DamageSource-API.patch) | 0 | ||||
-rw-r--r-- | patches/server/0975-Fix-creation-of-invalid-block-entity-during-world-ge.patch (renamed from patches/server/0974-Fix-creation-of-invalid-block-entity-during-world-ge.patch) | 0 | ||||
-rw-r--r-- | patches/server/0976-Fix-possible-StackOverflowError-for-some-dispenses.patch (renamed from patches/server/0975-Fix-possible-StackOverflowError-for-some-dispenses.patch) | 0 | ||||
-rw-r--r-- | patches/server/0977-Improve-tag-parser-handling.patch (renamed from patches/server/0976-Improve-tag-parser-handling.patch) | 0 | ||||
-rw-r--r-- | patches/server/0978-Item-Mutation-Fixes.patch (renamed from patches/server/0977-Item-Mutation-Fixes.patch) | 0 | ||||
-rw-r--r-- | patches/server/0979-Per-world-ticks-per-spawn-settings.patch (renamed from patches/server/0978-Per-world-ticks-per-spawn-settings.patch) | 0 | ||||
-rw-r--r-- | patches/server/0980-Properly-track-the-changed-item-from-dispense-events.patch (renamed from patches/server/0979-Properly-track-the-changed-item-from-dispense-events.patch) | 0 | ||||
-rw-r--r-- | patches/server/0981-Rewrite-dataconverter-system.patch (renamed from patches/server/0980-Rewrite-dataconverter-system.patch) | 0 | ||||
-rw-r--r-- | patches/server/0982-Suspicious-Effect-Entry-API.patch (renamed from patches/server/0981-Suspicious-Effect-Entry-API.patch) | 0 | ||||
-rw-r--r-- | patches/server/0983-check-if-itemstack-is-stackable-first.patch (renamed from patches/server/0982-check-if-itemstack-is-stackable-first.patch) | 0 | ||||
-rw-r--r-- | patches/server/0984-disable-forced-empty-world-ticks.patch (renamed from patches/server/0983-disable-forced-empty-world-ticks.patch) | 0 | ||||
-rw-r--r-- | patches/server/0985-Starlight.patch (renamed from patches/server/0984-Starlight.patch) | 0 | ||||
-rw-r--r-- | patches/server/0986-Rewrite-chunk-system.patch (renamed from patches/server/0985-Rewrite-chunk-system.patch) | 22 | ||||
-rw-r--r-- | patches/server/0987-incremental-chunk-and-player-saving.patch (renamed from patches/server/0986-incremental-chunk-and-player-saving.patch) | 2 | ||||
-rw-r--r-- | patches/server/0988-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch (renamed from patches/server/0987-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch) | 0 | ||||
-rw-r--r-- | patches/server/0989-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch (renamed from patches/server/0988-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch) | 2 | ||||
-rw-r--r-- | patches/server/0990-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch (renamed from patches/server/0989-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch) | 0 | ||||
-rw-r--r-- | patches/server/0991-Optimize-Network-Manager-and-add-advanced-packet-sup.patch (renamed from patches/server/0990-Optimize-Network-Manager-and-add-advanced-packet-sup.patch) | 0 | ||||
-rw-r--r-- | patches/server/0992-Allow-Saving-of-Oversized-Chunks.patch (renamed from patches/server/0991-Allow-Saving-of-Oversized-Chunks.patch) | 0 | ||||
-rw-r--r-- | patches/server/0993-Fix-World-isChunkGenerated-calls.patch (renamed from patches/server/0992-Fix-World-isChunkGenerated-calls.patch) | 0 | ||||
-rw-r--r-- | patches/server/0994-Flat-bedrock-generator-settings.patch (renamed from patches/server/0993-Flat-bedrock-generator-settings.patch) | 0 | ||||
-rw-r--r-- | patches/server/0995-Entity-Activation-Range-2.0.patch (renamed from patches/server/0994-Entity-Activation-Range-2.0.patch) | 2 | ||||
-rw-r--r-- | patches/server/0996-Optional-per-player-mob-spawns.patch (renamed from patches/server/0995-Optional-per-player-mob-spawns.patch) | 0 | ||||
-rw-r--r-- | patches/server/0997-Anti-Xray.patch (renamed from patches/server/0996-Anti-Xray.patch) | 2 | ||||
-rw-r--r-- | patches/server/0998-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch (renamed from patches/server/0997-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch) | 0 | ||||
-rw-r--r-- | patches/server/0999-Optimize-Collision-to-not-load-chunks.patch (renamed from patches/server/0998-Optimize-Collision-to-not-load-chunks.patch) | 0 | ||||
-rw-r--r-- | patches/server/1000-Optimize-GoalSelector-Goal.Flag-Set-operations.patch (renamed from patches/server/0999-Optimize-GoalSelector-Goal.Flag-Set-operations.patch) | 0 | ||||
-rw-r--r-- | patches/server/1001-Entity-load-save-limit-per-chunk.patch (renamed from patches/server/1000-Entity-load-save-limit-per-chunk.patch) | 0 | ||||
-rw-r--r-- | patches/server/1002-Improved-Watchdog-Support.patch (renamed from patches/server/1001-Improved-Watchdog-Support.patch) | 0 | ||||
-rw-r--r-- | patches/server/1003-Optimize-Voxel-Shape-Merging.patch (renamed from patches/server/1002-Optimize-Voxel-Shape-Merging.patch) | 0 | ||||
-rw-r--r-- | patches/server/1004-Write-SavedData-IO-async.patch (renamed from patches/server/1003-Write-SavedData-IO-async.patch) | 4 | ||||
-rw-r--r-- | patches/server/1005-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch (renamed from patches/server/1004-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch) | 0 | ||||
-rw-r--r-- | patches/server/1006-Use-distance-map-to-optimise-entity-tracker.patch (renamed from patches/server/1005-Use-distance-map-to-optimise-entity-tracker.patch) | 0 | ||||
-rw-r--r-- | patches/server/1007-Optimize-Bit-Operations-by-inlining.patch (renamed from patches/server/1006-Optimize-Bit-Operations-by-inlining.patch) | 0 | ||||
-rw-r--r-- | patches/server/1008-Remove-streams-from-hot-code.patch (renamed from patches/server/1007-Remove-streams-from-hot-code.patch) | 0 | ||||
-rw-r--r-- | patches/server/1009-Eigencraft-redstone-implementation.patch (renamed from patches/server/1008-Eigencraft-redstone-implementation.patch) | 0 | ||||
-rw-r--r-- | patches/server/1010-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch (renamed from patches/server/1009-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch) | 0 | ||||
-rw-r--r-- | patches/server/1011-Improve-boat-collision-performance.patch (renamed from patches/server/1010-Improve-boat-collision-performance.patch) | 0 | ||||
-rw-r--r-- | patches/server/1012-Optimise-general-POI-access.patch (renamed from patches/server/1011-Optimise-general-POI-access.patch) | 0 | ||||
-rw-r--r-- | patches/server/1013-Custom-table-implementation-for-blockstate-state-loo.patch (renamed from patches/server/1012-Custom-table-implementation-for-blockstate-state-loo.patch) | 0 | ||||
-rw-r--r-- | patches/server/1014-Execute-chunk-tasks-mid-tick.patch (renamed from patches/server/1013-Execute-chunk-tasks-mid-tick.patch) | 2 | ||||
-rw-r--r-- | patches/server/1015-Optimise-random-block-ticking.patch (renamed from patches/server/1014-Optimise-random-block-ticking.patch) | 2 | ||||
-rw-r--r-- | patches/server/1016-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch (renamed from patches/server/1015-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch) | 0 | ||||
-rw-r--r-- | patches/server/1017-Use-Velocity-compression-and-cipher-natives.patch (renamed from patches/server/1016-Use-Velocity-compression-and-cipher-natives.patch) | 0 | ||||
-rw-r--r-- | patches/server/1018-Detail-more-information-in-watchdog-dumps.patch (renamed from patches/server/1017-Detail-more-information-in-watchdog-dumps.patch) | 2 | ||||
-rw-r--r-- | patches/server/1019-Collision-optimisations.patch (renamed from patches/server/1018-Collision-optimisations.patch) | 0 | ||||
-rw-r--r-- | patches/server/1020-Optimise-collision-checking-in-player-move-packet-ha.patch (renamed from patches/server/1019-Optimise-collision-checking-in-player-move-packet-ha.patch) | 0 | ||||
-rw-r--r-- | patches/server/1021-Fix-tripwire-disarming-not-working-as-intended.patch (renamed from patches/server/1020-Fix-tripwire-disarming-not-working-as-intended.patch) | 0 | ||||
-rw-r--r-- | patches/server/1022-Fix-entity-type-tags-suggestions-in-selectors.patch (renamed from patches/server/1021-Fix-entity-type-tags-suggestions-in-selectors.patch) | 0 | ||||
-rw-r--r-- | patches/server/1023-Add-Alternate-Current-redstone-implementation.patch (renamed from patches/server/1022-Add-Alternate-Current-redstone-implementation.patch) | 2 | ||||
-rw-r--r-- | patches/server/1024-optimize-dirt-and-snow-spreading.patch (renamed from patches/server/1023-optimize-dirt-and-snow-spreading.patch) | 0 | ||||
-rw-r--r-- | patches/server/1025-Properly-resend-entities.patch (renamed from patches/server/1024-Properly-resend-entities.patch) | 0 | ||||
-rw-r--r-- | patches/server/1026-Optimize-Hoppers.patch (renamed from patches/server/1025-Optimize-Hoppers.patch) | 0 | ||||
-rw-r--r-- | patches/server/1027-Improve-performance-of-mass-crafts.patch (renamed from patches/server/1026-Improve-performance-of-mass-crafts.patch) | 0 | ||||
-rw-r--r-- | patches/server/1028-Actually-optimise-explosions.patch (renamed from patches/server/1027-Actually-optimise-explosions.patch) | 0 | ||||
-rw-r--r-- | patches/server/1029-Optimise-chunk-tick-iteration.patch (renamed from patches/server/1028-Optimise-chunk-tick-iteration.patch) | 0 | ||||
-rw-r--r-- | patches/server/1030-Lag-compensation-ticks.patch (renamed from patches/server/1029-Lag-compensation-ticks.patch) | 2 | ||||
-rw-r--r-- | patches/server/1031-Optimise-nearby-player-retrieval.patch (renamed from patches/server/1030-Optimise-nearby-player-retrieval.patch) | 2 | ||||
-rw-r--r-- | patches/server/1032-Distance-manager-tick-timings.patch (renamed from patches/server/1031-Distance-manager-tick-timings.patch) | 0 | ||||
-rw-r--r-- | patches/server/1033-Handle-Oversized-block-entities-in-chunks.patch (renamed from patches/server/1032-Handle-Oversized-block-entities-in-chunks.patch) | 0 | ||||
-rw-r--r-- | patches/server/1034-Send-full-pos-packets-for-hard-colliding-entities.patch (renamed from patches/server/1033-Send-full-pos-packets-for-hard-colliding-entities.patch) | 0 | ||||
-rw-r--r-- | patches/server/1035-Fix-and-optimise-world-force-upgrading.patch (renamed from patches/server/1034-Fix-and-optimise-world-force-upgrading.patch) | 56 | ||||
-rw-r--r-- | patches/server/1036-API-for-checking-sent-chunks.patch (renamed from patches/server/1035-API-for-checking-sent-chunks.patch) | 0 |
66 files changed, 65 insertions, 37 deletions
diff --git a/patches/server/1036-Fix-bees-aging-inside-hives.patch b/patches/server/0971-Fix-bees-aging-inside-hives.patch index ae6a0ff63d..ae6a0ff63d 100644 --- a/patches/server/1036-Fix-bees-aging-inside-hives.patch +++ b/patches/server/0971-Fix-bees-aging-inside-hives.patch diff --git a/patches/server/0971-Disable-memory-reserve-allocating.patch b/patches/server/0972-Disable-memory-reserve-allocating.patch index 30eabae9e8..30eabae9e8 100644 --- a/patches/server/0971-Disable-memory-reserve-allocating.patch +++ b/patches/server/0972-Disable-memory-reserve-allocating.patch diff --git a/patches/server/0972-Fire-EntityDamageByEntityEvent-for-unowned-wither-sk.patch b/patches/server/0973-Fire-EntityDamageByEntityEvent-for-unowned-wither-sk.patch index 5c5bb40964..5c5bb40964 100644 --- a/patches/server/0972-Fire-EntityDamageByEntityEvent-for-unowned-wither-sk.patch +++ b/patches/server/0973-Fire-EntityDamageByEntityEvent-for-unowned-wither-sk.patch diff --git a/patches/server/0973-Fix-DamageSource-API.patch b/patches/server/0974-Fix-DamageSource-API.patch index 0e5c644bc1..0e5c644bc1 100644 --- a/patches/server/0973-Fix-DamageSource-API.patch +++ b/patches/server/0974-Fix-DamageSource-API.patch diff --git a/patches/server/0974-Fix-creation-of-invalid-block-entity-during-world-ge.patch b/patches/server/0975-Fix-creation-of-invalid-block-entity-during-world-ge.patch index a745081446..a745081446 100644 --- a/patches/server/0974-Fix-creation-of-invalid-block-entity-during-world-ge.patch +++ b/patches/server/0975-Fix-creation-of-invalid-block-entity-during-world-ge.patch diff --git a/patches/server/0975-Fix-possible-StackOverflowError-for-some-dispenses.patch b/patches/server/0976-Fix-possible-StackOverflowError-for-some-dispenses.patch index 21910b922f..21910b922f 100644 --- a/patches/server/0975-Fix-possible-StackOverflowError-for-some-dispenses.patch +++ b/patches/server/0976-Fix-possible-StackOverflowError-for-some-dispenses.patch diff --git a/patches/server/0976-Improve-tag-parser-handling.patch b/patches/server/0977-Improve-tag-parser-handling.patch index 6f346ac4f2..6f346ac4f2 100644 --- a/patches/server/0976-Improve-tag-parser-handling.patch +++ b/patches/server/0977-Improve-tag-parser-handling.patch diff --git a/patches/server/0977-Item-Mutation-Fixes.patch b/patches/server/0978-Item-Mutation-Fixes.patch index 736d493c99..736d493c99 100644 --- a/patches/server/0977-Item-Mutation-Fixes.patch +++ b/patches/server/0978-Item-Mutation-Fixes.patch diff --git a/patches/server/0978-Per-world-ticks-per-spawn-settings.patch b/patches/server/0979-Per-world-ticks-per-spawn-settings.patch index ebdf89762d..ebdf89762d 100644 --- a/patches/server/0978-Per-world-ticks-per-spawn-settings.patch +++ b/patches/server/0979-Per-world-ticks-per-spawn-settings.patch diff --git a/patches/server/0979-Properly-track-the-changed-item-from-dispense-events.patch b/patches/server/0980-Properly-track-the-changed-item-from-dispense-events.patch index 9957c97ca3..9957c97ca3 100644 --- a/patches/server/0979-Properly-track-the-changed-item-from-dispense-events.patch +++ b/patches/server/0980-Properly-track-the-changed-item-from-dispense-events.patch diff --git a/patches/server/0980-Rewrite-dataconverter-system.patch b/patches/server/0981-Rewrite-dataconverter-system.patch index bbb4bda157..bbb4bda157 100644 --- a/patches/server/0980-Rewrite-dataconverter-system.patch +++ b/patches/server/0981-Rewrite-dataconverter-system.patch diff --git a/patches/server/0981-Suspicious-Effect-Entry-API.patch b/patches/server/0982-Suspicious-Effect-Entry-API.patch index 3d193a8a75..3d193a8a75 100644 --- a/patches/server/0981-Suspicious-Effect-Entry-API.patch +++ b/patches/server/0982-Suspicious-Effect-Entry-API.patch diff --git a/patches/server/0982-check-if-itemstack-is-stackable-first.patch b/patches/server/0983-check-if-itemstack-is-stackable-first.patch index 6143642997..6143642997 100644 --- a/patches/server/0982-check-if-itemstack-is-stackable-first.patch +++ b/patches/server/0983-check-if-itemstack-is-stackable-first.patch diff --git a/patches/server/0983-disable-forced-empty-world-ticks.patch b/patches/server/0984-disable-forced-empty-world-ticks.patch index 6ef5295591..6ef5295591 100644 --- a/patches/server/0983-disable-forced-empty-world-ticks.patch +++ b/patches/server/0984-disable-forced-empty-world-ticks.patch diff --git a/patches/server/0984-Starlight.patch b/patches/server/0985-Starlight.patch index 72b56b3d53..72b56b3d53 100644 --- a/patches/server/0984-Starlight.patch +++ b/patches/server/0985-Starlight.patch diff --git a/patches/server/0985-Rewrite-chunk-system.patch b/patches/server/0986-Rewrite-chunk-system.patch index 7cc9f21e95..ccf7a62637 100644 --- a/patches/server/0985-Rewrite-chunk-system.patch +++ b/patches/server/0986-Rewrite-chunk-system.patch @@ -18392,7 +18392,7 @@ index 2d9d4d06b75873f888ef4d8f5779a52706f821a8..f74efe41cd0da2f9749fc96fb9e0f7cf } diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 7dfbb3dd6100180abd2ebab4d1e9e34928666f9e..877f9d7a83fa817586f9f2dd2b10e06e9962b7c8 100644 +index 7dfbb3dd6100180abd2ebab4d1e9e34928666f9e..7f8793fa8260cb8a1f55d0ba405e6df0ae6f7321 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -199,7 +199,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -18733,7 +18733,7 @@ index 7dfbb3dd6100180abd2ebab4d1e9e34928666f9e..877f9d7a83fa817586f9f2dd2b10e06e boolean flag2 = minecraftserver.forceSynchronousWrites(); DataFixer datafixer = minecraftserver.getFixerUpper(); - EntityPersistentStorage<Entity> entitypersistentstorage = new EntityStorage(new SimpleRegionStorage(new RegionStorageInfo(convertable_conversionsession.getLevelId(), resourcekey, "entities"), convertable_conversionsession.getDimensionPath(resourcekey).resolve("entities"), datafixer, flag2, DataFixTypes.ENTITY_CHUNK), this, minecraftserver); -+ this.entityStorage = new EntityRegionFileStorage(convertable_conversionsession.getDimensionPath(resourcekey).resolve("entities"), flag2); // Paper - rewrite chunk system // EntityPersistentStorage<Entity> entitypersistentstorage = new EntityStorage(new SimpleRegionStorage(new RegionStorageInfo(convertable_conversionsession.getLevelId(), resourcekey, "entities"), convertable_conversionsession.getDimensionPath(resourcekey).resolve("entities"), datafixer, flag2, DataFixTypes.ENTITY_CHUNK), this, minecraftserver); ++ this.entityStorage = new EntityRegionFileStorage(new RegionStorageInfo(convertable_conversionsession.getLevelId(), resourcekey, "entities"), convertable_conversionsession.getDimensionPath(resourcekey).resolve("entities"), flag2); // Paper - rewrite chunk system - this.entityManager = new PersistentEntitySectionManager<>(Entity.class, new ServerLevel.EntityCallbacks(), entitypersistentstorage); + // this.entityManager = new PersistentEntitySectionManager<>(Entity.class, new ServerLevel.EntityCallbacks(), entitypersistentstorage, this.entitySliceManager); // Paper // Paper - rewrite chunk system @@ -19475,6 +19475,24 @@ index ea72dcb064a35bc6245bc5c94d592efedd8faf41..0793dfe47e68a2b48b010aad5b12dcfa @Override public boolean remove(Object object) { int i = this.findIndex((T)object); +diff --git a/src/main/java/net/minecraft/util/worldupdate/WorldUpgrader.java b/src/main/java/net/minecraft/util/worldupdate/WorldUpgrader.java +index 7984f17cd9c4cef8100909b6c33b3144c8096fcf..639f72618a7c22fa94effa9d0406b97fffc64cb5 100644 +--- a/src/main/java/net/minecraft/util/worldupdate/WorldUpgrader.java ++++ b/src/main/java/net/minecraft/util/worldupdate/WorldUpgrader.java +@@ -227,7 +227,13 @@ public class WorldUpgrader { + this.previousWriteFuture.join(); + } + ++ // Paper start - async chunk io ++ try { + this.previousWriteFuture = storage.write(chunkPos, nbttagcompound1); ++ } catch (final IOException e) { ++ com.destroystokyo.paper.util.SneakyThrow.sneaky(e); ++ } ++ // Paper end - async chunk io + return true; + } + } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java index 3c1bcf8d1a07b35a8688160c9f05f792451338a3..03840f520624662d4ce3ac9f3065a01c71b5f299 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/patches/server/0986-incremental-chunk-and-player-saving.patch b/patches/server/0987-incremental-chunk-and-player-saving.patch index 6dbbfeefeb..cd19b79c90 100644 --- a/patches/server/0986-incremental-chunk-and-player-saving.patch +++ b/patches/server/0987-incremental-chunk-and-player-saving.patch @@ -76,7 +76,7 @@ index f74efe41cd0da2f9749fc96fb9e0f7cf237ad1c6..d1728e13a7b649f308bde90ab633c79d public void close() throws IOException { // CraftBukkit start diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 877f9d7a83fa817586f9f2dd2b10e06e9962b7c8..412e167f6e29cbe905161c7e00736961f2c56c21 100644 +index 7f8793fa8260cb8a1f55d0ba405e6df0ae6f7321..db6a54c752ac39012537ec85ad31d5c8b886be1a 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -1302,6 +1302,37 @@ public class ServerLevel extends Level implements WorldGenLevel { diff --git a/patches/server/0987-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch b/patches/server/0988-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch index 474f3d6165..474f3d6165 100644 --- a/patches/server/0987-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch +++ b/patches/server/0988-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch diff --git a/patches/server/0988-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch b/patches/server/0989-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch index b9e0875686..c004efe2f5 100644 --- a/patches/server/0988-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch +++ b/patches/server/0989-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch @@ -13,7 +13,7 @@ custom renderers are in use, defaulting to the much simpler Vanilla system. Additionally, numerous issues to player position tracking on maps has been fixed. diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 412e167f6e29cbe905161c7e00736961f2c56c21..3203f95b8a877efb752fe2e6c58da6df9c8eede7 100644 +index db6a54c752ac39012537ec85ad31d5c8b886be1a..5285cc76b001a8b5fd5e11764a3aa11e45c9d999 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -2588,6 +2588,7 @@ public class ServerLevel extends Level implements WorldGenLevel { diff --git a/patches/server/0989-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch b/patches/server/0990-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch index 1a86ce02de..1a86ce02de 100644 --- a/patches/server/0989-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch +++ b/patches/server/0990-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch diff --git a/patches/server/0990-Optimize-Network-Manager-and-add-advanced-packet-sup.patch b/patches/server/0991-Optimize-Network-Manager-and-add-advanced-packet-sup.patch index 84396ba635..84396ba635 100644 --- a/patches/server/0990-Optimize-Network-Manager-and-add-advanced-packet-sup.patch +++ b/patches/server/0991-Optimize-Network-Manager-and-add-advanced-packet-sup.patch diff --git a/patches/server/0991-Allow-Saving-of-Oversized-Chunks.patch b/patches/server/0992-Allow-Saving-of-Oversized-Chunks.patch index c190834bbb..c190834bbb 100644 --- a/patches/server/0991-Allow-Saving-of-Oversized-Chunks.patch +++ b/patches/server/0992-Allow-Saving-of-Oversized-Chunks.patch diff --git a/patches/server/0992-Fix-World-isChunkGenerated-calls.patch b/patches/server/0993-Fix-World-isChunkGenerated-calls.patch index e2cdbd6062..e2cdbd6062 100644 --- a/patches/server/0992-Fix-World-isChunkGenerated-calls.patch +++ b/patches/server/0993-Fix-World-isChunkGenerated-calls.patch diff --git a/patches/server/0993-Flat-bedrock-generator-settings.patch b/patches/server/0994-Flat-bedrock-generator-settings.patch index 7103386726..7103386726 100644 --- a/patches/server/0993-Flat-bedrock-generator-settings.patch +++ b/patches/server/0994-Flat-bedrock-generator-settings.patch diff --git a/patches/server/0994-Entity-Activation-Range-2.0.patch b/patches/server/0995-Entity-Activation-Range-2.0.patch index f050b1b25b..fee8d41d7e 100644 --- a/patches/server/0994-Entity-Activation-Range-2.0.patch +++ b/patches/server/0995-Entity-Activation-Range-2.0.patch @@ -17,7 +17,7 @@ Adds villagers as separate config public net.minecraft.world.entity.Entity isInsidePortal diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 3203f95b8a877efb752fe2e6c58da6df9c8eede7..246c5d3e04044f5c5802ec5134dc69b8d8403a1a 100644 +index 5285cc76b001a8b5fd5e11764a3aa11e45c9d999..b7ca39623348090c5b85e2d80f67a1747553d7d7 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -2,7 +2,6 @@ package net.minecraft.server.level; diff --git a/patches/server/0995-Optional-per-player-mob-spawns.patch b/patches/server/0996-Optional-per-player-mob-spawns.patch index 11bc946b57..11bc946b57 100644 --- a/patches/server/0995-Optional-per-player-mob-spawns.patch +++ b/patches/server/0996-Optional-per-player-mob-spawns.patch diff --git a/patches/server/0996-Anti-Xray.patch b/patches/server/0997-Anti-Xray.patch index 00db1a4cc8..058f4c5c6a 100644 --- a/patches/server/0996-Anti-Xray.patch +++ b/patches/server/0997-Anti-Xray.patch @@ -1104,7 +1104,7 @@ index 183b2191fa1c1b27adedf39593e1b5a223fb1279..8ead66c134688b11dca15f6509147e72 private ClientboundLevelChunkWithLightPacket(RegistryFriendlyByteBuf buf) { diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 246c5d3e04044f5c5802ec5134dc69b8d8403a1a..885c64bd58de40b8fd03725f23cdbd0714a8cc69 100644 +index b7ca39623348090c5b85e2d80f67a1747553d7d7..bc609da7105293dfa4ed339f553be66b0a632698 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -575,7 +575,7 @@ public class ServerLevel extends Level implements WorldGenLevel { diff --git a/patches/server/0997-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch b/patches/server/0998-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch index 990f9615a7..990f9615a7 100644 --- a/patches/server/0997-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch +++ b/patches/server/0998-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch diff --git a/patches/server/0998-Optimize-Collision-to-not-load-chunks.patch b/patches/server/0999-Optimize-Collision-to-not-load-chunks.patch index 17286aaa99..17286aaa99 100644 --- a/patches/server/0998-Optimize-Collision-to-not-load-chunks.patch +++ b/patches/server/0999-Optimize-Collision-to-not-load-chunks.patch diff --git a/patches/server/0999-Optimize-GoalSelector-Goal.Flag-Set-operations.patch b/patches/server/1000-Optimize-GoalSelector-Goal.Flag-Set-operations.patch index 1f46712639..1f46712639 100644 --- a/patches/server/0999-Optimize-GoalSelector-Goal.Flag-Set-operations.patch +++ b/patches/server/1000-Optimize-GoalSelector-Goal.Flag-Set-operations.patch diff --git a/patches/server/1000-Entity-load-save-limit-per-chunk.patch b/patches/server/1001-Entity-load-save-limit-per-chunk.patch index 1dbf729bda..1dbf729bda 100644 --- a/patches/server/1000-Entity-load-save-limit-per-chunk.patch +++ b/patches/server/1001-Entity-load-save-limit-per-chunk.patch diff --git a/patches/server/1001-Improved-Watchdog-Support.patch b/patches/server/1002-Improved-Watchdog-Support.patch index c97e7e150a..c97e7e150a 100644 --- a/patches/server/1001-Improved-Watchdog-Support.patch +++ b/patches/server/1002-Improved-Watchdog-Support.patch diff --git a/patches/server/1002-Optimize-Voxel-Shape-Merging.patch b/patches/server/1003-Optimize-Voxel-Shape-Merging.patch index 4ec779560c..4ec779560c 100644 --- a/patches/server/1002-Optimize-Voxel-Shape-Merging.patch +++ b/patches/server/1003-Optimize-Voxel-Shape-Merging.patch diff --git a/patches/server/1003-Write-SavedData-IO-async.patch b/patches/server/1004-Write-SavedData-IO-async.patch index 646bf73ba6..68fd4545a8 100644 --- a/patches/server/1003-Write-SavedData-IO-async.patch +++ b/patches/server/1004-Write-SavedData-IO-async.patch @@ -24,7 +24,7 @@ index c7b7f153895a4b95b2071a31db00c9c4b69fa094..0b7a38b9e92b19345a34c6226413a9b1 // CraftBukkit start - modelled on below diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 885c64bd58de40b8fd03725f23cdbd0714a8cc69..75dc2f98cc2c723db01135a3a42f346a70c78208 100644 +index bc609da7105293dfa4ed339f553be66b0a632698..4b7cad5f551d620dbd091111df94fb39efcb79ac 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -1330,7 +1330,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -61,7 +61,7 @@ index 885c64bd58de40b8fd03725f23cdbd0714a8cc69..75dc2f98cc2c723db01135a3a42f346a public <T extends Entity> List<? extends T> getEntities(EntityTypeTest<Entity, T> filter, Predicate<? super T> predicate) { diff --git a/src/main/java/net/minecraft/util/worldupdate/WorldUpgrader.java b/src/main/java/net/minecraft/util/worldupdate/WorldUpgrader.java -index 7984f17cd9c4cef8100909b6c33b3144c8096fcf..868c9bbb12c8cfe76abb62774cf08102b727063b 100644 +index 639f72618a7c22fa94effa9d0406b97fffc64cb5..3e582c49069f2a820ba3baac03917493877d9875 100644 --- a/src/main/java/net/minecraft/util/worldupdate/WorldUpgrader.java +++ b/src/main/java/net/minecraft/util/worldupdate/WorldUpgrader.java @@ -116,7 +116,13 @@ public class WorldUpgrader { diff --git a/patches/server/1004-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch b/patches/server/1005-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch index 9d41c60b80..9d41c60b80 100644 --- a/patches/server/1004-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch +++ b/patches/server/1005-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch diff --git a/patches/server/1005-Use-distance-map-to-optimise-entity-tracker.patch b/patches/server/1006-Use-distance-map-to-optimise-entity-tracker.patch index 9b3aea7b9e..9b3aea7b9e 100644 --- a/patches/server/1005-Use-distance-map-to-optimise-entity-tracker.patch +++ b/patches/server/1006-Use-distance-map-to-optimise-entity-tracker.patch diff --git a/patches/server/1006-Optimize-Bit-Operations-by-inlining.patch b/patches/server/1007-Optimize-Bit-Operations-by-inlining.patch index a1f24dd8dc..a1f24dd8dc 100644 --- a/patches/server/1006-Optimize-Bit-Operations-by-inlining.patch +++ b/patches/server/1007-Optimize-Bit-Operations-by-inlining.patch diff --git a/patches/server/1007-Remove-streams-from-hot-code.patch b/patches/server/1008-Remove-streams-from-hot-code.patch index 4c6d94f7bf..4c6d94f7bf 100644 --- a/patches/server/1007-Remove-streams-from-hot-code.patch +++ b/patches/server/1008-Remove-streams-from-hot-code.patch diff --git a/patches/server/1008-Eigencraft-redstone-implementation.patch b/patches/server/1009-Eigencraft-redstone-implementation.patch index b3e3db6504..b3e3db6504 100644 --- a/patches/server/1008-Eigencraft-redstone-implementation.patch +++ b/patches/server/1009-Eigencraft-redstone-implementation.patch diff --git a/patches/server/1009-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch b/patches/server/1010-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch index 6fc4445bbf..6fc4445bbf 100644 --- a/patches/server/1009-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch +++ b/patches/server/1010-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch diff --git a/patches/server/1010-Improve-boat-collision-performance.patch b/patches/server/1011-Improve-boat-collision-performance.patch index 3cd32de1e5..3cd32de1e5 100644 --- a/patches/server/1010-Improve-boat-collision-performance.patch +++ b/patches/server/1011-Improve-boat-collision-performance.patch diff --git a/patches/server/1011-Optimise-general-POI-access.patch b/patches/server/1012-Optimise-general-POI-access.patch index 118734c246..118734c246 100644 --- a/patches/server/1011-Optimise-general-POI-access.patch +++ b/patches/server/1012-Optimise-general-POI-access.patch diff --git a/patches/server/1012-Custom-table-implementation-for-blockstate-state-loo.patch b/patches/server/1013-Custom-table-implementation-for-blockstate-state-loo.patch index 96d90abea3..96d90abea3 100644 --- a/patches/server/1012-Custom-table-implementation-for-blockstate-state-loo.patch +++ b/patches/server/1013-Custom-table-implementation-for-blockstate-state-loo.patch diff --git a/patches/server/1013-Execute-chunk-tasks-mid-tick.patch b/patches/server/1014-Execute-chunk-tasks-mid-tick.patch index dce1270092..a54580bc0d 100644 --- a/patches/server/1013-Execute-chunk-tasks-mid-tick.patch +++ b/patches/server/1014-Execute-chunk-tasks-mid-tick.patch @@ -123,7 +123,7 @@ index 0b7a38b9e92b19345a34c6226413a9b133264077..18640c8681f6a3b2276123d19e3e8f0a } } diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 75dc2f98cc2c723db01135a3a42f346a70c78208..54dcd9025b284dddc71b6821723be64d6e339613 100644 +index 4b7cad5f551d620dbd091111df94fb39efcb79ac..9cd54bc390f0629bf6b4494bd9c3a6e0927d1b7b 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -221,6 +221,7 @@ public class ServerLevel extends Level implements WorldGenLevel { diff --git a/patches/server/1014-Optimise-random-block-ticking.patch b/patches/server/1015-Optimise-random-block-ticking.patch index 548eeb1931..07b98dffde 100644 --- a/patches/server/1014-Optimise-random-block-ticking.patch +++ b/patches/server/1015-Optimise-random-block-ticking.patch @@ -90,7 +90,7 @@ index 0000000000000000000000000000000000000000..7d93652c1abbb6aee6eb7c26cf35d4d0 + } +} diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 54dcd9025b284dddc71b6821723be64d6e339613..3aeaf62226ba0a4df3445b966fccdb4e2abb9c8a 100644 +index 9cd54bc390f0629bf6b4494bd9c3a6e0927d1b7b..215f03dfe0e6441588679efaedbcf04c352b404c 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -867,6 +867,10 @@ public class ServerLevel extends Level implements WorldGenLevel { diff --git a/patches/server/1015-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch b/patches/server/1016-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch index 0bbbb36e0b..0bbbb36e0b 100644 --- a/patches/server/1015-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch +++ b/patches/server/1016-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch diff --git a/patches/server/1016-Use-Velocity-compression-and-cipher-natives.patch b/patches/server/1017-Use-Velocity-compression-and-cipher-natives.patch index c357a07cf3..c357a07cf3 100644 --- a/patches/server/1016-Use-Velocity-compression-and-cipher-natives.patch +++ b/patches/server/1017-Use-Velocity-compression-and-cipher-natives.patch diff --git a/patches/server/1017-Detail-more-information-in-watchdog-dumps.patch b/patches/server/1018-Detail-more-information-in-watchdog-dumps.patch index 748337cdcf..7859dad6a7 100644 --- a/patches/server/1017-Detail-more-information-in-watchdog-dumps.patch +++ b/patches/server/1018-Detail-more-information-in-watchdog-dumps.patch @@ -76,7 +76,7 @@ index e161ad0f53a21a68e8c78575ba5d3cdbdb11fca0..57e76b53e5e314c3e6b8856010f7a841 }); throw RunningOnDifferentThreadException.RUNNING_ON_DIFFERENT_THREAD; diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 3aeaf62226ba0a4df3445b966fccdb4e2abb9c8a..8fcc14a2e7ebc5261948c9ad71965bdd9cfe6dc1 100644 +index 215f03dfe0e6441588679efaedbcf04c352b404c..aabaaf89f5e344791604a7e05122d9865bb0224e 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -1251,7 +1251,26 @@ public class ServerLevel extends Level implements WorldGenLevel { diff --git a/patches/server/1018-Collision-optimisations.patch b/patches/server/1019-Collision-optimisations.patch index a6179487ff..a6179487ff 100644 --- a/patches/server/1018-Collision-optimisations.patch +++ b/patches/server/1019-Collision-optimisations.patch diff --git a/patches/server/1019-Optimise-collision-checking-in-player-move-packet-ha.patch b/patches/server/1020-Optimise-collision-checking-in-player-move-packet-ha.patch index 378e882366..378e882366 100644 --- a/patches/server/1019-Optimise-collision-checking-in-player-move-packet-ha.patch +++ b/patches/server/1020-Optimise-collision-checking-in-player-move-packet-ha.patch diff --git a/patches/server/1020-Fix-tripwire-disarming-not-working-as-intended.patch b/patches/server/1021-Fix-tripwire-disarming-not-working-as-intended.patch index fa7f6bde06..fa7f6bde06 100644 --- a/patches/server/1020-Fix-tripwire-disarming-not-working-as-intended.patch +++ b/patches/server/1021-Fix-tripwire-disarming-not-working-as-intended.patch diff --git a/patches/server/1021-Fix-entity-type-tags-suggestions-in-selectors.patch b/patches/server/1022-Fix-entity-type-tags-suggestions-in-selectors.patch index a31aeb7f18..a31aeb7f18 100644 --- a/patches/server/1021-Fix-entity-type-tags-suggestions-in-selectors.patch +++ b/patches/server/1022-Fix-entity-type-tags-suggestions-in-selectors.patch diff --git a/patches/server/1022-Add-Alternate-Current-redstone-implementation.patch b/patches/server/1023-Add-Alternate-Current-redstone-implementation.patch index 175473f980..afb3758607 100644 --- a/patches/server/1022-Add-Alternate-Current-redstone-implementation.patch +++ b/patches/server/1023-Add-Alternate-Current-redstone-implementation.patch @@ -2009,7 +2009,7 @@ index 0000000000000000000000000000000000000000..33cd90c30c22200a4e1ae64f40a0bf78 + } +} diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 8fcc14a2e7ebc5261948c9ad71965bdd9cfe6dc1..285580485b60ca4cd95a5d8ff807cb05dbe38d39 100644 +index aabaaf89f5e344791604a7e05122d9865bb0224e..2bfebbe0bc5a7f72c9ebe60fded260b3f94ac749 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 WorldGenLevel { diff --git a/patches/server/1023-optimize-dirt-and-snow-spreading.patch b/patches/server/1024-optimize-dirt-and-snow-spreading.patch index 49de7fcab9..49de7fcab9 100644 --- a/patches/server/1023-optimize-dirt-and-snow-spreading.patch +++ b/patches/server/1024-optimize-dirt-and-snow-spreading.patch diff --git a/patches/server/1024-Properly-resend-entities.patch b/patches/server/1025-Properly-resend-entities.patch index 4ac71e7b7c..4ac71e7b7c 100644 --- a/patches/server/1024-Properly-resend-entities.patch +++ b/patches/server/1025-Properly-resend-entities.patch diff --git a/patches/server/1025-Optimize-Hoppers.patch b/patches/server/1026-Optimize-Hoppers.patch index 1ac04bb94d..1ac04bb94d 100644 --- a/patches/server/1025-Optimize-Hoppers.patch +++ b/patches/server/1026-Optimize-Hoppers.patch diff --git a/patches/server/1026-Improve-performance-of-mass-crafts.patch b/patches/server/1027-Improve-performance-of-mass-crafts.patch index f9839d9135..f9839d9135 100644 --- a/patches/server/1026-Improve-performance-of-mass-crafts.patch +++ b/patches/server/1027-Improve-performance-of-mass-crafts.patch diff --git a/patches/server/1027-Actually-optimise-explosions.patch b/patches/server/1028-Actually-optimise-explosions.patch index a7db826672..a7db826672 100644 --- a/patches/server/1027-Actually-optimise-explosions.patch +++ b/patches/server/1028-Actually-optimise-explosions.patch diff --git a/patches/server/1028-Optimise-chunk-tick-iteration.patch b/patches/server/1029-Optimise-chunk-tick-iteration.patch index 4f7003d529..4f7003d529 100644 --- a/patches/server/1028-Optimise-chunk-tick-iteration.patch +++ b/patches/server/1029-Optimise-chunk-tick-iteration.patch diff --git a/patches/server/1029-Lag-compensation-ticks.patch b/patches/server/1030-Lag-compensation-ticks.patch index ea3ba5af19..0a7a4efe4a 100644 --- a/patches/server/1029-Lag-compensation-ticks.patch +++ b/patches/server/1030-Lag-compensation-ticks.patch @@ -28,7 +28,7 @@ index 1adcbfb16ea1fe3378cde7c53e8868840eade963..5f3b35f0dbd9e78ad18ef5cf7be1a807 this.profiler.push(() -> { String s = String.valueOf(worldserver); diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 285580485b60ca4cd95a5d8ff807cb05dbe38d39..5d79cabecc29b15ec4e71589fdbb7dc5d658d327 100644 +index 2bfebbe0bc5a7f72c9ebe60fded260b3f94ac749..89ecaaa774e59ad01eec0ce2fe546026a8b47ae8 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -570,6 +570,17 @@ public class ServerLevel extends Level implements WorldGenLevel { diff --git a/patches/server/1030-Optimise-nearby-player-retrieval.patch b/patches/server/1031-Optimise-nearby-player-retrieval.patch index aec655bc5b..080816f839 100644 --- a/patches/server/1030-Optimise-nearby-player-retrieval.patch +++ b/patches/server/1031-Optimise-nearby-player-retrieval.patch @@ -8,7 +8,7 @@ we can instead use the nearby player tracking system to reduce the number of tests per search. diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 5d79cabecc29b15ec4e71589fdbb7dc5d658d327..901a764a8c3ae5259fdc4729d22c9986361d39a8 100644 +index 89ecaaa774e59ad01eec0ce2fe546026a8b47ae8..12a9342634ffa7d6aaa9a7fdd65a45bccec8dd13 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -581,6 +581,115 @@ public class ServerLevel extends Level implements WorldGenLevel { diff --git a/patches/server/1031-Distance-manager-tick-timings.patch b/patches/server/1032-Distance-manager-tick-timings.patch index f946d92596..f946d92596 100644 --- a/patches/server/1031-Distance-manager-tick-timings.patch +++ b/patches/server/1032-Distance-manager-tick-timings.patch diff --git a/patches/server/1032-Handle-Oversized-block-entities-in-chunks.patch b/patches/server/1033-Handle-Oversized-block-entities-in-chunks.patch index b9ea4832bd..b9ea4832bd 100644 --- a/patches/server/1032-Handle-Oversized-block-entities-in-chunks.patch +++ b/patches/server/1033-Handle-Oversized-block-entities-in-chunks.patch diff --git a/patches/server/1033-Send-full-pos-packets-for-hard-colliding-entities.patch b/patches/server/1034-Send-full-pos-packets-for-hard-colliding-entities.patch index 6a98c63b52..6a98c63b52 100644 --- a/patches/server/1033-Send-full-pos-packets-for-hard-colliding-entities.patch +++ b/patches/server/1034-Send-full-pos-packets-for-hard-colliding-entities.patch diff --git a/patches/server/1034-Fix-and-optimise-world-force-upgrading.patch b/patches/server/1035-Fix-and-optimise-world-force-upgrading.patch index b98aab549c..a2e8bf7bcb 100644 --- a/patches/server/1034-Fix-and-optimise-world-force-upgrading.patch +++ b/patches/server/1035-Fix-and-optimise-world-force-upgrading.patch @@ -33,15 +33,17 @@ public net.minecraft.util.worldupdate.WorldUpgrader REGEX diff --git a/src/main/java/io/papermc/paper/world/ThreadedWorldUpgrader.java b/src/main/java/io/papermc/paper/world/ThreadedWorldUpgrader.java new file mode 100644 -index 0000000000000000000000000000000000000000..90498d9a4f5aee0f6c8a202b5580b4260a28b378 +index 0000000000000000000000000000000000000000..e049fbe4038aaea896f45b11ce9ce8f05922c898 --- /dev/null +++ b/src/main/java/io/papermc/paper/world/ThreadedWorldUpgrader.java -@@ -0,0 +1,212 @@ +@@ -0,0 +1,222 @@ +package io.papermc.paper.world; + +import com.mojang.datafixers.DataFixer; -+import com.mojang.serialization.Codec; ++import com.mojang.serialization.MapCodec; +import net.minecraft.SharedConstants; ++import net.minecraft.core.RegistryAccess; ++import net.minecraft.core.registries.Registries; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.resources.ResourceKey; +import net.minecraft.util.worldupdate.WorldUpgrader; @@ -50,9 +52,8 @@ index 0000000000000000000000000000000000000000..90498d9a4f5aee0f6c8a202b5580b426 +import net.minecraft.world.level.chunk.ChunkGenerator; +import net.minecraft.world.level.chunk.storage.ChunkStorage; +import net.minecraft.world.level.chunk.storage.RegionFileStorage; -+import net.minecraft.world.level.dimension.DimensionType; ++import net.minecraft.world.level.chunk.storage.RegionStorageInfo; +import net.minecraft.world.level.dimension.LevelStem; -+import net.minecraft.world.level.levelgen.WorldGenSettings; +import net.minecraft.world.level.storage.DimensionDataStorage; +import net.minecraft.world.level.storage.LevelStorageSource; +import org.apache.logging.log4j.LogManager; @@ -77,12 +78,13 @@ index 0000000000000000000000000000000000000000..90498d9a4f5aee0f6c8a202b5580b426 + private final File worldDir; + private final ExecutorService threadPool; + private final DataFixer dataFixer; -+ private final Optional<ResourceKey<Codec<? extends ChunkGenerator>>> generatorKey; ++ private final RegistryAccess registryLookup; ++ private final Optional<ResourceKey<MapCodec<? extends ChunkGenerator>>> generatorKey; + private final boolean removeCaches; + private final boolean recreateRegionFiles; // TODO + + public ThreadedWorldUpgrader(final ResourceKey<LevelStem> dimensionType, final String worldName, final File worldDir, final int threads, -+ final DataFixer dataFixer, final Optional<ResourceKey<Codec<? extends ChunkGenerator>>> generatorKey, ++ final DataFixer dataFixer, final RegistryAccess registryLookup, final Optional<ResourceKey<MapCodec<? extends ChunkGenerator>>> generatorKey, + final boolean removeCaches, final boolean recreateRegionFiles) { + this.dimensionType = dimensionType; + this.worldName = worldName; @@ -103,6 +105,7 @@ index 0000000000000000000000000000000000000000..90498d9a4f5aee0f6c8a202b5580b426 + } + }); + this.dataFixer = dataFixer; ++ this.registryLookup = registryLookup; + this.generatorKey = generatorKey; + this.removeCaches = removeCaches; + this.recreateRegionFiles = recreateRegionFiles; @@ -110,24 +113,31 @@ index 0000000000000000000000000000000000000000..90498d9a4f5aee0f6c8a202b5580b426 + + public void convert() { + final File worldFolder = LevelStorageSource.getStorageFolder(this.worldDir.toPath(), this.dimensionType).toFile(); -+ final DimensionDataStorage worldPersistentData = new DimensionDataStorage(new File(worldFolder, "data"), this.dataFixer); ++ final DimensionDataStorage worldPersistentData = new DimensionDataStorage(new File(worldFolder, "data"), this.dataFixer, this.registryLookup); + + final File regionFolder = new File(worldFolder, "region"); + -+ LOGGER.info("Force upgrading " + this.worldName); -+ LOGGER.info("Counting regionfiles for " + this.worldName); ++ LOGGER.info("Force upgrading {}", this.worldName); ++ LOGGER.info("Counting regionfiles for {}", this.worldName); + final File[] regionFiles = regionFolder.listFiles((final File dir, final String name) -> { + return WorldUpgrader.REGEX.matcher(name).matches(); + }); + if (regionFiles == null) { -+ LOGGER.info("Found no regionfiles to convert for world " + this.worldName); ++ LOGGER.info("Found no regionfiles to convert for world {}", this.worldName); + return; + } -+ LOGGER.info("Found " + regionFiles.length + " regionfiles to convert"); -+ LOGGER.info("Starting conversion now for world " + this.worldName); ++ LOGGER.info("Found {} regionfiles to convert", regionFiles.length); ++ LOGGER.info("Starting conversion now for world {}", this.worldName); ++ ++ // Only used for profiling, let's fill it anyways just in case ++ final RegionStorageInfo storageInfo = new RegionStorageInfo( ++ this.worldName, ++ ResourceKey.create(Registries.DIMENSION, this.dimensionType.location()), ++ "region" ++ ); + + final WorldInfo info = new WorldInfo(() -> worldPersistentData, -+ new ChunkStorage(regionFolder.toPath(), this.dataFixer, false), this.removeCaches, this.dimensionType, this.generatorKey); ++ new ChunkStorage(storageInfo, regionFolder.toPath(), this.dataFixer, false), this.removeCaches, this.dimensionType, this.generatorKey); + + long expectedChunks = (long)regionFiles.length * (32L * 32L); + @@ -173,12 +183,12 @@ index 0000000000000000000000000000000000000000..90498d9a4f5aee0f6c8a202b5580b426 + public final ChunkStorage loader; + public final boolean removeCaches; + public final ResourceKey<LevelStem> worldKey; -+ public final Optional<ResourceKey<Codec<? extends ChunkGenerator>>> generatorKey; ++ public final Optional<ResourceKey<MapCodec<? extends ChunkGenerator>>> generatorKey; + public final AtomicLong convertedChunks = new AtomicLong(); + public final AtomicLong modifiedChunks = new AtomicLong(); + + private WorldInfo(final Supplier<DimensionDataStorage> persistentDataSupplier, final ChunkStorage loader, final boolean removeCaches, -+ final ResourceKey<LevelStem> worldKey, Optional<ResourceKey<Codec<? extends ChunkGenerator>>> generatorKey) { ++ final ResourceKey<LevelStem> worldKey, Optional<ResourceKey<MapCodec<? extends ChunkGenerator>>> generatorKey) { + this.persistentDataSupplier = persistentDataSupplier; + this.loader = loader; + this.removeCaches = removeCaches; @@ -250,7 +260,7 @@ index 0000000000000000000000000000000000000000..90498d9a4f5aee0f6c8a202b5580b426 + } +} diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java -index 244a19ecd0234fa1d7a6ecfea20751595688605d..8893aa1fe4b033fdc25ebe6f3a3606af1f9b5ea7 100644 +index 244a19ecd0234fa1d7a6ecfea20751595688605d..5443013060b62e3bfcc51cddca96d1c0bc59fe72 100644 --- a/src/main/java/net/minecraft/server/Main.java +++ b/src/main/java/net/minecraft/server/Main.java @@ -392,6 +392,15 @@ public class Main { @@ -259,9 +269,9 @@ index 244a19ecd0234fa1d7a6ecfea20751595688605d..8893aa1fe4b033fdc25ebe6f3a3606af + // Paper start - fix and optimise world upgrading + public static void convertWorldButItWorks(net.minecraft.resources.ResourceKey<net.minecraft.world.level.dimension.LevelStem> dimensionType, net.minecraft.world.level.storage.LevelStorageSource.LevelStorageAccess worldSession, -+ DataFixer dataFixer, Optional<net.minecraft.resources.ResourceKey<com.mojang.serialization.Codec<? extends net.minecraft.world.level.chunk.ChunkGenerator>>> generatorKey, boolean removeCaches, boolean recreateRegionFiles) { ++ DataFixer dataFixer, RegistryAccess registryLookup, Optional<net.minecraft.resources.ResourceKey<com.mojang.serialization.MapCodec<? extends net.minecraft.world.level.chunk.ChunkGenerator>>> generatorKey, boolean removeCaches, boolean recreateRegionFiles) { + int threads = Runtime.getRuntime().availableProcessors() * 3 / 8; -+ final io.papermc.paper.world.ThreadedWorldUpgrader worldUpgrader = new io.papermc.paper.world.ThreadedWorldUpgrader(dimensionType, worldSession.getLevelId(), worldSession.levelDirectory.path().toFile(), threads, dataFixer, generatorKey, removeCaches, recreateRegionFiles); ++ final io.papermc.paper.world.ThreadedWorldUpgrader worldUpgrader = new io.papermc.paper.world.ThreadedWorldUpgrader(dimensionType, worldSession.getLevelId(), worldSession.levelDirectory.path().toFile(), threads, dataFixer, registryLookup, generatorKey, removeCaches, recreateRegionFiles); + worldUpgrader.convert(); + } + // Paper end - fix and optimise world upgrading @@ -270,7 +280,7 @@ index 244a19ecd0234fa1d7a6ecfea20751595688605d..8893aa1fe4b033fdc25ebe6f3a3606af Main.LOGGER.info("Forcing world upgrade! {}", session.getLevelId()); // CraftBukkit WorldUpgrader worldupgrader = new WorldUpgrader(session, dataFixer, dynamicRegistryManager, eraseCache, recreateRegionFiles); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 5f3b35f0dbd9e78ad18ef5cf7be1a807beffeaf1..a43f597d1148e00a6533f74c25ce272cd4e26dc4 100644 +index 5f3b35f0dbd9e78ad18ef5cf7be1a807beffeaf1..b2d558d21ec22577c31543b79527bde3daa1b871 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -599,11 +599,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -293,7 +303,7 @@ index 5f3b35f0dbd9e78ad18ef5cf7be1a807beffeaf1..a43f597d1148e00a6533f74c25ce272c + // Paper start - fix and optimise world upgrading + if (options.has("forceUpgrade")) { + net.minecraft.server.Main.convertWorldButItWorks( -+ dimensionKey, worldSession, DataFixers.getDataFixer(), worlddimension.generator().getTypeNameForDataFixer(), options.has("eraseCache"), console.has("recreateRegionFiles") ++ dimensionKey, worldSession, DataFixers.getDataFixer(), iregistrycustom_dimension, worlddimension.generator().getTypeNameForDataFixer(), options.has("eraseCache"), options.has("recreateRegionFiles") + ); + } + // Paper end - fix and optimise world upgrading @@ -355,7 +365,7 @@ index 249705ec1b8b692ef1d7fec34a04918afe6486bc..f6e3b745fc417354380d4a969f83aee4 return this.regionCache.getAndMoveToFirst(ChunkPos.asLong(chunkcoordintpair.getRegionX(), chunkcoordintpair.getRegionZ())); } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index ac9873c430a3ece5c4b5f5305496639a54ce35f5..3e29496ef9a551f692e4e9149d0e6ffc31fe66e9 100644 +index ac9873c430a3ece5c4b5f5305496639a54ce35f5..0a27ee956a623f6af3cd0f7d9dc1393fb2526412 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1366,9 +1366,7 @@ public final class CraftServer implements Server { @@ -376,7 +386,7 @@ index ac9873c430a3ece5c4b5f5305496639a54ce35f5..3e29496ef9a551f692e4e9149d0e6ffc + // Paper start - fix and optimise world upgrading + if (this.console.options.has("forceUpgrade")) { + net.minecraft.server.Main.convertWorldButItWorks( -+ actualDimension, worldSession, DataFixers.getDataFixer(), worlddimension.generator().getTypeNameForDataFixer(), this.console.options.has("eraseCache"), this.console.options.has("recreateRegionFiles") ++ actualDimension, worldSession, DataFixers.getDataFixer(), iregistrycustom_dimension, worlddimension.generator().getTypeNameForDataFixer(), this.console.options.has("eraseCache"), this.console.options.has("recreateRegionFiles") + ); + } + // Paper end - fix and optimise world upgrading diff --git a/patches/server/1035-API-for-checking-sent-chunks.patch b/patches/server/1036-API-for-checking-sent-chunks.patch index 6187f99887..6187f99887 100644 --- a/patches/server/1035-API-for-checking-sent-chunks.patch +++ b/patches/server/1036-API-for-checking-sent-chunks.patch |