Wie kann man abfragen ob ein String eine ChatColor ist(Minecraft)?

1 Antwort

Wie man der Dokumentation von Spigot entnehmen kann, ist ChatColor ein enum. Unter anderem hat es also die Methode valueOf(String name).

Heißt, du kannst einfach sowas machen wie:

String colorName = "blue";
ChatColor color = ChatColor.valueOf(colorName.toUpperCase());

Den String colorName kannst du dann irgendwo zwischenspeichern. (Habe den String extra klein geschrieben, um toUpperCase() mit rein zu bringen. Damit hast du etwas mehr Sicherheit als wenn du einfach immer im Kopf behalten müsstest, dass du überall Farben groß schreiben musst.)

Beachte, dass "komplexere" Farben, also Farben mit Unterstrich im Namen, auch im String einen haben müssen. Hast du also einen Input eines Users mit drin, der zum beispiel "dark blue" eingegeben hat, musst du nicht nur toUpperCase() machen, sondern auch replaceAll(" ", "_") o.A.


2sdaw 
Beitragsersteller
 05.08.2019, 20:23

Danke

0