我刚刚制作了一个插件,用 /info 显示我的服务器的信息。当我尝试启动 Minecraft 服务器时,它会给我一个错误 Invalid plugin.yml ... 我是新手,我不知道如何解决这个问题。它说第 8 行的 plugin.yml 有一个错误,上面写着“信息:”,没有任何空格。
org.bukkit.plugin.InvalidDescriptionException: Invalid plugin.yml
at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPluginLoader.java:168) ~[server.jar:git-Bukkit-3eb7236]
at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:144) ~[server.jar:git-Bukkit-3eb7236]
at org.bukkit.craftbukkit.v1_16_R3.CraftServer.loadPlugins(CraftServer.java:381) ~[server.jar:git-Bukkit-3eb7236]
at net.minecraft.server.v1_16_R3.DedicatedServer.init(DedicatedServer.java:179) ~[server.jar:git-Bukkit-3eb7236]
at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:786) ~[server.jar:git-Bukkit-3eb7236]
at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$0(MinecraftServer.java:155) ~[server.jar:git-Bukkit-3eb7236]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_281]
Caused by: org.yaml.snakeyaml.scanner.ScannerException: while scanning for the next token
found character '\t(TAB)' that cannot start any token. (Do not use \t(TAB) for indentation)
in 'reader', line 8, column 1:
info:
^
at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:419) ~[server.jar:git-Bukkit-3eb7236]
at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:227) ~[server.jar:git-Bukkit-3eb7236]
at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingValue.produce(ParserImpl.java:586) ~[server.jar:git-Bukkit-3eb7236]
at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:158) ~[server.jar:git-Bukkit-3eb7236]
at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:148) ~[server.jar:git-Bukkit-3eb7236]
at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:136) ~[server.jar:git-Bukkit-3eb7236]
at org.yaml.snakeyaml.composer.Composer.composeValueNode(Composer.java:257) ~[server.jar:git-Bukkit-3eb7236]
at org.yaml.snakeyaml.composer.Composer.composeMappingChildren(Composer.java:248) ~[server.jar:git-Bukkit-3eb7236]
at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:236) ~[server.jar:git-Bukkit-3eb7236]
at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:162) ~[server.jar:git-Bukkit-3eb7236]
at org.yaml.snakeyaml.composer.Composer.getNode(Composer.java:95) ~[server.jar:git-Bukkit-3eb7236]
at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:119) ~[server.jar:git-Bukkit-3eb7236]
at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:150) ~[server.jar:git-Bukkit-3eb7236]
at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:472) ~[server.jar:git-Bukkit-3eb7236]
at org.yaml.snakeyaml.Yaml.load(Yaml.java:411) ~[server.jar:git-Bukkit-3eb7236]
at org.bukkit.plugin.PluginDescriptionFile.<init>(PluginDescriptionFile.java:252) ~[server.jar:git-Bukkit-3eb7236]
at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPluginLoader.java:163) ~[server.jar:git-Bukkit-3eb7236]
... 6 more
我不知道是什么问题... 这是 Main.java:
package com.carter.minererplugin;
import org.bukkit.plugin.java.JavaPlugin;
import com.carter.minererplugin.commands.infocommand;
public class Main extends JavaPlugin {
@Override
public void onEnable() {
new infocommand(this);
}
}
这是 infocommand.java
package com.carter.minererplugin.commands;
import org.bukkit.command.CommandExecutor;
import org.bukkit.entity.Player;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import com.carter.minererplugin.Main;
public class infocommand implements CommandExecutor {
public infocommand(Main plugin) {
plugin.getCommand("info").setExecutor(this);
}
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
if(!(sender instanceof Player)) {
sender.sendMessage("You can't run this command from console.");
return true;
}
Player p = (Player) sender;
if (p.hasPermission("minerer.use")) {
p.sendMessage("&lWelcome to MinererSMP!");
p.sendMessage("--------------------------");
p.sendMessage("This plugin is currently under heavy development.");
}
return false;
}
}
答案 0 :(得分:1)
您在 \t(TAB)
中同时使用 plugin.yml
和空格作为缩进,这可能是复制和粘贴的结果。确保您实际上在整个文件中都使用了空格。
如果您需要,这里有一个在线 YAML Lint:http://www.yamllint.com/ 来检查您的 plugin.yml
..