Minecraft(我的世界)中文论坛

标题: [原创][Nukkit框架]MariataFramework 0.0.4 —— nukkit解耦容器框架[0.0.4]

作者: xiaolu550    时间: 2019-5-5 16:04
标题: [原创][Nukkit框架]MariataFramework 0.0.4 —— nukkit解耦容器框架[0.0.4]
本帖最后由 xiaolu550 于 2019-5-6 17:50 编辑


NUKKIT MariataFramework 解耦框架
mariata-framework是由noyark-system开发的nukkit框架,它提供了新的插件结构,并且可以衔接nukkit插件,提供了统一的前置插件加载战略,并且可以自动加载监听器和指令(即继承了command类或者实现Listener接口)

作者qq: [qq]843983728[/qq]

  1. 使用该框架后,如果使用框架提供的全新的插件结构,监听器(实现Listener接口)和命令(继承Command父类)会被框架默认为注册对象,会根据指定的根包,对于下级包及本级包和下下级包和下下下...级包中的监听器和命令进行自动注册
复制代码

解耦: 这里指将主类与注册类剥离开,使得它们之间完全独立
容器: 这里指该框架作为插件的容器而出现,注意的是,该框架不会提供api

另外mariata框架支持了全新的插件结构,文件目录是在plugins/mariataframework/plugin/下
将组建的jar包部署在这里即可

jar包结构中,不需要plugin.yml,只需要mariata.oml文件
  1. 具体使用参见github
复制代码
oaml的语法结构: https://github.com/noyark-system/noyark_oaml_java
github: https://github.com/MagicLu550/nukkit_mariataframework

其他功能将陆续更新,这是第三个测试版本

顺便我这里提供一下nukkit的maven服务器。我的代码使用了自己的maven
  1. maven参见github的README
复制代码
除了plugin.yml外,mariata框架插件的项目结构基本一样,这里建议使用maven来构建项目

设置前置nukkit插件: 只需要在mariataSet.yml中添加startbefore字段即可

V0.7.1支持中枢方法


- getReflectLoader方法

规定:使用该PluginBase作为主类的插件必须使用mariata.oml

自定义中枢方法的使用
//this为继承MariataPluginBase的主类

this.getReflectLoader(this,(obj,clz)->{
//对象处理
if(obj instanceof xxx){
对象的处理
}
},new String[]{根包名});
使用该方法后,所有的对象都会在这里被加载,并且在lambada表达式可以对全部对象加载
如:处理全部继承AAA类的对象
this.getReflectLoader(this,(obj,clz)->{
//对象处理
if(obj instanceof AAA){

}
},new String[]{根包名});



framework.jar

344.95 KB, 下载次数: 1

MariataFramework

framework.jar

350.9 KB, 下载次数: 0

MariataFramework 最新


作者: because华    时间: 2019-5-5 17:26
虽然不知道到底有啥用但是听起来很因垂丝汀
作者: xiaolu550    时间: 2019-5-5 17:45
because华 发表于 2019-5-5 17:26
虽然不知道到底有啥用但是听起来很因垂丝汀

如果有啥疑问可以联系作者qq哦
作者: FFF团总团长    时间: 2019-5-6 12:00
催更0.7
作者: 1723624171    时间: 2019-5-29 10:10
提示: 作者被禁止或删除 内容自动屏蔽
作者: 陈宇鹏    时间: 2019-5-29 10:58
提示: 作者被禁止或删除 内容自动屏蔽
作者: xiaolu550    时间: 2019-11-17 19:51
1723624171 发表于 2019-5-29 10:10
好用这个插件,谢谢啦

谢谢支持
作者: xiaolu550    时间: 2019-11-17 19:52
陈宇鹏 发表于 2019-5-29 10:58
**** 作者被禁止或删除 内容自动屏蔽 ****

本插件是一个面向开发者的插件框架,可以自动注册监听器和指令,未来也将加入自动注册主类的功能,基于反射实现,缺点可能会降低一些效率