Die Struktur des Sponge Projekts

Das Sponge Projekt besteht aus verschiedenen Teilprojekten, die in verschiedenen Repositories auf GitHub gehostet werden. Ein kurzer Überblick bevor wir ins Detail gehen:

Projekt

Beschreibung

Was wird im Repository getan?

SpongeAPI

Die SpongeAPI

Entwicklung der API

SpongeForge

Eine Implementierung der SpongeAPI auf Basis von Minecraft Forge

Entwicklung der Teile von SpongeForge, die auf Forge basieren

SpongeVanilla

Eine Implementierung der SpongeAPI auf Basis von Vanilla Minecraft

Entwicklung der Teile von SpongeVanilla, die auf dem Vanilla Server basieren

SpongeCommon

Der von SpongeForge und SpongeVanilla gemeinsam genutzte Code

Entwicklung des geteilten Codes

Mixin

Das Werkzeug, das wir nutzen um unsere Implementierungen mit der darunter liegenden Struktur zu verknüpfen

Entwicklung unserer Lösung um SpongeForge in den Minecraft Server einzubinden

SpongeDocs

Die offizielle SpongeProjekt Dokumentation

Erweitern und Schreiben der SpongeDocs

SpongeHome

Die Website für das SpongeProject

Entwicklung unserer Website

Ore

Plugin Hosting Lösung

Entwicklung unserer Plugin Hosting Website

SpongeAuth

Das Authentifizierungsportal und SSO für unsere Webseiten

Entwicklung an unserem Authentifizierungsportal und SSO-Lösung

SpongeCommon, SpongeForge und SpongeVanilla

SpongeCommon ist die Basis unserer Implementierungen. Es enthält allen Code, der von SpongeForge und SpongeVanilla geteilt wird. Das SpongeForge und SpongeVanilla Repository dagegen enthalten jeweils nur den Code, der nicht geteilt werden kann, da Forge einige spezielle Anpassungen erfordert, die nicht auf Vanilla Minecraft funktionieren und umgekehrt.

Wenn man auf SpongeForge (die Implementierung) verweist, so ist immer alles gemeint, das in den SpongeCommon und SpongeForge Repositories enthalten ist. Das Gleiche trifft auch auch SpongeVanilla und SpongeCommon zu. Das ist der Grund weshalb das Kompilieren von SpongeForge oder SpongeVanilla ohne SpongeCommen mit einzubeziehen nicht funktioniert.

SpongeHome

SpongeHome ist die Webseite des Sponge Projektes. Sie wurde in Golang, mit Hilfe der go-macaron-Library, geschrieben. Sie benutzt SCSS zur CSS Vorverarbeitung.

Ore

Ore ist unsere ganz eigene Plugin-Hosting-Lösung. Sie ist Scala, auf dem Play-Framework basiert, und natürlich Open-Source!

Wie alles miteinander verbunden ist

Dieses Bild zeigt die verschiedenen Teile der Sponge Implementierungen und wie sie zusammenhängen. Auf der linken Seite ist ein typischer SpongeForge Server zu sehen, der einige SpongeAPI Plugins, einen Forge-Mod und einen Hybrid (der Forge als Mod und Sponge als Plugin nutzt) enthält. Auf der rechten Seite ist ein typischer SpongeVanilla Server zu sehen. Es fällt auf, das SpongeVanilla weder Forge- Mods noch den Hybrid unterstützt, da SpongeVanilla keine Forge Funktionalität beinhaltet:

Repo Overview