Use ModLoadException instead of IllegalArgumentException
This commit is contained in:
@@ -723,7 +723,7 @@ public class Mods implements Loadable{
|
||||
|
||||
if(!metaf.exists()){
|
||||
Log.warn("Mod @ doesn't have a '[mod/plugin].[h]json' file, skipping.", sourceFile);
|
||||
throw new IllegalArgumentException("Invalid file: No mod.json found.");
|
||||
throw new ModLoadException("Invalid file: No mod.json found.");
|
||||
}
|
||||
|
||||
ModMeta meta = json.fromJson(ModMeta.class, Jval.read(metaf.readString()).toString(Jformat.plain));
|
||||
@@ -750,7 +750,7 @@ public class Mods implements Loadable{
|
||||
//unload
|
||||
mods.remove(other);
|
||||
}else{
|
||||
throw new IllegalArgumentException("A mod with the name '" + baseName + "' is already imported.");
|
||||
throw new ModLoadException("A mod with the name '" + baseName + "' is already imported.");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -779,7 +779,7 @@ public class Mods implements Loadable{
|
||||
(meta.getMinMajor() >= 105 || headless)
|
||||
){
|
||||
if(ios){
|
||||
throw new IllegalArgumentException("Java class mods are not supported on iOS.");
|
||||
throw new ModLoadException("Java class mods are not supported on iOS.");
|
||||
}
|
||||
|
||||
loader = platform.loadJar(sourceFile, mainLoader);
|
||||
@@ -789,7 +789,7 @@ public class Mods implements Loadable{
|
||||
//detect mods that incorrectly package mindustry in the jar
|
||||
if((main.getSuperclass().getName().equals("mindustry.mod.Plugin") || main.getSuperclass().getName().equals("mindustry.mod.Mod")) &&
|
||||
main.getSuperclass().getClassLoader() != Mod.class.getClassLoader()){
|
||||
throw new IllegalArgumentException(
|
||||
throw new ModLoadException(
|
||||
"This mod/plugin has loaded Mindustry dependencies from its own class loader. " +
|
||||
"You are incorrectly including Mindustry dependencies in the mod JAR - " +
|
||||
"make sure Mindustry is declared as `compileOnly` in Gradle, and that the JAR is created with `runtimeClasspath`!"
|
||||
@@ -1028,6 +1028,12 @@ public class Mods implements Loadable{
|
||||
}
|
||||
}
|
||||
|
||||
public static class ModLoadException extends RuntimeException{
|
||||
public ModLoadException(String message){
|
||||
super(message);
|
||||
}
|
||||
}
|
||||
|
||||
public enum ModState{
|
||||
enabled,
|
||||
contentErrors,
|
||||
|
||||
Reference in New Issue
Block a user