▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/Epic Core API
Epic Core API

Epic Core API

Epic Core API - мощная техническая библиотека для Minecraft 1.20.1 на Forge, дающая разработчикам и админам инструменты для глубокого управления сущностями, фракциями, рейдами и визуальными эффектами.

Оцените первым
28.1K
4

Epic Core API (или просто ECA) - это фундаментальная библиотека для Minecraft 1.20.1, работающая на Forge. Скачать мод имеет смысл в первую очередь разработчикам и админам крупных серверов. Суть проекта - дать в руки инструменты для работы с сущностями (мобами, игроками, предметами) на таком уровне, до которого в ванильном Майнкрафте просто не добраться. Библиотека использует продвинутые технологии: CoreMod (ITransformationService), Java Agent и VarHandle.

По факту, ECA - это не просто набор фиксов, а настоящий движок для создания сложной логики. Если вы настраиваете сервер на BungeeHost (https://bungee.host), библиотека установится в один клик и обеспечит идеальную работу как на стороне клиента, так и на сервере. Актуальная версия 1.1.7, проект активно поддерживается и недавний патч исправил краши на выделенных серверах.

Что меняет мод в игре

В ванильном Minecraft разработчики часто сталкиваются с жесткими лимитами. Например, здоровье моба ограничено стандартными атрибутами, а удаление сущности иногда оставляет "мусор" в памяти или не до конца чистит контейнеры. Epic Core API решает эту проблему:

  • Снятие лимитов - по умолчанию мод разблокирует ванильные лимиты атрибутов до Double.MAX_VALUE. Хотите создать босса с миллиардом здоровья? Без проблем. Если играете в сборку модов на выживание, эту опцию (Unlock Attribute Limits) можно выключить в конфиге.
  • Глубокая манипуляция - методы вроде setHealth или remove работают не так, как в ваниле. Если стандартный способ записи здоровья не срабатывает, ECA пробивает защиту через реверс-инжиниринг данных, поиск числовых полей и хеш-таблиц.
  • Неуязвимость - setInvulnerable дает куда более мощную защиту, чем ванильный креативный режим. Моб не только не получает урон, но и игнорирует таргетинг других мобов, а у игроков сохраняется инвентарь.

Возможности для игроков и админов

Игроки с правами (уровень 2 и выше) получают доступ к огромному списку команд /eca. Это позволяет прямо из игры управлять мобами, запускать катсцены, менять погоду или создавать фракции. Вот основные команды:

  • /eca setHealth <цели> <здоровье> - установить здоровье
  • /eca setMaxHealth <цели> <максЗдоровье> - установить макс. здоровье
  • /eca setInvulnerable <цели> <true|false> - включить/выключить неуязвимость
  • /eca lockHealth <цели> true <значение> - заблокировать здоровье на значении
  • /eca lockMaxHealth <цели> true <значение> - заблокировать макс. здоровье
  • /eca banHealing <цели> true [значение] - запретить лечение
  • /eca hurt <цели> <количество> - гарантированно нанести урон (даже если ванильная логика блокирует урон, мод форсирует запись)
  • /eca kill <цели> - убить сущности
  • /eca remove <цели> [причина] - полностью удалить из мира
  • /eca memoryRemove <цели> - ОПАСНО! Удаление через внутренний канал LWJGL (требует Attack Radical Logic)
  • /eca teleport <цели> <x> <y> <z> - телепорт
  • /eca lockLocation <цели> <true|false> [x y z] - заблокировать перемещение
  • /eca cleanBossBar <цели> - очистить полоски боссов
  • /eca allReturn <цели> <true|false> - ОПАСНО! Включает возвратную трансформацию для всех методов файла мода, которому принадлежит сущность
  • /eca allReturn global <true|false> - ОПАСНО! Глобальный возврат для всех модов вне белого списка
  • /eca banSpawn <цели> <секунды> - запретить спавн определенных типов мобов
  • /eca setForceLoading <цели> <true|false> - принудительная загрузка чанков для сущностей

Расширения сущностей и визуал:

  • /eca entityExtension get_registry - показать реестр расширений
  • /eca entityExtension clear - очистить активные расширения в измерении
  • /eca entityExtension set_skybox <пресет> - установить глобальный шейдер неба
  • /eca setFilter <цели> true <тип> - наложить экранный фильтр на игроков (sketch, spotlight, matrix, rain, desert, snow, toxic, cosmos)
  • /eca setFilter <цели> false - снять фильтры

Катсцены (BossShow):

  • /eca bossShow edit - открыть внутриигровой кинорежиссер (переход в режим наблюдателя)
  • /eca bossShow exit - выйти из редактора
  • /eca bossShow play <зритель> <цель> <id> - запустить катсцену
  • /eca bossShow stop <зритель> - остановить
  • /eca bossShow reload - перезагрузить JSON катсцен с диска

Воскрешение (Resurrection):

  • /eca resurrection start - запустить поток-демон воскрешения
  • /eca resurrection add <цели> - добавить моба в трекинг (он будет автооживать после смерти)
  • /eca resurrection interval <мс> - интервал опроса (по умолчанию 25)

Фракции и Рейды:

  • /eca faction create <id> <имя> [цвет] - создать фракцию (цвета: red, gold, teal и т.д.)
  • /eca faction join <idФракции> [цели] - привязать моба к фракции
  • /eca faction relation <A> <B> <отношение> - установить отношения (hostile, neutral, friendly, same_faction)
  • /eca faction leader <idФракции> set [цель] - назначить лидера
  • /eca raid start <idОпределения> [позиция] - начать рейд внутри структуры
  • /eca raid end <idИнстанса> <victory|defeat> - завершить рейд

Также добавлены новые селекторы целей: @eca_e (все сущности), @eca_p (ближайший игрок), @eca_a (все игроки), @eca_r (случайный игрок), @eca_s (исполнитель).

Гайд для разработчиков

Добавление ECA как зависимости

Шаг 1: Добавьте репозиторий Modrinth Maven (build.gradle) groovy repositories { maven { url = "https://api.modrinth.com/maven"; content { includeGroup "maven.modrinth" } } }

Шаг 2: Добавьте зависимость ECA (build.gradle) groovy dependencies { implementation fg.deobf("maven.modrinth:epic-core-api:VERSION") }

Замените VERSION на нужную версию (например, 1.1.7). Доступные версии можно найти на странице Epic Core API.

Шаг 3: Укажите зависимость (mods.toml) toml [[dependencies.your_mod_id]] modId="eca" mandatory=true versionRange="[1.1.5,)" ordering="NONE" side="BOTH"

Для пользователей MCreator есть специальный плагин, позволяющий удобно использовать API мода без написания кода.

Справочник API

API библиотеки позволяет делать всё то же самое, что и команды, но программно. Важная фича - каскадная проверка. Например, метод setHealth(entity, health) не просто пишет значение. Сначала он пробует ванильную запись. Если не вышло - запускает анализ потока данных (ASM dataflow analysis), ищет реальное хранилище и инвертирует его. Если и там облом - ищет числовые ячейки в графе объекта. Каждая попытка проверяется, а при неудаче откатывает транзакцию назад.

Управление здоровьем:

  • lockHealth(entity, value) - заблокировать здоровье
  • unlockHealth(entity) - снять блок
  • banHealing(entity, value) - запретить лечение
  • hurt(entity, damageSource, amount) - нанести гарантированный урон. Ванильный hurt пишет здоровье только один раз через getHealth() - damage. Если геттер переопределен, моб не теряет здоровье. Этот метод форсирует запись, обрабатывая весь ивент-флоу.
  • kill(entity, damageSource) - убить (с дропом и ачивками)
  • revive(entity) - очистить состояние смерти и восстановить здоровье

Локация и удаление:

  • teleport(entity, x, y, z) - телепорт с прямой синхронизацией клиента
  • lockLocation(entity, position) - заблокировать позицию
  • remove(entity, reason) - полное удаление (чистит ИИ, босс-бары, пассажиров)
  • memoryRemove(entity, reason) - ОПАСНО! Удаление через LWJGL

Визуальные эффекты и расширения:

  • setGlobalFog(level, fogData) - установить глобальный туман для измерения
  • setGlobalSkybox(level, skyboxData) - переопределить скайбокс
  • enableFilter(player, filterType) - экранный фильтр (SKETCH, SPOTLIGHT, MATRIX, RAIN, DESERT, SNOW, TOXIC, COSMOS)
  • playBossShow(viewer, target, cutsceneId) - запустить катсцену

Фракции:

  • createFaction(id, displayName, color, level) - создать фракцию с сохранением в SavedData
  • joinFaction(entity, factionId) - привязать сущность
  • areSameFaction(a, b) - проверить, в одной ли фракции сущности
  • canTarget(source, target) - проверка по правилам фракций, может ли таргет атаковать
  • alertFactionMembers(factionId, attacker, victim, level) - заставить союзников атаковать обидчика
  • joinFaction(uuid, typeId, isPlayer, factionId, level) - привязать сущность по UUID без её загрузки
  • setFactionLeader(factionId, leader, level) - назначить лидера

Важный нюанс

Короче, Epic Core API - это пушка. Но если вы собираете обычную сборку модов на выживание, будьте осторожны. В конфиге есть опции Attack and Defence Radical Logic. Включайте их только если точно понимаете, что делаете. Радикальная логика может ломать баланс и конфликтовать с другими модами, которые меняют боевую систему. Для обычного выживания эти настройки лучше держать выключенными.

Скачайте Epic Core API, если вам нужен контроль над Майнкрафтом, выходящий за рамки ванильного кода. Это идеальный фундамент для создания RPG-серверов, сложных данженов и кастомных боссов.

Партнёрский материал

Как поиграть с друзьями с модом Epic Core API?

Мод Epic Core API куда интереснее в компании: поднимите сервер Майнкрафт с уже установленным модом, позовите друзей и играйте по своим правилам. Хостинг Майнкрафт для мода Epic Core API будет готов за пару минут - BungeeHost сделает всё за вас.

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

1.20.x

Платформы

Поддерживаемые окружения

Клиент и сервер

Ссылки


Создатели

Детали

Лицензия:
Опубликован:9 месяцев назад
Обновлён:6 дней назад
Главная