Eklenti Yazım Rehberleri | Basit Vault Uyumluluğu, Vault İle Ekonomi Eklentileri Kullanmak.

>>TheLegend<<

Легенды никогда не умирают
Mesajlar
991
En iyi cevaplar
3
Beğeniler
1,903
Puanları
2,530
Eklentilerinizde bir ekonomi eklentisine ihtiyaç duyuyorsanız bunun için Vault daima yanınızda.
Örneğin, yaptığınız bir işlem sonucu bir oyuncuya para vermek istiyorsunuz fakat bunu sadece bir ekonomi eklentisine göre yaparsanız başarısız olursunuz.
Çünkü herkes aynı eklentiyi kullanmıyor. Vault bu derdimizede koşuyor. Şimdi birlikte bunu kullanmayı öğreneceğiz sayın Türk yazarları.

Her şeyden önce Vault eklentimizi projemize dahil etmeliyiz. Aynı craftbukkitlerinizi projenize dahil ettiğiniz yöntemle bir Vault eklentiside dahil etmelisiniz.
Daha sonra eklentinizin ana class dosyasına;
PHP:
public Economy <kodunuz> = null;
Kodunu eklemeliyiz. Belki sorarsanız o "<kodunuz>" nedir. Oraya yazmanızı istediğim şey basit bir kısaltma kodudur.
Aynen "FileConfiguration config;" yada "File dosya;" veyahut "Logger logcuamca = Logger.getLogger("Minecraft");" kodları gibidir. Ben şahsen ekonomi kodumu şu şekilde yapmak istiyorum;
PHP:
public Economy econ = null;
Vault desteği neredeyse bu kadardır. Fakat tabii ki artık eklentiniz "Vault" eklentisi olmadan doğru düzgün çalışmayacaktır.
Ve eğer kullanıcı vault eklentisini unutursa bizim o kullanıcıyı uyarmamız gerekir. Bizde bu sorunu boolean oluşturarak çözeceğiz.
Oluşturmamız gereken örnek bir boolean;
PHP:
private boolean vaultKur() {
        if (getServer().getPluginManager().getPlugin("Vault") == null) {
            return false;
        }
        RegisteredServiceProvider<Economy> rsp = getServer().getServicesManager().getRegistration(Economy.class);
        if (rsp == null) {
            return false;
        }
        econ = rsp.getProvider();
        return econ != null;
    }
Bir sonraki adım ise, açılışta bu işlem başarısız olursa bir hata logu yollamaktır.
onEnable() bölümüne şu şekilde bir ekleme yapmalıyız;
PHP:
public static final Logger log = Logger.getLogger("Minecraft"); //LOG KODLARI

public void onEnable() {
    if (!vaultKur()) {
        log.log(Level.SEVERE, "Vault Eklentisi Tespit Edilemedi!"
        log.log(Level.SEVERE, "Lutfen Vault Eklentinizin Eklentilerinizin Arasında Olduğundan Ve Çalışan Bir Ekonomi Eklentinizin Olduğundan Emin Olun!");
    }
}
Ve eğer ekonominin eklentinizde çok önemli bir yeri var ise,
Ekonomi çalışmadığında eklentinizi şu kod ile devre dışı bırakabilirsiniz;
PHP:
Bukkit.getServer().getPluginManager().disablePlugin(this);
Bu kodu az önce yazdığımız logların hemen altına yerleştirerek, hata logları çıktıktan sonra
Eklentinizin devre dışı bırakılmasını sağlamış olursunuz.
Vault uyumluluğu ve kontrol işlemleri tamam. Artık sıra kullanımda. Bu bölümü daha çok size bırakmak istiyorum. Yapabileceğiniz işlemleri görebilmek için komutunuzun işlem kısımında "econ." veya kendi özel kısaltma kodunuzu yazın. Karşınıza işlemler sıralanacaktır.
 



Üst