效果如下:
配置文件:
icon:
a:
xxxx
b:
xxxx
插件启用后会自动检测配置文件里 icon里的东西
然后能够做到类似于菜单插件的效果
不管 icon里是 a还是b还是什么,只要新增了就会添加一个图标
配置文件:
icon:
a:
xxxx
b:
xxxx
插件启用后会自动检测配置文件里 icon里的东西
然后能够做到类似于菜单插件的效果
不管 icon里是 a还是b还是什么,只要新增了就会添加一个图标
怎么个自动检测法,无论你要干什么都得写代码,
读取配置 -> 解析配置 ->应用配置
如果是要自动重载配置,可以用 WatchService 监听文件夹的文件修改事件,然后调用重载配置的方法,你可以参考我的实现
https://github.com/Iseason2000/B ... ig/ConfigWatcher.kt
读取物品,最简单就是,利用 ConfigurationSection 的getItemStack 方法直接读取物品,不过格式有要求,最好是先保存一个物品到ConfigurationSection看看格式,麻烦的就是自己写序列化与反序列化、方便的就用 XItemStack 等物品库
UI更新那块包含在配置的重载中,
这些都得花心思去实现,如果你不想自己写建议使用第三方API,然后组合一下
ui库
https://github.com/stefvanschie/IF
https://github.com/Incendo/interfaces
https://github.com/IPVP-MC/canvas
功能强大的第三方配置库 ,什么保留注释、自动重载都有
https://github.com/SpongePowered/Configurate/
读取配置 -> 解析配置 ->应用配置
如果是要自动重载配置,可以用 WatchService 监听文件夹的文件修改事件,然后调用重载配置的方法,你可以参考我的实现
https://github.com/Iseason2000/B ... ig/ConfigWatcher.kt
读取物品,最简单就是,利用 ConfigurationSection 的getItemStack 方法直接读取物品,不过格式有要求,最好是先保存一个物品到ConfigurationSection看看格式,麻烦的就是自己写序列化与反序列化、方便的就用 XItemStack 等物品库
UI更新那块包含在配置的重载中,
这些都得花心思去实现,如果你不想自己写建议使用第三方API,然后组合一下
ui库
https://github.com/stefvanschie/IF
https://github.com/Incendo/interfaces
https://github.com/IPVP-MC/canvas
功能强大的第三方配置库 ,什么保留注释、自动重载都有
https://github.com/SpongePowered/Configurate/
getValues(false)会返回一个map,你遍历这个map的key就可以获得所有的a b c d
diexi 发表于 2022-11-6 23:31
getValues(false)会返回一个map,你遍历这个map的key就可以获得所有的a b c d
补充一下,使用自带的Yamlconfiguration
感谢分享