Dear Forge developers,
I'd like to contribute and have tried doing my homework (googled, wiki'd, read tweets, read up on mcp, search these forums+read recent posts) before coming here, but unfortunately find myself stuck. I have a number of questions, which I will highlight for the sake of readability.
I'm assuming this link https://github.com/MinecraftForge/MinecraftForge/wiki/If-you-want-to-contribute-to-Forge is obsolete and that the correct procedure for contribution is described here https://github.com/MinecraftForge/MinecraftForge/blob/master/README.txt, leading to my first set of questions:
Gradle - missing resources
I have cloned the repository (Might be a good idea to mention that submodules have to be checked out also, there might be other derps like me who miss that!), no problem there (anymore )
I execute gradle(w.bat) setupForge from the workspace root. Due to the errors I have received, I have tried this with gradlew.bat with and without gradle installed, as well as with the gradle command. In all cases the log will look like this: (https://gist.github.com/beyonix/7958370)
Between lines 6840 and 6991 you'll find loads of "Resource missing." entries. When I point my eclipse to the repository eclipse folder, it shows a number of these as missing libraries:
I think I could manually locate these and place them correctly, but that seems rather cumbersome and defeating the purpose of having a nice gradle environment. Is this an issue or just me missing something obvious?
Development process
My second set of questions regards the nature of development activities for Forge. I understand that MCP provides an environment for d/recompiling+d/reobfuscating minecraft, and that Forge extends the deobfuscated code through patches supplying a range of hooks for easier/standardized minecraft modding, is that correct? I'm particularly in doubt whether in Forge we are supposed do the renaming of undescriptive methodnames such as ChunkProviderEnd.func_147420_a to generateTerrain (what it seemed to be in 1.6.4). Is this method/variable naming a MCP 'responsibility' or a Forge one?
I ask because in my log I see lines such as:
Which in some cases seems to be fixed by restoring the more descriptive method/parameter names, but as mentioned, I'm not sure whether I should touch that.
All in all, I find it difficult to assess the current progress towards 1.7, what exactly remains to be done still and how I can pick a task without clinching with other developers. If anyone could give/link a more in depth description how forge builds on top of mcp and/or a concrete list of task-types/instances, that would be very helpful.
Thanks a lot in advance