2016-07-24 27 views
0

Ich habe einen Fehler, wenn Spieler ShopGUI + Plugin zum Kauf oder Verkauf verwenden, wird es in consoler Fehler! Plugin ShopGUI +: https://www.spigotmc.org/resources/shopgui.6515/ Fehler Konsole: http://pastebin.com/Q1Hjssfm Bitte helfen Sie mir. Vielen Dank!Wie kann ich Fehler-Null-Spam auf der Konsole beheben?

class: package com.andrewyunt.townygui.listeners; 
import com.andrewyunt.townygui.Menu; 
import com.andrewyunt.townygui.TownyGUI; 
import com.andrewyunt.townygui.utilities.CommandBuilder; 
import com.gmail.filoghost.hiddenstring.HiddenStringUtils; 
import org.bukkit.command.CommandSender; 
import org.bukkit.entity.Player; 
import org.bukkit.event.EventHandler; 
import org.bukkit.event.Listener; 
import org.bukkit.event.inventory.InventoryClickEvent; 
import org.bukkit.inventory.ItemStack; 
import org.bukkit.inventory.meta.ItemMeta; 
import java.util.List; 
import java.util.Set; 

public class InventoryListener implements Listener { 

@EventHandler 
public void onInventoryClick(InventoryClickEvent sukien) { 

    ItemStack item = sukien.getCurrentItem(); 

    Player player = (Player) sukien.getWhoClicked(); 

    if(!(sukien.getInventory().getHolder() == null)) 
     return; 

    if(item == null || !item.hasItemMeta()) 
     return; 

    ItemMeta meta = item.getItemMeta(); 
    List<String> lore = meta.getLore(); 

    if(!HiddenStringUtils.hasHiddenString(lore.get(0))) 
     return; 

    String action = HiddenStringUtils.extractHiddenString(lore.get(0)); 

    boolean command; 

    command = action.startsWith("/"); 

    if(!command) 
     new Menu(player, action); 
    else { 
     player.closeInventory(); 

     Set<String> arguments; 
     try { 
      arguments = TownyGUI.plugin.commandConfig.getConfig().getConfigurationSection("commands."+ action + ".arguments").getKeys(false); 
     } catch(NullPointerException e) { 
      action = action.replace("/", ""); 
      TownyGUI.plugin.server.dispatchCommand(player, action); 
      sukien.setCancelled(true); 
      return; 
     } 

     new CommandBuilder(arguments, action).beginConversation((CommandSender) player); 
    } 

    sukien.setCancelled(true); 
} } 

Antwort

0

Was die Nullpointer Sie geht zur Verfügung gestellt, das ist die Linie, die den Fehler verursacht:

String action = HiddenStringUtils.extractHiddenString(lore.get(0)); 

sollten Sie in der Lage sein, warum überprüfen sie in einem Nullpointer führt.

Ich denke, dass der Ereignisfehler, den Sie erhalten, gelöst wird, sobald Sie Ihren Code reparieren.

Auch die erste Verbindung, die Sie zur Verfügung gestellt haben, funktioniert nicht ohne angemeldet zu werden.

+0

Danke für Sie hat unterstützt! Ich habe es repariert! –