I'm a semi competent java developer and I find forge extremely interesting as it allows compatibility between many mods and handles a lot of seemingly difficult problems associated with compatibility between code written by different people for different things. From what I gather it uses hooks? to handle requests to things that are base game? I've looked at the github and specifically the patches and a lot of the function names are not really human readable nor good names haha. are the patches auto generated? how are they made? what are hooks and how do they work? How does forge handle mod loading and potential code overlaps? What is the structure of forge? Where would be a good place for me to start reading in the github to get a basic understanding of how it runs and works?
Thanks!