Package com.fs.starfarer.api.campaign
Class BaseCampaignPlugin
java.lang.Object
com.fs.starfarer.api.campaign.BaseCampaignPlugin
- All Implemented Interfaces:
CampaignPlugin
- Direct Known Subclasses:
CoreCampaignPluginImpl
Extend this class instead of implementing CampaignPlugin for convenience if you do not
intend to implement all the methods. This will also help avoid your mod breaking
when new methods are added to CampaignPlugin, since default implemenations will be
added here and your implementation will inherit them.
- Author:
- Alex Mosolov Copyright 2013 Fractal Softworks, LLC
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.fs.starfarer.api.campaign.CampaignPlugin
CampaignPlugin.PickPriority
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetId()
Used for unregistering plugins, should be unique.boolean
If the plugin is transient, its data won't be included in save games and it needs to be re-added to the game every time (in ModPlugin.onGameLoad()).pickAbilityAI
(AbilityPlugin ability, ModularFleetAIAPI ai) AI for campaign abilities - transponder, go dark, emergency burn, etc.pickAICoreAdminPlugin
(String commodityId) pickAICoreOfficerPlugin
(String commodityId) See ModularFleetAIAPI documentation for details.pickAutofitPlugin
(FleetMemberAPI member) member will be null when picking plugin to assign idle officers from fleet screen.Returns a plugin used to quickly resolve a battle outcome.pickBattleCreationPlugin
(SectorEntityToken opponent) Returns a plugin that is used to generate the battlefield.pickFleetInflater
(CampaignFleetAPI fleet, Object params) pickImmigrationPlugin
(MarketAPI market) pickInteractionDialogPlugin
(SectorEntityToken interactionTarget) Returns the dialog plugin to be used to drive the interaction dialog for the particular entity.pickInteractionDialogPlugin
(Object param, SectorEntityToken interactionTarget) Used for: - interaction dialogs created by clicking on a comm message action icon Return null if this CampaignPlugin implementation doesn't provide a dialog for the above use case(s).See ModularFleetAIAPI documentation for details.pickReputationActionResponsePlugin
(Object action, PersonAPI person) pickReputationActionResponsePlugin
(Object action, String factionId) See ModularFleetAIAPI documentation for details.See ModularFleetAIAPI documentation for details.void
updateEntityFacts
(SectorEntityToken entity, MemoryAPI memory) Update the "this is known by the entity about the world" facts.void
updateFactionFacts
(FactionAPI faction, MemoryAPI memory) void
updateGlobalFacts
(MemoryAPI memory) void
updateMarketFacts
(MarketAPI market, MemoryAPI memory) void
updatePersonFacts
(PersonAPI person, MemoryAPI memory) void
updatePlayerFacts
(MemoryAPI memory)
-
Constructor Details
-
BaseCampaignPlugin
public BaseCampaignPlugin()
-
-
Method Details
-
getId
Description copied from interface:CampaignPlugin
Used for unregistering plugins, should be unique. Can be null, but shouldn't. If not null, the game will ensure that only one copy of the plugin can be registered - new registrations will override prior ones.- Specified by:
getId
in interfaceCampaignPlugin
- Returns:
-
isTransient
public boolean isTransient()Description copied from interface:CampaignPlugin
If the plugin is transient, its data won't be included in save games and it needs to be re-added to the game every time (in ModPlugin.onGameLoad()). If a plugin is not transient, its data is saved and it can be added in ModPlugin.onNewGame(). Plugins should be transient unless they need to save data, to improve the ability to add/remove mods from an existing game.- Specified by:
isTransient
in interfaceCampaignPlugin
- Returns:
-
pickBattleCreationPlugin
Description copied from interface:CampaignPlugin
Returns a plugin that is used to generate the battlefield. Mods could use this to create a custom battlefield for a special opponent, for example, without having to override the core BattleCreationPlugin implementation. Return null if this CampaignPlugin implementation doesn't provide one.- Specified by:
pickBattleCreationPlugin
in interfaceCampaignPlugin
- Returns:
-
pickInteractionDialogPlugin
public PluginPick<InteractionDialogPlugin> pickInteractionDialogPlugin(SectorEntityToken interactionTarget) Description copied from interface:CampaignPlugin
Returns the dialog plugin to be used to drive the interaction dialog for the particular entity. Return null if this CampaignPlugin implementation doesn't provide one.- Specified by:
pickInteractionDialogPlugin
in interfaceCampaignPlugin
- Returns:
-
pickInteractionDialogPlugin
public PluginPick<InteractionDialogPlugin> pickInteractionDialogPlugin(Object param, SectorEntityToken interactionTarget) Description copied from interface:CampaignPlugin
Used for: - interaction dialogs created by clicking on a comm message action icon Return null if this CampaignPlugin implementation doesn't provide a dialog for the above use case(s).- Specified by:
pickInteractionDialogPlugin
in interfaceCampaignPlugin
- Returns:
-
pickBattleAutoresolverPlugin
Description copied from interface:CampaignPlugin
Returns a plugin used to quickly resolve a battle outcome. Return null if this CampaignPlugin implementation doesn't provide one.- Specified by:
pickBattleAutoresolverPlugin
in interfaceCampaignPlugin
- Returns:
-
pickReputationActionResponsePlugin
public PluginPick<ReputationActionResponsePlugin> pickReputationActionResponsePlugin(Object action, String factionId) - Specified by:
pickReputationActionResponsePlugin
in interfaceCampaignPlugin
-
updateEntityFacts
Description copied from interface:CampaignPlugin
Update the "this is known by the entity about the world" facts. Any variables set here should have an expiration time of 0, since this method will be called every time the getMemory() method is called. Having facts not expire would clutter up the memory. Mod-added facts should have their variable names use a mod-specific prefix to avoid conflicts.- Specified by:
updateEntityFacts
in interfaceCampaignPlugin
-
updateFactionFacts
- Specified by:
updateFactionFacts
in interfaceCampaignPlugin
-
updateGlobalFacts
- Specified by:
updateGlobalFacts
in interfaceCampaignPlugin
-
updatePersonFacts
- Specified by:
updatePersonFacts
in interfaceCampaignPlugin
-
updatePlayerFacts
- Specified by:
updatePlayerFacts
in interfaceCampaignPlugin
-
updateMarketFacts
- Specified by:
updateMarketFacts
in interfaceCampaignPlugin
-
pickReputationActionResponsePlugin
public PluginPick<ReputationActionResponsePlugin> pickReputationActionResponsePlugin(Object action, PersonAPI person) - Specified by:
pickReputationActionResponsePlugin
in interfaceCampaignPlugin
-
pickAbilityAI
Description copied from interface:CampaignPlugin
AI for campaign abilities - transponder, go dark, emergency burn, etc.- Specified by:
pickAbilityAI
in interfaceCampaignPlugin
- Returns:
-
pickAssignmentAIModule
public PluginPick<AssignmentModulePlugin> pickAssignmentAIModule(CampaignFleetAPI fleet, ModularFleetAIAPI ai) Description copied from interface:CampaignPlugin
See ModularFleetAIAPI documentation for details.- Specified by:
pickAssignmentAIModule
in interfaceCampaignPlugin
- Returns:
-
pickStrategicAIModule
public PluginPick<StrategicModulePlugin> pickStrategicAIModule(CampaignFleetAPI fleet, ModularFleetAIAPI ai) Description copied from interface:CampaignPlugin
See ModularFleetAIAPI documentation for details.- Specified by:
pickStrategicAIModule
in interfaceCampaignPlugin
- Returns:
-
pickTacticalAIModule
public PluginPick<TacticalModulePlugin> pickTacticalAIModule(CampaignFleetAPI fleet, ModularFleetAIAPI ai) Description copied from interface:CampaignPlugin
See ModularFleetAIAPI documentation for details.- Specified by:
pickTacticalAIModule
in interfaceCampaignPlugin
- Returns:
-
pickStubConverter
- Specified by:
pickStubConverter
in interfaceCampaignPlugin
-
pickStubConverter
- Specified by:
pickStubConverter
in interfaceCampaignPlugin
-
pickAutofitPlugin
Description copied from interface:CampaignPlugin
member will be null when picking plugin to assign idle officers from fleet screen. Only used for autofit in the refit screen. For NPC fleets, see: DefaultFleetInflater.- Specified by:
pickAutofitPlugin
in interfaceCampaignPlugin
- Returns:
-
pickRespawnPlugin
- Specified by:
pickRespawnPlugin
in interfaceCampaignPlugin
-
pickImmigrationPlugin
- Specified by:
pickImmigrationPlugin
in interfaceCampaignPlugin
-
pickAICoreAdminPlugin
- Specified by:
pickAICoreAdminPlugin
in interfaceCampaignPlugin
-
pickFleetInflater
- Specified by:
pickFleetInflater
in interfaceCampaignPlugin
- Parameters:
fleet
-params
-
-
pickAICoreOfficerPlugin
- Specified by:
pickAICoreOfficerPlugin
in interfaceCampaignPlugin
-