Hello community,
I'm having an impossible time understanding what's wrong with my simple mod script that is attempting to add a new planet to the Corvus system. This is a learning exercise.
First, I have tested uncommenting line 44 in starsector-core\data\scripts\world\corvus\Corvus.java.
This successfully creates "Anomaly A" in the Corvus system when a new game is started.
I have taken this exact line and tried to implement it in my "Test Planet" mod.
This is the only mod I have enabled when starting a new game.
Though "Anomaly A" does get created, interacting with it or the system throws the following NPE:
ERROR com.fs.starfarer.combat.CombatMain - java.lang.NullPointerException
Here is a full stack trace from the log file:
Spoiler
68926 [Thread-4] ERROR com.fs.starfarer.combat.CombatMain - java.lang.NullPointerException
java.lang.NullPointerException
at com.fs.starfarer.campaign.ui.intel.o0OO.void.return$new(Unknown Source)
at com.fs.starfarer.campaign.ui.intel.o0OO.afterSizeFirstChanged(Unknown Source)
at com.fs.starfarer.ui.Q.sizeChanged(Unknown Source)
at com.fs.starfarer.ui.OO0O.set(Unknown Source)
at com.fs.starfarer.ui.thisnew.super(Unknown Source)
at com.fs.starfarer.ui.j.advanceImpl(Unknown Source)
at com.fs.starfarer.ui.Q.advance(Unknown Source)
at com.fs.starfarer.ui.OO00.advanceImpl(Unknown Source)
at com.fs.starfarer.campaign.ui.intel.O0oO.advanceImpl(Unknown Source)
at com.fs.starfarer.ui.Q.advance(Unknown Source)
at com.fs.starfarer.ui.OO00.advanceImpl(Unknown Source)
at com.fs.starfarer.campaign.ui.intel.B.advanceImpl(Unknown Source)
at com.fs.starfarer.ui.Q.advance(Unknown Source)
at com.fs.starfarer.campaign.ui.intel.B.Ò00000(Unknown Source)
at com.fs.starfarer.ui.newui.if$7.actionPerformed(Unknown Source)
at com.fs.starfarer.ui.newui.if.setCurrentTab(Unknown Source)
at com.fs.starfarer.campaign.CampaignState.showCoreUITab(Unknown Source)
at com.fs.starfarer.coreui.map.A.super(Unknown Source)
at com.fs.starfarer.coreui.map.Objectsuper.processInputImpl(Unknown Source)
at com.fs.starfarer.ui.Q.processInput(Unknown Source)
at com.fs.starfarer.ui.V.o00000(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$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
This is my mod's one-and-only script:
package data.scripts;
Spoiler
import com.fs.starfarer.api.BaseModPlugin;
import com.fs.starfarer.api.Global;
import com.fs.starfarer.api.campaign.PlanetAPI;
import com.fs.starfarer.api.campaign.SectorAPI;
import com.fs.starfarer.api.campaign.SectorEntityToken;
import com.fs.starfarer.api.campaign.StarSystemAPI;
import com.fs.starfarer.api.impl.campaign.procgen.StarAge;
import com.fs.starfarer.api.impl.campaign.procgen.StarSystemGenerator;
public class TPModPlugin extends BaseModPlugin {
@Override
public void onNewGame() {
SectorAPI sector = Global.getSector();
StarSystemAPI system = sector.getStarSystem("Corvus");
SectorEntityToken star = system.getStar();
PlanetAPI corvusXa = system.addPlanet("test1", star, "Anomaly Alpha", "lava_minor", 240, 120, 2500, 120);
}
/*
@Override
public void onNewGameAfterProcGen() {
//I tried testing it here, too.
}
*/
}
You can see how to replicate this problem in the following two videos:
http:\\youtu.be/d7mJrEuTmWg
and
http:\\youtu.be/fTAUJwA4YNE
Would love to get some help with this. I've attached the mod in a .zip also. If you test the mod, please let me know the result. Thanks in advance for any help.
(edit: explicit links in case the actual ones don't show up -- reverse the "\\")
[attachment deleted by admin]