diff --git a/core/src/mindustry/core/Platform.java b/core/src/mindustry/core/Platform.java index ff139fa14a..a595668aa8 100644 --- a/core/src/mindustry/core/Platform.java +++ b/core/src/mindustry/core/Platform.java @@ -33,7 +33,7 @@ public interface Platform{ loadedClass = findClass(name); }catch(ClassNotFoundException e){ //use parent if not found - loadedClass = super.loadClass(name, resolve); + return parent.loadClass(name); } } diff --git a/core/src/mindustry/mod/ModClassLoader.java b/core/src/mindustry/mod/ModClassLoader.java index 40d6fd07ef..3124c16fed 100644 --- a/core/src/mindustry/mod/ModClassLoader.java +++ b/core/src/mindustry/mod/ModClassLoader.java @@ -26,16 +26,19 @@ public class ModClassLoader extends ClassLoader{ ClassNotFoundException last = null; int size = children.size; - inChild.set(true); //if it doesn't exist in the main class loader, try all the children for(int i = 0; i < size; i++){ try{ - return children.get(i).loadClass(name); + try{ + inChild.set(true); + return children.get(i).loadClass(name); + }finally{ + inChild.set(false); + } }catch(ClassNotFoundException e){ last = e; } } - inChild.set(false); throw (last == null ? new ClassNotFoundException(name) : last); }