2016-07-24 41 views
0

如果玩家使用ShopGUI + Plugin購買或出售,我有錯誤,它會在安慰中出錯!插件ShopGUI +: https://www.spigotmc.org/resources/shopgui.6515/錯誤控制檯:http://pastebin.com/Q1Hjssfm請幫助我。謝謝!如何在控制檯上修復錯誤空垃圾郵件?

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); 
} } 

回答

0

至於你所提供的NullPointerException異常得好,這是導致該錯誤的行:

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

你應該能夠檢查爲什麼它會導致一個NullPointerException。

我想你得到的事件錯誤將會在您修復代碼後立即解決。

您提供的第一個鏈接在未登錄狀態下無法使用。

+0

感謝您的支持!我解決了! –