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}