コード例 #1
0
ファイル: WorldServer.java プロジェクト: Tmuch/UnknownGame
  /** creates a spawn position at random within 256 blocks of 0,0 */
  protected void createSpawnPosition(WorldSettings par1WorldSettings) {
    if (!this.provider.canRespawnHere()) {
      this.worldInfo.setSpawnPosition(0, this.provider.getAverageGroundLevel(), 0);
    } else {
      this.findingSpawnPoint = true;
      WorldChunkManager var2 = this.provider.worldChunkMgr;
      List var3 = var2.getBiomesToSpawnIn();
      Random var4 = new Random(this.getSeed());
      ChunkPosition var5 = var2.findBiomePosition(0, 0, 256, var3, var4);
      int var6 = 0;
      int var7 = this.provider.getAverageGroundLevel();
      int var8 = 0;

      if (var5 != null) {
        var6 = var5.x;
        var8 = var5.z;
      } else {
        this.getWorldLogAgent().logWarning("Unable to find spawn biome");
      }

      int var9 = 0;

      while (!this.provider.canCoordinateBeSpawn(var6, var8)) {
        var6 += var4.nextInt(64) - var4.nextInt(64);
        var8 += var4.nextInt(64) - var4.nextInt(64);
        ++var9;

        if (var9 == 1000) {
          break;
        }
      }

      this.worldInfo.setSpawnPosition(var6, var7, var8);
      this.findingSpawnPoint = false;

      if (par1WorldSettings.isBonusChestEnabled()) {
        this.createBonusChest();
      }
    }
  }