Struktur dari proyek Sponge

Peringatan

This documentation refers to an outdated SpongeAPI version and is no longer actively maintained. While the code examples still work for that API version, the policies, guidelines, and some links may have changed. Please refer to the latest version of the documentation for those.

Proyek Sponge terdiri dari beberapa subproyek yang berbeda, yang diselenggarakan diberbagai repositori GitHub. Berikut sebuah gambaran singkat sebelum menuju ke detailnya:

Proyek Deskripsi Apa yang dikerjakan dalam repositori?
SpongeAPI API itu sendiri Pengembangan dari API itu sendiri
SpongeForge Implementasi SpongeAPI dibangun di atas Forge Pengembangan bagian SpongeForge yang mengandalkan Forge
SpongeVanilla Implementasi SpongeAPI dibangun langsung di atas Vanilla Minecraft Pengembangan Counterpart Vanilla dari repositori SpongeForge
SpongeCommon Kode bersama antara SpongeForge dan SpongeVanilla Pengembangan semua kode yang dibagi antara SpongeForge dan SpongeVanilla
Mixin Alat yang digunakan untuk memasukkan implementasi kedalam struktur kode yang mendasar Pengembangan solusi kami untuk menghubungkan Sponge ke server Minecraft
SpongeDocs Dokumentasi resmi ProyekSponge Memperluas, memperbaiki dan menulis SpongeDocs
SpongeHome Situs web untuk proyek sponge Perkembangan situs web kami
Ore Plugin hosting solusi Pengembangan solusi plugin hosting kami

SpongeCommon, SpongeForge dan SpongeVanilla

Repositori SpongeCommon adalah basis yang berisi semua kode yang dibagi antara implementasi SpongeForge dan SpongeVanilla. Repositori SpongeForge dan SpongeVanilla berisi semua kode yang tidak dapat dibagi di antara keduanya, karena Forge memerlukan beberapa hal khusus untuk Forge yang tidak sesuai dengan Vanilla dan sebaliknya.

Bila Anda mengacu pada penerapan SpongeForge, pada dasarnya Anda membicarakan semua yang ada dalam penyimpanan SpongeCommon dan SpongeForge. Hal yang sama berlaku untuk SpongeVanilla dan SpongeCommon. Inilah alasan mengapa membangun SpongeForge atau SpongeVanilla dari repositori tanpa termasuk SpongeCommon tidak akan berfungsi.

SpongeHome

SpongeHome adalah situs SpongeProject. Ini ditulis di Golang, menggunakan perpustakaan go-macaron. Ini menggunakan SCSS karena ini adalah preprocessor CSS.

Bijih

Bijih adalah solusi hosting plugin kami sendiri. Ini ditulis dalam Scala, berdasarkan Kerangka Bermain dan tentu saja open-source!

Bagaimana segalanya diikat bersama

Gambar menunjukkan berbagai bagian dari Sponge Implementations dan bagaimana mereka berinteraksi satu sama lain dan dependensinya. Di sisi kiri adalah setup SpongeForge yang khas dengan beberapa plugin SpongeAPI, mod Forge dan hibrida yang menggunakan Forge (sebagai mod) dan Sponge (sebagai plugin) untuk berinteraksi. Di sisi kanan ada setup SpongeVanilla yang khas. Anda akan melihat bahwa SpongeVanilla tidak mendukung mods Forge atau hibrida, karena SpongeVanilla kehilangan fungsi Forge:

Repo Overview