fix concurrentModifications from Java 16
This commit is contained in:
1 parent
15bba80cb5
commit
495a22ca0c
1 file changed
+8
-4
@@ -40,7 +40,7 @@ import java.util.Map;
|
|||||||
|
|
||||||
public class FeatureGenerator
|
public class FeatureGenerator
|
||||||
{
|
{
|
||||||
|
public static final Object boo = new Object();
|
||||||
synchronized public static Boolean plop(String featureName, ServerWorld world, BlockPos pos)
|
synchronized public static Boolean plop(String featureName, ServerWorld world, BlockPos pos)
|
||||||
{
|
{
|
||||||
Thing custom = featureMap.get(featureName);
|
Thing custom = featureMap.get(featureName);
|
||||||
@@ -147,8 +147,10 @@ public class FeatureGenerator
|
|||||||
long seed = world.getSeed();
|
long seed = world.getSeed();
|
||||||
ChunkGenerator generator = world.getChunkManager().getChunkGenerator();
|
ChunkGenerator generator = world.getChunkManager().getChunkGenerator();
|
||||||
StructureConfig params = generator.getStructuresConfig().getForType(structure);
|
StructureConfig params = generator.getStructuresConfig().getForType(structure);
|
||||||
if (!generator.getBiomeSource().hasStructureFeature(structure))
|
synchronized(boo) {
|
||||||
return null;
|
if (!generator.getBiomeSource().hasStructureFeature(structure))
|
||||||
|
return null;
|
||||||
|
}
|
||||||
BiomeAccess biomeAccess = world.getBiomeAccess().withSource(generator.getBiomeSource());
|
BiomeAccess biomeAccess = world.getBiomeAccess().withSource(generator.getBiomeSource());
|
||||||
ChunkRandom chunkRandom = new ChunkRandom();
|
ChunkRandom chunkRandom = new ChunkRandom();
|
||||||
ChunkPos chunkPos = new ChunkPos(pos);
|
ChunkPos chunkPos = new ChunkPos(pos);
|
||||||
@@ -161,7 +163,9 @@ public class FeatureGenerator
|
|||||||
if (!computeBox) return StructureStart.DEFAULT;
|
if (!computeBox) return StructureStart.DEFAULT;
|
||||||
StructureManager manager = world.getStructureManager();
|
StructureManager manager = world.getStructureManager();
|
||||||
StructureStart<T> structureStart3 = structure.getStructureStartFactory().create((StructureFeature<T>) configuredFeature.feature, chunkPos.x, chunkPos.z, BlockBox.empty(), 0, seed);
|
StructureStart<T> structureStart3 = structure.getStructureStartFactory().create((StructureFeature<T>) 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;
|
if (!structureStart3.hasChildren()) return null;
|
||||||
return structureStart3;
|
return structureStart3;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user