001package com.fs.starfarer.api.campaign.econ; 002 003import java.util.Set; 004 005import com.fs.starfarer.api.impl.campaign.rulecmd.salvage.MarketCMD.RaidDangerLevel; 006import com.fs.starfarer.api.loading.WithSourceMod; 007 008public interface CommoditySpecAPI extends WithSourceMod { 009 String getOrigin(); 010 String getIconName(); 011 String getIconLargeName(); 012 013 void setOrder(float displayNumber); 014 015 int getStackSize(); 016 float getOrder(); 017 float getCargoSpace(); 018 PriceVariability getPriceVariability(); 019 boolean isPrimary(); 020 boolean isExotic(); 021 boolean isMeta(); 022 boolean isNonEcon(); 023 String getId(); 024 String getName(); 025 026 /** 027 * Lower-case unless exotic. 028 * @return 029 */ 030 String getLowerCaseName(); 031 float getBasePrice(); 032 Set<String> getTags(); 033 boolean hasTag(String tag); 034 035 void setBasePrice(float price); 036 037 038 /** 039 * You probably want the CommodityOnMarket.getUtilityOnMarket() method instead, as that takes into 040 * account the varying utility of exotic goods. 041 * @return 042 */ 043 float getUtility(); 044 String getDemandClass(); 045 046 float getEconomyTier(); 047 float getEconUnit(); 048 049 boolean isPersonnel(); 050 boolean isFuel(); 051 boolean isSupplies(); 052 float getIconWidthMult(); 053 String getSoundIdDrop(); 054 055 float getExportValue(); 056 void setExportValue(float exportValue); 057 String getSoundId(); 058 059 RaidDangerLevel getBaseDanger(); 060 void setBaseDanger(RaidDangerLevel danger); 061 062 void setName(String displayName); 063 void setIconName(String iconName); 064 void setDemandClass(String demandClass); 065} 066 067 068