예제 #1
0
 @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);
               }
             });
   }
 }
예제 #2
0
 public PhysicsQueue(SpoutChunk chunk) {
   this.region = chunk.getRegion();
   this.chunk = chunk;
   this.mainThread = ((SpoutScheduler) Spout.getScheduler()).getMainThread();
 }