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 |
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 |
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: