La Estructura del Proyecto Sponge

Advertencia

This documentation refers to an outdated SpongeAPI version and is no longer actively maintained. While the code examples still work for that API version, the policies, guidelines, and some links may have changed. Please refer to the latest version of the documentation for those.

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 <https://github.com/Spongepowered/SpongeAPI> ` _

La API en sí

Desarrollo de la APi en sí

` SpongeForge <https://github.com/Spongepowered/SpongeForge> ` _

Una implementación de SpongeAPI construida sobre Forge

Desarrollo de las partes de SpongeForge que se basan en Forge

` SpongeVanilla <https://github.com/Spongepowered/SpongeVanilla> ` _

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

Desarrollo de la Contraparte Vanilla del repositorio de SpongeForge

`SpongeCommon <https://github.com/Spongepowered/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

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 es el sitio web de SpongeProject. Está escrito en Golang, utilizando la librería go-macaron. Utiliza SCSS al ser este el preprocesador de CSS.

Ore

Ore es nuestra propia solución de plugin hosting. Está escrito en Scala, basado en el Play Framework y por supuesto en el código abierto!

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