- Зачем вообще декомпилировать и компилировать мод
- Какие инструменты нужны и как они работают вместе
- Пошаговая инструкция по декомпиляции и подготовке исходников
- Как внести правки и скомпилировать мод
- Важные моменты и типичные ошибки
- Как проверить и протестировать мод после сборки
- Как хранить исходники и повторно собирать мод
- Что делать, если исходники неполные или сильно обфусцированы
- MCP vs BON+JD-GUI — в чём разница
- Как выбрать и установить Forge для 1.7.10
- Минимальные требования к среде разработки
- Советы по минимизации конфликтов и совместимости
- Пример структуры проекта MCP для мода
- Полезные ссылки
Если вы когда-нибудь задумывались, как взять существующий мод Minecraft 1.7.10, декомпилировать его, внести правки и собрать обратно — вы попали по адресу! В этом посте я расскажу, какие инструменты нужны, как их настроить, что делать с исходниками и как избежать типичных ошибок. Всё просто, понятно и с примерами — чтобы даже новичок понял, как скомпилировать мод Minecraft.
Зачем вообще декомпилировать и компилировать мод
Мод — это набор файлов, которые добавляют в Minecraft новые возможности. Но исходники модов обычно закрыты и обфусцированы (запутаны), чтобы защитить код. Если вы хотите изменить мод, нужно сначала декомпилировать (перевести байт-код обратно в читаемый код), затем деобфусцировать (распутать имена переменных и методов), внести правки, а потом скомпилировать и реобфусцировать обратно.
Какие инструменты нужны и как они работают вместе
Инструмент | Назначение | Версия для Minecraft 1.7.10 |
---|---|---|
BON2 (Jenkins) | Автоматическая декомпиляция и деобфускация модов | Подходит для 1.7.10, используется для получения исходников |
JD-GUI | Просмотр декомпилированных .class файлов | Любая актуальная версия |
MCP (Minecraft Coder Pack) | Полный набор для декомпиляции, деобфускации, компиляции и реобфускации | MCP 9.05 — оптимален для 1.7.10 |
Forge | Среда для запуска и разработки модов | Forge 1.7.10 (рекомендуется последняя стабильная версия для 1.7.10) |
Как они взаимодействуют?
- BON2 + JD-GUI — быстрый способ получить исходники из .jar мода, но без удобств для сборки.
- MCP — это как BON + JD-GUI, но с дополнительными скриптами и инструментами для удобной компиляции и сборки модов.
- Forge нужен, чтобы собрать мод с правильными зависимостями и запустить его в Minecraft.
Пошаговая инструкция по декомпиляции и подготовке исходников
- Скачайте мод .jar для Minecraft 1.7.10.
- Запустите BON2 (Jenkins) для декомпиляции и деобфускации.
В результате получите архив с исходниками. - Проверьте исходники через JD-GUI, чтобы убедиться, что код читаемый и без ошибок.
- Установите MCP 9.05 (подходит для 1.7.10).
Распакуйте MCP в удобную папку. - Скопируйте исходники из BON2 в папку
src/minecraft
в MCP.
Важно сохранить структуру каталогов (пакеты Java). - Скачайте и установите Forge 1.7.10.
В MCP есть скрипты для интеграции Forge, обычно это делается командойsetupForge
или аналогичной. - Настройте MCP для работы с Forge и исходниками.
Как внести правки и скомпилировать мод
- Внесите изменения в исходники в папке
src/minecraft
. - Откройте терминал или командную строку в папке MCP.
- Выполните команду компиляции:
./recompile.sh # Linux/Mac
recompile.bat # Windows
- Если компиляция прошла успешно, выполните реобфускацию:
./reobfuscate.sh
- В результате получите готовый .jar файл мода в папке
reobf
.
Важные моменты и типичные ошибки
Ошибка | Причина | Как исправить |
---|---|---|
Ошибки компиляции | Неправильная структура каталогов или отсутствуют зависимости | Проверьте, что исходники лежат в src/minecraft и установлен Forge |
Не запускается мод | Неправильная версия Forge или Minecraft | Убедитесь, что версия Forge совпадает с версией мода (1.7.10) |
Реобфускация не работает | Отсутствуют необходимые скрипты или файлы MCP | Проверьте целостность MCP и правильность путей |
Как проверить и протестировать мод после сборки
- Поместите скомпилированный .jar в папку
mods
вашего Minecraft с Forge 1.7.10. - Запустите Minecraft и проверьте, что мод загружается без ошибок.
- Проверьте функциональность мода в игре — все ли изменения работают как задумано.
Как хранить исходники и повторно собирать мод
- Храните исходники в отдельной папке с сохранением структуры.
- Сохраняйте версии MCP и Forge, которые использовали.
- Для повторной сборки просто повторите команды компиляции и реобфускации.
Что делать, если исходники неполные или сильно обфусцированы
- Попробуйте найти исходники на GitHub или официальных ресурсах.
- Используйте MCP, который лучше справляется с деобфускацией.
- Иногда приходится вручную восстанавливать имена и логику.
MCP vs BON+JD-GUI — в чём разница
Особенность | MCP | BON + JD-GUI |
---|---|---|
Полный цикл (декомпиляция, деобфускация, компиляция, реобфускация) | Да | Нет (только декомпиляция) |
Удобство работы с исходниками | Высокое | Низкое |
Интеграция с Forge | Есть | Нет |
Автоматизация сборки | Да | Нет |
Как выбрать и установить Forge для 1.7.10
- Скачайте Forge 1.7.10 с официального сайта или проверенного источника.
- Установите Forge в Minecraft (через установщик).
- В MCP настройте пути к Forge, чтобы использовать его библиотеки при сборке.
Минимальные требования к среде разработки
Компонент | Рекомендуемая версия |
---|---|
JDK | Java Development Kit 8 (JDK 1.8) |
IDE | IntelliJ IDEA или Eclipse (по желанию) |
MCP | Версия 9.05 для 1.7.10 |
Forge | Последняя стабильная для 1.7.10 |
Советы по минимизации конфликтов и совместимости
- Используйте правильную версию Forge и Minecraft.
- Проверяйте зависимости модов.
- Тестируйте моды по отдельности и вместе.
- Следите за обновлениями MCP и Forge.
Пример структуры проекта MCP для мода
MCP/
├── src/
│ └── minecraft/ # Исходники мода (.java)
├── reobf/ # Реобфусцированные .class файлы после сборки
├── runtime/ # Запуск Minecraft с Forge для теста
├── scripts/ # Скрипты для компиляции и сборки
└── libs/ # Библиотеки Forge и Minecraft
Полезные ссылки
- Форум MCModding — компиляция и реобфускация мода
- Сборки Minecraft 1.7.10 и новее
- Помощь в компиляции мода с GitHub
Теперь вы вооружены знаниями, чтобы скомпилировать мод Minecraft 1.7.10 с нуля! Помните, что главное — сохранять структуру проекта, использовать правильные версии инструментов и не бояться экспериментировать. Вперед, к моддингу!