Temp as it's performance-degrading, but works well enough for now
This commit is contained in:
dordsor21 2020-05-14 22:10:09 +01:00
parent 35169230ad
commit 3a7c23be45
2 changed files with 10 additions and 2 deletions

View File

@ -75,6 +75,8 @@ public class BukkitGetBlocks_1_15 extends CharGetBlocks {
public Chunk nmsChunk;
public WorldServer world;
public int X, Z;
//This is (hopefully) a temp fix for random blocks returning the wrong biome. Static because it was seemingly using the wrong chunk to return the biome value.
private static final Object biomeLock = new Object();
public BukkitGetBlocks_1_15(World world, int X, int Z) {
this(((CraftWorld) world).getHandle(), X, Z);
@ -106,7 +108,9 @@ public class BukkitGetBlocks_1_15 extends CharGetBlocks {
} else {
base = index.getBiome(x >> 2, y >> 2, z >> 2);
}
return base != null ? BukkitAdapter.adapt(CraftBlock.biomeBaseToBiome(base)) : null;
synchronized (biomeLock) {
return base != null ? BukkitAdapter.adapt(CraftBlock.biomeBaseToBiome(base)) : null;
}
}
@Override

View File

@ -80,6 +80,8 @@ public class BukkitGetBlocks_1_15_2 extends CharGetBlocks {
public Chunk nmsChunk;
public WorldServer world;
public int X, Z;
//This is (hopefully) a temp fix for random blocks returning the wrong biome. Static because it was seemingly using the wrong chunk to return the biome value.
private static final Object biomeLock = new Object();
public BukkitGetBlocks_1_15_2(World world, int X, int Z) {
this(((CraftWorld) world).getHandle(), X, Z);
@ -111,7 +113,9 @@ public class BukkitGetBlocks_1_15_2 extends CharGetBlocks {
} else {
base = index.getBiome(x >> 2, y >> 2, z >> 2);
}
return base != null ? BukkitAdapter.adapt(CraftBlock.biomeBaseToBiome(base)) : null;
synchronized (biomeLock) {
return base != null ? BukkitAdapter.adapt(CraftBlock.biomeBaseToBiome(base)) : null;
}
}
@Override