001package com.fs.starfarer.api.loading;
002
003import java.util.Set;
004
005import com.fs.starfarer.api.combat.HullModEffect;
006import com.fs.starfarer.api.combat.HullModFleetEffect;
007import com.fs.starfarer.api.combat.ShipAPI.HullSize;
008
009public interface HullModSpecAPI extends WithSourceMod {
010
011        HullModEffect getEffect();
012        HullModFleetEffect getFleetEffect();
013        boolean isAlwaysUnlocked();
014        boolean isHidden();
015        boolean isHiddenEverywhere();
016        void setHidden(boolean isHidden);
017        void setHiddenEverywhere(boolean isHiddenEverywhere);
018        void setAlwaysUnlocked(boolean isStarting);
019        String getEffectClass();
020        void setEffectClass(String effectClass);
021        String getDisplayName();
022        void setDisplayName(String displayName);
023        String getId();
024        void setId(String id);
025        String getDescriptionFormat();
026        void setDescriptionFormat(String descriptionFormat);
027        int getFrigateCost();
028        void setFrigateCost(int frigateCost);
029        int getDestroyerCost();
030        void setDestroyerCost(int destroyerCost);
031        int getCruiserCost();
032        void setCruiserCost(int cruiserCost);
033        int getCapitalCost();
034        void setCapitalCost(int capitalCost);
035        int getTier();
036        void setTier(int tier);
037        String getSpriteName();
038        void setSpriteName(String spriteName);
039        int getCostFor(HullSize size);
040        Set<String> getTags();
041        void addTag(String tag);
042        boolean hasTag(String tag);
043        float getBaseValue();
044        void setBaseValue(float baseValue);
045        float getRarity();
046        void setRarity(float rarity);
047        
048        String getDescription(HullSize size);
049        String getManufacturer();
050        Set<String> getUITags();
051        void addUITag(String tag);
052        boolean hasUITag(String tag);
053        void setManufacturer(String manufacturer);
054        String getSModDescription(HullSize hullSize);
055        void setSModEffectFormat(String sModEffectFormat);
056        String getSModEffectFormat();
057
058}