Bukkit.getScheduler().scheduleSyncRepeatingTask(this, new Runnable(){
public void run()
{
patates();
}
}, 2L, 2L);
new BukkitRunnable() {
@Override
public void run() {
//kod
}
}.runTaskTimer(Main.plugin, 0, 20);
o ancak ben yapınca aynısını şöyle oluyor, mesela 300 yaptım diyelim 300 tick geçtikten sonra 20 tick çalışıyor sonra 300 tick bekliyor 20 tick çalışıyor ben yapınca böyle oluyor ;(Bunu mu demek istediniz ?
Kod:Bukkit.getScheduler().scheduleSyncRepeatingTask(this, new Runnable(){ public void run() { patates(); } }, 2L, 2L);
Linki görebilmek için üye olmanız gerekiyor. Giriş yap veya üye ol.
2 alternatifin var ya BukkitRunnable'ı önceden tanımlayıp Runnable dışında bir for loop açıcaksın ve for loop tamamlanınca Runnable'ı cancellayacaksın. Yada Runnable'ın dışarısında bir sayısal değer belirleyip Runnable her bittiğinde bunu bir eksilteceksin ve bu sıfıra ulaştığında Runnable'ı kendi içerisinde cancel layacaksın.o ancak ben yapınca aynısını şöyle oluyor, mesela 300 yaptım diyelim 300 tick geçtikten sonra 20 tick çalışıyor sonra 300 tick bekliyor 20 tick çalışıyor ben yapınca böyle oluyor ;(
Tam kodu hastebin içinde paylaşın ki bi fikir belirtebileyim şu an pek bir şey anladığımı söyleyemeyeceğima.timer--;
if(a.timer == 0){
if(a.getBluescore() > a.getRedscore()){
a.stop("blue");
}
if(a.getBluescore() < a.getRedscore()){
a.stop("red");
}
if(a.getBluescore() == a.getRedscore()){
a.stop("draw");
}
a.stop();
}
yok test etmedim ama çalışır muhtemelen .-.Tam kodu hastebin içinde paylaşın ki bi fikir belirtebileyim şu an pek bir şey anladığımı söyleyemeyeceğim![]()