Posted August 4, 201312 yr hey guys, im trying to make a coremod for 1.6.2 but when i insert the coremod into the mods folders and launch the game i get a ClassNotFoundException on cpw.mods.fml.common.asm.FMLSanityChecker my log: Launcher 1.2.1 (through bootstrap 5) started on windows... Current time is Aug 4, 2013 1:54:17 PM System.getProperty('os.name') == 'Windows 7' System.getProperty('os.version') == '6.1' System.getProperty('os.arch') == 'amd64' System.getProperty('java.version') == '1.7.0_09' System.getProperty('java.vendor') == 'Oracle Corporation' System.getProperty('sun.arch.data.model') == '64' Loaded 2 profile(s); selected 'Forge' Refreshing auth... Logging in with access token Delta time to compare resources: 366 ms Download job 'Resources' skipped as there are no files to download Job 'Resources' finished successfully Getting syncinfo for selected version Queueing library & version downloads Download job 'Version & Libraries' started (8 threads, 24 files) Finished downloading C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\net\java\jutils\jutils\1.0.0\jutils-1.0.0.jar for job 'Version & Libraries': Used own copy as it matched etag Finished downloading C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\com\google\code\gson\gson\2.2.2\gson-2.2.2.jar for job 'Version & Libraries': Used own copy as it matched etag Finished downloading C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\com\paulscode\libraryjavasound\20101123\libraryjavasound-20101123.jar for job 'Version & Libraries': Used own copy as it matched etag Finished downloading C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\net\java\jinput\jinput\2.0.5\jinput-2.0.5.jar for job 'Version & Libraries': Used own copy as it matched etag Finished downloading C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\com\paulscode\codecwav\20101023\codecwav-20101023.jar for job 'Version & Libraries': Used own copy as it matched etag Finished downloading C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\com\google\guava\guava\14.0\guava-14.0.jar for job 'Version & Libraries': Used own copy as it matched etag Finished downloading C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\lzma\lzma\0.0.1\lzma-0.0.1.jar for job 'Version & Libraries': Used own copy as it matched etag Finished downloading C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\net\sf\jopt-simple\jopt-simple\4.5\jopt-simple-4.5.jar for job 'Version & Libraries': Used own copy as it matched etag Finished downloading C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\commons-io\commons-io\2.4\commons-io-2.4.jar for job 'Version & Libraries': Used own copy as it matched etag Finished downloading C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\org\lwjgl\lwjgl\lwjgl_util\2.9.0\lwjgl_util-2.9.0.jar for job 'Version & Libraries': Used own copy as it matched etag Finished downloading C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\argo\argo\2.25_fixed\argo-2.25_fixed.jar for job 'Version & Libraries': Used own copy as it matched etag Finished downloading C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\net\minecraft\launchwrapper\1.3\launchwrapper-1.3.jar for job 'Version & Libraries': Used own copy as it matched etag Finished downloading C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\org\lwjgl\lwjgl\lwjgl-platform\2.9.0\lwjgl-platform-2.9.0-natives-windows.jar for job 'Version & Libraries': Used own copy as it matched etag Finished downloading C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\org\lwjgl\lwjgl\lwjgl_util\2.9.0\lwjgl_util-2.9.0.jar for job 'Version & Libraries': Used own copy as it matched etag Finished downloading C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\com\paulscode\soundsystem\20120107\soundsystem-20120107.jar for job 'Version & Libraries': Used own copy as it matched etag Finished downloading C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\org\lwjgl\lwjgl\lwjgl\2.9.0\lwjgl-2.9.0.jar for job 'Version & Libraries': Used own copy as it matched etag Finished downloading C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\org\lwjgl\lwjgl\lwjgl\2.9.0\lwjgl-2.9.0.jar for job 'Version & Libraries': Used own copy as it matched etag Finished downloading C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\com\paulscode\codecjorbis\20101023\codecjorbis-20101023.jar for job 'Version & Libraries': Used own copy as it matched etag Finished downloading C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\com\paulscode\librarylwjglopenal\20100824\librarylwjglopenal-20100824.jar for job 'Version & Libraries': Used own copy as it matched etag Finished downloading C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\org\bouncycastle\bcprov-jdk15on\1.47\bcprov-jdk15on-1.47.jar for job 'Version & Libraries': Used own copy as it matched etag Finished downloading C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm-all\4.1\asm-all-4.1.jar for job 'Version & Libraries': Used own copy as it matched etag Finished downloading C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\net\java\jinput\jinput-platform\2.0.5\jinput-platform-2.0.5-natives-windows.jar for job 'Version & Libraries': Used own copy as it matched etag Finished downloading C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\org\apache\commons\commons-lang3\3.1\commons-lang3-3.1.jar for job 'Version & Libraries': Used own copy as it matched etag Finished downloading C:\Users\Hydroflame\AppData\Roaming\.minecraft\versions\1.6.2-Forge9.10.0.804\1.6.2-Forge9.10.0.804.jar for job 'Version & Libraries': Couldn't connect to server (responded with 403) but have local file, assuming it's good Job 'Version & Libraries' finished successfully Launching game Looking for old natives to clean up... Unpacking natives to C:\Users\Hydroflame\AppData\Roaming\.minecraft\versions\1.6.2-Forge9.10.0.804\1.6.2-Forge9.10.0.804-natives-9023328903276 Launching in C:\Users\Hydroflame\AppData\Roaming\.minecraft Running C:\Program Files\Java\jre7\bin\javaw.exe -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmx1G -Djava.library.path=C:\Users\Hydroflame\AppData\Roaming\.minecraft\versions\1.6.2-Forge9.10.0.804\1.6.2-Forge9.10.0.804-natives-9023328903276 -cp C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\net\minecraftforge\minecraftforge\9.10.0.804\minecraftforge-9.10.0.804.jar;C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\net\minecraft\launchwrapper\1.3\launchwrapper-1.3.jar;C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm-all\4.1\asm-all-4.1.jar;C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\net\sf\jopt-simple\jopt-simple\4.5\jopt-simple-4.5.jar;C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\lzma\lzma\0.0.1\lzma-0.0.1.jar;C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\com\paulscode\codecjorbis\20101023\codecjorbis-20101023.jar;C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\com\paulscode\codecwav\20101023\codecwav-20101023.jar;C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\com\paulscode\libraryjavasound\20101123\libraryjavasound-20101123.jar;C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\com\paulscode\librarylwjglopenal\20100824\librarylwjglopenal-20100824.jar;C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\com\paulscode\soundsystem\20120107\soundsystem-20120107.jar;C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\org\lwjgl\lwjgl\lwjgl\2.9.0\lwjgl-2.9.0.jar;C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\org\lwjgl\lwjgl\lwjgl_util\2.9.0\lwjgl_util-2.9.0.jar;C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\argo\argo\2.25_fixed\argo-2.25_fixed.jar;C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\org\bouncycastle\bcprov-jdk15on\1.47\bcprov-jdk15on-1.47.jar;C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\com\google\guava\guava\14.0\guava-14.0.jar;C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\org\apache\commons\commons-lang3\3.1\commons-lang3-3.1.jar;C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\commons-io\commons-io\2.4\commons-io-2.4.jar;C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\net\java\jinput\jinput\2.0.5\jinput-2.0.5.jar;C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\net\java\jutils\jutils\1.0.0\jutils-1.0.0.jar;C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\com\google\code\gson\gson\2.2.2\gson-2.2.2.jar;C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\org\lwjgl\lwjgl\lwjgl\2.9.0\lwjgl-2.9.0.jar;C:\Users\Hydroflame\AppData\Roaming\.minecraft\libraries\org\lwjgl\lwjgl\lwjgl_util\2.9.0\lwjgl_util-2.9.0.jar;C:\Users\Hydroflame\AppData\Roaming\.minecraft\versions\1.6.2-Forge9.10.0.804\1.6.2-Forge9.10.0.804.jar net.minecraft.launchwrapper.Launch --username hydroflame --session token:c087de3764424947aca3446a8e7799b6:dbe325f76d3e47eeab107c8dddeff4f3 --version 1.6.2-Forge9.10.0.804 --gameDir C:\Users\Hydroflame\AppData\Roaming\.minecraft --assetsDir C:\Users\Hydroflame\AppData\Roaming\.minecraft\assets --tweakClass cpw.mods.fml.common.launcher.FMLTweaker Client> Aug 04, 2013 1:54:25 PM net.minecraft.launchwrapper.LogWrapper log Client> INFO: Using tweak class name cpw.mods.fml.common.launcher.FMLTweaker Client> 2013-08-04 13:54:25 [iNFO] [ForgeModLoader] Forge Mod Loader version 6.2.35.804 for Minecraft 1.6.2 loading Client> 2013-08-04 13:54:25 [iNFO] [ForgeModLoader] Java is Java HotSpot 64-Bit Server VM, version 1.7.0_09, running on Windows 7:amd64:6.1, installed at C:\Program Files\Java\jre7 Client> 2013-08-04 13:54:25 [WARNING] [ForgeModLoader] The coremod com.hydroflame.asm2.ForgeRevCore does not have a MCVersion annotation, it may cause issues with this version of Minecraft Client> 2013-08-04 13:54:25 [iNFO] [sTDOUT] Loaded 39 rules from AccessTransformer config file fml_at.cfg Client> 2013-08-04 13:54:25 [iNFO] [sTDOUT] Loaded 107 rules from AccessTransformer config file forge_at.cfg Client> 2013-08-04 13:54:25 [sEVERE] [ForgeModLoader] Unable to launch Client> java.lang.RuntimeException: java.lang.ClassNotFoundException: cpw.mods.fml.common.asm.FMLSanityChecker Client> at cpw.mods.fml.relauncher.CoreModManager.injectTransformers(CoreModManager.java:402) Client> at cpw.mods.fml.relauncher.FMLLaunchHandler.injectPostfixTransformers(FMLLaunchHandler.java:108) Client> at cpw.mods.fml.relauncher.FMLLaunchHandler.appendCoreMods(FMLLaunchHandler.java:113) Client> at cpw.mods.fml.common.launcher.FMLTweaker.injectIntoClassLoader(FMLTweaker.java:78) Client> at net.minecraft.launchwrapper.Launch.launch(Launch.java:51) Client> at net.minecraft.launchwrapper.Launch.main(Launch.java:18) Client> Caused by: java.lang.ClassNotFoundException: cpw.mods.fml.common.asm.FMLSanityChecker Client> at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:179) Client> at java.lang.ClassLoader.loadClass(Unknown Source) Client> at java.lang.ClassLoader.loadClass(Unknown Source) Client> at java.lang.Class.forName0(Native Method) Client> at java.lang.Class.forName(Unknown Source) Client> at cpw.mods.fml.relauncher.CoreModManager.injectTransformers(CoreModManager.java:391) Client> ... 5 more Client> Caused by: java.lang.NullPointerException Client> at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:171) Client> ... 10 more Game ended with no troubles detected (exit code 0) Deleting C:\Users\Hydroflame\AppData\Roaming\.minecraft\versions\1.6.2-Forge9.10.0.804\1.6.2-Forge9.10.0.804-natives-9023328903276 my IFMLoadingPlugin: package com.hydroflame.asm2; import java.io.File; import java.util.Map; import cpw.mods.fml.relauncher.IFMLLoadingPlugin; public class ForgeRevCore implements IFMLLoadingPlugin{ public static File location; @Override @Deprecated public String[] getLibraryRequestClass() { return null; } @Override public String[] getASMTransformerClass() { System.out.println("returning the transformer class"); return new String[]{ForgeRevTransformer.class.getName()}; } @Override public String getModContainerClass() { return null; } @Override public String getSetupClass() { return null; } @Override public void injectData(Map<String, Object> data) { System.out.println("setting the location file"); location = (File) data.get("coremodLocation"); } } transformer class: package com.hydroflame.asm2; import java.io.File; import java.io.InputStream; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; import net.minecraft.launchwrapper.IClassTransformer; public class ForgeRevTransformer implements IClassTransformer { @Override public byte[] transform(String name, String obfName, byte[] bytecode) { if (name.equals("net.minecraft.client.Minecraft")||name.equals("ats")) { bytecode = patchClassInJar(name, bytecode, obfName, ForgeRevCore.location); } return null; } private byte[] patchClassInJar(String name, byte[] bytes, String ObfName, File location) { try { // open the jar as zip ZipFile zip = new ZipFile(location); // find the file inside the zip that is called te.class or // net.minecraft.entity.monster.EntityCreeper.class // replacing the . to / so it would look for // net/minecraft/entity/monster/EntityCreeper.class ZipEntry entry = zip.getEntry(name.replace('.', '/') + ".class"); if (entry == null) { System.out.println(name + " not found in " + location.getName()); } else { // serialize the class file into the bytes array InputStream zin = zip.getInputStream(entry); bytes = new byte[(int) entry.getSize()]; zin.read(bytes); zin.close(); System.out.println("[" + "ForgeRevCore" + "]: " + "Class "+ name + " patched!"); } zip.close(); } catch (Exception e) { throw new RuntimeException("Error overriding " + name + " from "+ location.getName(), e); } // return the new bytes return bytes; } } coremod.jar structure: *META-INF **MANIFEST.MF *ats.class *net **minecraft ***client ****Minecraft.class i looked into versions/1.6.2-Forge9.10.0.804 and effectivelly the class is not there but i used the installer. not sure why/where i screwed up i based my method off this tutorial: http://www.minecraftforum.net/topic/1854988-tutorial-162-changing-vanilla-without-editing-base-classes-coremods-and-events-very-advanced/ the "replcaing a whole miencraft class" part how to debug 101:http://www.minecraftforge.net/wiki/Debug_101 -hydroflame, author of the forge revolution-
August 4, 201312 yr Isn't there some special parameter to add to the java command line ? Like -disable_consistency_check=true ?
August 4, 201312 yr Author i might be wrong but i kindof doubt that because it would mean that people would HAVE to add option to launch. Afaik mods/coremods are suppose to be a drag n drop thing and adding this kind of option inside the coremod wouldnt make sens as java is already launched when this file is read. maybe im wrong though how to debug 101:http://www.minecraftforge.net/wiki/Debug_101 -hydroflame, author of the forge revolution-
August 4, 201312 yr From Optifine installation: Click "Edit Profile" - Select the checkbox "JVM Arguments" and in the field next to it add "-Dfml.ignoreInvalidMinecraftCertificates=true -Dfml.ignorePatchDiscrepancies=true" - Click "Save Profile"
August 4, 201312 yr Author implying optifine is REQUIRED to use forge and coremods how to debug 101:http://www.minecraftforge.net/wiki/Debug_101 -hydroflame, author of the forge revolution-
August 4, 201312 yr Nope, just taking as an example. Why would it be any different for your coremod ?
August 4, 201312 yr Author because im pretty sure that its not required as i havnt seen mention of that anywhere how to debug 101:http://www.minecraftforge.net/wiki/Debug_101 -hydroflame, author of the forge revolution-
August 4, 201312 yr Are you sure you can return null there ? @Override public String getModContainerClass() { return null; } @Override public String getSetupClass() { return null; }
August 5, 201312 yr Are you sure you can return null there ? @Override public String getModContainerClass() { return null; } @Override public String getSetupClass() { return null; } Mod container class is only required if you want to have mod metadata. In which case he doesn't (I know this because I do). Stup class... I made a coremod for 1.6.2 and didn't have that running either. So no its not needed. A coremod is like a paxel. It is a lot of different functions all put together. In this case though, all those methods are like the mould needed for the paxel, but I only want the shovel part of it. I also only have that mould. So I only fill in the shovel section. Simple as that. I am Mew. The Legendary Psychic. I behave oddly and am always playing practical jokes. I have also found that I really love making extremely long and extremely but sometimes not so descriptive variables. Sort of like what I just did there
August 5, 201312 yr Well maybe you can help him more than i ? I found this thread with same issue here
August 5, 201312 yr Author ding ding ding, bonus point to GotoLink because im an idiot who cant search properly, i am returning null in my transform method meaning every class that gets through will be erased causing the class to simply not exists derp mode enabled how to debug 101:http://www.minecraftforge.net/wiki/Debug_101 -hydroflame, author of the forge revolution-
August 5, 201312 yr Well maybe you can help him more than i ? I found this thread with same issue here Not really ding ding ding, bonus point to GotoLink because im an idiot who cant search properly, i am returning null in my transform method meaning every class that gets through will be erased causing the class to simply not exists derp mode enabled Well, not quite the methods that affected the transformer classes, but still. Good call Gotolink I am Mew. The Legendary Psychic. I behave oddly and am always playing practical jokes. I have also found that I really love making extremely long and extremely but sometimes not so descriptive variables. Sort of like what I just did there
August 5, 201312 yr Forge has a coremods folder in the .minecraft directory. I'm pretty sure your mod should go in there. In your main post, you stated that you placed the mod in the mods folder.
August 5, 201312 yr Author not in 1.6.2, in this verison everything goes in the mods folder how to debug 101:http://www.minecraftforge.net/wiki/Debug_101 -hydroflame, author of the forge revolution-
August 5, 201312 yr Author all good ^^ to future reader, if you need to change "net.minecraft.client.Minecraft" via ASM, good luck ^^ i was never able to do it i foudn another way around doing what i wanted (version 1.6.2) at least its not feasable via replacing the whole class how to debug 101:http://www.minecraftforge.net/wiki/Debug_101 -hydroflame, author of the forge revolution-
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.