
[Bug] 无法加载插件
Ikaleio opened this issue · 6 comments
ctLib 0.1.6 / toNeko 0.4.6 / Zulu17 JDK/ Purpur 1.16.5
[Server] [12:09:20 INFO]: ctLib插件已启动!
[Server] [12:09:20 ERROR]: Error occurred while enabling toNeko v0.4.6 (Is it up to date?)
[Server] java.lang.NullPointerException: Cannot invoke "Object.toString()" because the return value of "java.util.Map$Entry.getKey()" is null
[Server] at org.bukkit.configuration.file.YamlConfiguration.convertMapsToSections(YamlConfiguration.java:78) ~[patched_1.16.5.jar:git-Purpur-1171]
[Server] at org.bukkit.configuration.file.YamlConfiguration.convertMapsToSections(YamlConfiguration.java:82) ~[patched_1.16.5.jar:git-Purpur-1171]
[Server] at org.bukkit.configuration.file.YamlConfiguration.loadFromString(YamlConfiguration.java:72) ~[patched_1.16.5.jar:git-Purpur-1171]
[Server] at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguration.java:160) ~[patched_1.16.5.jar:git-Purpur-1171]
[Server] at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguration.java:128) ~[patched_1.16.5.jar:git-Purpur-1171]
[Server] at org.bukkit.configuration.file.YamlConfiguration.loadConfiguration(YamlConfiguration.java:188) ~[patched_1.16.5.jar:git-Purpur-1171]
[Server] at com.crystalneko.toneko.ToNeko.loadLanguageFile(ToNeko.java:253) ~[?:?]
[Server] at com.crystalneko.toneko.ToNeko.onEnable(ToNeko.java:58) ~[?:?]
[Server] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263) ~[patched_1.16.5.jar:git-Purpur-1171]
[Server] at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:370) ~[patched_1.16.5.jar:git-Purpur-1171]
[Server] at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:500) ~[patched_1.16.5.jar:git-Purpur-1171]
[Server] at org.bukkit.craftbukkit.v1_16_R3.CraftServer.enablePlugin(CraftServer.java:518) ~[patched_1.16.5.jar:git-Purpur-1171]
[Server] at org.bukkit.craftbukkit.v1_16_R3.CraftServer.enablePlugins(CraftServer.java:432) ~[patched_1.16.5.jar:git-Purpur-1171]
[Server] at net.minecraft.server.v1_16_R3.MinecraftServer.loadWorld(MinecraftServer.java:596) ~[patched_1.16.5.jar:git-Purpur-1171]
[Server] at net.minecraft.server.v1_16_R3.DedicatedServer.init(DedicatedServer.java:309) ~[patched_1.16.5.jar:git-Purpur-1171]
[Server] at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1074) ~[patched_1.16.5.jar:git-Purpur-1171]
[Server] at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:293) ~[patched_1.16.5.jar:git-Purpur-1171]
[Server] at java.lang.Thread.run(Thread.java:840) [?:?]
[Server] [12:09:20 INFO]: [toNeko] Disabling toNeko v0.4.6
奇怪之处就在这里,那个文件明明就在那里。或许你可以把那个 getDataFolder()
改成向上面一样写死的 File("plugins/toNeko/language/...")
试试?
这个 getDataFolder()
我找了半天,发现是调用 Bukkit API 的 JavaPlugin.dataFolder
,Google 了一下发现这玩意经常出现玄学问题。
已知晓,下一次更新会尝试解决.
暂时的解决方法: 检查plugins/toNeko/config.yml
中的language
并确保为zh_cn
,然后检查plugins/toNeko/language/zh_cn.yml
是否存在,不存在则将https://github.com/CSneko/toNeko/blob/Beta-V0.4.6/src/main/resources/language/zh_cn.yml 复制过去即可
我的确有一点基础,但并不是 Spigot 开发的基础。README 上并没有关于如何构建 Spigot 版本的提示,直接 gradle build
得到的是 Fabric 版本,但我只需要 Spigot 版本,并且把重构版的 Action 直接搬过来没用。https://github.com/d0j1a1701/toNeko