001 package cpw.mods.fml.common.discovery; 002 003 import java.io.File; 004 import java.util.List; 005 006 import com.google.common.collect.Lists; 007 008 import cpw.mods.fml.common.ModContainer; 009 010 011 public class ModCandidate 012 { 013 private File classPathRoot; 014 private File modContainer; 015 private ContainerType sourceType; 016 private boolean classpath; 017 private List<String> baseModTypes = Lists.newArrayList(); 018 private boolean isMinecraft; 019 020 public ModCandidate(File classPathRoot, File modContainer, ContainerType sourceType) 021 { 022 this(classPathRoot, modContainer, sourceType, false, false); 023 } 024 public ModCandidate(File classPathRoot, File modContainer, ContainerType sourceType, boolean isMinecraft, boolean classpath) 025 { 026 this.classPathRoot = classPathRoot; 027 this.modContainer = modContainer; 028 this.sourceType = sourceType; 029 this.isMinecraft = isMinecraft; 030 this.classpath = classpath; 031 } 032 033 public File getClassPathRoot() 034 { 035 return classPathRoot; 036 } 037 038 public File getModContainer() 039 { 040 return modContainer; 041 } 042 043 public ContainerType getSourceType() 044 { 045 return sourceType; 046 } 047 public List<ModContainer> explore(ASMDataTable table) 048 { 049 return sourceType.findMods(this, table); 050 } 051 052 public boolean isClasspath() 053 { 054 return classpath; 055 } 056 public void rememberBaseModType(String className) 057 { 058 baseModTypes.add(className); 059 } 060 public List<String> getRememberedBaseMods() 061 { 062 return baseModTypes; 063 } 064 public boolean isMinecraftJar() 065 { 066 return isMinecraft; 067 } 068 }