diff options
author | Jake Potrebic <[email protected]> | 2024-04-26 19:33:30 -0700 |
---|---|---|
committer | Jake Potrebic <[email protected]> | 2024-04-26 19:33:30 -0700 |
commit | 81f4405e2630f408a07793564b6eb28b562ed78d (patch) | |
tree | 101fc10b1e39e32267c9f2c832bab85f5fd6ccb9 | |
parent | 9bac3894e1b2ee246b247b0ec0575adae605a6b1 (diff) | |
download | Paper-81f4405e2630f408a07793564b6eb28b562ed78d.tar.gz Paper-81f4405e2630f408a07793564b6eb28b562ed78d.zip |
add back hunk to async SavedData IO
-rw-r--r-- | patches/server/0602-Add-missing-team-sidebar-display-slots.patch | 18 | ||||
-rw-r--r-- | patches/server/1002-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch (renamed from patches/server/1003-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch) | 0 | ||||
-rw-r--r-- | patches/server/1003-Use-distance-map-to-optimise-entity-tracker.patch (renamed from patches/server/1004-Use-distance-map-to-optimise-entity-tracker.patch) | 0 | ||||
-rw-r--r-- | patches/server/1004-Optimize-Bit-Operations-by-inlining.patch (renamed from patches/server/1005-Optimize-Bit-Operations-by-inlining.patch) | 0 | ||||
-rw-r--r-- | patches/server/1005-Remove-streams-from-hot-code.patch (renamed from patches/server/1006-Remove-streams-from-hot-code.patch) | 0 | ||||
-rw-r--r-- | patches/server/1006-Eigencraft-redstone-implementation.patch (renamed from patches/server/1007-Eigencraft-redstone-implementation.patch) | 0 | ||||
-rw-r--r-- | patches/server/1007-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch (renamed from patches/server/1008-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch) | 0 | ||||
-rw-r--r-- | patches/server/1008-Improve-boat-collision-performance.patch (renamed from patches/server/1009-Improve-boat-collision-performance.patch) | 0 | ||||
-rw-r--r-- | patches/server/1009-Optimise-general-POI-access.patch (renamed from patches/server/1010-Optimise-general-POI-access.patch) | 0 | ||||
-rw-r--r-- | patches/server/1010-Custom-table-implementation-for-blockstate-state-loo.patch (renamed from patches/server/1011-Custom-table-implementation-for-blockstate-state-loo.patch) | 0 | ||||
-rw-r--r-- | patches/server/1011-Execute-chunk-tasks-mid-tick.patch (renamed from patches/server/1012-Execute-chunk-tasks-mid-tick.patch) | 8 | ||||
-rw-r--r-- | patches/server/1012-Optimise-random-block-ticking.patch (renamed from patches/server/1013-Optimise-random-block-ticking.patch) | 2 | ||||
-rw-r--r-- | patches/server/1013-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch (renamed from patches/server/1014-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch) | 0 | ||||
-rw-r--r-- | patches/server/1014-Use-Velocity-compression-and-cipher-natives.patch (renamed from patches/server/1015-Use-Velocity-compression-and-cipher-natives.patch) | 0 | ||||
-rw-r--r-- | patches/server/1015-Detail-more-information-in-watchdog-dumps.patch (renamed from patches/server/1016-Detail-more-information-in-watchdog-dumps.patch) | 2 | ||||
-rw-r--r-- | patches/server/1016-Collision-optimisations.patch (renamed from patches/server/1017-Collision-optimisations.patch) | 0 | ||||
-rw-r--r-- | patches/server/1017-Optimise-collision-checking-in-player-move-packet-ha.patch (renamed from patches/server/1018-Optimise-collision-checking-in-player-move-packet-ha.patch) | 0 | ||||
-rw-r--r-- | patches/server/1018-Fix-tripwire-disarming-not-working-as-intended.patch (renamed from patches/server/1019-Fix-tripwire-disarming-not-working-as-intended.patch) | 0 | ||||
-rw-r--r-- | patches/server/1019-Fix-entity-type-tags-suggestions-in-selectors.patch (renamed from patches/server/1020-Fix-entity-type-tags-suggestions-in-selectors.patch) | 0 | ||||
-rw-r--r-- | patches/server/1020-Add-Alternate-Current-redstone-implementation.patch (renamed from patches/server/1021-Add-Alternate-Current-redstone-implementation.patch) | 2 | ||||
-rw-r--r-- | patches/server/1021-optimize-dirt-and-snow-spreading.patch (renamed from patches/server/1022-optimize-dirt-and-snow-spreading.patch) | 0 | ||||
-rw-r--r-- | patches/server/1022-Properly-resend-entities.patch (renamed from patches/server/1023-Properly-resend-entities.patch) | 0 | ||||
-rw-r--r-- | patches/server/1023-Optimize-Hoppers.patch (renamed from patches/server/1024-Optimize-Hoppers.patch) | 0 | ||||
-rw-r--r-- | patches/server/1024-Improve-performance-of-mass-crafts.patch (renamed from patches/server/1025-Improve-performance-of-mass-crafts.patch) | 0 | ||||
-rw-r--r-- | patches/server/1025-Actually-optimise-explosions.patch (renamed from patches/server/1026-Actually-optimise-explosions.patch) | 0 | ||||
-rw-r--r-- | patches/server/1026-Optimise-chunk-tick-iteration.patch (renamed from patches/server/1027-Optimise-chunk-tick-iteration.patch) | 8 | ||||
-rw-r--r-- | patches/server/1027-Lag-compensation-ticks.patch (renamed from patches/server/1028-Lag-compensation-ticks.patch) | 2 | ||||
-rw-r--r-- | patches/server/1028-Optimise-nearby-player-retrieval.patch (renamed from patches/server/1029-Optimise-nearby-player-retrieval.patch) | 2 | ||||
-rw-r--r-- | patches/server/1029-Distance-manager-tick-timings.patch (renamed from patches/server/1030-Distance-manager-tick-timings.patch) | 0 | ||||
-rw-r--r-- | patches/server/1030-Handle-Oversized-block-entities-in-chunks.patch (renamed from patches/server/1031-Handle-Oversized-block-entities-in-chunks.patch) | 0 | ||||
-rw-r--r-- | patches/server/1031-Send-full-pos-packets-for-hard-colliding-entities.patch (renamed from patches/server/1032-Send-full-pos-packets-for-hard-colliding-entities.patch) | 0 | ||||
-rw-r--r-- | patches/server/1032-Fix-and-optimise-world-force-upgrading.patch (renamed from patches/server/1033-Fix-and-optimise-world-force-upgrading.patch) | 0 | ||||
-rw-r--r-- | patches/server/1033-API-for-checking-sent-chunks.patch (renamed from patches/server/1034-API-for-checking-sent-chunks.patch) | 0 | ||||
-rw-r--r-- | patches/server/1034-Properly-handle-pdc-and-custom-tags-in-ItemMeta.patch (renamed from patches/server/1035-Properly-handle-pdc-and-custom-tags-in-ItemMeta.patch) | 0 | ||||
-rw-r--r-- | patches/server/1035-handle-converting-old-serialized-names-to-new-names.patch (renamed from patches/server/1036-handle-converting-old-serialized-names-to-new-names.patch) | 0 | ||||
-rw-r--r-- | patches/server/1036-Add-config-for-mobs-immune-to-default-effects.patch (renamed from patches/server/1037-Add-config-for-mobs-immune-to-default-effects.patch) | 0 | ||||
-rw-r--r-- | patches/server/1037-Deep-clone-nbt-tags-in-PDC.patch (renamed from patches/server/1038-Deep-clone-nbt-tags-in-PDC.patch) | 0 | ||||
-rw-r--r-- | patches/server/1038-Support-old-UUID-format-for-NBT.patch (renamed from patches/server/1039-Support-old-UUID-format-for-NBT.patch) | 0 | ||||
-rw-r--r-- | patches/server/1039-Fix-shield-disable-inconsistency.patch (renamed from patches/server/1040-Fix-shield-disable-inconsistency.patch) | 0 | ||||
-rw-r--r-- | patches/server/1040-Write-SavedData-IO-async.patch (renamed from patches/server/1002-Write-SavedData-IO-async.patch) | 30 |
40 files changed, 46 insertions, 28 deletions
diff --git a/patches/server/0602-Add-missing-team-sidebar-display-slots.patch b/patches/server/0602-Add-missing-team-sidebar-display-slots.patch index 9d0068df5a..8e253e2960 100644 --- a/patches/server/0602-Add-missing-team-sidebar-display-slots.patch +++ b/patches/server/0602-Add-missing-team-sidebar-display-slots.patch @@ -9,30 +9,28 @@ public org.bukkit.craftbukkit.scoreboard.CraftScoreboardTranslations toBukkitSlo public org.bukkit.craftbukkit.scoreboard.CraftScoreboardTranslations fromBukkitSlot(Lorg/bukkit/scoreboard/DisplaySlot;)Lnet/minecraft/world/scores/DisplaySlot; diff --git a/src/main/java/org/bukkit/craftbukkit/legacy/FieldRename.java b/src/main/java/org/bukkit/craftbukkit/legacy/FieldRename.java -index 658f3962543a36bc8c16f306ccb3e254b5b3d0a8..7bef8539d26bced77406f49c0b6fd2c04e6e641e 100644 +index 658f3962543a36bc8c16f306ccb3e254b5b3d0a8..a1510dfd4824c0e246543d770f0e74f0f97c4ace 100644 --- a/src/main/java/org/bukkit/craftbukkit/legacy/FieldRename.java +++ b/src/main/java/org/bukkit/craftbukkit/legacy/FieldRename.java @@ -27,6 +27,7 @@ public class FieldRename { } return switch (owner) { -+ case "org/bukkit/scoreboard/DisplaySlot" -> FieldRename.convertDisplaySlot(apiVersion, from); // Paper - DisplaySlot ++ case "org/bukkit/scoreboard/DisplaySlot" -> FieldRename.convertDisplaySlot(from); // Paper - DisplaySlot case "org/bukkit/block/banner/PatternType" -> FieldRename.convertPatternTypeName(apiVersion, from); case "org/bukkit/enchantments/Enchantment" -> FieldRename.convertEnchantmentName(apiVersion, from); case "org/bukkit/block/Biome" -> FieldRename.convertBiomeName(apiVersion, from); -@@ -43,6 +44,18 @@ public class FieldRename { +@@ -43,6 +44,16 @@ public class FieldRename { }; } + // Paper start - DisplaySlot -+ private static final FieldRenameData DISPLAY_SLOT_DATA = FieldRenameData.Builder.newBuilder() -+ .forAllVersions() -+ .change("SIDEBAR_TEAM_", "SIDEBAR_") -+ .build(); -+ + @DoNotReroute -+ public static String convertDisplaySlot(ApiVersion version, String from) { -+ return FieldRename.DISPLAY_SLOT_DATA.getReplacement(version, from); ++ public static String convertDisplaySlot(final String from) { ++ if (from.startsWith("SIDEBAR_") && !from.startsWith("SIDEBAR_TEAM_")) { ++ return from.replace("SIDEBAR_", "SIDEBAR_TEAM_"); ++ } ++ return from; + } + // Paper end - DisplaySlot + diff --git a/patches/server/1003-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch b/patches/server/1002-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch index 9d41c60b80..9d41c60b80 100644 --- a/patches/server/1003-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch +++ b/patches/server/1002-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch diff --git a/patches/server/1004-Use-distance-map-to-optimise-entity-tracker.patch b/patches/server/1003-Use-distance-map-to-optimise-entity-tracker.patch index 22535d896b..22535d896b 100644 --- a/patches/server/1004-Use-distance-map-to-optimise-entity-tracker.patch +++ b/patches/server/1003-Use-distance-map-to-optimise-entity-tracker.patch diff --git a/patches/server/1005-Optimize-Bit-Operations-by-inlining.patch b/patches/server/1004-Optimize-Bit-Operations-by-inlining.patch index a1f24dd8dc..a1f24dd8dc 100644 --- a/patches/server/1005-Optimize-Bit-Operations-by-inlining.patch +++ b/patches/server/1004-Optimize-Bit-Operations-by-inlining.patch diff --git a/patches/server/1006-Remove-streams-from-hot-code.patch b/patches/server/1005-Remove-streams-from-hot-code.patch index 4c6d94f7bf..4c6d94f7bf 100644 --- a/patches/server/1006-Remove-streams-from-hot-code.patch +++ b/patches/server/1005-Remove-streams-from-hot-code.patch diff --git a/patches/server/1007-Eigencraft-redstone-implementation.patch b/patches/server/1006-Eigencraft-redstone-implementation.patch index b3e3db6504..b3e3db6504 100644 --- a/patches/server/1007-Eigencraft-redstone-implementation.patch +++ b/patches/server/1006-Eigencraft-redstone-implementation.patch diff --git a/patches/server/1008-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch b/patches/server/1007-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch index 6fc4445bbf..6fc4445bbf 100644 --- a/patches/server/1008-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch +++ b/patches/server/1007-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch diff --git a/patches/server/1009-Improve-boat-collision-performance.patch b/patches/server/1008-Improve-boat-collision-performance.patch index 3cd32de1e5..3cd32de1e5 100644 --- a/patches/server/1009-Improve-boat-collision-performance.patch +++ b/patches/server/1008-Improve-boat-collision-performance.patch diff --git a/patches/server/1010-Optimise-general-POI-access.patch b/patches/server/1009-Optimise-general-POI-access.patch index 118734c246..118734c246 100644 --- a/patches/server/1010-Optimise-general-POI-access.patch +++ b/patches/server/1009-Optimise-general-POI-access.patch diff --git a/patches/server/1011-Custom-table-implementation-for-blockstate-state-loo.patch b/patches/server/1010-Custom-table-implementation-for-blockstate-state-loo.patch index 96d90abea3..96d90abea3 100644 --- a/patches/server/1011-Custom-table-implementation-for-blockstate-state-loo.patch +++ b/patches/server/1010-Custom-table-implementation-for-blockstate-state-loo.patch diff --git a/patches/server/1012-Execute-chunk-tasks-mid-tick.patch b/patches/server/1011-Execute-chunk-tasks-mid-tick.patch index 5fb8977769..191ea66bd4 100644 --- a/patches/server/1012-Execute-chunk-tasks-mid-tick.patch +++ b/patches/server/1011-Execute-chunk-tasks-mid-tick.patch @@ -103,10 +103,10 @@ index f31fcf3054b201e52ee84b9523820dc619762eef..2cd2e260e9a958c8aee7b2fb4e010ef8 } else { boolean ret = false; // Paper - force execution of all worlds, do not just bias the first diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -index 0b7a38b9e92b19345a34c6226413a9b133264077..18640c8681f6a3b2276123d19e3e8f0a8c630b41 100644 +index c7b7f153895a4b95b2071a31db00c9c4b69fa094..7fbeebe63f755624b967374072aa2e0565ce8c35 100644 --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -@@ -566,6 +566,7 @@ public class ServerChunkCache extends ChunkSource { +@@ -559,6 +559,7 @@ public class ServerChunkCache extends ChunkSource { boolean flag1 = this.level.ticksPerSpawnCategory.getLong(org.bukkit.entity.SpawnCategory.ANIMAL) != 0L && this.level.getLevelData().getGameTime() % this.level.ticksPerSpawnCategory.getLong(org.bukkit.entity.SpawnCategory.ANIMAL) == 0L; // CraftBukkit Iterator iterator1 = list.iterator(); @@ -114,7 +114,7 @@ index 0b7a38b9e92b19345a34c6226413a9b133264077..18640c8681f6a3b2276123d19e3e8f0a while (iterator1.hasNext()) { ServerChunkCache.ChunkAndHolder chunkproviderserver_a = (ServerChunkCache.ChunkAndHolder) iterator1.next(); LevelChunk chunk1 = chunkproviderserver_a.chunk; -@@ -579,6 +580,7 @@ public class ServerChunkCache extends ChunkSource { +@@ -572,6 +573,7 @@ public class ServerChunkCache extends ChunkSource { if (this.level.shouldTickBlocksAt(chunkcoordintpair.toLong())) { this.level.tickChunk(chunk1, l); @@ -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 4b7cad5f551d620dbd091111df94fb39efcb79ac..9cd54bc390f0629bf6b4494bd9c3a6e0927d1b7b 100644 +index bc609da7105293dfa4ed339f553be66b0a632698..f9de1196c01c6e32ff1bfad33761bc64c1c6dc5d 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/1013-Optimise-random-block-ticking.patch b/patches/server/1012-Optimise-random-block-ticking.patch index 07b98dffde..b3874d8f37 100644 --- a/patches/server/1013-Optimise-random-block-ticking.patch +++ b/patches/server/1012-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 9cd54bc390f0629bf6b4494bd9c3a6e0927d1b7b..215f03dfe0e6441588679efaedbcf04c352b404c 100644 +index f9de1196c01c6e32ff1bfad33761bc64c1c6dc5d..b776f1083b8693d13ea523985bf6ec6a3f7ba8dc 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/1014-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch b/patches/server/1013-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch index 0bbbb36e0b..0bbbb36e0b 100644 --- a/patches/server/1014-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch +++ b/patches/server/1013-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch diff --git a/patches/server/1015-Use-Velocity-compression-and-cipher-natives.patch b/patches/server/1014-Use-Velocity-compression-and-cipher-natives.patch index c357a07cf3..c357a07cf3 100644 --- a/patches/server/1015-Use-Velocity-compression-and-cipher-natives.patch +++ b/patches/server/1014-Use-Velocity-compression-and-cipher-natives.patch diff --git a/patches/server/1016-Detail-more-information-in-watchdog-dumps.patch b/patches/server/1015-Detail-more-information-in-watchdog-dumps.patch index 7859dad6a7..6aa867b8a8 100644 --- a/patches/server/1016-Detail-more-information-in-watchdog-dumps.patch +++ b/patches/server/1015-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 215f03dfe0e6441588679efaedbcf04c352b404c..aabaaf89f5e344791604a7e05122d9865bb0224e 100644 +index b776f1083b8693d13ea523985bf6ec6a3f7ba8dc..b27dbee5bef643ed6e79845587f5c02ef238124c 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/1017-Collision-optimisations.patch b/patches/server/1016-Collision-optimisations.patch index a6179487ff..a6179487ff 100644 --- a/patches/server/1017-Collision-optimisations.patch +++ b/patches/server/1016-Collision-optimisations.patch diff --git a/patches/server/1018-Optimise-collision-checking-in-player-move-packet-ha.patch b/patches/server/1017-Optimise-collision-checking-in-player-move-packet-ha.patch index 378e882366..378e882366 100644 --- a/patches/server/1018-Optimise-collision-checking-in-player-move-packet-ha.patch +++ b/patches/server/1017-Optimise-collision-checking-in-player-move-packet-ha.patch diff --git a/patches/server/1019-Fix-tripwire-disarming-not-working-as-intended.patch b/patches/server/1018-Fix-tripwire-disarming-not-working-as-intended.patch index fa7f6bde06..fa7f6bde06 100644 --- a/patches/server/1019-Fix-tripwire-disarming-not-working-as-intended.patch +++ b/patches/server/1018-Fix-tripwire-disarming-not-working-as-intended.patch diff --git a/patches/server/1020-Fix-entity-type-tags-suggestions-in-selectors.patch b/patches/server/1019-Fix-entity-type-tags-suggestions-in-selectors.patch index a31aeb7f18..a31aeb7f18 100644 --- a/patches/server/1020-Fix-entity-type-tags-suggestions-in-selectors.patch +++ b/patches/server/1019-Fix-entity-type-tags-suggestions-in-selectors.patch diff --git a/patches/server/1021-Add-Alternate-Current-redstone-implementation.patch b/patches/server/1020-Add-Alternate-Current-redstone-implementation.patch index afb3758607..5b234ecc82 100644 --- a/patches/server/1021-Add-Alternate-Current-redstone-implementation.patch +++ b/patches/server/1020-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 aabaaf89f5e344791604a7e05122d9865bb0224e..2bfebbe0bc5a7f72c9ebe60fded260b3f94ac749 100644 +index b27dbee5bef643ed6e79845587f5c02ef238124c..232ee4e3f32b93f5ae725b025abd538fe8927d90 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/1022-optimize-dirt-and-snow-spreading.patch b/patches/server/1021-optimize-dirt-and-snow-spreading.patch index 49de7fcab9..49de7fcab9 100644 --- a/patches/server/1022-optimize-dirt-and-snow-spreading.patch +++ b/patches/server/1021-optimize-dirt-and-snow-spreading.patch diff --git a/patches/server/1023-Properly-resend-entities.patch b/patches/server/1022-Properly-resend-entities.patch index 4ac71e7b7c..4ac71e7b7c 100644 --- a/patches/server/1023-Properly-resend-entities.patch +++ b/patches/server/1022-Properly-resend-entities.patch diff --git a/patches/server/1024-Optimize-Hoppers.patch b/patches/server/1023-Optimize-Hoppers.patch index 89784a86e5..89784a86e5 100644 --- a/patches/server/1024-Optimize-Hoppers.patch +++ b/patches/server/1023-Optimize-Hoppers.patch diff --git a/patches/server/1025-Improve-performance-of-mass-crafts.patch b/patches/server/1024-Improve-performance-of-mass-crafts.patch index f9839d9135..f9839d9135 100644 --- a/patches/server/1025-Improve-performance-of-mass-crafts.patch +++ b/patches/server/1024-Improve-performance-of-mass-crafts.patch diff --git a/patches/server/1026-Actually-optimise-explosions.patch b/patches/server/1025-Actually-optimise-explosions.patch index a7db826672..a7db826672 100644 --- a/patches/server/1026-Actually-optimise-explosions.patch +++ b/patches/server/1025-Actually-optimise-explosions.patch diff --git a/patches/server/1027-Optimise-chunk-tick-iteration.patch b/patches/server/1026-Optimise-chunk-tick-iteration.patch index 1452dcd9c5..21131380ce 100644 --- a/patches/server/1027-Optimise-chunk-tick-iteration.patch +++ b/patches/server/1026-Optimise-chunk-tick-iteration.patch @@ -187,10 +187,10 @@ index ed5154e41ca858f4d6b4d1c276c66831c038d2a6..cdb3c2cde5d9133ef60cf96d91762e6a public String getDebugStatus() { diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -index 18640c8681f6a3b2276123d19e3e8f0a8c630b41..b99f50604bafecbc68835974c9ed0caa91911a40 100644 +index 7fbeebe63f755624b967374072aa2e0565ce8c35..36caf354634d6675a3f1ec6829f4778e1d0623bc 100644 --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -@@ -506,18 +506,10 @@ public class ServerChunkCache extends ChunkSource { +@@ -499,18 +499,10 @@ public class ServerChunkCache extends ChunkSource { gameprofilerfiller.push("pollingChunks"); gameprofilerfiller.push("filteringLoadedChunks"); @@ -211,7 +211,7 @@ index 18640c8681f6a3b2276123d19e3e8f0a8c630b41..b99f50604bafecbc68835974c9ed0caa if (this.level.tickRateManager().runsNormally()) { gameprofilerfiller.popPush("naturalSpawnCount"); -@@ -552,38 +544,109 @@ public class ServerChunkCache extends ChunkSource { +@@ -545,38 +537,109 @@ public class ServerChunkCache extends ChunkSource { gameprofilerfiller.popPush("spawnAndTick"); boolean flag = this.level.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && !this.level.players().isEmpty(); // CraftBukkit @@ -337,7 +337,7 @@ index 18640c8681f6a3b2276123d19e3e8f0a8c630b41..b99f50604bafecbc68835974c9ed0caa this.level.timings.chunkTicks.stopTiming(); // Paper gameprofilerfiller.popPush("customSpawners"); -@@ -595,11 +658,23 @@ public class ServerChunkCache extends ChunkSource { +@@ -588,11 +651,23 @@ public class ServerChunkCache extends ChunkSource { } gameprofilerfiller.popPush("broadcast"); diff --git a/patches/server/1028-Lag-compensation-ticks.patch b/patches/server/1027-Lag-compensation-ticks.patch index 2d5fbb4444..fb9ab1a352 100644 --- a/patches/server/1028-Lag-compensation-ticks.patch +++ b/patches/server/1027-Lag-compensation-ticks.patch @@ -28,7 +28,7 @@ index b21daeeb043df885fba5e6a7572d311fd0830815..8515cec5e21ad291ca427baaafb4c2f3 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 2bfebbe0bc5a7f72c9ebe60fded260b3f94ac749..89ecaaa774e59ad01eec0ce2fe546026a8b47ae8 100644 +index 232ee4e3f32b93f5ae725b025abd538fe8927d90..05e7a908c18b5eef49afb088b7519185bc806056 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/1029-Optimise-nearby-player-retrieval.patch b/patches/server/1028-Optimise-nearby-player-retrieval.patch index 080816f839..92bfc2ab50 100644 --- a/patches/server/1029-Optimise-nearby-player-retrieval.patch +++ b/patches/server/1028-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 89ecaaa774e59ad01eec0ce2fe546026a8b47ae8..12a9342634ffa7d6aaa9a7fdd65a45bccec8dd13 100644 +index 05e7a908c18b5eef49afb088b7519185bc806056..de3da37c40053789ba2c5d3754452ab49fa9962b 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/1030-Distance-manager-tick-timings.patch b/patches/server/1029-Distance-manager-tick-timings.patch index f946d92596..f946d92596 100644 --- a/patches/server/1030-Distance-manager-tick-timings.patch +++ b/patches/server/1029-Distance-manager-tick-timings.patch diff --git a/patches/server/1031-Handle-Oversized-block-entities-in-chunks.patch b/patches/server/1030-Handle-Oversized-block-entities-in-chunks.patch index b9ea4832bd..b9ea4832bd 100644 --- a/patches/server/1031-Handle-Oversized-block-entities-in-chunks.patch +++ b/patches/server/1030-Handle-Oversized-block-entities-in-chunks.patch diff --git a/patches/server/1032-Send-full-pos-packets-for-hard-colliding-entities.patch b/patches/server/1031-Send-full-pos-packets-for-hard-colliding-entities.patch index 6a98c63b52..6a98c63b52 100644 --- a/patches/server/1032-Send-full-pos-packets-for-hard-colliding-entities.patch +++ b/patches/server/1031-Send-full-pos-packets-for-hard-colliding-entities.patch diff --git a/patches/server/1033-Fix-and-optimise-world-force-upgrading.patch b/patches/server/1032-Fix-and-optimise-world-force-upgrading.patch index d2ea2179d5..d2ea2179d5 100644 --- a/patches/server/1033-Fix-and-optimise-world-force-upgrading.patch +++ b/patches/server/1032-Fix-and-optimise-world-force-upgrading.patch diff --git a/patches/server/1034-API-for-checking-sent-chunks.patch b/patches/server/1033-API-for-checking-sent-chunks.patch index 6187f99887..6187f99887 100644 --- a/patches/server/1034-API-for-checking-sent-chunks.patch +++ b/patches/server/1033-API-for-checking-sent-chunks.patch diff --git a/patches/server/1035-Properly-handle-pdc-and-custom-tags-in-ItemMeta.patch b/patches/server/1034-Properly-handle-pdc-and-custom-tags-in-ItemMeta.patch index b7399d5f48..b7399d5f48 100644 --- a/patches/server/1035-Properly-handle-pdc-and-custom-tags-in-ItemMeta.patch +++ b/patches/server/1034-Properly-handle-pdc-and-custom-tags-in-ItemMeta.patch diff --git a/patches/server/1036-handle-converting-old-serialized-names-to-new-names.patch b/patches/server/1035-handle-converting-old-serialized-names-to-new-names.patch index 0f14e72527..0f14e72527 100644 --- a/patches/server/1036-handle-converting-old-serialized-names-to-new-names.patch +++ b/patches/server/1035-handle-converting-old-serialized-names-to-new-names.patch diff --git a/patches/server/1037-Add-config-for-mobs-immune-to-default-effects.patch b/patches/server/1036-Add-config-for-mobs-immune-to-default-effects.patch index 7bf145751f..7bf145751f 100644 --- a/patches/server/1037-Add-config-for-mobs-immune-to-default-effects.patch +++ b/patches/server/1036-Add-config-for-mobs-immune-to-default-effects.patch diff --git a/patches/server/1038-Deep-clone-nbt-tags-in-PDC.patch b/patches/server/1037-Deep-clone-nbt-tags-in-PDC.patch index 9e7d548220..9e7d548220 100644 --- a/patches/server/1038-Deep-clone-nbt-tags-in-PDC.patch +++ b/patches/server/1037-Deep-clone-nbt-tags-in-PDC.patch diff --git a/patches/server/1039-Support-old-UUID-format-for-NBT.patch b/patches/server/1038-Support-old-UUID-format-for-NBT.patch index a38c2a7f7b..a38c2a7f7b 100644 --- a/patches/server/1039-Support-old-UUID-format-for-NBT.patch +++ b/patches/server/1038-Support-old-UUID-format-for-NBT.patch diff --git a/patches/server/1040-Fix-shield-disable-inconsistency.patch b/patches/server/1039-Fix-shield-disable-inconsistency.patch index 777f27d8bb..777f27d8bb 100644 --- a/patches/server/1040-Fix-shield-disable-inconsistency.patch +++ b/patches/server/1039-Fix-shield-disable-inconsistency.patch diff --git a/patches/server/1002-Write-SavedData-IO-async.patch b/patches/server/1040-Write-SavedData-IO-async.patch index 68fd4545a8..601abd1ff6 100644 --- a/patches/server/1002-Write-SavedData-IO-async.patch +++ b/patches/server/1040-Write-SavedData-IO-async.patch @@ -5,8 +5,28 @@ Subject: [PATCH] Write SavedData IO async Co-Authored-By: Shane Freeder <[email protected]> +diff --git a/src/main/java/io/papermc/paper/world/ThreadedWorldUpgrader.java b/src/main/java/io/papermc/paper/world/ThreadedWorldUpgrader.java +index e049fbe4038aaea896f45b11ce9ce8f05922c898..7f6d1ccd147e5593412567bb2934ce5662da7ef0 100644 +--- a/src/main/java/io/papermc/paper/world/ThreadedWorldUpgrader.java ++++ b/src/main/java/io/papermc/paper/world/ThreadedWorldUpgrader.java +@@ -110,6 +110,15 @@ public class ThreadedWorldUpgrader { + } + + this.threadPool.execute(new ConvertTask(info, regionPos.x >> 5, regionPos.z >> 5)); ++ // Paper start - Write SavedData IO async ++ this.threadPool.execute(() -> { ++ try { ++ worldPersistentData.close(); ++ } catch (IOException exception) { ++ LOGGER.error("Failed to close persistent world data", exception); ++ } ++ }); ++ // Paper end - Write SavedData IO async + } + this.threadPool.shutdown(); + diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -index c7b7f153895a4b95b2071a31db00c9c4b69fa094..0b7a38b9e92b19345a34c6226413a9b133264077 100644 +index 36caf354634d6675a3f1ec6829f4778e1d0623bc..b99f50604bafecbc68835974c9ed0caa91911a40 100644 --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java @@ -447,6 +447,13 @@ public class ServerChunkCache extends ChunkSource { @@ -24,10 +44,10 @@ 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 bc609da7105293dfa4ed339f553be66b0a632698..4b7cad5f551d620dbd091111df94fb39efcb79ac 100644 +index de3da37c40053789ba2c5d3754452ab49fa9962b..12a9342634ffa7d6aaa9a7fdd65a45bccec8dd13 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 { +@@ -1498,7 +1498,7 @@ public class ServerLevel extends Level implements WorldGenLevel { try (co.aikar.timings.Timing ignored = this.timings.worldSave.startTiming()) { if (doFull) { @@ -36,7 +56,7 @@ index bc609da7105293dfa4ed339f553be66b0a632698..4b7cad5f551d620dbd091111df94fb39 } this.timings.worldSaveChunks.startTiming(); // Paper -@@ -1366,7 +1366,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1534,7 +1534,7 @@ public class ServerLevel extends Level implements WorldGenLevel { progressListener.progressStartNoAbort(Component.translatable("menu.savingLevel")); } @@ -45,7 +65,7 @@ index bc609da7105293dfa4ed339f553be66b0a632698..4b7cad5f551d620dbd091111df94fb39 if (progressListener != null) { progressListener.progressStage(Component.translatable("menu.savingChunks")); } -@@ -1389,12 +1389,12 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1557,12 +1557,12 @@ public class ServerLevel extends Level implements WorldGenLevel { // CraftBukkit end } |