Closed Theleruby closed 12 years ago
there's a bunch of updates that you should be able to leverage depending on how the spoutcraft launcher launches the game...
OK, I will take a look into the issue myself but I'm not exactly sure how to fix the problem (I tried a bunch of stuff already)
There is always more info then 'just a white screen'
I know that, it's just finding that info which is proving to be a challenge; there seems to be a distinct lack of log files and debugging the launcher in Eclipse yields no errors of any kind. (Had there been some sort of error that I could diagnose I would probably have already fixed it by now)
If you can debug the launcher in eclipse, just start from the beginning and step through every instruction untill you get to where shit blows up. You probably have something in there that silently gobbels exception. Or you're not reading the console, or a million other reasons.
Found it
2012-08-15 23:50:19 [INFO] [ForgeModLoader] Forge Mod Loader version 3.0.62.281 for Minecraft client:1.3.2, server:1.3.2 loading 2012-08-15 23:50:19 [FINEST] [ForgeModLoader] All core mods are successfully located 2012-08-15 23:50:19 [FINEST] [ForgeModLoader] Discovering coremods 2012-08-15 23:50:19 [FINEST] [ForgeModLoader] Found library file argo-2.25.jar present and correct in lib dir
2012-08-15 23:50:21 [FINEST] [ForgeModLoader] Found library file guava-12.0.1.jar present and correct in lib dir
2012-08-15 23:50:21 [FINEST] [ForgeModLoader] Found library file asm-all-4.0.jar present and correct in lib dir
2012-08-15 23:50:21 [FINEST] [ForgeModLoader] Running coremod plugins 2012-08-15 23:50:21 [FINEST] [ForgeModLoader] Running coremod plugin FMLCorePlugin 2012-08-15 23:50:21 [FINEST] [ForgeModLoader] Coremod plugin FMLCorePlugin run successfully 2012-08-15 23:50:21 [FINEST] [ForgeModLoader] Running coremod plugin FMLForgePlugin 2012-08-15 23:50:21 [FINEST] [ForgeModLoader] Coremod plugin FMLForgePlugin run successfully 2012-08-15 23:50:21 [FINEST] [ForgeModLoader] Validating minecraft 2012-08-15 23:50:21 [FINEST] [ForgeModLoader] Minecraft validated, launching... 2012-08-15 23:50:26 [INFO] [STDERR] Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: cpw.mods.fml.relauncher.ReflectionHelper$UnableToFindMethodException: java.lang.NoSuchMethodException: net.minecraft.Launcher.replace(java.applet.Applet) 2012-08-15 23:50:26 [INFO] [STDERR] at cpw.mods.fml.relauncher.FMLRelauncher.relaunchApplet(FMLRelauncher.java:265) 2012-08-15 23:50:26 [INFO] [STDERR] at cpw.mods.fml.relauncher.FMLRelauncher.appletEntry(FMLRelauncher.java:208) 2012-08-15 23:50:26 [INFO] [STDERR] at net.minecraft.client.MinecraftApplet.init(MinecraftApplet.java:25) 2012-08-15 23:50:26 [INFO] [STDERR] at net.minecraft.Launcher.init(Launcher.java:114) 2012-08-15 23:50:26 [INFO] [STDERR] at org.spoutcraft.launcher.gui.LauncherFrame.runGame(LauncherFrame.java:115) 2012-08-15 23:50:26 [INFO] [STDERR] at org.spoutcraft.launcher.gui.LoginForm.runGame(LoginForm.java:900) 2012-08-15 23:50:26 [INFO] [STDERR] at org.spoutcraft.launcher.gui.LoginForm$2$1.done(LoginForm.java:807) 2012-08-15 23:50:26 [INFO] [STDERR] at javax.swing.SwingWorker$5.run(Unknown Source) 2012-08-15 23:50:26 [INFO] [STDERR] at javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.run(Unknown Source) 2012-08-15 23:50:26 [INFO] [STDERR] at sun.swing.AccumulativeRunnable.run(Unknown Source) 2012-08-15 23:50:26 [INFO] [STDERR] at javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.actionPerformed(Unknown Source) 2012-08-15 23:50:26 [INFO] [STDERR] at javax.swing.Timer.fireActionPerformed(Unknown Source) 2012-08-15 23:50:26 [INFO] [STDERR] at javax.swing.Timer$DoPostEvent.run(Unknown Source) 2012-08-15 23:50:26 [INFO] [STDERR] at java.awt.event.InvocationEvent.dispatch(Unknown Source) 2012-08-15 23:50:26 [INFO] [STDERR] at java.awt.EventQueue.dispatchEventImpl(Unknown Source) 2012-08-15 23:50:26 [INFO] [STDERR] at java.awt.EventQueue.access$000(Unknown Source) 2012-08-15 23:50:26 [INFO] [STDERR] at java.awt.EventQueue$3.run(Unknown Source) 2012-08-15 23:50:26 [INFO] [STDERR] at java.awt.EventQueue$3.run(Unknown Source) 2012-08-15 23:50:26 [INFO] [STDERR] at java.security.AccessController.doPrivileged(Native Method) 2012-08-15 23:50:26 [INFO] [STDERR] at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) 2012-08-15 23:50:26 [INFO] [STDERR] at java.awt.EventQueue.dispatchEvent(Unknown Source) 2012-08-15 23:50:26 [INFO] [STDERR] at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) 2012-08-15 23:50:26 [INFO] [STDERR] at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) 2012-08-15 23:50:26 [INFO] [STDERR] at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) 2012-08-15 23:50:26 [INFO] [STDERR] at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 2012-08-15 23:50:26 [INFO] [STDERR] at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 2012-08-15 23:50:26 [INFO] [STDERR] at java.awt.EventDispatchThread.run(Unknown Source)
Will try to fix and post back here with findings.
Yes, the reinjection is failing. I expect a "replace" method as the official launcher behaves, so that i can re-insert a properly classloaded version of Minecraftapplet. Alternatively, just use the front door- Minecraft.main. Much simpler all around.
Have added replace method to launcher as follows
public void replace(Applet applet)
{
this.minecraftApplet = applet;
applet.setStub(this);
applet.setSize(getWidth(), getHeight());
this.setLayout(new BorderLayout());
this.add(applet, "Center");
applet.init();
active = true;
applet.start();
validate();
}
I am now able to get the client to open, but only vanilla (the classes in modpack.jar are not applied to the relaunched applet by the looks of it). Will continue to investigate.
You probably want to inject a "coremod" plugin with your custom modpack stuff. I can probably expose a system property for you to leverage that would be a class implementing IFMLLoadingPlugin. Return empty sets for everything but the library array - which would point to your additional jar...
I see where you're going with that; seems like a reasonable way to tackle the issue.
Wait, wouldnt it just be simpler to build the class path with the modded jar before the vanilla jar? Making its classes load first {cuz they are found first}? Don't know how your launcher works but that would seem more compatible and simpler to implement.
That worked a treat. Thank you.
I now have a different issue where the working directory (for texture packs, config files etc) seems to be set to the launcher.jar's location rather than where the bin folder is. So it's now very close to being fixed, but is not fixed entirely.
Do you force the path of the Mc home into the mine craft class? If not set the system property minecraft.applet.TargetDirectory to your desired home...
Also, try updating forge. It only recently got updated tot he latest FML.
The issue is that a bunch of my code used new File(".") to place stuff onto the file system.
That function gives the working directory rather than Minecraft's home directory, so the files were going to the wrong place because the working directory was the location of launcher.jar.
For now I have managed to implement a workaround to the problem. I wrote a static function which returns either the Minecraft home directory on the client, or the working directory on the server. (You can't use the home directory on the server because "Minecraft" is a client-only class, so it doesn't work)
Then I swapped out all calls to File(.) in the entire game with my own function. It's now working nicely.
hmm, fair enough...
I am using a custom fork of Technic Launcher (Spoutcraft Launcher) to manage my Minecraft mods etc.
When I apply Forge #193 universal zip (+FML) to previously blank modpack.jar the "Hello" box flashes up on the screen, disappears then I am just left with a white box. Game does not load.
The setup I have was working fine with MC 1.3.x until FML was applied to modpack.jar.
Also works fine with identical patch when launched using regular Minecraft launcher.
Note this is not a Technic pack issue since it only applies to their launcher which is open source and was forked for my own needs.