thank you very very mush! this has been very helpful!
I do have a few questions, after reviewing the instructions (and finally finding the files)
1) are the 'shipPref' variants the only ships the lords can have, or do they also get other ships provided they cant find the ones they like? do the ships they want just appear in there fleet in estrange for credits?
2) is the lords 'flagship' something they just get, or do they have to find it? like, if i make my own lord, could i give them a flagship that is normally not optionable, then they would have a strange ship as there flagship whenever i see them?
3) in regards to 'personality': what does it do, and what types are there?
also, i do have a question unrelated to adding a lord, but something that accord to me well writing this:
my own mod, AI-Retrofits, has a future that can change the name and portrait of a fleets officers and commander provided its 'fleet.getMemory().getString(MemFlags.MEMORY_KEY_SOURCE_MARKET)' matches markets with certain conditions.
if possible, would you be willing to add some type of tag or memory to your starlords fleets so my mod could identify them and not change there names and portraits?
1. Yes, lords will only buy ships/variants listed in the shipPrefs, at approximately those ratios. Unfortunately the lords arent smart enough to actually travel around to every market where the ships they want are sold, it's just assumed that they will buy those ships on any market

.
2. A lord will always spawn with their flagship, and if they lose it in battle, they will get it back free of charge whenever they go home to refit their fleet. So yes, unless the lord is being beaten up constantly, you can expect to see them with their flagship most of the time.
3. Oh, personality affects pretty much everything! The core concept comes from
warband. There are 4 personalities: upstanding, martial, calculating, and quarrelsome. They will determine how often the lord tries to gather income vs go to war, how likely they are to stay loyal to their faction, how they feel about capturing vs releasing other lords and being captured themselves, how willing they are to participate in schemes (though there isn't much underhanded dealing implemented yet), how the lord votes in politics, and that's just off the top of my head.
The lord person already has a
lord tag added, which should be the string "starlords_lord". The lord person should always be the commander of their fleet. Is that enough, or is it necessary to add a tag to the fleet directly?
I need to way in on this a little, because i feel like its the type of thing i would want to talk about.
in regards to lords not attacking my own worlds until i get one: as someone that really really likes more chaotic games were im forced to defend my worlds from overwhelming odds, such a future is something i would want to, on occasion, turn off. if this is added, please make it something i can disable in the config so i can defend myself and desperately try to protect my megger holdings.
Yeah I think the time in M&B where you just start up your kingdom and have to hold off the initial massive campaigns is most peoples' favorite moment, I don't want to get rid of that for sure. But again, you can always trigger that yourself by recruiting one lord and facing the campaign with just you and your buddy. The help is probably needed anyway, like is it even possible to kill a 6000 DP hegemony doomstack before running out of CR by yourself?
what does this mod define as an empty market?
One without a current governor?
An empty market is one without a lord assigned to collect taxes from it. Most markets are assigned a lord as governor at the start of the game, but this can change as new markets are colonized/markets change hands in war. This is distinct from the governor characters present in the base game.
After trying the new jar I got good news and bad news. Good news is, that recurring CTD hasn't occurred since. Bad news is that I got a new CTD:
java.lang.NullPointerException: Cannot invoke "com.fs.starfarer.api.campaign.ai.FleetAssignmentDataAPI.setActionText(String)" because the return value of "com.fs.starfarer.api.campaign.CampaignFleetAPI.getCurrentAssignment()" is null
at person.Lord.setActionText(Lord.java:341) ~[?:?]
at ai.LordAI.progressAssignment(LordAI.java:616) ~[?:?]
at ai.LordAI.advance(LordAI.java:99) ~[?:?]
at com.fs.starfarer.campaign.CampaignEngine.advance(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.campaign.CampaignState.advance(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.BaseGameState.traverse(Unknown Source) ~[port_obf.jar:?]
at com.fs.state.AppDriver.begin(Unknown Source) ~[port.common_obf.jar:?]
at com.fs.starfarer.combat.CombatMain.main(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.StarfarerLauncher.super(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.StarfarerLauncher$1.run(Unknown Source) ~[port_obf.jar:?]
at java.base/java.lang.Thread.run(Thread.java:1575) [?:?]
Nice, another bug down. This one should be fixed in a couple hours when I release the next minor patch, just gonna test it a bit first.