Plugin Yazanlar İçin Yararlı Bir Bilgi

Dantero

Elmas Madencisi
En iyi cevaplar
0
Merhaba arkadaşlar,
Plugin yazanların çoğu bilir, scheduler denilen bir olay var, bunu saniye beklemek için kullanıyoruz.
Normalde bunu:
Kod:
        Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable(){
            @Override
            public void run(){
                //olaylar
            }
        },20*10);
Şeklinde kullanırız fakat bunu çöpe atın! Onun yerine bunu kullanabillirsiniz:
Kod:
            try {
                Thread.sleep(1000);
            } catch (InterruptedException ex) {
                ex.printStackTrace();
            }
                          // olaylar
Bu kod daha pratikdir ve daha kısadır.
1000 yazarsanız 1 saniye bekler.
Umarım yararlı bir bilgi vermişimdir :)
iyi günler, iyi forumlar. :)
NOT: Altdaki yöntem kullandığınız plugini kaç saniye yazdıysanız o kadar saniye kullanamamanıza sebep olur.​
 
Son düzenleme:

Admicos

Nether Yerlisi
En iyi cevaplar
1
Eğer başka bir thread kullanmıyorsak Thread.sleep(1000); bir saniye boyunca sunucudaki her şeyi durdurur ve bir saniyelik laga sebep olur. Bence üstteki daha iyi ama emin değilim.
 

Dantero

Elmas Madencisi
En iyi cevaplar
0
Eğer başka bir thread kullanmıyorsak Thread.sleep(1000); bir saniye boyunca sunucudaki her şeyi durdurur ve bir saniyelik laga sebep olur. Bence üstteki daha iyi ama emin değilim.
Hayır kesinlikle sunucuda lag falan yapmıyor denedim. Sadece oraya kaç saniye yazdıysanız o kadar plugini kullanamıyorsunuz. Bana sorarsanız hangisi diye üstteki derim ama bazı yerlerde altdaki lazım oluyor :)
 

Cissoid

Yeni Üye
En iyi cevaplar
0
Yanlış bilgilendirme, ilk olarak büyük bir hata olan kısımdan başlayalım. CraftBukkit'te zaten Thread kütüphanesini kullanamazsınız engellidir, eğer kullanılsaydı sunucu girdiğiniz süre boyunca işlem yapmazdı ki günümüz sürümlerinde bunu yapmanız mümkün değil. hiçbir Bukkit eklentisi bu yöntemi kullanmaz zararlıdır ve bunun için alternatif olarak bir kaç yol eklenmiştir bunlardan sadece bir tanesi BukkitScheduler sınıfıdır. Fakat bilmeniz gerek ki tekrarlıyorum; alttaki yöntem kesinlikle yanlıştır ve sunucunun içine eder, bilmediğiniz konular hakkında paylaşım yapmaktan lütfen kaçının.Aşağıdaki adreste 2 adet yöntem belirtilmiştir birisi BukkitScheduler sınıfı iledir (Tavsiye edilen de budur) öbürü ise algoritma ile bu işin çözülmüş halidir ki daha fazla RAM tüketmesi kaçınılmazdır. Bu arada aşağıdaki adreste de bu yöntemin ne kadar güvensiz ve kalitesiz olduğunu belirten bir konu da mevcuttur.

Hayır kesinlikle sunucuda lag falan yapmıyor denedim. Sadece oraya kaç saniye yazdıysanız o kadar plugini kullanamıyorsunuz. Bana sorarsanız hangisi diye üstteki derim ama bazı yerlerde altdaki lazım oluyor :)
Bu şey sunucuyu durdurur, eklentiyi değil.

skriptteki wait olayı bunu mu kullanıyor
Bir kere bunu sınıfsal şekilde kullanmak zaten zordur ki BukkitScheduler ile Skript'e entegre edilmesi daha kolaydır bundan ötürü Skript hayır, bunu kullanmıyor aşağıda paylaşacağım adresten projeyi inceleyebilirsiniz ve bilgi sahibi olabilirsiniz,

İyi forumlar.
Kod:
https://bukkit.org/threads/waiting-x-time-before-executing-command.109629/
https://bukkit.org/threads/delays-thread-sleep-isnt-working.68627/
https://github.com/Njol/Skript/blob/23fa87ffb32e4d18014ad7ec63d1acc30e00ad69/src/main/java/ch/njol/skript/effects/Delay.java
 
Son düzenleme:

Dpelqpleq

2 + 2 = 5
En iyi cevaplar
0
Yanlış bilgilendirme, ilk olarak büyük bir hata olan kısımdan başlayalım. CraftBukkit'te zaten Thread kütüphanesini kullanamazsınız engellidir, eğer kullanılsaydı sunucu girdiğiniz süre boyunca işlem yapmazdı ki günümüz sürümlerinde bunu yapmanız mümkün değil. hiçbir Bukkit eklentisi bu yöntemi kullanmaz zararlıdır ve bunun için alternatif olarak bir kaç yol eklenmiştir bunlardan sadece bir tanesi BukkitScheduler sınıfıdır. Fakat bilmeniz gerek ki tekrarlıyorum; alttaki yöntem kesinlikle yanlıştır ve sunucunun içine eder, bilmediğiniz konular hakkında paylaşım yapmaktan lütfen kaçının.Aşağıdaki adreste 2 adet yöntem belirtilmiştir birisi BukkitScheduler sınıfı iledir (Tavsiye edilen de budur) öbürü ise algoritma ile bu işin çözülmüş halidir ki daha fazla RAM tüketmesi kaçınılmazdır. Bu arada aşağıdaki adreste de bu yöntemin ne kadar güvensiz ve kalitesiz olduğunu belirten bir konu da mevcuttur.


Bu şey sunucuyu durdurur, eklentiyi değil.


Bir kere bunu sınıfsal şekilde kullanmak zaten zordur ki BukkitScheduler ile Skript'e entegre edilmesi daha kolaydır bundan ötürü Skript hayır, bunu kullanmıyor aşağıda paylaşacağım adresten projeyi inceleyebilirsiniz ve bilgi sahibi olabilirsiniz,

İyi forumlar.
Kod:
https://bukkit.org/threads/waiting-x-time-before-executing-command.109629/
https://bukkit.org/threads/delays-thread-sleep-isnt-working.68627/
https://github.com/Njol/Skript/blob/23fa87ffb32e4d18014ad7ec63d1acc30e00ad69/src/main/java/ch/njol/skript/effects/Delay.java
Arkadas haklı. Konuyu ilk gördüğümde de dedim ne gerek var diye iykide denememisim. Biz üsengec insanlarız yapmayın böyle. Sonra geri cevir falan urasıyoruz enerjimiz hızlı bitiyor.
 
Üst