From 495a22ca0c781bd35eb23ca7985bbc510687d3af Mon Sep 17 00:00:00 2001 From: gnembon Date: Thu, 13 May 2021 01:50:29 -0300 Subject: [PATCH] fix concurrentModifications from Java 16 --- src/main/java/carpet/helpers/FeatureGenerator.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/main/java/carpet/helpers/FeatureGenerator.java b/src/main/java/carpet/helpers/FeatureGenerator.java index aa497e30..2a9ac747 100644 --- a/src/main/java/carpet/helpers/FeatureGenerator.java +++ b/src/main/java/carpet/helpers/FeatureGenerator.java @@ -40,7 +40,7 @@ import java.util.Map; public class FeatureGenerator { - + public static final Object boo = new Object(); synchronized public static Boolean plop(String featureName, ServerWorld world, BlockPos pos) { Thing custom = featureMap.get(featureName); @@ -147,8 +147,10 @@ public class FeatureGenerator long seed = world.getSeed(); ChunkGenerator generator = world.getChunkManager().getChunkGenerator(); StructureConfig params = generator.getStructuresConfig().getForType(structure); - if (!generator.getBiomeSource().hasStructureFeature(structure)) - return null; + synchronized(boo) { + if (!generator.getBiomeSource().hasStructureFeature(structure)) + return null; + } BiomeAccess biomeAccess = world.getBiomeAccess().withSource(generator.getBiomeSource()); ChunkRandom chunkRandom = new ChunkRandom(); ChunkPos chunkPos = new ChunkPos(pos); @@ -161,7 +163,9 @@ public class FeatureGenerator if (!computeBox) return StructureStart.DEFAULT; StructureManager manager = world.getStructureManager(); StructureStart structureStart3 = structure.getStructureStartFactory().create((StructureFeature) configuredFeature.feature, chunkPos.x, chunkPos.z, BlockBox.empty(), 0, seed); - structureStart3.init(world.getRegistryManager(), generator, manager, chunkPos.x, chunkPos.z, biome, (T) configuredFeature.config); + synchronized (boo) { + structureStart3.init(world.getRegistryManager(), generator, manager, chunkPos.x, chunkPos.z, biome, (T) configuredFeature.config); + } if (!structureStart3.hasChildren()) return null; return structureStart3; }