From 670ff55e25e1487fb3455d83b272dee55834d7a1 Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Wed, 26 Jun 2024 18:56:13 +0800 Subject: [PATCH] Add back Replace shape full block cache with hashtable --- ...hape-full-block-cache-with-hashtable.patch | 105 ++++++++++++++++++ ...ignableFrom-call-in-ClassInstanceMu.patch} | 0 ...> 0079-Cache-BlockStatePairKey-hash.patch} | 6 +- ...by-multiplication-in-CubePointRange.patch} | 0 ...ace-parts-by-size-in-CubePointRange.patch} | 0 ...k-frozen-ticks-before-landing-block.patch} | 0 ... => 0083-Faster-chunk-serialization.patch} | 0 ...=> 0084-Update-boss-bar-within-tick.patch} | 0 ...h => 0085-Cache-ominous-banner-item.patch} | 0 ...086-Cache-world-generator-sea-level.patch} | 0 ...Skip-secondary-POI-sensor-if-absent.patch} | 0 ...kip-entity-move-if-movement-is-zero.patch} | 0 ...> 0089-Store-mob-counts-in-an-array.patch} | 0 ...-Use-linked-map-for-entity-trackers.patch} | 0 ...h => 0091-Optimize-noise-generation.patch} | 0 ...0092-Optimize-sheep-offspring-color.patch} | 0 ...es-on-entities-with-fire-resistance.patch} | 0 ...4-Skip-cloning-advancement-criteria.patch} | 0 ...lock-destruction-packet-allocations.patch} | 0 ...-Spread-out-sending-all-player-info.patch} | 0 ...player-list-for-sending-player-info.patch} | 0 ...dSendEvent-if-there-are-no-listener.patch} | 0 ...99-Send-multiple-keep-alive-packets.patch} | 0 ...ake-slow-login-timeout-configurable.patch} | 0 ...nation-chunk-before-entity-teleport.patch} | 0 ...Don-t-load-chunks-to-spawn-phantoms.patch} | 0 ...hunks-to-activate-climbing-entities.patch} | 0 ...imations-as-the-entity-being-critte.patch} | 0 ...5-Ignore-null-legacy-structure-data.patch} | 0 ...necessary-mob-spawning-computations.patch} | 0 ...random-strolling-into-non-ticking-c.patch} | 0 ...er-in-world-if-kicked-before-being-.patch} | 0 ... 0109-CraftBukkit-UUID-to-world-map.patch} | 0 ...file.patch => 0110-Global-EULA-file.patch} | 0 ...h => 0111-Specific-interval-TPS-API.patch} | 0 ....patch => 0112-5-second-TPS-average.patch} | 0 ...atch => 0113-Measure-last-tick-time.patch} | 0 ...PI.patch => 0114-Last-tick-time-API.patch} | 0 ...-Show-last-tick-time-in-tps-command.patch} | 0 ...crease-time-statistics-in-intervals.patch} | 0 ...eck-has-physics-before-same-vehicle.patch} | 0 ...ible-planar-movement-multiplication.patch} | 0 ... 0119-Optimize-matching-item-checks.patch} | 0 ...h => 0120-Pre-compute-VarLong-sizes.patch} | 0 ...mize-VarInt-write-and-VarLong-write.patch} | 0 ... 0122-Reduce-RandomSource-instances.patch} | 0 ...Stack-lookups-for-reduced-visibilit.patch} | 0 ...ne-of-sight-cache-with-low-capacity.patch} | 0 ...-of-sight-updates-and-cache-lookups.patch} | 0 ...hread-priority-environment-variable.patch} | 0 ...atch => 0127-Virtual-thread-support.patch} | 0 51 files changed, 108 insertions(+), 3 deletions(-) create mode 100644 patches/server/0077-Replace-shape-full-block-cache-with-hashtable.patch rename patches/server/{0077-Avoid-Class-isAssignableFrom-call-in-ClassInstanceMu.patch => 0078-Avoid-Class-isAssignableFrom-call-in-ClassInstanceMu.patch} (100%) rename patches/server/{0078-Cache-BlockStatePairKey-hash.patch => 0079-Cache-BlockStatePairKey-hash.patch} (90%) rename patches/server/{0079-Replace-division-by-multiplication-in-CubePointRange.patch => 0080-Replace-division-by-multiplication-in-CubePointRange.patch} (100%) rename patches/server/{0080-Replace-parts-by-size-in-CubePointRange.patch => 0081-Replace-parts-by-size-in-CubePointRange.patch} (100%) rename patches/server/{0081-Check-frozen-ticks-before-landing-block.patch => 0082-Check-frozen-ticks-before-landing-block.patch} (100%) rename patches/server/{0082-Faster-chunk-serialization.patch => 0083-Faster-chunk-serialization.patch} (100%) rename patches/server/{0083-Update-boss-bar-within-tick.patch => 0084-Update-boss-bar-within-tick.patch} (100%) rename patches/server/{0084-Cache-ominous-banner-item.patch => 0085-Cache-ominous-banner-item.patch} (100%) rename patches/server/{0085-Cache-world-generator-sea-level.patch => 0086-Cache-world-generator-sea-level.patch} (100%) rename patches/server/{0086-Skip-secondary-POI-sensor-if-absent.patch => 0087-Skip-secondary-POI-sensor-if-absent.patch} (100%) rename patches/server/{0087-Skip-entity-move-if-movement-is-zero.patch => 0088-Skip-entity-move-if-movement-is-zero.patch} (100%) rename patches/server/{0088-Store-mob-counts-in-an-array.patch => 0089-Store-mob-counts-in-an-array.patch} (100%) rename patches/server/{0089-Use-linked-map-for-entity-trackers.patch => 0090-Use-linked-map-for-entity-trackers.patch} (100%) rename patches/server/{0090-Optimize-noise-generation.patch => 0091-Optimize-noise-generation.patch} (100%) rename patches/server/{0091-Optimize-sheep-offspring-color.patch => 0092-Optimize-sheep-offspring-color.patch} (100%) rename patches/server/{0092-Hide-flames-on-entities-with-fire-resistance.patch => 0093-Hide-flames-on-entities-with-fire-resistance.patch} (100%) rename patches/server/{0093-Skip-cloning-advancement-criteria.patch => 0094-Skip-cloning-advancement-criteria.patch} (100%) rename patches/server/{0094-Reduce-block-destruction-packet-allocations.patch => 0095-Reduce-block-destruction-packet-allocations.patch} (100%) rename patches/server/{0095-Spread-out-sending-all-player-info.patch => 0096-Spread-out-sending-all-player-info.patch} (100%) rename patches/server/{0096-Optimize-player-list-for-sending-player-info.patch => 0097-Optimize-player-list-for-sending-player-info.patch} (100%) rename patches/server/{0097-Skip-PlayerCommandSendEvent-if-there-are-no-listener.patch => 0098-Skip-PlayerCommandSendEvent-if-there-are-no-listener.patch} (100%) rename patches/server/{0098-Send-multiple-keep-alive-packets.patch => 0099-Send-multiple-keep-alive-packets.patch} (100%) rename patches/server/{0099-Make-slow-login-timeout-configurable.patch => 0100-Make-slow-login-timeout-configurable.patch} (100%) rename patches/server/{0100-Load-portal-destination-chunk-before-entity-teleport.patch => 0101-Load-portal-destination-chunk-before-entity-teleport.patch} (100%) rename patches/server/{0101-Don-t-load-chunks-to-spawn-phantoms.patch => 0102-Don-t-load-chunks-to-spawn-phantoms.patch} (100%) rename patches/server/{0102-Don-t-load-chunks-to-activate-climbing-entities.patch => 0103-Don-t-load-chunks-to-activate-climbing-entities.patch} (100%) rename patches/server/{0103-Broadcast-crit-animations-as-the-entity-being-critte.patch => 0104-Broadcast-crit-animations-as-the-entity-being-critte.patch} (100%) rename patches/server/{0104-Ignore-null-legacy-structure-data.patch => 0105-Ignore-null-legacy-structure-data.patch} (100%) rename patches/server/{0105-Skip-unnecessary-mob-spawning-computations.patch => 0106-Skip-unnecessary-mob-spawning-computations.patch} (100%) rename patches/server/{0106-Prevent-entities-random-strolling-into-non-ticking-c.patch => 0107-Prevent-entities-random-strolling-into-non-ticking-c.patch} (100%) rename patches/server/{0107-Do-not-place-player-in-world-if-kicked-before-being-.patch => 0108-Do-not-place-player-in-world-if-kicked-before-being-.patch} (100%) rename patches/server/{0108-CraftBukkit-UUID-to-world-map.patch => 0109-CraftBukkit-UUID-to-world-map.patch} (100%) rename patches/server/{0109-Global-EULA-file.patch => 0110-Global-EULA-file.patch} (100%) rename patches/server/{0110-Specific-interval-TPS-API.patch => 0111-Specific-interval-TPS-API.patch} (100%) rename patches/server/{0111-5-second-TPS-average.patch => 0112-5-second-TPS-average.patch} (100%) rename patches/server/{0112-Measure-last-tick-time.patch => 0113-Measure-last-tick-time.patch} (100%) rename patches/server/{0113-Last-tick-time-API.patch => 0114-Last-tick-time-API.patch} (100%) rename patches/server/{0114-Show-last-tick-time-in-tps-command.patch => 0115-Show-last-tick-time-in-tps-command.patch} (100%) rename patches/server/{0115-Increase-time-statistics-in-intervals.patch => 0116-Increase-time-statistics-in-intervals.patch} (100%) rename patches/server/{0116-For-collision-check-has-physics-before-same-vehicle.patch => 0117-For-collision-check-has-physics-before-same-vehicle.patch} (100%) rename patches/server/{0117-Skip-negligible-planar-movement-multiplication.patch => 0118-Skip-negligible-planar-movement-multiplication.patch} (100%) rename patches/server/{0118-Optimize-matching-item-checks.patch => 0119-Optimize-matching-item-checks.patch} (100%) rename patches/server/{0119-Pre-compute-VarLong-sizes.patch => 0120-Pre-compute-VarLong-sizes.patch} (100%) rename patches/server/{0120-Optimize-VarInt-write-and-VarLong-write.patch => 0121-Optimize-VarInt-write-and-VarLong-write.patch} (100%) rename patches/server/{0121-Reduce-RandomSource-instances.patch => 0122-Reduce-RandomSource-instances.patch} (100%) rename patches/server/{0122-Reduce-skull-ItemStack-lookups-for-reduced-visibilit.patch => 0123-Reduce-skull-ItemStack-lookups-for-reduced-visibilit.patch} (100%) rename patches/server/{0123-Initialize-line-of-sight-cache-with-low-capacity.patch => 0124-Initialize-line-of-sight-cache-with-low-capacity.patch} (100%) rename patches/server/{0124-Reduce-line-of-sight-updates-and-cache-lookups.patch => 0125-Reduce-line-of-sight-updates-and-cache-lookups.patch} (100%) rename patches/server/{0125-Server-thread-priority-environment-variable.patch => 0126-Server-thread-priority-environment-variable.patch} (100%) rename patches/server/{0126-Virtual-thread-support.patch => 0127-Virtual-thread-support.patch} (100%) diff --git a/patches/server/0077-Replace-shape-full-block-cache-with-hashtable.patch b/patches/server/0077-Replace-shape-full-block-cache-with-hashtable.patch new file mode 100644 index 0000000..93a4004 --- /dev/null +++ b/patches/server/0077-Replace-shape-full-block-cache-with-hashtable.patch @@ -0,0 +1,105 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> +Date: Wed, 26 Jun 2024 18:52:28 +0800 +Subject: [PATCH] Replace shape full block cache with hashtable + + +diff --git a/src/main/java/me/jellysquid/mods/lithium/common/util/collections/Object2BooleanCacheTable.java b/src/main/java/me/jellysquid/mods/lithium/common/util/collections/Object2BooleanCacheTable.java +new file mode 100644 +index 0000000000000000000000000000000000000000..5e422708ca0a6161892293a49342f78ae671bf9b +--- /dev/null ++++ b/src/main/java/me/jellysquid/mods/lithium/common/util/collections/Object2BooleanCacheTable.java +@@ -0,0 +1,62 @@ ++// Gale - Lithium - replace shape full block cache with hashtable - cache table utility ++ ++package me.jellysquid.mods.lithium.common.util.collections; ++ ++import it.unimi.dsi.fastutil.HashCommon; ++import net.minecraft.util.Mth; ++ ++import java.util.function.Predicate; ++ ++/** ++ * A lossy hashtable implementation that stores a mapping between an object and a boolean. ++ *

++ * Any hash collisions will result in an overwrite: this is safe because the correct value can always be recomputed, ++ * given that the given operator is deterministic. ++ *

++ * This implementation is safe to use from multiple threads ++ */ ++public final class Object2BooleanCacheTable { ++ private final int mask; ++ ++ private final Node[] nodes; ++ ++ private final Predicate operator; ++ ++ @SuppressWarnings("unchecked") ++ public Object2BooleanCacheTable(int capacity, Predicate operator) { ++ int capacity1 = Mth.smallestEncompassingPowerOfTwo(capacity); ++ this.mask = capacity1 - 1; ++ ++ this.nodes = (Node[]) new Node[capacity1]; ++ ++ this.operator = operator; ++ } ++ ++ private static int hash(T key) { ++ return HashCommon.mix(key.hashCode()); ++ } ++ ++ public boolean get(T key) { ++ int idx = hash(key) & this.mask; ++ ++ Node node = this.nodes[idx]; ++ if (node != null && key.equals(node.key)) { ++ return node.value; ++ } ++ ++ boolean test = this.operator.test(key); ++ this.nodes[idx] = new Node<>(key, test); ++ ++ return test; ++ } ++ ++ static class Node { ++ final T key; ++ final boolean value; ++ ++ Node(T key, boolean value) { ++ this.key = key; ++ this.value = value; ++ } ++ } ++} +diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java +index 45704653310efe9cb755a644674b54b8722c2c84..313b0ffb1e3b37872e86ae3cb50c70ef4e01b8bd 100644 +--- a/src/main/java/net/minecraft/world/level/block/Block.java ++++ b/src/main/java/net/minecraft/world/level/block/Block.java +@@ -68,11 +68,12 @@ public class Block extends BlockBehaviour implements ItemLike { + private static final Logger LOGGER = LogUtils.getLogger(); + private final Holder.Reference builtInRegistryHolder; + public static final IdMapper BLOCK_STATE_REGISTRY = new IdMapper<>(); +- private static final LoadingCache SHAPE_FULL_BLOCK_CACHE = CacheBuilder.newBuilder().maximumSize(512L).weakKeys().build(new CacheLoader() { +- public Boolean load(VoxelShape voxelshape) { +- return !Shapes.joinIsNotEmpty(Shapes.block(), voxelshape, BooleanOp.NOT_SAME); +- } +- }); ++ // Gale start - Lithium - replace shape full block cache with hashtable ++ private static final me.jellysquid.mods.lithium.common.util.collections.Object2BooleanCacheTable SHAPE_FULL_BLOCK_CACHE = new me.jellysquid.mods.lithium.common.util.collections.Object2BooleanCacheTable<>( ++ 512, ++ shape -> !Shapes.joinIsNotEmpty(Shapes.block(), shape, BooleanOp.NOT_SAME) ++ ); ++ // Gale end - Lithium - replace shape full block cache with hashtable + public static final int UPDATE_NEIGHBORS = 1; + public static final int UPDATE_CLIENTS = 2; + public static final int UPDATE_INVISIBLE = 4; +@@ -279,7 +280,7 @@ public class Block extends BlockBehaviour implements ItemLike { + } + + public static boolean isShapeFullBlock(VoxelShape shape) { +- return (Boolean) Block.SHAPE_FULL_BLOCK_CACHE.getUnchecked(shape); ++ return SHAPE_FULL_BLOCK_CACHE.get(shape); // Gale - Lithium - replace shape full block cache with hashtable + } + + public void animateTick(BlockState state, Level world, BlockPos pos, RandomSource random) {} diff --git a/patches/server/0077-Avoid-Class-isAssignableFrom-call-in-ClassInstanceMu.patch b/patches/server/0078-Avoid-Class-isAssignableFrom-call-in-ClassInstanceMu.patch similarity index 100% rename from patches/server/0077-Avoid-Class-isAssignableFrom-call-in-ClassInstanceMu.patch rename to patches/server/0078-Avoid-Class-isAssignableFrom-call-in-ClassInstanceMu.patch diff --git a/patches/server/0078-Cache-BlockStatePairKey-hash.patch b/patches/server/0079-Cache-BlockStatePairKey-hash.patch similarity index 90% rename from patches/server/0078-Cache-BlockStatePairKey-hash.patch rename to patches/server/0079-Cache-BlockStatePairKey-hash.patch index 6f84d8f..d2ec994 100644 --- a/patches/server/0078-Cache-BlockStatePairKey-hash.patch +++ b/patches/server/0079-Cache-BlockStatePairKey-hash.patch @@ -13,10 +13,10 @@ As part of: Lithium (https://github.com/CaffeineMC/lithium-fabric) Licensed under: LGPL-3.0 (https://www.gnu.org/licenses/lgpl-3.0.html) diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java -index 45704653310efe9cb755a644674b54b8722c2c84..dbfee1647c564e833eb23a3b90ad0f1cb78edfb5 100644 +index 313b0ffb1e3b37872e86ae3cb50c70ef4e01b8bd..ac0da3d2d1b83dd0fb3db170141a6b105476d8e6 100644 --- a/src/main/java/net/minecraft/world/level/block/Block.java +++ b/src/main/java/net/minecraft/world/level/block/Block.java -@@ -600,11 +600,18 @@ public class Block extends BlockBehaviour implements ItemLike { +@@ -601,11 +601,18 @@ public class Block extends BlockBehaviour implements ItemLike { private final BlockState first; private final BlockState second; private final Direction direction; @@ -35,7 +35,7 @@ index 45704653310efe9cb755a644674b54b8722c2c84..dbfee1647c564e833eb23a3b90ad0f1c } public boolean equals(Object object) { -@@ -620,11 +627,7 @@ public class Block extends BlockBehaviour implements ItemLike { +@@ -621,11 +628,7 @@ public class Block extends BlockBehaviour implements ItemLike { } public int hashCode() { diff --git a/patches/server/0079-Replace-division-by-multiplication-in-CubePointRange.patch b/patches/server/0080-Replace-division-by-multiplication-in-CubePointRange.patch similarity index 100% rename from patches/server/0079-Replace-division-by-multiplication-in-CubePointRange.patch rename to patches/server/0080-Replace-division-by-multiplication-in-CubePointRange.patch diff --git a/patches/server/0080-Replace-parts-by-size-in-CubePointRange.patch b/patches/server/0081-Replace-parts-by-size-in-CubePointRange.patch similarity index 100% rename from patches/server/0080-Replace-parts-by-size-in-CubePointRange.patch rename to patches/server/0081-Replace-parts-by-size-in-CubePointRange.patch diff --git a/patches/server/0081-Check-frozen-ticks-before-landing-block.patch b/patches/server/0082-Check-frozen-ticks-before-landing-block.patch similarity index 100% rename from patches/server/0081-Check-frozen-ticks-before-landing-block.patch rename to patches/server/0082-Check-frozen-ticks-before-landing-block.patch diff --git a/patches/server/0082-Faster-chunk-serialization.patch b/patches/server/0083-Faster-chunk-serialization.patch similarity index 100% rename from patches/server/0082-Faster-chunk-serialization.patch rename to patches/server/0083-Faster-chunk-serialization.patch diff --git a/patches/server/0083-Update-boss-bar-within-tick.patch b/patches/server/0084-Update-boss-bar-within-tick.patch similarity index 100% rename from patches/server/0083-Update-boss-bar-within-tick.patch rename to patches/server/0084-Update-boss-bar-within-tick.patch diff --git a/patches/server/0084-Cache-ominous-banner-item.patch b/patches/server/0085-Cache-ominous-banner-item.patch similarity index 100% rename from patches/server/0084-Cache-ominous-banner-item.patch rename to patches/server/0085-Cache-ominous-banner-item.patch diff --git a/patches/server/0085-Cache-world-generator-sea-level.patch b/patches/server/0086-Cache-world-generator-sea-level.patch similarity index 100% rename from patches/server/0085-Cache-world-generator-sea-level.patch rename to patches/server/0086-Cache-world-generator-sea-level.patch diff --git a/patches/server/0086-Skip-secondary-POI-sensor-if-absent.patch b/patches/server/0087-Skip-secondary-POI-sensor-if-absent.patch similarity index 100% rename from patches/server/0086-Skip-secondary-POI-sensor-if-absent.patch rename to patches/server/0087-Skip-secondary-POI-sensor-if-absent.patch diff --git a/patches/server/0087-Skip-entity-move-if-movement-is-zero.patch b/patches/server/0088-Skip-entity-move-if-movement-is-zero.patch similarity index 100% rename from patches/server/0087-Skip-entity-move-if-movement-is-zero.patch rename to patches/server/0088-Skip-entity-move-if-movement-is-zero.patch diff --git a/patches/server/0088-Store-mob-counts-in-an-array.patch b/patches/server/0089-Store-mob-counts-in-an-array.patch similarity index 100% rename from patches/server/0088-Store-mob-counts-in-an-array.patch rename to patches/server/0089-Store-mob-counts-in-an-array.patch diff --git a/patches/server/0089-Use-linked-map-for-entity-trackers.patch b/patches/server/0090-Use-linked-map-for-entity-trackers.patch similarity index 100% rename from patches/server/0089-Use-linked-map-for-entity-trackers.patch rename to patches/server/0090-Use-linked-map-for-entity-trackers.patch diff --git a/patches/server/0090-Optimize-noise-generation.patch b/patches/server/0091-Optimize-noise-generation.patch similarity index 100% rename from patches/server/0090-Optimize-noise-generation.patch rename to patches/server/0091-Optimize-noise-generation.patch diff --git a/patches/server/0091-Optimize-sheep-offspring-color.patch b/patches/server/0092-Optimize-sheep-offspring-color.patch similarity index 100% rename from patches/server/0091-Optimize-sheep-offspring-color.patch rename to patches/server/0092-Optimize-sheep-offspring-color.patch diff --git a/patches/server/0092-Hide-flames-on-entities-with-fire-resistance.patch b/patches/server/0093-Hide-flames-on-entities-with-fire-resistance.patch similarity index 100% rename from patches/server/0092-Hide-flames-on-entities-with-fire-resistance.patch rename to patches/server/0093-Hide-flames-on-entities-with-fire-resistance.patch diff --git a/patches/server/0093-Skip-cloning-advancement-criteria.patch b/patches/server/0094-Skip-cloning-advancement-criteria.patch similarity index 100% rename from patches/server/0093-Skip-cloning-advancement-criteria.patch rename to patches/server/0094-Skip-cloning-advancement-criteria.patch diff --git a/patches/server/0094-Reduce-block-destruction-packet-allocations.patch b/patches/server/0095-Reduce-block-destruction-packet-allocations.patch similarity index 100% rename from patches/server/0094-Reduce-block-destruction-packet-allocations.patch rename to patches/server/0095-Reduce-block-destruction-packet-allocations.patch diff --git a/patches/server/0095-Spread-out-sending-all-player-info.patch b/patches/server/0096-Spread-out-sending-all-player-info.patch similarity index 100% rename from patches/server/0095-Spread-out-sending-all-player-info.patch rename to patches/server/0096-Spread-out-sending-all-player-info.patch diff --git a/patches/server/0096-Optimize-player-list-for-sending-player-info.patch b/patches/server/0097-Optimize-player-list-for-sending-player-info.patch similarity index 100% rename from patches/server/0096-Optimize-player-list-for-sending-player-info.patch rename to patches/server/0097-Optimize-player-list-for-sending-player-info.patch diff --git a/patches/server/0097-Skip-PlayerCommandSendEvent-if-there-are-no-listener.patch b/patches/server/0098-Skip-PlayerCommandSendEvent-if-there-are-no-listener.patch similarity index 100% rename from patches/server/0097-Skip-PlayerCommandSendEvent-if-there-are-no-listener.patch rename to patches/server/0098-Skip-PlayerCommandSendEvent-if-there-are-no-listener.patch diff --git a/patches/server/0098-Send-multiple-keep-alive-packets.patch b/patches/server/0099-Send-multiple-keep-alive-packets.patch similarity index 100% rename from patches/server/0098-Send-multiple-keep-alive-packets.patch rename to patches/server/0099-Send-multiple-keep-alive-packets.patch diff --git a/patches/server/0099-Make-slow-login-timeout-configurable.patch b/patches/server/0100-Make-slow-login-timeout-configurable.patch similarity index 100% rename from patches/server/0099-Make-slow-login-timeout-configurable.patch rename to patches/server/0100-Make-slow-login-timeout-configurable.patch diff --git a/patches/server/0100-Load-portal-destination-chunk-before-entity-teleport.patch b/patches/server/0101-Load-portal-destination-chunk-before-entity-teleport.patch similarity index 100% rename from patches/server/0100-Load-portal-destination-chunk-before-entity-teleport.patch rename to patches/server/0101-Load-portal-destination-chunk-before-entity-teleport.patch diff --git a/patches/server/0101-Don-t-load-chunks-to-spawn-phantoms.patch b/patches/server/0102-Don-t-load-chunks-to-spawn-phantoms.patch similarity index 100% rename from patches/server/0101-Don-t-load-chunks-to-spawn-phantoms.patch rename to patches/server/0102-Don-t-load-chunks-to-spawn-phantoms.patch diff --git a/patches/server/0102-Don-t-load-chunks-to-activate-climbing-entities.patch b/patches/server/0103-Don-t-load-chunks-to-activate-climbing-entities.patch similarity index 100% rename from patches/server/0102-Don-t-load-chunks-to-activate-climbing-entities.patch rename to patches/server/0103-Don-t-load-chunks-to-activate-climbing-entities.patch diff --git a/patches/server/0103-Broadcast-crit-animations-as-the-entity-being-critte.patch b/patches/server/0104-Broadcast-crit-animations-as-the-entity-being-critte.patch similarity index 100% rename from patches/server/0103-Broadcast-crit-animations-as-the-entity-being-critte.patch rename to patches/server/0104-Broadcast-crit-animations-as-the-entity-being-critte.patch diff --git a/patches/server/0104-Ignore-null-legacy-structure-data.patch b/patches/server/0105-Ignore-null-legacy-structure-data.patch similarity index 100% rename from patches/server/0104-Ignore-null-legacy-structure-data.patch rename to patches/server/0105-Ignore-null-legacy-structure-data.patch diff --git a/patches/server/0105-Skip-unnecessary-mob-spawning-computations.patch b/patches/server/0106-Skip-unnecessary-mob-spawning-computations.patch similarity index 100% rename from patches/server/0105-Skip-unnecessary-mob-spawning-computations.patch rename to patches/server/0106-Skip-unnecessary-mob-spawning-computations.patch diff --git a/patches/server/0106-Prevent-entities-random-strolling-into-non-ticking-c.patch b/patches/server/0107-Prevent-entities-random-strolling-into-non-ticking-c.patch similarity index 100% rename from patches/server/0106-Prevent-entities-random-strolling-into-non-ticking-c.patch rename to patches/server/0107-Prevent-entities-random-strolling-into-non-ticking-c.patch diff --git a/patches/server/0107-Do-not-place-player-in-world-if-kicked-before-being-.patch b/patches/server/0108-Do-not-place-player-in-world-if-kicked-before-being-.patch similarity index 100% rename from patches/server/0107-Do-not-place-player-in-world-if-kicked-before-being-.patch rename to patches/server/0108-Do-not-place-player-in-world-if-kicked-before-being-.patch diff --git a/patches/server/0108-CraftBukkit-UUID-to-world-map.patch b/patches/server/0109-CraftBukkit-UUID-to-world-map.patch similarity index 100% rename from patches/server/0108-CraftBukkit-UUID-to-world-map.patch rename to patches/server/0109-CraftBukkit-UUID-to-world-map.patch diff --git a/patches/server/0109-Global-EULA-file.patch b/patches/server/0110-Global-EULA-file.patch similarity index 100% rename from patches/server/0109-Global-EULA-file.patch rename to patches/server/0110-Global-EULA-file.patch diff --git a/patches/server/0110-Specific-interval-TPS-API.patch b/patches/server/0111-Specific-interval-TPS-API.patch similarity index 100% rename from patches/server/0110-Specific-interval-TPS-API.patch rename to patches/server/0111-Specific-interval-TPS-API.patch diff --git a/patches/server/0111-5-second-TPS-average.patch b/patches/server/0112-5-second-TPS-average.patch similarity index 100% rename from patches/server/0111-5-second-TPS-average.patch rename to patches/server/0112-5-second-TPS-average.patch diff --git a/patches/server/0112-Measure-last-tick-time.patch b/patches/server/0113-Measure-last-tick-time.patch similarity index 100% rename from patches/server/0112-Measure-last-tick-time.patch rename to patches/server/0113-Measure-last-tick-time.patch diff --git a/patches/server/0113-Last-tick-time-API.patch b/patches/server/0114-Last-tick-time-API.patch similarity index 100% rename from patches/server/0113-Last-tick-time-API.patch rename to patches/server/0114-Last-tick-time-API.patch diff --git a/patches/server/0114-Show-last-tick-time-in-tps-command.patch b/patches/server/0115-Show-last-tick-time-in-tps-command.patch similarity index 100% rename from patches/server/0114-Show-last-tick-time-in-tps-command.patch rename to patches/server/0115-Show-last-tick-time-in-tps-command.patch diff --git a/patches/server/0115-Increase-time-statistics-in-intervals.patch b/patches/server/0116-Increase-time-statistics-in-intervals.patch similarity index 100% rename from patches/server/0115-Increase-time-statistics-in-intervals.patch rename to patches/server/0116-Increase-time-statistics-in-intervals.patch diff --git a/patches/server/0116-For-collision-check-has-physics-before-same-vehicle.patch b/patches/server/0117-For-collision-check-has-physics-before-same-vehicle.patch similarity index 100% rename from patches/server/0116-For-collision-check-has-physics-before-same-vehicle.patch rename to patches/server/0117-For-collision-check-has-physics-before-same-vehicle.patch diff --git a/patches/server/0117-Skip-negligible-planar-movement-multiplication.patch b/patches/server/0118-Skip-negligible-planar-movement-multiplication.patch similarity index 100% rename from patches/server/0117-Skip-negligible-planar-movement-multiplication.patch rename to patches/server/0118-Skip-negligible-planar-movement-multiplication.patch diff --git a/patches/server/0118-Optimize-matching-item-checks.patch b/patches/server/0119-Optimize-matching-item-checks.patch similarity index 100% rename from patches/server/0118-Optimize-matching-item-checks.patch rename to patches/server/0119-Optimize-matching-item-checks.patch diff --git a/patches/server/0119-Pre-compute-VarLong-sizes.patch b/patches/server/0120-Pre-compute-VarLong-sizes.patch similarity index 100% rename from patches/server/0119-Pre-compute-VarLong-sizes.patch rename to patches/server/0120-Pre-compute-VarLong-sizes.patch diff --git a/patches/server/0120-Optimize-VarInt-write-and-VarLong-write.patch b/patches/server/0121-Optimize-VarInt-write-and-VarLong-write.patch similarity index 100% rename from patches/server/0120-Optimize-VarInt-write-and-VarLong-write.patch rename to patches/server/0121-Optimize-VarInt-write-and-VarLong-write.patch diff --git a/patches/server/0121-Reduce-RandomSource-instances.patch b/patches/server/0122-Reduce-RandomSource-instances.patch similarity index 100% rename from patches/server/0121-Reduce-RandomSource-instances.patch rename to patches/server/0122-Reduce-RandomSource-instances.patch diff --git a/patches/server/0122-Reduce-skull-ItemStack-lookups-for-reduced-visibilit.patch b/patches/server/0123-Reduce-skull-ItemStack-lookups-for-reduced-visibilit.patch similarity index 100% rename from patches/server/0122-Reduce-skull-ItemStack-lookups-for-reduced-visibilit.patch rename to patches/server/0123-Reduce-skull-ItemStack-lookups-for-reduced-visibilit.patch diff --git a/patches/server/0123-Initialize-line-of-sight-cache-with-low-capacity.patch b/patches/server/0124-Initialize-line-of-sight-cache-with-low-capacity.patch similarity index 100% rename from patches/server/0123-Initialize-line-of-sight-cache-with-low-capacity.patch rename to patches/server/0124-Initialize-line-of-sight-cache-with-low-capacity.patch diff --git a/patches/server/0124-Reduce-line-of-sight-updates-and-cache-lookups.patch b/patches/server/0125-Reduce-line-of-sight-updates-and-cache-lookups.patch similarity index 100% rename from patches/server/0124-Reduce-line-of-sight-updates-and-cache-lookups.patch rename to patches/server/0125-Reduce-line-of-sight-updates-and-cache-lookups.patch diff --git a/patches/server/0125-Server-thread-priority-environment-variable.patch b/patches/server/0126-Server-thread-priority-environment-variable.patch similarity index 100% rename from patches/server/0125-Server-thread-priority-environment-variable.patch rename to patches/server/0126-Server-thread-priority-environment-variable.patch diff --git a/patches/server/0126-Virtual-thread-support.patch b/patches/server/0127-Virtual-thread-support.patch similarity index 100% rename from patches/server/0126-Virtual-thread-support.patch rename to patches/server/0127-Virtual-thread-support.patch