CommandBook icon indicating copy to clipboard operation
CommandBook copied to clipboard

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

Open Schneidertm opened this issue 2 months ago • 2 comments

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) ~[?:?]

Schneidertm avatar Oct 27 '25 14:10 Schneidertm

Issue was caused by DefaultsFileYAMLProcessor failing to load the config-comments.yml and components.yml from the shadow JAR. In my fork, I implemented manual resource loading and now have a successful build: 86bd09480727f5da21d24ae08763f4c32eb59cb8 fbb2b39aadd381fb1244958b8f0b7d9cb79e530e

aokod avatar Nov 11 '25 15:11 aokod

We're talking about this a bit; libcomponents is doing something a little strange with WorldEdit's YAMLProcessor resulting in the situation where CommandBook was accidentally broken.

Hopefully will have an official resolution in a few days time.

DarkArc avatar Nov 11 '25 21:11 DarkArc