Development Assistance Unhandled exception executing command(GMHook)

Discussion in 'Plugin Help/Development/Requests' started by AlGrande, Jun 2, 2015.

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

    I made a command which should show the prefix and the name of the player.
    I needed Groupmanager for it so i put the command into my GMHook.java:

    Code:
    package me.AlGrande.main;
    
    import java.util.Arrays;
    import java.util.List;
    
    import net.milkbowl.vault.chat.Chat;
    
    import org.anjocaido.groupmanager.GroupManager;
    import org.anjocaido.groupmanager.dataholder.OverloadedWorldHolder;
    import org.anjocaido.groupmanager.permissions.AnjoPermissionsHandler;
    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 org.bukkit.event.EventHandler;
    import org.bukkit.event.EventPriority;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerChatEvent;
    import org.bukkit.event.player.PlayerJoinEvent;
    import org.bukkit.event.player.PlayerQuitEvent;
    import org.bukkit.event.server.PluginDisableEvent;
    import org.bukkit.event.server.PluginEnableEvent;
    import org.bukkit.plugin.Plugin;
    import org.bukkit.plugin.PluginManager;
    public class GMHook implements Listener, CommandExecutor
    {
        private GroupManager groupManager;
        private Plugin plugin;
        public GMHook(final Plugin plugin)
        {
            this.plugin = plugin;
        }
        @EventHandler(priority = EventPriority.MONITOR)
        public void onPluginEnable(final PluginEnableEvent event)
        {
            final PluginManager pluginManager = plugin.getServer().getPluginManager();
            final Plugin GMplugin = pluginManager.getPlugin("GroupManager");
            if (GMplugin != null && GMplugin.isEnabled())
            {
                groupManager = (GroupManager)GMplugin;
            }
        }
        @EventHandler(priority = EventPriority.MONITOR)
        public void onPluginDisable(PluginDisableEvent event)
        {
            if (groupManager != null)
            {
                if (event.getPlugin().getDescription().getName().equals("GroupManager"))
                {
                    groupManager = null;
                }
            }
        }
        public String getGroup(final Player base)
        {
            final AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(base);
            if (handler == null)
            {
                return null;
            }
            return handler.getGroup(base.getName());
        }
        public boolean setGroup(final Player base, final String group)
        {
            final OverloadedWorldHolder handler = groupManager.getWorldsHolder().getWorldData(base);
            if (handler == null)
            {
                return false;
            }
            handler.getUser(base.getName()).setGroup(handler.getGroup(group));
            return true;
        }
        public List<String> getGroups(final Player base)
        {
            final AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(base);
            if (handler == null)
            {
                return null;
            }
            return Arrays.asList(handler.getGroups(base.getName()));
        }
        public String getPrefix(final Player base)
        {
            final AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(base);
            if (handler == null)
            {
                return null;
            }
            return handler.getUserPrefix(base.getName());
        }
        public String getSuffix(final Player base)
        {
            final AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(base);
            if (handler == null)
            {
                return null;
            }
            return handler.getUserSuffix(base.getName());
        }
        public boolean hasPermission(final Player base, final String node)
        {
            final AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(base);
            if (handler == null)
            {
                return false;
            }
            return handler.has(base, node);
        }
        public static Plugin plugin1;
      
        public void PlayerJoinQuitEvent(Plugin plugin){
                this.plugin = plugin;
        }
     
        @EventHandler
        public void onJoin(PlayerJoinEvent event){
                Player player = (Player)event.getPlayer();
                event.setJoinMessage(ChatColor.GRAY + "[" + ChatColor.GREEN + "+" + ChatColor.GRAY + "] " + player.getDisplayName());
        }
     
        @EventHandler
        public void onQuit(PlayerQuitEvent event){
                Player player = (Player)event.getPlayer();
                event.setQuitMessage(ChatColor.GRAY + "[" + ChatColor.RED + "-" + ChatColor.GRAY + "] " + player.getDisplayName());
        }
    
          
        @EventHandler
        public void onChat(PlayerChatEvent event){
                Player player = event.getPlayer();
                String Msg = event.getMessage();
                String prefix = getPrefix(player);
                String coloredMessage = ChatColor.translateAlternateColorCodes('&', prefix);
                String suffix = getSuffix(player);
                String coloredMessage2 = ChatColor.translateAlternateColorCodes('&', suffix);
    
             
                event.setFormat(coloredMessage + " " + player.getDisplayName() + ChatColor.GOLD + " >> " + coloredMessage2 + Msg);
              
        }
        @Override
        public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
          
                 if(label.equalsIgnoreCase("ich")){
                     Player player = (Player) sender;
                    String prefix = getPrefix(player);
                      String coloredMessage = ChatColor.translateAlternateColorCodes('&', prefix);
                       String suffix = getSuffix(player);
                       String coloredMessage2 = ChatColor.translateAlternateColorCodes('&', suffix);
                  
                  
                  
                     player.sendMessage(ChatColor.GREEN + "You are " +coloredMessage+" "+ player.getDisplayName() + " !");
        }
            return false;
           
        }
      
    }
    

    This is a part of my Main.java:
    Code:
            @Override
            public void onEnable(){
              
                    System.out.println("[PLUGIN] The Plugin have been activated!");
                    this.getCommand("ich").setExecutor(new GMHook(this));
                    Bukkit.getPluginManager().registerEvents(new GMHook(this), this);
                    Bukkit.getPluginManager().registerEvents(new Events(this), this);
                  
                    try {
                        Config.save();
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
    }
            

    But everytime I do this with GroupManager(GMHook) i get this error(in the console):
    Code:
    [13:00:19 INFO]: AlGrande issued server command: /ich
    [13:00:19 ERROR]: null
    org.bukkit.command.CommandException: Unhandled exception executing command 'ich'
    in plugin AlGrande v1.0
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[cra
    ftbukkit-1.8.6.jar:git-Bukkit-8c14eb4]
            at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:14
    0) ~[craftbukkit-1.8.6.jar:git-Bukkit-8c14eb4]
            at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchCommand(CraftServe
    r.java:625) ~[craftbukkit-1.8.6.jar:git-Bukkit-8c14eb4]
            at net.minecraft.server.v1_8_R3.PlayerConnection.handleCommand(PlayerCon
    nection.java:1079) [craftbukkit-1.8.6.jar:git-Bukkit-8c14eb4]
            at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java
    :939) [craftbukkit-1.8.6.jar:git-Bukkit-8c14eb4]
            at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(SourceFile:37) [craft
    bukkit-1.8.6.jar:git-Bukkit-8c14eb4]
            at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(SourceFile:9) [craftb
    ukkit-1.8.6.jar:git-Bukkit-8c14eb4]
            at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:1
    3) [craftbukkit-1.8.6.jar:git-Bukkit-8c14eb4]
            at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [
    ?:1.8.0_31]
            at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_31]
            at net.minecraft.server.v1_8_R3.SystemUtils.a(SystemUtils.java:19) [craf
    tbukkit-1.8.6.jar:git-Bukkit-8c14eb4]
            at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:6
    76) [craftbukkit-1.8.6.jar:git-Bukkit-8c14eb4]
            at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:3
    35) [craftbukkit-1.8.6.jar:git-Bukkit-8c14eb4]
            at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:6
    32) [craftbukkit-1.8.6.jar:git-Bukkit-8c14eb4]
            at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java
    :540) [craftbukkit-1.8.6.jar:git-Bukkit-8c14eb4]
            at java.lang.Thread.run(Unknown Source) [?:1.8.0_31]
    Caused by: java.lang.NullPointerException
            at me.AlGrande.main.GMHook.getPrefix(GMHook.java:94) ~[?:?]
            at me.AlGrande.main.GMHook.onCommand(GMHook.java:158) ~[?:?]
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[cra
    ftbukkit-1.8.6.jar:git-Bukkit-8c14eb4]
            ... 15 more
    >
    I hope someone can help me!
    Thanks
     
  2. Offline

    timtower Administrator Administrator Moderator

    Moved to Bukkit alternatives
     
Thread Status:
Not open for further replies.

Share This Page