Kelime HızTesti

fozbek

Taş Madencisi
En iyi cevaplar
0
Merhaba arkadaşlar yeni bir plugin ile karşınızdayım, kısaca pluginin ne işe yaradığını anlatıyım. "/Baslat <uzunluk>" şeklinde komutumuz var örneğin "/başlat 5" yazdıkmı 5 karakter uzunluğunda rastgele string oluşturur sayı büyükve küçük harfler karışıktır. Kelimeyi ilk önce yazana config.yml dosyasından ayarladığınız itemi ayarladığınız miktarda verir. Daha sonra timer ile yaparım işim olmazsa.

.java kaynak kodu;
Kod:
package me.fatih.plugin;

import java.util.Random;

import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerChatEvent;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.java.JavaPlugin;

@SuppressWarnings("deprecation")
public class plugin extends JavaPlugin implements Listener {
    public void onDisable() {
        // TODO: Place any custom disable code here.
    }

    public void onEnable() {
        getServer().getPluginManager().registerEvents(this, this);
        }
    @EventHandler
    public void onPlayerChat(PlayerChatEvent event)
    {
        if(event.getMessage().contains(rastgele) && eventDurum)
        {
            Bukkit.broadcastMessage(event.getPlayer().getName() + " " + getConfig().getString("Dogru_Cevap_Mesaji"));
            eventDurum = false;
            Inventory inv = event.getPlayer().getInventory();
            if(inv.contains(0)){
                inv.addItem(new ItemStack(getConfig().getInt("Verilecek_Item_Kodu"),getConfig().getInt("Verilecek_Item_Adedi")));
            }
        }
    }
    public static boolean eventDurum = false;
    public static String rastgele = null;
    public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args)
    {
        if(commandLabel.equalsIgnoreCase("baslat")){
            if(sender.hasPermission("hiztesti.baslat")){
                if(args.length == 0 || args.length > 1){
                    sender.sendMessage("Kullanım: /baslat <uzunluk>");
                }
                else{
                    eventDurum = true;
                    rastgele = randomString(Integer.parseInt(args[0]));
                    Bukkit.broadcastMessage(getConfig().getString("Baslama_Mesaji"));
                    Bukkit.broadcastMessage("Kelime:" + rastgele);
                }
            }
            else{
                sender.sendMessage("Yetkiniz yok.");
            }
        }
    
        if(commandLabel.equalsIgnoreCase("durdur")){
            if(sender.hasPermission("hiztesti.durdur")){
                eventDurum = false;
                rastgele = null;
                Bukkit.broadcastMessage(getConfig().getString("Durdurma_Mesaji"));
            }
            else
                sender.sendMessage("Yetkiniz yok.");
        }
    
        
        return false;
    }
    static final String AB = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnoprstuvyz";
    static Random rnd = new Random();

    String randomString( int len ){
      StringBuilder sb = new StringBuilder( len );
      for( int i = 0; i < len; i++ )
          sb.append( AB.charAt( rnd.nextInt(AB.length()) ) );
      return sb.toString();
    }
}

config.yml
Kod:
Dogru_Cevap_Mesaji: ilk önce yazarak 5 elmas sahibi oldu.
Baslama_Mesaji: HızTesti başladı, 5 elmas kazanmak için ilk önce sen yaz.
Durdurma_Mesaji: HızTesti yönetici tarafından bitirildi.
Verilecek_Item_Kodu: 264
Verilecek_Item_Adedi: 5

Not: Plugini denemedim export bile etmedim herhangi bir hata alırsanız ki alma şansınız yüksek yorum olarak söyleyiniz.
 

GodofMilker

Nether Yerlisi
En iyi cevaplar
0
Güzel fikir sevdim*
Bilmeyen arkadaşlar için link ekleyebilir isen iyi olur denediğinde.
Baştaki "@SuppressWarnings("deprecation")" kısmı "deprecation" türündeki uyarıları algılamama anlamına mı geliyor ?
 

yoloman

Lapis Toplayıcısı
En iyi cevaplar
0
''Admin kelime eventi yap admin''

''ADMİN ABİ KELİME EVENTİ YAAAAAAAAAAAAAP''

''ATMİN APİ BİDAHA YAP ATMİN APİ TEKRAR YAP ATMİN APİ DAHA FAZLA ÖDÜL OLSUN''

Muhabbeti döner sürekli bunun olduğu sunucularda , onun dışında beğendim.
 

fozbek

Taş Madencisi
En iyi cevaplar
0
Güzel fikir sevdim*
Bilmeyen arkadaşlar için link ekleyebilir isen iyi olur denediğinde.
Baştaki "@SuppressWarnings("deprecation")" kısmı "deprecation" türündeki uyarıları algılamama anlamına mı geliyor ?
Mouse imlecini uyarının üstüne tutunca onu oluşturacak seçenek otomatik olarak gelmişti sanırım. Dediğiniz gibi olması lazım.[DOUBLEPOST=1418731180,1418731100][/DOUBLEPOST]
''Admin kelime eventi yap admin''

''ADMİN ABİ KELİME EVENTİ YAAAAAAAAAAAAAP''

''ATMİN APİ BİDAHA YAP ATMİN APİ TEKRAR YAP ATMİN APİ DAHA FAZLA ÖDÜL OLSUN''

Muhabbeti döner sürekli bunun olduğu sunucularda , onun dışında beğendim.
Otomatiğe bağlanabilir aslında. 10 kişiden az oyuncu varsa yapmaz. Ödül komutla ayarlanabilir.
 
Üst