public Chunk getOrCreateChunk(int i, int j) {
    // CraftBukkit start
    Chunk chunk = this.chunks.get(i, j);

    chunk =
        chunk == null
            ? (!this.world.isLoading && !this.forceChunkLoad
                ? this.emptyChunk
                : this.getChunkAt(i, j))
            : chunk;
    if (chunk == this.emptyChunk) return chunk;
    if (i != chunk.x || j != chunk.z) {
      MinecraftServer.log.severe(
          "Chunk ("
              + chunk.x
              + ", "
              + chunk.z
              + ") stored at  ("
              + i
              + ", "
              + j
              + ") in world '"
              + world.getWorld().getName()
              + "'");
      MinecraftServer.log.severe(chunk.getClass().getName());
      Throwable ex = new Throwable();
      ex.fillInStackTrace();
      ex.printStackTrace();
    }
    return chunk;
    // CraftBukkit end
  }
Пример #2
0
 @Override
 public void map(Chunk cs) {
   int idx = _chunkOffset + cs.cidx();
   Key ckey = Vec.chunkKey(_v._key, idx);
   if (_cmap != null) {
     assert !cs.hasFloat()
         : "Input chunk (" + cs.getClass() + ") has float, but is expected to be categorical";
     NewChunk nc = new NewChunk(_v, idx);
     // loop over rows and update ints for new domain mapping according to vecs[c].domain()
     for (int r = 0; r < cs._len; ++r) {
       if (cs.isNA(r)) nc.addNA();
       else nc.addNum(_cmap[(int) cs.at8(r)], 0);
     }
     nc.close(_fs);
   } else {
     DKV.put(ckey, cs.deepCopy(), _fs, true);
   }
 }