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