Minecraft Java Villager einen Befehl ausführen lassen?
Hi, programmiere gerade ein Plugin für eine Tägliche Belohnung.
Wenn der Villager genau den Titel haben soll "- Tägliche Belohnung -" soll er den Befehl /reward ausführen. Das Plugin funktioniert, wenn der Villager genau den einen Titel ("- Tägliche Belohnung -") hat.
Wenn es jedoch ein normaler Villager ohne Titel ist, öffnet sich nicht das Traidingfenster, sondern es passiert nichts und es kommt eine Fehlermeldung.
2 Antworten
Naja, der Fehler sagt eigentlich schon ziemlich genau, was falsch ist.
ent.getCustomName() gibt null zurück, da der Villager halt keinen Namen hat. Du versuchst dann auf diesem null-Wert die Methode equalsIgnoreCase() auszuführen. Geht aber natürlich nicht, da der erste Wert null und kein String ist.
Du musst also erst prüfen, ob der Villager überhaupt einen Namen hat.
Man kann es alternativ auch umdrehen.
("- Tägliche Belohnung -").equalsIgnoreCase(ent.getC…)
Ist das der ganze Error? Könntest du vielleicht noch ein Bild vom Ganzen posten?
Das ist bereits der ganze Error