
Amethyst: Native C++ Modding for Minecraft Bedrock Edition
Amethyst (FrederoxDev/Amethyst)
Родный моддинг на C++ для MCBE 1.21.0.3 для создания клиентских модов
Хотите создавать клиентские моды для Minecraft Bedrock Edition на родном C++? Amethyst дает прямой доступ к внутренним структурам MCBE, но это не для всех. Вам понадобятся солидные знания C++, терпение для обратного инжиниринга и терпимость к работе на «металле», где живет рантайм Minecraft.
Что такое Amethyst
Amethyst - родная моддинг-фреймворк для Minecraft Bedrock Edition, построенный на C++. В отличие от традиционных аддонов Bedrock (использующих JSON и поведенческие пакеты), Amethyst позволяет создавать клиентские моды, работающие напрямую с собранным кодом MCBE. Вы подключаетесь к самому игровому движку, что означает возможность делать то, что невозможно через официальные API моддинга.
Проект начался как полностью открытая библиотека, но в последних версиях для MCBE 1.26.x, мейнтейнер перешел на модель «bring your own types», где ядро рантайма остается открытым, но более крупные части закрываются. Логика имеет смысл, если вы проводили время над обратным инжинирингом: сохранение всего в открытом доступе не дает большого прироста в адопции вне небольшой технической аудитории и ограничивает скорость итераций мейнтейнера.
Если вы только начинаете с моддинга, сам проект рекомендует ознакомиться с версией 1.21.x, которая остается полностью открытой и «действительно лучшей для моддинга» для людей, изучающих основы.
Для кого это?
Это не инструмент для построения модных декоративных аддонов или корректировки баланса игры. Amethyst существует для разработчиков, которые:

- Хотят писать клиентские моды на C++ для Bedrock Edition
- Удобно читают декомпилированный байткод и понимают внутреннюю структуру игры
- Нуждаются в возможностях, которые официальные API не предоставляют
- Готовы поддерживать свои моды при обновлениях Bedrock
Это небольшой круг. Мейнтейнер честен в этом отношении: общее сообщество разработчиков Minecraft практически не использует его, что является частью причины перехода на закрытый код. Если вы хотите расслабленно моддингить Minecraft, Java Edition с Fabric или Forge намного более дружественна для новичков. Bedrock моддинг в целом сложнее, чем Java, и Amethyst занимает трудную часть этого спектра.
Установка и Начало Работы
Загрузите последний релиз рантайма с страницы проекта на GitHub. Текущая версия (v2.2.1 на момент написания) доступна как скачанный zip. Извлеките его, и вы увидите заголовочные файлы C++, библиотеки и базовую структуру сборки.

Вам понадобится:
- Компилятор C++ и инструменты сборки (MSVC для Windows или Clang)
- Понимание, как линковать с родными библиотеками
- Знание внутренней структуры Bedrock (или готовность учиться, читая код)
- Соответствующая версия MCBE 1.21.0.3 (или той версии, на которую вы ориентированы)
Проект предоставляет рантайм как стабильную основу, но дальше вы выполняете реальную разработку. Здесь нет руководств, которые ведут за руку, или менеджеров плагинов. Вы пишете C++, компилируете DLL и инжектируете их в игру.
Что Можно Построить
Родный моддинг открывает возможности, недоступные API-основанным аддонам. Вы получаете прямой доступ к памяти игровых объектов, можете перехватывать вызовы функций во время выполнения и модифицировать поведение на уровне движка. Это означает кастомный клиентский рендеринг, прямой контроль над вводом и событиями, и модификации, глубоко интегрированные с работой Bedrock.

Но есть один нюанс: каждое обновление Bedrock может сломать ваш мод. Офсеты памяти смещаются, подписи функций меняются, и ваши знания, полученные через обратный инжиниринг, становятся устаревшими. Поддержка мода Amethyst через версии Bedrock - это реальная работа. Это не похоже на моды Fabric в Java, где моддинг-API движется предсказуемым темпом и дает гарантии стабильности.
Такой фрикшн намеренный в том, как мейнтейнер говорит об этом. Он не пытается построить кейзальный экосистему моддинга. Он поддерживает людей, которые конкретно хотят копаться в родных слоях Bedrock и готовы платить за поддержку.
Переход с Открытого на Закрытый Код
Версия 1.21.x остается полностью открытой, но 1.26.x переходит на смешанную модель. Ядро рантайма остается публичным, но вы сами отвечаете за типы и абстракции выше этого. Логика мейнтейнера практична: обратный инжиниринг полезен примерно 1% сообщества Minecraft, и сохранение всего в открытом доступе не привело к большей адопции или вкладу сообщества. Закрытие верхних слоев освободило его для более быстрой работы и экспериментов с новыми подходами.

Это стоит понимать, прежде чем вы потратите время на изучение Amethyst. Если вы начинаете с нуля, вы, вероятно, ориентируетесь на 1.21.x (стабильная, полностью документированная, открытая). Если хотите последнюю Bedrock, вы работаете с 1.26.x и строите больше абстракций сами.
Есть более широкая мысль, скрывающаяся здесь: мейнтейнер рассматривал возможность построения слоя на JavaScript для клиентского моддинга, что было бы намного более доступно. Это не произойдет скоро, но это намекает на то, куда может двигаться моддинг Bedrock, если кто-то захочет демократизировать его за пределами разработчиков C++..
Контекст для Bedrock Моддеров
Если вы уже глубоко в моддинге Bedrock через поведенческие пакеты или официальные API, Amethyst представляет собой совершенно другой путь. Вы не добавляете функции внутри санбокса игровых скриптов. Вы достигаете под ним. Власть реальна, но так же реальна и ответственность, и кривая обучения.

Проект в настоящее время имеет 531 звезд на GitHub, что отражает его позиционирование как специализированный инструмент для нишевой аудитории. Он не пытается быть Fabric. Он пытается быть именно тем, чем он является: фреймворком для людей, которые хотят родный контроль над Bedrock Edition и знают, на что они подписываются.
Если вы управляете сервером Minecraft и хотите изучить бесплатный DNS-менеджмент для вашего домена, инструмент бесплатный Minecraft DNS на minecraft.how стоит проверить. А если вы строите кастомный контент для Bedrock, наш Minecraft Skin Creator позволяет проектировать игровые скины прямо в браузере. Ни один из них не заменяет родный моддинг, но они полезны в смежных рабочих процессах.
Стоит ли Учиться?
Только если вам конкретно нужен родный моддинг для Bedrock. Если хотите быстро строить моды, Java Edition имеет более здоровую экосистему. Если хотите моддингить Bedrock, но не нуждаетесь в C++, сначала изучите официальные аддоны и поведенческие пакеты.
Но если вы разработчик C++, интересующийся внутренними механизмами игр, или у вас есть конкретная идея мода для Bedrock, требующая родного доступа, Amethyst - это серьезный инструмент для дела. Версия 1.21.x, будучи полностью открытой, становится хорошей точкой входа для обучения. Вы можете увидеть, как рантайм подключается к MCBE, не сталкиваясь с закрытыми слоями еще.
Просто подходите с реалистичными ожиданиями. Это продвинутая разработка. Мейнтейнер не скрывает этого. Это причина, по которой он переходит на закрытый код и фокусируется на людях, которые действительно понимают, что они делают.
FrederoxDev/Amethyst - Apache-2.0, ★531Lead writer at minecraft.how. Long-time Minecraft player running a small SMP server, testing every build, mod, and seed before writing about it.
Комментарии
Пока нет комментариев. Станьте первым, кто поделится своим мнением!


