
Cyanide
Мод Cyanide для Майнкрафт улучшает обработку ошибок генерации мира в датапаках. Он заменяет непонятные стектрейсы на понятные сообщения с указанием файла и источника проблемы.
Cyanide - мод для Minecraft, который делает отладку датапаков генерации мира намного проще. Если вы когда-нибудь сталкивались с ошибками в своих датапаках и пытались понять, что пошло не так, то знаете, как это бывает муторно. Стандартные сообщения об ошибках в Майнкрафт часто выглядят как бесконечные простыни текста, в которых сложно найти суть. Cyanide решает эту проблему.
Что делает Cyanide
Мод кардинально улучшает механизмы обнаружения и обработки ошибок в датапаках, отвечающих за генерацию мира. Вместо кучи ненужных стектрейсов он выдает понятные сообщения, которые сразу указывают на проблему.
Ключевые улучшения:
- Точное указание источника - каждая ошибка показывает конкретный файл и датапак, в котором она возникла. Больше не нужно гадать, что сломалось.
- Понятные сообщения - вместо технического жаргона вы получаете человекочитаемые описания. Например, если значение выходит за допустимые пределы, мод скажет: "Значение слишком низкое (должно быть >= 0), получено -1".
- Контекст ошибки - для проблем с JSON показывается не только строка, но и окружающий код, чтобы вы сразу видели, где именно синтаксическая ошибка.
- Отслеживание ссылок - если какой-то файл ссылается на несуществующий ресурс, Cyanide покажет, где именно эта ссылка находится.
- Циклы фич - одна из самых сложных для отладки проблем - циклические зависимости между фичами в разных биомах. Мод наглядно показывает весь цикл: какая фича должна быть раньше, какая позже и в каких биомах это конфликтует.
Примеры работы
Вот как выглядят исправленные сообщения об ошибках:
Ошибка парсинга:
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'
Отсутствующий файл:
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'
Синтаксическая ошибка JSON:
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'
Цикл фич:
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)
Зачем это нужно
Если вы создаете датапаки для Майнкрафт, особенно те, что меняют генерацию мира, Cyanide сэкономит вам кучу времени. Вместо того чтобы часами искать ошибку в сотнях файлов, вы сразу видите, что и где пошло не так. Это особенно полезно для больших проектов, где датапаки содержат тысячи строк кода.
Мод не меняет игровой процесс напрямую - он инструмент для разработчиков. Но если вы используете датапаки от других авторов, Cyanide тоже пригодится: когда что-то ломается, вы сможете быстро понять, какой датапак виноват и что именно в нем не так.
Совместимость
Cyanide работает на Fabric для Minecraft 1.19 и выше. Других модов для работы не требуется. Просто установите его в папку mods и наслаждайтесь чистыми сообщениями об ошибках.
Если вы собираете свой датапак генерации мира - этот мод практически must-have. Он не влияет на производительность, но сильно упрощает отладку. Скачайте Cyanide и забудьте о головной боли с поиском ошибок в датапаках.
