/** * plays random cave ambient sounds and runs updateTick on random blocks within each chunk in the * vacinity of a player */ protected void tickBlocksAndAmbiance() { super.tickBlocksAndAmbiance(); int var1 = 0; int var2 = 0; Iterator var3 = this.activeChunkSet.iterator(); while (var3.hasNext()) { ChunkCoordIntPair var4 = (ChunkCoordIntPair) var3.next(); int var5 = var4.chunkXPos * 16; int var6 = var4.chunkZPos * 16; this.theProfiler.startSection("getChunk"); Chunk var7 = this.getChunkFromChunkCoords(var4.chunkXPos, var4.chunkZPos); this.moodSoundAndLightCheck(var5, var6, var7); this.theProfiler.endStartSection("tickChunk"); var7.updateSkylight(); this.theProfiler.endStartSection("thunder"); int var8; int var9; int var10; int var11; if (this.rand.nextInt(100000) == 0 && this.isRaining() && this.isThundering()) { this.updateLCG = this.updateLCG * 3 + 1013904223; var8 = this.updateLCG >> 2; var9 = var5 + (var8 & 15); var10 = var6 + (var8 >> 8 & 15); var11 = this.getPrecipitationHeight(var9, var10); if (this.canLightningStrikeAt(var9, var11, var10)) { this.addWeatherEffect( new EntityLightningBolt(this, (double) var9, (double) var11, (double) var10)); } } this.theProfiler.endStartSection("iceandsnow"); int var13; if (this.rand.nextInt(16) == 0) { this.updateLCG = this.updateLCG * 3 + 1013904223; var8 = this.updateLCG >> 2; var9 = var8 & 15; var10 = var8 >> 8 & 15; var11 = this.getPrecipitationHeight(var9 + var5, var10 + var6); if (this.isBlockFreezableNaturally(var9 + var5, var11 - 1, var10 + var6)) { this.setBlock(var9 + var5, var11 - 1, var10 + var6, Block.ice.blockID); } if (this.isRaining() && this.canSnowAt(var9 + var5, var11, var10 + var6)) { this.setBlock(var9 + var5, var11, var10 + var6, Block.snow.blockID); } if (this.isRaining()) { BiomeGenBase var12 = this.getBiomeGenForCoords(var9 + var5, var10 + var6); if (var12.canSpawnLightningBolt()) { var13 = this.getBlockId(var9 + var5, var11 - 1, var10 + var6); if (var13 != 0) { Block.blocksList[var13].fillWithRain(this, var9 + var5, var11 - 1, var10 + var6); } } } } this.theProfiler.endStartSection("tickTiles"); ExtendedBlockStorage[] var19 = var7.getBlockStorageArray(); var9 = var19.length; for (var10 = 0; var10 < var9; ++var10) { ExtendedBlockStorage var21 = var19[var10]; if (var21 != null && var21.getNeedsRandomTick()) { for (int var20 = 0; var20 < 3; ++var20) { this.updateLCG = this.updateLCG * 3 + 1013904223; var13 = this.updateLCG >> 2; int var14 = var13 & 15; int var15 = var13 >> 8 & 15; int var16 = var13 >> 16 & 15; int var17 = var21.getExtBlockID(var14, var16, var15); ++var2; Block var18 = Block.blocksList[var17]; if (var18 != null && var18.getTickRandomly()) { ++var1; var18.updateTick( this, var14 + var5, var16 + var21.getYLocation(), var15 + var6, this.rand); } } } } this.theProfiler.endSection(); } }