Starsector API
Loading...
Searching...
No Matches
SectorAPI.java
Go to the documentation of this file.
1package com.fs.starfarer.api.campaign;
2
3import java.util.List;
4import java.util.Map;
5
6import java.awt.Color;
7
8import org.lwjgl.util.vector.Vector2f;
9
10import com.fs.starfarer.api.EveryFrameScript;
11import com.fs.starfarer.api.campaign.CampaignEventListener.FleetDespawnReason;
12import com.fs.starfarer.api.campaign.JumpPointAPI.JumpDestination;
13import com.fs.starfarer.api.campaign.ReputationActionResponsePlugin.ReputationAdjustmentResult;
14import com.fs.starfarer.api.campaign.comm.IntelManagerAPI;
15import com.fs.starfarer.api.campaign.comm.MessagePriority;
16import com.fs.starfarer.api.campaign.econ.EconomyAPI;
17import com.fs.starfarer.api.campaign.econ.MarketAPI;
18import com.fs.starfarer.api.campaign.events.CampaignEventManagerAPI;
19import com.fs.starfarer.api.campaign.events.CampaignEventPlugin;
20import com.fs.starfarer.api.campaign.listeners.ListenerManagerAPI;
21import com.fs.starfarer.api.campaign.rules.MemoryAPI;
22import com.fs.starfarer.api.campaign.rules.RulesAPI;
23import com.fs.starfarer.api.characters.AbilityPlugin;
24import com.fs.starfarer.api.characters.ImportantPeopleAPI;
25import com.fs.starfarer.api.characters.MutableCharacterStatsAPI;
26import com.fs.starfarer.api.characters.PersonAPI;
27import com.fs.starfarer.api.combat.EngagementResultAPI;
28import com.fs.starfarer.api.combat.ViewportAPI;
29import com.fs.starfarer.api.loading.CampaignPingSpec;
30
31
39@SuppressWarnings("unchecked")
40public interface SectorAPI {
46 Map<String, Object> getPersistentData();
47
49 void unregisterPlugin(String pluginId);
50
53 List<StarSystemAPI> getStarSystems();
56
58
64 void doHyperspaceTransition(CampaignFleetAPI fleet, SectorEntityToken jumpLocation, JumpDestination dest);
65
66
67 //CampaignFleetAPI createFleet(String factionId, String fleetTypeId);
69
71
72 FactionAPI getFaction(String factionId);
73 List<FactionAPI> getAllFactions();
74
75 List<String> getAllWeaponIds();
76 List<String> getAllEmptyVariantIds();
77 List<String> getAllFighterWingIds();
78
79
81
83
84 void setPaused(boolean paused);
85 boolean isPaused();
86
88 void removeScriptsOfClass(Class c);
90
93
94
96
98 void setRespawnLocation(LocationAPI respawnLocation);
100
101
103
104
108 @Deprecated void reportEventStage(CampaignEventPlugin event, String stage, MessagePriority priority);
109
113 @Deprecated void reportEventStage(CampaignEventPlugin event, String stage, SectorEntityToken sendFrom, MessagePriority priority);
114
118 @Deprecated void reportEventStage(CampaignEventPlugin event, String stage, SectorEntityToken sendFrom, MessagePriority priority, OnMessageDeliveryScript onDelivery);
119
121
122
125
132
134
135
142
143
149 List<SectorEntityToken> getEntitiesWithTag(String tag);
150
151
153
154
155
156
159 void addListenerWithTimeout(CampaignEventListener listener, float daysToKeep);
161 List<CampaignEventListener> getAllListeners();
162
164 void reportFleetDespawned(CampaignFleetAPI fleet, FleetDespawnReason reason, Object param);
165
166
167 // this gets called automatically when a fleet is added to a location for the first time
168 //void reportFleetSpawned(CampaignFleetAPI fleet);
169
170
171 void reportFleetJumped(CampaignFleetAPI fleet, SectorEntityToken from, JumpDestination to);
173
174
184
194
195
208 ReputationAdjustmentResult adjustPlayerReputation(Object action, String factionId);
209
222 ReputationAdjustmentResult adjustPlayerReputation(Object action, PersonAPI person);
223
224
231
232
238
239
245
246
247 void reportPlayerReputationChange(String faction, float delta);
248 void reportPlayerReputationChange(PersonAPI person, float delta);
249
251
257
259
260
264
265 void reportPlayerActivatedAbility(AbilityPlugin ability, Object param);
267
269
271
273
274 EveryFrameScript addPing(SectorEntityToken entity, String pingType, Color colorOverride);
275
277
282 List<LocationAPI> getAllLocations();
283
285 void setDifficulty(String difficulty);
286
287 boolean isIronMode();
288
289 boolean hasScript(Class<?> clazz);
290
292
294 void setSeedString(String seedString);
295
296 String genUID();
297
299
300 void setInFastAdvance(boolean isInNewGameAdvance);
302 void setInNewGameAdvance(boolean isInNewGameAdvance);
303
305
306 void setLastPlayerBattleTimestamp(long lastPlayerBattleTimestamp);
307
308 void setLastPlayerBattleWon(boolean lastPlayerBattleWon);
309
311
312 List<EveryFrameScript> getScripts();
313 List<EveryFrameScript> getTransientScripts();
314
316
318
320 void reportEconomyTick(int iterIndex);
321
323
325
327
329
331
333 void setPlayerBattleSeed(long nextPlayerBattleSeed);
334
336
337 boolean hasTransientScript(Class<?> clazz);
338
339 List<SectorEntityToken> getCustomEntitiesWithTag(String tag);
340
341 void doHyperspaceTransition(CampaignFleetAPI fleetAPI, SectorEntityToken jumpLocation, JumpDestination dest, float initialDelay);
342
344
346
347 void setFastForwardIteration(boolean isFastForwardIteration);
348
354
361
363
365 void setCurrentlyOpenMarket(MarketAPI currentlyOpenMarket);
366
367 boolean isInSectorGen();
368 void setInSectorGen(boolean isInSectorGen);
369
370}
371
372
373
374
375
376
Map< String, Object > getPersistentData()
void addScript(EveryFrameScript script)
void setCurrentLocation(LocationAPI location)
void setInFastAdvance(boolean isInNewGameAdvance)
boolean hasScript(Class<?> clazz)
void reportPlayerClosedMarket(MarketAPI market)
void addListenerWithTimeout(CampaignEventListener listener, float daysToKeep)
void reportPlayerEngagement(EngagementResultAPI result)
void setInSectorGen(boolean isInSectorGen)
List< StarSystemAPI > getStarSystems()
EveryFrameScript addPing(SectorEntityToken entity, String pingType, Color colorOverride)
ReputationAdjustmentResult adjustPlayerReputation(Object action, String factionId)
void setPlayerFleet(CampaignFleetAPI playerFleet)
List< SectorEntityToken > getEntitiesWithTag(String tag)
void addTransientListener(CampaignEventListener listener)
List< EveryFrameScript > getTransientScripts()
void setInNewGameAdvance(boolean isInNewGameAdvance)
void reportPlayerOpenedMarketAndCargoUpdated(MarketAPI market)
void reportEncounterLootGenerated(FleetEncounterContextPlugin plugin, CargoAPI loot)
void reportPlayerReputationChange(PersonAPI person, float delta)
void reportShowInteractionDialog(InteractionDialogAPI dialog)
EveryFrameScript addPing(SectorEntityToken entity, CampaignPingSpec custom)
void reportPlayerDeactivatedAbility(AbilityPlugin ability, Object param)
void doHyperspaceTransition(CampaignFleetAPI fleet, SectorEntityToken jumpLocation, JumpDestination dest)
void reportFleetDespawned(CampaignFleetAPI fleet, FleetDespawnReason reason, Object param)
EveryFrameScript addPing(SectorEntityToken entity, String pingType)
void addListener(CampaignEventListener listener)
List< CampaignEventListener > getAllListeners()
void reportFleetReachedEntity(CampaignFleetAPI fleet, SectorEntityToken entity)
void layInCourseFor(SectorEntityToken target)
void removeScript(EveryFrameScript script)
void reportEventStage(CampaignEventPlugin event, String stage, SectorEntityToken sendFrom, MessagePriority priority)
boolean hasTransientScript(Class<?> clazz)
void reportPlayerDidNotTakeCargo(CargoAPI cargo)
void setDifficulty(String difficulty)
void unregisterPlugin(String pluginId)
GenericPluginManagerAPI getGenericPlugins()
CampaignEventManagerAPI getEventManager()
void setSeedString(String seedString)
List< SectorEntityToken > getCustomEntitiesWithTag(String tag)
void setCurrentlyOpenMarket(MarketAPI currentlyOpenMarket)
StarSystemAPI createStarSystem(String name)
void reportEventStage(CampaignEventPlugin event, String stage, MessagePriority priority)
void reportBattleOccurred(CampaignFleetAPI primaryWinner, BattleAPI battle)
void registerPlugin(CampaignPlugin plugin)
void reportFleetJumped(CampaignFleetAPI fleet, SectorEntityToken from, JumpDestination to)
void reportPlayerMarketTransaction(PlayerMarketTransaction transaction)
List< EveryFrameScript > getScripts()
MutableCharacterStatsAPI getPlayerStats()
FactionAPI getFaction(String factionId)
void removeStarSystem(StarSystemAPI system)
ReputationAdjustmentResult adjustPlayerReputation(Object action, PersonAPI person)
void reportPlayerDumpedCargo(CargoAPI cargo)
StarSystemAPI getStarSystem(String name)
void setLastPlayerBattleWon(boolean lastPlayerBattleWon)
void reportPlayerOpenedMarket(MarketAPI market)
void doHyperspaceTransition(CampaignFleetAPI fleetAPI, SectorEntityToken jumpLocation, JumpDestination dest, float initialDelay)
void addTransientScript(EveryFrameScript script)
NascentGravityWellAPI createNascentGravityWell(SectorEntityToken target, float radius)
SectorEntityToken getEntityById(String id)
void removeTransientScript(EveryFrameScript script)
void setPlayerBattleSeed(long nextPlayerBattleSeed)
AutofitVariantsAPI getAutofitVariants()
ListenerManagerAPI getListenerManager()
void removeListener(CampaignEventListener listener)
void setFastForwardIteration(boolean isFastForwardIteration)
void setRespawnLocation(LocationAPI respawnLocation)
void removeStarSystemNextFrame(StarSystemAPI system)
void setLastPlayerBattleTimestamp(long lastPlayerBattleTimestamp)
List< LocationAPI > getAllLocations()
void reportPlayerReputationChange(String faction, float delta)
ImportantPeopleAPI getImportantPeople()
void reportPlayerActivatedAbility(AbilityPlugin ability, Object param)
void reportBattleFinished(CampaignFleetAPI primaryWinner, BattleAPI battle)
void reportEventStage(CampaignEventPlugin event, String stage, SectorEntityToken sendFrom, MessagePriority priority, OnMessageDeliveryScript onDelivery)