首页 > 解决方案 > 我如何解决这个错误:控制台无法读取数据

问题描述

我正在编写一个 Minecraft 插件(我的第一个真实插件,其他插件是测试的),但我不知道为什么会发生这个错误。

«我不知道这个错误是如何被调用的&因为我来自厄瓜多尔,所以这个帖子的大部分内容都是西班牙语 »

我猜这段代码会产生这个错误:

 @Override
    public void onEnable() {
        getServer().getConsoleSender().sendMessage(ChatColor.GREEN+"Anti-lag enabled);
    }

或在plugin.yml⬇️

# This plugin is private...  
name: Anti-lag
version: 1.16.1.0.1
api-version: 1.16.1 
# Added in Stack Overflow: Idk if the API version is correct.
author: me

main: private.private.antilag.anti_lag
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

如果您想阅读所有服务器(控制台)日志,请单击下面的链接。

单击此处查看完整的服务器线程。.

[17:26:29 ERROR]: Failed to read console input
java.io.IOException: Invalid controller
    at java.io.FileInputStream.readBytes(Native Method) ~[?:1.8.0_191]
    at java.io.FileInputStream.read(Unknown Source) ~[?:1.8.0_191]
    at java.io.BufferedInputStream.read1(Unknown Source) ~[?:1.8.0_191]
    at java.io.BufferedInputStream.read(Unknown Source) ~[?:1.8.0_191]
    at sun.nio.cs.StreamDecoder.readBytes(Unknown Source) ~[?:1.8.0_191]
    at sun.nio.cs.StreamDecoder.implRead(Unknown Source) ~[?:1.8.0_191]
    at sun.nio.cs.StreamDecoder.read(Unknown Source) ~[?:1.8.0_191]
    at java.io.InputStreamReader.read(Unknown Source) ~[?:1.8.0_191]
    at java.io.BufferedReader.fill(Unknown Source) ~[?:1.8.0_191]
    at java.io.BufferedReader.readLine(Unknown Source) ~[?:1.8.0_191]
    at java.io.BufferedReader.readLine(Unknown Source) ~[?:1.8.0_191]
    at net.minecrell.terminalconsole.SimpleTerminalConsole.readCommands(SimpleTerminalConsole.java:180) ~[patched_1.16.1.jar:git-Paper-131]
    at net.minecrell.terminalconsole.SimpleTerminalConsole.start(SimpleTerminalConsole.java:143) ~[patched_1.16.1.jar:git-Paper-131]
    at net.minecraft.server.v1_16_R1.DedicatedServer$1.run(DedicatedServer.java:66) ~[patched_1.16.1.jar:git-Paper-131]
    Suppressed: java.io.IOException: Controlador no válido
        at java.io.FileInputStream.close0(Native Method) ~[?:1.8.0_191]
        at java.io.FileInputStream.access$000(Unknown Source) ~[?:1.8.0_191]
        at java.io.FileInputStream$1.close(Unknown Source) ~[?:1.8.0_191]
        at java.io.FileDescriptor.closeAll(Unknown Source) ~[?:1.8.0_191]
        at java.io.FileInputStream.close(Unknown Source) ~[?:1.8.0_191]
        at java.io.BufferedInputStream.close(Unknown Source) ~[?:1.8.0_191]
        at sun.nio.cs.StreamDecoder.implClose(Unknown Source) ~[?:1.8.0_191]
        at sun.nio.cs.StreamDecoder.close(Unknown Source) ~[?:1.8.0_191]
        at java.io.InputStreamReader.close(Unknown Source) ~[?:1.8.0_191]
        at java.io.BufferedReader.close(Unknown Source) ~[?:1.8.0_191]
        at net.minecrell.terminalconsole.SimpleTerminalConsole.readCommands(SimpleTerminalConsole.java:183) ~[patched_1.16.1.jar:git-Paper-131]
        at net.minecrell.terminalconsole.SimpleTerminalConsole.start(SimpleTerminalConsole.java:143) ~[patched_1.16.1.jar:git-Paper-131]
        at net.minecraft.server.v1_16_R1.DedicatedServer$1.run(DedicatedServer.java:66) ~[patched_1.16.1.jar:git-Paper-131]

谢谢,如果你帮助我,我会留意你的回复。

标签: javapluginsminecraft

解决方案


恭喜你的第一个插件!看起来错误确实是由您的 plugin.yml 中的 API 版本引起的:

[17:26:33 ERROR]: Could not load 'plugins\Anti-lag.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: Unsupported API version 1.16.1
    at org.bukkit.craftbukkit.v1_16_R1.util.CraftMagicNumbers.checkSupported(CraftMagicNumbers.java:290) ~[patched_1.16.1.jar:git-Paper-131]
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:133) ~[patched_1.16.1.jar:git-Paper-131]
    at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:397) ~[patched_1.16.1.jar:git-Paper-131]
    at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:305) ~[patched_1.16.1.jar:git-Paper-131]
    at org.bukkit.craftbukkit.v1_16_R1.CraftServer.loadPlugins(CraftServer.java:388) ~[patched_1.16.1.jar:git-Paper-131]
    at net.minecraft.server.v1_16_R1.DedicatedServer.init(DedicatedServer.java:208) ~[patched_1.16.1.jar:git-Paper-131]
    at net.minecraft.server.v1_16_R1.MinecraftServer.v(MinecraftServer.java:941) ~[patched_1.16.1.jar:git-Paper-131]
    at net.minecraft.server.v1_16_R1.MinecraftServer.lambda$a$0(MinecraftServer.java:177) ~[patched_1.16.1.jar:git-Paper-131]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_191]

将“api-version: 1.16.1”切换为“api-version:1.16”应该可以解决问题。使用 api-version 时,只需要使用主版本号(如 1.13、1.14 等),而不需要使用次版本号(1.13.1、1.14.2 等)。

奇怪的是,“无效控制器”错误似乎是Minecraft 本身的一个错误,但幸运的是,根据 Mojang 的解释,“应该没有任何副作用并且可以忽略”。你什么都没做:)


推荐阅读