Проверка на наличие мода и подгрузка его классов в среду

Версия Minecraft
1.12.2
1,015
9
102
Как проверить наличие мода в сборке игрока? Если он есть я хочу подгрузить некоторые свои классы, в которых будут импортнуты классы того мода. Я кароче хочу что бы классы стороннего мода были в среде, но они должны быть не обязательными, т.е. если мода нет, то я просто не буду использовать свои классы с классами стороннего мода. Надеюсь понятно. Как это сделать?
 
3,005
192
592
Код:
net.minecraftforge.fml.common.Loader.isModLoaded("modid")
За место "modid" пишешь modid реального мода, который хочешь проверить.
~
И вроде бы нужно вынести все в отдельный метод, ибо вроде будет краш если не найдены классы, даже после проверки.
Но это не точно.
~
По крайней мере, такое есть если юзать клиент классы на сервер с проверкой на клиент.
 
1,057
50
234
@Optional.InterfaceList({
@Optional.Interface(iface = "thaumcraft.api.IGoggles", modid = "Thaumcraft"),
@Optional.Interface(iface = "thaumcraft.api.nodes.IRevealer", modid = "Thaumcraft"),
@Optional.Interface(iface = "thaumcraft.api.IVisDiscountGear", modid = "Thaumcraft"),
})
например
 
1,031
19
87
пофиг на импорты
Таки да, хотя без импортов я последний раз компилил на 1.5.2 (почти боже её память) то компилятору было побоку на мои крывищие костыли. :)
На 1.13 у меня что-то не встает кодить.
И правильно, как уже упоминалось, Forge переписывается с нуля и ожидать первую его версию на 1.13 в виде овер стабильного не следует.
Как проверить наличие мода в сборке игрока?
А не проще просто сделать интеграцию? Пример тот самый JEI, поддержка которого есть почти везде в крупных модах и исходники IE открыты, я если мне чего нужно то у них смотрю.
 
3,005
192
592
Пример тот самый JEI
JEI имеет API, которое саморегистрируемое.
А если нужно добавить какой-либо не такой популярный мод - нужно добавлять проверки, что мод есть, либо Optional.
 
Сверху