diff --git a/src/main/java/dan200/computercraft/shared/PocketUpgrades.java b/src/main/java/dan200/computercraft/shared/PocketUpgrades.java index 2358d28be..2bb1a0f61 100644 --- a/src/main/java/dan200/computercraft/shared/PocketUpgrades.java +++ b/src/main/java/dan200/computercraft/shared/PocketUpgrades.java @@ -7,7 +7,9 @@ import dan200.computercraft.ComputerCraft; import dan200.computercraft.api.pocket.IPocketUpgrade; +import it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap; import net.minecraft.item.ItemStack; +import net.minecraft.util.Util; import net.minecraftforge.fml.ModContainer; import net.minecraftforge.fml.ModLoadingContext; @@ -18,7 +20,7 @@ public final class PocketUpgrades { private static final Map upgrades = new HashMap<>(); - private static final IdentityHashMap upgradeOwners = new IdentityHashMap<>(); + private static final Map upgradeOwners = new Object2ObjectLinkedOpenCustomHashMap<>( Util.identityStrategy() ); private PocketUpgrades() {} diff --git a/src/main/java/dan200/computercraft/shared/TurtleUpgrades.java b/src/main/java/dan200/computercraft/shared/TurtleUpgrades.java index c13774b5a..6f5b3b3c2 100644 --- a/src/main/java/dan200/computercraft/shared/TurtleUpgrades.java +++ b/src/main/java/dan200/computercraft/shared/TurtleUpgrades.java @@ -8,12 +8,17 @@ import dan200.computercraft.ComputerCraft; import dan200.computercraft.api.turtle.ITurtleUpgrade; import dan200.computercraft.shared.computer.core.ComputerFamily; +import it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap; import net.minecraft.item.ItemStack; +import net.minecraft.util.Util; import net.minecraftforge.fml.ModLoadingContext; import javax.annotation.Nonnull; import javax.annotation.Nullable; -import java.util.*; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; import java.util.stream.Stream; public final class TurtleUpgrades @@ -37,7 +42,7 @@ private static class Wrapper private static ITurtleUpgrade[] vanilla; private static final Map upgrades = new HashMap<>(); - private static final IdentityHashMap wrappers = new IdentityHashMap<>(); + private static final Map wrappers = new Object2ObjectLinkedOpenCustomHashMap<>( Util.identityStrategy() ); private static boolean needsRebuild; private TurtleUpgrades() {}