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? |
---|---|---|
API itu sendiri |
Pengembangan dari API itu sendiri |
|
Implementasi SpongeAPI dibangun di atas Forge |
Pengembangan bagian SpongeForge yang mengandalkan Forge |
|
Implementasi SpongeAPI dibangun langsung di atas Vanilla Minecraft |
Pengembangan Counterpart Vanilla dari repositori SpongeForge |
|
Kode bersama antara SpongeForge dan SpongeVanilla |
Pengembangan semua kode yang dibagi antara SpongeForge dan SpongeVanilla |
|
Alat yang digunakan untuk memasukkan implementasi kedalam struktur kode yang mendasar |
Pengembangan solusi kami untuk menghubungkan Sponge ke server Minecraft |
|
Dokumentasi resmi ProyekSponge |
Memperluas, memperbaiki dan menulis SpongeDocs |
|
Situs web untuk proyek sponge |
Perkembangan situs web kami |
|
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: