Mengkonfigurasi plugin

File konfigurasi mengizinkan plugin untuk menyimpan data, serta mengizinkan administrator server untuk secara mudah mengendalikan bagian sebuah plugin tertentu, jika anda memilih untuk membiarkannya. Sponge menggunakan Konfigurasi untuk mengizinkan anda untuk memanipulasi file konfigurasi secara mudah. Halaman ini akan menjelaskan bagaimana caranya untuk memanfaatkan Konfigurasi dalam urutan agar bisa menggunakan file konfigurasi untuk keuntungan penuh.

Tip

Lihat Configurate wiki resminya untuk memperoleh informasi lebih banyak tentang bekerja dengan komponen-komponennya.

Catatan

Sponge menbuat penggunaan format konfigurasi HOCON, sebuah superset dari JSON, sebagai format default untuk menyimpan file konfigurasi. Sisa dari panduan ini akan menganggap anda menggunakan HOCON demikian juga. Lihat Pengantar ke HTML untuk informasi lebih lanjut mengenai format HOCON. Bekerja dengan format yang berbeda di buat relatif hampir sama dengan sistem Konfigurasi, jadi sebaiknya tidak menimbulkan terlalu banyak persoalan jika anda menggunakan format alternatif sebagai penggantinya.

Mulai cepat

Membuat sebuah Konfigurasi Plugin Default

Plugin menggunakan Sponge API mempunyai pilihan untuk menggunakan satu atau lebih banyak file konfigurasi. File konfigurasi mengizinkan plugin untuk menyimpan data, dan mereka mengizinkan administrator server untuk menyesuaikan opsi plugin (jika berlaku).

Memperoleh Konfigurasi Plugin Default anda

Sponge API menawarkan penggunaan dari DefaultConfig anotasi pada sebuah bidang atau metode pengaturan dengan jenis Path untuk memperoleh file konfigurasi default untuk Plugin anda.

Anotasi @DefaultConfig membutuhkan boolean sharedRoot. Jika anda mengatur sharedRoot menjadi true, lalu pengembalian pathname akan berada di dalam direktori konfigurasi yang dibagikan. Dalam kasus tersebut, berkas konfigurasi untuk plugin anda akan menjadi your_plugin_id.conf (dengan "your_plugin_id" digantikan dengan ID tertentu plugin anda).

Tip

Lihat Class Plugin utama untuk informasi pengkonfigurasian ID plugin anda.

Jika anda menyetel sharedRoot ke false, Pengembalian nama jalan akan mengacu pada sebuah file bernama {pluginname}.conf dalam sebuah direktori yang spesifik untuk plugin anda.

Jika anda tidak yakin dari apa yang harus mengatur nilainya dari sharedRoot untuk, pertimbangan hal berikut:

  • Jika anda berencana untuk mendapatkan beberapa file konfigurasi (plugin kompleks) di masa mendatang, tetapkan nilainya ke``false``.
  • Jika anda merencanakan untuk memiliki sebuah file konfigurasi tunggal (plugin kurang-kompleks), mengatur nilainya untuk true.

Anda juga bisa memperoleh sebuah Path contoh petunjuk untuk direktori konfigurasi pengganti dari file khusus. Hanya saja itu disuntik dengan menggunakan ConfigDir anotasi, salah satu dengan sharedRoot atur ke false untuk sebuah plugin direktori tertentu atau ke true untuk mendapatkan direktori konfigurasi bersama.

Catatan

Meskipun itu memungkinkan untuk mendapatkan sebuah File sebagai gantinya dari sebuah Path, Konfigurasi (dan Sponge) menyarankan menggunakan Path.

** Contoh - Field menggunakan ** `` @ 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;

Peringatan

Ketika plugin anda berjalan untuk pertama kalinya, nama path dikembalikan untuk file konfigurasi dan direktori mungkin belum muncul. Jika anda mendelegasikan semua bacaan / tulisan dari file untuk Konfigurasi, anda tidak perlu untuk khawatir tentang tidak adanya jalur sebagai perpustakaan akan mengenai mereka secara tepat.

Catatan

Penggunaan format YAML (http://yaml.org/spec/1.1/) juga didukung, tetapi format konfigurasi pilihan untuk Sponge plugins adalah HOCON. Konversi dari YAML ke HOCON dapat dilakukan secara otomatis dengan menggunakan YAMLConfigurationLoader untuk memuat konfigurasi lama dan lalu menyimpannya menggunakan HoconConfigurationLoader.