mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-06-17 06:11:24 +00:00
fix potential cme in fabric biome source
This commit is contained in:
+6
-3
@@ -28,6 +28,7 @@ import net.minecraft.world.biome.source.util.MultiNoiseUtil.MultiNoiseSampler;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import com.dfsek.terra.api.config.ConfigPack;
|
import com.dfsek.terra.api.config.ConfigPack;
|
||||||
@@ -42,7 +43,7 @@ public class TerraBiomeSource extends BiomeSource {
|
|||||||
private final long seed;
|
private final long seed;
|
||||||
private ConfigPack pack;
|
private ConfigPack pack;
|
||||||
|
|
||||||
private final Map<Biome, net.minecraft.world.biome.Biome> terraToMinecraft = new HashMap<>();
|
private final Map<Biome, net.minecraft.world.biome.Biome> terraToMinecraft = new ConcurrentHashMap<>();
|
||||||
|
|
||||||
public TerraBiomeSource(Registry<net.minecraft.world.biome.Biome> biomes, long seed, ConfigPack pack) {
|
public TerraBiomeSource(Registry<net.minecraft.world.biome.Biome> biomes, long seed, ConfigPack pack) {
|
||||||
super(biomes.stream()
|
super(biomes.stream()
|
||||||
@@ -72,8 +73,10 @@ public class TerraBiomeSource extends BiomeSource {
|
|||||||
@Override
|
@Override
|
||||||
public net.minecraft.world.biome.Biome getBiome(int biomeX, int biomeY, int biomeZ, MultiNoiseSampler noiseSampler) {
|
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);
|
Biome biome = pack.getBiomeProvider().getBiome(biomeX << 2, biomeZ << 2, seed);
|
||||||
return terraToMinecraft.computeIfAbsent(biome, b -> biomeRegistry
|
return terraToMinecraft.computeIfAbsent(biome,
|
||||||
.get(new Identifier("terra", FabricUtil.createBiomeID(pack, pack.key(b.getID())))));
|
b -> biomeRegistry
|
||||||
|
.get(new Identifier("terra", FabricUtil
|
||||||
|
.createBiomeID(pack, pack.key(b.getID())))));
|
||||||
}
|
}
|
||||||
|
|
||||||
public BiomeProvider getProvider() {
|
public BiomeProvider getProvider() {
|
||||||
|
|||||||
Reference in New Issue
Block a user