Breaks with WorldEdit 7.4.0: Cannot invoke "java.io.File.toPath()" because "file" is null

未关闭
#294 2 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
45/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
停滞
技术栈
java
领域
backend

调研方向

使用列出的 Paper、WorldEdit 和 CommandBook 版本重现该故障。从 YAMLProcessor.java:124 开始,然后跟踪 DefaultsFileYAMLProcessor.java:31 和 CommandBook.java:186,以确定配置设置为何会收到一个值为 null 的文件。CommandBook 能够启用且不出现报告的异常或后续禁用错误,即表示完成。

由索引模型根据 Issue 内容生成。

描述

Tested with:

  • paper 1.21.10-89-main@c7714bb
  • WorldEdit (7.4.0-beta-01+ae062ca)
  • CommandBook (3.0-SNAPSHOT;1834-7def372)
[15:17:07 INFO]: [WorldEdit] Loading server plugin WorldEdit v7.4.0-beta-01+ae062ca
[15:17:08 INFO]: Got request to register class com.sk89q.worldedit.bukkit.BukkitServerInterface with WorldEdit [com.sk89q.worldedit.extension.platform.PlatformManager@110c394e]
[15:17:08 INFO]: [WorldEdit] Default configuration file written: config.yml
[15:17:08 INFO]: [CommandBook] Loading server plugin CommandBook v3.0-SNAPSHOT;1834-7def372
[15:17:08 INFO]: Server permissions file permissions.yml is empty, ignoring it
[15:17:08 INFO]: [WorldEdit] Enabling WorldEdit v7.4.0-beta-01+ae062ca
[15:17:08 INFO]: Registering commands with com.sk89q.worldedit.bukkit.BukkitServerInterface
[15:17:08 INFO]: WEPIF: Updated config file
[15:17:08 INFO]: WEPIF: Using the Bukkit Permissions API.
[15:17:08 INFO]: Using com.sk89q.worldedit.bukkit.adapter.impl.v1_21_9.PaperweightAdapter as the Bukkit adapter
[15:17:09 INFO]: Preparing level "world"
[15:17:10 INFO]: Loading 0 persistent chunks for world 'minecraft:overworld'...
[15:17:10 INFO]: Prepared spawn area in 1 ms
[15:17:10 INFO]: Loading 0 persistent chunks for world 'minecraft:the_nether'...
[15:17:10 INFO]: Prepared spawn area in 0 ms
[15:17:10 INFO]: Loading 0 persistent chunks for world 'minecraft:the_end'...
[15:17:10 INFO]: Prepared spawn area in 2 ms
[15:17:10 INFO]: Done preparing level "world" (0.770s)
[15:17:10 INFO]: [CommandBook] Enabling CommandBook v3.0-SNAPSHOT;1834-7def372
[15:17:10 ERROR]: Error occurred while enabling CommandBook v3.0-SNAPSHOT;1834-7def372 (Is it up to date?)
java.lang.NullPointerException: Cannot invoke "java.io.File.toPath()" because "file" is null
        at worldedit-bukkit-7.4.0-beta-01.jar/com.sk89q.util.yaml.YAMLProcessor.<init>(YAMLProcessor.java:124) ~[worldedit-bukkit-7.4.0-beta-01.jar:?]
        at worldedit-bukkit-7.4.0-beta-01.jar/com.sk89q.util.yaml.YAMLProcessor.<init>(YAMLProcessor.java:138) ~[worldedit-bukkit-7.4.0-beta-01.jar:?]
        at commandbook-3.0-SNAPSHOT-dist.jar/com.zachsthings.libcomponents.bukkit.DefaultsFileYAMLProcessor.<init>(DefaultsFileYAMLProcessor.java:31) ~[commandbook-3.0-SNAPSHOT-dist.jar:?]
        at commandbook-3.0-SNAPSHOT-dist.jar/com.sk89q.commandbook.CommandBook.createConfiguration(CommandBook.java:186) ~[commandbook-3.0-SNAPSHOT-dist.jar:?]
        at commandbook-3.0-SNAPSHOT-dist.jar/com.zachsthings.libcomponents.bukkit.BasePlugin.loadConfiguration(BasePlugin.java:145) ~[commandbook-3.0-SNAPSHOT-dist.jar:?]
        at commandbook-3.0-SNAPSHOT-dist.jar/com.zachsthings.libcomponents.bukkit.BasePlugin.onEnable(BasePlugin.java:79) ~[commandbook-3.0-SNAPSHOT-dist.jar:?]
        at commandbook-3.0-SNAPSHOT-dist.jar/com.sk89q.commandbook.CommandBook.onEnable(CommandBook.java:91) ~[commandbook-3.0-SNAPSHOT-dist.jar:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:279) ~[paper-api-1.21.10-R0.1-SNAPSHOT.jar:?]
        at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.enablePlugin(PaperPluginInstanceManager.java:202) ~[paper-1.21.10.jar:1.21.10-89-c7714bb]
        at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.enablePlugin(PaperPluginManagerImpl.java:109) ~[paper-1.21.10.jar:1.21.10-89-c7714bb]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:520) ~[paper-api-1.21.10-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.craftbukkit.CraftServer.enablePlugin(CraftServer.java:640) ~[paper-1.21.10.jar:1.21.10-89-c7714bb]
        at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:596) ~[paper-1.21.10.jar:1.21.10-89-c7714bb]
        at net.minecraft.server.MinecraftServer.initPostWorld(MinecraftServer.java:636) ~[paper-1.21.10.jar:1.21.10-89-c7714bb]
        at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:368) ~[paper-1.21.10.jar:1.21.10-89-c7714bb]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1262) ~[paper-1.21.10.jar:1.21.10-89-c7714bb]
        at net.minecraft.server.MinecraftServer.lambda$spin$2(MinecraftServer.java:383) ~[paper-1.21.10.jar:1.21.10-89-c7714bb]
        at java.base/java.lang.Thread.run(Thread.java:1474) ~[?:?]
[15:17:10 INFO]: [CommandBook] Disabling CommandBook v3.0-SNAPSHOT;1834-7def372
[15:17:10 ERROR]: Error occurred while disabling CommandBook v3.0-SNAPSHOT;1834-7def372
java.lang.NullPointerException: Cannot invoke "com.zachsthings.libcomponents.ComponentManager.unloadComponents()" because "this.componentManager" is null
        at commandbook-3.0-SNAPSHOT-dist.jar/com.zachsthings.libcomponents.bukkit.BasePlugin.onDisable(BasePlugin.java:68) ~[commandbook-3.0-SNAPSHOT-dist.jar:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:285) ~[paper-api-1.21.10-R0.1-SNAPSHOT.jar:?]
        at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.disablePlugin(PaperPluginInstanceManager.java:237) ~[paper-1.21.10.jar:1.21.10-89-c7714bb]
        at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.disablePlugin(PaperPluginManagerImpl.java:114) ~[paper-1.21.10.jar:1.21.10-89-c7714bb]
        at org.bukkit.plugin.SimplePluginManager.disablePlugin(SimplePluginManager.java:550) ~[paper-api-1.21.10-R0.1-SNAPSHOT.jar:?]
        at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.enablePlugin(PaperPluginInstanceManager.java:206) ~[paper-1.21.10.jar:1.21.10-89-c7714bb]
        at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.enablePlugin(PaperPluginManagerImpl.java:109) ~[paper-1.21.10.jar:1.21.10-89-c7714bb]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:520) ~[paper-api-1.21.10-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.craftbukkit.CraftServer.enablePlugin(CraftServer.java:640) ~[paper-1.21.10.jar:1.21.10-89-c7714bb]
        at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:596) ~[paper-1.21.10.jar:1.21.10-89-c7714bb]
        at net.minecraft.server.MinecraftServer.initPostWorld(MinecraftServer.java:636) ~[paper-1.21.10.jar:1.21.10-89-c7714bb]
        at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:368) ~[paper-1.21.10.jar:1.21.10-89-c7714bb]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1262) ~[paper-1.21.10.jar:1.21.10-89-c7714bb]
        at net.minecraft.server.MinecraftServer.lambda$spin$2(MinecraftServer.java:383) ~[paper-1.21.10.jar:1.21.10-89-c7714bb]
        at java.base/java.lang.Thread.run(Thread.java:1474) ~[?:?]
主要语言
Java
星标
151
派生
104
PR 合并指标
30 天内没有已合并 PR

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

EngineHub/CommandBook 的其他 Issue

查看 EngineHub/CommandBook 的全部 Issue

相似的 Issue

更多 Java Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。