(Spigot) » Yaml Datei; if Abfrage funktioniert nicht

  • Guten Abend!


    Ich programmiere im Moment ein System welches mit Yaml Configurations arbeitet.

    Ich habe dort ein Inventar, mit mehreren Item wenn man auf eines klickt wird der Spieler in eine der Dateien gesetzt mit dem entsprechendem Eintrag.

    Wenn man jetzt noch auf ein Item zum bestätigen klickt, kommt die definierte else Nachricht als Fehler.


    Hier mein Code:




    Habe erstmal wie im Code zu sehen nur eine Abfrage für Gamemode 0

    Das setzten in der Config funktioniert auch einwandfrei.

    Ist meine Abfrage falsch aufgebaut, oder woran könnte es liegen?

    MFG

  • Guten Tag JD1992


    Wie ich geschrieben hatte wenn man jetzt auf das Item klickt und der die if ausführt, kommt die else Nachricht der if

    also kann er den Eintrag aus der Config nicht auslesen.


    Config Datei: Bei Auswahl von Gamemode 0


    Code
    1. MEIN SPIELER NAME:
    2. GMZS: gm1

    Übrigens: Es kommt doch ein Fehler in der Console:



    Irgendwie kann der die Datei nicht auslesen.

    Aber habe nochmal die Namen kontrolliert, sie stimmen.

  • Deine exception sagt dir recht genau was los ist.


    java.lang.NullPointerException


    Und


    GMInventorySelectLauscher.java:37


    sagt dir eigentlich das in der angegeben Datei in Zeile 37 etwas null ist. Da du uns nicht die ganze Datei zur Verfügung gestellt hast musst du und mitteilen wie diese Zeile aussieht oder am besten die ganze Datei zur Verfügung stellen, was besser wäre da wir dann besser verstehen könnten was genau abläuft.

  • Hey JD1992.


    Danke für die Antwort, hier die ganze GMInventorySelectLauscher Class:





    Hier nochmal ein aktueller Fehler: ist jetzt Zeile 40 anstatt 37, weil ich was verändert habe:



    Erstmal hier nur eine Gamemode 1 Abfrage.


    MFG

  • Bevor du den Namen des Inventars abfragst, frag ab, ob das Inventar nicht null ist.


    Code
    1. @EventHandler
    2. public void onClick(InventoryClickEvent event) {
    3. if (event.getClickedInventory() != null) {
    4. if (event.getClickedInventory().getName().equals("DER NAME")) {
    5. // TODO
    6. }
    7. }
    8. }