Пример #1
0
  public ChunkCache(World worldIn, BlockPos p_i45746_2_, BlockPos p_i45746_3_, int p_i45746_4_) {
    this.worldObj = worldIn;
    this.chunkX = p_i45746_2_.getX() - p_i45746_4_ >> 4;
    this.chunkZ = p_i45746_2_.getZ() - p_i45746_4_ >> 4;
    int var5 = p_i45746_3_.getX() + p_i45746_4_ >> 4;
    int var6 = p_i45746_3_.getZ() + p_i45746_4_ >> 4;
    this.chunkArray = new Chunk[var5 - this.chunkX + 1][var6 - this.chunkZ + 1];
    this.hasExtendedLevels = true;
    int var7;
    int var8;

    for (var7 = this.chunkX; var7 <= var5; ++var7) {
      for (var8 = this.chunkZ; var8 <= var6; ++var8) {
        this.chunkArray[var7 - this.chunkX][var8 - this.chunkZ] =
            worldIn.getChunkFromChunkCoords(var7, var8);
      }
    }

    for (var7 = p_i45746_2_.getX() >> 4; var7 <= p_i45746_3_.getX() >> 4; ++var7) {
      for (var8 = p_i45746_2_.getZ() >> 4; var8 <= p_i45746_3_.getZ() >> 4; ++var8) {
        Chunk var9 = this.chunkArray[var7 - this.chunkX][var8 - this.chunkZ];

        if (var9 != null && !var9.getAreLevelsEmpty(p_i45746_2_.getY(), p_i45746_3_.getY())) {
          this.hasExtendedLevels = false;
        }
      }
    }
  }