The Best Resource for Minecraft
The Best Resource for Minecraft

Datenpaket wird nicht geladen? Die Ordnerstruktur und die drei Namen, die übereinstimmen müssen

Datenpaket wird nicht geladen? Die Ordnerstruktur und die drei Namen, die übereinstimmen müssen

Ein Datenpaket, das nicht in /datapack list erscheint, hat ein Pfadproblem, kein Codeproblem. Hier ist der genaue Baum, die Namensraumregel und die Ordner, die umbenannt wurden.

/datapack list zeigt nichts an oder zeigt das Paket als deaktiviert an. Fast immer ist das JSON in Ordnung und die Ordner sind falsch.

Der Baum

world/datapacks/my_pack/
├── pack.mcmeta
└── data/
    └── my_namespace/
        ├── function/         one .mcfunction per file
        ├── recipe/
        ├── loot_table/
        ├── advancement/
        ├── predicate/
        └── tags/
            └── function/
                └── load.json

Drei Namen müssen übereinstimmen, und einer davon ist nicht offensichtlich:

  1. pack.mcmeta im Paket-Stammverzeichnis – neben data/, nicht darin.
  2. data/<namespace>/ – Ihr Namensraum, Kleinbuchstaben, keine Leerzeichen. Dies wird zum Präfix in my_namespace:my_function.
  3. Die Namen der Kategorieordner, die sich geändert haben und der übliche Übeltäter sind.

Die Ordner wurden in die Einzahl umbenannt

Dies hat viele Pakete und viele Tutorials kaputt gemacht:

AltAktuell
functions/function/
recipes/recipe/
loot_tables/loot_table/
advancements/advancement/
predicates/predicate/
structures/structure/

Ein Paket, das die Pluralnamen verwendet, wird geladen – es erscheint in /datapack list – und tut einfach nichts, was der verwirrendste Fehlerfall in dieser Reihe ist. tags/ blieb im Plural, und tags/function/ wurde darin zur Einzahl. Ja, das ist inkonsistent.

Automatisches Ausführen von etwas

Zwei spezielle Tags:

data/minecraft/tags/function/load.json   → runs once on load/reload
data/minecraft/tags/function/tick.json   → runs every tick

Beachten Sie data/minecraft/, nicht Ihren eigenen Namensraum – der Tag gehört Minecraft, die Funktionen, auf die er verweist, gehören Ihnen:

{ "values": ["my_namespace:setup"] }

Diagnose in der richtigen Reihenfolge

  1. /datapack list – wenn das Paket überhaupt nicht aufgeführt ist, fehlt pack.mcmeta, ist fehlerhaft oder eine Ebene zu tief.
  2. Aufgeführt, aber deaktiviert/datapack enable "file/my_pack". Beachten Sie das Präfix file/ und die Anführungszeichen.
  3. Aufgeführt und aktiviert, aber inaktiv – falsches pack_format oder Ordnernamen im Plural.
  4. /reload und lesen Sie den Chat. Syntaxfehler in Funktionen tauchen dort auf, nicht stillschweigend.

Gezippt oder nicht

Beides funktioniert. Gezippt bedeutet pack.mcmeta im Zip-Stammverzeichnis, genau wie bei Ressourcenpaketen. Die Ordnerform ist während der Entwicklung einfacher, da /reload Änderungen ohne erneutes Zippen übernimmt.

Server-Platzierung

Auf einem Server ist der Pfad <world>/datapacks/, wobei <world> der Wert von level-name in server.properties ist – nicht das Server-Stammverzeichnis. Das Ablegen des Pakets im Serverordner ist der häufigste serverseitige Fehler.

Erstellen Sie ein Paket mit den aktuellen Ordnernamen, einem gültigen pack.mcmeta und einem bereits verdrahteten Lade-Tag, und laden Sie es dann mit dem Datapack Studio herunter, bereit zum Ablegen.

Tool ausprobieren: Datapack Studio →