Dont lock objects (for now)

This commit is contained in:
Daniel Mills 2021-07-20 14:27:59 -04:00
parent 509c32db70
commit 72f86069a2

View File

@ -44,6 +44,7 @@ import org.bukkit.block.TileState;
import org.bukkit.block.data.BlockData;
import org.bukkit.block.data.Waterlogged;
import org.bukkit.block.data.type.Leaves;
import org.bukkit.entity.ThrownExpBottle;
import org.bukkit.util.BlockVector;
import org.bukkit.util.Vector;
@ -67,7 +68,7 @@ public class IrisObject extends IrisRegistrant {
private int w;
private int d;
private int h;
private transient final IrisLock readLock = new IrisLock("read-conclock");
private transient final IrisLock readLock = new IrisLock("read-conclock").setDisabled(true);
private transient BlockVector center;
private transient volatile boolean smartBored = false;
private transient IrisLock lock = new IrisLock("Preloadcache");
@ -577,6 +578,8 @@ public class IrisObject extends IrisRegistrant {
int lowest = Integer.MAX_VALUE;
y += yrand;
readLock.lock();
try
{
for (BlockVector g : getBlocks().keySet()) {
BlockData d;
TileData<? extends TileState> tile = null;
@ -615,13 +618,17 @@ public class IrisObject extends IrisRegistrant {
BlockData newData = j.getReplace(rng, i.getX() + x, i.getY() + y, i.getZ() + z, rdata).clone();
if (newData.getMaterial() == data.getMaterial())
{
data = data.merge(newData);
}
else
{
data = newData;
}
}
}
}
}
data = config.getRotation().rotate(data, spinx, spiny, spinz);
xx = x + (int) Math.round(i.getX());
@ -669,6 +676,12 @@ public class IrisObject extends IrisRegistrant {
}
}
}
}
catch(Throwable e)
{
Iris.reportError(e);
}
readLock.unlock();
if (stilting) {