本人java 初学者 不会kotlin
这几天想用Java尝试写一个插件玩玩
发现Mirai Console 对JAVA 不太友好。
碰到了一些问题 开贴 备忘
关于注册指令,开启config data 的自动保存功能的代码
目前只是能跑起来的
//在插件启用与注销事件中 分别注册 Data 的自动保存 Config 的自动保存 指令的注册 与注销注册 reloadPluginData(Data.INSTANCE); // 读取文件等 reloadPluginConfig(Config.INSTANCE);//读取配置 CommandManager.INSTANCE.registerCommand(MyCommands.INSTANCE, true);//注册指令 CommandManager.INSTANCE.unregisterCommand(MyCommands.INSTANCE);//注销指令注册//指令实现部分代码
public static final MyCommandTwo INSTANCE = new MyCommandTwo(); public MyCommandTwo() { super(Test.INSTANCE, "x", new String[]{"ss"}, Test.INSTANCE.getParentPermission()); setDescription("这是一个测试指令"); } @Handler public void onCommand(String client_id, String client_secret) { System.out.println(client_id); Config.INSTANCE.setApiKey(client_id); Config.INSTANCE.setApiSecret(client_secret); }//data 的部分代码
public class DataTwo extends JAutoSavePluginData { public DataTwo() { super("DataTwo"); } public static final DataTwo INSTANCE = new DataTwo(); public final Value<String> string = value("test"); // 默认值 "test" public final Value<List<String>> list = typedValue(createKType(List.class, createKType(String.class))); // 无默认值, 自动创建空 List public final Value<Map<Long, Object>> custom = typedValue( createKType(Map.class, createKType(Long.class), createKType(Object.class)), new HashMap<Long, Object>() {{ // 带默认值 put(123L, "ok"); }} ); }我在用java 实现 JAutoSavePluginConfig 部分代码时 却碰到了问题 无法解决 故 没能成功,还请各位 指点下