A mod which improves Minecraft's data driven world generation error detection and recovery mechanisms.
MIT License
cyanide seems to be something that will make me want to drink cyanide a lot less - Starmute, world generation datapack wizard.
A mod which substantially improves Minecraft's data driven world generation error detection and recovery mechanisms. It removes unnecessary stack traces and generates user-friendly error messages for most common issues with world generation datapacks. For some examples of what improvements Cyanide makes to error reporting, see the below table:
Explanation | Example |
---|---|
All errors identify the exact file, and source datapack where the error originated. Some error messages are improved for clarity or have additional context added where possible. | Parsing Error: Value provider too low (must be >= 0), got -1 at 'placement' at 'cyanide:worldgen/placed_feature/ore_tin' defined in 'file/Test.zip' |
The "Unbound values in registry" error tracks what files were referencing it. | Missing File Error: 'cyanide:worldgen/configured_feature/big_ores'was referenced but not defined at 'cyanide:worldgen/placed_feature/big_ores' defined in 'file/Test.zip' |
Illegal JSON will show the exact file location, along with the surrounding context of where it failed to parse. | Syntax Error: Expected ':' at line 3 column 13 path $.config at:{ "type": "minecraft:big_flowers", "config" { ^ here at 'cyanide:worldgen/configured_feature/flowers' defined in 'file/Test.zip' |
"Feature Cycle" errors (where features are defined in different order within different biomes) trace and report the exact cycle found | A feature cycle was found.Cycle:At step 0Feature 'minecraft:lake_lava_underground' must be before 'minecraft:lake_lava_surface' (defined in 'minecraft:ocean' at index 1, 2 and 1 others) must be before 'cyanide:big_ore' (defined in 'minecraft:ocean' at index 2, 3) must be before 'cyanide:small_ore' (defined in 'minecraft:plains' at index 0, 1) must be before 'minecraft:lake_lava_underground' (defined in 'minecraft:ocean' at index 0, 1 and 1 others) |