• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

PlayerChatEvent

gmb32

Kuhfänger
Registriert
17 Juni 2014
Beiträge
84
Diamanten
0
Hey,
ich habe etwas ausprobiert das wenn man auf etwas drauf drückt in den Chat den Namen eingeben muss aber wie kann ich die Argumente abfragen der Rest funktionier bisher einwandfrei.
if(e.getMessage.lenght() == 0){} Funktioniert nicht...
 

JOO200

Braumeister
Registriert
18 Dezember 2016
Beiträge
442
Diamanten
228
Zuerst einmal solltest du das asynchrone Event benutzen, das synchrone ist veraltet.
Dann sollte dir klar sein, dass AsyncPlayerChatEvent$getMessage() ein String zurückgibt. Einen String mit der Länge null würde ein leerer String sein, dieser wird allerdings in Minecraft schon beim Senden unterdrückt. Daher wäre es wohl besser, wenn du getMessage().split(' '); benutzt. Dann hast du ein Array und kannst dies wie bei Commands benutzen ;)
 

JOO200

Braumeister
Registriert
18 Dezember 2016
Beiträge
442
Diamanten
228
So? Wobei "playerSet" dein Set ist, von Spielern, deren Chateingabe du erwartest.
Javascript:
@EventHandler
    public void onChatEvent(AsyncPlayerChatEvent event) {
        if(!playerSet.contains(event.getPlayer())) return;
        String [] message = event.getMessage().split(" ");
        if(message.length == 0) return; // nur zur Sicherheit
        String name = message[0];
        Player pl = Bukkit.getPlayer(name);
        if(pl == null) // unbekannter Spieler
        event.setCancelled(true); // braucht kein anderer Spieler mehr zu sehen.
        playerSet.remove(event.getPlayer());
    }
 
Oben