KubeJS ProjectE: гибкая настройка EMC и трансмутаций

Гибкая настройка эквивалентного обмена: KubeJS ProjectE Мод ProjectE давно стал классикой для любителей магии чисел и алхимии в Minecraft. Он добавляет энергию EMC, позволяя превращать практически любые предметы друг в друга через Конденсатор или Философский камень. Но что, если стандартные значе...

Скачать kubejsprojecte для Minecraft 1.21.1, 1.19.2

Оригинальное название: kubejsprojecte

Версии Minecraft: 1.19.2, 1.21.1

Загрузчик: Forge, NeoForge

ФайлВерсияЗагрузчикРазмер
kubejsprojecte-1.0.jar1.19.2Forge11 КБСкачать
kubejsprojecte-1.1.jar1.19.2Forge12 КБСкачать
kubejsprojecte-1.2.jar1.19.2Forge11 КБСкачать
kubejsprojecte-1.2.1.jar1.19.2Forge11 КБСкачать
kubejsprojecte-1.3.1.jar1.21.1NeoForge10 КБСкачать
kubejsprojecte-1.3.3.jar1.21.1NeoForge10 КБСкачать

Гибкая настройка эквивалентного обмена: KubeJS ProjectE

Мод ProjectE давно стал классикой для любителей магии чисел и алхимии в Minecraft. Он добавляет энергию EMC, позволяя превращать практически любые предметы друг в друга через Конденсатор или Философский камень. Но что, если стандартные значения EMC кажутся вам несбалансированными или вы хотите добавить собственные цепочки трансмутаций? Именно здесь на сцену выходит KubeJS ProjectE — скриптовый мост между гибкостью KubeJS и мощью ProjectE. Этот аддон позволяет не просто менять цифры, а полностью переписывать правила эквивалентного обмена под нужды вашего сервера или сборки.

Что умеет KubeJS ProjectE

Основная задача мода — дать возможность через привычный синтаксис KubeJS задавать EMC для любых предметов, управлять энергией игрока и регистрировать мировые трансмутации, которые срабатывают при использовании Философского камня. Вам больше не нужно лезть в конфиги или править исходники — всё делается парой строк JavaScript.

Ключевые возможности:

  • Установка абсолютного EMC — фиксированное значение для предмета, которое не меняется при пересчётах.
  • Установка EMC до генерации — значение задаётся до того, как ProjectE попытается вычислить EMC из рецептов крафта. Это позволяет создавать базовые элементы, от которых потом пойдут цепочки автоматического расчёта.
  • Работа с EMC игрока — получение, добавление и установка персонального баланса прямо в скриптах.
  • Мировые трансмутации — превращение блоков в мире по клику Философским камнем, как в классическом Equivalent Exchange.

Примеры скриптов для server_scripts

Все основные манипуляции с EMC выполняются в папке server_scripts вашего экземпляра KubeJS. Рассмотрим базовый сценарий: вы хотите обнулить EMC булыжника, чтобы игроки не фармили бесконечные ресурсы из камня, но при этом задать высокую стоимость палки, сделав её ценным ресурсом для крафтов.

ProjectEEvents.setEMC(event => {
    // абсолютное значение EMC — теперь булыжник ничего не стоит
    event.setEMC("minecraft:cobblestone", 0)

    // значение до автоматического расчёта — палка получит 10000 EMC,
    // и все предметы, которые крафтятся из палок, пересчитаются от этой базы
    event.setEMCBefore("minecraft:stick", 10000)
})

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

Следом можно добавить интерактивность: например, при клике правой кнопкой по палке игрок увидит свой текущий баланс EMC и получит 1000 единиц. Такой приём часто используют для создания квестовых предметов или обучающих механик.

ItemEvents.rightClicked("minecraft:stick", event => {
    let player = event.player
    // getPlayerEMC всегда возвращает строку, потому что числа могут быть огромными
    player.tell("Твой текущий EMC: " + ProjectE.getPlayerEMC(player))
    ProjectE.addPlayerEMC(player, 1000)
    player.tell("Новый баланс: " + ProjectE.getPlayerEMC(player))
})

Методы addPlayerEMC и setPlayerEMC принимают как числа, так и строки — это спасает от переполнения, когда счёт идёт на триллионы. Вы можете встроить такую механику в интерфейс кастомного блока или привязать к достижениям.

Мировые трансмутации в startup_scripts

Для регистрации превращений блоков используется событие ProjectEEvents.registerWorldTransmutations, которое принято размещать в startup_scripts. Классический пример — превращение динамита в дубовые доски. После этого любой игрок с Философским камнем в руке сможет одним кликом менять TNT на доски прямо в мире.

ProjectEEvents.registerWorldTransmutations(event => {
    event.transform("minecraft:tnt", "minecraft:oak_planks")
})

Такие трансмутации можно использовать для создания уникальных алхимических путей: камень в руду, землю в гравий или даже воздух в ценный ресурс — всё ограничено лишь фантазией. Комбинируя это с кастомными EMC, вы получаете полноценный редактор эквивалентного обмена.

Установка и первый запуск

Для работы KubeJS ProjectE вам потребуется сам KubeJS, мод ProjectE и, разумеется, этот аддон. Все три компонента должны быть загружены в папку mods вашего клиента или сервера. Если вы не хотите возиться с ручной установкой и отслеживанием зависимостей, можно воспользоваться лаунчером foxygame.net — удобным, гибким и современным инструментом для Minecraft, где моды скачиваются прямо из меню и сразу помещаются в нужную директорию. Это сильно экономит время при сборке сложных модпаков с множеством скриптовых аддонов.

После запуска игры KubeJS автоматически создаст структуру папок для скриптов. Разместите приведённые выше примеры в соответствующих файлах, выполните команду /kubejs reload (если она доступна) или перезапустите мир, и новые правила эквивалентного обмена вступят в силу.

Практические советы и балансировка

При настройке EMC важно помнить о цикличности: если вы зададите слишком высокое значение для базового ресурса, а затем создадите рецепт, который дёшево превращает его обратно в другой предмет, может возникнуть бесконечный генератор EMC. Всегда тестируйте цепочки крафтов в одиночном мире перед запуском на сервере.

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

Заключение

KubeJS ProjectE стирает границу между готовым модом и инструментом для творчества. Вы больше не привязаны к предустановленным таблицам EMC — теперь каждая единица энергии подчиняется вашим правилам. Будь то жёсткий хардкорный сервер с нулевой стоимостью камня или магическая сборка, где палка ценится дороже алмазов, этот аддон даёт полный контроль над экономикой ProjectE. Сочетайте скриптовую гибкость KubeJS с алхимической глубиной, и ваша игра заиграет новыми красками без необходимости писать отдельные моды.