From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: NONPLAYT <76615486+NONPLAYT@users.noreply.github.com> Date: Sat, 8 Apr 2023 01:28:01 +0300 Subject: [PATCH] lithium: collections.gamerules Original code by CaffeineMC, licensed under LGPL v3 You can find the original code on https://github.com/CaffeineMC/lithium-fabric (Yarn mappings) diff --git a/src/main/java/net/minecraft/world/level/GameRules.java b/src/main/java/net/minecraft/world/level/GameRules.java index 89e327bc3a45879fe68887c7aadb077f31a770eb..bb0fcf15fa49d6b352b11d4cffe4e2c8b0fe5c30 100644 --- a/src/main/java/net/minecraft/world/level/GameRules.java +++ b/src/main/java/net/minecraft/world/level/GameRules.java @@ -30,6 +30,7 @@ import net.minecraft.server.MinecraftServer; import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import org.slf4j.Logger; +import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap; public class GameRules { @@ -149,7 +150,7 @@ public class GameRules { } private GameRules(Map, GameRules.Value> rules) { - this.rules = rules; + this.rules = new Object2ObjectOpenHashMap<>(rules); // DivineMC - lithium: collections.gamerules // Paper start - Perf: Use array for gamerule storage int arraySize = rules.keySet().stream().mapToInt(key -> key.gameRuleIndex).max().orElse(-1) + 1;