Starsector API
Loading...
Searching...
No Matches
ShipVariantAPI.java
Go to the documentation of this file.
1package com.fs.starfarer.api.combat;
2
3import java.util.Collection;
4import java.util.EnumSet;
5import java.util.LinkedHashSet;
6import java.util.List;
7import java.util.Map;
8import java.util.Set;
9
10import org.json.JSONException;
11import org.json.JSONObject;
12
13import com.fs.starfarer.api.characters.MutableCharacterStatsAPI;
14import com.fs.starfarer.api.combat.ShipHullSpecAPI.ShipTypeHints;
15import com.fs.starfarer.api.loading.FighterWingSpecAPI;
16import com.fs.starfarer.api.loading.VariantSource;
17import com.fs.starfarer.api.loading.WeaponGroupSpec;
18import com.fs.starfarer.api.loading.WeaponSlotAPI;
19import com.fs.starfarer.api.loading.WeaponSpecAPI;
20
21public interface ShipVariantAPI {
23
25
28 Collection<String> getHullMods();
29
34
35 EnumSet<ShipTypeHints> getHints();
36
37 void addMod(String modId);
38 void removeMod(String modId);
39
40 void addWeapon(String slotId, String weaponId);
41
44
50 String getWeaponId(String slotId);
51
52 void setNumFluxCapacitors(int capacitors);
53 void setNumFluxVents(int vents);
55 void clearSlot(String slotId);
56
57
59 Collection<String> getFittedWeaponSlots();
60
61
66
71
73 boolean isStockVariant();
75
76 void setHullVariantId(String hullVariantId);
78
79 List<WeaponGroupSpec> getWeaponGroups();
81
82 void setVariantDisplayName(String variantName);
83
84 ShipAPI.HullSize getHullSize();
85
86 boolean isFighter();
87
89
90 boolean hasHullMod(String id);
91
92 WeaponSlotAPI getSlot(String slotId);
93
94 boolean isCombat();
95 boolean isStation();
96
97 String getWingId(int index);
98 void setWingId(int index, String wingId);
99 List<String> getWings();
100 List<String> getLaunchBaysSlotIds();
101
102 List<String> getFittedWings();
103
105
106 Set<String> getPermaMods();
108 void removePermaMod(String modId);
109 void addPermaMod(String modId);
110 void addPermaMod(String modId, boolean isSMod);
111
112 boolean isCarrier();
113
114 List<String> getSortedMods();
115
116 Set<String> getSuppressedMods();
117 void addSuppressedMod(String modId);
118 void removeSuppressedMod(String modId);
120
121 boolean isGoalVariant();
122 void setGoalVariant(boolean goalVariant);
123
124 Collection<String> getNonBuiltInHullmods();
125
127
129
130 boolean isCivilian();
131
132 List<String> getModuleSlots();
133
135
136 boolean isLiner();
137 boolean isFreighter();
138 boolean isTanker();
139
144 boolean isDHull();
145
146 Map<String, String> getStationModules();
147
148 List<String> getNonBuiltInWings();
149
150 boolean hasTag(String tag);
151 void addTag(String tag);
152 void removeTag(String tag);
153 Collection<String> getTags();
154 void clearTags();
155
159 void clear();
160
161
167
171 void setOriginalVariant(String targetVariant);
172
174 void setModuleVariant(String slotId, ShipVariantAPI variant);
175
176 boolean isTransport();
178
179 LinkedHashSet<String> getSMods();
180
182
184
185 boolean hasDMods();
186
187 LinkedHashSet<String> getSModdedBuiltIns();
188
190 void setMayAutoAssignWeapons(boolean mayAutoAssign);
191
193
194 JSONObject toJSONObject() throws JSONException;
195
196
197}
198
199
200
201
202
203
204
205
206
207
void setVariantDisplayName(String variantName)
void setHullVariantId(String hullVariantId)
int computeOPCost(MutableCharacterStatsAPI stats)
LinkedHashSet< String > getSMods()
Map< String, String > getStationModules()
int computeHullModOPCost(MutableCharacterStatsAPI stats)
void addWeapon(String slotId, String weaponId)
FighterWingSpecAPI getWing(int index)
void addPermaMod(String modId, boolean isSMod)
void setWingId(int index, String wingId)
ShipVariantAPI getModuleVariant(String slotId)
void setOriginalVariant(String targetVariant)
Collection< String > getFittedWeaponSlots()
Collection< String > getNonBuiltInHullmods()
int computeWeaponOPCost(MutableCharacterStatsAPI stats)
void setGoalVariant(boolean goalVariant)
void setModuleVariant(String slotId, ShipVariantAPI variant)
LinkedHashSet< String > getSModdedBuiltIns()
void setSource(VariantSource source)
void setHullSpecAPI(ShipHullSpecAPI hullSpec)
void setMayAutoAssignWeapons(boolean mayAutoAssign)
int getUnusedOP(MutableCharacterStatsAPI stats)
WeaponGroupSpec getGroup(int index)
EnumSet< ShipTypeHints > getHints()
WeaponSlotAPI getSlot(String slotId)
WeaponSpecAPI getWeaponSpec(String slotId)
List< WeaponGroupSpec > getWeaponGroups()
void addWeaponGroup(WeaponGroupSpec group)