There are only 21 million total bitcoins that can be mined, what will happen if all bitcoin is already mined?
There aren't 21 million bitcoins. The number of bitcoins is unlimited.
Why? Because right now there are 2 bitcoins. bitcoin cash and bitcoin core. Bitcoin forked into 2 bitcoins. There are now 42 million bitcoins. And it can split again and again. There is not "official" bitcoin because bitcoin itself is decentralized. Each time it hard forks, it splits into another 2 bitcoins, both of which can be mined. And this can go on forever.
So, there is no limit to the number of bitcoins and there is no "official" bitcoin. It is just whatever bitcoin fork is popular at the time.
That is taking a rather wide view of things, by many in the community BCC is considered an altcoin - not Satoshi's original Bitcoin. BTC proper is limited to the 21 million. Now how the max coins count for BTC and its offspring inter-relate you need to look elsewhere in the forum. I do remember seeing something about it and *believe* that BCC did NOT restart the count, it took note of the current BTC blockchain and coins produced up to the instant the fork activated. BCC then continued on its merry way. Now again, how/if BTC and BCC somehow sync with each other I have no idea. That issue was part of the kerfuffle in some folks moving their coins from BTC to BCC when it activated.
edit: Looking here
https://www.cryptocompare.com/coins/bcc/overview/BTC it sure looks like BTC and BCC coins are tracking each other as far as the 21mil go and how coins are left.