コード例 #1
0
  public void recreateStructures(int par1, int par2) {
    Iterator var3 = this.structureGenerators.iterator();

    while (var3.hasNext()) {
      MapGenStructure var4 = (MapGenStructure) var3.next();
      var4.generate(this, this.worldObj, par1, par2, (byte[]) null);
    }
  }
コード例 #2
0
  /**
   * Will return back a chunk, if it doesn't exist and its not a MP client it will generates all the
   * blocks for the specified chunk from the map seed and chunk seed
   */
  public Chunk provideChunk(int par1, int par2) {
    Chunk var3 = new Chunk(this.worldObj, par1, par2);

    for (int var4 = 0; var4 < this.field_82700_c.length; ++var4) {
      int var5 = var4 >> 4;
      ExtendedBlockStorage var6 = var3.getBlockStorageArray()[var5];

      if (var6 == null) {
        var6 = new ExtendedBlockStorage(var4, !this.worldObj.provider.hasNoSky);
        var3.getBlockStorageArray()[var5] = var6;
      }

      for (int var7 = 0; var7 < 16; ++var7) {
        for (int var8 = 0; var8 < 16; ++var8) {
          var6.setExtBlockID(var7, var4 & 15, var8, this.field_82700_c[var4] & 255);
          var6.setExtBlockMetadata(var7, var4 & 15, var8, this.field_82698_d[var4]);
        }
      }
    }

    var3.generateSkylightMap();
    BiomeGenBase[] var9 =
        this.worldObj
            .getWorldChunkManager()
            .loadBlockGeneratorData((BiomeGenBase[]) null, par1 * 16, par2 * 16, 16, 16);
    byte[] var10 = var3.getBiomeArray();

    for (int var11 = 0; var11 < var10.length; ++var11) {
      var10[var11] = (byte) var9[var11].biomeID;
    }

    Iterator var12 = this.structureGenerators.iterator();

    while (var12.hasNext()) {
      MapGenStructure var13 = (MapGenStructure) var12.next();
      var13.generate(this, this.worldObj, par1, par2, (byte[]) null);
    }

    var3.generateSkylightMap();
    return var3;
  }