Plugin Metadata
Menambahkan metadata plugin membantu pengguna untuk mengidentifikasi plugin Anda dengan lebih mudah dengan memberi mereka kemampuan untuk memeriksa nama, versi, deskripsi, atau bahkan pengarang plugin saat waktu perjalanan. Ini juga akan digunakan saat mempublikasikan plugin di portal plugin seperti Bijih.
Saat ini, Sponge mendukung jenis metadata plugin berikut:
Plugin ID, nama Plugin, versi
Deskripsi
URL (misalnya Website)
Pengembang
Dependensi Hilang
Plugin annotation
Anda bisa mendefinisikan metadata plugin tambahan (opsional) anotasi ''@Plugin'' Anda:
import org.spongepowered.api.plugin.Plugin;
@Plugin(id = "myplugin", name = "My Plugin", version = "1.0",
description = "This is a very cool plugin I made for me",
url = "http://example.com",
authors = {"Spongie", "FLARD"},
dependencies = @Dependency(id = "otherplugin", optional = true))
Hapus metadata
Selain untuk metadata plugin yang didefinisikan dalam anotasi plugin, kami juga merekomendasikan plugin termasuk metadata tersebut pada berkas tambahan di JAR yang telah memiliki beberapa keuntungan:
Integrasi yang lebih mudah untuk membangun sistem (misalnya berkontribusi versi dari sistem pembuatan ke metadata plugin)
Lebih mudah untuk plugin portal untuk mendapatkan metadata plugin (tidak ada parsing file kelas yang diperlukan)
Catatan
Kami menyarankan umum plugin untuk menyertakan file metadata. Plugin portal seperti bijih mungkin memerlukan file metadata. Lihat 'Menggunakan prosesor anotasi'_ untuk cara sederhana untuk menghasilkan. Implementasi dapat mencetak peringatan jika sebuah plugin yang hilang file metadata.
The mcmod.info format
Untuk plugin Sponge, kami menggunakan file bernama mcmod.info
, yang disertakan di akar plugin JAR Anda. Formatnya berasal dari menempa, dan telah digunakan oleh beberapa proyek di komunitas pengrajin tambang, jadi kami telah memilih untuk menggunakan yang sama.
mcmod.info
pada dasarnya adalah file JSON sederhana yang mendefinisikan metadata plugin sebagai bidang sederhana. Berikut adalah contoh file yang bisa digunakan oleh plugin Sponge:
[{
"modid": "myplugin",
"name": "My Plugin",
"version": "1.0",
"description": "This is a very cool plugin I made for me",
"authorList": [
"Spongie",
"FLARD"
],
"dependencies": [
"otherplugin"
]
}]
Menggunakan Prosesor Anotasi
Menulis file tambahan cukup menjengkelkan. Untungnya, biasanya tidak ada tambahan yang perlu Anda lakukan. Saat mengkompilasi plugin Anda, SpongeAPI dapat menghasilkan file ini secara otomatis berdasarkan informasi yang ada di anotasi @ Plugin
Anda.
Aktifkan
Jika anda menggunakan sistem pembuatan seperti Gradle atau Maven dan belum secara eksplisit menonaktifkan proses anotasi maka tidak ada hal ekstra yang perlu dilakukan. Secara default prosesor anotasi akan secara otomatis dijalankan dan menghasilkan berkas mcmod.info
berdasarkan konten anotasi @Plugin
anda.
Jika Anda tidak menggunakan sistem pembangun, Anda perlu mengaktifkan pemrosesan anotasi secara manual.
Pembangunan sistem integrasi
Jika anda meggunakan Gradle, SpongeGradle akan memberikan penambahan integrasi untuk Gradle dan metadata plugin. Sebagai contoh, itu akan secara otomatis termasuk versi proyek yang didefinisikan dalam skrip pembangunan Gradle pada metadata plugin anda. Lihat Menyiapkan Gradle untuk lebih jelasnya.