This commit is contained in:
Anuken
2021-06-08 22:07:45 -04:00
parent 25b2458a92
commit 91c0235ff5
3 changed files with 17 additions and 4 deletions

View File

@@ -18,7 +18,6 @@ import dalvik.system.*;
import mindustry.*; import mindustry.*;
import mindustry.game.Saves.*; import mindustry.game.Saves.*;
import mindustry.io.*; import mindustry.io.*;
import mindustry.mod.*;
import mindustry.net.*; import mindustry.net.*;
import mindustry.ui.dialogs.*; import mindustry.ui.dialogs.*;
@@ -67,9 +66,7 @@ public class AndroidLauncher extends AndroidApplication{
@Override @Override
public rhino.Context getScriptContext(){ public rhino.Context getScriptContext(){
rhino.Context result = AndroidRhinoContext.enter(((Context)AndroidLauncher.this).getCacheDir()); return AndroidRhinoContext.enter(getCacheDir());
result.setClassShutter(Scripts::allowClass);
return result;
} }
@Override @Override

View File

@@ -13,6 +13,8 @@ import com.android.dx.dex.cf.*;
import com.android.dx.dex.file.DexFile; import com.android.dx.dex.file.DexFile;
import com.android.dx.merge.*; import com.android.dx.merge.*;
import dalvik.system.*; import dalvik.system.*;
import mindustry.*;
import mindustry.mod.*;
import rhino.*; import rhino.*;
import java.io.*; import java.io.*;
@@ -78,6 +80,16 @@ public class AndroidRhinoContext{
initApplicationClassLoader(createClassLoader(AndroidContextFactory.class.getClassLoader())); initApplicationClassLoader(createClassLoader(AndroidContextFactory.class.getClassLoader()));
} }
@Override
protected Context makeContext(){
Context ctx = super.makeContext();
ctx.setClassShutter(Scripts::allowClass);
if(Vars.mods != null){
ctx.setApplicationClassLoader(Vars.mods.mainLoader());
}
return ctx;
}
/** /**
* Create a ClassLoader which is able to deal with bytecode * Create a ClassLoader which is able to deal with bytecode
* @param parent the parent of the create classloader * @param parent the parent of the create classloader

View File

@@ -7,6 +7,7 @@ import arc.math.*;
import arc.struct.*; import arc.struct.*;
import arc.util.*; import arc.util.*;
import arc.util.serialization.*; import arc.util.serialization.*;
import mindustry.*;
import mindustry.mod.*; import mindustry.mod.*;
import mindustry.net.*; import mindustry.net.*;
import mindustry.net.Net.*; import mindustry.net.Net.*;
@@ -64,6 +65,9 @@ public interface Platform{
protected Context makeContext(){ protected Context makeContext(){
Context ctx = super.makeContext(); Context ctx = super.makeContext();
ctx.setClassShutter(Scripts::allowClass); ctx.setClassShutter(Scripts::allowClass);
if(Vars.mods != null){
ctx.setApplicationClassLoader(Vars.mods.mainLoader());
}
return ctx; return ctx;
} }
}); });