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.