public class BaseSubmarketPlugin extends java.lang.Object implements SubmarketPlugin
| Modifier and Type | Class and Description |
|---|---|
static class |
BaseSubmarketPlugin.ShipSalesData |
SubmarketPlugin.DialogOption, SubmarketPlugin.OnClickAction, SubmarketPlugin.PlayerEconomyImpactMode, SubmarketPlugin.TransferAction| Modifier and Type | Field and Description |
|---|---|
protected CargoAPI |
cargo |
protected java.util.Random |
itemGenRandom |
protected MarketAPI |
market |
protected float |
minSWUpdateInterval |
protected float |
sinceLastCargoUpdate |
protected float |
sinceSWUpdate |
protected SubmarketAPI |
submarket |
static float |
TRADE_IMPACT_DAYS |
| Constructor and Description |
|---|
BaseSubmarketPlugin() |
| Modifier and Type | Method and Description |
|---|---|
void |
addAllCargo(CargoAPI otherCargo) |
void |
addAndRemoveStockpiledResources(CommodityOnMarketAPI com,
float amount,
boolean withShortageCountering,
boolean withDecreaseToLimit,
boolean withCargoUpdate) |
void |
addAndRemoveStockpiledResources(float amount,
boolean withShortageCountering,
boolean withDecreaseToLimit,
boolean withCargoUpdate) |
protected void |
addFighters(int min,
int max,
int maxTier,
java.lang.String factionId) |
protected void |
addFighters(int min,
int max,
int maxTier,
WeightedRandomPicker<java.lang.String> factionPicker) |
protected void |
addHullMods(int maxTier,
int num) |
protected void |
addHullMods(int maxTier,
int num,
java.lang.String factionId) |
protected FleetMemberAPI |
addShip(java.lang.String variantOrWingId,
boolean withDmods,
float quality) |
void |
addShips(java.lang.String factionId,
float combat,
float freighter,
float tanker,
float transport,
float liner,
float utility,
java.lang.Float qualityOverride,
float qualityMod,
FactionAPI.ShipPickMode modeOverride,
FactionDoctrineAPI doctrineOverride) |
void |
addShips(java.lang.String factionId,
float combat,
float freighter,
float tanker,
float transport,
float liner,
float utility,
java.lang.Float qualityOverride,
float qualityMod,
FactionAPI.ShipPickMode modeOverride,
FactionDoctrineAPI doctrineOverride,
int maxShipSize) |
protected void |
addWeapons(int min,
int max,
int maxTier,
java.lang.String factionId) |
protected void |
addWeapons(int min,
int max,
int maxTier,
java.lang.String factionId,
boolean withCategories) |
protected void |
addWeapons(int min,
int max,
int maxTier,
WeightedRandomPicker<java.lang.String> factionPicker) |
protected void |
addWeapons(int min,
int max,
int maxTier,
WeightedRandomPicker<java.lang.String> factionPicker,
boolean withCategories) |
void |
advance(float amount) |
protected boolean |
cargoAlreadyHasMod(java.lang.String id) |
void |
createTooltip(CoreUIAPI ui,
TooltipMakerAPI tooltip,
boolean expanded) |
protected void |
createTooltipAfterDescription(TooltipMakerAPI tooltip,
boolean expanded) |
protected boolean |
doShortageCountering(CommodityOnMarketAPI com,
float amount,
boolean withShortageCountering) |
java.lang.String |
getBuyVerb() |
CargoAPI |
getCargo() |
CargoAPI |
getCargoNullOk() |
SubmarketPlugin.DialogOption[] |
getDialogOptions(CoreUIAPI ui) |
java.lang.String |
getDialogText(CoreUIAPI ui) |
Highlights |
getDialogTextHighlights(CoreUIAPI ui) |
java.lang.String |
getIllegalTransferText(CargoStackAPI stack,
SubmarketPlugin.TransferAction action) |
java.lang.String |
getIllegalTransferText(FleetMemberAPI member,
SubmarketPlugin.TransferAction action) |
Highlights |
getIllegalTransferTextHighlights(CargoStackAPI stack,
SubmarketPlugin.TransferAction action) |
Highlights |
getIllegalTransferTextHighlights(FleetMemberAPI member,
SubmarketPlugin.TransferAction action) |
MarketAPI |
getMarket() |
float |
getMinSWUpdateInterval() |
java.lang.String |
getName() |
SubmarketPlugin.OnClickAction |
getOnClickAction(CoreUIAPI ui) |
SubmarketPlugin.PlayerEconomyImpactMode |
getPlayerEconomyImpactMode() |
float |
getPlayerTradeImpactMult() |
java.lang.String |
getSellVerb() |
float |
getSinceLastCargoUpdate() |
float |
getSinceSWUpdate() |
int |
getStockpileLimit(CommodityOnMarketAPI com) |
float |
getStockpilingAddRateMult(CommodityOnMarketAPI com) |
SubmarketAPI |
getSubmarket() |
float |
getTariff()
Fraction of value that gets used as tariff.
|
java.lang.String |
getTariffTextOverride() |
java.lang.String |
getTariffValueOverride() |
java.lang.String |
getTooltipAppendix(CoreUIAPI ui) |
Highlights |
getTooltipAppendixHighlights(CoreUIAPI ui) |
float |
getTooltipWidth() |
java.lang.String |
getTotalTextOverride() |
java.lang.String |
getTotalValueOverride() |
boolean |
hasCustomTooltip() |
void |
init(SubmarketAPI submarket) |
boolean |
isBlackMarket() |
boolean |
isEnabled(CoreUIAPI ui) |
boolean |
isFreeTransfer() |
boolean |
isHidden() |
boolean |
isIllegalOnSubmarket(CargoStackAPI stack,
SubmarketPlugin.TransferAction action) |
boolean |
isIllegalOnSubmarket(FleetMemberAPI member,
SubmarketPlugin.TransferAction action) |
boolean |
isIllegalOnSubmarket(java.lang.String commodityId,
SubmarketPlugin.TransferAction action) |
boolean |
isMilitaryMarket() |
boolean |
isOpenMarket() |
boolean |
isParticipatesInEconomy()
Whether transactions with this submarket affect the market's supply/demand and
result in reputation changes for the player.
|
boolean |
isTooltipExpandable() |
boolean |
okToUpdateShipsAndWeapons() |
protected void |
pickAndAddWeapons(WeightedRandomPicker<WeaponSpecAPI> picker) |
protected void |
pruneShips(float mult) |
protected void |
pruneWeapons(float keepFraction) |
protected java.lang.Object |
readResolve() |
protected boolean |
removeModFromCargo(java.lang.String id) |
void |
reportPlayerMarketTransaction(PlayerMarketTransaction transaction) |
void |
setCargo(CargoAPI cargo) |
void |
setMinSWUpdateInterval(float minCargoUpdateInterval) |
void |
setSinceLastCargoUpdate(float sinceLastCargoUpdate) |
void |
setSinceSWUpdate(float sinceSWUpdate) |
boolean |
shouldHaveCommodity(CommodityOnMarketAPI com) |
boolean |
showInCargoScreen() |
boolean |
showInFleetScreen() |
void |
updateCargoPrePlayerInteraction() |
public static float TRADE_IMPACT_DAYS
protected SubmarketAPI submarket
protected float minSWUpdateInterval
protected float sinceSWUpdate
protected float sinceLastCargoUpdate
protected java.util.Random itemGenRandom
public BaseSubmarketPlugin()
public void init(SubmarketAPI submarket)
init in interface SubmarketPluginprotected java.lang.Object readResolve()
public java.lang.String getName()
getName in interface SubmarketPluginpublic CargoAPI getCargo()
getCargo in interface SubmarketPluginpublic CargoAPI getCargoNullOk()
getCargoNullOk in interface SubmarketPluginpublic void updateCargoPrePlayerInteraction()
updateCargoPrePlayerInteraction in interface SubmarketPluginpublic void advance(float amount)
advance in interface SubmarketPluginpublic boolean okToUpdateShipsAndWeapons()
okToUpdateShipsAndWeapons in interface SubmarketPluginpublic void addAllCargo(CargoAPI otherCargo)
addAllCargo in interface SubmarketPluginpublic float getTariff()
SubmarketPlugingetTariff in interface SubmarketPluginpublic java.lang.String getBuyVerb()
getBuyVerb in interface SubmarketPluginpublic java.lang.String getSellVerb()
getSellVerb in interface SubmarketPluginpublic boolean isFreeTransfer()
isFreeTransfer in interface SubmarketPluginpublic boolean isEnabled(CoreUIAPI ui)
isEnabled in interface SubmarketPluginpublic SubmarketPlugin.OnClickAction getOnClickAction(CoreUIAPI ui)
getOnClickAction in interface SubmarketPluginpublic java.lang.String getDialogText(CoreUIAPI ui)
getDialogText in interface SubmarketPluginpublic Highlights getDialogTextHighlights(CoreUIAPI ui)
getDialogTextHighlights in interface SubmarketPluginpublic SubmarketPlugin.DialogOption[] getDialogOptions(CoreUIAPI ui)
getDialogOptions in interface SubmarketPluginpublic java.lang.String getTooltipAppendix(CoreUIAPI ui)
getTooltipAppendix in interface SubmarketPluginpublic Highlights getTooltipAppendixHighlights(CoreUIAPI ui)
getTooltipAppendixHighlights in interface SubmarketPluginpublic SubmarketPlugin.PlayerEconomyImpactMode getPlayerEconomyImpactMode()
getPlayerEconomyImpactMode in interface SubmarketPluginpublic float getPlayerTradeImpactMult()
getPlayerTradeImpactMult in interface SubmarketPluginpublic void reportPlayerMarketTransaction(PlayerMarketTransaction transaction)
reportPlayerMarketTransaction in interface SubmarketPluginpublic boolean isMilitaryMarket()
isMilitaryMarket in interface SubmarketPluginpublic boolean isBlackMarket()
isBlackMarket in interface SubmarketPluginpublic boolean isOpenMarket()
isOpenMarket in interface SubmarketPluginpublic boolean isParticipatesInEconomy()
SubmarketPluginisParticipatesInEconomy in interface SubmarketPluginpublic boolean isIllegalOnSubmarket(java.lang.String commodityId, SubmarketPlugin.TransferAction action)
isIllegalOnSubmarket in interface SubmarketPluginpublic boolean isIllegalOnSubmarket(CargoStackAPI stack, SubmarketPlugin.TransferAction action)
isIllegalOnSubmarket in interface SubmarketPluginpublic java.lang.String getIllegalTransferText(CargoStackAPI stack, SubmarketPlugin.TransferAction action)
getIllegalTransferText in interface SubmarketPluginpublic boolean isIllegalOnSubmarket(FleetMemberAPI member, SubmarketPlugin.TransferAction action)
isIllegalOnSubmarket in interface SubmarketPluginpublic java.lang.String getIllegalTransferText(FleetMemberAPI member, SubmarketPlugin.TransferAction action)
getIllegalTransferText in interface SubmarketPluginprotected void addFighters(int min, int max, int maxTier, WeightedRandomPicker<java.lang.String> factionPicker)
protected void addWeapons(int min, int max, int maxTier, java.lang.String factionId)
protected void addWeapons(int min, int max, int maxTier, java.lang.String factionId, boolean withCategories)
protected void addWeapons(int min, int max, int maxTier, WeightedRandomPicker<java.lang.String> factionPicker)
protected void addWeapons(int min, int max, int maxTier, WeightedRandomPicker<java.lang.String> factionPicker, boolean withCategories)
protected void pickAndAddWeapons(WeightedRandomPicker<WeaponSpecAPI> picker)
protected void addFighters(int min, int max, int maxTier, java.lang.String factionId)
protected void pruneWeapons(float keepFraction)
public void addShips(java.lang.String factionId, float combat, float freighter, float tanker, float transport, float liner, float utility, java.lang.Float qualityOverride, float qualityMod, FactionAPI.ShipPickMode modeOverride, FactionDoctrineAPI doctrineOverride)
public void addShips(java.lang.String factionId, float combat, float freighter, float tanker, float transport, float liner, float utility, java.lang.Float qualityOverride, float qualityMod, FactionAPI.ShipPickMode modeOverride, FactionDoctrineAPI doctrineOverride, int maxShipSize)
protected FleetMemberAPI addShip(java.lang.String variantOrWingId, boolean withDmods, float quality)
protected void pruneShips(float mult)
protected void addHullMods(int maxTier, int num)
protected void addHullMods(int maxTier, int num, java.lang.String factionId)
protected boolean removeModFromCargo(java.lang.String id)
protected boolean cargoAlreadyHasMod(java.lang.String id)
public Highlights getIllegalTransferTextHighlights(CargoStackAPI stack, SubmarketPlugin.TransferAction action)
getIllegalTransferTextHighlights in interface SubmarketPluginpublic Highlights getIllegalTransferTextHighlights(FleetMemberAPI member, SubmarketPlugin.TransferAction action)
getIllegalTransferTextHighlights in interface SubmarketPluginpublic float getMinSWUpdateInterval()
public void setMinSWUpdateInterval(float minCargoUpdateInterval)
public float getSinceLastCargoUpdate()
public void setSinceLastCargoUpdate(float sinceLastCargoUpdate)
public float getSinceSWUpdate()
public void setSinceSWUpdate(float sinceSWUpdate)
public boolean hasCustomTooltip()
hasCustomTooltip in interface SubmarketPluginpublic void createTooltip(CoreUIAPI ui, TooltipMakerAPI tooltip, boolean expanded)
createTooltip in interface SubmarketPluginprotected void createTooltipAfterDescription(TooltipMakerAPI tooltip, boolean expanded)
public boolean isTooltipExpandable()
isTooltipExpandable in interface SubmarketPluginpublic float getTooltipWidth()
getTooltipWidth in interface SubmarketPluginpublic boolean isHidden()
isHidden in interface SubmarketPluginpublic boolean showInFleetScreen()
showInFleetScreen in interface SubmarketPluginpublic boolean showInCargoScreen()
showInCargoScreen in interface SubmarketPluginpublic SubmarketAPI getSubmarket()
getSubmarket in interface SubmarketPluginpublic int getStockpileLimit(CommodityOnMarketAPI com)
public float getStockpilingAddRateMult(CommodityOnMarketAPI com)
public boolean shouldHaveCommodity(CommodityOnMarketAPI com)
public void addAndRemoveStockpiledResources(float amount, boolean withShortageCountering, boolean withDecreaseToLimit, boolean withCargoUpdate)
protected boolean doShortageCountering(CommodityOnMarketAPI com, float amount, boolean withShortageCountering)
public void addAndRemoveStockpiledResources(CommodityOnMarketAPI com, float amount, boolean withShortageCountering, boolean withDecreaseToLimit, boolean withCargoUpdate)
public java.lang.String getTariffTextOverride()
getTariffTextOverride in interface SubmarketPluginpublic java.lang.String getTariffValueOverride()
getTariffValueOverride in interface SubmarketPluginpublic java.lang.String getTotalTextOverride()
getTotalTextOverride in interface SubmarketPluginpublic java.lang.String getTotalValueOverride()
getTotalValueOverride in interface SubmarketPlugin