Interface SectorAPI


public interface SectorAPI
Note: generics can not be used in scripts. They are used in this API purely to show the return/parameter types of functions more clearly.
Author:
Alex Mosolov Copyright 2012 Fractal Softworks, LLC
  • Method Details

    • getPersistentData

      Map<String,Object> getPersistentData()
      Can be used (including by classes that are not part of the savegame - i.e. ModPlugin or transient CampaignPlugin implementations) to save data between sessions.
      Returns:
    • registerPlugin

      void registerPlugin(CampaignPlugin plugin)
    • unregisterPlugin

      void unregisterPlugin(String pluginId)
    • getStarSystem

      StarSystemAPI getStarSystem(String name)
    • createStarSystem

      StarSystemAPI createStarSystem(String name)
    • getStarSystems

      List<StarSystemAPI> getStarSystems()
    • removeStarSystem

      void removeStarSystem(StarSystemAPI system)
    • setCurrentLocation

      void setCurrentLocation(LocationAPI location)
    • getHyperspace

      LocationAPI getHyperspace()
    • doHyperspaceTransition

      void doHyperspaceTransition(CampaignFleetAPI fleet, SectorEntityToken jumpLocation, JumpPointAPI.JumpDestination dest)
      Parameters:
      fleet -
      jumpLocation - can be null. If not, fleet will attempt to reach it before jumping. Failure will result in aborted jump.
      dest -
    • getClock

      CampaignClockAPI getClock()
    • getPlayerFleet

      CampaignFleetAPI getPlayerFleet()
    • getFaction

      FactionAPI getFaction(String factionId)
    • getAllFactions

      List<FactionAPI> getAllFactions()
    • getAllWeaponIds

      List<String> getAllWeaponIds()
    • getAllEmptyVariantIds

      List<String> getAllEmptyVariantIds()
    • getAllFighterWingIds

      List<String> getAllFighterWingIds()
    • getCampaignUI

      CampaignUIAPI getCampaignUI()
    • getEventManager

      CampaignEventManagerAPI getEventManager()
    • setPaused

      void setPaused(boolean paused)
    • isPaused

      boolean isPaused()
    • addScript

      void addScript(EveryFrameScript script)
    • removeScriptsOfClass

      void removeScriptsOfClass(Class c)
    • removeScript

      void removeScript(EveryFrameScript script)
    • addTransientScript

      void addTransientScript(EveryFrameScript script)
    • removeTransientScript

      void removeTransientScript(EveryFrameScript script)
    • getCurrentLocation

      LocationAPI getCurrentLocation()
    • getRespawnLocation

      LocationAPI getRespawnLocation()
    • setRespawnLocation

      void setRespawnLocation(LocationAPI respawnLocation)
    • getRespawnCoordinates

      org.lwjgl.util.vector.Vector2f getRespawnCoordinates()
    • getCharacterData

      CharacterDataAPI getCharacterData()
    • reportEventStage

      @Deprecated void reportEventStage(CampaignEventPlugin event, String stage, MessagePriority priority)
      Deprecated.
      Does nothing. Replaced with getIntelManager().
    • reportEventStage

      @Deprecated void reportEventStage(CampaignEventPlugin event, String stage, SectorEntityToken sendFrom, MessagePriority priority)
      Deprecated.
      Does nothing. Replaced with getIntelManager().
    • reportEventStage

      @Deprecated void reportEventStage(CampaignEventPlugin event, String stage, SectorEntityToken sendFrom, MessagePriority priority, OnMessageDeliveryScript onDelivery)
      Deprecated.
      Does nothing. Replaced with getIntelManager().
    • getRules

      RulesAPI getRules()
    • getLastPlayerBattleTimestamp

      long getLastPlayerBattleTimestamp()
    • isLastPlayerBattleWon

      boolean isLastPlayerBattleWon()
    • getMemory

      MemoryAPI getMemory()
      "global" memory.
      Returns:
    • getMemoryWithoutUpdate

      MemoryAPI getMemoryWithoutUpdate()
    • getIntel

      IntelDataAPI getIntel()
    • getEntityById

      SectorEntityToken getEntityById(String id)
      Will look for the entity in all LocationAPIs.
      Parameters:
      id -
      Returns:
    • getEntitiesWithTag

      List<SectorEntityToken> getEntitiesWithTag(String tag)
      Iterates through hyperspace and all star systems.
      Parameters:
      tag -
      Returns:
    • getEconomy

      EconomyAPI getEconomy()
    • addListener

      void addListener(CampaignEventListener listener)
    • addTransientListener

      void addTransientListener(CampaignEventListener listener)
    • addListenerWithTimeout

      void addListenerWithTimeout(CampaignEventListener listener, float daysToKeep)
    • removeListener

      void removeListener(CampaignEventListener listener)
    • getAllListeners

      List<CampaignEventListener> getAllListeners()
    • reportPlayerMarketTransaction

      void reportPlayerMarketTransaction(PlayerMarketTransaction transaction)
    • reportFleetDespawned

      void reportFleetDespawned(CampaignFleetAPI fleet, CampaignEventListener.FleetDespawnReason reason, Object param)
    • reportFleetJumped

      void reportFleetJumped(CampaignFleetAPI fleet, SectorEntityToken from, JumpPointAPI.JumpDestination to)
    • reportFleetReachedEntity

      void reportFleetReachedEntity(CampaignFleetAPI fleet, SectorEntityToken entity)
    • reportBattleOccurred

      void reportBattleOccurred(CampaignFleetAPI primaryWinner, BattleAPI battle)
      Called once per each autoresolve round of the battle. Also called after a player battle occurred. Fleets and their compositons snapshotted right before the autoresolve round.
      Parameters:
      battle -
      primaryWinner -
    • reportBattleFinished

      void reportBattleFinished(CampaignFleetAPI primaryWinner, BattleAPI battle)
      Called after an autoresolve round that finishes a battle, after reportBattleOccurred. Also called after a player battle occurred. Fleets and their compositons snapshotted right before the autoresolve round.
      Parameters:
      battle -
      primaryWinner -
    • adjustPlayerReputation

      ReputationActionResponsePlugin.ReputationAdjustmentResult adjustPlayerReputation(Object action, String factionId)
      Adjust the player's reputation with the specified faction, based on the action. This method will pick the highest-priority ReputationActionResponsePlugin and call its handlePlayerReputationAction() method with these parameters. See CoreCampaignPluginImpl.handlePlayerReputationAction() for an implementation example.
      Parameters:
      action -
      faction -
      Returns:
    • adjustPlayerReputation

      Adjust the player's reputation with the specified person, based on the action. This method will pick the highest-priority ReputationActionResponsePlugin and call its handlePlayerReputationAction() method with these parameters. See CoreCampaignPluginImpl.handlePlayerReputationAction() for an implementation example.
      Parameters:
      action -
      person -
      Returns:
    • addPing

      EveryFrameScript addPing(SectorEntityToken entity, String pingType)
      See data/campaign/pings.json for ping types.
      Parameters:
      entity -
      pingType -
    • reportShowInteractionDialog

      void reportShowInteractionDialog(InteractionDialogAPI dialog)
      Shouldn't have to call this as the relevant showInteractionDialog() methods already do.
      Parameters:
      dialog -
    • reportPlayerOpenedMarket

      void reportPlayerOpenedMarket(MarketAPI market)
      Player opened the core UI while interacting with an entity that has a market.
      Parameters:
      market -
    • reportPlayerReputationChange

      void reportPlayerReputationChange(String faction, float delta)
    • reportPlayerReputationChange

      void reportPlayerReputationChange(PersonAPI person, float delta)
    • reportPlayerEngagement

      void reportPlayerEngagement(EngagementResultAPI result)
    • isInFastAdvance

      boolean isInFastAdvance()
      true during the during-game-creation time passing.
      Returns:
    • getPlayerPerson

      PersonAPI getPlayerPerson()
    • reportPlayerOpenedMarketAndCargoUpdated

      void reportPlayerOpenedMarketAndCargoUpdated(MarketAPI market)
    • reportEncounterLootGenerated

      void reportEncounterLootGenerated(FleetEncounterContextPlugin plugin, CargoAPI loot)
    • reportPlayerClosedMarket

      void reportPlayerClosedMarket(MarketAPI market)
    • reportPlayerActivatedAbility

      void reportPlayerActivatedAbility(AbilityPlugin ability, Object param)
    • reportPlayerDeactivatedAbility

      void reportPlayerDeactivatedAbility(AbilityPlugin ability, Object param)
    • reportPlayerDumpedCargo

      void reportPlayerDumpedCargo(CargoAPI cargo)
    • getImportantPeople

      ImportantPeopleAPI getImportantPeople()
    • getPlayerFaction

      FactionAPI getPlayerFaction()
    • addPing

      EveryFrameScript addPing(SectorEntityToken entity, String pingType, Color colorOverride)
    • getViewport

      ViewportAPI getViewport()
    • getAllLocations

      List<LocationAPI> getAllLocations()
      All star systems and hyperspace.
      Returns:
    • getDifficulty

      String getDifficulty()
    • setDifficulty

      void setDifficulty(String difficulty)
    • isIronMode

      boolean isIronMode()
    • hasScript

      boolean hasScript(Class<?> clazz)
    • getPluginPicker

      PluginPickerAPI getPluginPicker()
    • getSeedString

      String getSeedString()
    • setSeedString

      void setSeedString(String seedString)
    • genUID

      String genUID()
    • getUIData

      PersistentUIDataAPI getUIData()
    • setInFastAdvance

      void setInFastAdvance(boolean isInNewGameAdvance)
    • isInNewGameAdvance

      boolean isInNewGameAdvance()
    • setInNewGameAdvance

      void setInNewGameAdvance(boolean isInNewGameAdvance)
    • setPlayerFleet

      void setPlayerFleet(CampaignFleetAPI playerFleet)
    • setLastPlayerBattleTimestamp

      void setLastPlayerBattleTimestamp(long lastPlayerBattleTimestamp)
    • setLastPlayerBattleWon

      void setLastPlayerBattleWon(boolean lastPlayerBattleWon)
    • reportPlayerDidNotTakeCargo

      void reportPlayerDidNotTakeCargo(CargoAPI cargo)
    • getScripts

      List<EveryFrameScript> getScripts()
    • getTransientScripts

      List<EveryFrameScript> getTransientScripts()
    • getGenericPlugins

      GenericPluginManagerAPI getGenericPlugins()
    • addPing

    • reportEconomyMonthEnd

      void reportEconomyMonthEnd()
    • reportEconomyTick

      void reportEconomyTick(int iterIndex)
    • getPlayerStats

      MutableCharacterStatsAPI getPlayerStats()
    • getAutofitVariants

      AutofitVariantsAPI getAutofitVariants()
    • getIntelManager

      IntelManagerAPI getIntelManager()
    • getListenerManager

      ListenerManagerAPI getListenerManager()
    • removeTransientScriptsOfClass

      void removeTransientScriptsOfClass(Class c)
    • getPlayerBattleSeed

      long getPlayerBattleSeed()
    • setPlayerBattleSeed

      void setPlayerBattleSeed(long nextPlayerBattleSeed)
    • createNascentGravityWell

      NascentGravityWellAPI createNascentGravityWell(SectorEntityToken target, float radius)
    • hasTransientScript

      boolean hasTransientScript(Class<?> clazz)
    • getCustomEntitiesWithTag

      List<SectorEntityToken> getCustomEntitiesWithTag(String tag)
    • doHyperspaceTransition

      void doHyperspaceTransition(CampaignFleetAPI fleetAPI, SectorEntityToken jumpLocation, JumpPointAPI.JumpDestination dest, float initialDelay)
    • layInCourseFor

      void layInCourseFor(SectorEntityToken target)
    • isFastForwardIteration

      boolean isFastForwardIteration()
    • setFastForwardIteration

      void setFastForwardIteration(boolean isFastForwardIteration)
    • getPlayerMemoryWithoutUpdate

      MemoryAPI getPlayerMemoryWithoutUpdate()
      Same as getCharacterData().getMemoryWithoutUpdate()
      Returns:
    • removeStarSystemNextFrame

      void removeStarSystemNextFrame(StarSystemAPI system)
      Useful for remove star systems from scripts etc where using removeStarSystem() would cause a ConcurrentModificationException.
      Parameters:
      system -
    • getMousedOverEntity

      SectorEntityToken getMousedOverEntity()
    • getCurrentlyOpenMarket

      MarketAPI getCurrentlyOpenMarket()
    • setCurrentlyOpenMarket

      void setCurrentlyOpenMarket(MarketAPI currentlyOpenMarket)
    • isInSectorGen

      boolean isInSectorGen()
    • setInSectorGen

      void setInSectorGen(boolean isInSectorGen)