Перейти к содержимому

Create: Recipe Hooks

Создайте библиотеку для модов/аддонов/скриптов, основанных на рецептах, и т. д.

FabricNeoForgeForgeQuilt
Загрузчики
FabricNeoForgeForgeQuilt
Скачиваний на Modrinth
285
Подписчиков на Modrinth
1
версии
4
Обновлён
16 августа 202616 авг.
Опубликован
в 2026
Это библиотека — она нужна другим модам и сама ничего не добавляет в игру

Коротко о моде

Библиотека — нужна другим модам
Работает на Fabric, NeoForge, Forge и Quilt
Для Minecraft 1.20.1, 1.21.1
Ставится только на сервер; игрокам ставить не нужно
Последняя версия — 1.2.0 от 16 августа 2026
Лицензия LGPL-3.0-or-later — бесплатно
Где нужен
В игрене нуженНа сервереобязателен

Ставится только на сервер; игрокам ставить не нужно

Версии игры1.20.1, 1.21.1
Описание переведено автоматическиПоказать оригинал (EN)

Create Recipe Hooks

Create Recipe Hooks — это серверная библиотека для Minecraft 1.20.1 (Forge и Fabric), которая вызывает события, когда машина Create завершает обработку рецепта, а также когда машина Create обрабатывает блок мира: добыча Дрелью, сбор Урожайной машиной, валка деревьев Пилой. Она предоставляет единый API, чтобы моды-интеграции — такие как квестовые книги, скрипты автоматизации и инструменты аналитики — могли реагировать на производство Create без написания собственных миксинов.

Что она делает

Мод внедряется в машины Create на уровне байт-кода и вызывает три события:

  • recipeFinished — машина Create завершила рецепт (Basin, Fan, Press, Millstone, Crushing Wheels, Saw, Crafter, Deployer, Spout, Item Drain, Sand Paper, Sequenced Assembly, CEI Printer)
  • blockProcessed — машина обработала блок мира: одно событие на каждый блок, сломанный Механической Дрелью, на каждое растение, срезанное Механической Урожайной машиной, на каждый отдельный блок, срезанный горизонтальной Механической Пилой
  • treeCut — Механическая Пила свалила целое дерево, с точным количеством брёвен и листвы

Каждое событие несёт:

  • Source — какая машина выполнила работу
  • Привязка к игроку — UUID игрока, установившего машину (для Crushing Wheels: кто бросил предмет, с откатом к тому, кто установил колёса, для ввода с ленты и воронки). Сохраняется между перезапусками сервера и переносится внутри движущихся контрапций
  • ID рецепта, входные и выходные предметы, выходные жидкости — для событий рецептов
  • ID блока, состояние блока, флаг контрапции, количество брёвен — для событий блоков
  • Позиция блока — где это произошло в мире

Поддерживаемые машины

МашинаКонстанта SourceСобытие
Basin (Mixing / Compacting)BASINrecipeFinished
Crushing WheelsCRUSHING_WHEELrecipeFinished
Mechanical Saw (рецепты)MECHANICAL_SAWrecipeFinished
Spout (рецепт и наполнение ведра)SPOUT_FILLINGrecipeFinished
MillstoneMILLSTONErecipeFinished
Mechanical Press (лента и мир)MECHANICAL_PRESSrecipeFinished
Mechanical CrafterMECHANICAL_CRAFTERrecipeFinished
DeployerDEPLOYER_BELTrecipeFinished
Encased Fan (лента и мир)FAN_BLASTING / FAN_HAUNTING / FAN_SPLASHING / FAN_SMOKINGrecipeFinished
Item Drain (рецепты, ведра, зелья)ITEM_DRAIN_EMPTYINGrecipeFinished
Sand PaperSAND_PAPERrecipeFinished
Sequenced Assembly (финальный шаг)SEQUENCED_ASSEMBLYrecipeFinished
CEI Printer (опционально, только Forge)CEI_PRINTERrecipeFinished
Mechanical Drill (стационарная и контрапция)MECHANICAL_DRILLblockProcessed
Mechanical Harvester (контрапция)MECHANICAL_HARVESTERblockProcessed
Mechanical Saw, горизонтальная (стационарная и контрапция)MECHANICAL_SAWtreeCut / blockProcessed

Скриптинг на KubeJS без дополнительных аддонов

CRH регистрирует собственную группу событий KubeJS. Одни и те же скрипты работают без изменений на Forge и Fabric, с опциональным фильтром по источнику и встроенным определением владельца:


CRHEvents.recipeFinished('MILLSTONE', event => {
    const player = event.getOwner();
    if (!player) return;
    player.server.runCommandSilent('give ' + player.name.string + ' minecraft:emerald 1');
});
CRHEvents.treeCut('MECHANICAL_SAW', event => {
    // event.getLogCount(), event.getBlockId(), event.getOwner()
});
  

Готовые примеры скриптов (интеграция с FTB Quests, фильтрация вывода, счётчики по игрокам, квесты на добычу Дрелью, подсчёт брёвен) доступны в README.

Зачем это может понадобиться

Если вы делаете интеграцию с квестами (FTB Quests и т.п.), вы можете запускать прогресс квеста в момент, когда машина Create завершает работу, с привязкой к нужному игроку — а не только когда предметы попадают в инвентарь. Квесты вроде «переплавить 64 железа с помощью Fan», «добыть 500 камня Дрелью» или «свалить 50 деревьев Пилой» становятся одним коротким скриптом каждый.

Если вы пишете инструменты аналитики или логирования для сервера, вы получаете единый надёжный поток событий для всего производства Create.

Сам по себе этот мод ничего видимого не делает. Это библиотека — вы не увидите никакого игрового интерфейса, предметов или блоков. Устанавливайте его, когда его требует другой мод или скрипт. Он серверный: клиенты без мода могут зайти на сервер, где он установлен. Для одиночной игры установите его в свой инстанс.

Требования

  • Minecraft 1.20.1
  • Файл для Forge: Forge 47 или новее, Create 6.0.8 или новее. Также работает на NeoForge 1.20.1, проверено на клиентах и выделенных серверах
  • Файл для Fabric: Fabric Loader 0.15+, Fabric API, Create Fabric 6.0.8.1 или новее. Работает на Quilt
  • KubeJS — опционально, только для JS-скриптинга (EventJS или другие аддоны не требуются)
  • Create Enchantment Industry — опциональная мягкая зависимость на Forge; события CEI Printer вызываются только при установленном CEI

Для разработчиков

Регистрируйте слушатели во время инициализации мода — одинаково на обоих загрузчиках:


CreateRecipeHooks.register(ctx -> {
    if (ctx.getSource() == RecipeSource.BASIN) {
        // ctx.getRecipeId(), ctx.getItemOutputs(), ctx.getBlockPos(), ...
    }
});
CreateRecipeHooks.registerBlockProcessed(ctx -> {
    // ctx.getBlockId(), ctx.isContraption(), ctx.getMetadata()
});
CreateRecipeHooks.registerTreeCut(ctx -> {
    // ctx.getLogCount(), ctx.getLeafCount()
});
  

На Forge события также публикуются в шине событий (CreateRecipeFinishedEvent, CreateBlockProcessedEvent, CreateTreeCutEvent); на Fabric это обычные колбэки (CreateRecipeFinishedCallback, CreateBlockProcessedCallback, CreateTreeCutCallback).

Для тестирования на Forge доступен режим отладки. Запустите с аргументом JVM -Dcrh.debug=true, чтобы записывать каждое завершение рецепта в logs/crh-events.log.

Полная документация по API доступна в README для каждого загрузчика в репозитории на GitHub.

Лицензия

LGPL-3.0-or-later — можно свободно использовать в публичных и приватных сборках модов и как зависимость в других модах. Форки и производные моды должны оставаться открытыми под той же лицензией с указанием авторства.

Частые вопросы

Как установить Create: Recipe Hooks?

Установите Fabric под свою версию Minecraft, скачайте Create: Recipe Hooks под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.

Для каких версий Minecraft есть Create: Recipe Hooks?

У Create: Recipe Hooks есть сборки для Minecraft 1.20.1, 1.21.1.

Нужен ли Create: Recipe Hooks на сервере?

Ставится только на сервер; игрокам ставить не нужно

Лицензия и источник
GNU Lesser General Public License v3.0 or laterможно использовать и распространять; изменённые версии — под той же лицензией и с исходным кодом
Оригинал — Modrinth↗Файлы — без изменений, проверены по SHA-512Это ваш мод? Правообладателям

Сайт использует cookie: необходимые — для входа и темы, а также счётчики посещений Яндекс Метрика и LiveInternet — по ним мы видим, как пользуются сайтом. Рекламных cookie у нас нет. Подробнее