Überprüfen wenn Spieler ein Rüstungsteil nicht an hat.

  • Guten Tag, Ich habe folgendes Problem nämlich: Ich weiß wie man abfragt ob ein Spieler ein bestimmtes Rüstungsteil an hat, aber Jetzt möchte ich herausfinden wie ich abfragen kann ob ein Spieler ein bestimmtes Rüstungsteil nicht an hat.


    Also so soll es ungefähr aussehen:


    Code
    if (p.getInventory().getChestplate() != null && p.getInventory().getChestplate().getType() == Material.LEATHER_CHESTPLATE) {
        Main.Jetpack_Rüstung.add(p);
    } else if(p.getInventory().getChestplate() == null||p.getInventory().getChestplate().getType() == Material.LEATHER_CHESTPLATE == false) {
        Main.Jetpack_Rüstung.remove(p);
    }



    Dies ist ein Plugin für ein Jetpack aber die Funktion ist für euch unrelevant.

  • Versuchs mal mit dem InventoryClickEvent und dann auf den InventoryType.PLAYER überprüfen.

    Zudem ist deine letzte Abfrage falsch: if(p.getInventory().getChestplate() == null||p.getInventory().getChestplate().getType() == Material.LEATHER_CHESTPLATE == false) {

    Man verneint Vergleiche mit einem !.

    p.getInventory().getChestplate().getType() == Material.LEATHER_CHESTPLATE == false --> p.getInventory().getChestplate().getType() != Material.LEATHER_CHESTPLATE[/tt][/tt]


    BTW: bitte beachte mal ein bisschen deinen Codestyle. Ich sehe da auf Anhieb 3 böse Sachen in einer Variable:

    Main.Jetpack_Rüstung.add(p);

    Zu Erklärung: Variablen schreibt man grundsätzlich klein AUßER: Variablen mit den Modifiern final & static in Kombination!

    Niemals Umlaute in Variablen -> Englische Sprache hat kein üöä im Alphabet.

    Variablen schreibt man im LowerCamelCase d.h.: erster Buchstabe klein, jedes neue anfangende Wort groß.