La structure du projet Sponge

Le Sponge Project est composé de différents sous-projets, hébergés sur leur dépôt respectif sur GitHub. Avant d’entrer dans les détails, voici un bref aperçu:

Projet

Description

Qu’est-ce qui est fait dans le dépôt?

SpongeAPI

L’API elle-même

Le développement de l’API elle-même

SpongeForge

Une implémentation de SpongeAPI faite avec et pour Forge

Développement des parties de SpongeForge qui reposent sur Forge

SpongeVanilla

Une implémentation de SpongeAPI faite pour et avec Minecraft Vanilla

Développement de l’homologue Vanilla du dépôt de SpongeForge

SpongeCommon

Le code commun à SpongeForge et SpongeVanilla

Développement de tout le code qui est partagé entre SpongeForge et SpongeVanilla

Mixin

L’outil utilisé pour injecter l’implémentation dans la structure du code sous-jacent

Développement de notre solution pour adapter Sponge au serveur Minecraft

SpongeDocs

La Documentation officielle du SpongeProject

Expansion, correction et écriture de SpongeDocs

SpongeHome

Le site web du SpongeProject

Développement de notre site Web

Ore

Solution d’hébergement de plugins

Développement de notre solution d’hébergement de plugins

SpongeAuth

L’interface d’authentification et SSO pour nos sites web

Développement de notre interface d’authentification et solution SSO

SpongeCommon, SpongeForge et SpongeVanilla

Le dépôt de SpongeCommon est la base qui contient tout le code qui est communs aux deux implémentation, SpongeForge et SpongeVanilla. Les dépôt de SpongeForge et SpongeVanilla contiennent le code qui ne peut pas être partagé avec l’autre implémentation, puisque Forge requiert certaines choses propres à Forge qui ne fonctionneront pas en Vanilla et vice versa.

Lorsque vous faites référence à l’implémentation SpongeForge, vous parlez de tout le contenu des dépôts de SpongeCommon et SpongeForge. Il en va de même pour SpongeVanilla et SpongeCommon. C’est la raison pour laquelle la construction de SpongeForge ou SpongeVanilla depuis le dépôt sans SpongeCommon ne fonctionnera pas.

SpongeHome

SpongeHome est le site web du Sponge Project. Il est écrit en Golang, en utilisant la library go-macaron. Il utilise SCSS en tant que préprocesseur CSS.

Ore

Ore est notre solution d’hébergement de plugins. Il est écrit en Scala, basé sur le Play Framework et est bien sûr open source !

Comment tout est lié

L’image montre les parties variées des implémentations Sponge et comment elles interagissent entre elles et avec leurs dépendances. Sur le côté gauche, une installation typique de SpongeForge avec quelque plugins utilisant SpongeAPI, un mod Forge et un hybride qui utilise Forge (en tant que mod) et Sponge (en tant que plugin) pour interagir. Sur le côté droit il y a une installation typique de SpongeVanilla. Vous noterez que SpongeVanilla ne supporte pas les mods Forge ou les hybrides, car SpongeVanilla ne possède pas les fonctionnalités de Forge:

Repo Overview