"SEVERE: Could not load plugins"

Discussion in 'Plugin Development' started by MojaveRattle, Jan 30, 2011.

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

    MojaveRattle

    Getting this error:

    Code:
    2011-01-30 02:19:02 [INFO] Starting minecraft server version Beta 1.2_01
    2011-01-30 02:19:02 [INFO] Loading properties
    2011-01-30 02:19:02 [INFO] Starting Minecraft server on *:25566
    2011-01-30 02:19:02 [INFO] Preparing level "world"
    2011-01-30 02:19:02 [INFO] Preparing start region
    Preparing spawn area: 16%
    Preparing spawn area: 48%
    Preparing spawn area: 89%
    Jan 30, 2011 2:19:06 AM org.bukkit.plugin.SimplePluginManager loadPlugins
    SEVERE: Could not load plugins\OverEasy.jar in plugins: null
    org.bukkit.plugin.InvalidPluginException
            at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j
    ava:85)
            at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.
    java:121)
            at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager
    .java:86)
            at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:43)
            at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:153)
            at net.minecraft.server.MinecraftServer.c(MinecraftServer.java:140)
            at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:104)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:181)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:512)
    Caused by: java.lang.ClassNotFoundException: com.bukkit.OverEasy.OverEasy
            at java.net.URLClassLoader$1.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(Unknown Source)
            at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.
    java:29)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at java.lang.Class.forName0(Native Method)
            at java.lang.Class.forName(Unknown Source)
            at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j
    ava:79)
    Plugin.yml:

    Code:
    name: OverEasy
    main: com.bukkit.OverEasy.OverEasy
    version: 0.1.1
    OverEasy.java:

    Code:
    //The Package
    package com.bukkit.OverEasy.OverEasy;
    //All the imports
    import java.io.File;
    import java.util.ArrayList;
    import java.util.HashMap;
    import org.bukkit.Server;
    import org.bukkit.block.Block;
    import org.bukkit.entity.Player;
    import org.bukkit.event.Event;
    import org.bukkit.plugin.PluginDescriptionFile;
    import org.bukkit.plugin.PluginLoader;
    import org.bukkit.plugin.java.JavaPlugin;
    import org.bukkit.plugin.PluginManager;
    
    /**
     * OverEasy for Bukkit
     *
     * @author NINxSIN and MojaveRattle
     */
    
    //Starts the class
    public class OverEasy extends JavaPlugin{
        //Links the OverEasyPlayerListener
        private final OverEasyPlayerListener playerListener = new OverEasyPlayerListener(this);
    
        public OverEasy(PluginLoader pluginLoader, Server instance, PluginDescriptionFile desc, File folder, File plugin, ClassLoader cLoader)
        {
            super(pluginLoader, instance, desc, folder, plugin, cLoader);
          }
    
        @Override
        //When the plugin is disabled this method is called.
        public void onDisable() {
            //Print "OverEasy Disabled" on the log.
            System.out.println("OverEasy Disabled");
    
        }
    
        @Override
        //When the plugin is enabled this method is called.
        public void onEnable() {
            //Create the pluginmanage pm.
            PluginManager pm = getServer().getPluginManager();
            //Create PLAYERCHAT listener
            pm.registerEvent(Event.Type.PLAYER_CHAT , this.playerListener, Event.Priority.Normal, this);
           //Get the information from the yml file.
            PluginDescriptionFile pdfFile = this.getDescription();
            //Print that the plugin has been enabled!
            System.out.println( pdfFile.getName() + " version " + pdfFile.getVersion() + " is enabled!" );
    
        }
        //Used when debugging
          public boolean isDebugging(final Player player) {
                Object debugees;
                if (((Object) debugees).containsKey(player)) {
                    return ((Object) debugees).get(player);
                } else {
                    return false;
                }
            }
    
            public void setDebugging(final Player player, final boolean value) {
                Object debugees;
                ((Object) debugees).put(player, value);
            }
    
    }
    
    OverEasyPlayerListener.java:

    Code:
    package com.bukkit.OverEasy.OverEasy;
    
    //All the imports
    import org.bukkit.entity.Player;
    import org.bukkit.event.player.PlayerChatEvent;
    import org.bukkit.event.player.PlayerEggThrowEvent;
    import org.bukkit.entity.MobType;
    import org.bukkit.event.player.PlayerListener;
    
    //Starts the class OverEasyPlayerListener
    public class OverEasyPlayerListener extends PlayerListener{
         public static OverEasy plugin;
        private PlayerChatEvent event;
          public OverEasyPlayerListener(OverEasy instance) {
                plugin = instance;
            }
          String[] split = event.getMessage().split(" ");
        //Get the player that talked.
        Player player = event.getPlayer(); {
        //If the first part of the string is /OverEasy or /OE then do this.
        if ((split[0].equalsIgnoreCase("/OverEasy")) || (split[0].equalsIgnoreCase("/OE"))) {
            if(split.length == 1) {
                //disable the plugin if it has no arguments (maybe show help)
            }
            else if(split.length == 2) {
                //check if the statement has a second word
                if(split[1].equalsIgnoreCase("help")) {
                    //show help with the variable mobs
                    player.sendMessage("/OverEasy <mobtype>");
                    player.sendMessage(" To reset OverEasy enter chicken for mob type, else pick one below");
                    player.sendMessage(" 1.Cow");
                    player.sendMessage(" 2.Creeper");
                    player.sendMessage(" 3.Ghast");
                    player.sendMessage(" 4.Pig");
                    player.sendMessage(" 5.Sheep");
                    player.sendMessage(" 6.Skeleton");
                    player.sendMessage(" 7.Spider");
                    player.sendMessage(" 8.Zombie");
                 if(split[1].equalsIgnoreCase("chicken")) {
                     //Change the MobType if CHICKEN is set
                     ((PlayerEggThrowEvent) player).setHatchType (MobType.CHICKEN);
                       }
                 if(split[1].equalsIgnoreCase("Cow")) {
                     //Change the MobType if CHICKEN is set
                     ((PlayerEggThrowEvent) player).setHatchType (MobType.COW);
                 }
                 if(split[1].equalsIgnoreCase("Creeper")) {
                     //Change the MobType if CREEPER is set
                     ((PlayerEggThrowEvent) player).setHatchType (MobType.CREEPER);
                 }
                 if(split[1].equalsIgnoreCase("Ghast")) {
                     //Change the MobType if GHAST is set
                     ((PlayerEggThrowEvent) player).setHatchType (MobType.GHAST);
                 }
                 if(split[1].equalsIgnoreCase("Pig")) {
                     //Change the MobType if PIG is set
                     ((PlayerEggThrowEvent) player).setHatchType (MobType.PIG);
                 }
                 if(split[1].equalsIgnoreCase("Sheep")) {
                     //Change the MobType if SHEEP is set
                     ((PlayerEggThrowEvent) player).setHatchType (MobType.SHEEP);
                 }
                 if(split[1].equalsIgnoreCase("Skeleton")) {
                     //Change the MobType if SKELETON is set
                     ((PlayerEggThrowEvent) player).setHatchType (MobType.SKELETON);
                 }
                 if(split[1].equalsIgnoreCase("Spider")) {
                     //Change the MobType if SPIDER is set
                     ((PlayerEggThrowEvent) player).setHatchType (MobType.SPIDER);
                 }
                 if(split[1].equalsIgnoreCase("Zombie")) {
                     //Change the MobType if ZOMBIE is set
                     ((PlayerEggThrowEvent) player).setHatchType (MobType.ZOMBIE);
                 }
                }
            }
        }
        }
    }
    Any suggestions on what to change?
     
  2. Offline

    Plague

    The name is wrong.
    First, the developer folder: org.MojaveRattle.bukkit (now you have only org.bukkit, which works but can clash with someone else's)
    Second, the plugin name: OverEasy
    Third, the java main class (from OverEasy.java): OverEasy

    Plugin.yml is alright (except for he developer name)

    But the package name inside your .java files is wrong. There you do not put the main class name, only "org.MojaveRattle.bukkit.OverEasy" (once again you lack the developer but this is not the source of the error, only future errors).
     
    maetthew likes this.
Thread Status:
Not open for further replies.

Share This Page