Häufig gestellte Fragen

Warnung

Dieses Dokument bezieht sich auf eine veralte SpongeAPI-Version und wird nicht länger aktiv gepflegt. Während die Code-Beispiele für diese API-Version immer noch funktionieren, die Richtlinien und einige Links haben sich möglicherweise geändert. Bitte gehe stattdessen zur aktuellen Version der Dokumentation.

Für jeden

Was ist Sponge?

Sponge ist eine neue, vielseitige Minecraft-API. Sponge wird programmiert, um Minecraft durch Plugins zu erweitern. Hier kannst du mehr über Sponge Einführung und seine Geschichte Die Geschichte des Sponge-Projekts lesen

Was braucht man um Sponge auszuführen?

Sponge (und Minecraft) benötigen das Java Runtime Environment um ausgeführt werden zu können. Außerdem brauchst du einen Computer, auf dem du den Server installierst. Darüber hinaus wird nichts benötigt. Erfahre mehr über die Wahl der richtigen Java-Version: Java installieren

Woher bekomme ich Sponge?

Beta-Versionen von SpongeForge und SpongeVanilla stehen bereits zum Download bereit: Sponge Downloads

Welche Sponge Varianten gibt es?

Es sind derzeit zwei Implementierungen verfügbar, die beide die Sponge-API nutzen:

  1. SpongeForge, ein Coremod für Minecraft Forge, ein bei Minecraft-Spielern relativ bekanntes Modding-Framework. Forge hat aber keine API, die mehrere Versionen zulässt, hier springt Sponge ein. Besitzer eines Servers können so ganz einfach Plugins benutzen, das macht die Wartung wesentlich einfacher. („Sponge“ war der frühere Name von SpongeForge, er wurde geändert um Verwechslungen zu vermeiden).

  2. SpongeVanilla, eine nur auf dem Vanilla Minecraft-Server basierende Implementierung der Sponge API. (SpongeVanilla hieß früher Granite, bis sich die Teams von Sponge und Granite vereinten).

Woher bekomme ich Plugins für Sponge?

Auf unserer offiziellen Plugin Plattform, welche Ore heißt. Die Entwicklung wurde bereits auf GitHub gestartet, bis zur Fertigstellung werden Plugins im SpongeForum bereitgestellt.

Was geschah mit Bukkit?

Das Bukkit-Projekt hat die Weiterentwicklung der Bukkit-API und der Implementierung gestoppt. Einer der Mitwirkenden des Projekts hat ein DMCA Request eingereicht um die Weiterverbreitung von CraftBukkit zu unterbinden. Er hat innerhalb seines rechtlichen Spielraums gehandelt. Somit sind derzeit weder der Sourcecode noch der kompilierte Code von CraftBukkit und seinen Derivaten (Spigot, Cauldron) verfügbar. Wenn du mehr über die Gründe erfahren willst, die die Entwicklung von Sponge betreffen, schau hier rein: Die Geschichte des Sponge-Projekts

Kann ich Bukkit Plugins mit Sponge nutzen?

Leider nein, zumindest nicht direkt. Sponge nutzt seine eigene API (Sponge-API), während Bukkit die Bukkit-API benutzt. Es besteht allerdings die Möglichkeit, dass ein Plugin für Sponge entwickelt wird, das die Bukkit-API mit Sponge nutzbar macht.

Für Serverbetreiber

Ich bin ein Serverbetreiber! Wie wird die Umstellung zu Sponge meinen Server beeinflussen?

Wenn du bereits einen Forge-Server hast, dann musst du nur Sponge herunterladen und die Datei in den mods Ordner tun. Danach kann der Forge-Server ganz normal gestartet werden.

Server welche kein Forge nutzen könnten anstelle von SpongeForge SpongeVanilla nutzen, eine Implementation, die nicht auf Forge aufbaut. Es gibt an anderer Stelle in den SpongDocs Anleitungen, um von Bukkit und/oder von Canary zu immigrieren. Es ist entscheidend zu beachten, dass viele Bukkit-Plugin Entwickler sich für Sponge interessieren und planen ihre Plugins für Sponge Server verfügbar zu machen.

Es wird möglich sein Welten auf Sponge zu portieren. Es liegt an den Plugin Entwicklern das Übertragen von ihrer Plugindaten zu ermöglichen. Manche Plugins werden diese Möglichkeit wahrscheinlich nicht bieten.

Wir werden keine Unterstützung von Bukkit Plugins auf Sponge anbieten. Allerdings können Entwickler von sich aus Möglichkeiten schaffen, um Bukkit Plugins auf Sponge zu nutzen.

Wie wird der Wechsel zu Sponge die Spieler meines Servers betreffen?

Der Wechsel zu Sponge sollte die Spieler nicht beeinflussen. Wenn der Serverbetreiber den Server korrekt migriert, können die Spieler wie gewohnt dem Server beitreten. Spieler müssen Forge nicht installiert haben, außer auf dem Server werden Forge Mods genutzt.

Für Entwickler

Was kann ich mit Sponge machen?

Sponge bietet eine Plugin-API. Dies bedeutet, dass du neue Inhalte, Spielweisen und Minigames erstellen kannst. Schaue dir die Plugin-Seiten für einen Schnelleinstieg an: Plugins erstellen

Was kann Sponge nicht? / Grenzen von Sponge?

Sponge kann nicht verwendet werden um neue Blöcke, Texturen, Mobs auf der Spielerseite zu erstellen oder sämtlichen anderen Inhalt, der Mods auf der Spielerseite benötigt zu programmieren. Die Sponge-API unterstützt das direkte Senden von Mods oder Plugins zum Spieler aus Sicherheitsgründen nicht. Du kannst allerdings die Forge-API verwenden und so Inhalte für deine Spieler bereitstellen. Dein Server kann dabei weiterhin auf die Sponge-API setzen. Es ist außerdem möglich Sponge lokal zu installieren, dennoch braucht man für einige tiefgreifende Änderungen die Forge-API.

Ich bin ein Bukkit Pluginentwickler! Warum kann Sponge nicht die Bukkit-API nutzen?

Bukkit’s APi enthält Code, der unter der GPL lizenziert ist. Dies ist einer der Hauptgründe, warum Bukkit Im September 2014 seinem Niedergang erleben musste. Mit dem Schritt vorwärts eine neue API unter der MIT Lizenz zu erstellen können wir einige der Probleme umgehen, die Bukkit getroffen haben. Dies befreit uns nicht von der Kontrolle durch Mojang, da ihr Code nun mal proprietär ist, aber wir glauben, dass Mojang auch weiterhin das Modding unterstützen wird.

Kann ich serverinterne Funktionen in meinem Plugin benutzen?

Auf die Server-interna (bei CraftBukkit bekannt als „NMS“ oder „net.minecraft.server“) kann durch das MCP, welches einen große Anzahl an lesbaren Namen und Funktionen besitzt, zugegriffen werden. Beachte aber bitte, dass der Zugriff auf diese das Risiko erhöht, dass dein Plugin nicht mehr funktioniert - dies ist deine Verantwortung.

Für eine Einführung in das Benutzen der MCP in deinem Plugin schaue dir folgendes an: Implementierungsabhängige Plugins