All Mods Resource Packs Data Packs Shaders Modpacks Plugins
Cyanide

Cyanide

by alcatrazEscapee • Downloads: 0 • Followers: 0
Description
Gallery
Changelog
Versions

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)

All Versions

+ Add Version
Name Game version Platforms Published Downloads Actions
1.21.1
Neoforge
last yr. 1
1.21.1
Fabric
last yr. 1
1.20.1
Fabric
last yr. 1
1.20.1
Forge Neoforge
last yr. 1
1.20.1
Fabric
last yr. 1
1.20.1
Forge Neoforge
last yr. 1
1.20.x
Fabric
last yr. 1
1.20.x
Forge Neoforge
last yr. 1
1.19.3
Fabric
last yr. 1
1.19.3
Forge
last yr. 1
1.19.2
Fabric
last yr. 1
1.19.2
Forge
last yr. 1
1.18.2
Fabric
last yr. 1
1.18.2
Forge
last yr. 1
1.17.1
Fabric
last yr. 1
1.17.1
Forge
last yr. 1
[5.0.0] NeoForge-1.21.1-5.0.0 by alcatrazEscapee on Oct 04, 2024
Download
Initial update to Minecraft 1.21. This version had a lot of (Mojang made) changes, especially a large update to DataFixerUpper which required a lot of changes within Cyanide. Some of Cyanide's features have been integrated into Minecraft itself (see for example, [Mojang/DataFixerUpper@e491561](https://github.com/Mojang/DataFixerUpper/commit/e49156100d510cd5fb54dcdb2dfb4efb68be3d46) or [Mojang/DataFixerUpper#54](https://github.com/Mojang/DataFixerUpper/pull/54)).

With these changes, come some improvements to Cyanide's error tracking, mainly in being able to handle the "Unbound values in registry" more gracefully by tracking where the unbound reference(s) came from:

``
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'
`

### Changes

  • Updated to Minecraft 1.21, supporting NeoForge and Fabric.
  • Rewrote registry parsing (again) in order to better handle "Unbound values in registry" errors.
  • Added improved error messages for IntProvider and FloatProvider.
  • Added various fieldOf injections for traceability across a number of different data types.
  • Removed error reporting modifications for Biomes, Enum` types, and list indexes.

### Features

For a more comprehensive list of Cyanide's existing features, [see here](https://github.com/alcatrazEscapee/cyanide?tab=readme-ov-file#cyanide).
[5.0.0] Fabric-1.21.1-5.0.0 by alcatrazEscapee on Oct 04, 2024
Download
Initial update to Minecraft 1.21. This version had a lot of (Mojang made) changes, especially a large update to DataFixerUpper which required a lot of changes within Cyanide. Some of Cyanide's features have been integrated into Minecraft itself (see for example, [Mojang/DataFixerUpper@e491561](https://github.com/Mojang/DataFixerUpper/commit/e49156100d510cd5fb54dcdb2dfb4efb68be3d46) or [Mojang/DataFixerUpper#54](https://github.com/Mojang/DataFixerUpper/pull/54)).

With these changes, come some improvements to Cyanide's error tracking, mainly in being able to handle the "Unbound values in registry" more gracefully by tracking where the unbound reference(s) came from:

``
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'
`

### Changes

  • Updated to Minecraft 1.21, supporting NeoForge and Fabric.
  • Rewrote registry parsing (again) in order to better handle "Unbound values in registry" errors.
  • Added improved error messages for IntProvider and FloatProvider.
  • Added various fieldOf injections for traceability across a number of different data types.
  • Removed error reporting modifications for Biomes, Enum` types, and list indexes.

### Features

For a more comprehensive list of Cyanide's existing features, [see here](https://github.com/alcatrazEscapee/cyanide?tab=readme-ov-file#cyanide).
[4.1.1] Fabric-1.20.1-4.1.1 by alcatrazEscapee on Oct 03, 2024
Download
### Changes

  • Support Fabric's custom world gen registry API. Fixes #28, #29
[4.1.1] Forge-1.20.1-4.1.1 by alcatrazEscapee on Oct 03, 2024
Download
### Changes

  • Support Fabric's custom world gen registry API. Fixes #28, #29
[4.1.0] Fabric-1.20.1-4.1.0 by alcatrazEscapee on Oct 29, 2023
Download
### Changes

  • Update to 1.20.1
  • Support Forge's custom world gen registry API. Fixes #20, #21, and #22.
[4.1.0] Forge-1.20.1-4.1.0 by alcatrazEscapee on Oct 29, 2023
Download
### Changes

  • Update to 1.20.1
  • Support Forge's custom world gen registry API. Fixes #20, #21, and #22.
[4.0.0] Fabric-1.20-4.0.0 by alcatrazEscapee on Jun 13, 2023
Download
Update to 1.20. No notable changes.
[4.0.0] Forge-1.20-4.0.0 by alcatrazEscapee on Jun 13, 2023
Download
Update to 1.20. No notable changes.
[3.1.0] Fabric-1.19.3-3.1.0 by alcatrazEscapee on Jun 13, 2023
Download
Updated to 1.19.3

Mojang pulled a fast one on modders and unfortunately this is not compatible with 1.19.2. They also managed to rewrite some of their registry loading which has made Cyanide a bit more ineffective, as tracking down invalid references is no longer possible (quite unfortunately).
[3.1.0] Forge-1.19.3-3.1.0 by alcatrazEscapee on Jun 13, 2023
Download
Updated to 1.19.3

Mojang pulled a fast one on modders and unfortunately this is not compatible with 1.19.2. They also managed to rewrite some of their registry loading which has made Cyanide a bit more ineffective, as tracking down invalid references is no longer possible (quite unfortunately).
[3.0.1] Fabric-1.19.2-3.0.1 by alcatrazEscapee on Jun 13, 2023
Download
1.19 Update!

Nothing has particularly changed, however this is updated to both Forge and Fabric, using a new setup which should allow both mod loaders to be maintained more in parallel than was already possible.
[3.0.1] Forge-1.19.2-3.0.1 by alcatrazEscapee on Jun 13, 2023
Download
1.19 Update!

Nothing has particularly changed, however this is updated to both Forge and Fabric, using a new setup which should allow both mod loaders to be maintained more in parallel than was already possible.
[2.1.1] Fabric-1.18.2-2.1.1 by alcatrazEscapee on Jun 13, 2023
Download
  • Added some additional error reporting to placed features.
  • Improved the cases in which feature cycle errors were able to be detected. Previously, this would only work with the "add datapacks" screen.
  • Improve performance of data pack detection (the at: data pack foobar.zip) error, when no errors are detected. Can result in 2-3x speedups for larger world gen data packs.

Added detection and improved error logging for feature cycles. The new error messages now identify the exact cycle, including the biomes and features by name that they were defined in (a significant improvement on printing the hash codes of the biomes).

Example of a feature cycle using Cyanide:

``
A feature cycle was found.

Cycle:
At step 7
Feature 'minecraft:patch_fire'
must be before 'minecraft:patch_soul_fire' (defined in 'minecraft:warped_forest' at index 1, 2 and 3 others)
must be before 'minecraft:glowstone_extra' (defined in 'minecraft:warped_forest' at index 2, 3 and 2 others)
must be before 'minecraft:glowstone' (defined in 'minecraft:warped_forest' at index 3, 4 and 4 others)
must be before 'minecraft:patch_crimson_roots' (defined in 'minecraft:soul_sand_valley' at index 2, 3)
must be before 'minecraft:patch_fire' (defined in 'minecraft:soul_sand_valley' at index 3, 4)
`

The same datapack in Vanilla, 1.18-pre7:

`
Failed to validate datapack
java.util.concurrent.CompletionException: java.lang.IllegalStateException: Feature order cycle found, involved biomes: [caz@5bf17128, caz@7913a77c]
... followed by a ~50 line long stacktrace ...
``
[2.1.1] Forge-1.18.2-2.1.1 by alcatrazEscapee on Jun 13, 2023
Download
  • Added some additional error reporting to placed features.
  • Improved the cases in which feature cycle errors were able to be detected. Previously, this would only work with the "add datapacks" screen.
  • Improve performance of data pack detection (the at: data pack foobar.zip) error, when no errors are detected. Can result in 2-3x speedups for larger world gen data packs.

Added detection and improved error logging for feature cycles. The new error messages now identify the exact cycle, including the biomes and features by name that they were defined in (a significant improvement on printing the hash codes of the biomes).

Example of a feature cycle using Cyanide:

``
A feature cycle was found.

Cycle:
At step 7
Feature 'minecraft:patch_fire'
must be before 'minecraft:patch_soul_fire' (defined in 'minecraft:warped_forest' at index 1, 2 and 3 others)
must be before 'minecraft:glowstone_extra' (defined in 'minecraft:warped_forest' at index 2, 3 and 2 others)
must be before 'minecraft:glowstone' (defined in 'minecraft:warped_forest' at index 3, 4 and 4 others)
must be before 'minecraft:patch_crimson_roots' (defined in 'minecraft:soul_sand_valley' at index 2, 3)
must be before 'minecraft:patch_fire' (defined in 'minecraft:soul_sand_valley' at index 3, 4)
`

The same datapack in Vanilla, 1.18-pre7:

`
Failed to validate datapack
java.util.concurrent.CompletionException: java.lang.IllegalStateException: Feature order cycle found, involved biomes: [caz@5bf17128, caz@7913a77c]
... followed by a ~50 line long stacktrace ...
``
[1.2.3] Fabric-1.17.1-1.2.3 by alcatrazEscapee on Jun 13, 2023
Download
  • Changes**

  • Add improved logging for vanilla's "silent" world generation datapack errors, namely dimension errors.
  • Fix trace information for structure template pool processor lists not showing up as intended.
[1.2.3] Forge-1.17.1-1.2.3 by alcatrazEscapee on Jun 13, 2023
Download
  • Changes**

  • Add improved logging for vanilla's "silent" world generation datapack errors, namely dimension errors.
  • Fix trace information for structure template pool processor lists not showing up as intended.
Cyanide Icon
Download Cyanide
Select game version
Select platform