Struktura Projektu Sponge
Projekt Sponge składa się z różnych podprojektów, wszystkie mają swoje repozytoria na GitHub. Krótki przegląd:
Projekt |
Opis |
Co jest zawarte w repozytorium? |
---|---|---|
Interfejs API |
Rozwój interfejsu API |
|
Realizacja wdrożenia SpongeAPI jest priorytetem dla Forge |
Opracowanie części funkcji SpongeForge kategoryzowanych pod Forge |
|
Realizacja wdrożenia SpongeAPI opartym bezpośrednio na Vanilla Minecraft. |
Rozwój odpowiednika Vanilla jako repozytorium SpongeForge |
|
Wstrzykiwanie kodu pomiędzy SpongeForge i SpongeVanilla |
Praca nad rozwojem wszystkich zasobów źródłowych współdzielonych pomiędzy SpongeForge i SpongeVanilla |
|
Narzędzie służące do wstrzykiwania kodu wdrożenia do podstawowej struktury kodu |
Rozwój naszego rozwiązania pod względem programistycznym do tworzenia punktów zaczepienia Sponge do serwera Minecraft |
|
Oficjalna dokumentacja Projektu Sponge |
Rozszerzenia, naprawy i tworzenie tekstów do SpongeDocs |
|
Strona internetowa Projektu Sponge |
Rozwój naszej strony internetowej |
|
Rozwiązanie wspierające dokumentacje i publikacji wtyczek |
Rozwój wsparcia dla systemu publikacji wtyczek |
|
Portal uwierzytelniania i SSO dla naszych stron internetowych |
Rozwój naszego portalu uwierzytelniania i rozwiązania SSO |
SpongeCommon, SpongeForge oraz SpongeVanilla
SpongeCommon jest naszym repozytorium, czyli magazynem całego kodu źródłowego, który jest podzielony między SpongeForge i SpongeVanilla przygotowanych do realizacji. Repozytoria SpongeForge i SpongeVanilla zawierają także kod, który nie może być współużytkowany między nimi. Tak jak Forge wymaga niektórych konkretnych funkcji, które nie będą działać na Vanilli i odwrotnie.
Przy odwoływaniu się do realizacji SpongeForge to w zasadzie mówisz o wszystkim co jest zawarte w SpongeCommon i SpongeForge. To samo odnosi się do SpongeVanilla i SpongeCommon. To jest powód dlaczego obiekt SpongeForge lub SpongeVanilla z repozytorium nie zawierającego SpongeCommon nie będzie działać.
SpongeHome
SpongeHome to strona projektu Sponge. Jest napisana w Golang, za pomocą biblioteki go-macaron. Używa SCSS jako swojego preprocesora CSS.
Ore
Ore to nasze własne rozwiązanie hostingu pluginów. Jest napisany w Scala, na podstawie Play Framework i oczywiście open source!
Jak wszystko jest ze sobą powiązane?
Ilustracja przedstawia poszczególne części implementacji Sponge i jak współdziałają ze sobą i ich zależności. Po lewej stronie jest typowa konfiguracja SpongeForge z niektórymi wtyczkami SpongeAPI, Forge mod i hybrydowy, który używa Forge (jako mod) i Sponge (jako wtyczka) do interakcji. Po prawej stronie znajdujemy typową konfiguracje SpongeVanilla. Zauważ, że SpongeVanilla nie obsługuje modyfikacji i hybryd Forge, gdyż SpongeVanilla brakuje funkcji Forge.