Hey I'm making a namelist mod (posting it on the discord, was told to make a post here to get Alex's attention) and I'm experiencing a weird crash.
https://drive.google.com/file/d/1uMV77ztqrnox9TmIECoa3UHreJIsrJq_/view?usp=sharingWhat my mod does is adds names to ship_names.json in data/strings and modifies several .faction files with entries to add weightings for certain lists from my mod. Weightings for vanilla namelists are unchanged. In ship_names.json, I have my ship names duplicated in (for example) SPACE and SPACE-BARACK, so that my modded names can be added to the ships of other mods as long as they use vanilla namelists. It appears based on my testing that when the game tries to grab a ship name from one of my lists it can't find anything and crashes. Here is a characteristic crash log for reference.
Spoiler
110354 [Thread-3] INFO com.fs.graphics.TextureLoader - Cleaned buffer for texture graphics/particlealpha32sq.png (using cast)
121926 [Thread-3] ERROR com.fs.starfarer.combat.CombatMain - java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at com.fs.starfarer.loading.ShipNameStore.o00000(Unknown Source)
at com.fs.starfarer.loading.ShipNameStore.o00000(Unknown Source)
at com.fs.starfarer.campaign.Faction.pickRandomShipName(Unknown Source)
at com.fs.starfarer.api.impl.campaign.rulecmd.salvage.special.ShipRecoverySpecial$PerShipData.<init>(ShipRecoverySpecial.java:91)
at com.fs.starfarer.api.impl.campaign.rulecmd.salvage.special.ShipRecoverySpecial$PerShipData.<init>(ShipRecoverySpecial.java:70)
at data.scripts.world.systems.Galatia.addDerelict(Galatia.java:383)
at data.scripts.world.systems.Galatia.generate(Galatia.java:176)
at data.scripts.world.SectorGen.generate(SectorGen.java:65)
at com.fs.starfarer.campaign.save.CampaignGameManager.o00000(Unknown Source)
at com.fs.starfarer.title.TitleScreenState.dialogDismissed(Unknown Source)
at com.fs.starfarer.ui.Oo0O.dismiss(Unknown Source)
at com.fs.starfarer.ui.impl.o0oO.dismiss(Unknown Source)
at com.fs.starfarer.campaign.save.J.actionPerformed(Unknown Source)
at com.fs.starfarer.ui.newnew.buttonPressed(Unknown Source)
at com.fs.starfarer.ui.I.Ò00000(Unknown Source)
at com.fs.starfarer.ui.I.processInput(Unknown Source)
at com.fs.starfarer.ui.Stringsuper.super(Unknown Source)
at com.fs.starfarer.BaseGameState.traverse(Unknown Source)
at com.fs.state.AppDriver.begin(Unknown Source)
at com.fs.starfarer.combat.CombatMain.main(Unknown Source)
at com.fs.starfarer.StarfarerLauncher.o00000(Unknown Source)
at com.fs.starfarer.StarfarerLauncher$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
This is happening at the start of a new game. Any help would be appreciated. Thanks!