Event Gereksiz yere tekrar ediyor ?

Krumb069

Nether Yerlisi
Mesajlar
2,151
En iyi cevaplar
1
Beğeniler
506
Puanları
1,250
kod bu oyuncu bir şey yazınca chatta 3 kez çıkıyor yazdığı. sebebi nedir sadece mesajı durdurup yeni bir tane gönderiyor ?
Kod:
 @EventHandler
    public void oyuncuYazinca(AsyncPlayerChatEvent e){
        e.setCancelled(true);
        Player o = (Player) e.getPlayer();
        String mesaj = (String) e.getMessage();
        String kufurkontrolmesaji = mesaj.replace(" ", "");
        for (String kufur : kufurler){
            if (kufurkontrolmesaji.contains(kufur)){               
                o.sendMessage(kufuruyari);
            }
            else{
                RegisteredServiceProvider<Chat> chatProvider = getServer().getServicesManager().getRegistration(net.milkbowl.vault.chat.Chat.class);            
                chat = chatProvider.getProvider();
                RegisteredServiceProvider<Economy> service = Bukkit.getServicesManager().getRegistration(net.milkbowl.vault.economy.Economy.class);
                Economy economy;
                economy = service.getProvider();
                Double oyuncuparas = economy.getBalance(o);
                String oyuncupara = String.valueOf(oyuncuparas);
                String prefix = chat.getPlayerPrefix(o);
                String suffix = chat.getPlayerSuffix(o);
                String oyuncuismi = o.getName();
                String sunucuismi = Bukkit.getServer().getName();
                String gorunurisim = o.getDisplayName();
                double oyuncusagliks = o.getHealthScale();
                String oyuncusaglik = String.valueOf(oyuncusagliks);
                @SuppressWarnings("deprecation")
                int oyuncusayis = this.getServer().getOnlinePlayers().length;
                String oyuncusayi = String.valueOf(oyuncusayis);
                Date simdikitarih = new Date();
                SimpleDateFormat tarih = new SimpleDateFormat("dd-MM-yyyy");
                String tarihyazi = tarih.format(simdikitarih);
                Date simdikisaat = new Date();
                SimpleDateFormat saat = new SimpleDateFormat("HH:mm:ss");
                String saatyazi = saat.format(simdikisaat);
                String gonderilecekmesaj = ChatColor.translateAlternateColorCodes('&', getConfig().getString("MessageFormat"))
                .replaceAll("%message%", mesaj)
                .replaceAll("%player%", oyuncuismi)
                .replaceAll("%displayname%", gorunurisim)
                .replaceAll("%health%", oyuncusaglik)
                .replaceAll("%online%", oyuncusayi)
                .replaceAll("%date%", tarihyazi)
                .replaceAll("%time%", saatyazi)
                .replaceAll("%server%", sunucuismi)
                .replaceAll("%money%", oyuncupara)
                .replaceAll("%prefix%", prefix)
                .replaceAll("%suffix%", suffix);
                Bukkit.broadcastMessage(gonderilecekmesaj);
            }
        }
 


TheMuhammed2188

Java <3
Mesajlar
779
En iyi cevaplar
0
Beğeniler
432
Puanları
700
Ruh hali
For döngüsünün içine Bukkit.broadcastMessage(); koymuşsun ve sanırsam "kufur" listesinde 3 tane String bulunuyor :)
 

Krumb069

Nether Yerlisi
Mesajlar
2,151
En iyi cevaplar
1
Beğeniler
506
Puanları
1,250
Bilemiyorum nasıl duzeltecegim kufursuz mesajda da böyle oluyor
 

TheMuhammed2188

Java <3
Mesajlar
779
En iyi cevaplar
0
Beğeniler
432
Puanları
700
Ruh hali
Kod:
@EventHandler
    public void oyuncuYazinca(AsyncPlayerChatEvent e){
        e.setCancelled(true);
        Player o = (Player) e.getPlayer();
        String mesaj = (String) e.getMessage();
        String kufurkontrolmesaji = mesaj.replace(" ", "");
        for (String kufur : kufurler){
            if (kufurkontrolmesaji.contains(kufur)){              
                o.sendMessage(kufuruyari);
                return;
            }
        }
                RegisteredServiceProvider<Chat> chatProvider = getServer().getServicesManager().getRegistration(net.milkbowl.vault.chat.Chat.class);            
                chat = chatProvider.getProvider();
                RegisteredServiceProvider<Economy> service = Bukkit.getServicesManager().getRegistration(net.milkbowl.vault.economy.Economy.class);
                Economy economy;
                economy = service.getProvider();
                Double oyuncuparas = economy.getBalance(o);
                String oyuncupara = String.valueOf(oyuncuparas);
                String prefix = chat.getPlayerPrefix(o);
                String suffix = chat.getPlayerSuffix(o);
                String oyuncuismi = o.getName();
                String sunucuismi = Bukkit.getServer().getName();
                String gorunurisim = o.getDisplayName();
                double oyuncusagliks = o.getHealthScale();
                String oyuncusaglik = String.valueOf(oyuncusagliks);
                @SuppressWarnings("deprecation")
                int oyuncusayis = this.getServer().getOnlinePlayers().length;
                String oyuncusayi = String.valueOf(oyuncusayis);
                Date simdikitarih = new Date();
                SimpleDateFormat tarih = new SimpleDateFormat("dd-MM-yyyy");
                String tarihyazi = tarih.format(simdikitarih);
                Date simdikisaat = new Date();
                SimpleDateFormat saat = new SimpleDateFormat("HH:mm:ss");
                String saatyazi = saat.format(simdikisaat);
                String gonderilecekmesaj = ChatColor.translateAlternateColorCodes('&', getConfig().getString("MessageFormat"))
                .replaceAll("%message%", mesaj)
                .replaceAll("%player%", oyuncuismi)
                .replaceAll("%displayname%", gorunurisim)
                .replaceAll("%health%", oyuncusaglik)
                .replaceAll("%online%", oyuncusayi)
                .replaceAll("%date%", tarihyazi)
                .replaceAll("%time%", saatyazi)
                .replaceAll("%server%", sunucuismi)
                .replaceAll("%money%", oyuncupara)
                .replaceAll("%prefix%", prefix)
                .replaceAll("%suffix%", suffix);
                Bukkit.broadcastMessage(gonderilecekmesaj);
 

Üst