Иконка ресурса

Фикс краша из-за Side.BUKKIT

7,104
324
1,510
hohserg добавил(а) новый ресурс:

Фикс краша из-за Side.BUKKIT - фиксит краш в среде разработке из-за FG 5.x

В FG 5.x на 1.12 есть баг, когда иногда после gradle refresh в net.minecraftforge.fml.relauncher.Side появляется третье значение:
Посмотреть вложение 17645
Это вызывает краш при запуске. Обычно фиксится повторным gradle refresh. Недавно мне пришлось сделать это 10 раз, прежде чем оно встало на место.
Так что я написал фиксы краша на хуклибе и миксинах.
Java:
@HookContainer
public class FixFuckingBukkitSide {

    @Hook(targetMethod = "newChannel")
    @OnMethodCall(value =...

Узнать больше об этом ресурсе...
 
1,111
74
390
Не слышал о такой проблеме. Какими симптомами она себя проявляет? Теперь в каждый проект надо тащить ненужные миксины? Сомнительное удобство...
Может надо фиксить этот FG 5? Ну или сгенерированные class/jar взять и пропатчить разок.
 
Последнее редактирование:
106
4
37
Достаточно удалить папку в ./gradle/.../mergetool/
Сделать рефреш gradle - и вся пашет!
Всегда с таким сталкиваюсь, когда создаю новый проект

UPD: точный путь: C:\Users\user\.gradle\caches\modules\metadata\descriptors\net.minecraftforge\mergetool
 
7,104
324
1,510
Какими симптомами она себя проявляет?
краш во время запуска
Код:
---- Minecraft Crash Report ----
// There are four lights!

Time: 5/21/24 10:34 PM
Description: There was a severe problem during mod loading that has caused the game to fail

net.minecraftforge.fml.common.LoaderExceptionModCrash: Caught exception from Forge Mod Loader (FML)
Caused by: java.lang.NullPointerException
    at net.minecraftforge.fml.common.network.NetworkRegistry.newChannel(NetworkRegistry.java:207)
    at net.minecraftforge.fml.common.network.internal.FMLNetworkHandler.registerChannel(FMLNetworkHandler.java:185)
    at net.minecraftforge.fml.common.FMLContainer.modConstruction(FMLContainer.java:92)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
Может надо фиксить этот FG 5?
Совершенно верно, но я не разработчик плагинов для градла, у мя лапки крч

А миксины или хуклибу стоит тащить в каждый проект через шаблон mdk. Не понадобится - хуже не станет, понадобится - готово к использованию
 
1,111
74
390
Теперь ясно. Видел на форуме много тем с этим крашем без ответа...

Всё равно не хочется копировать в проект лишний код. Может в виде готовой либы выложить? Чтобы просто подключил и всё заработало. Forge умеет грузить моды из classpath.
 
474
43
127
Достаточно удалить папку в ./gradle/.../mergetool/
Сделать рефреш gradle - и вся пашет!
Всегда с таким сталкиваюсь, когда создаю новый проект

UPD: точный путь: C:\Users\user\.gradle\caches\modules\metadata\descriptors\net.minecraftforge\mergetool

Столкнулся с той же проблемой в Forgegradle 4.1, удаление этого (так же пробовал сносить вообще весь кеш) не помогает

1718370512811.png1718370525312.png

UPD решил проблему тем, что вручную подключил net.minecraftforge:mergetool:0.2.3.3 вместо 1.0.13
 
Последнее редактирование:

Icosider

Kotliner
Администратор
3,605
99
667
Я просто форснул более новую версию mergeTool и больше проблемы не возникало. Даже когда среда полностью с нуля поставлена(без папки .gradle в корне юзверя)
 
7,104
324
1,510
Это в билд-скрипте или как?
 
474
43
127
Это в билд-скрипте или как?
Да. На счет более новых версий - ХЗ, допиши +- подобное и готово

Java:
repositories {
    ...
    flatDir {
        dirs "C:/Your/Dir/" //сюда помещаем старую версию mergetool-а (0.2.3.3)
    }
}

dependencies {
    implementation 'plus:mergetoolfixed:0.2.3.3'
    ...
}
 

Icosider

Kotliner
Администратор
3,605
99
667
Да. На счет более новых версий - ХЗ, допиши +- подобное и готово

Java:
repositories {
    ...
    flatDir {
        dirs "C:/Your/Dir/" //сюда помещаем старую версию mergetool-а (0.2.3.3)
    }
}

dependencies {
    implementation 'plus:mergetoolfixed:0.2.3.3'
    ...
}
Не так это делается...

Kotlin:
configurations.all {
  resolutionStrategy {
    force("Сюда прописать зависимость с версией")
  }
}
 
Сверху