Datapacks add functions, recipes, advancements or new world generation to Minecraft, while resourcepacks provide textures and sounds. Both are tied to a data format that changes with almost every Minecraft version. If a pack doesn't match your server's version or a file inside it is corrupted, the server writes a message to the log. Usually it only skips the affected entry, but in one case it aborts the startup.

Each section below covers one of these messages. You can find the full message along with the lines below it in the Console or under Files in logs/latest.log. The part before the colon in names like <pack>:<eintrag> is called the namespace and almost always tells you which pack or mod the error comes from. Before making any changes to the world folder or to pack files, create a backup under Backups.

“Failed to load datapacks”: Minecraft aborts server startup

What the message looks like:

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: Overworld settings missing

What's behind it: Minecraft aborts startup because datapacks or required world generation data could not load. The server stays offline. Usually a datapack does not match the Minecraft version or contains a damaged file. Overworld settings missing means the overworld settings are missing or could not be read.

How to fix it:

  1. Create a backup under Backups.
  2. Read the errors before and below this message in the Console. Check recently added, updated or removed datapacks and mods.
  3. Under Files, open your world's datapacks folder. Download a copy of the most recently added pack, then remove it as a test.
  4. Restart. If the server starts, use a release of the pack matching your Minecraft version.
  5. If the world requires the pack for biomes or dimensions, restore a compatible release or the complete previous setup from a backup.

Good to know: Server software may use different world file layouts. After switching software, follow its migration instructions; see Switching Minecraft version and modloader safely.

“Failed to load function”: A datapack function cannot be loaded

What the message looks like:

Failed to load function <Pack>:<Path>
java.lang.IllegalArgumentException: Whilst parsing command on line <Line>: Incorrect argument for command at position <Position>: …
java.lang.IllegalArgumentException: Whilst parsing command on line <Line>: Can't find element '<Pack>:<Entry>' in registry 'minecraft:item_modifier' …

What's behind it: Datapacks run functions: .mcfunction text files containing commands. A command is unknown, expects different arguments or references missing data, such as an item modification (item_modifier). Usually the pack targets a different Minecraft version. The function fails; the server keeps running, but dependent pack features stop working.

How to fix it:

  1. Read the error below “Failed to load function”: line identifies the line, position the location within it. “Can't find element” names the missing entry.
  2. Replace the pack in your world's datapacks folder with the release for your Minecraft version. For missing entries, also check the pack's required add-ons.
  3. For your own packs, correct the line in data/<Pack>/function/<Path>.mcfunction; older packs use the folder name functions.
  4. Restart or enter reload in the Console. On Paper and Spigot, use minecraft:reload to reload only datapacks.

Good to know: Optional mod functions need their associated mod. Ignore these errors only if the pack author explicitly describes those features as optional.

“Couldn't load … pack metadata”: Pack metadata does not match the Minecraft version

What the message looks like:

Couldn't load file/<Pack>.zip pack metadata: Pack declares support for version newer than <Number>, but is missing mandatory fields min_format and max_format
Couldn't load file/<Pack>.zip pack metadata: Multi-version packs cannot support minimum version of less than <Number>, since this will leave versions in range unable to load pack.

What's behind it: pack.mcmeta describes a datapack's or resourcepack's format and supported version range. Missing required fields or an invalid range prevent the server from loading it. The server continues without this pack. A range extending too far back can also trigger the message.

How to fix it:

  1. The filename after file/ identifies the pack. Check your Minecraft version under Version.
  2. Download the matching release and replace the file under Files. Datapacks belong in your world's datapacks folder; replace resourcepacks at their existing location. Then restart.
  3. For your own packs, follow the metadata requirements for your target version: older formats use pack_format; newer ones use min_format and max_format. Packs spanning multiple versions may also need the older fields.
  4. Check that the declared range is valid and that the message disappears after restarting.

Good to know: Changing format declarations does not automatically update commands or other pack contents.

“Couldn't load tag”: Datapack references missing entries

What the message looks like:

Couldn't load tag minecraft:load as it is missing following references: <Pack>:<Function> (from file/<Pack>.zip)
Couldn't load tag <Namespace>:<Tag> as it is missing following references: <Mod>:<Entry> (from <Mod>.jar)
Couldn't load tag <Namespace>:<Tag> as it is missing following references: #<Mod>:<Tag> (from mod/<Mod>)

What's behind it: A tag is a named list. minecraft:load and minecraft:tick list functions; other tags group blocks or items. A required entry failed to load because a function has an error or a pack or mod is missing. A missing reference starting with # points to another tag. The affected tag becomes unavailable; function tags lose their associated processes.

How to fix it:

  1. First fix “Failed to load function” messages from the same pack.
  2. Check the source in parentheses. If the missing entry belongs to another pack or mod, install its matching release.
  3. If entries starting with minecraft: are missing, also check that the pack matches your Minecraft version.
  4. Restart after mod changes. For datapacks, enter reload in the Console; on Paper and Spigot, use minecraft:reload.

Good to know: A .jar or mod/ source indicates a mod: Mod Errors on Forge, NeoForge and Fabric Servers.

“Couldn’t parse data file …”: Datapack file has an incompatible format

What the message looks like:

Couldn't parse data file '<Pack>:<Entry>' from '<Pack>:recipe/<File>.json': DataResult.Error['Unknown registry key …']
Couldn't parse data file '<Pack>:<Entry>' from '<Pack>:recipe/<File>.json': DataResult.Error['List is too short: 0, expected range [1-9]']
Couldn't parse data file '<Pack>:<Entry>' from '<Pack>:recipe/<File>.json': DataResult.Error['Not a string: {"item":"minecraft:tnt"}; List must have contents']

What's behind it: Datapacks describe recipes and advancements in JSON, a text format for structured data. Mods also supply these files. The file is valid JSON but contains incompatible fields, empty lists or references to unknown entries, such as a recipe serializer that processes the recipe format. Minecraft skips the affected entry; the recipe is missing, while the server keeps running.

How to fix it:

  1. Read the file named after from; DataResult.Error[…] describes the problem.
  2. For a datapack file, replace the pack under Files in your world's datapacks folder with the release for your Minecraft version.
  3. For a mod file, check the mod version and required dependencies; for a Modpack, update the entire pack.
  4. For your own packs, adjust the file to your Minecraft version's format. The Minecraft Wiki describes the file formats.
  5. Restart and check the message.

Good to know: Here, Not a string means text is expected instead of an object.

“Couldn't parse data file”: Pack or mod data cannot be read

What the message looks like:

Couldn't read tag list <Namespace>:<Tag> from <File> in data pack mod/<Mod>
Couldn't parse data file '<Namespace>:<Entry>' from '<File>.json': … Failed to parse either …
java.lang.IllegalStateException: Failed to parse <Namespace>:<Entry> from pack file/<Pack>.zip

What's behind it: Minecraft cannot read a data entry. “Failed to parse either” means neither expected form matches; First and Second explain each failure. Usually a mod or datapack targets a different Minecraft version, or the pack is damaged. Recipes, loot tables and advancements can also be affected. The entry fails; for tag lists, an entire group may stay empty. This can disrupt recipes or world generation.

How to fix it:

  1. Find the source in the full error: mod/<Mod> or a .jar indicates a mod; file/<Pack>.zip indicates a datapack. The namespace provides another clue.
  2. Under Mods, or in your world's datapacks folder, check that releases match your Minecraft version. Unknown registry key names a missing data entry; check required add-ons.
  3. Back up the current state, stop the server and update the most recently added mod or pack.
  4. If this started after adding a datapack, remove it as a test and restart.

Good to know: For mod errors, see Mod Errors on Forge, NeoForge and Fabric Servers.

“Couldn’t load advancements”: Advancements are missing or invalid

What the message looks like:

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

What's behind it: Advancements are the progress that players unlock in the game. Minecraft could not resolve the named entries when loading the datapacks, for example because they refer to something that doesn't exist in this version. Many datapacks and mods also use advancements invisibly as triggers, for example to detect that a player has found a structure. Such functions then fail while the server keeps running.

How to fix it:

  1. The namespace before the colon helps identify the datapack or mod. Check the installed content and the lines before the message.
  2. Update this pack or mod to the version for your Minecraft version. If you don't need it, create a backup under Backups before removing it.
  3. After mod changes, restart the server. For datapack-only changes, you can also use reload in the Console, or minecraft:reload on Paper and Spigot.
  4. If the message is still there afterwards, read the lines before it in logs/latest.log. There the server often says which part of an entry doesn't fit.

Good to know: Even if the namespace is minecraft, a datapack can be the sender. Packs are allowed to create their own entries under this name.

Datapack predicate has the wrong format

What the message looks like:

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

What's behind it: A predicate is a stored condition that a datapack checks, for example whether a player has a certain score. Commands and loot tables rely on it. Your Minecraft version expects a list in square brackets [ … ] at this spot, but the pack supplies a single object in curly braces { … }. Minecraft therefore doesn't load the predicate. Everything in the pack that depends on it behaves incorrectly or not at all. The server itself keeps running.

How to fix it:

  1. The name after predicates: shows the pack and predicate.
  2. Download the version of the datapack for your Minecraft version and replace the old one in the datapacks folder of your world.
  3. For your own packs, open data/<pack>/predicate/<name>.json (in older packs the folder is called predicates) and bring the file into the current format as described by the Minecraft Wiki.
  4. Restart or reload the datapacks.

Prompt text for the server resourcepack is formatted incorrectly

What the message looks like:

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

What's behind it: With resource-pack-prompt in server.properties, you set the text that players see when the server offers them a resourcepack. Minecraft expects a text component in JSON format there, not a simple sentence. If the server can't read the value, it omits the prompt. The server keeps running normally, only your own prompt text doesn't appear.

How to fix it:

  1. Under Files, open the file server.properties in the server's main folder.
  2. Write the value as JSON text, for example resource-pack-prompt={"text":"<Hint text>"}.
  3. If you don't need a custom prompt, leave the value after the equals sign empty.
  4. Save the file and restart the server.

Good to know: The remaining values of the file are explained in Configuring Minecraft server.properties.

A pack's pack.mcmeta file is faulty

What the message looks like:

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

What's behind it: pack.mcmeta is the profile file of every pack and sits in its top-level folder. Here it is not valid JSON: a comma, a quotation mark or a bracket is missing, for example. Minecraft therefore can't classify the pack and doesn't load it. The server keeps running without the pack.

How to fix it:

  1. The easiest way is to download the pack again from its official page and replace the file in the datapacks folder of your world.
  2. For your own packs, open pack.mcmeta. If the pack is a ZIP archive, download it, fix the file on your computer and upload the archive again.
  3. Check the content with a JSON validator, meaning a website or an editor that highlights syntax errors, and fix the highlighted spot. The message often gives the line and column.
  4. Restart the server.

Good to know: Typical errors are a comma after the last entry, typographic instead of straight quotation marks, and a missing closing bracket.

Recipe names an item that doesn't exist

What the message looks like:

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

What's behind it: A recipe names an item that doesn't exist on the server. Almost always the mod that provides this item is missing, or it is present in a version in which the item has a different name. Only the affected recipe is skipped. The server starts normally, but this one recipe can't be crafted in the game.

How to fix it:

  1. Read the name in quotation marks. Before the colon is the responsible mod: for horsepower:flour, it is the mod "horsepower".
  2. Check under Mods whether this mod is installed.
  3. If it is installed, compare its version with the one your modpack specifies and align them.
  4. Restart the server and check whether the message no longer appears.

Good to know: If the mod is missing on purpose, for example because you removed it from the modpack, you can ignore the message. Then only this recipe is missing. How mods and modpack fit together is shown in Setting Up Minecraft Mods and Modpacks Correctly.

Recipe uses an unknown processing type

What the message looks like:

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

What's behind it: Many mods bring their own recipe types, for example for a mill or press. Here a recipe uses such a processing type that the server doesn't know. The mod that defines it is missing or too old. The recipe is skipped and the server keeps running.

How to fix it:

  1. The name before the colon names the responsible mod.
  2. Install it under Mods or bring it to a version that fits your modpack.
  3. If the recipe comes from a datapack that you added yourself, remove the recipe there or take the entire pack out of the datapacks folder of your world.
  4. Restart the server.

Good to know: If a mod is missing entirely, the message often appears many times in a row with the same name before the colon. In that case, it is enough to install that one mod. If it is missing on purpose, only the recipes that use its processing type are missing.

Empty JSON file in mod or datapack data

What the message looks like:

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

What's behind it: When loading the game data, meaning recipes, loot tables, tags and the like, Minecraft found an empty JSON file. "End of input at line 1 column 1" means: the file ends before the first character. It often comes from a mod, a datapack or an incomplete or corrupted upload. The affected entry is skipped and the server keeps running.

How to fix it:

  1. In the Console or in logs/latest.log, read the lines immediately before and after. They usually say which file or mod is affected.
  2. If the file is in your own datapack, replace it with a complete version or remove it.
  3. If it belongs to a mod or downloaded datapack, download it again and re-upload it. Make sure the upload completes fully.
  4. Restart the server.

Good to know: For many or large files, an SFTP program is often more convenient than uploading in the browser: Editing Server Files in the Panel and Connecting via SFTP.

Resourcepack archive is structured invalidly

What the message looks like:

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

What's behind it: The resourcepack could not be loaded. This mostly concerns Bedrock packs: they need a file manifest.json or pack_manifest.json that describes the pack. The most common reason is an extra folder level, where the archive first contains a folder and the file is only inside it. A corrupted archive or an unsuitable pack format also lead to this message. The pack is then missing, and the server keeps running.

How to fix it:

  1. Read the detail message in the lines around this message; it names the exact reason.
  2. Open the archive on your computer. manifest.json or pack_manifest.json must be located directly at the top level, not in a subfolder.
  3. If the file is in a subfolder, repack the contents of that folder as a ZIP archive and upload it again.
  4. If the archive is corrupted, download the pack again. A Java resourcepack with pack.mcmeta instead of a manifest doesn't fit here; it has to be recreated in Bedrock format.
  5. Restart the server.

Good to know: More Bedrock messages are explained in Bedrock Server and Geyser: Log Messages.

Jigsaw block names an unknown replacement block

What the message looks like:

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

What's behind it: Jigsaw blocks are technical blocks used to assemble structures from individual pieces. Each jigsaw block defines which block it is replaced by after assembly. Here this replacement block is unknown, usually due to a typo such as minecrat: instead of minecraft:. During generation, the block stays empty at this spot. The server keeps running, the structure just has a gap.

How to fix it:

  1. Note the position from BlockPos{…}: x, y and z.
  2. With OP permissions, go there in Creative mode, for example with /tp <x> <y> <z>.
  3. Open the jigsaw block with a right-click and correct the name in the field for the replacement block (in the English client "Turns into").
  4. If the structure comes from a datapack or mod, the error is in its structure file. Then a corrected version of the pack or mod helps; report the error to the author.

Good to know: The message is harmless for operation. It only affects the look of the structure at this one spot. How to grant OP permissions is explained in OP Permissions and Commands on the Minecraft Server.

Your message isn't listed?

Read the whole message in the Console or in logs/latest.log, including the lines right before it; often it shows which pack was being loaded at the time. The namespace before the colon and details like file/<Pack>.zip or mod/<mod> reveal the source. If a stack trace follows, meaning indented lines with at …, the folder and package names in it reveal the mod or plugin involved. Before changing world or pack files, create a backup under Backups. If you get stuck, open a ticket and include the time of the message.

You can order a matching server here: Rent Minecraft server.