} catch (Throwable var7) {
var4 = CrashReport.makeCrashReport(var7, "Ticking entity");
var5 = var4.makeCategory("Entity being ticked");
weatherEffect.addEntityCrashInfo(var5);
throw new ReportedException(var4);
}
}
theProfiler.endSection();
theProfiler.startSection("remove");
if (weatherEffect.isDead) {
var3 = weatherEffect.chunkCoordX;
var13 = weatherEffect.chunkCoordZ;
if (weatherEffect.addedToChunk) {
Chunk chunk = getChunkIfExists(var3, var13);
if (chunk != null) {
chunk.removeEntity(weatherEffect);
}
}
loadedEntityList.remove(var1--);
onEntityRemoved(weatherEffect);
}
theProfiler.endSection();
}
theProfiler.endStartSection("tileEntities");
scanningTileEntities = true;
Iterator var14 = loadedTileEntityList.iterator();
while (var14.hasNext()) {
TileEntity var9 = (TileEntity) var14.next();
if (!var9.isInvalid() && var9.hasWorldObj() && blockExists(var9.xCoord, var9.yCoord, var9.zCoord)) {
try {
var9.updateEntity();
} catch (Throwable var8) {
var4 = CrashReport.makeCrashReport(var8, "Ticking tile entity");
var5 = var4.makeCategory("Tile entity being ticked");
var9.func_85027_a(var5);
throw new ReportedException(var4);
}
}
if (var9.isInvalid()) {
var14.remove();