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? |
---|---|---|
De API zelf |
Ontwikkeling van de API zelf |
|
Een implementatie van de SpongeAPI gemaakt voor Forge |
Ontwikkeling van de onderdelen van SpongeForge die afhankelijk zijn van Forge |
|
Een implementatie van de SpongeAPI gemaakt voor Vanilla Minecraft |
Ontwikkeling van de Vanilla tegenhanger van de SpongeForge opslagplaats |
|
De gemeenschappelijke code tussen SpongeForge en SpongeVanilla |
Ontwikkeling van alle code die wordt gedeeld tussen SpongeForge en SpongeVanilla |
|
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 |
|
De officer documentatie van het Sponge Project |
Het uitbreiden, repareren en schrijven van de SpongeDocs |
|
De website voor het Sponge Project |
Ontwikkeling van onze website |
|
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: