Fix up trying to re-add stuff to the classpath when it's already there
This commit is contained in:
parent
d538dcf06f
commit
599476d587
5 changed files with 16 additions and 10 deletions
|
@ -32,7 +32,7 @@ public class ModContainerFactory
|
|||
}
|
||||
|
||||
// We warn if it's not a basemod instance -- compatibility requires it to be in net.minecraft.src *sigh*
|
||||
if (className.startsWith("net.minecraft.src.") && container.isClasspath())
|
||||
if (className.startsWith("net.minecraft.src.") && container.isClasspath() && !container.isMinecraftJar())
|
||||
{
|
||||
FMLLog.severe("FML has detected a mod that is using a package name based on 'net.minecraft.src' : %s. This is generally a severe programming error. "
|
||||
+ " There should be no mod code in the minecraft namespace. MOVE YOUR MOD! If you're in eclipse, select your source code and 'refactor' it into "
|
||||
|
@ -43,7 +43,7 @@ public class ModContainerFactory
|
|||
{
|
||||
if (ann.getASMType().equals(Type.getType(Mod.class)))
|
||||
{
|
||||
FMLLog.fine("Identified a FMLMod type mod %s", className);
|
||||
FMLLog.fine("Identified an FMLMod type mod %s", className);
|
||||
return new FMLModContainer(className, modSource, ann.getValues());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -60,7 +60,7 @@ public class DirectoryDiscoverer implements ITypeDiscoverer
|
|||
catch (Exception e)
|
||||
{
|
||||
mc = MetadataCollection.from(null,"");
|
||||
FMLLog.info("No mcmod.info file found in directory %s", modDir.getName());
|
||||
FMLLog.fine("No mcmod.info file found in directory %s", modDir.getName());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@ public class JarDiscoverer implements ITypeDiscoverer
|
|||
}
|
||||
else
|
||||
{
|
||||
FMLLog.info("The mod container %s appears to be missing an mcmod.info file", candidate.getModContainer().getName());
|
||||
FMLLog.fine("The mod container %s appears to be missing an mcmod.info file", candidate.getModContainer().getName());
|
||||
mc = MetadataCollection.from(null, "");
|
||||
}
|
||||
for (ZipEntry ze : Collections.list(jar.entries()))
|
||||
|
|
|
@ -15,16 +15,18 @@ public class ModCandidate
|
|||
private ContainerType sourceType;
|
||||
private boolean classpath;
|
||||
private List<String> baseModTypes = Lists.newArrayList();
|
||||
private boolean isMinecraft;
|
||||
|
||||
public ModCandidate(File classPathRoot, File modContainer, ContainerType sourceType)
|
||||
{
|
||||
this(classPathRoot, modContainer, sourceType, false);
|
||||
this(classPathRoot, modContainer, sourceType, false, false);
|
||||
}
|
||||
public ModCandidate(File classPathRoot, File modContainer, ContainerType sourceType, boolean classpath)
|
||||
public ModCandidate(File classPathRoot, File modContainer, ContainerType sourceType, boolean isMinecraft, boolean classpath)
|
||||
{
|
||||
this.classPathRoot = classPathRoot;
|
||||
this.modContainer = modContainer;
|
||||
this.sourceType = sourceType;
|
||||
this.isMinecraft = isMinecraft;
|
||||
this.classpath = classpath;
|
||||
}
|
||||
|
||||
|
@ -59,4 +61,8 @@ public class ModCandidate
|
|||
{
|
||||
return baseModTypes;
|
||||
}
|
||||
public boolean isMinecraftJar()
|
||||
{
|
||||
return isMinecraft;
|
||||
}
|
||||
}
|
|
@ -34,7 +34,7 @@ public class ModDiscoverer
|
|||
if (minecraftSources.length == 1 && minecraftSources[0].isFile())
|
||||
{
|
||||
FMLLog.fine("Minecraft is a file at %s, loading", minecraftSources[0].getAbsolutePath());
|
||||
candidates.add(new ModCandidate(minecraftSources[0], minecraftSources[0], ContainerType.JAR));
|
||||
candidates.add(new ModCandidate(minecraftSources[0], minecraftSources[0], ContainerType.JAR, true, true));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -49,13 +49,13 @@ public class ModDiscoverer
|
|||
else
|
||||
{
|
||||
FMLLog.fine("Found a minecraft related file at %s, examining for mod candidates", minecraftSources[i].getAbsolutePath());
|
||||
candidates.add(new ModCandidate(minecraftSources[i], minecraftSources[i], ContainerType.JAR, i!=0));
|
||||
candidates.add(new ModCandidate(minecraftSources[i], minecraftSources[i], ContainerType.JAR, i==0, true));
|
||||
}
|
||||
}
|
||||
else if (minecraftSources[i].isDirectory())
|
||||
{
|
||||
FMLLog.fine("Found a minecraft related directory at %s, examining for mod candidates", minecraftSources[i].getAbsolutePath());
|
||||
candidates.add(new ModCandidate(minecraftSources[i], minecraftSources[i], ContainerType.DIR, i!=0));
|
||||
candidates.add(new ModCandidate(minecraftSources[i], minecraftSources[i], ContainerType.DIR, i==0, true));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -101,7 +101,7 @@ public class ModDiscoverer
|
|||
try
|
||||
{
|
||||
List<ModContainer> mods = candidate.explore(dataTable);
|
||||
if (mods.isEmpty())
|
||||
if (mods.isEmpty() && !candidate.isClasspath())
|
||||
{
|
||||
nonModLibs.add(candidate.getModContainer());
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue