[SEVERE] Exception in thread "pool-1-thread-7"

Discussion in 'Plugin Development' started by Mathias Eklund, Jul 18, 2013.

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

    Mathias Eklund

    Hello, I got this error now, and i don't know what the problem is/ how to fix it, so please forums, maybe some help?

    Error lines.
    Code:
    01:17:15 [SEVERE] Exception in thread "pool-1-thread-7"
    01:17:15 [SEVERE] org.apache.commons.lang.UnhandledException: Plugin HammerfallB
    ackpacks v1.0 generated an exception while executing task 14
            at org.bukkit.craftbukkit.v1_6_R2.scheduler.CraftAsyncTask.run(CraftAsyn
    cTask.java:56)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
            at java.lang.Thread.run(Unknown Source)
    Caused by: java.lang.NullPointerException
            at me.dojmgubben.hammerfallpremium.InventoryListener$1.run(InventoryList
    ener.java:42)
            at org.bukkit.craftbukkit.v1_6_R2.scheduler.CraftTask.run(CraftTask.java
    :53)
            at org.bukkit.craftbukkit.v1_6_R2.scheduler.CraftAsyncTask.run(CraftAsyn
    cTask.java:53)
            ... 3 more
    Inventory Listener
    Show Spoiler

    Code:java
    1. package me.dojmgubben.hammerfallpremium;
    2.  
    3. import java.io.File;
    4. import java.io.IOException;
    5. import java.sql.SQLException;
    6.  
    7. import org.bukkit.ChatColor;
    8. import org.bukkit.configuration.file.FileConfiguration;
    9. import org.bukkit.configuration.file.YamlConfiguration;
    10. import org.bukkit.entity.Player;
    11. import org.bukkit.event.EventHandler;
    12. import org.bukkit.event.EventPriority;
    13. import org.bukkit.event.Listener;
    14. import org.bukkit.event.inventory.InventoryClickEvent;
    15. import org.bukkit.event.inventory.InventoryCloseEvent;
    16. import org.bukkit.inventory.Inventory;
    17. import org.bukkit.inventory.ItemStack;
    18.  
    19. public class InventoryListener implements Listener {
    20.  
    21. private final HammerfallBackpacks plugin;
    22.  
    23. public InventoryListener(final HammerfallBackpacks plugin) {
    24. this.plugin = plugin;
    25. }
    26.  
    27. @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
    28. public void onInventoryClose(final InventoryCloseEvent e) {
    29. final String name = e.getPlayer().getName();
    30. if (plugin.playerData.containsKey(name)) {
    31. final Inventory inv = e.getView().getTopInventory();
    32. plugin.getServer().getScheduler().runTaskAsynchronously(plugin, new Runnable() {
    33. @Override
    34. public void run() {
    35. if (plugin.isUsingMysql()) {
    36. try {
    37. MysqlFunctions.addBackpackData(name, plugin.playerData.get(name), inv);
    38. } catch (final SQLException e) {
    39. e.printStackTrace();
    40. }
    41. } else {
    42. final String invString = HammerfallBackpacks.NMS.inventoryToString(inv);
    43. final File file = new File(plugin.getDataFolder() + File.separator + "userdata" + File.separator + name + ".yml");
    44. final FileConfiguration config = YamlConfiguration.loadConfiguration(file);
    45. config.set(plugin.playerData.get(name) + ".Inventory", invString);
    46. try {
    47. config.save(file);
    48. } catch (final IOException e) {
    49. e.printStackTrace();
    50. }
    51. }
    52. plugin.playerData.remove(name);
    53. }
    54. });
    55. }
    56. }
    57.  
    58. @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
    59. public void onInventoryClick(final InventoryClickEvent e) {
    60. if (e.getWhoClicked() instanceof Player) {
    61. final ItemStack curItem = e.getCurrentItem();
    62. final Inventory otherInv = e.getView().getTopInventory();
    63. if (curItem != null && otherInv != null) {
    64. final Player p = (Player) e.getWhoClicked();
    65. final String name = p.getName();
    66. if (plugin.slowedPlayers.contains(name)) {
    67. boolean go = false;
    68. String type = null;
    69. for (final String backpack : plugin.backpacks) {
    70. if (curItem.isSimilar(plugin.backpackItems.get(backpack))) {
    71. go = true;
    72. type = "bp";
    73. } else if (plugin.playerData.containsKey(name)) {
    74. for (final String blacklist : plugin.backpackBlacklist.get(plugin.playerData.get(name))) {
    75. if (blacklist == null) {
    76. continue;
    77. }
    78. if (plugin.backpackItems.containsKey(blacklist)) {
    79. if (curItem.isSimilar(plugin.backpackItems.get(blacklist))) {
    80. go = true;
    81. type = "bl";
    82. break;
    83. }
    84. } else {
    85. if (curItem.isSimilar(HBUtil.getItemstackFromString(blacklist))) {
    86. go = true;
    87. type = "bl";
    88. break;
    89. }
    90. }
    91. }
    92. }
    93. if (go) {
    94. if (type.equals("bp")) {
    95. plugin.slowedPlayers.remove(name);
    96. p.setWalkSpeed(0.2F);
    97. return;
    98. } else {
    99. e.setCancelled(true);
    100. p.sendMessage(ChatColor.translateAlternateColorCodes('&', plugin.messageData.get("cantPutItemInBackpack")));
    101. return;
    102. }
    103. } else {
    104. continue;
    105. }
    106. }
    107. }
    108. }
    109. }
    110. }
    111. }


    If you got a solution or an idea on how to fix, please state it :) No hard feelings if it does not work.
     
  2. Offline

    skore87

    Caused by: java.lang.NullPointerException
    at me.dojmgubben.hammerfallpremium.InventoryListener$1.run(InventoryList
    ener.java:42)
     
  3. Offline

    Mathias Eklund

    Yes i know, I've checked the code, but don't know whats wrong.
     
  4. Offline

    Pawnguy7

    Is NMS null? Not sure, check for what is null.
     
Thread Status:
Not open for further replies.

Share This Page