diff --git a/patches/server/0066-Replace-game-rules-map-with-optimized-collection.patch b/patches/server/0066-Replace-game-rules-map-with-optimized-collection.patch new file mode 100644 index 0000000..ad9813d --- /dev/null +++ b/patches/server/0066-Replace-game-rules-map-with-optimized-collection.patch @@ -0,0 +1,36 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: MartijnMuijsers +Date: Wed, 30 Nov 2022 17:35:06 +0100 +Subject: [PATCH] Replace game rules map with optimized collection + +License: LGPL-3.0 (https://www.gnu.org/licenses/lgpl-3.0.html) + +This patch is based on the following mixin: +"collections/gamerules/GameRulesMixin" +Original commit: "new: store gamerules in fastutil hashmap" +By: 2No2Name <2No2Name@web.de> +As part of: Lithium (https://github.com/CaffeineMC/lithium-fabric) +Licensed under: LGPL-3.0 (https://www.gnu.org/licenses/lgpl-3.0.nl.html) + +diff --git a/src/main/java/net/minecraft/world/level/GameRules.java b/src/main/java/net/minecraft/world/level/GameRules.java +index e660a84251bc67435e905aacf628a84156b5d689..dfdd70fccc135b7c1cf89b8e4c2fcdb7738caea7 100644 +--- a/src/main/java/net/minecraft/world/level/GameRules.java ++++ b/src/main/java/net/minecraft/world/level/GameRules.java +@@ -19,6 +19,8 @@ import java.util.function.BiConsumer; + import java.util.function.Function; + import java.util.function.Supplier; + import javax.annotation.Nullable; ++ ++import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap; + import net.minecraft.commands.CommandSourceStack; + import net.minecraft.commands.Commands; + import net.minecraft.nbt.CompoundTag; +@@ -118,7 +120,7 @@ public class GameRules { + } + + private GameRules(Map, GameRules.Value> rules) { +- this.rules = rules; ++ this.rules = new Object2ObjectOpenHashMap<>(rules); // Gale - Lithium - replace game rules map with optimized collection + + // Gale start - Airplane - use array for gamerule storage + int arraySize = rules.keySet().stream().mapToInt(key -> key.gameRuleIndex).max().orElse(-1) + 1; diff --git a/patches/server/0066-Cache-BlockStatePairKey-hash.patch b/patches/server/0067-Cache-BlockStatePairKey-hash.patch similarity index 100% rename from patches/server/0066-Cache-BlockStatePairKey-hash.patch rename to patches/server/0067-Cache-BlockStatePairKey-hash.patch diff --git a/patches/server/0067-Cache-CubeVoxelShape-shape-array.patch b/patches/server/0068-Cache-CubeVoxelShape-shape-array.patch similarity index 100% rename from patches/server/0067-Cache-CubeVoxelShape-shape-array.patch rename to patches/server/0068-Cache-CubeVoxelShape-shape-array.patch diff --git a/patches/server/0068-Replace-division-by-multiplication-in-CubePointRange.patch b/patches/server/0069-Replace-division-by-multiplication-in-CubePointRange.patch similarity index 100% rename from patches/server/0068-Replace-division-by-multiplication-in-CubePointRange.patch rename to patches/server/0069-Replace-division-by-multiplication-in-CubePointRange.patch diff --git a/patches/server/0069-Replace-parts-by-size-in-CubePointRange.patch b/patches/server/0070-Replace-parts-by-size-in-CubePointRange.patch similarity index 100% rename from patches/server/0069-Replace-parts-by-size-in-CubePointRange.patch rename to patches/server/0070-Replace-parts-by-size-in-CubePointRange.patch diff --git a/patches/server/0070-Skip-entity-move-if-movement-is-zero.patch b/patches/server/0071-Skip-entity-move-if-movement-is-zero.patch similarity index 100% rename from patches/server/0070-Skip-entity-move-if-movement-is-zero.patch rename to patches/server/0071-Skip-entity-move-if-movement-is-zero.patch diff --git a/patches/server/0071-Ignore-durability-change-equipment-updates.patch b/patches/server/0072-Ignore-durability-change-equipment-updates.patch similarity index 100% rename from patches/server/0071-Ignore-durability-change-equipment-updates.patch rename to patches/server/0072-Ignore-durability-change-equipment-updates.patch diff --git a/patches/server/0072-Hide-flames-on-entities-with-fire-resistance.patch b/patches/server/0073-Hide-flames-on-entities-with-fire-resistance.patch similarity index 100% rename from patches/server/0072-Hide-flames-on-entities-with-fire-resistance.patch rename to patches/server/0073-Hide-flames-on-entities-with-fire-resistance.patch diff --git a/patches/server/0073-Skip-cloning-advancement-criteria.patch b/patches/server/0074-Skip-cloning-advancement-criteria.patch similarity index 100% rename from patches/server/0073-Skip-cloning-advancement-criteria.patch rename to patches/server/0074-Skip-cloning-advancement-criteria.patch diff --git a/patches/server/0074-Player-canSee-by-entity-UUID.patch b/patches/server/0075-Player-canSee-by-entity-UUID.patch similarity index 100% rename from patches/server/0074-Player-canSee-by-entity-UUID.patch rename to patches/server/0075-Player-canSee-by-entity-UUID.patch diff --git a/patches/server/0075-Spread-out-sending-all-player-info.patch b/patches/server/0076-Spread-out-sending-all-player-info.patch similarity index 100% rename from patches/server/0075-Spread-out-sending-all-player-info.patch rename to patches/server/0076-Spread-out-sending-all-player-info.patch diff --git a/patches/server/0076-Optimize-player-list-for-sending-player-info.patch b/patches/server/0077-Optimize-player-list-for-sending-player-info.patch similarity index 100% rename from patches/server/0076-Optimize-player-list-for-sending-player-info.patch rename to patches/server/0077-Optimize-player-list-for-sending-player-info.patch diff --git a/patches/server/0077-Skip-PlayerCommandSendEvent-if-there-are-no-listener.patch b/patches/server/0078-Skip-PlayerCommandSendEvent-if-there-are-no-listener.patch similarity index 100% rename from patches/server/0077-Skip-PlayerCommandSendEvent-if-there-are-no-listener.patch rename to patches/server/0078-Skip-PlayerCommandSendEvent-if-there-are-no-listener.patch diff --git a/patches/server/0078-Send-multiple-keep-alive-packets.patch b/patches/server/0079-Send-multiple-keep-alive-packets.patch similarity index 100% rename from patches/server/0078-Send-multiple-keep-alive-packets.patch rename to patches/server/0079-Send-multiple-keep-alive-packets.patch diff --git a/patches/server/0079-Specific-interval-TPS-API.patch b/patches/server/0080-Specific-interval-TPS-API.patch similarity index 100% rename from patches/server/0079-Specific-interval-TPS-API.patch rename to patches/server/0080-Specific-interval-TPS-API.patch diff --git a/patches/server/0080-5-second-TPS-average.patch b/patches/server/0081-5-second-TPS-average.patch similarity index 100% rename from patches/server/0080-5-second-TPS-average.patch rename to patches/server/0081-5-second-TPS-average.patch diff --git a/patches/server/0081-Measure-last-tick-time.patch b/patches/server/0082-Measure-last-tick-time.patch similarity index 100% rename from patches/server/0081-Measure-last-tick-time.patch rename to patches/server/0082-Measure-last-tick-time.patch diff --git a/patches/server/0082-Last-tick-time-API.patch b/patches/server/0083-Last-tick-time-API.patch similarity index 100% rename from patches/server/0082-Last-tick-time-API.patch rename to patches/server/0083-Last-tick-time-API.patch diff --git a/patches/server/0083-Show-last-tick-time-in-tps-command.patch b/patches/server/0084-Show-last-tick-time-in-tps-command.patch similarity index 100% rename from patches/server/0083-Show-last-tick-time-in-tps-command.patch rename to patches/server/0084-Show-last-tick-time-in-tps-command.patch diff --git a/patches/server/0084-Collision-physics-check-before-vehicle-check.patch b/patches/server/0085-Collision-physics-check-before-vehicle-check.patch similarity index 100% rename from patches/server/0084-Collision-physics-check-before-vehicle-check.patch rename to patches/server/0085-Collision-physics-check-before-vehicle-check.patch diff --git a/patches/server/0085-Variable-main-thread-task-delay.patch b/patches/server/0086-Variable-main-thread-task-delay.patch similarity index 100% rename from patches/server/0085-Variable-main-thread-task-delay.patch rename to patches/server/0086-Variable-main-thread-task-delay.patch diff --git a/patches/server/0086-Reduce-RandomSource-instances.patch b/patches/server/0087-Reduce-RandomSource-instances.patch similarity index 100% rename from patches/server/0086-Reduce-RandomSource-instances.patch rename to patches/server/0087-Reduce-RandomSource-instances.patch diff --git a/patches/server/0087-CPU-cores-estimation.patch b/patches/server/0088-CPU-cores-estimation.patch similarity index 100% rename from patches/server/0087-CPU-cores-estimation.patch rename to patches/server/0088-CPU-cores-estimation.patch diff --git a/patches/server/0088-Add-centralized-AsyncExecutor.patch b/patches/server/0089-Add-centralized-AsyncExecutor.patch similarity index 100% rename from patches/server/0088-Add-centralized-AsyncExecutor.patch rename to patches/server/0089-Add-centralized-AsyncExecutor.patch diff --git a/patches/server/0089-Remove-Paper-async-executor.patch b/patches/server/0090-Remove-Paper-async-executor.patch similarity index 100% rename from patches/server/0089-Remove-Paper-async-executor.patch rename to patches/server/0090-Remove-Paper-async-executor.patch diff --git a/patches/server/0090-Remove-Paper-cleaner-executor.patch b/patches/server/0091-Remove-Paper-cleaner-executor.patch similarity index 100% rename from patches/server/0090-Remove-Paper-cleaner-executor.patch rename to patches/server/0091-Remove-Paper-cleaner-executor.patch diff --git a/patches/server/0091-Remove-background-executor.patch b/patches/server/0092-Remove-background-executor.patch similarity index 100% rename from patches/server/0091-Remove-background-executor.patch rename to patches/server/0092-Remove-background-executor.patch diff --git a/patches/server/0092-Remove-bootstrap-executor.patch b/patches/server/0093-Remove-bootstrap-executor.patch similarity index 100% rename from patches/server/0092-Remove-bootstrap-executor.patch rename to patches/server/0093-Remove-bootstrap-executor.patch diff --git a/patches/server/0093-Remove-world-upgrade-executors.patch b/patches/server/0094-Remove-world-upgrade-executors.patch similarity index 100% rename from patches/server/0093-Remove-world-upgrade-executors.patch rename to patches/server/0094-Remove-world-upgrade-executors.patch diff --git a/patches/server/0094-Remove-tab-complete-executor.patch b/patches/server/0095-Remove-tab-complete-executor.patch similarity index 100% rename from patches/server/0094-Remove-tab-complete-executor.patch rename to patches/server/0095-Remove-tab-complete-executor.patch diff --git a/patches/server/0095-Remove-text-filter-executor.patch b/patches/server/0096-Remove-text-filter-executor.patch similarity index 100% rename from patches/server/0095-Remove-text-filter-executor.patch rename to patches/server/0096-Remove-text-filter-executor.patch