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 makes use of the HOCON configuration format, a superset of JSON, as the default format for saving configuration files. The rest of this guide will assume you are using HOCON as well. See HOCON’a Giriş more for information regarding the HOCON format. Working with different formats is made relatively similar by the Configurate system, so it should not pose too much of an issue if you use an alternate format instead.

Hızlı başlangıç

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

Plugins using SpongeAPI have the option to use one or more configuration files. Configuration files allow plugins to store data, and they allow server administrators to customize plugin options (if applicable).

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

SpongeAPI offers the use of the DefaultConfig annotation on a field or setter method with the type Path to get the default configuration file for your plugin.

If you place the @DefaultConfig annotation on a field with the type ConfigurationLoader<CommentedConfigurationNode> then you can use it to load and save the default config file in the file system. Please keep in mind that the annotated ConfigurationLoader does not use any default config file that you might ship with your jar, unless you explicitly load it.

`` @ 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ı

When your plugin is running for the first time, returned pathnames for configuration files and directories may not yet exist. If you delegate all reading / writing of files to Configurate, you do not need to worry about non-existent paths as the library will handle them appropriately.

Not

The use of YAML format (http://yaml.org/spec/1.1/) and JSON format (https://www.json.org/) is also supported, but the preferred config format for Sponge plugins is HOCON. Conversion from YAML (or JSON) to HOCON can be automated by using a YAMLConfigurationLoader (or GsonConfigurationLoader) to load the old config and then saving it using a HoconConfigurationLoader.