Скачать Мод TooManyRecipeViewers - совместимость JEI-плагинов с EMI в Майнкрафт
TooManyRecipeViewers - совместимость JEI-плагинов с EMI

Мод TooManyRecipeViewers - совместимость JEI-плагинов с EMI [1.21.1] [1.20.1]


Для версий
  1. 1.20.+
  2. 1.21.+

TooManyRecipeViewers для Minecraft: совместимость JEI-плагинов с EMI без установки JEI​

TooManyRecipeViewers, или TMRV, — это мод-слой совместимости для Minecraft, который позволяет запускать плагины JEI в EMI без обязательной установки самого JEI. Главная польза такого решения — более быстрый вход в мир, лучшая эффективность по сравнению с JEMI и более широкое покрытие JEI API в ряде сценариев.

Если вам нужна совместимость JEI и EMI без лишней нагрузки, TMRV выглядит как точечный и технически продуманный инструмент. При этом важно понимать его границы: для работы нужен установленный EMI, некоторые возможности JEI остаются ограниченными, а сам проект использует иной подход, чем встроенный в EMI слой JEMI.


Суть и польза: что такое TooManyRecipeViewers и кому он подходит​

TooManyRecipeViewers создан для одной конкретной задачи: запускать JEI-плагины в среде EMI, не устанавливая JEI как обязательную часть связки. По сути, это совместимый слой, который пытается заменить JEI API там, где это возможно, и напрямую сопоставляет вызовы JEI с API EMI. За счёт этого TMRV выступает не как обычная прокладка, которая сначала полностью разворачивает JEI, а затем импортирует данные, а как более прямой и лёгкий путь интеграции.

Такой подход полезен прежде всего пользователям и сборкам, где важны скорость загрузки мира, экономия памяти и совместимость модов, ориентированных на JEI-плагины. Если вы используете EMI и хотите запускать плагины JEI без полной зависимости от JEI, TMRV закрывает именно этот сценарий. Это особенно актуально в тяжёлых модпаках, где каждая лишняя инициализация влияет на запуск мира и общее потребление ресурсов.

Главное отличие TMRV от JEMI заключается не только в самом факте совместимости, а в философии реализации. JEMI, встроенный в EMI, задуман как максимально простой слой, который опирается на внутренности JEI и сначала заставляет JEI обработать рецепты, а уже потом переносит их в EMI. TMRV старается идти другим путём: он не хочет полагаться на полную загрузку реестра JEI там, где можно обойтись прямым преобразованием API-вызовов. Отсюда и его основное преимущество — эффективность.

Однако такой выигрыш даётся не бесплатно. Поддержка TMRV требует существенно больше усилий, чем поддержка JEMI. Автор прямо подчёркивает, что это более трудоёмкий путь, и никто не должен ожидать, что EMI будет вкладывать такой же объём работы в поддержку API, который изначально не учитывался при проектировании. Поэтому TMRV полезен тем, кто осознанно выбирает производительность и расширенную совместимость, понимая, что цена этого подхода — более сложное сопровождение самого проекта.

Отдельно важно помнить о лицензии. В описании проекта отдельно отмечено, что использование мода в любой форме означает явное согласие с условиями его лицензии. Для пользователя это не техническая мелочь, а базовое условие использования проекта.


Основные характеристики и как работает TMRV​

Техническая сила TooManyRecipeViewers проявляется в двух ключевых направлениях: совместимость плагинов и эффективность работы. Именно эти два аспекта автор прямо называет главными преимуществами перед JEMI.

С точки зрения совместимости TMRV покрывает JEI API шире, чем JEMI, хотя есть и отдельные исключения, перечисленные в ограничениях. На момент описания мод поддерживает более качественное преобразование встроенных типов рецептов. Если JEMI работает только с crafting и info recipe types, то TMRV заявляет поддержку всех встроенных типов рецептов JEI. Кроме того, указана поддержка alias для ингредиентов и поиска, а также поддержка createRecipeExtras. Для многих сборок это важнее, чем кажется на первый взгляд: проблема совместимости часто проявляется не в базовом открытии рецептов, а в деталях интерфейса и обработке специфических данных.

Второе направление — производительность. Здесь логика TMRV особенно заметна. При использовании JEMI инициализация JEI-плагинов блокирует загрузку мира: игрок не начинает играть, пока процесс не завершится. EMI, напротив, умеет загружать плагины асинхронно уже после открытия мира. TMRV использует именно этот подход, поэтому даже в гипотетической ситуации, если бы плагины JEI обрабатывались медленнее, чем у JEI, сам мир всё равно открывался бы раньше, чем в связке с JEMI. Но автор отмечает, что на практике TMRV загружает их ещё и измеримо быстрее.

Причина этого выигрыша — отказ от лишних промежуточных этапов. TMRV не инициализирует и не хранит полноценный реестр рецептов JEI там, где это не нужно. Вместо этого мод конвертирует вызовы JEI API в вызовы EMI API и преобразует ответы обратно в формат JEI. Автор предлагает понятную аналогию: TMRV относится к задаче как Wine или Proton, тогда как JEMI больше похож на виртуальную машину. Это сравнение хорошо объясняет суть: TMRV не тащит весь «настоящий» JEI за собой, а пытается переводить запросы напрямую.

С этим связана и важная оговорка. Поскольку JEMI использует реальный JEI, возможны сценарии, где TMRV выдаст ошибку, а JEMI внешне будет выглядеть рабочим. Но это не всегда означает, что JEMI действительно корректно поддерживает такой случай — иногда он лишь создаёт видимость поддержки. В большинстве обычных сценариев TMRV всё равно должен быть эффективнее.

В описании приведены и конкретные бенчмарки. По времени загрузки мира разница заметна:

  • Craftoria: TMRV — 3201 мс, JEMI — 8277 мс, разница — 5076 мс
  • ATM10: TMRV — 7484 мс, JEMI — 18658 мс, разница — 11174 мс
  • ATM9: TMRV — 32392 мс, JEMI — 49409 мс, разница — 17017 мс
По памяти показатели тоже в пользу TMRV:

  • Craftoria: 2.722 GiB против 2.872 GiB
  • ATM10: 3.580 GiB против 4.491 GiB
  • ATM9: 4.345 GiB против 5.939 GiB
Эти цифры особенно важны для крупных сборок, где выигрыш в загрузке и RAM ощущается не как мелкая оптимизация, а как реальное улучшение повседневной игры.


Как выбрать: критерии и практичный чек-подход​

Выбирать TooManyRecipeViewers стоит не по принципу «что новее», а по тому, какой именно сценарий у вас в модпаке и что для вас важнее: максимальная простота встроенного решения или более эффективная совместимость JEI-плагинов с EMI.

Первый критерий — используете ли вы EMI. Это обязательная отправная точка. В описании прямо сказано: для работы TMRV нужен установленный EMI. Без него мод не имеет смысла. Поэтому если ваша сборка не использует EMI, рассматривать TooManyRecipeViewers как решение совместимости не стоит.

Второй критерий — насколько важна производительность. Если сборка тяжёлая, запуск мира долгий, а потребление памяти уже близко к пределу, TMRV выглядит особенно выгодно. Его подход позволяет быстрее входить в мир и уменьшать нагрузку на систему по сравнению с JEMI. Для крупных паков это может быть одним из главных доводов в пользу выбора.

Третий критерий — какие именно JEI-плагины и функции вам нужны. Если вы опираетесь на built-in recipe types JEI шире, чем просто crafting и info, TMRV предлагает более полное покрытие. То же относится к alias-поиску ингредиентов и createRecipeExtras. Если ваш сценарий затрагивает эти вещи, TooManyRecipeViewers потенциально даст лучший результат, чем JEMI.

Четвёртый критерий — готовность мириться с известными ограничениями. У TMRV есть чётко обозначённые границы. Он почти полностью игнорирует конфигурационные файлы JEI, кроме .minecraft/config/jei/blacklist.json. Он не планирует полноценно поддерживать Recipe Manager Plugins, не поддерживает расширения vanilla-категорий Crafting и Smithing и не допускает runtime-изменения реестров после вызова IModPlugin.onRuntimeAvailable. Если сборка зависит именно от таких сценариев, нужно учитывать этот момент заранее.

Пятый критерий — степень важности прямой «настоящей» совместимости JEI. JEMI использует реальный JEI, поэтому в некоторых спорных случаях он может выглядеть устойчивее. Но если вам важнее оптимизация и современная интеграция с EMI, чем буквальная опора на внутренности JEI, TMRV выглядит сильнее.

Практический чек-подход можно сформулировать так:

  • у вас уже стоит EMI;
  • вы хотите запускать JEI-плагины без установки JEI;
  • вам важны скорость входа в мир и меньший расход памяти;
  • вам полезно более широкое покрытие JEI API;
  • ваша сборка не завязана на устаревшие или специфические возможности JEI, которые TMRV не поддерживает.
Если все или почти все пункты совпадают, TooManyRecipeViewers — логичный выбор.


Пошагово: как использовать TooManyRecipeViewers правильно​

Работа с TMRV начинается с понимания базовой зависимости. Первое, что нужно сделать, — убедиться, что EMI уже установлен. Это обязательное условие, прямо указанное в описании проекта. TooManyRecipeViewers не заменяет EMI и не работает сам по себе как отдельный просмотрщик рецептов. Он нужен именно как совместимый слой между JEI-плагинами и EMI.

После этого важно определить цель установки. Если вы хотите просто использовать JEI-плагины в окружении EMI без установки JEI, TMRV подходит под этот сценарий напрямую. Если же вы ожидаете полного повторения всех возможностей JEI, включая его конфигурационную систему и runtime-изменения реестров, лучше заранее скорректировать ожидания. Мод целенаправленно не поддерживает ряд вещей, которые автор считает либо устаревшими, либо несовместимыми с архитектурой EMI.

Следующий шаг — проверить, насколько ваша сборка зависит от специальных API-возможностей JEI. В обычных сценариях TMRV выигрывает за счёт прямого сопоставления JEI API и EMI API. Но если конкретный мод использует Recipe Manager Plugins, расширения vanilla-категорий Crafting или Smithing, либо активно меняет реестры уже во время выполнения, возможны ограничения. На практике это означает простое правило: чем ближе плагин к стандартным возможностям JEI, тем выше шанс, что TMRV покажет себя с лучшей стороны.

Дальше стоит обратить внимание на конфигурацию скрытия ингредиентов. TMRV читает только файл blacklist.json из конфигурации JEI. Этот механизм рассматривается как временный стоп-gap для сборок, переходящих с JEI. Если вы хотите скрывать ингредиенты на постоянной основе, сам автор рекомендует использовать собственную конфигурацию EMI, а не рассчитывать на файлы JEI. Это важный практический момент: правильнее сразу настраивать интерфейс через родные механизмы EMI, а не пытаться переносить старую конфигурационную логику без изменений.

После установки и запуска сборки есть смысл оценить поведение именно в реальной загрузке мира. Одна из главных сильных сторон TMRV в том, что мир открывается быстрее, а инициализация плагинов происходит уже после входа. Для пользователя это означает простой, но ощутимый эффект: играть можно раньше, не дожидаясь полной блокирующей инициализации JEI-плагинов, как в случае с JEMI.

Наконец, важно не игнорировать лицензионное уведомление проекта. В тексте прямо указано, что использование проекта в любой форме означает явное согласие с условиями лицензии. Для модпаков и публичных сборок это особенно важно, потому что вопрос лицензий здесь не формальность, а часть корректного использования проекта.


Частые ошибки и как их избежать​

Одна из самых типичных ошибок — устанавливать TMRV без EMI. Это базовое несоответствие, которое делает мод бесполезным, потому что сам TooManyRecipeViewers не является автономной заменой EMI. Правильный подход прост: сначала проверяется наличие EMI, и только после этого имеет смысл подключать слой совместимости.

Вторая ошибка — ожидать, что TMRV будет полностью повторять JEI во всех мелочах. Автор проекта прямо показывает обратное: мод стремится заменить JEI API там, где это целесообразно, а не копировать весь JEI как есть. Поэтому воспринимать его как «JEI без JEI, но со стопроцентной идентичностью» — неверно. Если изначально подходить к нему как к эффективному совместимому слою, а не как к буквальному клону, оценка будет гораздо точнее.

Третья ошибка — использовать конфиги JEI так, как будто они полностью поддерживаются. На деле TMRV читает только blacklist.json, а остальные файлы конфигурации JEI игнорирует. Если продолжать опираться на старую структуру конфигов, можно получить путаницу в скрытии ингредиентов и настройках отображения. Решение здесь прямое: использовать настройки EMI для того, что относится к EMI.

Четвёртая ошибка — делать ставку на Recipe Manager Plugins как на полноценный поддерживаемый сценарий. В описании прямо сказано, что TMRV попытается извлечь рецепты из таких плагинов, но для большинства из них это не работает корректно и не считается полноценной поддержкой. Если сборка зависит от такого механизма, лучше не строить ожидания на том, что всё заработает без ограничений.

Пятая ошибка — не учитывать запрет на runtime-изменения реестров после IModPlugin.onRuntimeAvailable. В архитектуре JEI это допускается, но с EMI такой подход не совместим. Поэтому TMRV после этого этапа выбрасывает IllegalStateException при попытке изменить реестр в рантайме. Для разработчиков и сборщиков это важный нюанс: если сценарий завязан на динамическую перестройку реестров, проект сознательно не будет его поддерживать.

Шестая ошибка — считать, что если JEMI внешне не падает, то он всегда поддерживает ситуацию лучше. Сам автор отдельно предупреждает: иногда JEMI просто выглядит рабочим за счёт использования реального JEI, но это не всегда означает корректную поддержку. Поэтому оценивать стоит не только факт отсутствия ошибки, но и качество, скорость и логичность общего поведения.


FAQ​

Что такое TooManyRecipeViewers и зачем он нужен?

TooManyRecipeViewers, или TMRV, — это слой совместимости, который позволяет запускать JEI-плагины в EMI без необходимости устанавливать сам JEI. Он нужен тем, кто хочет использовать инфраструктуру EMI, но при этом сохранить работоспособность модов и плагинов, рассчитанных на JEI. Основные причины выбрать его — более быстрая загрузка мира, меньший расход памяти и более широкое покрытие JEI API по сравнению с JEMI в ряде случаев.

Нужен ли EMI для работы TMRV?

Да, EMI обязателен. В описании проекта это указано прямо и без оговорок. TMRV не является самостоятельным модом для просмотра рецептов, а работает именно как совместимый слой поверх EMI. Если установить только TooManyRecipeViewers без EMI, он не выполнит свою задачу, потому что ему не с чем сопоставлять JEI API.

Чем TMRV отличается от JEMI?

Главное отличие в архитектуре. JEMI встроен в EMI и старается максимально просто использовать внутренности JEI: сначала JEI обрабатывает данные рецептов, затем они импортируются в EMI. TMRV идёт по другому пути и, где это возможно, заменяет JEI API прямыми мапперами к API EMI. За счёт этого он обычно эффективнее, быстрее загружает мир и требует меньше памяти, но поддерживать его технически сложнее.

Почему TMRV считается более эффективным?

Потому что он не заставляет систему полностью разворачивать и хранить полноценный реестр рецептов JEI там, где это не нужно. Вместо этого вызовы JEI преобразуются в вызовы EMI, а ответы — обратно в формат JEI. Дополнительно JEI-плагины не блокируют вход в мир на стадии загрузки так, как это происходит с JEMI. В результате пользователь начинает играть раньше, а общая нагрузка на систему становится ниже.

Какие преимущества TMRV даёт по совместимости?

Автор прямо выделяет несколько преимуществ. Во-первых, TMRV лучше конвертирует встроенные типы рецептов JEI: не только crafting и info, но все built-in recipe types JEI. Во-вторых, поддерживаются alias для ингредиентов и поиска. В-третьих, есть поддержка createRecipeExtras. Всё это делает проект более интересным для тех сборок, где важны не только базовые рецепты, но и дополнительные возможности экосистемы JEI.

Есть ли у TMRV ограничения по API?

Да, и они обозначены достаточно чётко. Мод почти полностью игнорирует конфигурационные файлы JEI, кроме blacklist.json. Полноценная поддержка Recipe Manager Plugins не планируется. Также не поддерживаются расширения vanilla-категорий Crafting и Smithing. Кроме того, runtime-изменения реестров после IModPlugin.onRuntimeAvailable намеренно запрещены, потому что такая модель не сочетается с архитектурой EMI.

Какие результаты показывают бенчмарки TMRV?

В приведённых тестах TMRV стабильно выигрывает у JEMI и по времени загрузки, и по памяти. Например, в Craftoria загрузка занимает 3201 мс против 8277 мс у JEMI. В ATM10 — 7484 мс против 18658 мс. В ATM9 — 32392 мс против 49409 мс. По RAM разница тоже заметна: от примерно 153.6 MiB до 1.594 GiB в пользу TMRV, в зависимости от сборки.

Поддерживает ли TMRV конфиги JEI?

Почти нет. Из конфигурационных файлов JEI мод читает только .minecraft/config/jei/blacklist.json. Этот файл должен работать для ванильных типов ингредиентов и для модифицированных типов, добавленных JEI-плагином, но сам автор считает это временной мерой для сборок, переходящих с JEI. Для скрытия ингредиентов рекомендуется использовать собственную конфигурацию EMI, а не ожидать полной поддержки JEI-конфигов.

Почему TMRV может выдавать ошибку там, где JEMI внешне работает?

Потому что JEMI использует реальный JEI, а TMRV старается заменить его API более прямым способом. Из-за этого возможны случаи, где JEMI выглядит стабильнее просто потому, что тащит оригинальную инфраструктуру JEI. Но автор отдельно предупреждает: видимое отсутствие ошибки не всегда означает настоящую поддержку сценария. Во многих обычных условиях TMRV всё равно остаётся более рациональным и быстрым решением.

Нужно ли учитывать лицензию при использовании TooManyRecipeViewers?

Да. В проекте есть отдельное важное уведомление: любое использование означает явное согласие с условиями лицензии. Это касается не только разработчиков, но и обычных пользователей, потому что автор прямо указывает на выраженное принятие условий при использовании проекта в любой форме. Для сборок, публичных публикаций и аккуратного обращения с модами этот пункт нельзя игнорировать.

Как установить TooManyRecipeViewers​

  1. Скачай и установи Minecraft Forge / NeoForge
  2. Не распаковывая, скопируй в .minecraft\mods
  3. Готово

Итог​

TooManyRecipeViewers — это технически сильный и довольно узкоспециализированный мод для тех, кто использует EMI и хочет запускать JEI-плагины без установки JEI, но при этом рассчитывает на более высокую эффективность, чем даёт JEMI. Его сильные стороны — быстрый вход в мир, меньший расход памяти, более прямое сопоставление JEI API и EMI API и расширенная совместимость по ряду функций. При этом проект нужно выбирать осознанно: с пониманием обязательной зависимости от EMI, известных ограничений JEI API и лицензионных условий. Если ваш сценарий совпадает с этой логикой, TMRV выглядит не просто альтернативой, а очень практичным решением для современной сборки Minecraft.
Автор
Galter
Скачивания
2
Показов
39
Первый выпуск
Обновление

Оценки

0.00 звёзд 0 оценок

Другие ресурсы пользователя Galter

Похожие ресурсы (Если ресурс не уникален, он будет удален после публикации)

Curios Compat Layer - Совместимость модов Curios API rootme
Curios Compat Layer для Accessories: Мощная интеграция с модами на базе Curios API
22
392
  • Sinytra Connector: Полная совместимость Fabric и Forge Shigarachi
    Мост между двумя мирами моддинга
    285
    1,916
  • Trinkets Compat Layer - Совместимость модов Trinkets rootme
    Trinkets Compat Layer for Accessories: Совместимость аксессуаров на новом уровне
    Just Enough Items (JEI) rootme
    Мод Just Enough Items (JEI) Все версии
    Достаточно предметов (JEI)
    248
    6,590
  • Just Enough Professions (JEP) - Мод для JEI с профессиями жителей Galter
    Дополнение JEI, добавляющее рабочие станции для профессий