/** 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(); } } }