From 866d5cca96d75ecb4261cb181e04c4548022fc01 Mon Sep 17 00:00:00 2001 From: Flemmli97 Date: Mon, 9 Aug 2021 22:23:21 +0200 Subject: [PATCH] change to openhashmap. closes #87 --- .../io/github/flemmli97/flan/claim/ClaimStorage.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/common/src/main/java/io/github/flemmli97/flan/claim/ClaimStorage.java b/common/src/main/java/io/github/flemmli97/flan/claim/ClaimStorage.java index 83c1fe8..15188cd 100644 --- a/common/src/main/java/io/github/flemmli97/flan/claim/ClaimStorage.java +++ b/common/src/main/java/io/github/flemmli97/flan/claim/ClaimStorage.java @@ -19,7 +19,8 @@ import io.github.flemmli97.flan.player.EnumEditMode; import io.github.flemmli97.flan.player.OfflinePlayerData; import io.github.flemmli97.flan.player.PlayerClaimData; import io.github.flemmli97.flan.player.PlayerDataHandler; -import it.unimi.dsi.fastutil.longs.Long2ObjectArrayMap; +import it.unimi.dsi.fastutil.longs.Long2ObjectMap; +import it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap; import net.minecraft.server.MinecraftServer; import net.minecraft.server.command.ServerCommandSource; import net.minecraft.server.network.ServerPlayerEntity; @@ -56,7 +57,7 @@ import java.util.stream.Collectors; public class ClaimStorage implements IPermissionStorage { public static final String adminClaimString = "!AdminClaims"; - private final Long2ObjectArrayMap> claims = new Long2ObjectArrayMap<>(); + private final Long2ObjectMap> claims = new Long2ObjectOpenHashMap<>(); private final Map claimUUIDMap = new HashMap<>(); private final Map> playerClaimMap = new HashMap<>(); private final Set dirty = new HashSet<>(); @@ -202,8 +203,9 @@ public class ClaimStorage implements IPermissionStorage { public Claim getClaimAt(BlockPos pos) { long chunk = ChunkPos.toLong(pos.getX() >> 4, pos.getZ() >> 4); - if (this.claims.containsKey(chunk)) - for (Claim claim : this.claims.get(chunk)) { + List list = this.claims.get(chunk); + if (list != null) + for (Claim claim : list) { if (claim.insideClaim(pos)) return claim; }