Struktura Projektu Sponge

Ostrzeżenie

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.

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

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 internetowa Projektu Sponge. Jest napisana w Golang, przy użyciu biblioteki go-macaron. Wykorzystuje SCSS jako preprocesor CSS.

Ruda

Ore to repozytorium wtyczek (pluginów). Jest napisane w Scala, przy użyciu Play Framework i oczywiście jest 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