许多游戏和应用程序都具有改装和扩展API,以允许其他游戏和应用程序扩展到已经制作的游戏上。 mods和扩展背后的概念很简单。 导入游戏的API,然后导出jar,然后将其放入某种类型的mod / extension文件夹中。 改装系统由两部分组成:加载器和API。 如果您有一个良好且快速的加载器,可以与您的API无缝集成,那您就可以了。 要使所有内容100%正确都是很困难的,因此这里有一些技巧:
- 记录您的应用程序的插件API
/**
* You know where this is from...
*/
public class MrSandman {
/**
* Gives someone a dream
* @param person A person
*/
public void bringMeADream(Person person) {
...
}
}
- 制作一个mod测试系统并指导尽可能制作一个主要的mod类并使用注释
// Something like this
@ModInfo(name=“MyMod”, id=“mymod”)
public class MyMod extends Mod {
@Override
public void onEnable() {
...
}
@Override
public void onDisable() {
...
}
}
- Make a forum for modders to share and ask for helpMaking the loader is not that difficult:
// Code that loads a class in the plugin, you can experiment with this
URL jarUrl = ...;
URLClassLoader loader = new URLClassLoader(new URL[] { jarUrl });
Class myClass = Class.forName("myjar.mypackage.MyClass", true, loader);
MyPluginInterface myPlugin = myClass.asSubClass(MyPluginInterface.class).newInstance()
总之,如果您想使应用程序开发人员变得友好,则需要对其进行记录并使其变得简单。 这是大量黑客和黑客社区的关键!