展开全部
你最好是写一个类或者接口,在主程序中,所有MOD必须继承这个类或者接口。
关于读取的方法:
首先是类e68a84e8a2ad3231313335323631343130323136353331333337396337加载器patch是jar文件路径:ClassLoader loader= new URLClassLoader(new URL[]{new URL("file:"+patch)});
一个JarFile对象:JarFile jarFile = new JarFile(new File(patch));
遍历jar文件内部:Enumeration es = jarFile.entries();
while (es.hasMoreElements()) {
JarEntry jarEntry = es.nextElement();
String name = jarEntry.getName();//获取文件名
if(name != null && name.endsWith(".class")){//加载.class文件
Class> c= loader.loadClass(name.replace("/", ".").substring(0,name.length() - 6));//加载类
}
得到了Class对象c剩下的就是反射的过程了,如果是继承与MOD类对象的子类,判断之后进行强制类型转换会方便一些。Mod mod=(Mod)c.newInstance();
mod.test();