Minecraft
2011 - Searge's MCP Mod System
How does it work?
I will add more information about the inner working of this on the wiki page later. For the moment you can either assume it magic or, if you know how Java works, think about derived classes and how function overloading and virtual calls are handled by the JVM.Basically it's a combination of a custom class loader and some custom classes "hooked" into the game.
- 2015.07 - Minecraft forum - The History of Modded Minecraft
- 2016.06.03 - PacktPub - A Brief History of Minecraft Modding
This began to change, though, beginning with the creation of the Minecraft Coder Pack, which was later renamed the Mod Coder Pack, commonly known as MCP. (One of the primary creators of MCP, Michael “Searge” Stoyke, now actually works for Mojang.) MCP saw its first release for Alpha 1.1.2_01 sometime in mid 2010. Despite being easily decompiled, Minecraft code was also obfuscated. Obfuscation is when you take all the meaningful names and words in the code and replace it with non-human readable nonsense. The computer can still make sense of it just fine, but humans have a hard time. MCP resolved this limitation by applying meaningful names to the code, making modding significantly easier than ever before.
- So basically, one way to have your game moddable is to have people be able to modify the source code. So it's sort-of open-source in that people can hook into things, but it's not open-source in the sense that people can do whatever they want with your code (like fork it or straight-up copy it).