Forge Server Tools · every failure mode · guides

ResourceLocationException Non [a-z0-9_.-] character in path

An invalid resource ID was loaded from config or a datapack — FATAL

What this actually means

A mod built a resource ID out of configured text and the text isn't a legal ID. Minecraft IDs allow only [a-z0-9/._-] in the path and exactly one colon. The usual source is a quest, recipe or stat entry where a full id got pasted into a field that wanted only the path -- note the doubled namespace in the reported value.

How to fix it

Read the reported value: if it looks like 'minecraft:mined:minecraft:stone' the namespace is in there twice. Find that entry in the config or datapack that owns it and write just the part that field wants. For FTB Quests stat tasks, the stat field takes a plain stat id (e.g. 'minecraft:mined' plus a separate block id), not a concatenation. The stack trace names the mod and the class that read it -- start there, not in Minecraft's own code.

How to be sure it is this

The message quotes the offending string. Look for capitals, spaces, or a second colon.

What it gets mistaken for

Blamed on a mod when it almost always comes from a config file or datapack somebody edited by hand.

What to do next

Ids are lowercase namespace:path, with only a-z 0-9 _ . - / in the path. Grep your configs for the quoted string.

What it looks like in your log

Search your crash report or latest.log for any of these:

ResourceLocationException: Non  ...  a-z0-9/._-  ...  character in path of location:
ResourceLocationException
Invalid

The free edition covers the six most common startup failures, and this is not one of them — it is in the paid tool, which checks all 24 and names the mod jar from the stack trace. The fix above is the same one it prints, so you do not need it to solve this.