De structuur van het Sponge Project

Waarschuwing

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.

Het Sponge Project bestaat uit verschillende sub-projecten, die te vinden zijn in verschillende opslagplaatsen op GitHub. Hier is een kort overzicht voordat we op de details ingaan:

Project

Omschrijving

Wat wordt in de opslagplaats gedaan?

SpongeAPI

De API zelf

Ontwikkeling van de API zelf

SpongeForge

Een implementatie van de SpongeAPI gemaakt voor Forge

Ontwikkeling van de onderdelen van SpongeForge die afhankelijk zijn van Forge

SpongeVanilla

Een implementatie van de SpongeAPI gemaakt voor Vanilla Minecraft

Ontwikkeling van de Vanilla tegenhanger van de SpongeForge opslagplaats

SpongeCommon

De gemeenschappelijke code tussen SpongeForge en SpongeVanilla

Ontwikkeling van alle code die wordt gedeeld tussen SpongeForge en SpongeVanilla

Mixin

Het hulpprogramma dat gebruikt wordt om de implementatie in de onderliggende codestructuur te injecteren

Ontwikkeling van onze oplossing om Sponge in te haken in de Minecraft server

SpongeDocs

De officer documentatie van het Sponge Project

Het uitbreiden, repareren en schrijven van de SpongeDocs

SpongeHome

De website voor het Sponge Project

Ontwikkeling van onze website

Ore

Plugin hostingoplossing

Ontwikkeling van onze plugin hostingoplossing

SpongeCommon, SpongeForge en SpongeVanilla

De SpongeCommon-opslagplaats is de basis van alle gemeenschappelijke code tussen de SpongeForge en SpongeVanilla implementaties. De SpongeForge en SpongeVanilla-opslagplaatsen bevatten de code die niet gedeeld kan worden, omdat Forge een aantal specifieke Forge dingen vereist en omgedraaid.

Wanneer u naar de SpongeForge implementatie verwijst, dan praat u in principe over alles in de SpongeCommon en SpongeForge opslagplaatsen. Hetzelfde geldt voor SpongeVanilla en SpongeCommon. Dit is de reden waarom het bouwen van SpongeForge of SpongeVanilla van hun opslagplaatsen zonder SpongeCommon niet werkt.

SpongeHome

SpongeHome is de website van het Sponge Project. Het is geschreven in Golang, met behulp van de go-macaron bibliotheek. Het gebruikt SCSS als CSS preprocessor.

Ore

Ore is onze eigen plugin hostingoplossing. Het is geschreven in Scala, gebaseerd op het Play Framework en natuurlijk open-source!

Hoe alles bij elkaar komt

Deze afbeelding toont de verschillende onderdelen van de Sponge implementatie en hoe deze omgaan met elkaar en hun bijbehorende benodigdheden. Aan de linkerzijde is een typische SpongeForge installatie met sommige SpongeAPI plugin, een Forge mod en een hybride die gebruikt maakt van Forge (als een mod) en Sponge (als een plugin) om te communiceren. Aan de rechterzijde is een typische SpongeVanilla installatie. U ziet dat SpongeVanilla geen Forge mods of de hybride ondersteunt, dit komt omdat SpongeVanilla niet over de Forge functionaliteit beschikt:

Repo Overview