Exception thrown when plugin is disabled

Discussion in 'Plugin Development' started by Kierrow, Oct 17, 2011.

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

    Kierrow

    Hi everybody,

    I'm not new to the topic of coding plugins,
    but I've never come across a console warning when I did not even write
    a thing at the place it occurred. !?

    I've written a simple chat plugin, that simply changes the format of a message.
    Simple so far. This is the exception I'm getting basically everytime the plugin is disabled:
    Code:
    [INFO] Stopping server
    2011-10-17 19:38:57
    [SEVERE] Error occurred (in the plugin loader) while disabling ProChat v1.0 (Is it up to date?): null
    java.lang.NullPointerException
        at java.lang.Class.isAssignableFrom(Native Method)
        at org.bukkit.plugin.java.JavaPluginLoader.removeClass(JavaPluginLoader.java:245)
        at org.bukkit.plugin.java.JavaPluginLoader.disablePlugin(JavaPluginLoader.java:992)
        at org.bukkit.plugin.SimplePluginManager.disablePlugin(SimplePluginManager.java:296)
        at org.bukkit.plugin.SimplePluginManager.disablePlugins(SimplePluginManager.java:289)
        at org.bukkit.craftbukkit.CraftServer.disablePlugins(CraftServer.java:166)
        at net.minecraft.server.MinecraftServer.stop(MinecraftServer.java:325)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:404)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
    2011-10-17 19:38:57 [INFO] Saving chunks
    2011-10-17 19:38:58 [INFO] Stopping server
    2011-10-17 19:38:58 [INFO] Saving chunks
    
    I don't get it! There is absolutely nothing wrong, I guess, and still this exception pops up.
    It's not like it's affecting anything, but I'd still like to know why such a simple plugin could
    actually cause any errors.

    Btw, here's my main plugin code and the plugin.yml:

    plugin.yml
    Code:
    name: ProChat
    version: 1.0
    author: Kierrow
    description: A simple chat plugin that introduces colors and a different format to the default chat experience.
    main: me.kierrow.prochat.Plugin
    depend: [Ranks]
    me.kierrow.prochat.Plugin

    Code:
    package me.kierrow.prochat;
    
    import me.kierrow.ranks.RankManager;
    
    import org.bukkit.event.Event;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class Plugin extends JavaPlugin implements Const {
        private RankManager rankMan;
    
        @Override
        public void onEnable() {
            rankMan = ((me.kierrow.ranks.Plugin) this.getServer().getPluginManager().getPlugin("Ranks")).getRankManager();
    
            this.getServer().getPluginManager().registerEvent(Event.Type.PLAYER_CHAT, new PlayerHandler(rankMan), Event.Priority.Lowest, this);
    
            System.out.println(PREFIX + "enabled!");
        }
    
        @Override
        public void onDisable() {}
    }
    me.kierrow.prochat.PlayerHandler

    Code:
    package me.kierrow.prochat;
    
    import me.kierrow.ranks.RankManager;
    
    import org.bukkit.event.player.PlayerChatEvent;
    import org.bukkit.event.player.PlayerListener;
    
    public class PlayerHandler extends PlayerListener implements Const {
        private RankManager rankMan;
    
        ///////////////////////////////////
    
        public PlayerHandler(RankManager rankMan) {
            this.rankMan = rankMan;
        }
    
        ///////////////////////////////////
    
        @Override
        public void onPlayerChat(PlayerChatEvent e) {
            e.setFormat(WHITE + "<" + rankMan.getPlayerRank(e.getPlayer()).getColor() + "%1$s" + WHITE + "> %2$s");
        }
    }
    The RankManager class is from another plugin called Ranks, which I'm currently developing.
    The only method called (getColor()) is used to, you guessed it, get the ChatColor of the rank the current user has.

    And the Const interface simply contains some helpful constants...

    Please help me, I have not the slightest idea of what I did wrong here.

    -Kierrow

    Oh yeah, I'm using the CraftBukkit #1317 API.
     
  2. Offline

    BlancoLanda

    RB 1317 bug, if you want upgrade to 1318 to avoid this.
     
  3. Offline

    Kierrow

    Yeah, I might do that. Thanks!
     
Thread Status:
Not open for further replies.

Share This Page