Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Problem z otwieraniem inventory


Sebak17

Rekomendowane odpowiedzi

Opublikowano

Witam,

mam następujący problem, gdy gracz klknie na end stona to wywala ten błąd:

 

 

[15:59:45] [server thread/ERROR]: Could not pass event InventoryClickEvent to Sebak_Tools v1.0
org.bukkit.event.EventException
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:310) ~[silnik.jar:git-PaperSpigot-d6fa7c2-21681b3]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[silnik.jar:git-PaperSpigot-d6fa7c2-21681b3]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [silnik.jar:git-PaperSpigot-d6fa7c2-21681b3]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [silnik.jar:git-PaperSpigot-d6fa7c2-21681b3]
    at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:1606) [silnik.jar:git-PaperSpigot-d6fa7c2-21681b3]
    at net.minecraft.server.v1_8_R3.PacketPlayInWindowClick.a(SourceFile:31) [silnik.jar:git-PaperSpigot-d6fa7c2-21681b3]
    at net.minecraft.server.v1_8_R3.PacketPlayInWindowClick.a(SourceFile:9) [silnik.jar:git-PaperSpigot-d6fa7c2-21681b3]
    at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [silnik.jar:git-PaperSpigot-d6fa7c2-21681b3]
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_74]
    at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_74]
    at net.minecraft.server.v1_8_R3.SystemUtils.a(SystemUtils.java:19) [silnik.jar:git-PaperSpigot-d6fa7c2-21681b3]
    at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:770) [silnik.jar:git-PaperSpigot-d6fa7c2-21681b3]
    at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:371) [silnik.jar:git-PaperSpigot-d6fa7c2-21681b3]
    at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:709) [silnik.jar:git-PaperSpigot-d6fa7c2-21681b3]
    at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:612) [silnik.jar:git-PaperSpigot-d6fa7c2-21681b3]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_74]
Caused by: java.lang.NullPointerException
    at org.bukkit.craftbukkit.v1_8_R3.entity.CraftHumanEntity.openInventory(CraftHumanEntity.java:176) ~[silnik.jar:git-PaperSpigot-d6fa7c2-21681b3]
    at me.sebak.tools.Cmd.Crafting.CmdListaEQ.onClick(CmdListaEQ.java:115) ~[?:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_74]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_74]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_74]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_74]
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[silnik.jar:git-PaperSpigot-d6fa7c2-21681b3]
    ... 15 more

 

 

 

Kod z CmdStoniarkaEQ:

 

 

public class CmdStoniarkaEQ implements Listener{
    
    
      private static Inventory stoniarka;
    
    Inventory inv;
    
    public CmdStoniarkaEQ(){
        inv = Bukkit.createInventory(null, 45, "§6§lStoniarka");{
            inv.setItem(11, item1);
            inv.setItem(12, item2);
            inv.setItem(13, item1);
            
            inv.setItem(20, item2);
            inv.setItem(21, item3);
            inv.setItem(22, item2);
            
            inv.setItem(29, item1);
            inv.setItem(30, item4);
            inv.setItem(31, item1);
            
            inv.setItem(24, craft);
            inv.setItem(44, back);
            stoniarka = inv;
        }
    }
    
    
    ItemStack back = new ItemStack(Material.ARROW, 1);{
        ItemMeta im = back.getItemMeta();
        im.setDisplayName("§4§lWroc");
        back.setItemMeta(im);
    }
    
    ItemStack craft = new ItemStack(Material.ENDER_STONE, 1);{
        ItemMeta im = craft.getItemMeta();
        im.setDisplayName("§7Stoniarka");
        craft.setItemMeta(im);
    }
    
    ItemStack item1 = new ItemStack(Material.REDSTONE, 1);{
        ItemMeta im = item1.getItemMeta();
        im.setDisplayName("Redstone");
        item1.setItemMeta(im);
    }
    
    ItemStack item2 = new ItemStack(Material.IRON_INGOT, 1);{
        ItemMeta im = item2.getItemMeta();
        im.setDisplayName("Zelazo");
        item2.setItemMeta(im);
    }
    
    ItemStack item3 = new ItemStack(Material.STONE, 1);{
        ItemMeta im = item3.getItemMeta();
        im.setDisplayName("Kamien");
        item3.setItemMeta(im);
    }
    
    ItemStack item4 = new ItemStack(Material.ARROW, 1);{
        ItemMeta im = item4.getItemMeta();
        im.setDisplayName("Piston");
        item4.setItemMeta(im);
    }
    
    
    public static Inventory getInv() {
    
        return stoniarka;
    }
    
    
    @EventHandler
    public void onClick(InventoryClickEvent e){
        Inventory i = e.getInventory();
        if(i == null){
            return;
        }
        if(i !=null){
            if(!i.getName().equals(inv.getTitle())){
                return;
            }
            if (e.getCurrentItem() == null){
                return;
            }
            else{
                if(e.getCurrentItem().getItemMeta() == null){
                    return;
                }
            }
        }
        if(e.getWhoClicked() instanceof Player){
            Player p = (Player) e.getWhoClicked();
            if(e.getCurrentItem().getItemMeta() !=null){
                if(e.getCurrentItem().getItemMeta().getDisplayName().equals(item1.getItemMeta().getDisplayName())){
                    e.setCancelled(true);
                }
                if(e.getCurrentItem().getItemMeta().getDisplayName().equals(item2.getItemMeta().getDisplayName())){
                    e.setCancelled(true);
                    
                }
                if(e.getCurrentItem().getItemMeta().getDisplayName().equals(item3.getItemMeta().getDisplayName())){
                    e.setCancelled(true);
                    
                }
                if(e.getCurrentItem().getItemMeta().getDisplayName().equals(craft.getItemMeta().getDisplayName())){
                    e.setCancelled(true);
                    
                }
                if(e.getCurrentItem().getItemMeta().getDisplayName().equals(back.getItemMeta().getDisplayName())){
                    e.setCancelled(true);
                    p.getPlayer().openInventory(CmdListaEQ.getInv());
                } else{
                    e.setCancelled(true);
                }
            }
        }
    }

 

 

 

 

Kod z CmdListaEQ:

 

 

public class CmdListaEQ implements Listener {

    private static Inventory lista;

    Inventory inv;

    public CmdListaEQ() {
        inv = Bukkit.createInventory(null, 9, "§6§lLista craftingow");
        {
            inv.setItem(0, blank);
            inv.setItem(1, tpspawn);
            inv.setItem(2, blank);
            inv.setItem(3, boyfarmer);
            inv.setItem(4, blank);
            inv.setItem(5, stoniarka);
            inv.setItem(6, blank);
            inv.setItem(7, ew);
            inv.setItem(8, blank);
            lista = inv;
        }
    }

    ItemStack tpspawn = new ItemStack(Material.BLAZE_ROD, 1);
    {
        ItemMeta im = tpspawn.getItemMeta();
        im.setDisplayName("§6§lTeleport na spawna");
        im.addEnchant(Enchantment.SILK_TOUCH, 5, true);
        tpspawn.setItemMeta(im);
    }

    ItemStack boyfarmer = new ItemStack(Material.ENDER_PORTAL_FRAME, 1);
    {
        ItemMeta im = boyfarmer.getItemMeta();
        im.setDisplayName("§aBoyFarmer");
        im.addEnchant(Enchantment.LOOT_BONUS_BLOCKS, 5, true);
        im.setLore(Arrays.asList(StringUtils.color("Po polozeniu,"), StringUtils.color("kladzie sie obsidian"),
                StringUtils.color("60 kratek w dol, jezeli"), StringUtils.color("nie napotka zadnej przeszkody")));
        boyfarmer.setItemMeta(im);
    }

    ItemStack ew = new ItemStack(Material.ENDER_CHEST, 1);
    {
        ItemMeta im = ew.getItemMeta();
        im.setDisplayName("Enderchest");
        ew.setItemMeta(im);
    }

    ItemStack stoniarka = new ItemStack(Material.ENDER_STONE, 1);
    {
        ItemMeta ims = stoniarka.getItemMeta();
        ims.setDisplayName("§7Stoniarka");
        stoniarka.setItemMeta(ims);
    }

    ItemStack blank = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short) 8);
    {
        ItemMeta im = blank.getItemMeta();
        im.setDisplayName(" ");
        blank.setItemMeta(im);
    }

    public static Inventory getInv() {

        return lista;
    }

    @EventHandler
    public void onClick(InventoryClickEvent e) {
        Inventory i = e.getInventory();
        if (i == null) {
            return;
        }
        if (i != null) {
            if (!i.getName().equals(inv.getTitle())) {
                return;
            }
            if (e.getCurrentItem() == null) {
                return;
            } else {
                if (e.getCurrentItem().getItemMeta() == null) {
                    return;
                }
            }
        }
        if (e.getWhoClicked() instanceof Player) {
            Player p = (Player) e.getWhoClicked();
            if (e.getCurrentItem().getItemMeta() != null) {
                if (e.getCurrentItem().getItemMeta().getDisplayName().equals(tpspawn.getItemMeta().getDisplayName())) {
                    e.setCancelled(true);
                    p.getPlayer().openInventory(CmdSpawnEQ.getInv());
                }
                if (e.getCurrentItem().getItemMeta().getDisplayName().equals(boyfarmer.getItemMeta().getDisplayName())) {
                    e.setCancelled(true);
                    p.getPlayer().openInventory(CmdBoyEQ.getInv());
                }
                if (e.getCurrentItem().getItemMeta().getDisplayName().equals(stoniarka.getItemMeta().getDisplayName())) {
                    e.setCancelled(true);
                    p.getPlayer().openInventory(CmdStoniarkaEQ.getInv());
                }
                if (e.getCurrentItem().getItemMeta().getDisplayName().equals(ew.getItemMeta().getDisplayName())) {
                    e.setCancelled(true);
                    p.getPlayer().openInventory(CmdEnderEQ.getInv());
                } else {
                    e.setCancelled(true);
                }
            }
        }
    }

 

 

Opublikowano

at me.sebak.tools.Cmd.Crafting.CmdListaEQ.onClick(CmdListaEQ.java:115) ~[?:?]

twoja rzekoma 115 linijka nie istnieje, wklej cały kod..

Opublikowano

Możliwe, że używasz CmdStoniarkaEQ.getInv() przed użyciem konstruktora.

Spróbuj:

CmdStoniarkaEQ eq = new CmdStoniarkaEQ();
p.getPlayer().openInventory(eq.getInv());

Lub twórz ten ekwipunek i uzupełniaj go jako static.

Jeśli masz jakiś problem z Plugin'em/Skryptem do MineCraft'a to pisz na PW/Skype/GG, lub inny komunikator podany w profilu. Pomagam za darmo.

Pracuję na zlecenia. Do stałej pracy bardzo ciężko mnie namówić. ^^

 

Przepiszę Skrypt na Plugin! W większości przypadków za darmo.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...