Cyanide
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 list:
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 0
Feature '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)