From eb29da763971421701a3f3b06340fde884427934 Mon Sep 17 00:00:00 2001 From: dfsek Date: Mon, 27 Dec 2021 17:35:11 -0700 Subject: [PATCH] fix potential cme in fabric biome source --- .../dfsek/terra/fabric/generation/TerraBiomeSource.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/generation/TerraBiomeSource.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/generation/TerraBiomeSource.java index 6c1ebd390..e84cf9980 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/generation/TerraBiomeSource.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/generation/TerraBiomeSource.java @@ -28,6 +28,7 @@ import net.minecraft.world.biome.source.util.MultiNoiseUtil.MultiNoiseSampler; import java.util.HashMap; import java.util.Map; import java.util.Objects; +import java.util.concurrent.ConcurrentHashMap; import java.util.stream.Collectors; import com.dfsek.terra.api.config.ConfigPack; @@ -42,7 +43,7 @@ public class TerraBiomeSource extends BiomeSource { private final long seed; private ConfigPack pack; - private final Map terraToMinecraft = new HashMap<>(); + private final Map terraToMinecraft = new ConcurrentHashMap<>(); public TerraBiomeSource(Registry biomes, long seed, ConfigPack pack) { super(biomes.stream() @@ -72,8 +73,10 @@ public class TerraBiomeSource extends BiomeSource { @Override public net.minecraft.world.biome.Biome getBiome(int biomeX, int biomeY, int biomeZ, MultiNoiseSampler noiseSampler) { Biome biome = pack.getBiomeProvider().getBiome(biomeX << 2, biomeZ << 2, seed); - return terraToMinecraft.computeIfAbsent(biome, b -> biomeRegistry - .get(new Identifier("terra", FabricUtil.createBiomeID(pack, pack.key(b.getID()))))); + return terraToMinecraft.computeIfAbsent(biome, + b -> biomeRegistry + .get(new Identifier("terra", FabricUtil + .createBiomeID(pack, pack.key(b.getID()))))); } public BiomeProvider getProvider() {