What tools do I need to modify the jar and decompile the obfuscated code? How do I edit to turn on Creative Mode and Multiplayer? How do I add texture packs and if between 20091223-0040 and 20100130, how do I edit Rana? How do I add new blocks and items? How do I make other textures? How do I make stuff work? How do I do this kind of modding? I NEED HELP!!!!!!!!!!!!!!!!!!!!!!!!!!!
it's very difficult, I did it myself once. you have to install the version and make it into a .zip file, you have to install a program that can read .class files, then you need java, you have to insert the code somehow, change some file names, then you have to install libraries... even if you've done that, there's no guarantee that it will work. the code will also look strange. there will be a, b, c, d... variables that are difficult to read.
It seems that the oldest version that has a proper modding setup for it is Alpha v1.1.2_01, via Mod Coder Pack, which decompiles and deobfuscates the game (replacing those nonsensical names with readable ones, you'll still need to deal with them for local variables within methods):
If anybody had modded the game before then it would have been much more time-consuming and/or the mods were much simpler. I've never tried this but you could try giving MCP the jar for InDev; while it may not be properly deobfuscated due to lack of proper mappings it may at least decompile it, no guarantees on proper reobfuscation though, it is also possible to cross-reference deobfuscated code to determine what you are working with; for example, I was able to find code for InfDev by using the source for 1.6.4 (even across such a vast version gap the code was surprisingly familiar, it really wasn't until 1.8 or so that Mojang started to massively refactor the game, and even then some code, like that described here, is likely still pretty similar (it is as I had decompiled 1.18 or so to look into its "old" cave generation, disappointingly, no return to 1.6.4 Swiss cheese caves). The main way InDev would differ with respect to world generation is that the game generated the entire world at once instead of chunk by chunk):
Compare to the code for 1.6.4; the only significant differences is that they since added a 1-in-10 chance of a multiplier of 1-4 applied to what is the width parameter for a cave, thus giving you occasional bigger caves (this value is actually the maximum radius, and 1.5 is added as a minimum for a width of 3-27 blocks, or 3-9 blocks for caves without the additional multiplier). Note that they also added a method "generateLargeCaveNode" (circular rooms) which just replaces some of the code shown above with a more organized version; they also changed the parameters so that a seed value is passed to the local RNG, fixing the bug where caves cut off at chunk borders:
What tools do I need to modify the jar and decompile the obfuscated code? How do I edit to turn on Creative Mode and Multiplayer? How do I add texture packs and if between 20091223-0040 and 20100130, how do I edit Rana? How do I add new blocks and items? How do I make other textures? How do I make stuff work? How do I do this kind of modding? I NEED HELP!!!!!!!!!!!!!!!!!!!!!!!!!!!
Step One: learn Java.
"We live on a placid island of ignorance in the midst of black seas of infinity, and it was not meant that we should voyage far."
it's very difficult, I did it myself once. you have to install the version and make it into a .zip file, you have to install a program that can read .class files, then you need java, you have to insert the code somehow, change some file names, then you have to install libraries... even if you've done that, there's no guarantee that it will work. the code will also look strange. there will be a, b, c, d... variables that are difficult to read.
step 2? step 3? what is next?
(nvm, accidentally pressed the reply button)
This might be a better section:
https://www.minecraftforum.net/forums/mapping-and-modding-java-edition/minecraft-mods/modification-development
"We live on a placid island of ignorance in the midst of black seas of infinity, and it was not meant that we should voyage far."
That sucks that I have to get a program to read the class files and do all that in order to even make a texture pack.
It seems that the oldest version that has a proper modding setup for it is Alpha v1.1.2_01, via Mod Coder Pack, which decompiles and deobfuscates the game (replacing those nonsensical names with readable ones, you'll still need to deal with them for local variables within methods):
https://minecraft.wiki/w/Tutorial:Programs_and_editors/Mod_Coder_Pack#History
If anybody had modded the game before then it would have been much more time-consuming and/or the mods were much simpler. I've never tried this but you could try giving MCP the jar for InDev; while it may not be properly deobfuscated due to lack of proper mappings it may at least decompile it, no guarantees on proper reobfuscation though, it is also possible to cross-reference deobfuscated code to determine what you are working with; for example, I was able to find code for InfDev by using the source for 1.6.4 (even across such a vast version gap the code was surprisingly familiar, it really wasn't until 1.8 or so that Mojang started to massively refactor the game, and even then some code, like that described here, is likely still pretty similar (it is as I had decompiled 1.18 or so to look into its "old" cave generation, disappointingly, no return to 1.6.4 Swiss cheese caves). The main way InDev would differ with respect to world generation is that the game generated the entire world at once instead of chunk by chunk):
TheMasterCaver's First World - possibly the most caved-out world in Minecraft history - includes world download.
TheMasterCaver's World - my own version of Minecraft largely based on my views of how the game should have evolved since 1.6.4.
Why do I still play in 1.6.4?