Klingt doch ganz logisch ;)

Versuch’s doch einfach mal in einer Test-Ungebung: Mach 2 Gruppen mit grob den gleichen Rechten, verschiedenen Prefixes und lass sie NICHT erben. Wenn‘s dann funktioniert, weißt du, dass es am Vererben von Rechten liegt

LG Atomsi

...zur Antwort

Also:

Man macht eine Abfrage, BEVOR überhaupt etwas des Befehls ausgeführt wird, welche überprüft, ob die ausreichenden Rechte vorliegen. Dies geht mittels p.hasPermission(„hier.recht.einfuegen“). Normalerweise wird noch eine Else-Schleife erstellt, welche dann eine fehlernachricht für den Spieler enthält.

Außerdem musst du noch in der plugin.yml den Befehl „registrieren“ - das weiß ich aber leider gerade nicht auswendig, müsstest du nachgucken ;)

Ich hoffe, ich habe geholfen

Atomsi

...zur Antwort

Wie sieht denn der TS-String aus?

...zur Antwort

Ein Message-All-Befehl, mein TPall, ein Voting System.

Du solltest dich ein wenig fördern und nicht nur so einfache Befehle umsetzen ;) Denk an was großes und dann mach es - dabei lernt man wirklich was :)

...zur Antwort

Du fragst ja nur nach Dem CMD ab, nicht nach Args[0].. du setzt sogar voraus, dass Args[0] existiert (deswegen wahrscheinlich auch die Fehlermeldung).
Lösung:

1. If-Abfrage, ob CMD „heal“ entspricht
2. If-Abfrage, ob Args.size != 0 ist und ob Args[0]!=null ist
-> anderen spiele heilen, Name des Spieles ist Args[0]
Sollte 2 nicht zutreffen -> selber heilen

Hoffe ich konnte helfen

Atomsi

...zur Antwort

Du meinst sowas wie in Visual Studio Bzw Android Studio?

...zur Antwort

Du kannst den Spieler Befehle ausführen lassen mit „executeCommand“ o.ä.

...zur Antwort

Um hier auch mal eine ordentliche Antwort zu geben, die nicht auf Discord basiert (Leute, andere Leute wollen die Antwort vlltbsuch lesen?!)..

Um die Bewegungen eines Spielers zu registrieren und damit zu arbeiten, verwendet man einen sog. Listener, in dem Fall ein PlayerMoveListener.

Der hiermit verknüpfte Code wird jedes Mal ausgeführt, sobald sich der Spieler bewegt (dazu zählt btw auch MouseMovement, also Umgucken). In diesem kannst du die Position des Spielers mit [Player].getLocation() abfragen und diese mit [].subtract/add usw verändern. In deinem fall auf den Block unter dem Spieler. Darauffolgend ist es nun möglich mit [].getBlock().getMaterial() den Typ des Blockes zu erhalten. Diese lässt sich nun einfach mit dem von dir gewünschten Typ abgleichen (==) und bei Gleichheit zB ein Sieg auszulösen. (Hierbei ist eine Abfrage != null sinnvoll, um eine NullPointerException zu verhindern)

Ich hoffe ich konnte dir helfen (und mal wieder ein wenig Qualität in GF bringen..)

LG Atomsi

...zur Antwort

„Was wäre eigentlich, wenn das jetzt so wäre?“ und dann davon auf euch schließen? So ne Situation ist wohl nicht sooo häufig ;)

...zur Antwort

Klingt sketchy 🤔 Das mit den bereits bezahlten Stunden würde ich nochmal klären

...zur Antwort