我的bukkit插件无法加载

时间:2015-06-11 19:48:42

标签: java plugins minecraft bukkit

我制作bukkit插件比较新,我对java有基本的了解。我的插件不起作用。从我在其他论坛上看到的情况来看,这是一个常见的错误,但没有一个解决方案有效。

这是我的错误:

[16:18:19 ERROR]: Could not load 'plugins/MtgCraft.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: Cannot find main class `me.sporech.MagictgCraft'

我的plugin.yml:

name: MtgCraft
main: me.sporech.MagictgCraft
version: 1.8
author: Sporech
description: A basic plugin

我的代码是:

package me.sporech;

import java.util.Set;

import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.plugin.java.JavaPlugin;

public class MagictgCraft extends JavaPlugin {
    public static MagictgCraft plugin;

    @Override
    public void onEnable(){
        getLogger().info("this is the plugin doing it");
    }
    @Override
    public void onDisable(){

    }

    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        if (cmd.getName().equalsIgnoreCase("hello") && sender instanceof Player) {
            Player player = (Player) sender;
            player.sendMessage("Hello, " + player.getName() + "!");
            return true;
        }
        return false;
    }
    @EventHandler
    public void onPlayerInteractBlock(PlayerInteractEvent event) {
        Player player = event.getPlayer();
        if (player.getItemInHand().getType() == Material.STICK) {
            player.getWorld().strikeLightning(player.getTargetBlock((Set<Material>) null, 200).getLocation());
        }
    }
}

1 个答案:

答案 0 :(得分:2)

错误在于您的plugin.yml,而不是您的代码。确保plugin.yml包含在默认包中,并在导出/压缩后在jar中。

它表示您的描述无效(“InvalidDescriptionException”);它可能太短了,但这只是猜测。如果延长您的描述不起作用,请尝试使用“>”和换行符进行描述,然后在下一行中写下描述,前面至少有8个空格,如下例中所示插件:

description: >
             This super simple plugin has so many features your head may just implode.

以上工作在我的插件中,但老实说它不应该是必要的。不过,值得一试。

编辑:

对于不想筛选评论的未来读者,问题是plugin.yml未包含在“src”文件夹中或导出的jar的默认包中。始终确保您的plugin.yml在默认包中的导出jar中!