已解决 reloadPluginData加载不了数据
-
数据
public class UserMap extends JavaAutoSavePluginData { public UserMap() { super("bili_userMap"); } }
命令
@Slf4j public class TestCommand extends JRawCommand { public TestCommand() { super(ConsoleCommandOwner.INSTANCE, "test", "test"); } @Override public void onCommand(@NotNull CommandContext context, @NotNull MessageChain args) { UserMap userMap = new UserMap(); AutoPlanPlugin.INSTANCE.reloadPluginData(userMap); log.info(String.valueOf(userMap.getValueNodes().size())); for (AbstractPluginData.ValueNode<?> valueNode : userMap.getValueNodes()) { log.info(valueNode.getValueName() + "=" + valueNode.getValue()); } } }
yml文件内的数据
test: test a: a b: c: c
启动后使用命令的日志
> /test 2022-10-11 11:39:54 W/stderr: [DefaultDispatcher-worker-2] INFO cn.cimoc.mirai.plugin.bili.command.TestCommand - 0 2022-10-11 11:39:54 W/stderr:
可以看到使用reloadPluginData方法后,这个数据对象中的数据依旧是空的,请问我哪里操作不当。
-
-
-
@StageGuard 感谢,那如果我不指定,想读取全部数据,是不可以的吗
-
@oneoness 数据文件yml不应该被手动编辑,他是jautosaveplugin自动保存的,只需要在 usermap 修改对应的值,他就会自动保存到yml里
-