If you've directly modded the jar by adding new files you need to delete the META-INF folder; here are the instructions I give for my own mod (which can also be considered a custom client, they are more or less the same thing):
To install, create a new profile named TMCWv4 with 1.6.4 as the version and click Play to download it (or copy an existing 1.6.4 installation), then go to the versions folder in .minecraft (%appdata% on Windows) and rename the folder and jar to TMCWv4. Replace the json file with the one found in the root of this archive; it has already been modified so the launcher will not try to redownload the jar. Install the mod files directly into the jar using a zip utility (do not try to rename it to zip and use Windows because there is a class file in the vanilla jar with a reserved Windows filename which will break things), and delete META-INF (if you want to install Optifine install it the same way; do not use its installer. There are no conflicting classes and the order should not matter but I installed TMCWv4 afterwards; the only known conflict is the complete lack of void fog in TMCW, which Optifine cannot restore because I changed a different class).
Also, I presume that you've already modified the json as mentioned here as otherwise the launcher would have replaced the modded jar with a clean one, but just in case you need to delete the "downloads" section for the client jar (everything shown here except for the last line, which is the version ID and needs to be changed to reflect the name you used fro the custom version).
Also, while I have not done it since the 1.6.2 days Mojang wants you to install mods by injecting them at runtime, not by directly modifying the jar; back then I used Forge for some other mods and installed my own mods as well as Optifine by following the instructions given here (I simply zipped up my own class files and renamed the zip to jar, following the same naming conventions given; I named it "terraingen-1.6.2.jar"; while not a valid jar file it worked. This is also how Optifine and Forge install themselves, they just add libraries that are referenced by the version json). This avoids issues caused by the launcher trying to ensure file integrity, although it isn't necessary (yet; the launcher will give a warning but it will launch the game) and I don't give instructions for this since I think it is more complicated (the modded version is no longer a single standalone file/folder).
Hey Guys, I've been learning how to code an own client. But now it crashes, when i start the profile of it. Please help me!!
Btw, my english is pretty bad, because I'm german.
The crash report:
Exception in thread "main" java.lang.SecurityException: SHA-256 digest error for ave.class
at sun.security.util.ManifestEntryVerifier.verify(ManifestEntryVerifier.java:218)
at java.util.jar.JarVerifier.processEntry(JarVerifier.java:241)
at java.util.jar.JarVerifier.update(JarVerifier.java:228)
at java.util.jar.JarVerifier$VerifierStream.read(JarVerifier.java:482)
at sun.misc.Resource.getBytes(Resource.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:462)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at net.minecraft.client.main.Main.main(SourceFile:41)
Process crashed with exit code 1
If you've directly modded the jar by adding new files you need to delete the META-INF folder; here are the instructions I give for my own mod (which can also be considered a custom client, they are more or less the same thing):
Also, I presume that you've already modified the json as mentioned here as otherwise the launcher would have replaced the modded jar with a clean one, but just in case you need to delete the "downloads" section for the client jar (everything shown here except for the last line, which is the version ID and needs to be changed to reflect the name you used fro the custom version).
Also, while I have not done it since the 1.6.2 days Mojang wants you to install mods by injecting them at runtime, not by directly modifying the jar; back then I used Forge for some other mods and installed my own mods as well as Optifine by following the instructions given here (I simply zipped up my own class files and renamed the zip to jar, following the same naming conventions given; I named it "terraingen-1.6.2.jar"; while not a valid jar file it worked. This is also how Optifine and Forge install themselves, they just add libraries that are referenced by the version json). This avoids issues caused by the launcher trying to ensure file integrity, although it isn't necessary (yet; the launcher will give a warning but it will launch the game) and I don't give instructions for this since I think it is more complicated (the modded version is no longer a single standalone file/folder).
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?