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

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 SpongeProject. Il est écrit en Golang, en utilisant la librairie go-macaron. Il utilise SCSS en tant que préprocesseur CSS.

Minerai

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