First, let me remind you that a lot of NOVA was supposed to be an experiment, not seeing the public light of day until it is done.
With that out of the way... The way we planned to do it is via specifying the Managers you want in the mod's constructor. A Manager is essentially an instance of a class central to the API, providing all necessary utility functions to use it. The constructor is initialized via a dependency injection system, so the mod doesn't care about where the instance of the manager comes from - it just gets it.
Managers are generally provided by APIs in the form of abstract classes or interfaces, while their implementations can be provided by anything - libraries, mods, etc. If a Manager is not installed, two things can happen:
a) the mod will refuse to run,
b) if the Manager is requested as an Optional<...Manager>, the mod will still run, however the Optional will be empty.
While the ability to get the name of the game you're running on will be possible, I really don't want people to do the "this only runs on Minecraft anyway via hardcoded checks" hijinks. That's nasty.
Clones? They happen already. Open-source games get ripped from the internet and republished on the Android Market quite often - Minetest had at least three paid forks like that, they simply either took them down as they did not provide any source code OR incorporated their improvements into their own game. So it's not like it'd be a new thing.