public synchronized void update() {	
	
	Tile.WATER.update();
	
	for (int i = 0; i < mobs.size(); i++) {
	    if (!mobs.get(i).isRemoved() && mobs.get(i) != null) {
		mobs.get(i).update();
	    } else {
		mobs.remove(i);
	    }
	}

	for (int i = 0; i < particles.size(); i++) {
	    if (!particles.get(i).isRemoved()) {
		particles.get(i).update();
	    } else {
		particles.remove(i);
	    }
	}

	for (int i = 0; i < projectiles.size(); i++) {
	    if (!projectiles.get(i).isRemoved()) {
		projectiles.get(i).update();
	    } else {
		projectiles.remove(i);
	    }
	}
    }