1package com.fs.starfarer.api;
4import java.io.IOException;
5import java.io.InputStream;
6import java.util.Collection;
9import org.json.JSONArray;
10import org.json.JSONException;
11import org.json.JSONObject;
12import org.lwjgl.util.vector.Vector2f;
14import com.fs.starfarer.api.campaign.CustomEntitySpecAPI;
15import com.fs.starfarer.api.campaign.CustomUIPanelPlugin;
16import com.fs.starfarer.api.campaign.FactionAPI;
17import com.fs.starfarer.api.campaign.FactionSpecAPI;
18import com.fs.starfarer.api.campaign.LocationAPI;
19import com.fs.starfarer.api.campaign.PlanetSpecAPI;
20import com.fs.starfarer.api.campaign.SpecialItemSpecAPI;
21import com.fs.starfarer.api.campaign.econ.CommoditySpecAPI;
22import com.fs.starfarer.api.campaign.econ.MarketAPI;
23import com.fs.starfarer.api.campaign.econ.SubmarketSpecAPI;
24import com.fs.starfarer.api.characters.MarketConditionSpecAPI;
25import com.fs.starfarer.api.characters.PersonAPI;
26import com.fs.starfarer.api.characters.SkillSpecAPI;
27import com.fs.starfarer.api.combat.CombatEntityAPI;
28import com.fs.starfarer.api.combat.CombatReadinessPlugin;
29import com.fs.starfarer.api.combat.ShipAIConfig;
30import com.fs.starfarer.api.combat.ShipAIPlugin;
31import com.fs.starfarer.api.combat.ShipAPI;
32import com.fs.starfarer.api.combat.ShipHullSpecAPI;
33import com.fs.starfarer.api.combat.ShipSystemSpecAPI;
34import com.fs.starfarer.api.combat.ShipVariantAPI;
35import com.fs.starfarer.api.combat.WeaponAPI.WeaponSize;
36import com.fs.starfarer.api.combat.WeaponAPI.WeaponType;
37import com.fs.starfarer.api.fleet.FleetMemberAPI;
38import com.fs.starfarer.api.graphics.SpriteAPI;
39import com.fs.starfarer.api.loading.AbilitySpecAPI;
40import com.fs.starfarer.api.loading.BarEventSpec;
41import com.fs.starfarer.api.loading.Description;
42import com.fs.starfarer.api.loading.Description.Type;
43import com.fs.starfarer.api.loading.EventSpecAPI;
44import com.fs.starfarer.api.loading.FighterWingSpecAPI;
45import com.fs.starfarer.api.loading.HullModSpecAPI;
46import com.fs.starfarer.api.loading.IndustrySpecAPI;
47import com.fs.starfarer.api.loading.PersonMissionSpec;
48import com.fs.starfarer.api.loading.RoleEntryAPI;
49import com.fs.starfarer.api.loading.TerrainSpecAPI;
50import com.fs.starfarer.api.loading.WeaponSlotAPI;
51import com.fs.starfarer.api.loading.WeaponSpecAPI;
52import com.fs.starfarer.api.plugins.LevelupPlugin;
53import com.fs.starfarer.api.ui.ButtonAPI;
54import com.fs.starfarer.api.ui.ButtonAPI.UICheckboxSize;
55import com.fs.starfarer.api.ui.CustomPanelAPI;
56import com.fs.starfarer.api.ui.LabelAPI;
57import com.fs.starfarer.api.ui.TextFieldAPI;
58import com.fs.starfarer.api.ui.TooltipMakerAPI;
59import com.fs.starfarer.api.util.ListMap;
139 String
loadText(String filename)
throws IOException;
147 JSONObject
loadJSON(String filename)
throws IOException, JSONException;
159 JSONArray
loadCSV(String filename)
throws IOException, JSONException;
270 JSONObject
loadJSON(String filename, String modId)
throws IOException, JSONException;
271 JSONArray
loadCSV(String filename, String modId)
throws IOException, JSONException;
272 String
loadText(String filename, String modId)
throws IOException, JSONException;
294 Object
getSpec(Class c, String
id,
boolean nullOnNotFound);
295 void putSpec(Class c, String
id, Object spec);
370 SpriteAPI
getSprite(String category, String
id,
boolean emptySpriteOnNotFound);
401 int max,
boolean withText,
boolean withSell,
boolean withBuy);
495 ButtonAPI
createCheckbox(String text, String font, Color checkColor, UICheckboxSize size);
497 CustomPanelAPI
createCustom(
float width,
float height, CustomUIPanelPlugin plugin);
501 WeaponSlotAPI
createWeaponSlot(String
id, WeaponType weaponType, WeaponSize slotSize, String slotTypeStr,
502 String nodeId, Vector2f nodePos,
float angle,
float arc);
516 JSONObject
loadJSON(String filename,
boolean withMods)
throws IOException, JSONException;
517 JSONArray
loadCSV(String filename,
boolean withMods)
throws IOException, JSONException;
WeaponSlotAPI createWeaponSlot(String id, WeaponType weaponType, WeaponSize slotSize, String slotTypeStr, String nodeId, Vector2f nodePos, float angle, float arc)
ButtonAPI createCheckbox(String text, String font, Color checkColor, UICheckboxSize size)
int getMaxSensorRangeHyper()
Color getBrightPlayerColor()
float getAngleInDegreesFast(Vector2f from, Vector2f to)
List< WeaponSpecAPI > getSystemWeaponSpecs()
void deleteTextFileFromCommon(String filename)
JSONArray getMergedSpreadsheetDataForMod(String idColumn, String path, String masterMod)
void putSpec(Class c, String id, Object spec)
JSONArray loadCSV(String filename)
int getMissionScore(String id)
JSONArray getJSONArray(String key)
ListMap< String > getHullIdToVariantListMap()
AbilitySpecAPI getAbilitySpec(String abilityId)
SpecialItemSpecAPI getSpecialItemSpec(String itemId)
float getSpeedPerBurnLevel()
int getIntFromArray(String key, int index)
Color getDarkPlayerColor()
void setEasySensorBonus(float easySensorBonus)
String getControlDescriptionForEnumName(String name)
LabelAPI createLabel(String text, String font)
SpriteAPI getSprite(String category, String key)
BarEventSpec getBarEventSpec(String id)
void loadTextureConvertBlackToAlpha(String filename)
void setBoolean(String key, Boolean value)
< T > Collection< T > getAllSpecs(Class< T > c)
int getMaxSensorRange(LocationAPI loc)
List< SubmarketSpecAPI > getAllSubmarketSpecs()
void writeTextFileToCommon(String filename, String data)
float getBaseTravelSpeed()
ModManagerAPI getModManager()
Description getDescription(String id, Type type)
float getTargetingRadius(Vector2f from, CombatEntityAPI target, boolean considerShield)
JSONObject loadJSON(String filename, boolean withMods)
void loadFont(String filename)
boolean isShowDamageFloaties()
List< String > getAllVariantIds()
List< BarEventSpec > getAllBarEventSpecs()
void setAutoTurnMode(boolean autoTurnMode)
String loadText(String filename)
JSONObject getJSONObject(String key)
String getSpriteName(String category, String id)
float getFloatFromArray(String key, int index)
FactionSpecAPI getFactionSpec(String id)
void unloadTexture(String filename)
List< ShipSystemSpecAPI > getAllShipSystemSpecs()
boolean isStrafeKeyAToggle()
void setDevMode(boolean devMode)
TerrainSpecAPI getTerrainSpec(String terrainId)
ShipVariantAPI getVariant(String variantId)
boolean isCampaignSensorsOn()
void addEntryForRole(String factionId, String role, String variantId, float weight)
List< IndustrySpecAPI > getAllIndustrySpecs()
SpriteAPI getSprite(String category, String id, boolean emptySpriteOnNotFound)
float computeStringWidth(String in, String font)
void profilerPrintResultsTree()
float getUnitsPerLightYear()
int getCodeFor(String key)
MarketConditionSpecAPI getMarketConditionSpec(String conditionId)
Object getSpec(Class c, String id, boolean nullOnNotFound)
CombatReadinessPlugin getCRPlugin()
Object getInstanceOfScript(String className)
boolean isEnableShipExplosionWhiteout()
GameState getCurrentState()
SkillSpecAPI getSkillSpec(String skillId)
TextFieldAPI createTextField(String text, String font)
String getVersionString()
List< String > getSortedSkillIds()
CustomEntitySpecAPI getCustomEntitySpec(String id)
float getBaseFleetSelectionRadius()
ShipHullSpecAPI getHullSpec(String hullId)
HullModSpecAPI getHullModSpec(String modId)
Object getPlugin(String id)
boolean doesVariantExist(String variantId)
IndustrySpecAPI getIndustrySpec(String industryId)
List< WeaponSpecAPI > getAllWeaponSpecs()
JSONObject getSettingsJSON()
String loadText(String filename, String modId)
List< HullModSpecAPI > getAllHullModSpecs()
String getString(String category, String id)
JSONObject loadJSON(String filename)
JSONObject getMergedJSON(String path)
InputStream openStream(String filename)
void addCommodityInfoToTooltip(TooltipMakerAPI tooltip, float initPad, CommoditySpecAPI spec, int max, boolean withText, boolean withSell, boolean withBuy)
float getSensorRangeMaxHyper()
int computeNumFighterBays(ShipVariantAPI variant)
JSONArray loadCSV(String filename, boolean withMods)
String getControlStringForAbilitySlot(int index)
Object getNewPluginInstance(String id)
boolean getBoolean(String key)
List< String > getSpriteKeys(String category)
EventSpecAPI getEventSpec(String eventId)
float getBonusXP(String key)
float getScreenWidthPixels()
Color getBasePlayerColor()
ShipVariantAPI createEmptyVariant(String hullVariantId, ShipHullSpecAPI hullSpec)
CommoditySpecAPI getCommoditySpec(String commodityId)
List< String > getSortedAbilityIds()
JSONObject loadJSON(String filename, String modId)
ShipAIPlugin pickShipAIPlugin(FleetMemberAPI member, ShipAPI ship)
ShipAIPlugin createDefaultShipAI(ShipAPI ship, ShipAIConfig config)
float getFleetSelectionRadiusPerUnitSize()
JSONArray getMergedSpreadsheetData(String idColumn, String path)
void setFloat(String key, Float value)
String getNextGreekLetter(Object context)
boolean fileExistsInCommon(String filename)
CustomPanelAPI createCustom(float width, float height, CustomUIPanelPlugin plugin)
boolean isGeneratingNewGame()
void removeEntryForRole(String factionId, String role, String variantId)
int getShippingCapacity(MarketAPI market, boolean inFaction)
ClassLoader getScriptClassLoader()
void profilerSetEnabled(boolean enabled)
float getFloat(String key)
FighterWingSpecAPI getFighterWingSpec(String wingId)
float getMaxArmorDamageReduction()
List< SpecialItemSpecAPI > getAllSpecialItemSpecs()
List< PlanetSpecAPI > getAllPlanetSpecs()
void setEnableShipExplosionWhiteout(boolean enableShipExplosionWhiteout)
JSONObject getMergedJSONForMod(String path, String masterMod)
void forceMipmapsFor(String filename, boolean forceMipmaps)
float getMinArmorFraction()
List< CommoditySpecAPI > getAllCommoditySpecs()
WeaponSpecAPI getWeaponSpec(String weaponId)
JSONArray loadCSV(String filename, String modId)
ShipSystemSpecAPI getShipSystemSpec(String id)
List< RoleEntryAPI > getDefaultEntriesForRole(String role)
List< ShipHullSpecAPI > getAllShipHullSpecs()
SpriteAPI getSprite(String filename)
float getSensorRangeMax()
void addDefaultEntryForRole(String role, String variantId, float weight)
FactionAPI createBaseFaction(String factionId)
String getString(String key)
float getScreenHeightPixels()
String readTextFileFromCommon(String filename)
ButtonAPI createCheckbox(String text, UICheckboxSize size)
PersonMissionSpec getMissionSpec(String id)
boolean isInCampaignState()
List< RoleEntryAPI > getEntriesForRole(String factionId, String role)
String getNextCoolGreekLetter(Object context)
List< String > getSkillIds()
float getMaxFleetSelectionRadius()
List< MarketConditionSpecAPI > getAllMarketConditionSpecs()
void loadTexture(String filename)
String getControlStringForEnumName(String name)
List< String > getAptitudeIds()
void profilerBegin(String id)
List< PersonMissionSpec > getAllMissionSpecs()
List< FighterWingSpecAPI > getAllFighterWingSpecs()
float getAngleInDegreesFast(Vector2f v)
Color getColor(String id)
void removeDefaultEntryForRole(String role, String variantId)
SpriteAPI getSprite(SpriteId id)
LevelupPlugin getLevelupPlugin()
float getScreenScaleMult()
Color getDesignTypeColor(String designType)