Bukkit Error

Discussion in 'Plugin Development' started by Whatsfast, Jan 30, 2013.

Thread Status:
Not open for further replies.
  1. Offline

    Whatsfast

    Error:
    Code:
    18:47:52 [INFO] [BasicCommands] Enabling BasicCommands v0.1
    18:47:52 [INFO] [BasicCommands] Basic Commands is enabled
    18:47:52 [SEVERE] Error occurred while enabling BasicCommands v0.1 (Is it up to date?)
    java.lang.NoClassDefFoundError: com/github/gmail/whatsfast/basiccommands/Commands/BCHeal
        at com.github.gmail.whatsfast.basiccommands.BasicCommands.onEnable(BasicCommands.java:11)
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217)
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:457)
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381)
        at org.bukkit.craftbukkit.v1_4_5.CraftServer.loadPlugin(CraftServer.java:272)
        at org.bukkit.craftbukkit.v1_4_5.CraftServer.enablePlugins(CraftServer.java:254)
        at net.minecraft.server.v1_4_5.MinecraftServer.j(MinecraftServer.java:320)
        at net.minecraft.server.v1_4_5.MinecraftServer.e(MinecraftServer.java:299)
        at net.minecraft.server.v1_4_5.MinecraftServer.a(MinecraftServer.java:258)
        at net.minecraft.server.v1_4_5.DedicatedServer.init(DedicatedServer.java:147)
        at net.minecraft.server.v1_4_5.MinecraftServer.run(MinecraftServer.java:398)
        at net.minecraft.server.v1_4_5.ThreadServerApplication.run(SourceFile:856)
    Caused by: java.lang.ClassNotFoundException: com.github.gmail.whatsfast.basiccommands.Commands.BCHeal
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at org.bukkit.plugin.java.PluginClassLoader.findClass0(PluginClassLoader.java:80)
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:53)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
        ... 12 more
    Code:
    Code:
    package com.github.gmail.whatsfast.basiccommands;
     
     
    import org.bukkit.plugin.java.JavaPlugin;
     
    import com.github.gmail.whatsfast.basiccommands.Commands.BCHeal;
    import com.github.gmail.whatsfast.basiccommands.Commands.BCMessage;
     
    public final class BasicCommands extends JavaPlugin {
        @Override
        public void onEnable(){
            getLogger().info("Basic Commands is enabled");
            getCommand("heal").setExecutor(new BCHeal(this));
            getCommand("msg").setExecutor(new BCMessage(this));
            getCommand("message").setExecutor(new BCMessage(this));
            getCommand("send").setExecutor(new BCMessage(this));
            getCommand("tell").setExecutor(new BCMessage(this));
        }
     
        @Override
        public void onDisable() {
            getLogger().info("Basic Commands is disabled");
        }
    }
    
     
  2. Offline

    chasechocolate

    It found no BCHeal class:
    Code:
    Caused by: java.lang.ClassNotFoundException: com.github.gmail.whatsfast.basiccommands.Commands.BCHeal
    Is there a class named BCHeal?
     
  3. Offline

    Whatsfast

    Yes thre is.
     
  4. Offline

    ZeusAllMighty11

    Well if it can't find it, you told it how to find it wrong.
     
  5. Offline

    McCastleWars

    If you look at his imports hes only imported 2/5 of the commands.
     
  6. Offline

    Whatsfast

    I imported all of the commands.
     
  7. Offline

    Sagacious_Zed Bukkit Docs

    Did you check the jar to see if the class file exists?
     
  8. Offline

    McCastleWars

    Whats your plugin.yml look like.
     
  9. Offline

    Whatsfast

    Code:
    name: BasicCommands
    main: com.github.gmail.whatsfast.basiccommands.BasicCommands
    version: 0.1
    commands:
      heal:
        description: heal your self
        permission: bc.test
        usage: Type /bc help for help!
      message:
        description: heal your self
        permission: bc.test
        usage: Type /bc help for help!
      msg:
        description: heal your self
        permission: bc.test
        usage: Type /bc help for help!
      tell:
        description: heal your self
        permission: bc.test
        usage: Type /bc help for help! 
      send:
        description: heal your self
        permission: bc.test
        usage: Type /bc help for help! 
    permissions:
        bc.test:
            description:
            default: op
    Can anyone help?

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 31, 2016
  10. Offline

    Whatsfast

    Anyone?
     
  11. Offline

    drtshock

    Did you check your jar like Sagacious said to see if your classes are there?
     
  12. Offline

    Whatsfast

    yes my classes are there.

    Code:
    package com.github.gmail.whatsfast.basiccommands.Commands;
     
    import org.bukkit.ChatColor;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandExecutor;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
     
    import com.github.gmail.whatsfast.basiccommands.BasicCommands;
     
    public class BCHeal implements CommandExecutor {
       
        private BasicCommands plugin; // pointer to your main class, unrequired if you don't need methods from the main class
     
        public BCHeal(BasicCommands plugin) {
            this.plugin = plugin;
        }
     
        @Override
        public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
            if(args.length > 0 && args.length < 20){
                if (cmd.getName().equalsIgnoreCase("heal")){
                    if (args.length == 0){
                        if (sender instanceof Player) {
                            Player target = (Player) sender;
                            target.setFoodLevel(20);
                            target.setHealth(20);
                            target.setFireTicks(0);
                            target.sendMessage(ChatColor.GREEN + "You have healed your self!");
                            return true;
                        } else {
                            sender.sendMessage(ChatColor.DARK_RED + "ERROR: You must be in game to use this command.");
                            return false;
                        }
                    } else if(args.length == 1){
                        Player target2 = sender.getServer().getPlayer(args[1]);
                        if (target2 instanceof Player){
                            target2.setFoodLevel(20);
                            target2.setHealth(20);
                            target2.setFireTicks(0);
                            target2.sendMessage(ChatColor.GREEN + "You have been healed by " + sender.getName());
                            return true;
                        } else {
                            sender.sendMessage(ChatColor.DARK_RED + "ERROR: Player must be real or online!");
                            return false;
                        }
                    }   
                }
            }
            return false;
        }
    }
    
     
Thread Status:
Not open for further replies.

Share This Page