Do I have to do the whole
FleetMemberAPI member = Global.getFactory().createFleetMember(FleetMemberType.SHIP, "");
vns_firstfleet.getFleetData().addFleetMember(member);
For every single ship I want to specify by varriant? Or can I do like in the below code?
public static void vnsmain_spawner()
{
int vns_mainfleet = getSector().getEntitiesWithTag("vns_mainfleet").size();
String array [] = isa_mining_sites;
if (vns_mainfleet < 1)
{
String dest_name = "vaynar";
String home_name = "avalon";
SectorEntityToken home = getSector().getEntityById(home_name);
SectorEntityToken dest = getSector().getEntityById(dest_name);
home = getSector().getEntityById("avalon");
log.info("Spawning VNS main fleet in Vaynar.");
CampaignFleetAPI vns_firstfleet = FleetFactory.createGenericFleet("VNS", "1st Fleet", 1, 250);
vns_firstfleet.addTag("vns_mainfleet");
getSector().getFaction("VNS").pickShipAndAddToFleet(ShipRoles.FREIGHTER_MEDIUM, 1, vns_firstfleet);
getSector().getFaction("VNS").pickShipAndAddToFleet(ShipRoles.TANKER_MEDIUM, 1, vns_firstfleet);
FleetMemberAPI member = Global.getFactory().createFleetMember(FleetMemberType.SHIP, "vns_archangel_standard");
member.setShipName("VNS Archangel");
member.setFlagship(true);
vns_firstfleet.getFleetData().addFleetMember(member);
FleetMemberAPI member2 = Global.getFactory().createFleetMember(FleetMemberType.SHIP, "vns_cobra2_assault2");
vns_firstfleet.getFleetData().addFleetMember(member2);
FleetMemberAPI member3 = Global.getFactory().createFleetMember(FleetMemberType.SHIP, "vns_cobrax_advanced");
vns_firstfleet.getFleetData().addFleetMember(member3);
FleetMemberAPI member4 = Global.getFactory().createFleetMember(FleetMemberType.SHIP, "vns_cobrax_advanced");
vns_firstfleet.getFleetData().addFleetMember(member4);
FleetMemberAPI member5 = Global.getFactory().createFleetMember(FleetMemberType.SHIP, "vns_dedalus_standard");
vns_firstfleet.getFleetData().addFleetMember(member5);
FleetMemberAPI member6 = Global.getFactory().createFleetMember(FleetMemberType.FIGHTER_WING, "ASF14E_wing");
vns_firstfleet.getFleetData().addFleetMember(member6);
FleetMemberAPI member7 = Global.getFactory().createFleetMember(FleetMemberType.FIGHTER_WING, "PhnI_Spec_wing");
vns_firstfleet.getFleetData().addFleetMember(member7);
vns_firstfleet.getCargo().addCrew(CargoAPI.CrewXPLevel.ELITE, (int)(vns_firstfleet.getCargo().getMaxPersonnel()));
vns_firstfleet.getCargo().addSupplies(vns_firstfleet.getCargo().getMaxCapacity()/3);
vns_firstfleet.getCargo().addFuel(vns_firstfleet.getCargo().getMaxFuel());
vns_firstfleet.getFleetData().sort();
FleetFactory.finishAndSync(vns_firstfleet);
home.getContainingLocation().addEntity(vns_firstfleet);
vns_firstfleet.setLocation(home.getLocation().x + 0, home.getLocation().y + 0);
vns_firstfleet.addAssignment(FleetAssignment.ORBIT_PASSIVE, home, 3, "preparing for duty");
vns_firstfleet.addAssignment(FleetAssignment.DEFEND_LOCATION, home, 14, "patrolling around "+home.getName());
vns_firstfleet.addAssignment(FleetAssignment.ORBIT_AGGRESSIVE, home, 3, "standing down from duty");
vns_firstfleet.addAssignment(FleetAssignment.GO_TO_LOCATION_AND_DESPAWN, home, 1000, "returning to "+home.getName());
vns_firstfleet.setPreferredResupplyLocation(home);
log.info("Spawned VNS main fleet in Vaynar");
}
}
EDIT:
After several trials and fixes, the game didn't crash.
Still, is there a simpler way to add ships, wihtout having to go member1, member2, member3, etc...