Error when executing a command

Discussion in 'Plugin Development' started by bramhaag, Dec 21, 2013.

Thread Status:
Not open for further replies.
  1. Hi guys,
    like the title says, I got a problem when I execute a command :(
    this is the errorlog:
    Code:
    [11:00:16 ERROR]: null
    org.bukkit.command.CommandException: Unhandled exception executing command 'hide
    hub' in plugin HideHub v1.1.0(0)
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[buk
    kit.jar:git-Bukkit-1.7.2-R0.2-1-gbafd450-b2975jnks]
            at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:19
    6) ~[bukkit.jar:git-Bukkit-1.7.2-R0.2-1-gbafd450-b2975jnks]
            at org.bukkit.craftbukkit.v1_7_R1.CraftServer.dispatchCommand(CraftServe
    r.java:542) ~[bukkit.jar:git-Bukkit-1.7.2-R0.2-1-gbafd450-b2975jnks]
            at net.minecraft.server.v1_7_R1.PlayerConnection.handleCommand(PlayerCon
    nection.java:932) [bukkit.jar:git-Bukkit-1.7.2-R0.2-1-gbafd450-b2975jnks]
            at net.minecraft.server.v1_7_R1.PlayerConnection.a(PlayerConnection.java
    :814) [bukkit.jar:git-Bukkit-1.7.2-R0.2-1-gbafd450-b2975jnks]
            at net.minecraft.server.v1_7_R1.PacketPlayInChat.a(PacketPlayInChat.java
    :28) [bukkit.jar:git-Bukkit-1.7.2-R0.2-1-gbafd450-b2975jnks]
            at net.minecraft.server.v1_7_R1.PacketPlayInChat.handle(PacketPlayInChat
    .java:47) [bukkit.jar:git-Bukkit-1.7.2-R0.2-1-gbafd450-b2975jnks]
            at net.minecraft.server.v1_7_R1.NetworkManager.a(NetworkManager.java:146
    ) [bukkit.jar:git-Bukkit-1.7.2-R0.2-1-gbafd450-b2975jnks]
            at net.minecraft.server.v1_7_R1.ServerConnection.c(SourceFile:134) [bukk
    it.jar:git-Bukkit-1.7.2-R0.2-1-gbafd450-b2975jnks]
            at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:6
    55) [bukkit.jar:git-Bukkit-1.7.2-R0.2-1-gbafd450-b2975jnks]
            at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:2
    50) [bukkit.jar:git-Bukkit-1.7.2-R0.2-1-gbafd450-b2975jnks]
            at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:5
    45) [bukkit.jar:git-Bukkit-1.7.2-R0.2-1-gbafd450-b2975jnks]
            at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java
    :457) [bukkit.jar:git-Bukkit-1.7.2-R0.2-1-gbafd450-b2975jnks]
            at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:6
    17) [bukkit.jar:git-Bukkit-1.7.2-R0.2-1-gbafd450-b2975jnks]
    Caused by: java.lang.NullPointerException
            at me.bramhaag.hidehub.HideHub.Commands.onTorch(Commands.java:53) ~[?:?]
     
            at me.bramhaag.hidehub.HideHub.Commands.onCommand(Commands.java:130) ~[?
    :?]
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[buk
    kit.jar:git-Bukkit-1.7.2-R0.2-1-gbafd450-b2975jnks]
            ... 13 more
    And here is a snippet of the command class:
    Code:java
    1. switch(args.length)
    2. {
    3. case 1:
    4. case 2:
    5. sender.sendMessage(ChatColor.RED + "/hidehub give <player> toggleplayeron|toggleplayeroff");
    6. break;
    7. case 3:
    8. Player t = Bukkit.getPlayer(args[1]);
    9. if(t == null)
    10. {
    11. sender.sendMessage("§2" + args[1] + " §6is not online!");
    12. }
    13. else
    14. {
    15. if(args[2].equalsIgnoreCase("toggleplayeron"))
    16. {
    17. t.getInventory().addItem(onTorch());
    18. Material m = Material.getMaterial(plugin.getConfig().getString("hide-players-on-item"));
    19. sender.sendMessage("§6You gave §2" + args[1] + " §6a(n) §2" + m.toString().toLowerCase().replace("_", "") + "§6!");
    20. t.sendMessage("§6You were given a(n) §2" + m.toString().toLowerCase().replace("_", "") + "§6!");
    21. }
    22. else if(args[2].equalsIgnoreCase("toggleplayeroff"))
    23. {
    24. t.getInventory().addItem(offTorch());
    25. Material m = Material.getMaterial(plugin.getConfig().getString("hide-players-off-item"));
    26. sender.sendMessage("§6You gave §2" + args[1] + " §6a(n) §2" + m.toString().toLowerCase().replace("_", "") + "§6!");
    27. t.sendMessage("§6You were given a(n) §2" + m.toString().toLowerCase().replace("_", "") + "§6!");
    28. }
    29. else
    30. {
    31. sender.sendMessage(ChatColor.RED + "/hidehub give <player> toggleplayeron|toggleplayeroff");
    32. }
    33. }
    34. break;
    35. }
    36. }


    Hope that you guys can help.

    thanks,
    bramhaag
     
  2. Offline

    jimuskin

    what are lines 130 and 53?
     
  3. jimuskin

    Line 130:
    t.getInventory().addItem(onTorch());

    Line 53:
    Material m = Material.getMaterial(plugun.getConfig().getString("hide-players-on-item-name").toUpperCase());
     
  4. Offline

    CeramicTitan

    Make sure your config and players aren't null.
     
  5. Offline

    Gater12

  6. Offline

    Gater12

    bramhaag May I see it? You are probably not returning the item stack in the method.
     
  7. Offline

    xTigerRebornx

    Does onTorch() return an ItemStack?
    edit: Got ninjad :l
     
  8. Gater12 sorry, i'm sorry im on Ipad, so i cannot put in an code tag

    Material m = Material.getMaterial(plugin.getConfig().getString("toggle_players_item_on").toUpperCase());
    if(m == null)
    {
    ItemStack t = new ItemStack(Material.WATCH);
    ItemMeta i = t.getItemMeta();
    i.setDisplayName(ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("toggle_players_item_on_name")));
    i.setLore(Arrays.asList(ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("toggle_players_item_on_lore"))));
    t.setItemMeta(i);
    return t;
    }
    else
    {
    ItemStack t = new ItemStack(m);
    ItemMeta i = t.getItemMeta();
    i.setDisplayName(ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("toggle_players_item_on_name")));
    i.setLore(Arrays.asList(ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("toggle_players_item_on_lore"))));
    t.setItemMeta(i);
    return t;
    }
    }
     
  9. Offline

    xTigerRebornx

    My guess is that whatever you are trying to refrence in your config is null, so it gives a NPE
     
  10. Idk what that means, but i need an answare to solve my error
     
  11. Offline

    xTigerRebornx

    Material m = Material.getMaterial(plugin.getConfig().getString("toggle_players_item_on").toUpperCase());

    When you are doing getConfig().getString("path"), there is nothing at that location in the config
     
  12. xTigerRebornx that's strange. I'm sure there is the item on that location
     
  13. Offline

    xTigerRebornx

    bramhaag Can I see what you have in your config?
     
  14. xTigerRebornx i'm on Ipad right now but i know the line of the toggle players thing. It was like this:
    toggle_players_item_on: 'WATCH'
     
  15. Offline

    xTigerRebornx

    bramhaag
    I can't be certain it was that, so when you can, get the code from the config, then post it here
     
  16. Offline

    CeramicTitan

    Your plugin instance is null. Fix that and it will fix all your problems. xTigerRebornx
     
  17. Offline

    xTigerRebornx

  18. Offline

    CeramicTitan

    xTigerRebornx I know lol, I tagged you in-case you wanted to say something about my solution.
     
  19. Offline

    xTigerRebornx

    CeramicTitan Okay, if the OP could provide the full class, we could verify this, unless I am just blind and don't see where the plugin instance is defined :p
     
  20. Offline

    CeramicTitan

    he would need to provide the whole class.
     
  21. CeramicTitan
    Whole class:
    Code:java
    1. package me.bramhaag.hidehub.HideHub;
    2.  
    3. import java.util.Arrays;
    4. import java.util.logging.Level;
    5.  
    6. import me.bramhaag.hidehub.HideHub.HideHub;
    7. import me.bramhaag.hidehub.HideHub.Listeners.TogglePlayerListener;
    8.  
    9. import org.bukkit.Bukkit;
    10. import org.bukkit.ChatColor;
    11. import org.bukkit.Material;
    12. import org.bukkit.command.Command;
    13. import org.bukkit.command.CommandExecutor;
    14. import org.bukkit.command.CommandSender;
    15. import org.bukkit.entity.Player;
    16. import org.bukkit.inventory.ItemStack;
    17. import org.bukkit.inventory.meta.ItemMeta;
    18.  
    19. public class Commands implements CommandExecutor
    20. {
    21.  
    22. public static HideHub plugin;
    23. public Commands(HideHub i)
    24. {
    25. plugin = i;
    26. }
    27. public ItemStack offTorch()
    28. {
    29. Material m = Material.getMaterial(plugin.getConfig().getString("hide-players-off-item").toUpperCase());
    30. if(m == null)
    31. {
    32. Bukkit.getLogger().log(Level.SEVERE, "§cThe toggle players item off item is wrong! Going to default REDSTONE_TORCH_OFF");
    33. ItemStack t = new ItemStack(Material.REDSTONE_TORCH_OFF);
    34. ItemMeta i = t.getItemMeta();
    35. i.setDisplayName(ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("hide-players-off-item-name")));
    36. i.setLore(Arrays.asList(ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("hide-players-off-item-lore"))));
    37. t.setItemMeta(i);
    38. return t;
    39. }
    40. else
    41. {
    42. ItemStack t = new ItemStack(m);
    43. ItemMeta i = t.getItemMeta();
    44. i.setDisplayName(ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("hide-players-off-item-name")));
    45. i.setLore(Arrays.asList(ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("hide-players-off-item-lore"))));
    46. t.setItemMeta(i);
    47. return t;
    48. }
    49. }
    50.  
    51. public ItemStack onTorch()
    52. {
    53. Material m = Material.getMaterial(plugin.getConfig().getString("hide-players-on-item-name").toUpperCase());
    54. if(m == null)
    55. {
    56. Bukkit.getLogger().log(Level.SEVERE, "§cThe toggle players item on item is wrong! Going to default WATCH");
    57. ItemStack t = new ItemStack(Material.WATCH);
    58. ItemMeta i = t.getItemMeta();
    59. i.setDisplayName(ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("hide-players-on-item-name")));
    60. i.setLore(Arrays.asList(ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("hide-players-on-item-lore"))));
    61. t.setItemMeta(i);
    62. return t;
    63. }
    64. else
    65. {
    66. ItemStack t = new ItemStack(m);
    67. ItemMeta i = t.getItemMeta();
    68. i.setDisplayName(ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("hide-players-on-item-name")));
    69. i.setLore(Arrays.asList(ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("hide-players-on-item-lore"))));
    70. t.setItemMeta(i);
    71. return t;
    72. }
    73. }
    74.  
    75. TogglePlayerListener tpl = new TogglePlayerListener(plugin);
    76.  
    77. public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args)
    78. {
    79. if(cmd.getName().equalsIgnoreCase("hh") || cmd.getName().equalsIgnoreCase("hidehub"))
    80. {
    81. if(args.length == 0)
    82. {
    83. sender.sendMessage(ChatColor.AQUA + "=====<" + ChatColor.GREEN + "HideHub by Bramhaag" + ChatColor.AQUA + ">=====");
    84. sender.sendMessage(ChatColor.AQUA + " =====<" + ChatColor.GREEN + " Help Menu " + ChatColor.AQUA + ">=====");
    85. sender.sendMessage("");
    86. sender.sendMessage(ChatColor.GOLD + "/hidehub" + ChatColor.DARK_AQUA + " Lets you see all the commands of HideHub!");
    87. sender.sendMessage(ChatColor.GOLD + "/hidehub reload" + ChatColor.DARK_AQUA + " Lets you reload the config of HideHub!");
    88. sender.sendMessage(ChatColor.GOLD + "/hidehub give" + ChatColor.DARK_AQUA + " Gives you the vanish item!");
    89. sender.sendMessage(ChatColor.GOLD + "/hidehub showplayers" + ChatColor.DARK_AQUA + " You see all the players again!");
    90. sender.sendMessage(ChatColor.GOLD + "/hidehub showsource" + ChatColor.DARK_AQUA + " Gives you a link to go to the source of HideHub!");
    91. sender.sendMessage(ChatColor.GOLD + "/hidehub credits" + ChatColor.DARK_AQUA + " Lets you see all the people that are involved in this project!");
    92. sender.sendMessage("");
    93. sender.sendMessage(ChatColor.AQUA + " =====<" + ChatColor.GREEN + " Help Menu " + ChatColor.AQUA + ">=====");
    94. sender.sendMessage(ChatColor.AQUA + "=====<" + ChatColor.GREEN + "HideHub by Bramhaag" + ChatColor.AQUA + ">=====");
    95. }
    96. else
    97. {
    98. if(args[0].equalsIgnoreCase("reload"))
    99. {
    100. if(sender.hasPermission("hh.reload"))
    101. {
    102. plugin.reloadConfig();
    103. sender.sendMessage("§aConfig reloaded!");
    104. }
    105. else
    106. {
    107. sender.sendMessage(ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("no-perms-message")));
    108. }
    109. }
    110. else if(args[0].equalsIgnoreCase("give"))
    111. {
    112. if(sender.hasPermission("hh.give"))
    113. {
    114. switch(args.length)
    115. {
    116. case 1:
    117. case 2:
    118. sender.sendMessage(ChatColor.RED + "/hidehub give <player> toggleplayeron|toggleplayeroff");
    119. break;
    120. case 3:
    121. Player t = Bukkit.getPlayer(args[1]);
    122. if(t == null)
    123. {
    124. sender.sendMessage("§2" + args[1] + " §6is not online!");
    125. }
    126. else
    127. {
    128. if(args[2].equalsIgnoreCase("toggleplayeron"))
    129. {
    130. t.getInventory().addItem(onTorch());
    131. Material m = Material.getMaterial(plugin.getConfig().getString("hide-players-on-item"));
    132. sender.sendMessage("§6You gave §2" + args[1] + " §6a(n) §2" + m.toString().toLowerCase().replace("_", "") + "§6!");
    133. t.sendMessage("§6You were given a(n) §2" + m.toString().toLowerCase().replace("_", "") + "§6!");
    134. }
    135. else if(args[2].equalsIgnoreCase("toggleplayeroff"))
    136. {
    137. t.getInventory().addItem(offTorch());
    138. Material m = Material.getMaterial(plugin.getConfig().getString("hide-players-off-item"));
    139. sender.sendMessage("§6You gave §2" + args[1] + " §6a(n) §2" + m.toString().toLowerCase().replace("_", "") + "§6!");
    140. t.sendMessage("§6You were given a(n) §2" + m.toString().toLowerCase().replace("_", "") + "§6!");
    141. }
    142. else
    143. {
    144. sender.sendMessage(ChatColor.RED + "/hidehub give <player> toggleplayeron|toggleplayeroff");
    145. }
    146. }
    147. break;
    148. }
    149. }
    150. else
    151. {
    152. sender.sendMessage(ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("no-perms-message")));
    153. }
    154. }
    155. else if(args[0].equalsIgnoreCase("showplayers"))
    156. {
    157. Player p = (Player) sender;
    158. if(!(tpl.h.contains(p.getName())))
    159. {
    160. for(Player o : Bukkit.getOnlinePlayers())
    161. {
    162. p.showPlayer(o);
    163. }
    164. p.sendMessage(ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("show-players-message")));
    165. }
    166. }
    167. else
    168. {
    169. sender.sendMessage(ChatColor.AQUA + "=====<" + ChatColor.GREEN + "HideHub by Bramhaag" + ChatColor.AQUA + ">=====");
    170. sender.sendMessage(ChatColor.AQUA + " =====<" + ChatColor.GREEN + " Help Menu " + ChatColor.AQUA + ">=====");
    171. sender.sendMessage("");
    172. sender.sendMessage(ChatColor.GOLD + "/hidehub" + ChatColor.DARK_AQUA + " Lets you see all the commands of HideHub!");
    173. sender.sendMessage(ChatColor.GOLD + "/hidehub reload" + ChatColor.DARK_AQUA + " Lets you reload the config of HideHub!");
    174. sender.sendMessage(ChatColor.GOLD + "/hidehub give" + ChatColor.DARK_AQUA + " Gives you the vanish item!");
    175. sender.sendMessage(ChatColor.GOLD + "/hidehub showsource" + ChatColor.DARK_AQUA + " Gives you a link to go to the source of HideHub!");
    176. sender.sendMessage(ChatColor.GOLD + "/hidehub credits" + ChatColor.DARK_AQUA + " Lets you see all the people that are involved in this project!");
    177. sender.sendMessage("");
    178. sender.sendMessage(ChatColor.AQUA + " =====<" + ChatColor.GREEN + " Help Menu " + ChatColor.AQUA + ">=====");
    179. sender.sendMessage(ChatColor.AQUA + "=====<" + ChatColor.GREEN + "HideHub by Bramhaag" + ChatColor.AQUA + ">=====");
    180. }
    181. }
    182. }
    183. return false;
    184. }
    185. }


    xTigerRebornx
    Config:
    Code:
    ##########################
    ######HideHub Config######
    ##########################
     
    #Don't change this file unless you know what you're doing!
    #The Config supports color codes
    #On the bottom of the Config is a list with all the color codes
     
     
    #Enable Coloured messages in console
    color-logs: true
     
    #Sends a message when a new version of HideHub is out
    auto-update: true
     
    #Gives you the vanish item when you join the server
    give-vanish-item-on-spawn: true
     
    #Clear inventory if you join the server
    clear-inv-on-spawn: true
    #Delay in seconds between the uses of vanishing players
    vanish-delay: 5
     
    #Custom names and descriptions(lores) for the player hide item
    #hide-players-on-item: Item when all players are visible(DON'T USE ID!)
    #hide-players-on-name: Name of the item
    #hide-players-on-lore: The description(lore) of the item
    hide-players-on-item: 'WATCH'
    hide-players-on-name: '&a--Vanish Players--'
    hide-players-on-lore: '&fRight click to vanish all the players'
     
    #hide-players-off-item: Item when all players are vanished
    #hide-players-off-name: Name of the item
    #hide-players-off-lore: The description(lore) of the item
    hide-players-off-item: 'REDSTONE_TORCH_OFF'
    hide-players-off-item-name: '&a--Make Players Visable--'
    hide-players-off-item-lore: '&fRight click to see the players'
     
     
     
    #Messages
    show-player-message: '&eYou can see all players'
    hide-player-message: '&eAll players are vanished'
    vanish-cooldown-message: '&cYou need to wait 5 seconds before you can use the clock again!'
    no-perms-message: '&cYou dont have permission to do that!'
     
    #Worlds where you can vanish players
    hide-players-allowed-worlds:
      - 'world'
    #Worlds where you can spawn the vanish item
    spawn-vanish-item-allowed-worlds:
      - 'world'
    #Worlds where you can't drop the vanish item
    drop-vanish-item-allowed-worlds:
    - 'world'
    #Color codes list:
    #Black            = &0       
    #Dark blue        = &1        Red            = &c
    #Dark green    = &2        Light purple    = &d
    #Dark aqua        = &3        Yellow            = &e
    #Dark red        = &4        White            = &f
    #Dark purple    = &5        Magic            = &k
    #Gold            = &6        Bold            = &l
    #Gray            = &8        Strikethrough  = &m
    #Blue            = &9        Underline      = &n
    #Green            = &a        Italic          = &o
    #Aqua            = &b        Reset          = &r
    
     
  22. Offline

    jimuskin

    Change
    Code:java
    1. public Commands(HideHub i)
    2. {
    3. plugin = i;
    4. }


    to

    Code:java
    1. public Commands(HideHub i)
    2. {
    3. this.plugin = i;
    4. }
     
  23. Offline

    xTigerRebornx

    bramhaag Any errors? Try adding debug messages each step of the command to see what isn't working specifically
     
  24. I think it's just an minecraft/bukkit bug
     
  25. Offline

    xTigerRebornx

    bramhaag After you give the player the item, try using t.updateInventory();
     
  26. xTigerRebornx Ok, i will try that

    xTigerRebornx btw if i do /give bramhaag minecraft:REDSTONE_TORCH_OFF it also wont give me an redstone torch off :/

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 5, 2016
Thread Status:
Not open for further replies.

Share This Page