diff --git a/leaf-server/minecraft-patches/features/0100-Smooth-teleport-config.patch b/leaf-archived-patches/removed/hardfork/server/0100-Smooth-teleport-config.patch similarity index 99% rename from leaf-server/minecraft-patches/features/0100-Smooth-teleport-config.patch rename to leaf-archived-patches/removed/hardfork/server/0100-Smooth-teleport-config.patch index aef1c4e6..30429f8d 100644 --- a/leaf-server/minecraft-patches/features/0100-Smooth-teleport-config.patch +++ b/leaf-archived-patches/removed/hardfork/server/0100-Smooth-teleport-config.patch @@ -3,6 +3,8 @@ From: HaHaWTH <102713261+HaHaWTH@users.noreply.github.com> Date: Tue, 9 Nov 2077 00:00:00 +0800 Subject: [PATCH] Smooth teleport config +Removed since Leaf 1.21.4 + This abuses some of how Minecraft works and attempts to teleport a player to another world without triggering typical respawn packets. All of natural state of chunk resends, entity adds/removes, etc still happen but the visual "refresh" of a world change is hidden. Depending on the destination location/world, diff --git a/leaf-server/minecraft-patches/features/0101-Use-faster-and-thread-safe-ban-list-date-format-pars.patch b/leaf-server/minecraft-patches/features/0100-Use-faster-and-thread-safe-ban-list-date-format-pars.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0101-Use-faster-and-thread-safe-ban-list-date-format-pars.patch rename to leaf-server/minecraft-patches/features/0100-Use-faster-and-thread-safe-ban-list-date-format-pars.patch diff --git a/leaf-server/minecraft-patches/features/0102-Collect-then-startEachNonRunningBehavior-in-Brain.patch b/leaf-server/minecraft-patches/features/0101-Collect-then-startEachNonRunningBehavior-in-Brain.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0102-Collect-then-startEachNonRunningBehavior-in-Brain.patch rename to leaf-server/minecraft-patches/features/0101-Collect-then-startEachNonRunningBehavior-in-Brain.patch diff --git a/leaf-server/minecraft-patches/features/0103-Lithium-equipment-tracking.patch b/leaf-server/minecraft-patches/features/0102-Lithium-equipment-tracking.patch similarity index 99% rename from leaf-server/minecraft-patches/features/0103-Lithium-equipment-tracking.patch rename to leaf-server/minecraft-patches/features/0102-Lithium-equipment-tracking.patch index 25b5eb45..492f73c1 100644 --- a/leaf-server/minecraft-patches/features/0103-Lithium-equipment-tracking.patch +++ b/leaf-server/minecraft-patches/features/0102-Lithium-equipment-tracking.patch @@ -76,7 +76,7 @@ index a8c6549f772208cd543607224fef2c2389b14f24..709631db548a16a969a373e26ebbcd69 public boolean equals(Object other) { return this == other diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java -index eb79e6984810410c646d7b1910694d7df75dccba..69e91a732a497b2ffa906088a636947ce9a9ec36 100644 +index cbd68d1d5b92e426062776658a6bf525553ecb1b..668722c44bac3a9731d175a93aad8435e0c2c1c0 100644 --- a/net/minecraft/world/entity/LivingEntity.java +++ b/net/minecraft/world/entity/LivingEntity.java @@ -159,7 +159,7 @@ import org.bukkit.event.entity.EntityTeleportEvent; diff --git a/leaf-server/minecraft-patches/features/0104-C2ME-Optimize-world-gen-math.patch b/leaf-server/minecraft-patches/features/0103-C2ME-Optimize-world-gen-math.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0104-C2ME-Optimize-world-gen-math.patch rename to leaf-server/minecraft-patches/features/0103-C2ME-Optimize-world-gen-math.patch diff --git a/leaf-server/minecraft-patches/features/0105-Cache-chunk-key.patch b/leaf-server/minecraft-patches/features/0104-Cache-chunk-key.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0105-Cache-chunk-key.patch rename to leaf-server/minecraft-patches/features/0104-Cache-chunk-key.patch diff --git a/leaf-server/minecraft-patches/features/0106-Cache-random-tick-block-status.patch b/leaf-server/minecraft-patches/features/0105-Cache-random-tick-block-status.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0106-Cache-random-tick-block-status.patch rename to leaf-server/minecraft-patches/features/0105-Cache-random-tick-block-status.patch diff --git a/leaf-server/minecraft-patches/features/0107-Cache-part-of-canHoldFluid-result.patch b/leaf-server/minecraft-patches/features/0106-Cache-part-of-canHoldFluid-result.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0107-Cache-part-of-canHoldFluid-result.patch rename to leaf-server/minecraft-patches/features/0106-Cache-part-of-canHoldFluid-result.patch diff --git a/leaf-server/minecraft-patches/features/0108-Configurable-tripwire-dupe.patch b/leaf-server/minecraft-patches/features/0107-Configurable-tripwire-dupe.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0108-Configurable-tripwire-dupe.patch rename to leaf-server/minecraft-patches/features/0107-Configurable-tripwire-dupe.patch diff --git a/leaf-server/minecraft-patches/features/0109-PaperPR-Fix-MC-117075-Block-Entities-Unload-Lag-Spik.patch b/leaf-server/minecraft-patches/features/0108-PaperPR-Fix-MC-117075-Block-Entities-Unload-Lag-Spik.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0109-PaperPR-Fix-MC-117075-Block-Entities-Unload-Lag-Spik.patch rename to leaf-server/minecraft-patches/features/0108-PaperPR-Fix-MC-117075-Block-Entities-Unload-Lag-Spik.patch diff --git a/leaf-server/minecraft-patches/features/0110-Sepals-Rearrange-the-attackable-conditions.patch b/leaf-server/minecraft-patches/features/0109-Sepals-Rearrange-the-attackable-conditions.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0110-Sepals-Rearrange-the-attackable-conditions.patch rename to leaf-server/minecraft-patches/features/0109-Sepals-Rearrange-the-attackable-conditions.patch diff --git a/leaf-server/minecraft-patches/features/0111-SparklyPaper-Skip-dirty-stats-copy-when-requesting-p.patch b/leaf-server/minecraft-patches/features/0110-SparklyPaper-Skip-dirty-stats-copy-when-requesting-p.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0111-SparklyPaper-Skip-dirty-stats-copy-when-requesting-p.patch rename to leaf-server/minecraft-patches/features/0110-SparklyPaper-Skip-dirty-stats-copy-when-requesting-p.patch diff --git a/leaf-server/minecraft-patches/features/0112-SparklyPaper-Reset-dirty-flag-when-loading-maps-from.patch b/leaf-server/minecraft-patches/features/0111-SparklyPaper-Reset-dirty-flag-when-loading-maps-from.patch similarity index 91% rename from leaf-server/minecraft-patches/features/0112-SparklyPaper-Reset-dirty-flag-when-loading-maps-from.patch rename to leaf-server/minecraft-patches/features/0111-SparklyPaper-Reset-dirty-flag-when-loading-maps-from.patch index c9472249..46fae274 100644 --- a/leaf-server/minecraft-patches/features/0112-SparklyPaper-Reset-dirty-flag-when-loading-maps-from.patch +++ b/leaf-server/minecraft-patches/features/0111-SparklyPaper-Reset-dirty-flag-when-loading-maps-from.patch @@ -9,7 +9,7 @@ By default, the server will start rewriting all map datas to the disk after load This also slows down world saving a lot if you have a lot of maps diff --git a/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java b/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java -index 681dec447486138088fe5f705ef4fadab531139f..07f9287ff1f1dbd1795582c74102c072ea59b29f 100644 +index 27f8a22d798a17dbd5949d1b6ff0526837fe91d5..59829bb134555d96edcf4cbb844ccacb88c44961 100644 --- a/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java +++ b/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java @@ -198,6 +198,7 @@ public class MapItemSavedData extends SavedData { diff --git a/leaf-server/minecraft-patches/features/0113-Optimize-checking-nearby-players-for-spawning.patch b/leaf-server/minecraft-patches/features/0112-Optimize-checking-nearby-players-for-spawning.patch similarity index 97% rename from leaf-server/minecraft-patches/features/0113-Optimize-checking-nearby-players-for-spawning.patch rename to leaf-server/minecraft-patches/features/0112-Optimize-checking-nearby-players-for-spawning.patch index 6fde26d4..1d46527e 100644 --- a/leaf-server/minecraft-patches/features/0113-Optimize-checking-nearby-players-for-spawning.patch +++ b/leaf-server/minecraft-patches/features/0112-Optimize-checking-nearby-players-for-spawning.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Optimize checking nearby players for spawning diff --git a/net/minecraft/server/level/ChunkMap.java b/net/minecraft/server/level/ChunkMap.java -index 8986c059e7aadb58ae8d9ab7b848de10f9faa6b2..546b20f8998c71ca1a701de7efcedd8d821105e4 100644 +index c55c8e9b777e4999a8a8de6d821b53245dc578c2..f3be481a92b4f5403809c38d3b3431f4096d7a2e 100644 --- a/net/minecraft/server/level/ChunkMap.java +++ b/net/minecraft/server/level/ChunkMap.java @@ -719,7 +719,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider diff --git a/leaf-server/minecraft-patches/features/0114-Cache-supporting-block-check.patch b/leaf-server/minecraft-patches/features/0113-Cache-supporting-block-check.patch similarity index 96% rename from leaf-server/minecraft-patches/features/0114-Cache-supporting-block-check.patch rename to leaf-server/minecraft-patches/features/0113-Cache-supporting-block-check.patch index 133644d2..044b101e 100644 --- a/leaf-server/minecraft-patches/features/0114-Cache-supporting-block-check.patch +++ b/leaf-server/minecraft-patches/features/0113-Cache-supporting-block-check.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Cache supporting block check diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index 4544dd876d3cbcdb9b774b4a1f0c4737f3124bc5..6ca446fd9ab38329ba505526a56f8e4f64a9a639 100644 +index 80ad278eac81aac72d6ec7737287ad018eff7c54..9bc978ca290ca772b0367e89b69fe16b502b0cd2 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java @@ -1083,12 +1083,36 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/leaf-server/minecraft-patches/features/0115-Avoid-useless-deque-clear-on-LevelTicks-cleanupAfter.patch b/leaf-server/minecraft-patches/features/0114-Avoid-useless-deque-clear-on-LevelTicks-cleanupAfter.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0115-Avoid-useless-deque-clear-on-LevelTicks-cleanupAfter.patch rename to leaf-server/minecraft-patches/features/0114-Avoid-useless-deque-clear-on-LevelTicks-cleanupAfter.patch diff --git a/leaf-server/minecraft-patches/features/0116-Replace-brain-activity-maps-with-optimized-collectio.patch b/leaf-server/minecraft-patches/features/0115-Replace-brain-activity-maps-with-optimized-collectio.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0116-Replace-brain-activity-maps-with-optimized-collectio.patch rename to leaf-server/minecraft-patches/features/0115-Replace-brain-activity-maps-with-optimized-collectio.patch diff --git a/leaf-server/minecraft-patches/features/0117-Remove-stream-in-villagers.patch b/leaf-server/minecraft-patches/features/0116-Remove-stream-in-villagers.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0117-Remove-stream-in-villagers.patch rename to leaf-server/minecraft-patches/features/0116-Remove-stream-in-villagers.patch diff --git a/leaf-server/minecraft-patches/features/0118-Optimize-baby-villager-sensor.patch b/leaf-server/minecraft-patches/features/0117-Optimize-baby-villager-sensor.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0118-Optimize-baby-villager-sensor.patch rename to leaf-server/minecraft-patches/features/0117-Optimize-baby-villager-sensor.patch diff --git a/leaf-server/minecraft-patches/features/0119-Only-player-pushable.patch b/leaf-server/minecraft-patches/features/0118-Only-player-pushable.patch similarity index 98% rename from leaf-server/minecraft-patches/features/0119-Only-player-pushable.patch rename to leaf-server/minecraft-patches/features/0118-Only-player-pushable.patch index 1f472084..a7a9151f 100644 --- a/leaf-server/minecraft-patches/features/0119-Only-player-pushable.patch +++ b/leaf-server/minecraft-patches/features/0118-Only-player-pushable.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Only player pushable Useful for extreme cases like massive entities collide together in a small area diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java -index 69e91a732a497b2ffa906088a636947ce9a9ec36..d455406df1f3a4c3d1bd016d50d1d7025366ae80 100644 +index 668722c44bac3a9731d175a93aad8435e0c2c1c0..156d0c14eedf2f79e4276cc4065e19a43699b965 100644 --- a/net/minecraft/world/entity/LivingEntity.java +++ b/net/minecraft/world/entity/LivingEntity.java @@ -3631,7 +3631,7 @@ public abstract class LivingEntity extends Entity implements Attackable, net.caf diff --git a/leaf-server/minecraft-patches/features/0120-Remove-iterators-from-Inventory-contains.patch b/leaf-server/minecraft-patches/features/0119-Remove-iterators-from-Inventory-contains.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0120-Remove-iterators-from-Inventory-contains.patch rename to leaf-server/minecraft-patches/features/0119-Remove-iterators-from-Inventory-contains.patch diff --git a/leaf-server/minecraft-patches/features/0121-Alternative-Brain-Behaviour.patch b/leaf-server/minecraft-patches/features/0120-Alternative-Brain-Behaviour.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0121-Alternative-Brain-Behaviour.patch rename to leaf-server/minecraft-patches/features/0120-Alternative-Brain-Behaviour.patch diff --git a/leaf-server/minecraft-patches/features/0122-Cache-eligible-players-for-despawn-checks.patch b/leaf-server/minecraft-patches/features/0121-Cache-eligible-players-for-despawn-checks.patch similarity index 96% rename from leaf-server/minecraft-patches/features/0122-Cache-eligible-players-for-despawn-checks.patch rename to leaf-server/minecraft-patches/features/0121-Cache-eligible-players-for-despawn-checks.patch index cfe0faaf..d9fc4b67 100644 --- a/leaf-server/minecraft-patches/features/0122-Cache-eligible-players-for-despawn-checks.patch +++ b/leaf-server/minecraft-patches/features/0121-Cache-eligible-players-for-despawn-checks.patch @@ -38,10 +38,10 @@ index 61afe93ff7f6f6ac3967e948bf39b0ab559e2808..a66e5f6652d9633c856490de36d8d8fd .forEach( entity -> { diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java -index 82a1715fea41e6a41c4ff441ea89f424f68ba190..8362def0dc61496a087bd859052bd80ebba83185 100644 +index 4f01b53bf801f99253efd27df6216912705d18af..89df0f6893775df01e1470bb04f0059cec65ff70 100644 --- a/net/minecraft/server/level/ServerPlayer.java +++ b/net/minecraft/server/level/ServerPlayer.java -@@ -1570,6 +1570,13 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -1569,6 +1569,13 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc this.containerMenu.broadcastChanges(); } diff --git a/leaf-server/minecraft-patches/features/0123-Slightly-optimise-getNearestPlayer.patch b/leaf-server/minecraft-patches/features/0122-Slightly-optimise-getNearestPlayer.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0123-Slightly-optimise-getNearestPlayer.patch rename to leaf-server/minecraft-patches/features/0122-Slightly-optimise-getNearestPlayer.patch diff --git a/leaf-server/minecraft-patches/features/0124-Use-ensureCapacity-to-pre-populate-the-size-of-ticki.patch b/leaf-server/minecraft-patches/features/0123-Use-ensureCapacity-to-pre-populate-the-size-of-ticki.patch similarity index 92% rename from leaf-server/minecraft-patches/features/0124-Use-ensureCapacity-to-pre-populate-the-size-of-ticki.patch rename to leaf-server/minecraft-patches/features/0123-Use-ensureCapacity-to-pre-populate-the-size-of-ticki.patch index fb95a3e9..f2134f69 100644 --- a/leaf-server/minecraft-patches/features/0124-Use-ensureCapacity-to-pre-populate-the-size-of-ticki.patch +++ b/leaf-server/minecraft-patches/features/0123-Use-ensureCapacity-to-pre-populate-the-size-of-ticki.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Use ensureCapacity to pre-populate the size of ticking chunks diff --git a/net/minecraft/server/level/ServerChunkCache.java b/net/minecraft/server/level/ServerChunkCache.java -index 6735f9e23c8972b7cf1438a2f3b49d780c1ff78c..c80464d333bd37a9b8bc7cea2291c8c72e6f9bd6 100644 +index 0fd51020ca9480be2855eb58a7d4d43511829512..b1400a1cc41717437ccb0f2b7854e54c5b985985 100644 --- a/net/minecraft/server/level/ServerChunkCache.java +++ b/net/minecraft/server/level/ServerChunkCache.java @@ -585,7 +585,11 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon diff --git a/leaf-server/minecraft-patches/features/0125-Directly-use-the-pre-filtered-ticking-chunks-list-as.patch b/leaf-server/minecraft-patches/features/0124-Directly-use-the-pre-filtered-ticking-chunks-list-as.patch similarity index 93% rename from leaf-server/minecraft-patches/features/0125-Directly-use-the-pre-filtered-ticking-chunks-list-as.patch rename to leaf-server/minecraft-patches/features/0124-Directly-use-the-pre-filtered-ticking-chunks-list-as.patch index 792385ff..0e88f4e9 100644 --- a/leaf-server/minecraft-patches/features/0125-Directly-use-the-pre-filtered-ticking-chunks-list-as.patch +++ b/leaf-server/minecraft-patches/features/0124-Directly-use-the-pre-filtered-ticking-chunks-list-as.patch @@ -7,7 +7,7 @@ Subject: [PATCH] Directly use the pre-filtered ticking chunks list as the This patch uses already pre filtered chunks, which completely skips the isChunkNearPlayer check diff --git a/net/minecraft/server/level/ServerChunkCache.java b/net/minecraft/server/level/ServerChunkCache.java -index c80464d333bd37a9b8bc7cea2291c8c72e6f9bd6..b1f1b596a597d559aa672a3cb46a03917ad746af 100644 +index b1400a1cc41717437ccb0f2b7854e54c5b985985..f57f8e610dac80b8095bfc0c7e4b22ff5ad6b13c 100644 --- a/net/minecraft/server/level/ServerChunkCache.java +++ b/net/minecraft/server/level/ServerChunkCache.java @@ -592,14 +592,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon diff --git a/leaf-server/minecraft-patches/features/0126-Bulk-writes-to-writeLongArray-during-chunk-loading.patch b/leaf-server/minecraft-patches/features/0125-Bulk-writes-to-writeLongArray-during-chunk-loading.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0126-Bulk-writes-to-writeLongArray-during-chunk-loading.patch rename to leaf-server/minecraft-patches/features/0125-Bulk-writes-to-writeLongArray-during-chunk-loading.patch diff --git a/leaf-server/minecraft-patches/features/0127-Improve-sorting-in-SortedArraySet.patch b/leaf-server/minecraft-patches/features/0126-Improve-sorting-in-SortedArraySet.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0127-Improve-sorting-in-SortedArraySet.patch rename to leaf-server/minecraft-patches/features/0126-Improve-sorting-in-SortedArraySet.patch diff --git a/leaf-server/minecraft-patches/features/0128-Make-removeIf-slightly-faster.patch b/leaf-server/minecraft-patches/features/0127-Make-removeIf-slightly-faster.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0128-Make-removeIf-slightly-faster.patch rename to leaf-server/minecraft-patches/features/0127-Make-removeIf-slightly-faster.patch diff --git a/leaf-server/minecraft-patches/features/0129-Optimize-LinearPalette.patch b/leaf-server/minecraft-patches/features/0128-Optimize-LinearPalette.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0129-Optimize-LinearPalette.patch rename to leaf-server/minecraft-patches/features/0128-Optimize-LinearPalette.patch diff --git a/leaf-server/minecraft-patches/features/0130-Slightly-optimized-VarInt-write.patch b/leaf-server/minecraft-patches/features/0129-Slightly-optimized-VarInt-write.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0130-Slightly-optimized-VarInt-write.patch rename to leaf-server/minecraft-patches/features/0129-Slightly-optimized-VarInt-write.patch diff --git a/leaf-server/minecraft-patches/features/0131-Rewrite-ClientboundLightUpdatePacketData.patch b/leaf-server/minecraft-patches/features/0130-Rewrite-ClientboundLightUpdatePacketData.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0131-Rewrite-ClientboundLightUpdatePacketData.patch rename to leaf-server/minecraft-patches/features/0130-Rewrite-ClientboundLightUpdatePacketData.patch diff --git a/leaf-server/minecraft-patches/features/0132-Async-chunk-send.patch b/leaf-server/minecraft-patches/features/0131-Async-chunk-send.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0132-Async-chunk-send.patch rename to leaf-server/minecraft-patches/features/0131-Async-chunk-send.patch diff --git a/leaf-server/minecraft-patches/features/0133-Spawner-Configurations.patch b/leaf-server/minecraft-patches/features/0132-Spawner-Configurations.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0133-Spawner-Configurations.patch rename to leaf-server/minecraft-patches/features/0132-Spawner-Configurations.patch diff --git a/leaf-server/minecraft-patches/features/0134-SparklyPaper-Parallel-world-ticking.patch b/leaf-server/minecraft-patches/features/0133-SparklyPaper-Parallel-world-ticking.patch similarity index 99% rename from leaf-server/minecraft-patches/features/0134-SparklyPaper-Parallel-world-ticking.patch rename to leaf-server/minecraft-patches/features/0133-SparklyPaper-Parallel-world-ticking.patch index aaf2e279..9f02149e 100644 --- a/leaf-server/minecraft-patches/features/0134-SparklyPaper-Parallel-world-ticking.patch +++ b/leaf-server/minecraft-patches/features/0133-SparklyPaper-Parallel-world-ticking.patch @@ -834,7 +834,7 @@ index a66e5f6652d9633c856490de36d8d8fdf8a5298a..d6524d5c442555eaeb4d90f6a101262e // Paper start - extra debug info if (entity.valid) { diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java -index 8362def0dc61496a087bd859052bd80ebba83185..09f517059aa47ca67329bc913243d4fdee09abe5 100644 +index 89df0f6893775df01e1470bb04f0059cec65ff70..941a73f32661dfa50dd381dc888bd3c04f3fad60 100644 --- a/net/minecraft/server/level/ServerPlayer.java +++ b/net/minecraft/server/level/ServerPlayer.java @@ -427,6 +427,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc @@ -862,7 +862,7 @@ index 8362def0dc61496a087bd859052bd80ebba83185..09f517059aa47ca67329bc913243d4fd // CraftBukkit start /* this.isChangingDimension = true; -@@ -1819,6 +1823,12 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -1818,6 +1822,12 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc return OptionalInt.empty(); } else { // CraftBukkit start @@ -875,7 +875,7 @@ index 8362def0dc61496a087bd859052bd80ebba83185..09f517059aa47ca67329bc913243d4fd this.containerMenu = abstractContainerMenu; // Moved up if (!this.isImmobile()) this.connection -@@ -1883,6 +1893,11 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -1882,6 +1892,11 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc } @Override public void closeContainer(org.bukkit.event.inventory.InventoryCloseEvent.Reason reason) { @@ -888,7 +888,7 @@ index 8362def0dc61496a087bd859052bd80ebba83185..09f517059aa47ca67329bc913243d4fd // Paper end - Inventory close reason this.connection.send(new ClientboundContainerClosePacket(this.containerMenu.containerId)); diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java -index b17c8a2f5294ac28cc05fb05c84a041b2c6c8721..6148d5c575f4cdf2d1920b9585a5b32732511301 100644 +index 75fb49f1596f475278d12c8c7aea9ad4952b6056..de601491b7ecb83f1bb64a95989d6ed4dd52ab40 100644 --- a/net/minecraft/server/players/PlayerList.java +++ b/net/minecraft/server/players/PlayerList.java @@ -252,6 +252,8 @@ public abstract class PlayerList { diff --git a/leaf-server/minecraft-patches/features/0135-SparklyPaper-Track-each-world-MSPT.patch b/leaf-server/minecraft-patches/features/0134-SparklyPaper-Track-each-world-MSPT.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0135-SparklyPaper-Track-each-world-MSPT.patch rename to leaf-server/minecraft-patches/features/0134-SparklyPaper-Track-each-world-MSPT.patch diff --git a/leaf-server/minecraft-patches/features/0136-PaperPR-Fix-cancelled-Projectile-Events-still-consum.patch b/leaf-server/minecraft-patches/features/0135-PaperPR-Fix-cancelled-Projectile-Events-still-consum.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0136-PaperPR-Fix-cancelled-Projectile-Events-still-consum.patch rename to leaf-server/minecraft-patches/features/0135-PaperPR-Fix-cancelled-Projectile-Events-still-consum.patch diff --git a/leaf-server/minecraft-patches/features/0137-Optimize-SetLookAndInteract-and-NearestVisibleLiving.patch b/leaf-server/minecraft-patches/features/0136-Optimize-SetLookAndInteract-and-NearestVisibleLiving.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0137-Optimize-SetLookAndInteract-and-NearestVisibleLiving.patch rename to leaf-server/minecraft-patches/features/0136-Optimize-SetLookAndInteract-and-NearestVisibleLiving.patch diff --git a/leaf-server/minecraft-patches/features/0138-Remove-streams-on-InsideBrownianWalk.patch b/leaf-server/minecraft-patches/features/0137-Remove-streams-on-InsideBrownianWalk.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0138-Remove-streams-on-InsideBrownianWalk.patch rename to leaf-server/minecraft-patches/features/0137-Remove-streams-on-InsideBrownianWalk.patch diff --git a/leaf-server/minecraft-patches/features/0139-Use-BFS-on-getSlopeDistance.patch b/leaf-server/minecraft-patches/features/0138-Use-BFS-on-getSlopeDistance.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0139-Use-BFS-on-getSlopeDistance.patch rename to leaf-server/minecraft-patches/features/0138-Use-BFS-on-getSlopeDistance.patch diff --git a/leaf-server/minecraft-patches/features/0140-Paper-PR-Throttle-failed-spawn-attempts.patch b/leaf-server/minecraft-patches/features/0139-Paper-PR-Throttle-failed-spawn-attempts.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0140-Paper-PR-Throttle-failed-spawn-attempts.patch rename to leaf-server/minecraft-patches/features/0139-Paper-PR-Throttle-failed-spawn-attempts.patch diff --git a/leaf-server/minecraft-patches/features/0141-Improve-BlockEntity-ticking-isRemoved-check.patch b/leaf-server/minecraft-patches/features/0140-Improve-BlockEntity-ticking-isRemoved-check.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0141-Improve-BlockEntity-ticking-isRemoved-check.patch rename to leaf-server/minecraft-patches/features/0140-Improve-BlockEntity-ticking-isRemoved-check.patch diff --git a/leaf-server/minecraft-patches/features/0142-Raytrace-AntiXray-SDK-integration.patch b/leaf-server/minecraft-patches/features/0141-Raytrace-AntiXray-SDK-integration.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0142-Raytrace-AntiXray-SDK-integration.patch rename to leaf-server/minecraft-patches/features/0141-Raytrace-AntiXray-SDK-integration.patch diff --git a/leaf-server/minecraft-patches/features/0143-Optimize-addOrUpdateTransientModifier.patch b/leaf-server/minecraft-patches/features/0142-Optimize-addOrUpdateTransientModifier.patch similarity index 93% rename from leaf-server/minecraft-patches/features/0143-Optimize-addOrUpdateTransientModifier.patch rename to leaf-server/minecraft-patches/features/0142-Optimize-addOrUpdateTransientModifier.patch index 7b58130e..52f87b30 100644 --- a/leaf-server/minecraft-patches/features/0143-Optimize-addOrUpdateTransientModifier.patch +++ b/leaf-server/minecraft-patches/features/0142-Optimize-addOrUpdateTransientModifier.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Optimize addOrUpdateTransientModifier diff --git a/net/minecraft/world/entity/ai/attributes/AttributeInstance.java b/net/minecraft/world/entity/ai/attributes/AttributeInstance.java -index ed5077708415a74da171b88fa1fb8b736446666b..62cadad97109247e65a550acc5955424b1f6fc5e 100644 +index b502c4a0f3695cc5bee8954f937f64584df1584d..26d97742310c054eebbee7f4dc2f535d3ee4cd2e 100644 --- a/net/minecraft/world/entity/ai/attributes/AttributeInstance.java +++ b/net/minecraft/world/entity/ai/attributes/AttributeInstance.java @@ -107,8 +107,13 @@ public class AttributeInstance { diff --git a/leaf-server/minecraft-patches/features/0144-Optimize-ContextMap.create.patch b/leaf-server/minecraft-patches/features/0143-Optimize-ContextMap.create.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0144-Optimize-ContextMap.create.patch rename to leaf-server/minecraft-patches/features/0143-Optimize-ContextMap.create.patch diff --git a/leaf-server/minecraft-patches/features/0145-Micro-optimizations-for-random-tick.patch b/leaf-server/minecraft-patches/features/0144-Micro-optimizations-for-random-tick.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0145-Micro-optimizations-for-random-tick.patch rename to leaf-server/minecraft-patches/features/0144-Micro-optimizations-for-random-tick.patch diff --git a/leaf-server/minecraft-patches/features/0146-Remove-streams-on-updateConnectedPlayersWithinRange.patch b/leaf-server/minecraft-patches/features/0145-Remove-streams-on-updateConnectedPlayersWithinRange.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0146-Remove-streams-on-updateConnectedPlayersWithinRange.patch rename to leaf-server/minecraft-patches/features/0145-Remove-streams-on-updateConnectedPlayersWithinRange.patch diff --git a/leaf-server/minecraft-patches/features/0147-Remove-streams-on-PlayerDetector.patch b/leaf-server/minecraft-patches/features/0146-Remove-streams-on-PlayerDetector.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0147-Remove-streams-on-PlayerDetector.patch rename to leaf-server/minecraft-patches/features/0146-Remove-streams-on-PlayerDetector.patch diff --git a/leaf-server/minecraft-patches/features/0148-Use-direct-iteration-on-Sensing.tick.patch b/leaf-server/minecraft-patches/features/0147-Use-direct-iteration-on-Sensing.tick.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0148-Use-direct-iteration-on-Sensing.tick.patch rename to leaf-server/minecraft-patches/features/0147-Use-direct-iteration-on-Sensing.tick.patch diff --git a/leaf-server/minecraft-patches/features/0149-Optimise-non-flush-packet-sending.patch b/leaf-server/minecraft-patches/features/0148-Optimise-non-flush-packet-sending.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0149-Optimise-non-flush-packet-sending.patch rename to leaf-server/minecraft-patches/features/0148-Optimise-non-flush-packet-sending.patch diff --git a/leaf-server/minecraft-patches/features/0150-Prevent-double-chunk-retrieving-in-entity-fluid-push.patch b/leaf-server/minecraft-patches/features/0149-Prevent-double-chunk-retrieving-in-entity-fluid-push.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0150-Prevent-double-chunk-retrieving-in-entity-fluid-push.patch rename to leaf-server/minecraft-patches/features/0149-Prevent-double-chunk-retrieving-in-entity-fluid-push.patch diff --git a/leaf-server/minecraft-patches/features/0151-Null-handling-on-MultifaceSpreader.patch b/leaf-server/minecraft-patches/features/0150-Null-handling-on-MultifaceSpreader.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0151-Null-handling-on-MultifaceSpreader.patch rename to leaf-server/minecraft-patches/features/0150-Null-handling-on-MultifaceSpreader.patch diff --git a/leaf-server/minecraft-patches/features/0151-More-virtual-threads.patch b/leaf-server/minecraft-patches/features/0151-More-virtual-threads.patch new file mode 100644 index 00000000..0315b848 --- /dev/null +++ b/leaf-server/minecraft-patches/features/0151-More-virtual-threads.patch @@ -0,0 +1,52 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Taiyou06 +Date: Sun, 6 Apr 2025 11:22:35 +0200 +Subject: [PATCH] More virtual threads + + +diff --git a/net/minecraft/Util.java b/net/minecraft/Util.java +index b097f685e826e70008e3a096ee5f1d4fccf25680..25b6aaa71ff389094d0f44c341f0c6458fc644ff 100644 +--- a/net/minecraft/Util.java ++++ b/net/minecraft/Util.java +@@ -97,7 +97,8 @@ public class Util { + public static final TracingExecutor DIMENSION_DATA_IO_POOL = makeExtraIoExecutor("Dimension-Data-IO-Worker-"); // Paper - Separate dimension data IO pool + private static final TracingExecutor DOWNLOAD_POOL = makeIoExecutor("Download-", true); + // Paper start - don't submit BLOCKING PROFILE LOOKUPS to the world gen thread +- public static final ExecutorService PROFILE_EXECUTOR = Executors.newFixedThreadPool(2, new java.util.concurrent.ThreadFactory() { ++ // Leaf start - More virtual threads ++ public static final ExecutorService PROFILE_EXECUTOR = createProfileExecutor(); /* new Executors.newFixedThreadPool(2, new java.util.concurrent.ThreadFactory() { + + private final AtomicInteger count = new AtomicInteger(); + +@@ -110,7 +111,30 @@ public class Util { + }); + return ret; + } +- }); ++ }); */ ++ ++ private static ExecutorService createProfileExecutor() { ++ final java.util.concurrent.ThreadFactory factory; ++ if (org.dreeam.leaf.config.modules.opt.VT4ProfileExecutor.enabled && org.galemc.gale.virtualthread.VirtualThreadService.isSupported()) { ++ factory = org.galemc.gale.virtualthread.VirtualThreadService.get().createFactory(); ++ } else { ++ factory = new java.util.concurrent.ThreadFactory() { ++ private final AtomicInteger count = new AtomicInteger(); ++ ++ @Override ++ public Thread newThread(Runnable run) { ++ Thread ret = new Thread(run); ++ ret.setName("Profile Lookup Executor #" + this.count.getAndIncrement()); ++ ret.setUncaughtExceptionHandler((Thread thread, Throwable throwable) -> { ++ LOGGER.error("Uncaught exception in thread " + thread.getName(), throwable); ++ }); ++ return ret; ++ } ++ }; ++ } ++ return Executors.newFixedThreadPool(2, factory); ++ } ++ // Leaf end - More virtual threads + // Paper end - don't submit BLOCKING PROFILE LOOKUPS to the world gen thread + private static final DateTimeFormatter FILENAME_DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd_HH.mm.ss", Locale.ROOT); + public static final int LINEAR_LOOKUP_THRESHOLD = 8; diff --git a/leaf-server/minecraft-patches/features/0153-Async-target-finding.patch b/leaf-server/minecraft-patches/features/0152-Async-target-finding.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0153-Async-target-finding.patch rename to leaf-server/minecraft-patches/features/0152-Async-target-finding.patch diff --git a/leaf-server/minecraft-patches/features/0152-More-virtual-threads.patch b/leaf-server/minecraft-patches/features/0152-More-virtual-threads.patch deleted file mode 100644 index 74803bd2..00000000 --- a/leaf-server/minecraft-patches/features/0152-More-virtual-threads.patch +++ /dev/null @@ -1,112 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Taiyou06 -Date: Sun, 6 Apr 2025 11:22:35 +0200 -Subject: [PATCH] More virtual threads - - -diff --git a/net/minecraft/Util.java b/net/minecraft/Util.java -index b097f685e826e70008e3a096ee5f1d4fccf25680..aa79e95dc93927ce224c02e4382c7246cb48d51c 100644 ---- a/net/minecraft/Util.java -+++ b/net/minecraft/Util.java -@@ -97,7 +97,8 @@ public class Util { - public static final TracingExecutor DIMENSION_DATA_IO_POOL = makeExtraIoExecutor("Dimension-Data-IO-Worker-"); // Paper - Separate dimension data IO pool - private static final TracingExecutor DOWNLOAD_POOL = makeIoExecutor("Download-", true); - // Paper start - don't submit BLOCKING PROFILE LOOKUPS to the world gen thread -- public static final ExecutorService PROFILE_EXECUTOR = Executors.newFixedThreadPool(2, new java.util.concurrent.ThreadFactory() { -+ // Leaf start - More virtual threads -+ public static final ExecutorService PROFILE_EXECUTOR = createProfileExecutor(); /* new Executors.newFixedThreadPool(2, new java.util.concurrent.ThreadFactory() { - - private final AtomicInteger count = new AtomicInteger(); - -@@ -110,7 +111,30 @@ public class Util { - }); - return ret; - } -- }); -+ }); */ -+ -+ private static ExecutorService createProfileExecutor() { -+ final java.util.concurrent.ThreadFactory factory; -+ if (org.dreeam.leaf.config.modules.opt.VT4ProfileExecutor.enabled && org.galemc.gale.virtualthread.VirtualThreadService.isSupported()) { -+ factory = org.galemc.gale.virtualthread.VirtualThreadService.get().createFactory(); -+ } else { -+ factory = new java.util.concurrent.ThreadFactory() { -+ private final AtomicInteger count = new AtomicInteger(); -+ -+ @Override -+ public Thread newThread(Runnable run) { -+ Thread ret = new Thread(run); -+ ret.setName("Profile Lookup Executor #" + this.count.getAndIncrement()); -+ ret.setUncaughtExceptionHandler((Thread thread, Throwable throwable) -> { -+ LOGGER.error("Uncaught exception in thread " + thread.getName(), throwable); -+ }); -+ return ret; -+ } -+ }; -+ } -+ return Executors.newFixedThreadPool(2, factory); -+ } -+ // Leaf end - More virtual threads - // Paper end - don't submit BLOCKING PROFILE LOOKUPS to the world gen thread - private static final DateTimeFormatter FILENAME_DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd_HH.mm.ss", Locale.ROOT); - public static final int LINEAR_LOOKUP_THRESHOLD = 8; -@@ -254,16 +278,31 @@ public class Util { - } - - private static TracingExecutor makeIoExecutor(String name, boolean daemon) { -- AtomicInteger atomicInteger = new AtomicInteger(1); -- return new TracingExecutor(Executors.newCachedThreadPool(runnable -> { -- Thread thread = new Thread(runnable); -- String string = name + atomicInteger.getAndIncrement(); -- TracyClient.setThreadName(string, name.hashCode()); -- thread.setName(string); -- thread.setDaemon(daemon); -- thread.setUncaughtExceptionHandler(Util::onThreadException); -- return thread; -- })); -+ // Leaf start - More virtual threads -+ final java.util.concurrent.ThreadFactory factory; -+ final boolean useVirtualThreads; // Gale - virtual thread support -+ if (name.startsWith("Download-")) { // Gale - virtual thread support -+ useVirtualThreads = org.dreeam.leaf.config.modules.opt.VT4DownloadPool.enabled && org.galemc.gale.virtualthread.VirtualThreadService.isSupported(); // Gale - virtual thread support -+ } else { -+ useVirtualThreads = false; -+ } -+ -+ if (useVirtualThreads) { -+ factory = org.galemc.gale.virtualthread.VirtualThreadService.get().createFactory(); -+ } else { -+ AtomicInteger atomicInteger = new AtomicInteger(1); -+ factory = runnable -> { -+ Thread thread = new Thread(runnable); -+ String string = name + atomicInteger.getAndIncrement(); -+ TracyClient.setThreadName(string, name.hashCode()); -+ thread.setName(string); -+ thread.setDaemon(daemon); -+ thread.setUncaughtExceptionHandler(Util::onThreadException); -+ return thread; -+ }; -+ } -+ return new TracingExecutor(Executors.newCachedThreadPool(factory)); -+ // Leaf end - More virtual threads - } - - // Paper start - Separate dimension data IO pool -@@ -1099,7 +1138,7 @@ public class Util { - } - - public static Typed readTypedOrThrow(Type type, Dynamic data, boolean partial) { -- DataResult> dataResult = type.readTyped(data).map(Pair::getFirst); -+ DataResult> dataResult = type.readTyped(data).map(Pair::getFirst); // Paper - Fix generics issue // Gale - Fix generics issue - - try { - return partial ? dataResult.getPartialOrThrow(IllegalStateException::new) : dataResult.getOrThrow(IllegalStateException::new); -@@ -1148,7 +1187,7 @@ public class Util { - } - - public void openUri(URI uri) { -- throw new IllegalStateException("This method is not useful on dedicated servers."); // Paper - Fix warnings on build by removing client-only code -+ // throw new IllegalStateException("This method is not useful on dedicated servers."); // Paper - Fix warnings on build by removing client-only code // Leaf - More virtual threads - This method is not useful on dedicated servers - } - - public void openFile(File file) { diff --git a/leaf-server/minecraft-patches/features/0154-Optimize-ThreadedTicketLevelPropagator.patch b/leaf-server/minecraft-patches/features/0153-Optimize-ThreadedTicketLevelPropagator.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0154-Optimize-ThreadedTicketLevelPropagator.patch rename to leaf-server/minecraft-patches/features/0153-Optimize-ThreadedTicketLevelPropagator.patch diff --git a/leaf-server/minecraft-patches/features/0155-Optimise-MobEffectUtil-getDigSpeedAmplification.patch b/leaf-server/minecraft-patches/features/0154-Optimise-MobEffectUtil-getDigSpeedAmplification.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0155-Optimise-MobEffectUtil-getDigSpeedAmplification.patch rename to leaf-server/minecraft-patches/features/0154-Optimise-MobEffectUtil-getDigSpeedAmplification.patch diff --git a/leaf-server/minecraft-patches/features/0156-Optimise-chunkUnloads.patch b/leaf-server/minecraft-patches/features/0155-Optimise-chunkUnloads.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0156-Optimise-chunkUnloads.patch rename to leaf-server/minecraft-patches/features/0155-Optimise-chunkUnloads.patch diff --git a/leaf-server/minecraft-patches/features/0157-Optimize-BlockEntityType-isValid.patch b/leaf-server/minecraft-patches/features/0156-Optimize-BlockEntityType-isValid.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0157-Optimize-BlockEntityType-isValid.patch rename to leaf-server/minecraft-patches/features/0156-Optimize-BlockEntityType-isValid.patch diff --git a/leaf-server/minecraft-patches/features/0158-PaperPR-Add-ticket-on-player-join-to-avoid-chunk-loa.patch b/leaf-server/minecraft-patches/features/0157-PaperPR-Add-ticket-on-player-join-to-avoid-chunk-loa.patch similarity index 97% rename from leaf-server/minecraft-patches/features/0158-PaperPR-Add-ticket-on-player-join-to-avoid-chunk-loa.patch rename to leaf-server/minecraft-patches/features/0157-PaperPR-Add-ticket-on-player-join-to-avoid-chunk-loa.patch index 29a2b6f7..d963ca20 100644 --- a/leaf-server/minecraft-patches/features/0158-PaperPR-Add-ticket-on-player-join-to-avoid-chunk-loa.patch +++ b/leaf-server/minecraft-patches/features/0157-PaperPR-Add-ticket-on-player-join-to-avoid-chunk-loa.patch @@ -27,7 +27,7 @@ index 2fef24acfaceab21aad6be50e6b29701fa460bfb..e0b61e2cde3010f8dcd2cc764814e94a public static final int MIN_VIEW_DISTANCE = 2; public static final int MAX_VIEW_DISTANCE = 32; diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java -index 3591de34443069f3f163f8d17df6372c3068611d..842cb6efc8aa7c68b7b9cba144d8540679850f23 100644 +index de601491b7ecb83f1bb64a95989d6ed4dd52ab40..afa25f6adb7e3c50f4a71af10818b50d4f1be393 100644 --- a/net/minecraft/server/players/PlayerList.java +++ b/net/minecraft/server/players/PlayerList.java @@ -432,6 +432,13 @@ public abstract class PlayerList { diff --git a/leaf-server/minecraft-patches/features/0159-PaperPR-Fix-save-load-NaN-Entity-Motion.patch b/leaf-server/minecraft-patches/features/0158-PaperPR-Fix-save-load-NaN-Entity-Motion.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0159-PaperPR-Fix-save-load-NaN-Entity-Motion.patch rename to leaf-server/minecraft-patches/features/0158-PaperPR-Fix-save-load-NaN-Entity-Motion.patch diff --git a/leaf-server/minecraft-patches/features/0160-PaperPR-Fix-unnecessary-map-data-saves.patch b/leaf-server/minecraft-patches/features/0159-PaperPR-Fix-unnecessary-map-data-saves.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0160-PaperPR-Fix-unnecessary-map-data-saves.patch rename to leaf-server/minecraft-patches/features/0159-PaperPR-Fix-unnecessary-map-data-saves.patch diff --git a/leaf-server/minecraft-patches/features/0161-Sakura-Optimise-check-inside-blocks-and-traverse-blo.patch b/leaf-server/minecraft-patches/features/0160-Sakura-Optimise-check-inside-blocks-and-traverse-blo.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0161-Sakura-Optimise-check-inside-blocks-and-traverse-blo.patch rename to leaf-server/minecraft-patches/features/0160-Sakura-Optimise-check-inside-blocks-and-traverse-blo.patch diff --git a/leaf-server/minecraft-patches/features/0162-Sakura-copy-EntityList-implementation-to-BasicEntity.patch b/leaf-server/minecraft-patches/features/0161-Sakura-copy-EntityList-implementation-to-BasicEntity.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0162-Sakura-copy-EntityList-implementation-to-BasicEntity.patch rename to leaf-server/minecraft-patches/features/0161-Sakura-copy-EntityList-implementation-to-BasicEntity.patch diff --git a/leaf-server/minecraft-patches/features/0163-Protocol-Core.patch b/leaf-server/minecraft-patches/features/0162-Protocol-Core.patch similarity index 95% rename from leaf-server/minecraft-patches/features/0163-Protocol-Core.patch rename to leaf-server/minecraft-patches/features/0162-Protocol-Core.patch index 075bf1d7..ce3d6e13 100644 --- a/leaf-server/minecraft-patches/features/0163-Protocol-Core.patch +++ b/leaf-server/minecraft-patches/features/0162-Protocol-Core.patch @@ -34,7 +34,7 @@ index f5f0e4f5d7a4b34514e102020d2a7be313292f7f..0baa48054beead8f187b56ea8d719166 for (int i = 0; i < this.tickables.size(); i++) { this.tickables.get(i).run(); diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java -index 09f517059aa47ca67329bc913243d4fdee09abe5..50cf63666071f5d01a85dfc6c6c45c19b05d8ec2 100644 +index 941a73f32661dfa50dd381dc888bd3c04f3fad60..0ba7cf69eda2d952ac2ffecf9167f3f5d43c4c63 100644 --- a/net/minecraft/server/level/ServerPlayer.java +++ b/net/minecraft/server/level/ServerPlayer.java @@ -859,6 +859,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc @@ -59,7 +59,7 @@ index 96b70c1384834a8e22925c8e2af85ab7606dde20..9eb14bb38416330878959c4b095d057c final byte[] data = discardedPayload.data(); try { diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java -index 842cb6efc8aa7c68b7b9cba144d8540679850f23..857e5823038192931b89a8b638a9a6b1fd0f9b5c 100644 +index afa25f6adb7e3c50f4a71af10818b50d4f1be393..6da7f7213130f19c7d95a173498e7375bfacc9a5 100644 --- a/net/minecraft/server/players/PlayerList.java +++ b/net/minecraft/server/players/PlayerList.java @@ -682,6 +682,7 @@ public abstract class PlayerList { diff --git a/leaf-server/minecraft-patches/features/0164-Reduce-PlayerChunk-Updates.patch b/leaf-server/minecraft-patches/features/0163-Reduce-PlayerChunk-Updates.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0164-Reduce-PlayerChunk-Updates.patch rename to leaf-server/minecraft-patches/features/0163-Reduce-PlayerChunk-Updates.patch diff --git a/leaf-server/minecraft-patches/features/0165-Async-switch-connection-state.patch b/leaf-server/minecraft-patches/features/0164-Async-switch-connection-state.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0165-Async-switch-connection-state.patch rename to leaf-server/minecraft-patches/features/0164-Async-switch-connection-state.patch diff --git a/leaf-server/minecraft-patches/features/0166-Optimise-BlockEntities-tickersInLevel.patch b/leaf-server/minecraft-patches/features/0165-Optimise-BlockEntities-tickersInLevel.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0166-Optimise-BlockEntities-tickersInLevel.patch rename to leaf-server/minecraft-patches/features/0165-Optimise-BlockEntities-tickersInLevel.patch diff --git a/leaf-server/minecraft-patches/features/0167-Pluto-Check-if-the-cactus-can-even-survive-being-pla.patch b/leaf-server/minecraft-patches/features/0166-Pluto-Check-if-the-cactus-can-even-survive-being-pla.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0167-Pluto-Check-if-the-cactus-can-even-survive-being-pla.patch rename to leaf-server/minecraft-patches/features/0166-Pluto-Check-if-the-cactus-can-even-survive-being-pla.patch diff --git a/leaf-server/minecraft-patches/features/0168-Flush-location-while-knockback.patch b/leaf-server/minecraft-patches/features/0167-Flush-location-while-knockback.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0168-Flush-location-while-knockback.patch rename to leaf-server/minecraft-patches/features/0167-Flush-location-while-knockback.patch diff --git a/leaf-server/minecraft-patches/features/0169-Only-tick-items-at-hand.patch b/leaf-server/minecraft-patches/features/0168-Only-tick-items-at-hand.patch similarity index 96% rename from leaf-server/minecraft-patches/features/0169-Only-tick-items-at-hand.patch rename to leaf-server/minecraft-patches/features/0168-Only-tick-items-at-hand.patch index c2f62aee..b44c882d 100644 --- a/leaf-server/minecraft-patches/features/0169-Only-tick-items-at-hand.patch +++ b/leaf-server/minecraft-patches/features/0168-Only-tick-items-at-hand.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Only tick items at hand diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java -index 50cf63666071f5d01a85dfc6c6c45c19b05d8ec2..ef53b9f307572dd5dc99d02e017d6b2dafb04e3f 100644 +index 0ba7cf69eda2d952ac2ffecf9167f3f5d43c4c63..4d32ba245eb204231af791a65142932a18b4f3f6 100644 --- a/net/minecraft/server/level/ServerPlayer.java +++ b/net/minecraft/server/level/ServerPlayer.java @@ -888,12 +888,19 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc diff --git a/leaf-server/minecraft-patches/features/0170-Smart-sort-items-in-NearestItemSensor.patch b/leaf-server/minecraft-patches/features/0169-Smart-sort-items-in-NearestItemSensor.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0170-Smart-sort-items-in-NearestItemSensor.patch rename to leaf-server/minecraft-patches/features/0169-Smart-sort-items-in-NearestItemSensor.patch diff --git a/leaf-server/minecraft-patches/features/0171-Optimise-player-movement-checks.patch b/leaf-server/minecraft-patches/features/0170-Optimise-player-movement-checks.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0171-Optimise-player-movement-checks.patch rename to leaf-server/minecraft-patches/features/0170-Optimise-player-movement-checks.patch diff --git a/leaf-server/minecraft-patches/features/0172-Remove-streams-in-MobSensor.patch b/leaf-server/minecraft-patches/features/0171-Remove-streams-in-MobSensor.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0172-Remove-streams-in-MobSensor.patch rename to leaf-server/minecraft-patches/features/0171-Remove-streams-in-MobSensor.patch diff --git a/leaf-server/minecraft-patches/features/0173-Remove-streams-in-TemptingSensor.patch b/leaf-server/minecraft-patches/features/0172-Remove-streams-in-TemptingSensor.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0173-Remove-streams-in-TemptingSensor.patch rename to leaf-server/minecraft-patches/features/0172-Remove-streams-in-TemptingSensor.patch diff --git a/leaf-server/minecraft-patches/features/0174-Use-HashedList-on-WeightedRandomList.patch b/leaf-server/minecraft-patches/features/0173-Use-HashedList-on-WeightedRandomList.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0174-Use-HashedList-on-WeightedRandomList.patch rename to leaf-server/minecraft-patches/features/0173-Use-HashedList-on-WeightedRandomList.patch diff --git a/leaf-server/minecraft-patches/features/0175-Add-configurable-death-item-drop-knockback-settings.patch b/leaf-server/minecraft-patches/features/0174-Add-configurable-death-item-drop-knockback-settings.patch similarity index 93% rename from leaf-server/minecraft-patches/features/0175-Add-configurable-death-item-drop-knockback-settings.patch rename to leaf-server/minecraft-patches/features/0174-Add-configurable-death-item-drop-knockback-settings.patch index 3e1c19dd..d39915b3 100644 --- a/leaf-server/minecraft-patches/features/0175-Add-configurable-death-item-drop-knockback-settings.patch +++ b/leaf-server/minecraft-patches/features/0174-Add-configurable-death-item-drop-knockback-settings.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add configurable death item drop knockback settings diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java -index 4275caa2b4d636f646f185d67e1cdbc194bd68aa..cacceac0ee28fc045e97c0d062729390b51c4794 100644 +index 4d32ba245eb204231af791a65142932a18b4f3f6..e6414643d4c44bcf22d17bf185cc288d2a4f8399 100644 --- a/net/minecraft/server/level/ServerPlayer.java +++ b/net/minecraft/server/level/ServerPlayer.java @@ -1099,7 +1099,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc @@ -17,7 +17,7 @@ index 4275caa2b4d636f646f185d67e1cdbc194bd68aa..cacceac0ee28fc045e97c0d062729390 } } } -@@ -2852,9 +2852,9 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -2851,9 +2851,9 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc } if (dropAround) { diff --git a/leaf-server/minecraft-patches/features/0176-Optimize-getScaledTrackingDistance.patch b/leaf-server/minecraft-patches/features/0175-Optimize-getScaledTrackingDistance.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0176-Optimize-getScaledTrackingDistance.patch rename to leaf-server/minecraft-patches/features/0175-Optimize-getScaledTrackingDistance.patch diff --git a/leaf-server/minecraft-patches/features/0177-Optimize-SynchedEntityData-packDirty.patch b/leaf-server/minecraft-patches/features/0176-Optimize-SynchedEntityData-packDirty.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0177-Optimize-SynchedEntityData-packDirty.patch rename to leaf-server/minecraft-patches/features/0176-Optimize-SynchedEntityData-packDirty.patch diff --git a/leaf-server/minecraft-patches/features/0178-Optimize-isEyeInFluid.patch b/leaf-server/minecraft-patches/features/0177-Optimize-isEyeInFluid.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0178-Optimize-isEyeInFluid.patch rename to leaf-server/minecraft-patches/features/0177-Optimize-isEyeInFluid.patch diff --git a/leaf-server/minecraft-patches/features/0180-Cache-block-path-type.patch b/leaf-server/minecraft-patches/features/0178-Cache-block-path-type.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0180-Cache-block-path-type.patch rename to leaf-server/minecraft-patches/features/0178-Cache-block-path-type.patch diff --git a/leaf-server/minecraft-patches/features/0181-optimize-getEntityStatus.patch b/leaf-server/minecraft-patches/features/0179-optimize-getEntityStatus.patch similarity index 96% rename from leaf-server/minecraft-patches/features/0181-optimize-getEntityStatus.patch rename to leaf-server/minecraft-patches/features/0179-optimize-getEntityStatus.patch index 7d0a36aa..58447a60 100644 --- a/leaf-server/minecraft-patches/features/0181-optimize-getEntityStatus.patch +++ b/leaf-server/minecraft-patches/features/0179-optimize-getEntityStatus.patch @@ -42,7 +42,7 @@ index 7554c109c35397bc1a43dd80e87764fd78645bbf..151476fd036839a416c226599279d0d8 protected boolean addEntity(final Entity entity, final boolean fromDisk, final boolean event) { diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index df23d80d6b18e900414aa02e5c1812f0a10f0fb7..9f581d5bdc3f658694bbd8c80abbce4e27e568d3 100644 +index 64f24d3e0ecb91e0b4df6229354aeac549234f1b..80baa2dff5c1034a72271fc727fdb2acc1b69488 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java @@ -381,6 +381,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/leaf-server/minecraft-patches/features/0182-Rail-Optimization-optimized-PoweredRailBlock-logic.patch b/leaf-server/minecraft-patches/features/0180-Rail-Optimization-optimized-PoweredRailBlock-logic.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0182-Rail-Optimization-optimized-PoweredRailBlock-logic.patch rename to leaf-server/minecraft-patches/features/0180-Rail-Optimization-optimized-PoweredRailBlock-logic.patch diff --git a/leaf-server/minecraft-patches/features/0183-optimise-ChunkGenerator-getMobsAt.patch b/leaf-server/minecraft-patches/features/0181-optimise-ChunkGenerator-getMobsAt.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0183-optimise-ChunkGenerator-getMobsAt.patch rename to leaf-server/minecraft-patches/features/0181-optimise-ChunkGenerator-getMobsAt.patch diff --git a/leaf-server/minecraft-patches/features/0184-optimise-getBiome.patch b/leaf-server/minecraft-patches/features/0182-optimise-getBiome.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0184-optimise-getBiome.patch rename to leaf-server/minecraft-patches/features/0182-optimise-getBiome.patch diff --git a/leaf-server/minecraft-patches/features/0185-optimize-mob-spawning.patch b/leaf-server/minecraft-patches/features/0183-optimize-mob-spawning.patch similarity index 98% rename from leaf-server/minecraft-patches/features/0185-optimize-mob-spawning.patch rename to leaf-server/minecraft-patches/features/0183-optimize-mob-spawning.patch index 9982aaaf..80ec7715 100644 --- a/leaf-server/minecraft-patches/features/0185-optimize-mob-spawning.patch +++ b/leaf-server/minecraft-patches/features/0183-optimize-mob-spawning.patch @@ -5,7 +5,7 @@ Subject: [PATCH] optimize mob spawning diff --git a/net/minecraft/server/level/ServerChunkCache.java b/net/minecraft/server/level/ServerChunkCache.java -index 39a31abe25d2bb56b28462cf25d2d09f7722526c..2f927b422c2c4f2f65d822befe3cbfd9e3bb3708 100644 +index f57f8e610dac80b8095bfc0c7e4b22ff5ad6b13c..55f20122732e88037d24be311469b6cab72c37ad 100644 --- a/net/minecraft/server/level/ServerChunkCache.java +++ b/net/minecraft/server/level/ServerChunkCache.java @@ -70,7 +70,9 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon @@ -19,7 +19,7 @@ index 39a31abe25d2bb56b28462cf25d2d09f7722526c..2f927b422c2c4f2f65d822befe3cbfd9 // Paper start public final ca.spottedleaf.concurrentutil.map.ConcurrentLong2ReferenceChainedHashTable fullChunks = new ca.spottedleaf.concurrentutil.map.ConcurrentLong2ReferenceChainedHashTable<>(); public int getFullChunksCount() { -@@ -656,13 +658,37 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon +@@ -655,13 +657,37 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon filteredSpawningCategories = List.of(); } diff --git a/leaf-server/minecraft-patches/features/0186-optimize-structure-map.patch b/leaf-server/minecraft-patches/features/0184-optimize-structure-map.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0186-optimize-structure-map.patch rename to leaf-server/minecraft-patches/features/0184-optimize-structure-map.patch diff --git a/leaf-server/minecraft-patches/features/0187-throttle-mob-spawning.patch b/leaf-server/minecraft-patches/features/0185-throttle-mob-spawning.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0187-throttle-mob-spawning.patch rename to leaf-server/minecraft-patches/features/0185-throttle-mob-spawning.patch diff --git a/leaf-server/minecraft-patches/features/0188-preload-mob-spawning-position.patch b/leaf-server/minecraft-patches/features/0186-preload-mob-spawning-position.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0188-preload-mob-spawning-position.patch rename to leaf-server/minecraft-patches/features/0186-preload-mob-spawning-position.patch diff --git a/leaf-server/minecraft-patches/features/0189-Add-BlockExplosionHitEvent.patch b/leaf-server/minecraft-patches/features/0187-Add-BlockExplosionHitEvent.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0189-Add-BlockExplosionHitEvent.patch rename to leaf-server/minecraft-patches/features/0187-Add-BlockExplosionHitEvent.patch diff --git a/leaf-server/minecraft-patches/features/0190-Old-Blast-Protection-explosion-knockback.patch b/leaf-server/minecraft-patches/features/0188-Old-Blast-Protection-explosion-knockback.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0190-Old-Blast-Protection-explosion-knockback.patch rename to leaf-server/minecraft-patches/features/0188-Old-Blast-Protection-explosion-knockback.patch diff --git a/leaf-server/minecraft-patches/features/0179-Paw-optimization.patch b/leaf-server/minecraft-patches/features/0189-Paw-optimization.patch similarity index 84% rename from leaf-server/minecraft-patches/features/0179-Paw-optimization.patch rename to leaf-server/minecraft-patches/features/0189-Paw-optimization.patch index 211e4306..c584cf3f 100644 --- a/leaf-server/minecraft-patches/features/0179-Paw-optimization.patch +++ b/leaf-server/minecraft-patches/features/0189-Paw-optimization.patch @@ -9,6 +9,28 @@ Some random optimizations - Only set shuffle random seed if is really used - Secret patches (WIP) +diff --git a/net/minecraft/Util.java b/net/minecraft/Util.java +index 25b6aaa71ff389094d0f44c341f0c6458fc644ff..d899cde3d9964709cb9697eccac986526304b758 100644 +--- a/net/minecraft/Util.java ++++ b/net/minecraft/Util.java +@@ -95,7 +95,7 @@ public class Util { + private static final TracingExecutor BACKGROUND_EXECUTOR = makeExecutor("Main", -1); // Paper - Perf: add priority + private static final TracingExecutor IO_POOL = makeIoExecutor("IO-Worker-", false); + public static final TracingExecutor DIMENSION_DATA_IO_POOL = makeExtraIoExecutor("Dimension-Data-IO-Worker-"); // Paper - Separate dimension data IO pool +- private static final TracingExecutor DOWNLOAD_POOL = makeIoExecutor("Download-", true); ++ //private static final TracingExecutor DOWNLOAD_POOL = makeIoExecutor("Download-", true); // Leaf - paw optimization - Remove client-only code + // Paper start - don't submit BLOCKING PROFILE LOOKUPS to the world gen thread + // Leaf start - More virtual threads + public static final ExecutorService PROFILE_EXECUTOR = createProfileExecutor(); /* new Executors.newFixedThreadPool(2, new java.util.concurrent.ThreadFactory() { +@@ -269,7 +269,7 @@ public class Util { + } + + public static TracingExecutor nonCriticalIoPool() { +- return DOWNLOAD_POOL; ++ return null; // Leaf - paw optimization - Remove client-only code + } + + public static void shutdownExecutors() { diff --git a/net/minecraft/network/Connection.java b/net/minecraft/network/Connection.java index 3dce0665e7438d2994a86450e31fb2a10431df9b..f9634a821fbfaf31a66e0e25973794149b1a5239 100644 --- a/net/minecraft/network/Connection.java @@ -77,10 +99,10 @@ index 4535858701b2bb232b9d2feb2af6551526232ddc..e65c62dbe4c1560ae153e4c4344e9194 - // Paper end - detailed watchdog information } diff --git a/net/minecraft/server/level/ServerChunkCache.java b/net/minecraft/server/level/ServerChunkCache.java -index f57f8e610dac80b8095bfc0c7e4b22ff5ad6b13c..39a31abe25d2bb56b28462cf25d2d09f7722526c 100644 +index 55f20122732e88037d24be311469b6cab72c37ad..2f927b422c2c4f2f65d822befe3cbfd9e3bb3708 100644 --- a/net/minecraft/server/level/ServerChunkCache.java +++ b/net/minecraft/server/level/ServerChunkCache.java -@@ -504,9 +504,10 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon +@@ -506,9 +506,10 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon try { this.collectTickingChunks(list); // Paper start - chunk tick iteration optimisation @@ -126,10 +148,10 @@ index 7955a8fa9c4de139b24c9d53018b055ff4008e02..eb849c57992658005e0f514c6f7923f8 private void tickPassenger(Entity ridingEntity, Entity passengerEntity, final boolean isActive) { // Paper - EAR 2 diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index 64f24d3e0ecb91e0b4df6229354aeac549234f1b..df23d80d6b18e900414aa02e5c1812f0a10f0fb7 100644 +index 80baa2dff5c1034a72271fc727fdb2acc1b69488..9f581d5bdc3f658694bbd8c80abbce4e27e568d3 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java -@@ -1145,31 +1145,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1147,31 +1147,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess return this.onGround; } @@ -161,7 +183,7 @@ index 64f24d3e0ecb91e0b4df6229354aeac549234f1b..df23d80d6b18e900414aa02e5c1812f0 public void move(MoverType type, Vec3 movement) { // Gale start - VMP - skip entity move if movement is zero if (!this.boundingBoxChanged && movement.equals(Vec3.ZERO)) { -@@ -1177,16 +1152,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1179,16 +1154,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } // Gale end - VMP - skip entity move if movement is zero final Vec3 originalMovement = movement; // Paper - Expose pre-collision velocity @@ -178,7 +200,7 @@ index 64f24d3e0ecb91e0b4df6229354aeac549234f1b..df23d80d6b18e900414aa02e5c1812f0 if (this.noPhysics) { this.setPos(this.getX() + movement.x, this.getY() + movement.y, this.getZ() + movement.z); } else { -@@ -1307,13 +1273,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1309,13 +1275,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess // Gale end - skip negligible planar movement multiplication } } @@ -192,7 +214,7 @@ index 64f24d3e0ecb91e0b4df6229354aeac549234f1b..df23d80d6b18e900414aa02e5c1812f0 } private void applyMovementEmissionAndPlaySound(Entity.MovementEmission movementEmission, Vec3 movement, BlockPos pos, BlockState state) { -@@ -4879,9 +4838,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4881,9 +4840,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } public void setDeltaMovement(Vec3 deltaMovement) { @@ -202,7 +224,7 @@ index 64f24d3e0ecb91e0b4df6229354aeac549234f1b..df23d80d6b18e900414aa02e5c1812f0 } public void addDeltaMovement(Vec3 addend) { -@@ -4987,9 +4944,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4989,9 +4946,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } // Paper end - Fix MC-4 if (this.position.x != x || this.position.y != y || this.position.z != z) { diff --git a/leaf-server/minecraft-patches/features/0191-aaa.patch b/leaf-server/minecraft-patches/features/0190-aaa.patch similarity index 98% rename from leaf-server/minecraft-patches/features/0191-aaa.patch rename to leaf-server/minecraft-patches/features/0190-aaa.patch index 7431d1c6..debf2687 100644 --- a/leaf-server/minecraft-patches/features/0191-aaa.patch +++ b/leaf-server/minecraft-patches/features/0190-aaa.patch @@ -5,10 +5,10 @@ Subject: [PATCH] aaa diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java -index 8e693028ef9e512094dbb97d6088d95ead03487d..dc5900903589bc806b89df45ea4de361eed6a9ca 100644 +index e6414643d4c44bcf22d17bf185cc288d2a4f8399..d3889b644de4e9ee31c7a5896c99936287aff170 100644 --- a/net/minecraft/server/level/ServerPlayer.java +++ b/net/minecraft/server/level/ServerPlayer.java -@@ -1948,7 +1948,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -1947,7 +1947,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc this.awardStat(Stats.SWIM_ONE_CM, rounded); this.causeFoodExhaustion(this.level().spigotConfig.swimMultiplier * (float) rounded * 0.01F, org.bukkit.event.entity.EntityExhaustionEvent.ExhaustionReason.SWIM); // CraftBukkit - EntityExhaustionEvent // Spigot } diff --git a/leaf-server/src/main/java/org/dreeam/leaf/config/modules/gameplay/SmoothTeleport.java b/leaf-server/src/main/java/org/dreeam/leaf/config/modules/gameplay/SmoothTeleport.java deleted file mode 100644 index b9e6dfca..00000000 --- a/leaf-server/src/main/java/org/dreeam/leaf/config/modules/gameplay/SmoothTeleport.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.dreeam.leaf.config.modules.gameplay; - -import org.dreeam.leaf.config.ConfigModules; -import org.dreeam.leaf.config.EnumConfigCategory; -import org.dreeam.leaf.config.annotations.Experimental; - -public class SmoothTeleport extends ConfigModules { - - public String getBasePath() { - return EnumConfigCategory.GAMEPLAY.getBaseKeyName() + ".smooth-teleport"; - } - - @Experimental - public static boolean enabled = false; - - @Override - public void onLoaded() { - enabled = config.getBoolean(getBasePath(), enabled, config.pickStringRegionBased(""" - **Experimental feature** - Whether to make a "smooth teleport" when players changing dimension. - This requires original world and target world have same logical height to work.""", - """ - **实验性功能** - 是否在玩家切换世界时尝试使用 "平滑传送". - 此项要求源世界和目标世界逻辑高度相同才会生效.""" - )); - } -} diff --git a/leaf-server/src/main/java/org/dreeam/leaf/config/modules/opt/VT4DownloadPool.java b/leaf-server/src/main/java/org/dreeam/leaf/config/modules/opt/VT4DownloadPool.java deleted file mode 100644 index 22fb0741..00000000 --- a/leaf-server/src/main/java/org/dreeam/leaf/config/modules/opt/VT4DownloadPool.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.dreeam.leaf.config.modules.opt; - -import org.dreeam.leaf.config.ConfigModules; -import org.dreeam.leaf.config.EnumConfigCategory; - -public class VT4DownloadPool extends ConfigModules { - - public String getBasePath() { - return EnumConfigCategory.PERF.getBaseKeyName(); - } - - public static boolean enabled = true; - - @Override - public void onLoaded() { - enabled = config.getBoolean(getBasePath() + ".use-virtual-thread-for-download-pool", enabled, - config.pickStringRegionBased( - "Use the new Virtual Thread introduced in JDK 21 for download worker pool.", - "是否为下载工作线程池使用虚拟线程(如果可用)。")); - } -}