HaktanOzkan
Demir Cevheri Gibiyim
- Katılım
- 22 Temmuz 2014
- Mesajlar
- 206
- Elmaslar
- 116
- Puan
- 13.825
- Minecraft
- HaktanOzkan
Discord:
hktanozkan
Merhaba bu konuda java eklentiniz için özel config (yapılandırma) dosyalarınızı nasıl oluşturabileceğinizi, nasıl okuyacağınızı ve nasıl yazdıracağınızı göstereceğim.
Özel yapılandırma dosyası eklentiniz için config.yml gibi fakat karışıklığı önleyebilmek ve eklentinin kullanımını kolaylaştırmak adına oluşturabileceğiniz dosyalardır. Çoğu eklentide görmüşsünüzdür config.yml dosyasının yanında ek olarak örneğin message.yml gibi dosyalarda olur. İşte bunlar özel yapılandırılmış dosyalardır (Custom Config).
Fazla uzatmadan konuya geçelim.
Kullandığım IDE : Eclipse IDE for Java Developers
Java Sürümü : JavaSE-1.8
Minecraft Sürümü : 1.8
Öncelikle projemizi oluşturalım.
Spigot veya bukkit dosyanızı import ettikten sonra bir paket oluşturalım.
Özel yapılandırma dosyası eklentiniz için config.yml gibi fakat karışıklığı önleyebilmek ve eklentinin kullanımını kolaylaştırmak adına oluşturabileceğiniz dosyalardır. Çoğu eklentide görmüşsünüzdür config.yml dosyasının yanında ek olarak örneğin message.yml gibi dosyalarda olur. İşte bunlar özel yapılandırılmış dosyalardır (Custom Config).
Fazla uzatmadan konuya geçelim.
Kullandığım IDE : Eclipse IDE for Java Developers
Java Sürümü : JavaSE-1.8
Minecraft Sürümü : 1.8
Öncelikle projemizi oluşturalım.
Spigot veya bukkit dosyanızı import ettikten sonra bir paket oluşturalım.
Önerim eklentiniz içinde yapılandırma dosyası için ayrı bir paket oluşturmanızdır. Bu sayede her şeyin yeri belli olur ve hem eklenti gelişiminde size yardımcı olur hemde karışıklığı engellemiş olursunuz.
Paket oluşturduktan sonra bir class dosyası oluşturalım.
Evet bundan sonrası asıl yapmak istediğimiz şeye geldik.
Java:
public class CustomFile {
private static File file;
private static FileConfiguration customfile;
public static void setup() {
file = new File(Bukkit.getServer().getPluginManager().getPlugin("CustomConfig").getDataFolder(), "customconfig.yml");
if(!file.exists()) {
try {
file.createNewFile();
} catch(IOException e) {
//d
}
}
customfile = YamlConfiguration.loadConfiguration(file);
}
public static FileConfiguration get() {
return customfile;
}
public static void save() {
try {
customfile.save(file);
} catch (IOException e) {
System.out.println("Kaydedilmedi !");
}
}
public static void reload() {
customfile = YamlConfiguration.loadConfiguration(file);
}
}
Yukarıdaki kodu direkt olarak class dosyanızın içerisine yapıştırın.
Şimdi size özel gerekli düzenlemeleri ve kod açıklamasını yapalım.
Şimdi size özel gerekli düzenlemeleri ve kod açıklamasını yapalım.
Java:
file = new File(Bukkit.getServer().getPluginManager().getPlugin("CustomConfig").getDataFolder(), "customconfig.yml");
Evet bu kısımdaki "CustomConfig" yazan kısım sizin eklentinizin adı olmalı. Bu kod eklentinizi arar ve dosyanızın içine customconfig.yml isimli bir dosya oluşturmasını sağlar.
Java:
public static FileConfiguration get() {
return customfile;
}
Bu kod sizin customconfig.yml dosyanıza ulaşmanızı dosya içerisine bir şeyler yazdırmanızı veya dosya içerisinden bir şeyler okumanızı sağlar.
Java:
public static void save() {
try {
customfile.save(file);
} catch (IOException e) {
System.out.println("Kaydedilmedi !");
}
}
customconfig.yml dosyanızı kaydetmenizi sağlar.
Java:
public static void reload() {
customfile = YamlConfiguration.loadConfiguration(file);
}
Çoğunuzundan anlıyacağı üzere customconfig.yml dosyanızı yeniden yapılandırır.
Şimdi geriye sadece bunu eklenti içerisinde kullanmak kaldı.
Hemen o işede geçelim.
Hemen o işede geçelim.
Ben "Main" adında bir class dosyası oluşturdum ve içerisine başlatıldığında çalıştırmasını istediğim için "onEnable" etiketini kullandım.
Java:
public class Main extends JavaPlugin{
public void onEnable() {
//customconfig.yml dosyasını oluşturmak için kullanacağınız kod.
CustomFile.setup();
//customconfig.yml dosyasının içerisine istediğiniz text'i yazdırmak için kullanacağınız kod.
CustomFile.get().addDefault("Deneme", true);
CustomFile.get().addDefault("Deneme1", "Deneme1");
CustomFile.get().addDefault("Oyuncu", "HaktanOzkan");
//customconfig.yml dosyasını kaydetmek için kullanacağınız kod.
CustomFile.get().options().copyDefaults(true);
CustomFile.save();
//customconfig.yml dosyasınını yeniden yapılandırmak için kullanacağınız kod.
CustomFile.reload();
//Örnek bir dosya okuma kodu. Klasik config.yml dosyası okunması gibi okunur. Genelde get metodu kullanılır.
if(CustomFile.get().getBoolean("Deneme") == true) {
//blablabla
}
}
}
Çıktı :
Evet konunun sonuna geldik. Umarım işinize yarayacak bir kaynak olmuştur. Herkese iyi forumlar dilerim...
