• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Spigot OutofInventory Click (InventoryClickEvent)

D

deleted191575

Guest
Hallo Liebe Minecraft-Server.eu Community,
Ich bin heute ein weiteres mal auf eure großzügige Hilfe angewiesen und würde gerne wissen wie ich den Fehler (Wie schon im Titel genannt) beheben kann ?
Einmal ganz kurz zum Verständis. (Bugreproduktion):

1. Man klick in das geöffnete Inventar auf die Seiten wo kein InventarSpace ist und es kommt ein Fehler denn ich nicht ganz verstehe bzw. ein Problem mit dem ich es noch nie zu tun hatte.

Zuvor, ich danke euch jetzt vorrausschuend schoneimal.

Im unteren Teile dieses Beitrags ist das Code-Beispiel von mir dargelegt.

java:
if(e.isLeftClick() || e.isRightClick() || e.isShiftClick()) {
    if((e.getCurrentItem().getType() == Material.AIR && e.getCurrentItem().getType() == Material.GRASS) || e.getCurrentItem().getType() == Material.BARRIER) return;
        e.setCancelled(true);
}

//Es hapert ganz offensichtlich an der 2. Abfrage und ich habe es mit mehrer verschiedenen
//probiert wie zum Bsp. e.getAction() == ClickType.WINDOW_BORDER_LEFT & e.getAction() == ClickType.WINDOW_BORDER_RIGHT
//ich freue mich auf eure Lösungsvorschläge.
 

SirYwell

PlotSquared Entwickler
Registriert
30 Juni 2017
Beiträge
540
Diamanten
488
Minecraft
SirYwell
Abgesehen davon, dass (e.getCurrentItem().getType() == Material.AIR && e.getCurrentItem().getType() == Material.GRASS) niemals true zurückgeben wird, wäre es hilfreich, wenn du uns den wirklichen Fehler mitteilen würdest (zumindest habe ich nichts in Richtung OutOfInventoryXXX gefunden). Ich vermute mal,dass e.getCurrentItem() null zurückgibt und du deswegen einen NPE bekommst.
 
D

deleted191575

Guest
Ja genau, eine NullPointerException hättest du einen Lösungsvorschlag wie ich es Abfragen könnte abgesehen von if(e.getCurrentItem() != null) {, weil dies habe ih bereits versucht und es gibt immernoch die NPE zurück :/

//EDIT
java:
Caused by: java.lang.NullPointerException
        at net.brutalverzockt.world_manager.listener.InventoryMoveItemListener.onInvClick(InventoryMoveItemListener.java:23) ~[?:?]
        
//An dieser Stelle im Code sind diese Abfragen.
 
Oben