Upgradable Gaps
Если вы когда-нибудь ловили себя на мысли, что крафт энчантед золотого яблока в современном Minecraft стал слишком простым и почти бессмысленным, то Upgradable Gaps — это именно тот мод, который вернёт этому предмету былой вес. Дополнение позволяет апгрейдить обычное золотое яблоко до зачарованного, потратив на это целых 64 слитка золота. Звучит дорого? Так и задумано: рецепт повторяет легендарную «notch apple» из старых версий, где на одно яблоко уходило 72 слитка золота суммарно.
Что делает Upgradable Gaps
Мод добавляет один единственный, но очень важный рецепт. Вы кладёте золотое яблоко в центр верстака, а по восьми внешним слотам раскладываете по 8 золотых слитков. В сумме — 64 слитка плюс само яблоко с его восемью слитками. На выходе получается enchanted golden apple. Просто, наглядно и полностью в духе классического крафта.
Главная фишка в том, что всё работает на стороне сервера. Игрокам не нужно ничего дополнительно устанавливать — ванильные клиенты спокойно заходят на сервер и видят рецепт в действии. Разумеется, в одиночных мирах Upgradable Gaps для Minecraft тоже функционирует без каких-либо проблем.
Почему это мод, а не датапак
Многие спрашивают: зачем вообще нужен мод, если можно сделать датапак? Ответ кроется в ограничениях ванильной системы крафта. В JSON-рецептах у компонента Ingredient просто нет поля count, а слот результата забирает ровно по одному предмету из каждого занятого слота. Датапак, который попросит слитки вокруг яблока, потратит 8 слитков, а не 64 — и никакой настройки в JSON это не изменит.
Поэтому каждая сборка мода делает две вещи: при совпадении сетки кладёт зачарованное яблоко в слот результата и при взятии предмета удаляет по 8 слитков из каждого внешнего слота. Как именно это реализовано, зависит от платформы:
- Mixin — для Fabric, Quilt, NeoForge, Forge 1.15.2+ и Ornithe: один миксин на обновление сетки крафта и один на слот результата.
- JS coremods — для Forge 1.13.2 – 1.15.1, где Mixin отсутствует: те же два хука через систему coremod.
- Зарегистрированный рецепт плюс события крафта — для Forge 1.3.2 – 1.12.2: до 1.13 сервер не отправлял рецепты клиентам, так что настоящий рецепт там безопасен.
- События инвентаря — для плагина: отменяет клик по слоту результата и выполняет крафт самостоятельно.
На версиях 1.13 и новее мод не регистрирует ничего в реестрах и не добавляет сериализатор рецептов. Именно это и позволяет ванильным клиентам подключаться: с 1.13 сервер отправляет все рецепты каждому клиенту при входе, а ванильный клиент не может декодировать неизвестный ему тип рецепта.
Поддерживаемые версии и загрузчики
Диапазон поддержки впечатляет. Fabric и Quilt охватывают Minecraft 1.14 – 26.3, Ornithe (Fabric Loader на старых версиях) — 1.3.1 – 1.13.2, Forge — 1.3.2 – 26.3, NeoForge — 1.20.2 – 26.3, а единый плагин работает на Bukkit, Spigot, Paper, Purpur и Folia с 1.7.10 по 26.3. Учтите, что диапазон Forge пропускает версии, которые сам Forge никогда не выпускал, например 1.16, 1.17, 1.20.5 и 1.21.2.
Если вы ищете, где скачать Upgradable Gaps без лишней возни, обратите внимание на лаунчер foxygame.net: в его каталоге дополнений мод находится за пару кликов, а установка происходит в один клик вместе с автоматическим подбором совместимой версии. Для тех, кто держит сразу несколько сборок, это заметно экономит время — не нужно вручную сверять платформу и версию Minecraft.
Как установить
Установка предельно простая. Скачайте jar-файл для вашего сервера и версии Minecraft, положите его в папку mods (или plugins для плагина) и перезапустите сервер. Файлы называются по шаблону upgradable-gaps-<версия>+<платформа>-mc<версии>.jar.
- Fabric и Quilt: подойдёт любой Fabric Loader 0.14+ или Quilt Loader. Fabric API не требуется.
- Ornithe: сначала установите Fabric Loader через установщик Ornithe — эти jar не запускаются на Legacy Fabric.
- Forge 1.15.2 требует Forge 31.2.44 или новее — первую версию с Mixin.
- Forge 1.3.2 – 1.7.10: серверы этой древности отказывают ванильным клиентам, поэтому игрокам нужен Forge. Сам мод им не обязателен.
- Forge 1.3.2 – 1.5.2: по одному jar на каждую версию Minecraft, так как старый Forge грузит моды по обфусцированным именам.
- Forge 1.7.2 запускается только на Java 7; один jar покрывает 1.7.2 и 1.7.10.
- NeoForge: любая сборка под вашу версию Minecraft.
- Плагин: один jar для всех серверов на базе Bukkit начиная с 1.7.10, включая Folia.
Что стоит знать перед игрой
Рецепт не появляется в книге рецептов, и это жёсткое ограничение ванили: книга отображает по одному предмету на слот без учёта количества, а клик-заполнение кладёт ровно один предмет. Запись заполнила бы сетку восемью слитками и не дала бы крафта — что хуже, чем её отсутствие. Зато вручную всё раскладывается отлично, так что обязательно расскажите игрокам об этом рецепте.
Ванильный рецепт золотого яблока не тронут: ничто его не переопределяет и не удаляет, а коллизия невозможна, ведь в центре здесь золотое яблоко, а не обычное. Пакетный крафт работает — сложите яблоки в центр и по 8 слитков на каждое во внешние слоты, затем шифт-кликните результат.
В блоке Crafter рецепт не сработает. Crafter потребляет ровно один предмет на слот и ищет рецепты через менеджер рецептов, который об этой схеме ничего не знает. Это сделано намеренно: иначе Crafter штамповал бы notch apple за 8 слитков и яблоко. Другие моды автокрафта поведут себя так же по той же причине.
Игровое правило doLimitedCrafting рецепт игнорирует и остаётся крафтабельным, поскольку записи для разблокировки у игрока нет. Ванильные клиенты увидят мигание слотов ввода на один кадр при крафте: их локальный прогноз предполагает один слиток на слот, а коррекция сервера приходит на тик позже. Это чисто косметика — сервер остаётся авторитетным.
Тонкая настройка и лицензия
Если вы хотите изменить стоимость крафта, за это отвечает константа INGOTS_PER_SLOT в каждом дереве исходников: в modern/src/common и её аналогах в ornithe/, forge-legacy/ и bukkit/. И сопоставление, и потребление читают её, поэтому они всегда синхронны — меняйте значение везде и пересобирайте проект.
Мод распространяется под лицензией Mozilla Public License 2.0, автор — Tyler Fursman.
Итог
Upgradable Gaps — это аккуратное и продуманное дополнение, которое возвращает энчантед золотому яблоку статус по-настоящему ценного предмета. Оно не ломает ванильный баланс, работает на стороне сервера и поддерживает огромный спектр версий Minecraft и загрузчиков. Если вам не хватает челленджа в крафте и хочется снова почувствовать вес золота, этот мод стоит попробовать.