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.