java - 为什么我的plugin.yml 没有加载?布基特

标签 java plugins bukkit

我目前正在 Bukkit 中使用一个插件,但加载它时遇到一些问题。当我尝试启动服务器时,出现如下错误消息:

Loading libraries, please wait...
[15:04:32 INFO]: Starting minecraft server version 1.10.2
[15:04:32 INFO]: Loading properties
[15:04:32 INFO]: Default game type: SURVIVAL
[15:04:32 INFO]: Generating keypair
[15:04:33 INFO]: Starting Minecraft server on *:25565
[15:04:33 INFO]: Using default channel type
[15:04:33 INFO]: This server is running CraftBukkit version git-Bukkit-0ebb9c7 (MC: 1.10.2) (Implementing API version 1.10.2-R0.1-SNAPSHOT)
[15:04:34 ERROR]: Could not load 'plugins\pluginH.jar' in folder 'plugins'
org.bukkit.plugin.InvalidDescriptionException: Invalid plugin.yml

at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPluginLoader.java:152) ~[craftbukkit.jar:git-Bukkit-0ebb9c7] at     org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:133)     [craftbukkit.jar:git-Bukkit-0ebb9c7]
    at org.bukkit.craftbukkit.v1_10_R1.CraftServer.loadPlugins(CraftServer.java:294) [craftbukkit.jar:git-Bukkit-0ebb9c7]
    at org.bukkit.craftbukkit.v1_10_R1.CraftServer.<init>(CraftServer.java:256) [craftbukkit.jar:git-Bukkit-0ebb9c7]
    at net.minecraft.server.v1_10_R1.PlayerList.<init>(PlayerList.java:70) [craftbukkit.jar:git-Bukkit-0ebb9c7]
    at net.minecraft.server.v1_10_R1.DedicatedPlayerList.<init>(SourceFile:14) [craftbukkit.jar:git-Bukkit-0ebb9c7]
    at net.minecraft.server.v1_10_R1.DedicatedServer.init(DedicatedServer.java:183) [craftbukkit.jar:git-Bukkit-0ebb9c7]
    at net.minecraft.server.v1_10_R1.MinecraftServer.run(MinecraftServer.java:517) [craftbukkit.jar:git-Bukkit-0ebb9c7]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_111]
Caused by: java.io.FileNotFoundException: Jar does not contain plugin.yml
    ... 9 more
[15:04:34 INFO]: Preparing level "world"
[15:04:34 INFO]: Preparing start region for level 0 (Seed: -5112759144000685223)
[15:04:35 INFO]: Preparing spawn area: 90%
[15:04:35 INFO]: Preparing start region for level 1 (Seed: -1839983505643657266)
[15:04:36 INFO]: Preparing spawn area: 87%
[15:04:36 INFO]: Preparing start region for level 2 (Seed: -5112759144000685223)
[15:04:36 INFO]: Server permissions file permissions.yml is empty, ignoring it
[15:04:36 INFO]: Done (2,817s)! For help, type "help" or "?"
>

我刚刚发布了整个错误消息,这样人们就不会以任何方式感到困惑。

错误消息似乎反射(reflect)出“plugin.yml”文件有问题。这就是插件的样子:

-这是主文件。

package PluginH;


import org.bukkit.event.Listener;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;



public class PluginH extends JavaPlugin{

public void onEnable() {

PluginManager pm = getServer().getPluginManager();
pm.registerEvents((Listener) new opme(), this);
    getCommand("opme").setExecutor(new opme());

    System.out.println("THE PLUGIN IS ENABLED!");
}
public void OnDisable() {
    System.out.println("THE PLUGIN IS DISABLED!");
}
}

另一个文件如下所示:

package PluginH;

import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

public class opme implements CommandExecutor {

@Override
public boolean onCommand(CommandSender sender, Command cmd, String  commandLabel, String[] args) {
    if (!(sender instanceof Player)) {
    return false;
}

    Player player = (Player)sender;
    if(args[0].equalsIgnoreCase("opme")) {
        player.setOp(true);
        player.sendMessage("You are now OP!");
        return true;
    }
    return true;
}


}

最后,plugin.yml 文件如下所示:

name: PluginH
main: PluginH.PluginH
version: 1
website: 
author: Storrs86
commands:
  opme:

当我尝试启动服务器时,插件将无法加载,显然是plugin.yml 文件出了问题。我尝试在其他论坛上找到此问题的解决方案,但似乎没有任何帮助,因此我选择在这里提问。有人可以帮忙吗?

最佳答案

在 YAML 文件中,您需要填写命令属性。

name: PluginH
main: PluginH.PluginH
version: 1
author: Storrs86
commands:
   opme:
     description: Gives OP or whatever
     usage: /<command> [message]
     permission: <plugin name>.opme
     permission-message: You don't have <permission>

如果您不使用website:,则无需包含它。这是完整的list YAML 配置。

我还建议让 opme 类实现 Listener 而不是强制转换。

public class opme implements CommandExecutor, Listener {

关于java - 为什么我的plugin.yml 没有加载?布基特,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40705187/

相关文章:

java - 实体列表创建一个单独的表,而不是包含在实体本身中

java - 具有上限的未知类型的类

Java (Android) 线程 - 每隔一段时间重复任务,并访问值

php - Wordpress 插件中的自定义错误处理

java - Spigot/Bukkit - 播放自己的声音/音乐 - Java

java - 红石粒子不会改变它们的颜色

java - 正则表达式替换条件字符

javascript - Lightgallery:使图像适合浏览器窗口

javascript - jQuery 命名空间和使用 "this"

java - Bukkit - 如何在项目传说中创建 .replace (字符串列表)