本帖最后由 liuyipeng001 于 2018-2-2 15:57 编辑
前言
前几天翻论坛发现了
[插件开发教程] [UD]更方便,更快捷的命令注册方式 这个帖子,发现大佬提出的一种注册命令的方法,再加上最近一直用 Kotlin 写 DSL 造轮子,
github上全是demo ,想着就顺便再造吧。事件监听器部分是我翻源码翻到的,文章里也写到了,虽然之前知道 PluginManager 有这个注册方法,但不知道咋用,看完源码后就明白了。DSL构建充分利用了Kotlin的特性,写DSL的感觉有没有很像写gradle (groovy) 呢,不过大括号多了点,自然也是有人更青睐与注解+反射的注册方法吧。我大概写了一下实现的思路,99%的源码都在文章里贴出来了。具体内容请看文章。教程面向熟悉Kotlin骚操作的各路大神,我只是抛砖引玉,分享一下我的思路。
论坛没有markdown,排版糟心,文章发到我的Blog(GitHub Pages)上了,大家点进去就能看到。
效果
命令注册:
事件监听器注册:
链接
分为两部分:
命令部分:
Minecraft-Bukkit插件-DSL注册命令
事件监听器部分:
Minecraft-Bukkit插件-DSL注册事件监听器
(发现bug:如果whenSenderIsPlayer后不接otherwise,这个函数就会被忽略。)文章抽空再改
发现bug:result 不能正常返回 文章还没改Github上改了
放弃对文章的维护