mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-18 18:23:06 +00:00
Dont lock objects (for now)
This commit is contained in:
parent
509c32db70
commit
72f86069a2
@ -44,6 +44,7 @@ import org.bukkit.block.TileState;
|
|||||||
import org.bukkit.block.data.BlockData;
|
import org.bukkit.block.data.BlockData;
|
||||||
import org.bukkit.block.data.Waterlogged;
|
import org.bukkit.block.data.Waterlogged;
|
||||||
import org.bukkit.block.data.type.Leaves;
|
import org.bukkit.block.data.type.Leaves;
|
||||||
|
import org.bukkit.entity.ThrownExpBottle;
|
||||||
import org.bukkit.util.BlockVector;
|
import org.bukkit.util.BlockVector;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
@ -67,7 +68,7 @@ public class IrisObject extends IrisRegistrant {
|
|||||||
private int w;
|
private int w;
|
||||||
private int d;
|
private int d;
|
||||||
private int h;
|
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 BlockVector center;
|
||||||
private transient volatile boolean smartBored = false;
|
private transient volatile boolean smartBored = false;
|
||||||
private transient IrisLock lock = new IrisLock("Preloadcache");
|
private transient IrisLock lock = new IrisLock("Preloadcache");
|
||||||
@ -577,6 +578,8 @@ public class IrisObject extends IrisRegistrant {
|
|||||||
int lowest = Integer.MAX_VALUE;
|
int lowest = Integer.MAX_VALUE;
|
||||||
y += yrand;
|
y += yrand;
|
||||||
readLock.lock();
|
readLock.lock();
|
||||||
|
try
|
||||||
|
{
|
||||||
for (BlockVector g : getBlocks().keySet()) {
|
for (BlockVector g : getBlocks().keySet()) {
|
||||||
BlockData d;
|
BlockData d;
|
||||||
TileData<? extends TileState> tile = null;
|
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();
|
BlockData newData = j.getReplace(rng, i.getX() + x, i.getY() + y, i.getZ() + z, rdata).clone();
|
||||||
|
|
||||||
if (newData.getMaterial() == data.getMaterial())
|
if (newData.getMaterial() == data.getMaterial())
|
||||||
|
{
|
||||||
data = data.merge(newData);
|
data = data.merge(newData);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
data = newData;
|
data = newData;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
data = config.getRotation().rotate(data, spinx, spiny, spinz);
|
data = config.getRotation().rotate(data, spinx, spiny, spinz);
|
||||||
xx = x + (int) Math.round(i.getX());
|
xx = x + (int) Math.round(i.getX());
|
||||||
@ -669,6 +676,12 @@ public class IrisObject extends IrisRegistrant {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
catch(Throwable e)
|
||||||
|
{
|
||||||
|
Iris.reportError(e);
|
||||||
|
}
|
||||||
readLock.unlock();
|
readLock.unlock();
|
||||||
|
|
||||||
if (stilting) {
|
if (stilting) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user