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? |
---|---|---|
La API en sí |
Desarrollo de la APi en sí |
|
Una implementación de SpongeAPI construida sobre Forge |
Desarrollo de las partes de SpongeForge que se basan en Forge |
|
Una implementación de SpongeAPI construída directamente encima de Minecraft Vanilla |
Desarrollo de la Contraparte Vanilla del repositorio de SpongeForge |
|
El código compartido entre SpongeForge y SpongeVanilla |
Desarrollo de todo código el cual se comparte entre SpongeForge y SpongeVanilla |
|
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 |
|
La Documentación Oficial de SpongeProject |
Expandir, reparar y escribir los SpongeDocs |
|
La página web para el SpongeProject |
Desarrollo de nuestra página web |
|
Solución hosting plugin |
Desarrollo de nuestra solución de plugin hosting |
|
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: