Туториал [Forge] [BinPatch] Модифицируем Minecraft без изменения {VERSION}.jar

  1. Устанавливаем JDK, Git и Gradle.
  2. Настраиваем переменные среды.
  3. В произвольной папке вводим команду git clone --recursive https://github.com/MinecraftForge/MinecraftForge.git.
  4. Вводим команду cd MinecraftForge.
  5. В файле build.gradle выставляем параметру version следующее значение:
    Код:
    '<Версия MC>-<Версия Forge>'
    Например:
    Код:
    version = '1.7.10-10.13.0.1187'
  6. Вводим команду gradle setupForge eclipse.
  7. Запускаем Eclipse указав в качестве рабочей среды папку MinecraftForge/eclipse.
  8. Вносим все необходимые изменения в исходный код проекта Forge.
  9. В классе net.minecraftforge.common.ForgeVersion указываем версию Forge.
  10. Сохраняем все изменения и закрываем Eclipse.
  11. Вводим команду gradle genPatches.
  12. Вводим команду gradle build.
  13. В файле build/distributions/forge-<Версия MC>-<Версия Forge>-universal.jar/fmlversion.properties указываем версию FML.
  14. Убираем у файла forge-<Версия MC>-<Версия Forge>-universal.jar приставку -universal.
  15. Копируем forge-<Версия MC>-<Версия Forge>.jar в libraries/net/minecraftforge/forge/<Версия MC>-<Версия Forge> с заменой.

+ Вам не нужно добавлять какие-либо JVM флаги, отключающие проверки валидности классов.
+ У вас больше шансов избежать проблем с модами, вносящими изменения в ванильные классы.
+ Нехорошим людям будет гораздо сложнее получить исходный код клиента.

- Приходится долго ждать, пока ForgeGradle проводит сборку.

Чтобы использовать исходники старых версий MC, необходимо на 3 шаге использовать одну из этих команд:
 
Последнее редактирование:
[spoiler="Установка ForgeDev, внесение изменений в код Minecraft и сборка Forge"
- Приходится долго ждать, пока ForgeGradle проводит сборку.
Это уже вроде от компа зависит.
У меня за минуты 2-3 компилирует
 
А как получить сорсы 1.6.4, ведь на джитхабе отсутствует branch v164.
 
А как получить сорсы 1.6.4, ведь на джитхабе отсутствует branch v164.
На GitHub есть ветка 1.6. Как я понял, для сборки там необходимо запускать файл release.py. Хотя... Насколько я помню, для 1.6.4 когда-то был билд (вроде, 964), использующий Gradle.
 
Самый неудачный способ модификации клиента.
1) Нет никакой возможности обфусцировать свой код.
2) Сдампить патченные класы можно в 1ну команду.
 
Самый неудачный способ модификации клиента.
1) Нет никакой возможности обфусцировать свой код.
2) Сдампить патченные класы можно в 1ну команду.
Обфусцировать код можно перед началом генерации бинарных патчей.
 
Я про стрингер или зеликс, твои патчи точно сдуются.
  1. Почему это мои патчи?
  2. Кому нужна обфускация Stringer'ом или ещё чем-нибудь, пусть юзают классическую модификацию классов.
 
Прошу прощения, если глупая ошибка, но что делать в данном случае?
Ничего кроме параметра "version" не менял.
Версия 1.7.2
 

Вложения

  • Безымянный.jpg
    Безымянный.jpg
    124,6 КБ · Просмотры: 58
Назад
Верх Низ