Apparently doing it in the ctor is a different order.
The addReplacements call in CommandReplacements checks registeredCommands in the constructor
This was being called before Bukkit manager even fully loaded, and the registered commands was still null
I don't know why java can't treat this the same code wise....