Frage von LudwigSchindler, 70

Spigot Plugin, Spieler im Chat markieren?

Hi, Ich habe eine Frage zum Plugin programmieren mit der Spigot Bibliothek. Undzwar würde ich gerne wissen wie ich es machen kann, dass wenn ich einen Spielernamen (z.B.Minecrafter2001) in den Chat schreibe, dass der Name dann beim jeweiligen Spieler markiert/farbig im Chat steht. Ich habe bereits ein wenig rumprobiert mit msg.contains(spielername);, e.setCancelled(true);, und einigen weiteren Dingen, jedoch stoße ich immer wieder auf Fehler wie z.B. dass nach dem markierten die Nachricht nicht wie davor ist (Farbcodes etc.) und vieles weiteres. Deshalb wäre es nett, wenn jemand vllt. kurz beschreiben könnte wie und mit welchen Methoden, Schleifen etc. ich das am Besten machen. Danke schonmal für die Hilfe. Spigot-Version: 1.9.2, IDE: Eclipse Mars.2

Antwort
von Hallo99559, 50

chatEvent.setChatMessage(chatEvent.getChatMessage().replace(name,"§4"+name));

name: Spielername

§4: Colorcode

chatEvent: Instanz von AsyncPlayerChatEvent

Wenn die Nachricht tatsächlich nur beim jeweiligen Spieler farbig sein soll, schaust du mal bei der Spigothilfe vorbei (die solltest du eigentlich kennen: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/event/player/AsyncPlayerChat... ) und wirst die Methode getRecipients() vorfinden, die alle Empfänger zurückgibt. Da schmeißt du den markierten Spieler einfach raus und schickst ihm eine gesonderte Nachricht. Beachte, dass das so nur funktioniert, wenn in einer Nachricht auch nur ein Spieler markiert wird (es ist aber nicht zu schwer, das auch für mehrere Spieler auf einmal zu schreiben).

Antwort
von elekco, 17

Hast du es schon geschafft es zu Programmieren ? Würde mich freuen wenn du es uns zur Verfügung stellen würdest das würde uns sehr weiter helfen !

Skype: elekco1

Keine passende Antwort gefunden?

Fragen Sie die Community