@Override public final void update() { if (!hasWorld() || isInvalid() || !world.isBlockLoaded(getPos()) || world.getTileEntity(getPos()) != this) { // we can get ticked after being removed from the world, ignore this return; } if (ConfigHandler.allowExternalTickSpeedup || world.getTotalWorldTime() != lastUpdate) { lastUpdate = world.getTotalWorldTime(); doUpdate(); sendProgressIf(); } }