我的世界服务器无效 plugin.yml

时间:2021-03-01 15:05:55

标签: java

我刚刚制作了一个插件,用 /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;
    }
}

1 个答案:

答案 0 :(得分:1)

您在 \t(TAB) 中同时使用 plugin.yml 和空格作为缩进,这可能是复制和粘贴的结果。确保您实际上在整个文件中都使用了空格。

如果您需要,这里有一个在线 YAML Lint:http://www.yamllint.com/ 来检查您的 plugin.yml..