The old legacy addresses starts with 1 and the new ones start with 3 and bc1. Can I use my old private key from 2012 to generate a bc1 address? And how so?
Addresses beginning with a 3 generated using
addwitnessaddress are called P2SH-P2WPKH addresses. That means it is a Pay-to-Witness-Public-Key-Hash (P2WPKH) script embedded in a Pay-to-Script-Hash (P2SH) address, which starts with a 3.
To restore from that private key, you should be able to just import the key into your wallet and call
addwitnessaddress on it again. Note that
addwitnessaddress is an experimental RPC call so the method to restoring may change in future, but you can always generate the corresponding public key hash (address) from the key, create a P2WPKH witness script for it, and wrap it in P2SH.