本人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 部分代码时 却碰到了问题 无法解决 故 没能成功,还请各位 指点下