Extended Interactions
Замучили горячие клавиши? Потерялись во всех этих «нажми shift и правый клик», «левый клик предметом X», «зажми shift и правый клик пустой рукой»? Если да — этот мод для тебя.
- Загрузчики
- FabricNeoForge
- Скачиваний на Modrinth
- 456
- Подписчиков на Modrinth
- 0
- версии
- 24
- Обновлён
- 9 августа 20269 авг.
- Опубликован
- в 2026
Коротко о моде
Нужен и в игре, и на сервере
📖 О моде:
Extended Interactions добавляет радиальное меню для всех блоков и сущностей, которыми наполнен ваш мир. Это меню позволяет делать всякое без нужного предмета в руке, без зажатого shift и т.д. Просто зажмите Tab и выбирайте, что хотите сделать.
❓ Зачем этот мод нужен?
Радиальных (или похожих) меню-модов уже полно, но большинство из них решают другую задачу. Такие моды, как Radial Macros и Radial, используются для клиентских действий вроде нажатия клавиш. По сути, создают маленькие макросы/скрипты.
EI же работает и на клиенте, и на сервере, чтобы реализовать взаимодействия/кнопки радиального меню/действия как ванильные механики — со своим серверным и клиентским кодом. EI умеет вызывать клавиши и делать прочее, что делают моды радиального меню/макросов, но только как обходной путь для поддержки модов, в которых нет нормальной интеграции с EI.
Работа и на сервере, и на клиенте даёт возможность игнорировать ограничения ванильных (или не-EI) серверов. Например, для стрижки овцы нужно держать определённый предмет в руке игрока. Чтобы реализовать это без сервера, нам пришлось бы быстро положить нужный предмет в руку игрока, сделать нужное дело и вернуть предметы как было. С интеграцией на сервере ничего такого не нужно, мы можем просто постричь овцу напрямую. Это улучшает производительность при большой сетевой задержке и UX в целом.
📚 Совместимость:
EI имеет встроенную поддержку следующих модов внутриигровой документации: Oracle Index, Pathouli. EI позволяет открывать связанные статьи из упомянутых модов через радиальное меню.
Также в EI доступно много ванильных взаимодействий. Полный список возможностей — в свёрнутом разделе ниже.
Полная совместимость с модами
| Взаимодействие / версия MC | 1.21.1 | 1.21.11 |
|---|---|---|
MC Стрижка овцы | ✅ | ✅ |
MC Доение коровы | ✅ | ✅ |
MC Сбор супа с грибной коровы | ✅ | ✅ |
MC Прикрепление поводка | ✅ | ✅ |
MC Открепление поводка | ✅ | ✅ |
MC Надевание седла | ✅ | ✅ |
MC Торговля с жителями | ✅ | ✅ |
MC Торговля со странствующими торговцами | ✅ | ✅ |
MC Настройка повторителей | ✅ | ✅ |
MC Забор результата из печей | ✅ | ✅ |
MC Вставка растений в компостеры | ✅ | ✅ |
MC Вставка ключей в хранилища | ✅ | ✅ |
OI Поиск статей по целевому блоку | ✅ | ⛔ |
PTO Поиск статей по целевому блоку | ✅ | ⛔ |
🦊 MFG Активация клавиш библиотеки в кастомных взаимодействиях | ✅ | ✅ |
📜 MLL Активация клавиш библиотеки в кастомных взаимодействиях | ✅ | ✅ |
Обозначения в таблице
MC — Ванильные взаимодействия Minecraft | ✅ — Поддерживается в последней версии EI |
OI — взаимодействие с Oracle Index | ⛔ — Сторонний мод не поддерживает эту версию Minecraft |
И т.д. Все серые ячейки в левой колонке указывают, для какого мода взаимодействие. Нажмите на серую ячейку, чтобы открыть страницу мода | ⚠️ — Взаимодействие ещё не реализовано в EI! |
| ⏳ — Реализовано в невыпущенной версии EI | |
| 📜 — Только на fabric | |
| 🦊 — Только на neoforge |
👷🏻 Для разработчиков модпаков и модов
Для разработки модов у EI есть Java API для создания кастомных взаимодействий. Разработчики модпаков могут создавать кастомные взаимодействия через директорию <.minecraft>/config/extended-interactions/custom.
Туториал: Создание кастомных взаимодействий через конфиг
Все кастомные взаимодействия представлены json-файлами в директории <.minecraft>/config/extended-interactions/custom. Просто создай там файл и заполни его следующим образом:
{
"icon": {
"id": "minecraft:diamond"
},
"blocks": [],
"entities": [],
"actions": []
}Имя файла должно соответствовать регулярке [a-z][a-z0-9_]+\.json. ID этого взаимодействия будет именем файла без суффикса .json.
Иконка взаимодействия задаётся в свойстве icon. Используется тот же формат, что и у результата рецепта#crafting_shapeless).
Моменты, когда это взаимодействие доступно, задаются свойствами blocks и entities в следующем формате:
{
"subject": "<block/entity identifier>".
"if": [<list of conditions>]
}Чтобы цель такого типа совпала, должны совпасть все условия в свойстве if. Условия форматируются так:
// Условия для блоков
{
// Опционально. Мапа свойств blockstate на значения
"state": {
"waterlogged": "true"
},
// Опционально. NBT для совпадения
"nbt": {
"CustomName": "Intersting block"
},
// Опционально. Chat component (https://minecraft.wiki/w/Text_component_format) для показа, если это условие не выполнено
"message": "Block must be waterlogged"
}// Условия для сущностей
{
// Опционально. NBT для совпадения
"nbt": {
"Sitting": true
},
// Опционально. Chat component (https://minecraft.wiki/w/Text_component_format) для показа, если это условие не выполнено
"message": "Fox must be sitting"
}То, что произойдёт, если это взаимодействие сработает, задаётся свойством actions. Вот все поддерживаемые действия:
// С 1.1.0
// Выполнить чат-команду на стороне сервера
// Команда выполняется от имени цели взаимодействия. (@s — это блок или сущность, на которую смотрел игрок при открытии радиального меню)
// Чтобы обратиться к игроку, запускающему взаимодействие, используй @ei:user
{
"type": "extended_interactions:command",
"cmd": "item replace entity @s weapon.mainhand with minecraft:totem_of_undying"
}// С 1.1.0
// ПКМ предметом в руке
// Это действие автоматически проверяет, что у игрока есть предмет,
// соответствующий указанному предикату. Если у игрока его нет, показывается следующее сообщение
// {"translate":"extinter.extended_interactions.custom/<interaction id>.no_item"}
{
"type": "extended_interactions:use_item",
// Предикат предмета (https://minecraft.wiki/w/Advancement/Conditions/item)
"item": {
"items": ["minecraft:shears"]
}
}// С 1.1.0
// Активировать майнкрафтовую клавишу на стороне клиента
{
"type": "extended_interactions:key",
// Идентификатор клавиши (https://minecraft.wiki/w/Controls#Configurable_controls)
"key": "key.drop"
}// С 1.1.0. Требуется MaFgLib
// Активировать клавишу MaFgLib
{
"type": "extended_interactions:mafglib",
// Название категории, к которой относится эта клавиша
"category": "Generic hotkeys",
// Идентификатор клавиши MaFgLib
"keybind": "openGuiConfigs"
}// С 1.1.0. Требуется MaLiLib
// Активировать клавишу MaLiLib
{
"type": "extended_interactions:malilib",
// Название категории, к которой относится эта клавиша
"category": "Generic hotkeys",
// Идентификатор клавиши MaLiLib
"keybind": "openGuiConfigs"
}
Пользовательские взаимодействия именуются как [ключ языка](https://minecraft.wiki/w/Resource_pack#Language): `extinter.extended_interactions.custom/<interaction id>`.
### Пример. Стрижка овцы
`<.minecraft>/config/extended-interactions/custom/shearing.json:`
```json
{
"icon": {
"id": "minecraft:shears"
},
"blocks": [],
"entities": [
{
"subject": "minecraft:sheep",
"if": [
{
"nbt": {"Sheared": false},
"message": {"translate": "extinter.extended_interactions.custom/shearing.no_wool"}
}
]
}
],
"actions": [
{
"type": "extended_interactions:use_item",
"item": {
"items": ["minecraft:shears"]
}
}
]
}`/assets/lang/en_us.json`:
{
"extinter.extended_interactions.custom/shearing": "Collect wool",
"extinter.extended_interactions.custom/shearing.no_item": "You need a shears",
"extinter.extended_interactions.custom/shearing.no_wool": "No wool to collect"
}
Частые вопросы
Как установить Extended Interactions?
Установите Fabric под свою версию Minecraft, скачайте Extended Interactions под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.
Для каких версий Minecraft есть Extended Interactions?
У Extended Interactions есть сборки для Minecraft 1.21.1, 1.21.11.
Нужен ли Extended Interactions на сервере?
Нужен и в игре, и на сервере