Bukkit Plugin Kodlarken Config.yml bilen konuya dalsın

blade20090999

Kızıltaş Madencisi
En iyi cevaplar
0
Config yerine ayar dicem.
Ayar dosyası oluşturmakyı bilen varmı bulduğum kaynaklardan pek bişi anlamadım yani sorum şu.
1-Config.yml nasıl oluşturulur ?
2-Nasıl içine veri kayıt edilir ?
3-Argument nasıl çekilir ?(Şimdi ekledim bulurum buda kaynak olur.)
3-Kaydettiğimiz veriyi nasıl çekebiliriz ?
4-Birden fazla değer içeren verileri nasıl kayıt ederiz tek anahtara ?


Çözülenler
1-Sorunun Açıklması
Linki görebilmek için üye olmanız gerekiyor. Giriş yap veya üye ol.
(İlk Sorum için bir video bulabildim sonunda :) dursun ihtiyacı olan olur adam gayet net açıklamış. )

2-Kod Burda
Kod:
//Not Config.yml yi siz oluşturmalısınız elinizle plugin.yml nin oldupu yere aynı şekilde config.yml ekleyin


public void onEnable(){
this.saveDefaultConfig();
getConfig().options().copyDefaults(true);
saveConfig();
}
//Ben komutla veri kaydettim sonra komutu girince overiyi yazdırdım .
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){
if(cmd.getName().equalsIgnoreCase("giris")){
            this.getConfig().addDefault(player.getName(), "1");
            player.sendMessage(this.getConfig().getString(player.getName()));
          
            }
        return false;
        }
 
Son düzenleme:

GodofMilker

Nether Yerlisi
En iyi cevaplar
0
1-2:Birden fazla yml dosyası oluşturmak için bu şeyi kullanın, çok fark yok*
(Yorum nasıl ekleniyor hala çözemedim ya o ayrı bir konu)
Linki görebilmek için üye olmanız gerekiyor. Giriş yap veya üye ol.

3: onCommand methodu altında args[] arglar oluyor, ki arg[0] ile başlıyor*
Örnek olarak*
Komut: /patates patlıcan
Kod:
if(cmd.getName().equalsIgnoreCase("patates")){
if(args[0].equalsIgnoreCase("patlıcan"){
((Player) sender).sendMessage("Patates patlıcan ;-;");
}
}
Not: Herhangi bir arg girilmezse hata verir o yüzden args.length == 1 diye kontrol ettirseniz iyi olur, integer falan almanın yolları farklı sayılır ama hepsi elinize String olarak geçiyor internette çok rahat bulunabilir .-.
2.3(:C): Bakınız attığımda YamlConfiguration getConfig() methoduyla aynı şeyi döndürüyor o yüzden config.getString("patates"); çalışır*
4: List olarak kaydedilebiliyor direk .-.
(Bunu denemeden yazıyorum*)
Kod:
List<String> patatesl = new ArrayList<String>();
        patatesl.add("patates");
        patatesl.add("Daha fazla patates");
        getConfig().set("patateslistesi", patatesl);
Confiği savele(sansür şeysi)diğinde şöyle bir şey olması gerekiyor*
patateslistesi:
-patates
-Daha fazla patates
getConfig().getList("patateslistesi") diye de çağırabilirsin, her türlü obje kaydediliyor aslında ama string ve int gibi şeyler dışındakileri direk dosyaya kaydetmek daha kolay*
 
Üst