ProxiedPlayer Chat Nachrichten nicht empfangen lassen

  • Guten Abend,


    kann man auf BungeeCord irgendwie einen Spieler die Chatnachrichten anderer Spieler nicht mehr Empfangen lassen?

    Habe einen "KonsolenModus" bei meinem CloudSystem Ingame, da währe das ganz nützlich wenn Nachrichten von Spielern nicht mehr Empfangen werden.

    Hab allerdings bisher noch nichts gefunden im ChatEvent.

    Jemand Erfahrung / Idee dazu? Danke :D


    Sieht so aus, damit man sich ein Bild machen kann:


    LG

  • Du kannst das ChatEvent mit event.setCancelld(true); cancel, so wird die Nachricht nicht mehr versendet.

    Das wird nicht funktionieren, da er ja nicht will, dass die Nachricht komplett entfernt wird. Er will ja nur, dass ein bestimmter Spieler die Nachrichten der anderen Spieler nicht länger erhält.


    Mir würden jetzt spontan zwei Lösungsansätze einfallen, die aber auch nicht wirklich optimal wären.


    1. Ich gehe mal davon aus, dass du für dein CloudSystem auch ein Plugin auf jedem Unterserver hast. Du könntest über Bungee eine Flag (z.B. über PluginMessaging oder Sockets... wie auch immer) für den jeweiligen Spieler setzen und dann in den Plugins auf den Unterservern den Spieler aus der Empfängerliste im AsyncPlayerChatEvent rausnehmen, solange diese Flag gesetzt ist. Das wäre aber recht umständlich.


    2. Du könntest aber auch grundsätzlich jede Nachricht im Bungee ChatEvent canceln und die Nachricht dann manuell (also mit sendMessage) an alle Spieler schicken, die die Flag nicht gesetzt haben. Dies wäre aber auch nicht ganz so optimal, da du dann eventuell mit anderen Plugins, die auf das Bungee ChatEvent hören, in Konflikt treten könntest.

  • Prinzipiell müsstest du ja an sich die versendeten Chat-Pakete an dich (bzw. den Spieler der keine Chatnachrichten mehr bekommen soll) nur blockieren.

    Ich bin mir gerade nicht mehr sicher, ob man dies auch direkt in BungeeCord oder nur auf den Spigot-Servern realisieren kann, aber für beides gibt es sicherlich Tutorials im Netz.

  • Prinzipiell müsstest du ja an sich die versendeten Chat-Pakete an dich (bzw. den Spieler der keine Chatnachrichten mehr bekommen soll) nur blockieren.

    Ich bin mir gerade nicht mehr sicher, ob man dies auch direkt in BungeeCord oder nur auf den Spigot-Servern realisieren kann, aber für beides gibt es sicherlich Tutorials im Netz.

    Mir ist bewusst das ich dafür die Packete abfangen müsste, jedoch habe ich keinen gefunden die über Bungeecord gehen.