I'm probably not the right wizard for the job, but on high level:
There are parallel implementation of Minecraft in Java and C++. Java is easier for modding and used more on the shared servers (C++ is on playstations, etc)
Large portion of the game logic is defined with JSON files. Minecraft "save files" are folders with JSON files. The JSON files are able to define the game logic (e.g. if you put this item on this item, then this happens). Item specific logic is usually defined in Java (e.g. this item refreshes every 5 ticks and turns red)
The Java sourcecode has been de-compiled and you can essentially change anything you want in Java (tutorial) - this would likely be the spot for integration.
Every aspect from the game can be modded (e.g. rendering (new shaders...), textures, game dynamics, logic, UI elements...)
I'm probably not the right wizard for the job, but on high level:
I think starting point in the brainstorming would be how to in-game turn diamonds into sats... :)