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

menu pomocy / listenery


babciaaaa

Rekomendowane odpowiedzi

Opublikowano

czesc, od jakiegos czasu zaczynam bawic sie w kodowanie pluginow, lecz niestety potrzebuje pomocy:

1.Jezeli w pluginie jest zbyt duzo listenerow, czy plugin moze wtedy lagowac serwer?
2.chce zrobic obszerny panel pomocy skladajacy sie z wielu "class" lecz w wiekoszosci musze nadac :
    - czy jest mozliwosc zrobienia tego bez listenerow ?

public class xxx implements Listener{

gdy proboje zrobic kawalek menu w ktorym nie ma listenera:

Could not pass event InventoryClickEvent to Menu v1.0
org.bukkit.event.EventException
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:320) ~[craftbukkit-1.7.2-R0.3-.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[craftbukkit-1.7.2-R0.3-.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:486) [craftbukkit-1.7.2-R0.3-.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:471) [craftbukkit-1.7.2-R0.3-.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
        at net.minecraft.server.v1_7_R1.PlayerConnection.a(PlayerConnection.java:1361) [craftbukkit-1.7.2-R0.3-.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
        at net.minecraft.server.v1_7_R1.PacketPlayInWindowClick.a(SourceFile:32) [craftbukkit-1.7.2-R0.3-.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
        at net.minecraft.server.v1_7_R1.PacketPlayInWindowClick.handle(SourceFile:10) [craftbukkit-1.7.2-R0.3-.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
        at net.minecraft.server.v1_7_R1.NetworkManager.a(NetworkManager.java:146) [craftbukkit-1.7.2-R0.3-.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
        at net.minecraft.server.v1_7_R1.ServerConnection.c(SourceFile:134) [craftbukkit-1.7.2-R0.3-.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
        at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:655) [craftbukkit-1.7.2-R0.3-.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
        at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:250) [craftbukkit-1.7.2-R0.3-.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
        at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:545) [craftbukkit-1.7.2-R0.3-.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
        at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:457) [craftbukkit-1.7.2-R0.3-.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
        at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [craftbukkit-1.7.2-R0.3-.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
Caused by: java.lang.NullPointerException
        at org.bukkit.craftbukkit.v1_7_R1.entity.CraftHumanEntity.openInventory(CraftHumanEntity.java:185) ~[craftbukkit-1.7.2-R0.3-.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
        at me.czolg.plugin.MenuPomoc.onClick(MenuPomoc.java:108) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_79]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[?:1.7.0_79]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.7.0_79]
        at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_79]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:318) ~[craftbukkit-1.7.2-R0.3-.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
        ... 13 more
    @EventHandler
    public void onClick(InventoryClickEvent e){
        Inventory i = e.getInventory();
        if(i == null){
            return;
        }
        if(i !=null){
            if(!i.getName().equals(menu.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(menuls.getItemMeta().getDisplayName())){
                    e.setCancelled(true);
                    p.closeInventory();
                    p.openInventory(MenuCraftingLs.menu);
                }
                if(e.getCurrentItem().getItemMeta().getDisplayName().equals(powrot.getItemMeta().getDisplayName())){
                    e.setCancelled(true);
                    p.closeInventory();
                    p.openInventory(MenuPomoc.menu);
                }
            }
        }
    }

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...