Crash to desktop on game load; progress bar makes it most of the way and then it pukes.
Posting the error log because it's a real stump-the-chump. Alterations to the ModPlugin itself don't seem to have helped; it's clearly more fundamental than that. I've narrowed it down to something I'm personally doing in this mod; just not sure what.
It seems like I made some sort of basic error that I can't track down. I've looked in CoreLifecyclePluginImpl but nothing jumps out at me. Best guess is faction-related, the game trying to verify something about the faction file it can't.
Any idea what I'm doing wrong? Or at least, where to look?
Spoiler
21981 [Thread-5] ERROR com.fs.starfarer.combat.CombatMain - java.lang.RuntimeException: Failed to find script of class [com.fs.starfarer.api.impl.campaign.CoreLifecyclePluginImpl]
java.lang.RuntimeException: Failed to find script of class [com.fs.starfarer.api.impl.campaign.CoreLifecyclePluginImpl]
at com.fs.starfarer.loading.scripts.ScriptStore.new(Unknown Source)
at com.fs.starfarer.settings.StarfarerSettings.for(Unknown Source)
at com.fs.starfarer.launcher.ModManager.getEnabledModPlugins(Unknown Source)
at com.fs.starfarer.loading.ResourceLoaderState.init(Unknown Source)
at com.fs.state.AppDriver.begin(Unknown Source)
at com.fs.starfarer.combat.CombatMain.main(Unknown Source)
at com.fs.starfarer.StarfarerLauncher$1.run(Unknown Source)
at java.lang.Thread.run(Thread.java:745)
Yup, tried that. A search for ERROR turns up this:
Spoiler
5238 [Thread-5] ERROR com.fs.starfarer.loading.WeaponSpreadsheetLoader - Weapon spec [target_painter] not found in weapon_data.csv
5866 [Thread-5] ERROR com.fs.starfarer.loading.ShipHullSpreadsheetLoader - Ship hull spec [module_hightech_decor] not found in ship_data.csv
5866 [Thread-5] ERROR com.fs.starfarer.loading.ShipHullSpreadsheetLoader - Ship hull spec [flare] not found in ship_data.csv
7074 [Thread-5] INFO com.fs.starfarer.loading.SpecStore - Loaded spec with id [Terror_|_constellation]
7078 [Thread-5] INFO com.fs.starfarer.loading.SpecStore - Loaded spec with id [Ferror_|_star, planet, moon, nebula, constellation]
14107 [Thread-5] INFO com.fs.graphics.TextureLoader - Cleaned buffer for texture graphics/swp/portraits/ibb_terror.png (using cast)
19088 [Thread-5] ERROR com.fs.starfarer.combat.CombatMain - java.lang.RuntimeException: Failed to find script of class [exerelin.plugins.NexCoreLifecyclePlugin]
I wonder if this isn't happening because the only system file I'm adding to the mod uses procgen to assign a constellation a random position out on the fringe.
Alright, got this loaded up, with the error and everything, and I see this in the log:
4216 [Thread-7] INFO com.fs.starfarer.loading.scripts.ScriptClassLoader - Loading class: data.scripts.MagellanModPlugin
Exception in thread "Thread-7" java.lang.UnsupportedClassVersionError: data/scripts/MagellanModPlugin : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at java.lang.ClassLoader.loadClass(ClassLoader.java:412)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at com.fs.starfarer.loading.scripts.ScriptStore$3.run(ScriptStore.java:401)
at java.lang.Thread.run(Thread.java:745)
This shorts out the script loader, so the game crashes the first time it needs to use any other script. Looks like the MagellanModPlugin (and presumably the rest of the jar?) is complied for a newer version of the JRE than the game is running with.
Yeah, let me do that - didn't actually get to it yet, today was a busy day.
Took a quick look - ah, it was catching Exception instead of Throwable, which explains why the script-loading thread croaked silently instead of passing the exception on to the main thread. Fixed it up; now crashes with this message:
9583 [Thread-4] ERROR com.fs.starfarer.combat.CombatMain - java.lang.RuntimeException: Error loading [data.scripts.MagellanModPlugin]
Compiled for the wrong version of Java, change the compile target to Java 7
java.lang.RuntimeException: Error loading [data.scripts.MagellanModPlugin]
Compiled for the wrong version of Java, change the compile target to Java 7
at com.fs.starfarer.loading.scripts.ScriptStore$3.run(ScriptStore.java:409)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.UnsupportedClassVersionError: data/scripts/MagellanModPlugin : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at java.lang.ClassLoader.loadClass(ClassLoader.java:412)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at com.fs.starfarer.loading.scripts.ScriptStore$3.run(ScriptStore.java:395)
... 1 more
Good call, thank you for the reminder.