1. 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!

Bungee Plugin Problem

Dieses Thema im Forum "Bungeecord" wurde erstellt von buzzkill, 25. Oktober 2016.

  1. buzzkill
    Offline

    buzzkill

    Registriert seit:
    10. Oktober 2012
    Beiträge:
    45
    Ort:
    NRW
    Minecraft:
    SoulHunter96
    Hallo zusammen!

    Ich kriege mein Bungeecord Plugin nicht zum laufen aber finde den Fehler nicht.

    Hier der Code:

    Code (Text):
    1.  
    2. package me.soulhunter96.bungeechatcolor;
    3.  
    4. import net.md_5.bungee.api.ChatColor;
    5. import net.md_5.bungee.api.connection.ProxiedPlayer;
    6. import net.md_5.bungee.api.event.ChatEvent;
    7. import net.md_5.bungee.api.plugin.Listener;
    8. import net.md_5.bungee.api.plugin.Plugin;
    9. import net.md_5.bungee.event.EventHandler;
    10.  
    11. public class Main extends Plugin implements Listener{
    12.  
    13.     @Override public void onEnable() {
    14.         System.out.println("[BungeeColor] Plugin erfolgreich aktiviert!");
    15.     }
    16.  
    17.     @Override public void onDisable() {
    18.         System.out.println("[BungeeColor] Plugin erfolgreich deaktiviert!");
    19.     }
    20.  
    21.     @EventHandler
    22.     public  void onPlayerChat(ChatEvent event) {
    23.      
    24.         ProxiedPlayer player = (ProxiedPlayer)event.getSender();
    25.      
    26.         if(player.hasPermission("bungeechatcolor.mod")){
    27.  
    28.             String p = event.getMessage();
    29.  
    30.             for(ProxiedPlayer z: this.getProxy().getPlayers()) {
    31.  
    32.                 if(p.contains(z.getName())){
    33.  
    34.                     String s = event.getMessage().replaceAll(z.getName(), ChatColor.YELLOW + z.getName() + ChatColor.WHITE);
    35.                     p = s;
    36.  
    37.                     event.setMessage(p);
    38.                  
    39.                 }
    40.             }
    41.         }
    42.     }
    43. }
    44.  
    oder: http://pastebin.com/wz40AmpU

    Egal was ich versuche, ich bekomme keinen Output durch den onPlayerChat. Selbst wenn ich den Inhalt durch einen Einzeiler ersetze.
    onEnable und onDisable funktionieren einwandfrei.

    Könnt Ihr mir weiterhelfen?
     
    #1
  2. Werbung
    Online

    Werbung

  3. Sabbertran
    Offline

    Sabbertran

    Registriert seit:
    24. April 2012
    Beiträge:
    75
    Minecraft:
    Sabbertran
    Du hast deinen Listener nicht registriert:
    Code (Text):
    1. getProxy().getPluginManager().registerListener(this, this);
     
    #2
    • Gefällt mir Gefällt mir x 1
  4. buzzkill
    Offline

    buzzkill

    Registriert seit:
    10. Oktober 2012
    Beiträge:
    45
    Ort:
    NRW
    Minecraft:
    SoulHunter96
    Es funktioniert! Danke!

    Leider habe ich nun das Problem, dass ich wegen unerlaubter Zeichen im Chat bei einer Nachricht vom Server gekickt werde. muss ich meine chatnachricht auf andere weise farbig machen?
     
    #3
  5. BlackHole
    Offline

    BlackHole

    Registriert seit:
    1. Juli 2012
    Beiträge:
    172
    Minecraft:
    BlackHole
    Das ChatEvent wird aufgerufen, wenn von einem Spieler eine Chatnachricht empfangen wird. Im Event kannst du diese Nachricht verändern und diese wird dann an den Minecraftserver weitergeleitet.
    Für den Minecraftserver sieht es aus, als hätte der Spieler diese Nachricht verschickt und kickt den Spieler dann wegen dem "§" vom Farbcode.
    Du könntest das umgeben, indem du die gesamte Chatbehandlung auf dem BungeeCord selber durchführst und das Event abbrichst. Alternativ könntest du ein anderes Unicodezeichen als Ersatzzeichen verwenden und benötigst dann auf dem Minecraftserver ein Plugin, dass dieses Zeichen wieder zurück wandelt.

    Im Event solltest du aber in jedem Fall prüfen, ob es sich um einen Befehl handelt und dann deine Behandlung nicht durchführen.
     
    #4