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