TGViewer
Phase Of Horizon | HollowEngine Phase Of Horizon | HollowEngine @hollowengine · 373 subscribers
Post #237 614
🛞 Еженедельный девлог №5 | Я добавил движок в изолятор

📊 Статистика: 8 коммитов , ~8500 добавлений, ~6000 удалений 🔝

На этой неделе я закрыл очень объёмную и болезненную задачу - полностью вынес и изолировал HollowEngine со всеми его зависимостями в отдельный ClassLoader. А это целых 56 миксинов и ещё около 10 ASM-трансформеров в Kool 🦾 (потому что на изолированные классы миксины не действуют)
Основная причина - совместимость с другими модами. Движок использует несколько десятков различных библиотек, причём сложность в том, что если 2 мода используют одинаковые библиотеки разных версий, то Forge крашнется даже без каких либо логов. Из-за этого мод долгое время был не совместим с популярным модом Kotlin For Forge и для его работы нужно было ставить специальный патчер, который к тому же запускался не на всех JVM. Теперь же такой проблемы чисто технически не будет, поскольку ни Forge, ни другие моды просто не смогут найти классы движка 🤯

Ну и у такого подхода есть свои плюсы и минусы, если коротко:

➕ Плюсы
- Нет и не может быть конфликтов библиотек.
- Хорошая основа для обновления движка без перезапуска игры (что важно мне для разработки). То есть в будущем мне не придётся перезапускать игру при добавлении нового интерфейса / фичи.
- Возможность запускать мод из одного jar на любом загрузчике, и Forge, и Fabric в одном jar. (Пока не доступно, но теперь это вполне возможно без ущерба производительности и размеру файла)


❌Минусы
- Нет возможности создать внешние патчи или миксины, чтобы изменить код движка.
- Сложно писать аддоны, пока не появится официальная их поддержка, поскольку обычный мод просто не увидит классы движка.
- Больше мороки с передачей данных между игрой и движком. Нужно создавать мосты для передачи данных между ClassLoader'ами


В общем, задачка не из лёгких, и сложностей она явно добавит, но думаю ради дальней совместимости и надёжности шаг необходимый, тем более для поддержки нескольких версий и модлоадеров 🚀
На текущий момент я проверял, мод запускается на Fabric и Forge, но безусловно, среди тех изменённых 8к строчек кода могли появиться новые баги 👀

Ну а пока, я готовлю ещё одну мощную систему, которая вероятно выйдет на следующей неделе ⭐️
А вместе с ней будет и выпуск мода на CurseForge ⚒️ и Modrinth ⛏️
  • ❤ 5
  • 🐳 2
More from @hollowengine
  1. Sep 24, 2026Новый интерфейс движка 🛞 | День 10 Да, я опять его переделал, и что вы мне сделаете? В пе…
  2. Sep 23, 2026Эмиттеры партиклов 🎮 | День 9 В общем, сегодня доработал ядро системы эффектов до уровня…
  3. Sep 22, 2026Ну вот, и даже ничего не сгорело, не зря год назад запарился и написал систему инстансинга…
  4. Sep 22, 2026Зря вы мне доверили систему эффектов и партиклов 😱 (День 8)
  5. Sep 21, 2026Ещё больше визуальных доработок ✨ (День 7) Продолжаю вчерашние доработки и исправления, на…
  6. Sep 20, 2026Доработка панелей мода 🛞 Сегодня я существенно доработал панели и окна движка, если корот…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →