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?

SpongeAPI

Interfejs API

Rozwój interfejsu API

SpongeForge

Realizacja wdrożenia SpongeAPI jest priorytetem dla Forge

Opracowanie części funkcji SpongeForge kategoryzowanych pod Forge

SpongeVanilla

Realizacja wdrożenia SpongeAPI opartym bezpośrednio na Vanilla Minecraft.

Rozwój odpowiednika Vanilla jako repozytorium SpongeForge

SpongeCommon

Wstrzykiwanie kodu pomiędzy SpongeForge i SpongeVanilla

Praca nad rozwojem wszystkich zasobów źródłowych współdzielonych pomiędzy SpongeForge i SpongeVanilla

Mixin

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

SpongeDocs

Oficjalna dokumentacja Projektu Sponge

Rozszerzenia, naprawy i tworzenie tekstów do SpongeDocs

SpongeHome

Strona internetowa Projektu Sponge

Rozwój naszej strony internetowej

Ore

Rozwiązanie wspierające dokumentacje i publikacji wtyczek

Rozwój wsparcia dla systemu publikacji wtyczek

SpongeAuth

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.

Repo Overview