    001package cpw.mods.fml.common;
    002
    003import java.io.File;
    004import java.security.cert.Certificate;
    005import java.util.List;
    006import java.util.Set;
    007
    008import com.google.common.eventbus.EventBus;
    009
    010import cpw.mods.fml.common.versioning.ArtifactVersion;
    011import cpw.mods.fml.common.versioning.VersionRange;
    012
    013public class InjectedModContainer implements ModContainer
    014{
    015    private File source;
    016    private ModContainer wrappedContainer;
    017
    018    public InjectedModContainer(ModContainer mc, File source)
    019    {
    020        this.source = source;
    021        this.wrappedContainer = mc;
    022    }
    023
    024    public String getModId()
    025    {
    026        return wrappedContainer.getModId();
    027    }
    028
    029    public String getName()
    030    {
    031        return wrappedContainer.getName();
    032    }
    033
    034    public String getVersion()
    035    {
    036        return wrappedContainer.getVersion();
    037    }
    038
    039    public File getSource()
    040    {
    041        return source;
    042    }
    043
    044    public ModMetadata getMetadata()
    045    {
    046        return wrappedContainer.getMetadata();
    047    }
    048
    049    public void bindMetadata(MetadataCollection mc)
    050    {
    051        wrappedContainer.bindMetadata(mc);
    052    }
    053
    054    public void setEnabledState(boolean enabled)
    055    {
    056        wrappedContainer.setEnabledState(enabled);
    057    }
    058
    059    public Set<ArtifactVersion> getRequirements()
    060    {
    061        return wrappedContainer.getRequirements();
    062    }
    063
    064    public List<ArtifactVersion> getDependencies()
    065    {
    066        return wrappedContainer.getDependencies();
    067    }
    068
    069    public List<ArtifactVersion> getDependants()
    070    {
    071        return wrappedContainer.getDependants();
    072    }
    073
    074    public String getSortingRules()
    075    {
    076        return wrappedContainer.getSortingRules();
    077    }
    078
    079    public boolean registerBus(EventBus bus, LoadController controller)
    080    {
    081        return wrappedContainer.registerBus(bus, controller);
    082    }
    083
    084    public boolean matches(Object mod)
    085    {
    086        return wrappedContainer.matches(mod);
    087    }
    088
    089    public Object getMod()
    090    {
    091        return wrappedContainer.getMod();
    092    }
    093
    094    public ArtifactVersion getProcessedVersion()
    095    {
    096        return wrappedContainer.getProcessedVersion();
    097    }
    098
    099    @Override
    100    public boolean isNetworkMod()
    101    {
    102        return wrappedContainer.isNetworkMod();
    103    }
    104    @Override
    105    public boolean isImmutable()
    106    {
    107        return true;
    108    }
    109
    110    @Override
    111    public String getDisplayVersion()
    112    {
    113        return wrappedContainer.getDisplayVersion();
    114    }
    115
    116    @Override
    117    public VersionRange acceptableMinecraftVersionRange()
    118    {
    119        return wrappedContainer.acceptableMinecraftVersionRange();
    120    }
    121
    122    public WorldAccessContainer getWrappedWorldAccessContainer()
    123    {
    124        if (wrappedContainer instanceof WorldAccessContainer)
    125        {
    126            return (WorldAccessContainer) wrappedContainer;
    127        }
    128        else
    129        {
    130            return null;
    131        }
    132    }
    133
    134    @Override
    135    public Certificate getSigningCertificate()
    136    {
    137        return wrappedContainer.getSigningCertificate();
    138    }
    139}