Eklenti Metaverileri
Eklenti meta verileri ekleme, kullanıcılara, çalışma zamanında bir eklentinin adını, sürümünü, açıklamasını veya yazarlarını bile kontrol etme olanağı vererek eklentinizi daha kolay tanımlamanıza yardımcı olur. Eklentileri Ore gibi bir eklenti portalında yayınlarken de kullanılacaktır.
Şu anda, Sponge şu eklentinin meta verilerini desteklemektedir:
Eklenti Kimlik, Eklenti İsim, Sürüm
Açıklama
URL (örneğin: Web sitesi)
Yazarlar
Eklenti bağımlılıkları
Eklenti ek açıklaması
‘’ @Plugin’’ açıklama üzerinde ek (isteğe bağlı) eklenti meta veri tanımlayabilirsiniz:
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))
Metaveri dosyası
Eklenti ek açıklamasında, tanımlanmış eklenti meta verilerine ek olarak, eklentilerin bu meta veriyi JAR içindeki ek bir dosyaya dahil etmelerini de tavsiye ederiz, ki bu avantajlara sahiptir:
Yapı sistemleri için daha kolay birleştirme (örneğin, yapı sisteminden eklenti meta verilerine sürümün katkıda bulunulması)
Eklenti portalları için eklenti meta verilerini elde etmek daha kolaydır (sınıf dosyalarının ayrıştırılması gerekli değildir)
Not
Herkese açık eklentilerin dosya meta verilerini içermelerini şiddetle öneriyoruz. Ore gibi eklenti portalları, dosya meta veri bilgisini şart koşabilir. Bu bilgiyi oluşturmanın kolay yolu için, Using the Annotation Processor makalesine göz atın. Eğer eklentide meta verisi mevcut değilse, uygulama bir uyarı mesajı verebilir.
mcmod.info formatı
Sponge eklentileri için, eklentinizin JAR dosyasının kök dizininde bulunan mcmod.info
adlı bir dosyayı kullanmaktayız. Format, Forge’dan gelmektedir ve Minecraft topluluğunda birçok proje için kullanılmıştır; bu yüzden, biz de aynı yolu izledik.
mcmod.info
, eklenti meta verisini basit alanlar olarak tanımlayan bir JSON dosyasıdır. Sponge eklentisi tarafından kullanılabilen bir örneğini aşağıda görebilirsiniz:
[{
"modid": "myplugin",
"name": "My Plugin",
"version": "1.0",
"description": "This is a very cool plugin I made for me",
"authorList": [
"Spongie",
"FLARD"
],
"dependencies": [
"otherplugin"
]
}]
Ek Açıklama İşlemcisini Kullanmak
Fazladan bir dosya yazmak sinir bozucu olabilir. Şanslıyız ki, genelde fazladan bir iş yapmanıza gerek yoktur. Eklentinizi derlerken SpongeAPI, @Plugin
açıklamanızda sunduğunuz bilgileri kullanarak bu dosyayı otomatik olarak oluşturabilmektedir.
Etkinleştirme
Eğer siz Gradle veya Maven gibi bir yapılandırma sistemi kullanıyorsanız ve açıklama işlemini bariz bir şekilde devre dışı bırakmadıysanız, ekstra bir şey yapmanıza gerek yoktur. Varsayılan olarak ayarlanmış açıklama işlemcisi otomatik olarak çalışır ve ``@Plugin``açıklamanızın içeriğine dayalı olarak bir ``mcmod.info``dosyası oluşturur.
Eğer bir kurulum sistemi kullanmıyorsanız, açıklama işlemini manüel olarak aktif hale getirmelisiniz.
Kurulum Sistemi Entegrasyonu
Gradle kullanıyorsanız, Gradle ve eklenti meta verisi için SpongeGradle size ek entegrasyon sunacaktır. Örneğin SpongeGradle, Gradle inşa script’inde tanımlı proje sürümünü otomatik olarak eklenti meta vernize dahil edecektir. Detaylar için, Gradle’ın kurulumu dokümanına göz atabilirsiniz.