Factions get randomly generated fleets - there are presets, but they are just composition ratios, not fixed.
Can't set specific ships, can't name them, can't create officers.
Now, I used to put this in Fleet Spawner in the odler version and with soem mods:
public static void vnsmain_spawner()
{
int vns_mainfleet = getSector().getEntitiesWithTag("vns_mainfleet").size();
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, 200);
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");
member2.setShipName("VNS Venom");
vns_firstfleet.getFleetData().addFleetMember(member2);
FleetMemberAPI member3 = Global.getFactory().createFleetMember(FleetMemberType.SHIP, "vns_cobrax_advanced");
member3.setShipName("VNS Deimos");
vns_firstfleet.getFleetData().addFleetMember(member3);
FleetMemberAPI member4 = Global.getFactory().createFleetMember(FleetMemberType.SHIP, "vns_cobrax_advanced");
member4.setShipName("VNS Phobos");
vns_firstfleet.getFleetData().addFleetMember(member4);
FleetMemberAPI member5 = Global.getFactory().createFleetMember(FleetMemberType.SHIP, "vns_dedalus_elite");
member5.setShipName("VNS Dedalus");
vns_firstfleet.getFleetData().addFleetMember(member5);
FleetMemberAPI member6 = Global.getFactory().createFleetMember(FleetMemberType.SHIP, "vns_prometheus_elite");
member6.setShipName("VNS Caldabolg");
vns_firstfleet.getFleetData().addFleetMember(member6);
FleetMemberAPI member7 = Global.getFactory().createFleetMember(FleetMemberType.SHIP, "vns_avenger_mk1_elite");
member7.setShipName("VNS Gae bolg");
vns_firstfleet.getFleetData().addFleetMember(member7);
FleetMemberAPI member8 = Global.getFactory().createFleetMember(FleetMemberType.SHIP, "vns_paladin_elite");
member8.setShipName("VNS Ascension");
vns_firstfleet.getFleetData().addFleetMember(member8);
FleetMemberAPI member9 = Global.getFactory().createFleetMember(FleetMemberType.SHIP, "vns_paladin_elite");
member9.setShipName("VNS Tempestus Irae");
vns_firstfleet.getFleetData().addFleetMember(member9);
FleetMemberAPI member10 = Global.getFactory().createFleetMember(FleetMemberType.SHIP, "vns_perserverance_elite");
member10.setShipName("VNS Eternity");
vns_firstfleet.getFleetData().addFleetMember(member10);
FleetMemberAPI member11 = Global.getFactory().createFleetMember(FleetMemberType.SHIP, "vns_avenger_mk2_elite");
member11.setShipName("VNS Radiance");
vns_firstfleet.getFleetData().addFleetMember(member11);
FleetMemberAPI member12 = Global.getFactory().createFleetMember(FleetMemberType.FIGHTER_WING, "ASF14_wing");
vns_firstfleet.getFleetData().addFleetMember(member12);
FleetMemberAPI member13 = Global.getFactory().createFleetMember(FleetMemberType.FIGHTER_WING, "PhnI_Spec_wing");
vns_firstfleet.getFleetData().addFleetMember(member13);
FleetMemberAPI member14 = Global.getFactory().createFleetMember(FleetMemberType.FIGHTER_WING, "Armageddon_T_wing");
vns_firstfleet.getFleetData().addFleetMember(member14);
FleetMemberAPI member15 = Global.getFactory().createFleetMember(FleetMemberType.FIGHTER_WING, "ASF14E_wing");
vns_firstfleet.getFleetData().addFleetMember(member15);
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, 21, "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");
}
}
That would get the fleet created, but not the officer. I understand that we should now be able to create officers.
Also, due to changes I don't think the above code is still valid.