@Override public void queueChunkForGeneration(final Vector3 chunk) { final int rx = (chunk.getFloorX() >> Region.CHUNKS.BITS); final int ry = (chunk.getFloorY() >> Region.CHUNKS.BITS); final int rz = (chunk.getFloorZ() >> Region.CHUNKS.BITS); SpoutRegion region = getRegion(rx, ry, rz, LoadOption.NO_LOAD); if (region != null) { region.queueChunkForGeneration(chunk); } else { Spout.getScheduler() .scheduleSyncDelayedTask( this, new Runnable() { @Override public void run() { SpoutRegion region = getRegion(rx, ry, rz, LoadOption.LOAD_GEN); region.queueChunkForGeneration(chunk); } }); } }
public PhysicsQueue(SpoutChunk chunk) { this.region = chunk.getRegion(); this.chunk = chunk; this.mainThread = ((SpoutScheduler) Spout.getScheduler()).getMainThread(); }