Вопрос по структура проекта (модули main, test и api)

Версия Minecraft
1.7.10
1,159
38
544
Доброго всем дня. Как мы все знаем, создание мода начинается со скачивания MDK (или src для старых версий), его распаковки, импорта в IDE и запуска градл-тасков. Я заметил, что скачанный MDK с самого начала имеет 3 модуля:
  • <MOD_NAME>_main
  • <MOD_NAME>_test
  • <MOD_NAME>_api
Интуиция подсказывает мне, что в main мы храним весь код нашего мода, в api - классы и методы, которые могут быть использованы в других модах, зависимых от нашего, а в test - юнит-тесты и инструментальные тесты
Это определение из Android-разработки. Бывают локальные юнит-тесты (которые не требуют запуска игры, т.к. тестируемый код не использует классы майна) и инструментальные тесты (это юнит-тесты, в которых тестируемый код зависит от классов майна). Инструментальные тесты используются, когда ванильные классы нельзя замокать. Локальные тесты же просто запускают JVM и выполняются, как простейший helloworld.

И main, и test модули имеют прописанный путь к классу, который позволяет запустить майн из IDE с последующим билдом и инжектом нашего мода (в 1.12.2 test не имеет это ссылку)
XML:
<CLASSES>
  <root url="file://$USER_HOME$/.gradle/caches/minecraft/net/minecraftforge/forge/1.7.10-10.13.4.1558-1.7.10/start" />
</CLASSES>

Я подумал, что будет здорово хранить инструментальные тесты в test модуле и при запуске игры просто указывать его в параметре "Use classpath or module":
2018-07-11_12-42-23.png

ВНИМАНИЕ, ВОПРОС!
Вопрос в том, как это сделать? Как прописать тест, который будет запускаться в самой игре?

ВАЖНОЕ P.S.
Очень вероятно, что я имеют неправильное представление зачем нужны эти модули в проекте и не знаю как их использовать. Любые наставления категорически приветствуются
 
1,111
47
420
Отлаживать без перезапуска равносильно тому, что у тебя все запустилось с первого раза, и ты просто гоняешь мод по-приколу.
Либо ты путаешь дебаг и хот своп, либо ты пишешь без багов. В первое я верю больше(мун)
 

tox1cozZ

aka Agravaine
8,454
598
2,890
Ну тот зелёный жучок в эклипсе, чтобы можно было менять код без перезапуска?
Обычно ведь ты структуру сразу написал, а методы уже заполняешь в рантайме) ну я так делаю.
Ну хз, пару раз перезапустить мне не влом)
 
1,159
38
544
Сверху