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 com.fs.starfarer.api.characters.MutableCharacterStatsAPI;
11import com.fs.starfarer.api.combat.ShipHullSpecAPI.ShipTypeHints;
12import com.fs.starfarer.api.loading.FighterWingSpecAPI;
13import com.fs.starfarer.api.loading.VariantSource;
14import com.fs.starfarer.api.loading.WeaponGroupSpec;
15import com.fs.starfarer.api.loading.WeaponSlotAPI;
16import com.fs.starfarer.api.loading.WeaponSpecAPI;
17
18public interface ShipVariantAPI {
20
22
25 Collection<String> getHullMods();
26
31
32 EnumSet<ShipTypeHints> getHints();
33
34 void addMod(String modId);
35 void removeMod(String modId);
36
37 void addWeapon(String slotId, String weaponId);
38
41
47 String getWeaponId(String slotId);
48
49 void setNumFluxCapacitors(int capacitors);
50 void setNumFluxVents(int vents);
51 void setSource(VariantSource source);
52 void clearSlot(String slotId);
53
54
55 WeaponSpecAPI getWeaponSpec(String slotId);
56 Collection<String> getFittedWeaponSlots();
57
58
62 WeaponGroupSpec getGroup(int index);
63
64 int computeOPCost(MutableCharacterStatsAPI stats);
65 int computeWeaponOPCost(MutableCharacterStatsAPI stats);
67 int computeHullModOPCost(MutableCharacterStatsAPI stats);
68
69 VariantSource getSource();
70 boolean isStockVariant();
72
73 void setHullVariantId(String hullVariantId);
75
76 List<WeaponGroupSpec> getWeaponGroups();
77 void addWeaponGroup(WeaponGroupSpec group);
78
79 void setVariantDisplayName(String variantName);
80
81 ShipAPI.HullSize getHullSize();
82
83 boolean isFighter();
84
86
87 boolean hasHullMod(String id);
88
89 WeaponSlotAPI getSlot(String slotId);
90
91 boolean isCombat();
92 boolean isStation();
93
94 String getWingId(int index);
95 void setWingId(int index, String wingId);
96 List<String> getWings();
97 List<String> getLaunchBaysSlotIds();
98
99 List<String> getFittedWings();
100
102
103 Set<String> getPermaMods();
105 void removePermaMod(String modId);
106 void addPermaMod(String modId);
107 void addPermaMod(String modId, boolean isSMod);
108
109 boolean isCarrier();
110
111 List<String> getSortedMods();
112
113 Set<String> getSuppressedMods();
114 void addSuppressedMod(String modId);
115 void removeSuppressedMod(String modId);
117
118 boolean isGoalVariant();
119 void setGoalVariant(boolean goalVariant);
120
121 Collection<String> getNonBuiltInHullmods();
122
123 FighterWingSpecAPI getWing(int index);
124
125 int getUnusedOP(MutableCharacterStatsAPI stats);
126
127 boolean isCivilian();
128
129 List<String> getModuleSlots();
130
132
133 boolean isLiner();
134 boolean isFreighter();
135 boolean isTanker();
136
141 boolean isDHull();
142
143 Map<String, String> getStationModules();
144
145 List<String> getNonBuiltInWings();
146
147 boolean hasTag(String tag);
148 void addTag(String tag);
149 void removeTag(String tag);
150 Collection<String> getTags();
151 void clearTags();
152
156 void clear();
157
158
164
168 void setOriginalVariant(String targetVariant);
169
171 void setModuleVariant(String slotId, ShipVariantAPI variant);
172
173 boolean isTransport();
175
176 LinkedHashSet<String> getSMods();
177
179
181
182 boolean hasDMods();
183
184 LinkedHashSet<String> getSModdedBuiltIns();
185
187 void setMayAutoAssignWeapons(boolean mayAutoAssign);
188
189
190}
191
192
193
194
195
196
197
198
199
200
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)