If I want a weapon or wing LPC to NOT appear on the market, what do I do?
"remnant" tag?
For fighters, "no_sell" in the wing data file. For weapons, I believe "SYSTEM" in the hints column should do it.
Near as I can tell, .jar is just compressed, complied files.
.class are complied .java files, but java files by themselves work by being processed at run-time.
So making a .jar is not strictly necessary, right?
A mod should work with just .java file in proper directories.
The game will compile certain .java files on startup. Generally speaking those have to be somewhere under the data/scripts/ folder.
However, it uses a special compiler - called Janino - to do this. It doesn't support a number of language features and in general isn't the most reliable thing in the world. In addition, compiling on every game start makes it take longer to load.
So, basically, a jar file is all around the preferred option - the game will start faster and you're less likely to run into problems with whatever you're trying to do. Loose .java files are ok for some minor assorted things but I wouldn't recommend it for something larger. Personally, I'm moving away from using them entirely.
Ok, another (maybe dumb) question: what, exactly, is the .GetFleetMemberId function used for? After searching through most fleet-based code, I have yet to find any function that actually takes the "Fleet Member ID" as an argument.
I don't think it's currently used for anything. It's just there to keep track of a specific fleet member if that was ever needed. To "use" it, you'd just iterate over the fleet members in a fleet and check to see if one of those is the one you're looking for.
Follow-up to that question, how would I go about finding a specific ship's related FleetMemberAPI? Casting does not work (obviously), and all functions in FleetAPI seems to use a sorting method that cannot be returned from the ShipAPI. I'm running tests to try and circumvent the process altogether, but if there is a way to get a FleetMemberAPI from a ShipAPI, it would streamline the process immensely.
DeployedFleetMemberAPI CombatFleetManagerAPI.getDeployedFleetMember(ShipAPI ship);
Then that has a method that gets you a FleetMemberAPI.