La Estructura del Proyecto Sponge

El Proyecto Sponge consiste de diferentes subproyectos, situados en varios repositorios en GitHub. Aquí va un breve resumen antes de entrar en detalle:

Proyecto

Descripción

¿Qué se hace en el repositorio?

SpongeAPI

La API en sí

Desarrollo de la APi en sí

SpongeForge

Una implementación de SpongeAPI construida sobre Forge

Desarrollo de las partes de SpongeForge que se basan en Forge

SpongeVanilla

Una implementación de SpongeAPI construída directamente encima de Minecraft Vanilla

Desarrollo de la Contraparte Vanilla del repositorio de SpongeForge

SpongeCommon

El código compartido entre SpongeForge y SpongeVanilla

Desarrollo de todo código el cual se comparte entre SpongeForge y SpongeVanilla

Mixin

La herramienta utilizada para inyectar implementaciones dentro de la estructura de código subyacente

Desarrollo de nuestra solución para enganchar a Sponge dentro del servidor de Minecraft

SpongeDocs

La Documentación Oficial de SpongeProject

Expandir, reparar y escribir los SpongeDocs

SpongeHome

La página web para el SpongeProject

Desarrollo de nuestra página web

Ore

Solución hosting plugin

Desarrollo de nuestra solución de plugin hosting

SpongeAuth

The authentication portal and SSO for our websites

Development of our authentication portal and SSO solution

SpongeCommon, SpongeForge y SpongeVanilla

El repositorio de SpongeCommon, es la base de todo el código compartido entre la implementación de SpongeForge y SpongeVanilla. Los repositorios de SpongeForge y SpongeVanilla contienen el código que no se puede compartir entre ellos, ya que Forge requiere algunas cosas específicas de Forge que no funcionarán en Vanilla y viceversa.

Al referirse a la implementación de SpongeForge, está hablando básicamente de todo lo que contienen los repositorios de SpongeCommon y SpongeForge. Lo mismo se aplica a SpongeVanilla y SpongeCommon. Ese es el motivo por la cual construir desde el repositorio de SpongeForge o SpongeVanilla sin incluir SpongeCommon, no funcionará.

SpongeHome

SpongeHome is the Sponge Project’s website. It’s written in Golang, using the go-macaron library. It uses SCSS as its CSS preprocessor.

Ore

Ore is our very own plugin hosting solution. It’s written in Scala, based on the Play Framework and of course open source!

Cómo todo está articulado en conjunto

La imagen muestra las múltiples partes de la implementación de Sponge, sus dependencias y cómo interactúan entre sí. En el lado izquierdo se ve una configuración típica de SpongeForge, con algunos complementos de SpongeAPI, un mod Forge y un híbrido entre Forge (como mod) y Sponge (como complemento), que interactúan. En el lado derecho se ve una configuración típica de SpongeVanilla. Verás que SpongeVanilla no admite mods de Forge ni híbridos, ya que a SpongeVanilla le falta la funcionalidad de Forge:

Repo Overview