diff --git a/src/main/java/net/minestom/server/instance/block/BlockImpl.java b/src/main/java/net/minestom/server/instance/block/BlockImpl.java index c3bbe0874..b20525b02 100644 --- a/src/main/java/net/minestom/server/instance/block/BlockImpl.java +++ b/src/main/java/net/minestom/server/instance/block/BlockImpl.java @@ -3,7 +3,7 @@ package net.minestom.server.instance.block; import com.github.benmanes.caffeine.cache.Cache; import com.github.benmanes.caffeine.cache.Caffeine; import com.google.gson.JsonObject; -import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; +import it.unimi.dsi.fastutil.objects.ObjectArrayList; import net.minestom.server.registry.Registry; import net.minestom.server.tag.Tag; import net.minestom.server.utils.block.BlockUtils; @@ -17,7 +17,7 @@ import java.util.function.Function; final class BlockImpl implements Block { // Block state -> block object - private static final Int2ObjectOpenHashMap BLOCK_STATE_MAP = new Int2ObjectOpenHashMap<>(); + private static final ObjectArrayList BLOCK_STATE_MAP = new ObjectArrayList<>(); private static final Registry.Container CONTAINER = new Registry.Container<>(Registry.Resource.BLOCKS, (container, namespace, object) -> { final JsonObject stateObject = object.remove("states").getAsJsonObject(); @@ -30,7 +30,7 @@ final class BlockImpl implements Block { final var propertyMap = BlockUtils.parseProperties(query); final Block block = new BlockImpl(Registry.block(namespace, object, stateOverride), unmodifiableEntries, propertyMap, null, null); - BLOCK_STATE_MAP.put(block.stateId(), block); + BLOCK_STATE_MAP.add(block.stateId(), block); propertyEntry.put(propertyMap, block); } // Register default state diff --git a/src/main/java/net/minestom/server/registry/Registry.java b/src/main/java/net/minestom/server/registry/Registry.java index bf66d2782..795d909c6 100644 --- a/src/main/java/net/minestom/server/registry/Registry.java +++ b/src/main/java/net/minestom/server/registry/Registry.java @@ -4,7 +4,7 @@ import com.google.gson.Gson; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.stream.JsonReader; -import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; +import it.unimi.dsi.fastutil.objects.ObjectArrayList; import net.minestom.server.entity.EntitySpawnType; import net.minestom.server.entity.EquipmentSlot; import net.minestom.server.instance.block.Block; @@ -76,7 +76,7 @@ public final class Registry { // namespace -> registry data private final Map namespaceMap = new HashMap<>(); // id -> registry data - private final Int2ObjectOpenHashMap idMap = new Int2ObjectOpenHashMap<>(); + private final ObjectArrayList idMap = new ObjectArrayList<>(); private final Collection objects = Collections.unmodifiableCollection(namespaceMap.values()); private final boolean initialized; @@ -111,7 +111,7 @@ public final class Registry { public void register(@NotNull T value) { Check.stateCondition(initialized, "Registering is only available within the loader lambda."); - this.idMap.put(value.id(), value); + this.idMap.add(value.id(), value); this.namespaceMap.put(value.name(), value); }