Separate their purposes#

libraries/jobs.xml describes NPC ships: selection, orders, quotas and allowed locations. The job engine maintains population; with buildatshipyard="true", replenishment after initial generation involves shipyard construction. A quota is not a promise of immediate spawning.

libraries/god.xml mainly defines station and object generation. Their subsequent development also uses MD. Version 9.00 added production entries using plans and staged construction. A station entry does not replace a patrol job.

A minimal quota patch#

Example libraries/jobs.xml in your extension:

XML
<diff>
  <replace sel="/jobs/job[@id='wiki_scout_patrol']/quota/@galaxy">2</replace>
</diff>

Prerequisite: wiki_scout_patrol is a fictional ID for a valid job you have already created, with one quota, sufficient maxgalaxy and suitable location/ship definitions. Vanilla has no such entry.

Effect: after patching, that entry's galaxy attribute becomes 2. This changes the job engine's target; it does not command two additional ships to appear. A selector matching nothing does not perform the intended edit. Existing ships do not automatically receive new equipment when a template changes.

New games and loading saves#

Scenario Check
New game Activation, selected dataset, quotas and location filters
Loading with a new extension Its saved extension record and content/@save
Updating an already known extension A new god entry does not imply automatic station generation
Editing a job Job state is saved, definitions are read from files; existing ships may retain old orders

Chem O’Dun reports that loading generates god entries for an extension first added to the save with save="true"; updating an already known extension does not do this. save="false" does not trigger that load-time generation. On a new game this flag alone does not disable generation.

A dataset for a particular gamestart or galaxy replaces the root set rather than adding to it. Also inspect matchextension: restricting selection to the extension's space can exclude the base map.

Check the result#

Compare a new game and a copy of an older save separately. Record the entry ID, actual object count/location and expected replenishment route. For stations investigate -godlog; an empty report without a generation pass proves nothing. Updating an existing world may require a separate MD migration.

This is a source-based explanation and learning patch, not our own game acceptance test. Continue with the manifest, game starts and debugging.