Eklentileri yapılandırma

Konfigürasyon dosyaları eklentilerin veriyi depolamasına izin verirken, sunucu yöneticilerinin bir eklentinin belirli bölümleri üzerinde kontrolü kolayca almalarına izin verirler, eğer izin verirseniz. Sponge, yapılandırma dosyalarını kolayca idare etmenize izin vermek için yapılandırma’yı kullanır. Bu sayfalarda yapılandırma dosyalarını tam olarak kullanabilmek için Configurate’in nasıl kullanılacağı açıklanacaktır.

Tüyo

Bileşenleriyle birlikte çalışmayla ilgili daha ayrıntılı bilgi edinmek için Wiki’yi Yapılandırma <https://github.com/zml2008/configurate/wiki> _ resmi dosyasına bakın.

Not

Sponge, konfigürasyon dosyalarını kaydetmek için varsayılan format olan HOCON yapılandırma formatını, JSON’un bir üst kümesini kullanır. Bu kılavuzun geri kalanı, HOCON’u da kullandığınızı varsayacaktır. HOCON biçimi hakkında bilgi için:doc: ../../ sunucu / başlangıç / konfigürasyon / hocon konusuna bakın. Farklı biçimlerle çalışma, Yapılandırma sistemi tarafından nispeten benzer şekilde yapılır; bunun yerine, alternatif bir biçim kullanırsanız bir sorun oluşturmazsınız.

Hızlı başlangıç

Varsayılan eklenti yapılandırması oluşturma

Sponge API’sini kullanan eklentiler, bir veya daha fazla yapılandırma dosyası seçme seçeneğine sahiptir. Yapılandırma dosyaları eklentilerin verileri depolamasına izin verir ve sunucu yöneticilerinin eklenti seçeneklerini (varsa) özelleştirmelerine izin verirler.

Varsayılan eklenti yapılandırmanızı getirme

Sponge API, eklentinizin varsayılan yapılandırma dosyasını almak için “Dizin” ile bir alan veya ayarlayıcı yöntemi üzerinde: javadoc: DefaultConfig açıklaması kullanmayı önerir.

`` @ DefaultConfig`` açıklaması için bir `` sharedRoot`` boolean gerekir. `` SharedRoot`` öğesini “true`` olarak ayarlarsanız, döndürülen yol adı paylaşılan bir yapılandırma dizininde olacaktır. Bu durumda, eklentinizin yapılandırma dosyası `` your_plugin_id.conf`` olacaktır (“your_plugin_id” in yerine eklentinizin belirtilen kimliğiyle değiştirilir).

Tüyo

Eklenti kimliğinizi yapılandırma hakkında bilgi için: doc: ../ plugin-class.

`` SharedRoot`` öğesini “false`` olarak ayarlarsanız, döndürülen yol adı, eklentinize özgü bir dizinde bulunan” {pluginname}.conf “adlı bir dosyaya başvuracaktır.

`` SharedRoot`` değerini neyin ayarlayacağından emin değilseniz aşağıdakileri göz önünde bulundurun:

  • Gelecekte birden fazla yapılandırma dosyası (karmaşık eklentiler) bulundurmayı planlıyorsanız, değeri “false” olarak ayarlayın.
  • Tek bir yapılandırma dosyasına sahip olmayı planlıyorsanız (daha az karmaşık eklentiler), değeri “true” olarak ayarlayın.

Belirli bir dosya yerine config dizinine işaret eden bir `` Yol`` örneği de elde edebilirsiniz. Sadece: javadoc: ConfigDir açıklaması kullanarak enjekte ettirdiniğiniz, ya` sharedRoot` bir eklentiye özgü dizin için` false` veya paylaşılan yapılandırma dizini elde etmek için` true` olarak ayarlanır.

Not

Yapılandırma ile (ve Sponge) bir “Yol” yerine bir “Dosya” elde etmek mümkün olsa da, “Yol” kullanmanızı öneririz.

** Örnek - Alanı kullanarak ** `` @ DefaultConfig``

import java.nio.file.Path;
import com.google.inject.Inject;
import org.spongepowered.api.config.ConfigDir;
import org.spongepowered.api.config.DefaultConfig;
import ninja.leaping.configurate.commented.CommentedConfigurationNode;
import ninja.leaping.configurate.loader.ConfigurationLoader;

@Inject
@DefaultConfig(sharedRoot = true)
private Path defaultConfig;

@Inject
@DefaultConfig(sharedRoot = true)
private ConfigurationLoader<CommentedConfigurationNode> configManager;

@Inject
@ConfigDir(sharedRoot = false)
private Path privateConfigDir;

Uyarı

Eklentiniz ilk kez çalışırken, yapılandırma dosyaları ve dizinleri için döndürülen yol adları henüz mevcut olmayabilir. Dosyaların tümünün okunması / yazılması için Konfigürasyona delege atarsanız, mevcut olmayan yollar hakkında endişelenmeniz gerekmez, çünkü kitaplık bunları uygun bir şekilde idare eder.

Not

YAML biçiminin kullanımı da (http://yaml.org/spec/1.1/) ile desteklenir, ancak Sponge eklentileri için tercih edilen yapılandırma biçimi HOCON’dur. YAML’den HOCON’a dönüştürme, eski yapılandırmayı yüklemek ve sonra bir: javadoc: HoconConfigurationLoader kullanarak kaydetmek için bir: javadoc:` YAMLConfigurationLoader` kullanılarak otomatikleştirilebilir.