企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
>[danger]创建一个类并继承 `AbstractModule` 抽象模块类 ![](https://img.kancloud.cn/c7/cd/c7cd09accd1458388054e0dddbe97d9c_528x355.png) >[danger]重写模块名方法,主要用于生成配置文件夹(如果有需要) ![](https://img.kancloud.cn/27/10/2710a539e3884615e23b4ea572759ef4_348x119.png) >[danger]初始化模块信息可以利用下面3个方法(只会在服务器启动时调用一次) ![](https://img.kancloud.cn/f5/07/f507adfe28ef82452225aebcd537ef3d_452x397.png) >[danger]重载配置的4个方法 ![](https://img.kancloud.cn/5f/f5/5ff5f35d4534ae1c70c2eb9240aa2775_495x470.png) >[danger]在你的插件启动时注册模块 ![](https://img.kancloud.cn/5b/ba/5bba66c51128d83ca2ed970373f7c02f_591x453.png) >[danger]完整代码 ```java public class TestModule extends AbstractModule { public TestModule(Plugin plugin) { //这里需要传入pxrpg的代理插件类 super(MAPI.getBukkitPxRpgAPI().toPxRpgPlugin(plugin)); } @Override public String getModuleName() { return "你的模块名,如: Equip"; } @Override public String[] getDepends() { return new String[]{ //依赖于PlayerDataModule模块,会在PlayerDataModule模块后载入 "PlayerDataModule" }; } //调用顺序从上到下 @Override public void onInitialization() { //模块初始化对象等内容推荐在这写 // 没有初始化内容可以不重写 } @Override public void onLoad() { //与其他初始化后的模块交互推荐写在这 // 没有交互内容可以不重写 } @Override public void onLoadOver() { //一个预留方法,预防有些特殊情况需要在初始化后进行某些特定操作 // 没有必要可以不重写 } //输入 /pr reload 时会按下面顺序调用 @Override public void onDisable() { //卸载配置或缓存等 } //下列方法会在启动服务器时按顺序调用一次 @Override public void onEnable() { //配置读取等内容推荐写这 //没有配置读取不重写 } @Override public void onNotice() { //读取配置后如需进行与其他模块的交互可以写在这 //没有交互可以不重写 } @Override public void enableOver() { //一个预留方法,预防有些特殊情况需要在配置解析完毕后进行某些特定操作 //没有必要可以不重写 } //插件正常卸载时(服务器stop关闭时)会调用 @Override public void unload() { //... } } ```