Minecraft-Datenpaket erstellen: Funktionen, Rezepte und Loot-Tabellen ohne Mod-Loader
Mit Datenpaketen verändern Sie Minecraft Java Edition ohne Java-Code: Aufbau, Funktionen aus Befehlen, eigene Rezepte und Loot-Tabellen, Neuladen und Weitergabe.
Ein Datenpaket erweitert eine Welt der Minecraft Java Edition, ganz ohne Mod-Loader. Es kann Abläufe über Funktionen ausführen, Rezepte ergänzen oder festlegen, welche Gegenstände in einer Beutetabelle landen. Dafür genügen Textdateien in einer festgelegten Ordnerstruktur.
Wichtig ist die Abgrenzung zur Bedrock Edition: Dort lassen sich Java-Datenpakete nicht verwenden, die beiden Editionen haben eigene Erweiterungsformate. Klären Sie deshalb zuerst, für welche Edition und welche Spielversion Ihr Paket gedacht ist.
Ein Datenpaket verändert Regeln und Inhalte einer bestimmten Welt. Eine Mod dagegen bringt eigenen Programmcode mit und greift tiefer ins Spiel ein. Wie Mods mit Fabric oder Forge funktionieren, beschreibt der Artikel Minecraft-Mods programmieren: Fabric oder Forge?. Für eigene Funktionen, Rezepte und Loot-Tabellen reicht ein Datenpaket oft völlig aus.
Voraussetzungen und Aufbau
Sie brauchen nur einen Texteditor und Zugriff auf den Ordner Ihrer Welt. Ein Editor mit Syntaxhervorhebung für JSON macht Tippfehler leichter sichtbar, ist aber keine Pflicht.
Datenpakete liegen im Ordner datapacks der jeweiligen Welt. Vereinfacht sieht ein Paket so aus:
MeineErweiterung/
├── pack.mcmeta
└── data/
└── beispiel/
├── function/
├── recipe/
└── loot_table/
MeineErweiterung ist der Ordnername des Pakets. Unter data folgt der Namespace, hier beispiel. Er trennt Ihre Dateien von denen anderer Pakete und von den Inhalten des Spiels. Verwenden Sie dafür Kleinbuchstaben, Ziffern und Unterstriche, keine Leerzeichen oder Sonderzeichen.
Die Ordnernamen unter dem Namespace haben sich im Lauf der Versionen geändert. Aktuelle Versionen verwenden die Einzahl, also function, recipe und loot_table. In älteren Versionen hießen dieselben Ordner functions, recipes und loot_tables. Viele Anleitungen im Netz zeigen noch die alten Namen. Prüfen Sie deshalb im Minecraft-Wiki, welche Pfade für Ihre Zielversion gelten.
Die Datei pack.mcmeta
Die Datei pack.mcmeta liegt direkt im Hauptordner des Pakets und teilt dem Spiel mit, dass es sich um ein Datenpaket handelt und für welches Format es gebaut ist. Sie muss gültiges JSON enthalten. Der Aufbau:
{
"pack": {
"description": "Eigene Funktionen und Inhalte",
"pack_format": <Formatnummer der Zielversion>
}
}
Der Platzhalter ist kein gültiger Wert. Die Formatangabe ändert sich mit den Spielversionen, und neuere Versionen erwarten sie in anderen Feldern als ältere: Statt eines einzelnen pack_format geben sie mit min_format und max_format einen Bereich an. Welche Felder und Werte Ihre Version erwartet, steht im Minecraft-Wiki. Übernehmen Sie die Angabe nie ungeprüft aus einem alten Beispiel, sonst stuft das Spiel das Paket als inkompatibel ein.
JSON verzeiht keine fehlenden oder doppelten Kommas und keine offenen Anführungszeichen. Auch die Dateiendung muss stimmen: Blendet das Betriebssystem Endungen aus, heißt die Datei womöglich pack.mcmeta.txt und wird nicht erkannt.
Legen Sie den fertigen Paketordner in das Verzeichnis datapacks der Welt und laden Sie die Welt. Ob das Paket erkannt wurde, zeigt der Befehl:
/datapack list
Er listet alle verfügbaren und aktiven Pakete. Erscheint Ihres nicht, prüfen Sie zuerst Ordnerposition, Dateinamen und JSON-Syntax.
Funktionen aus Befehlen
Eine Funktion ist eine Textdatei mit der Endung .mcfunction, die Spielbefehle enthält, einen pro Zeile. Speichern Sie sie im Ordner function Ihres Namespaces, zum Beispiel als start.mcfunction:
say Das Datenpaket ist aktiv.
Aufgerufen wird die Funktion über Namespace und Dateinamen:
/function beispiel:start
Beginnen Sie mit wenigen, leicht nachvollziehbaren Befehlen. So finden Sie bei einem Fehler schnell die verantwortliche Zeile. Achten Sie außerdem darauf, dass die Befehle in Ihrer Zielversion existieren und dass der Aufrufer die nötigen Rechte hat.
Eine Funktion läuft nicht von selbst. Sie rufen sie entweder per Befehl auf oder verknüpfen sie über Funktions-Tags mit dem Spielablauf: Funktionen mit dem Tag minecraft:load laufen einmal nach jedem Laden der Datenpakete, Funktionen mit dem Tag minecraft:tick zu Beginn jedes Spielticks. Solche Tags sind eigene JSON-Dateien im Ordner tags/function und müssen genau der vorgesehenen Struktur folgen.
Häufige Fehler bei Funktionen
- Die Datei liegt im falschen Verzeichnis, oder der Ordnername passt nicht zur Version.
- Namespace oder Dateiname stimmen beim Aufruf nicht exakt überein.
- Ein Befehl enthält einen Syntaxfehler oder existiert in der Zielversion nicht.
- Das Spiel hat die geänderten Dateien noch nicht neu eingelesen.
Ändern Sie Dateien bei laufender Welt, lesen Sie die Datenpakete mit /reload neu ein. Das gilt laut Minecraft-Wiki unter anderem für Funktionen, Rezepte, Loot-Tabellen und Tags. Manche anderen Inhalte übernimmt das Spiel erst nach einem Neustart der Welt.
Ein eigenes Rezept
Rezepte sind JSON-Dateien im Ordner recipe des Namespaces. Ein Rezept kann eine feste Anordnung der Zutaten verlangen oder Zutaten unabhängig von ihrer Position annehmen. Das genaue Format hängt von der Rezeptart und der Spielversion ab.
Ein vereinfachtes Beispiel für ein geformtes Rezept im aktuellen Format:
{
"type": "minecraft:crafting_shaped",
"pattern": [
"AA",
" B"
],
"key": {
"A": "minecraft:stick",
"B": "minecraft:iron_ingot"
},
"result": {
"id": "minecraft:torch",
"count": 1
}
}
Die Zeichen in pattern bilden das Raster der Werkbank ab, ein Leerzeichen steht für ein freies Feld. Jeder Buchstabe muss unter key definiert sein, dort steht die Kennung des Gegenstands oder, mit vorangestelltem #, ein Tag. Unter result legen Sie fest, was das Rezept erzeugt.
Dieses Format gilt nicht für jede Spielversion. Ältere Versionen verwendeten für Zutaten und Ergebnis ein anderes Format, das Sie in vielen Anleitungen noch finden. Vergleichen Sie das Format deshalb mit den Vorgaben Ihrer Zielversion, bevor Sie ein Beispiel übernehmen.
Geben Sie der Datei einen eindeutigen Namen. Taucht das Rezept nicht auf, prüfen Sie zuerst den Pfad, dann die Schreibweise der Gegenstandskennungen und der Felder. Auch gültiges JSON lehnt das Spiel ab, wenn ein Pflichtfeld fehlt oder einen falschen Wert hat.
Loot-Tabellen für Beute
Loot-Tabellen legen fest, welche Gegenstände bei bestimmten Anlässen ausgegeben werden, etwa beim Öffnen eines Behälters. Die Dateien liegen im Ordner loot_table des Namespaces.
Eine Loot-Tabelle besteht aus Pools. Jeder Pool beschreibt eine Auswahl und enthält Einträge sowie Regeln, wie oft und wie gewählt wird. Ein Eintrag verweist zum Beispiel auf einen Gegenstand. Mit Bedingungen und Funktionen steuern Sie die Ausgabe genauer.
Wichtig ist der Verwendungsort. Eine neue Loot-Tabelle im eigenen Namespace verändert nicht automatisch jede Truhe oder Kreatur. Sie muss dort eingebunden werden, wo sie wirken soll, oder über eine vorgesehene Spielmechanik aufgerufen werden. Kennung und Pfad müssen dabei zusammenpassen.
Gehen Sie schrittweise vor: Beginnen Sie mit einer möglichst einfachen Tabelle mit einem einzigen Eintrag, und ergänzen Sie Bedingungen oder weitere Pools erst, wenn diese Grundstruktur funktioniert. So trennen Sie Fehler in der JSON-Datei von Problemen bei der Einbindung.
Kontrollieren und weitergeben
Lesen Sie die Datenpakete nach jeder Änderung neu ein und prüfen Sie, ob Funktionen, Rezepte und Loot-Tabellen dort wirken, wo sie sollen. Dass ein Paket in der Liste erscheint, heißt noch nicht, dass jede einzelne Datei fehlerfrei ist.
Eine kurze Prüfroutine hilft:
- Stimmen Hauptordner,
pack.mcmetaund Namespace? - Passen die Ordnernamen zur Zielversion?
- Haben alle Dateien die richtige Endung?
- Ist jede JSON-Datei gültig, und sind alle Pflichtfelder vorhanden?
- Wird die Funktion mit dem richtigen Namespace aufgerufen?
- Ist die Loot-Tabelle an der gewünschten Stelle eingebunden?
Zum Weitergeben packen Sie den Paketordner als ZIP-Datei. Die pack.mcmeta muss dabei auf der obersten Ebene des Archivs liegen, nicht in einem zusätzlichen Unterordner. Geben Sie außerdem an, für welche Spielversion das Paket gedacht ist, damit niemand es mit einer unpassenden Version verwendet.
Fazit
Ein Datenpaket ist der einfachste Weg, Funktionen, Rezepte und Loot-Tabellen in einer Welt der Java Edition anzupassen, ganz ohne Mod-Loader. Entscheidend sind eine korrekte Ordnerstruktur, gültige Dateien und die genaue Ausrichtung auf die Zielversion. Beginnen Sie klein und erweitern Sie das Paket erst, wenn die Grundlagen zuverlässig funktionieren. Wer später eigenen Code schreiben möchte, findet Einstiege in den Artikeln Lua fürs Modding und World-of-Warcraft-Addon programmieren sowie in der Übersicht Mods für Spiele programmieren.
Fragen und Antworten
- Kann ein Datenpaket meine Welt beschädigen?
- Ein fehlerhaftes Datenpaket kann Spielabläufe verändern oder Inhalte unerwartet beeinflussen. Legen Sie vor größeren Änderungen eine Kopie der Welt an. Entfernen Sie ein Paket nicht unüberlegt, wenn die Welt bereits Inhalte oder Abläufe daraus nutzt.
- Können mehrere Datenpakete gleichzeitig aktiv sein?
- Ja. Enthalten mehrere Pakete dieselbe Datei, gilt die Fassung aus dem zuletzt geladenen Paket. Die Reihenfolge legen Sie in der Paketübersicht oder mit dem Befehl /datapack fest. Eindeutige Namespaces verhindern ungewollte Überschneidungen.
- Funktionieren Datenpakete auch auf einem Server?
- Ja, sofern der Server dieselbe Edition und eine passende Spielversion verwendet. Das Paket liegt dann im Ordner datapacks der Serverwelt. Bei gemieteten Servern hängt der Dateizugriff von den Verwaltungsfunktionen des Anbieters ab.
- Kann ein Datenpaket eigene Gegenstände mit neuen Modellen hinzufügen?
- Datenpakete sind für Spielregeln und Daten wie Funktionen, Rezepte und Beute gedacht. Texturen, Modelle und Klänge gehören in ein Ressourcenpaket, das zusätzlich passend zur Spielversion erstellt und mit ausgeliefert wird.
Weiterlesen
- Spiele-Mods
Offizielle Modding-Schnittstellen, Mod-Loader, Patch-Bibliotheken und Mod-Plattformen: wie Spiele-Mods technisch funktionieren und wo die rechtlichen Grenzen liegen.
- Fabric oder Forge
Fabric, Forge oder NeoForge? Wie sich die Mod-Loader für Minecraft Java Edition unterscheiden, welcher zu Ihrem Vorhaben passt und wie Sie die erste Mod aufsetzen.
- Lua fürs Modding
Viele Spiele lassen sich mit Lua erweitern. Was die Sprache ausmacht, wie Variablen, Tabellen und Funktionen funktionieren und wo die Spielschnittstelle die Grenzen setzt.