The Meaning of Life, the Universe, and Everything.
Join Date:
1/19/2013
Posts:
59
Member Details
Coming from a decently experienced programmer:
Java people made these things called .jar files. What they are: .zip files, except the .zip part is .jar instead. No seriously that's the only difference between a jar and a zip, their extension. Check it out by renaming minecraft.jar to minecraft.zip and see how it turns out
Windows has special devices and ports and stuff and there are these things called Win32 Devices, which are named AUX, CLOCK$, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, CON, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9, NUL and PRN
Mojang wants to protect their intellectual property by changing the names of stuff to something rather pointless to make it hard to figure out what the stuff does. (Well if you don't know it's name it is actually kind of hard.) (This is not a bad idea, because it TOTALLY DOES WORK. I've done it to protect my programs several times)
Mojang decided to use an obfuscation tool (well I guess that's what the Orebfuscator plugin is named after) to do this. It basically renames all the stuff to some random letters but keeps the program working. (I've done this before too)
FOR SOME VERY VERY VERY VERY VERY VERY VERY STUPID REASON, the Obfuscation tool decided to rename one of the .class files to AUX.class (it didn't do it on purpose, it just happened to be the random/non-random name it generated)
AUX just turns out to be the name of a Win32 Device.
For another stupid reason, You can't name a file after a Win32 Device. (Don't believe me? Try making a text document called "aux.txt" in your documents folder. Do believe me? Try it anyways to see what happens.) Or open the jar with winzip and it should tell you the same thing as this post except in a much more confusing and non-user-friendly way.
Zip files don't care whether you can or cannot name a file after a Win32 Device. (Which is why aux.class works in minecraft.jar) [And minecraft.jar is just a renamed zip file]
This causes lots of issues to the community
We all yell "STUPID THING!"
The only reason winzip can mod stuff properly is because it directly inserts the file into a zip file. Thanks to the beauty of zip files (although I was yelling at one a second ago), you don't HAVE to extract and recompress the zip to alter it, you can just insert the file into the zip directly. This is what WinZip does and how it manages to mod minecraft right. Some other programs that haven't figured out how to directly edit a zip file without extracting it can't do this. This is probably what is used by @_bendystraw_ and so he can't deal with all this stuff. @gheller has a brilliant idea of renaming the class before extracting so that when you do extract it, windows won't cry like a baby. And then when you compress it and rename it back, windows still won't cry like a baby because Zip files don't care (8).
.
Wow I can't believe you read the whole thing. Or maybe you didn't read the whole thing.
Try downloading MultiMC. You select a mod using a button to add to the minecraft.jar, so there is no copy and paste on your part so no message should appear, right?
- Java people made these things called .jar files. What they are: .zip files, except the .zip part is .jar instead. No seriously that's the only difference between a jar and a zip, their extension. Check it out by renaming minecraft.jar to minecraft.zip and see how it turns out
- Windows has special devices and ports and stuff and there are these things called Win32 Devices, which are named AUX, CLOCK$, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, CON, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9, NUL and PRN
- Mojang wants to protect their intellectual property by changing the names of stuff to something rather pointless to make it hard to figure out what the stuff does. (Well if you don't know it's name it is actually kind of hard.) (This is not a bad idea, because it TOTALLY DOES WORK. I've done it to protect my programs several times)
- Mojang decided to use an obfuscation tool (well I guess that's what the Orebfuscator plugin is named after) to do this. It basically renames all the stuff to some random letters but keeps the program working. (I've done this before too)
- FOR SOME VERY VERY VERY VERY VERY VERY VERY STUPID REASON, the Obfuscation tool decided to rename one of the .class files to AUX.class (it didn't do it on purpose, it just happened to be the random/non-random name it generated)
- AUX just turns out to be the name of a Win32 Device.
- For another stupid reason, You can't name a file after a Win32 Device. (Don't believe me? Try making a text document called "aux.txt" in your documents folder. Do believe me? Try it anyways to see what happens.) Or open the jar with winzip and it should tell you the same thing as this post except in a much more confusing and non-user-friendly way.
- Zip files don't care whether you can or cannot name a file after a Win32 Device. (Which is why aux.class works in minecraft.jar) [And minecraft.jar is just a renamed zip file]
- This causes lots of issues to the community
- We all yell "STUPID THING!"
The only reason winzip can mod stuff properly is because it directly inserts the file into a zip file. Thanks to the beauty of zip files (although I was yelling at one a second ago), you don't HAVE to extract and recompress the zip to alter it, you can just insert the file into the zip directly. This is what WinZip does and how it manages to mod minecraft right. Some other programs that haven't figured out how to directly edit a zip file without extracting it can't do this. This is probably what is used by @_bendystraw_ and so he can't deal with all this stuff. @gheller has a brilliant idea of renaming the class before extracting so that when you do extract it, windows won't cry like a baby. And then when you compress it and rename it back, windows still won't cry like a baby because Zip files don't care (8)..