Datapacks (datapakketten) breiden Minecraft uit met functies, recepten, voortgang of een nieuwe wereldgeneratie, resourcepacks leveren texturen en geluiden. Beide zijn gebonden aan een gegevensformaat dat met bijna elke Minecraft-versie verandert. Past een pack niet bij de versie van je server of is een bestand erin beschadigd, dan schrijft de server een melding naar het log. Meestal slaat hij alleen het betreffende item over, in één geval breekt hij het opstarten af.

Elke sectie hieronder behandelt een van deze meldingen. De volledige melding inclusief de regels eronder vind je in de Console of onder Bestanden in logs/latest.log. Het deel voor de dubbele punt in namen zoals <pack>:<item> heet namespace en verraadt bijna altijd uit welke pack of mod de fout komt. Maak vóór elke ingreep in de wereldmap of in packbestanden een back-up onder Back-ups.

Server start niet op: een datapack kan niet worden geladen

Zo ziet de melding eruit:

Failed to load datapacks, can't proceed with server load. You can either fix your datapacks or reset to vanilla with --safeMode
java.util.concurrent.ExecutionException: java.lang.IllegalStateException: <Reden>

Wat erachter zit: Minecraft breekt het opstarten af omdat minstens één datapack niet geladen kon worden. De server blijft uit totdat dit is opgelost. Meestal is het pack gemaakt voor een oudere of nieuwere Minecraft-versie, of een bestand erin is beschadigd. De regel eronder noemt de reden; Overworld settings missing wijst bijvoorbeeld op een pack dat de wereldgeneratie aanpast.

Zo los je het op:

  1. Maak onder Back-ups een back-up aan.
  2. Open onder Bestanden de wereldmap (standaard world) en daarin de map datapacks.
  3. Verwijder het laatst toegevoegde pack. Wil je het houden, download het dan eerst.
  4. Start de server opnieuw op. Draait hij weer, plaats het pack dan opnieuw in een versie voor jouw Minecraft-versie.
  5. Weet je niet welk pack de oorzaak is, haal de packs dan één voor één weg en start telkens opnieuw op.

Goed om te weten: De startparameter --safeMode uit de melding heb je hiervoor niet nodig. Als je een pack verwijdert dat de wereldgeneratie verandert, ontstaan nieuwe chunks daarna weer volgens de normale regels; op de grens met oude chunks zie je vaak een rand. Na een versiewissel helpt Minecraft-versie en modloader veilig wijzigen.

Datapack-functie bevat een onbekend commando

Zo ziet de melding eruit:

Failed to load function <pack>:<pfad>
java.util.concurrent.CompletionException: java.lang.IllegalArgumentException: Whilst parsing command on line 4: Unknown or incomplete command, see below for error at position 0: <--[HERE]

Wat erachter zit: Datapacks sturen hun processen aan via functies: tekstbestanden met de extensie .mcfunction, waarin commando's staan. In een van deze bestanden staat een commando dat jouw Minecraft-versie niet kent of anders verwacht; meestal is het pack voor een andere versie gemaakt. Alleen deze functie valt uit, de server blijft draaien; onderdelen van het pack die haar nodig hebben, werken niet.

Zo los je het op:

  1. Lees de eerste regel: voor de dubbele punt staat de naamruimte van het pack, erachter het pad van de functie. line 4 noemt de regel, position 0 de plek daarin; bij 0 is al de commandonaam onbekend.
  2. Vervang het pack in de map datapacks van je wereld door de versie voor jouw Minecraft-versie.
  3. Bij eigen packs open je data/<pack>/function/<pad>.mcfunction (in oudere packs heet de map functions) en corrigeer je de genoemde regel.
  4. Start de server opnieuw op of voer in de Console reload in. Op Paper en Spigot laadt reload alle plugins opnieuw; gebruik daar minecraft:reload.

Goed om te weten: Sommige packs bevatten functies voor optionele mods, waarvan de commando's zonder de mod onbekend zijn. Betreft de melding alleen zulke extra onderdelen, dan mag je haar negeren.

Pack is gemaakt voor een andere Minecraft-versie

Zo ziet de melding eruit:

Couldn't load file/<Pack>.zip pack metadata: Pack declares support for version newer than <Getal>, but is missing mandatory fields min_format and max_format
Couldn't load file/<Pack>.zip pack metadata: Pack declares support for format <Getal>, but game versions supporting formats …

Wat erachter zit: Elk datapack en resourcepack heeft in zijn bovenste map het bestand pack.mcmeta. Daarin staat als getal het packformaat waarvoor het is gemaakt, en elke Minecraft-versie ondersteunt alleen bepaalde formaten. Geeft een pack aan voor nieuwere formaten te zijn gemaakt, dan eist de server aanvullend de velden min_format en max_format. Ontbreken ze of klopt het getal niet, dan laadt de server het pack niet. Hij blijft draaien, alleen zonder dit pack.

Zo los je het op:

  1. De bestandsnaam achter file/ laat zien welk pack het betreft.
  2. Controleer onder Versie welke Minecraft-versie je server heeft.
  3. Download op de pagina van het pack de versie voor precies deze versie, vervang daarmee het oude bestand in de map datapacks van je wereld en start opnieuw op.
  4. Bij eigen packs vul je in pack.mcmeta het pack_format in dat bij jouw versie past, bij nieuwere versies aanvullend min_format en max_format. De getallen per versie staan in de Minecraft-wiki.

Goed om te weten: Versie-aanduidingen in de bestandsnaam geven alleen aan waarvoor de maker het pack bedoeld heeft. Doorslaggevend is wat er in pack.mcmeta staat.

Datapack-tag verwijst naar items die ontbreken

Zo ziet de melding eruit:

Couldn't load tag minecraft:load as it is missing following references: <pack>:tick (from file/<Pack>.zip)
Couldn't load tag <namespace>:<tag> as it is missing following references: <mod>:<eintrag> (from <mod>.jar)

Wat erachter zit: Een tag is een benoemde lijst. minecraft:load en minecraft:tick bevatten functies die bij het laden resp. voortdurend worden uitgevoerd; andere tags bundelen blokken, voorwerpen of wezens. Hier noemt een tag items die niet geladen konden worden. Meestal heeft de bijbehorende functie zelf een fout, of ontbreekt een ander pack of een mod. Tussen haakjes staat waar de tag vandaan komt. Minecraft laat dan de hele tag weg, ook voor andere packs die hem gebruiken; bij minecraft:load of minecraft:tick starten hun processen niet.

Zo los je het op:

  1. Los eerst de meldingen „Failed to load function“ van hetzelfde pack op. Vaak verdwijnt deze melding dan ook.
  2. Hoort het ontbrekende item bij een ander pack of mod, installeer het dan in de versie voor jouw Minecraft-versie.
  3. Ontbreken zelfs items met minecraft: ervoor, dan is het pack bijna altijd voor een andere versie gemaakt. Vervang het door de juiste versie.
  4. Start opnieuw op of laad de datapacks opnieuw (reload, op Paper en Spigot minecraft:reload).

Goed om te weten: Staat er tussen haakjes een .jar-bestand, dan komt de tag uit een mod: Modfouten op Forge-, NeoForge- en Fabric-servers.

Recept of ander datapack-bestand past niet bij het gegevensformaat

Zo ziet de melding eruit:

Couldn't parse data file '<pack>:<name>' from '<pack>:recipe/<name>.json': DataResult.Error['List is too short: 0, expected range [1-9]']

Wat erachter zit: Datapacks beschrijven recepten, voortgang (advancements), predicaten en buittabellen (loot tables) in JSON-bestanden. JSON is een tekstformaat met accolades, veldnamen en waarden. Het genoemde bestand is weliswaar geldige JSON, maar gebruikt velden of verwijzingen die jouw Minecraft-versie niet kent. Minecraft slaat dit ene item over. Een getroffen recept kan dan niet worden gemaakt, de server draait normaal verder.

Zo los je het op:

  1. Het deel achter from toont pack en bestand, de tekst in DataResult.Error[…] zegt wat er niet klopt. List is too short: 0 betekent bijvoorbeeld: een lijst is leeg, terwijl er items verwacht worden.
  2. Download de versie van het datapack voor jouw Minecraft-versie en vervang de oude in de map datapacks van je wereld.
  3. Bij eigen packs pas je het bestand aan het actuele formaat aan. Hoe elk bestandstype is opgebouwd, beschrijft de Minecraft-wiki.
  4. Start de server opnieuw op.

Goed om te weten: Not a string: {"item":"minecraft:tnt"} betekent dat het bestand een ouder receptformaat gebruikt. Deze versie verwacht op die plek alleen de naam als tekst, dus "minecraft:tnt".

Item uit datapack of mod is onleesbaar

Zo ziet de melding eruit:

Couldn't read tag list <namespace>:<tag> from <namespace>:tags/block/<tag>.json in data pack mod/<mod>
java.lang.IllegalStateException: Failed to parse either. First: Not a string: null; Second: Not a JSON object: null

Wat erachter zit: Voor sommige items accepteert Minecraft twee schrijfwijzen. „Failed to parse either“ betekent: de inhoud past bij geen van beide; achter First en Second staat waarop het telkens mislukte. Meestal komt het item uit een mod die voor een andere Minecraft-versie is gemaakt, of uit een beschadigd datapack. De getroffen groep, bijvoorbeeld een blok- of voorwerpenlijst, blijft leeg. Dat kan recepten of de wereldgeneratie verstoren.

Zo los je het op:

  1. Zoek de herkomst: in data pack mod/<mod> staat voor een mod, file/<Pack>.zip voor een datapack. De naamruimte voor de dubbele punt helpt daarbij ook.
  2. Controleer onder Mods resp. in de map datapacks van je wereld of alle mods en datapacks bij jouw Minecraft-versie passen.
  3. Werk de laatst toegevoegde mod of het laatst toegevoegde pack bij.
  4. Trad de melding direct op na het plaatsen van een datapack, haal het dan om te testen weer weg en start opnieuw op.

Goed om te weten: Betreft de melding een mod, dan helpen de onderdelen in het artikel Modfouten op Forge-, NeoForge- en Fabric-servers verder.

Voortgang (advancements) uit een datapack ontbreekt

Zo ziet de melding eruit:

Couldn't load advancements: [<pack>:<progress>, <pack>:<progress>]

Wat erachter zit: Advancements zijn de voortgangen die spelers in het spel vrijspelen. Minecraft kon de genoemde items niet omzetten bij het laden van de datapacks, bijvoorbeeld omdat ze verwijzen naar iets wat er in deze versie niet is. Veel datapacks en mods gebruiken advancements ook onzichtbaar als trigger, bijvoorbeeld om te herkennen dat een speler een structuur heeft gevonden. Zulke functies vallen dan uit. De server blijft gewoon draaien.

Zo los je het op:

  1. De naamruimte vóór de dubbele punt laat zien welk datapack of welke mod de advancements levert.
  2. Werk dit pack of deze mod bij naar de versie voor jouw Minecraft-versie. Heb je het niet nodig, verwijder het dan.
  3. Start de server opnieuw op of laad de datapacks opnieuw (reload, op Paper en Spigot minecraft:reload).
  4. Staat de melding daarna nog steeds in beeld, lees dan de regels ervoor in logs/latest.log. Daar geeft de server vaak aan welk onderdeel van een item niet klopt.

Goed om te weten: Ook als de naamruimte minecraft is, kan een datapack de afzender zijn. Packs mogen onder die naam eigen items aanmaken.

Datapack-predicate heeft het verkeerde formaat

Zo ziet de melding eruit:

Couldn't parse element predicates:<pack>:<name> - Not a json array: {"condition":"minecraft:any_of","terms":[…]}

Wat erachter zit: Een predicate is een opgeslagen voorwaarde die een datapack controleert, bijvoorbeeld of een speler een bepaalde score heeft. Commando's en loottables maken er gebruik van. Jouw Minecraft-versie verwacht op deze plek een lijst tussen rechte haken [ … ], maar het pack levert één enkel object tussen accolades { … }. Minecraft laadt de predicate daarom niet. Alles in het pack wat hiervan afhangt, werkt verkeerd of helemaal niet. De server zelf blijft draaien.

Zo los je het op:

  1. De naam achter predicates: toont het pack en de predicate.
  2. Download de versie van het datapack voor jouw Minecraft-versie en vervang de oude in de map datapacks van je wereld.
  3. Bij eigen packs open je data/<pack>/predicate/<name>.json (in oudere packs heet de map predicates) en breng je het bestand naar het actuele formaat, zoals de Minecraft-wiki beschrijft.
  4. Start opnieuw op of laad de datapacks opnieuw.

Meldingstekst voor het server-resourcepack is verkeerd opgemaakt

Zo ziet de melding eruit:

Failed to parse resource pack prompt '<Hint>'
com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Use JsonReader.setStrictness(Strictness.LENIENT) to accept malformed JSON at line 1 column 1 path $

Wat erachter zit: Met resource-pack-prompt in server.properties bepaal je de tekst die spelers zien wanneer de server hun een resourcepack aanbiedt. Minecraft verwacht daar een tekstcomponent in JSON-formaat, geen gewone zin. Kan de server de waarde niet lezen, dan laat hij de melding weg. De server draait normaal verder, alleen je eigen meldingstekst verschijnt niet.

Zo los je het op:

  1. Open onder Bestanden het bestand server.properties in de hoofdmap van de server.
  2. Schrijf de waarde als JSON-tekst, bijvoorbeeld resource-pack-prompt={"text":"<Hint>"}.
  3. Heb je geen eigen melding nodig, laat de waarde achter het gelijkheidsteken dan leeg.
  4. Sla het bestand op en start de server opnieuw op.

Goed om te weten: De overige waarden van het bestand worden uitgelegd in Minecraft server.properties configureren.

Het bestand pack.mcmeta van een pack is foutief

Zo ziet de melding eruit:

Couldn't load file/<Pack>.zip pack metadata: com.google.gson.stream.MalformedJsonException: <Details>

Wat erachter zit: pack.mcmeta is het identiteitsbestand van elk pack en staat in de bovenste map ervan. Hier is het geen geldige JSON: er ontbreekt bijvoorbeeld een komma, een aanhalingsteken of een haakje. Minecraft kan het pack daarom niet plaatsen en laadt het niet. De server draait zonder het pack verder.

Zo los je het op:

  1. Het eenvoudigst download je het pack opnieuw van de officiële pagina en vervang je het bestand in de map datapacks van je wereld.
  2. Bij eigen packs open je pack.mcmeta. Staat het pack als ZIP-archief, download het dan, corrigeer het bestand op je computer en upload het archief opnieuw.
  3. Controleer de inhoud met een JSON-validator, dus een website of editor die syntaxfouten markeert, en corrigeer de gemarkeerde plek. De melding noemt vaak regel en kolom.
  4. Start de server opnieuw op.

Goed om te weten: Typische fouten zijn een komma na het laatste item, typografische in plaats van rechte aanhalingstekens en een ontbrekend sluithaakje.

Recept noemt een item dat niet bestaat

Zo ziet de melding eruit:

Expected item to be an item, was unknown string '<mod>:<item>'

Wat erachter zit: Een recept noemt een item dat op de server niet bestaat. Bijna altijd ontbreekt de mod die dit item meebrengt, of staat hij in een versie waarin het item anders heet. Alleen het betreffende recept wordt overgeslagen. De server start normaal, maar dit ene recept kan in het spel niet worden gemaakt.

Zo los je het op:

  1. Lees de naam tussen aanhalingstekens. Vóór de dubbele punt staat de verantwoordelijke mod: bij horsepower:flour is dat de mod „horsepower".
  2. Controleer onder Mods of deze mod is geïnstalleerd.
  3. Is hij geïnstalleerd, vergelijk dan zijn versie met die welke je modpack voorschrijft en pas die aan.
  4. Start de server opnieuw op en controleer of de melding wegblijft.

Goed om te weten: Ontbreekt de mod met opzet, bijvoorbeeld omdat je hem uit het modpack hebt verwijderd, dan kun je de melding negeren. Dan ontbreekt alleen dit recept. Hoe mods en modpack bij elkaar passen, laat Minecraft-mods en modpacks goed inrichten zien.

Recept gebruikt een onbekend verwerkingstype

Zo ziet de melding eruit:

com.google.gson.JsonSyntaxException: Unknown recipe '<mod>:<recipe-type>'

Wat erachter zit: Veel mods brengen eigen receptsoorten mee, bijvoorbeeld voor een molen of pers. Hier gebruikt een recept zo'n verwerkingstype dat de server niet kent. De mod die het definieert ontbreekt of is te oud. Het recept wordt overgeslagen, de server blijft draaien.

Zo los je het op:

  1. De naam vóór de dubbele punt noemt de verantwoordelijke mod.
  2. Installeer hem onder Mods of breng hem naar een versie die bij je modpack past.
  3. Komt het recept uit een datapack dat je zelf hebt toegevoegd, verwijder het recept dan daar of haal het hele pack uit de map datapacks van je wereld.
  4. Start de server opnieuw op.

Goed om te weten: Ontbreekt een mod helemaal, dan verschijnt de melding vaak talloze keren achter elkaar met dezelfde naam vóór de dubbele punt. Dan volstaat het om die ene mod te installeren. Ontbreekt hij met opzet, dan ontbreken alleen de recepten die zijn verwerkingstype gebruiken.

Leeg JSON-bestand in mod- of datapack-gegevens

Zo ziet de melding eruit:

com.google.gson.JsonParseException: java.io.EOFException: End of input at line 1 column 1 path $

Wat erachter zit: Bij het laden van de spelgegevens, dus recepten, loottabellen, tags en dergelijke, heeft Minecraft een leeg JSON-bestand gevonden. „End of input at line 1 column 1" betekent: het bestand eindigt voordat het eerste teken komt. Vaak komt het uit een mod, een datapack of een onvolledige of beschadigde upload. De betreffende vermelding wordt overgeslagen, de server blijft gewoon draaien.

Zo los je het op:

  1. Lees in de Console of in logs/latest.log de regels direct ervoor en erna. Daar staat meestal welk bestand of welke mod het betreft.
  2. Staat het bestand in een eigen datapack, vervang het dan door een volledige versie of verwijder het.
  3. Hoort het bij een mod of gedownload datapack, download het dan opnieuw en upload het nogmaals. Let erop dat de upload volledig doorloopt.
  4. Start de server opnieuw op.

Goed om te weten: Bij veel of grote bestanden is een SFTP-programma vaak handiger dan de upload in de browser: Serverbestanden in het paneel bewerken en via SFTP verbinden.

Resourcepack-archief heeft een ongeldige opbouw

Zo ziet de melding eruit:

<Pack> does not contain a valid pack_manifest.json or manifest.json
The resource pack <Pack> is invalid and failed to load

Wat erachter zit: Het resourcepack kon niet worden geladen. Meestal gaat het om Bedrock-packs: die hebben een bestand manifest.json of pack_manifest.json nodig dat het pack beschrijft. De meest voorkomende oorzaak is een extra maplaag, waarbij in het archief eerst een map staat en het bestand pas daarin. Ook een beschadigd archief of een niet passend packformaat leidt tot deze melding. Het pack ontbreekt dan, de server blijft draaien.

Zo los je het op:

  1. Lees de detailmelding in de regels rond deze melding; daarin staat de precieze reden.
  2. Open het archief op je computer. manifest.json of pack_manifest.json moet direct op het hoogste niveau staan, niet in een submap.
  3. Staat het bestand in een submap, pak dan de inhoud van die map opnieuw in als ZIP-archief en upload het opnieuw.
  4. Is het archief beschadigd, download het pack dan opnieuw. Een Java-resourcepack met pack.mcmeta in plaats van een manifest past hier niet; het moet opnieuw in het Bedrock-formaat worden gemaakt.
  5. Start de server opnieuw op.

Goed om te weten: Meer Bedrock-meldingen worden uitgelegd in Bedrock-server en Geyser: meldingen in het log.

Jigsaw-blok noemt een onbekend vervangend blok

Zo ziet de melding eruit:

Failed to parse jigsaw replacement state '<Block>' at BlockPos{x=<x>, y=<y>, z=<z>}

Wat erachter zit: Jigsaw-blokken zijn technische blokken waarmee structuren uit losse delen worden samengesteld. Elk jigsaw-blok bepaalt door welk blok het na het samenvoegen wordt vervangen. Hier is dat vervangende blok onbekend, meestal door een typfout zoals minecrat: in plaats van minecraft:. Bij het genereren blijft het blok op die plek leeg. De server blijft draaien, de structuur heeft alleen een gat.

Zo los je het op:

  1. Noteer de positie uit BlockPos{…}: x, y en z.
  2. Ga met OP-rechten in de creatieve modus daarheen, bijvoorbeeld met /tp <x> <y> <z>.
  3. Open het jigsaw-blok met een rechtsklik en corrigeer de naam in het veld voor het vervangende blok (in de Engelse client „Turns into").
  4. Komt de structuur uit een datapack of mod, dan zit de fout in het structuurbestand daarvan. Dan helpt een gecorrigeerde versie van het pack of de mod; meld de fout bij de auteur.

Goed om te weten: De melding is onschadelijk voor de werking. Ze betreft alleen het uiterlijk van de structuur op die ene plek. Hoe je OP-rechten geeft, staat in OP-rechten en commando's op de Minecraft-server.

Staat jouw melding er niet bij?

Lees de hele melding in de Console of in logs/latest.log, ook de regels er direct voor; vaak staat daar welke pack er net werd geladen. De namespace voor de dubbele punt en gegevens zoals file/<Pack>.zip of mod/<mod> wijzen de afzender aan. Volgt er een stacktrace, dus ingesprongen regels met at …, dan verraden de map- en pakketnamen daarin de betrokken mod of de plugin. Maak vóór wijzigingen aan wereld- of packbestanden een back-up onder Back-ups. Kom je er niet uit, open dan een ticket en vermeld het tijdstip van de melding.