Пошаговая инструкция по переходу с 1.7.10-1.12.2 на 1.16.5 (forge, eclipse)

VeniVidiVici

Санта Барбарис
327
15
198
  1. Следуя учебнику установите скачанный с официального сайта Forge mdk-пакет;
  2. Распакуйте его в нужную директорию;
  3. Запустите команду "gradlew genEclipseRuns";
  4. Ожидайте завершения;
  5. Всё ещё ожидайте;
  6. Посмотрите в окно, за окном солнце, весна;
  7. Процесс всё ещё не завершился;
  8. Когда вы зададитесь вопросом, действительно ли это так вам нужно, появится заветная строка об успешном завершении, продолжаем;
  9. Выполняем команду "gradlew eclipse";
  10. Удивляемся её быстроте и превосходству;
  11. Запускаем наконец среду, импортируем решение через "import" -> "gradle project";
  12. Настраиваем runClient, и проверяем, что игра запускается. Мы молодцы, у нас всё получится.
  13. Доходим в учебнике до пункта структуры мода, натыкаясь на некий mods.toml;
  14. Убеждаем себя, что сдаваться уже поздно, детально вникаем в инструкцию;
  15. Меняем все упоминания examplemod на свой красивый modid везде где только можно;
  16. Запускаем, проверяем, ловим краш с отсутсвующим examplemod;
  17. Перепроверяем build gradle, пути к классам, названия папок, аннотации в основном классе.
  18. Запускаем, проверяем, ловим краш с отсутсвующим examplemod;
  19. Ловим себя на мысли, что 1.12.2 очень так даже ничего.
  20. Почесав репу ещё раз всё перепроверяем, пересобираем "gradlew genEclipseRuns" и "gradlew eclipse" на всякий случай;
  21. Снова ловим краш с отсутсвующим examplemod;
  22. Следуя советам интуиции удаляем к чертям bin из директорий запуска;
  23. Проверяем, видим заветную пёструю заставку главного меню;
  24. Расплываемся в улыбке, мы молодцы, теперь то уж точно горы по колено;
  25. Чтобы не размениваться какой-то мелочевкой сразу берёмся написать ивент;
  26. Создаём класс ServerEventHandler, пишем в нём метод PlayerInteractEvent.RightClickItem;
  27. Воодушевлённо подмечаем, что хоть что-то здесь работает по канону;
  28. В теле ивента пишем event.getPlayer(), в этот момент подмечаем, что Mojang вернулся к истокам, вернув get(), но нам то, уже бывалым межверсионным воякам, это не в новинку;
  29. После ..getPlayer() ставим точку, и начинаем набирать world;
  30. Пробуем .getWorld();
  31. Пробуем .getSomethingThatCanBeAnalogousOfWorld() в надежде на чудо;
  32. 1622017171163.png
  33. Закрываем проект. На сегодня мы перевыполнили план по инновациям.
 
7,099
324
1,510
Entity#getCommandSenderWorld()
Видимо, на 31 пункт не хватило усидчивости 🤦‍♂️
 

will0376

Токсичная личность
2,079
55
585
подмечаем, что Mojang вернулся к истокам, вернув get()
Это не mojang, а forge...

Ловим себя на мысли, что 1.12.2 очень так даже ничего.
Еще как ничего) 1.7 на 8 яве - геморрой в идее заводить.(сужу по своему опыту...)))00
 
154
17
97
Это не mojang, а forge...


Еще как ничего) 1.7 на 8 яве - геморрой в идее заводить.(сужу по своему опыту...)))00
Недавно кстати отрыл замечательную вещицу - forgeGradle для 1.7, который работает с новыми версиями gradle, а следовательно и с идеей
 
7,099
324
1,510
А у него там от другого автора. Или это форк?
Энивей, можешь помочь настроить вореспейс для 1.7.10 с gradle 6.8.3?

А что там с FG 4 под 1.7.10?
А его еще не сделали. Если шаришь в том, как работает форж - можешь помочь челикам: Пост о RetroGradle
 
Сверху