Проблемы с моддингом на 1.12.2, IDEA, Java-8.

Версия Minecraft
1.12.2
API
Forge
Всем привет. Я решил заняться разработкой, или по крайней мере попробовать. На версии 1.12.2 а не на более новой. И у меня много проблем, что не позволяют мне нормально работать.

Для работы я использую IDEA 2019.3.5, последние версии IDEA с Forge 1.12.2 не работают. Казалось, бы, что со старой версией все работает, библиотеки загружаются, однако, не удается запустить отладочный клиент Minecraft, выводится ошибка
" Execution failed for task ':runClient'. > Process 'command 'C:\Program Files\Java\jdk1.8.0_181\bin\java.exe'' finished with non-zero exit value -1"

Полные логи я оставлю во вложении, буду благодарен, если кто-то посмотрит и что-то объяснит.

Как я понял, ошибка java.lang.NoSuchMethodError: java.nio.ByteBuffer.flip()Ljava/nio/ByteBuffer; указывает на проблему совместимости метода flip() в библиотеке java.nio.ByteBuffer, вызванную изменениями в JDK 9 и выше. Ошибка возникает из-за изменения возвращаемого типа метода ByteBuffer.flip() в Java 9 и более поздних версиях. В Java 8 метод flip() возвращал тип Buffer, а в Java 9 и позже — ByteBuffer. Это приводит к несовместимости в приложениях, скомпилированных на Java 8 и запущенных на Java 9 или новее.
Тем не менее, моя среда использует Java 8, как указано в логе (Java Version: 1.8.0_181), поэтому теоретически такая ошибка не должна возникать. Но почему-то возникает. Или же я держусь за не верную мысль и проблема в чем-то другом.

Я уже многое перепробовал и не знаю что делать. Может есть какая-то тонкость для новичка, что я упустил.

На свежей версии IDEA и 1.20, все работало как нужно.

Раширеный лог: Extended_logs.txt
 
Краш-лог
[runClient_Log]
---- Minecraft Crash Report ----
// Hi. I'm Minecraft, and I'm a crashaholic.

Time: 4/20/24 3:15 PM
Description: Initializing game

java.lang.NoSuchMethodError: java.nio.ByteBuffer.flip()Ljava/nio/ByteBuffer;
at net.minecraft.client.Minecraft.readImageToBuffer(Minecraft.java:841)
at net.minecraft.client.Minecraft.setWindowIcon(Minecraft.java:680)
at net.minecraft.client.Minecraft.init(Minecraft.java:456)
at net.minecraft.client.Minecraft.run(Minecraft.java:378)
at net.minecraft.client.main.Main.main(Main.java:118)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at net.minecraftforge.legacydev.Main.start(Main.java:86)
at net.minecraftforge.legacydev.MainClient.main(MainClient.java:29)


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Thread: Client thread
Stacktrace:
at net.minecraft.client.Minecraft.readImageToBuffer(Minecraft.java:841)
at net.minecraft.client.Minecraft.setWindowIcon(Minecraft.java:680)
at net.minecraft.client.Minecraft.init(Minecraft.java:456)

-- Initialization --
Details:
Stacktrace:
at net.minecraft.client.Minecraft.run(Minecraft.java:378)
at net.minecraft.client.main.Main.main(Main.java:118)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at net.minecraftforge.legacydev.Main.start(Main.java:86)
at net.minecraftforge.legacydev.MainClient.main(MainClient.java:29)

-- System Details --
Details:
Minecraft Version: 1.12.2
Operating System: Windows 10 (amd64) version 10.0
Java Version: 1.8.0_181, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 506372560 bytes (482 MB) / 633339904 bytes (604 MB) up to 3804758016 bytes (3628 MB)
JVM Flags: 0 total;
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
FML:
Loaded coremods (and transformers):
Launched Version: ${MC_VERSION}
LWJGL: 2.9.4
OpenGL: ~~ERROR~~ RuntimeException: No OpenGL context found in the current thread.
GL Caps:
Using VBOs: Yes
Is Modded: Definitely; Client brand changed to 'fml,forge'
Type: Client (map_client.txt)
Resource Packs:
Current Language: ~~ERROR~~ NullPointerException: null
Profiler Position: N/A (disabled)
CPU: <unknown>
Краш-лог:
[runClient_Log]
---- Minecraft Crash Report ----
// Hi. I'm Minecraft, and I'm a crashaholic.

Time: 4/20/24 3:15 PM
Description: Initializing game

java.lang.NoSuchMethodError: java.nio.ByteBuffer.flip()Ljava/nio/ByteBuffer;
	at net.minecraft.client.Minecraft.readImageToBuffer(Minecraft.java:841)
	at net.minecraft.client.Minecraft.setWindowIcon(Minecraft.java:680)
	at net.minecraft.client.Minecraft.init(Minecraft.java:456)
	at net.minecraft.client.Minecraft.run(Minecraft.java:378)
	at net.minecraft.client.main.Main.main(Main.java:118)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
	at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at net.minecraftforge.legacydev.Main.start(Main.java:86)
	at net.minecraftforge.legacydev.MainClient.main(MainClient.java:29)


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Thread: Client thread
Stacktrace:
	at net.minecraft.client.Minecraft.readImageToBuffer(Minecraft.java:841)
	at net.minecraft.client.Minecraft.setWindowIcon(Minecraft.java:680)
	at net.minecraft.client.Minecraft.init(Minecraft.java:456)

-- Initialization --
Details:
Stacktrace:
	at net.minecraft.client.Minecraft.run(Minecraft.java:378)
	at net.minecraft.client.main.Main.main(Main.java:118)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
	at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at net.minecraftforge.legacydev.Main.start(Main.java:86)
	at net.minecraftforge.legacydev.MainClient.main(MainClient.java:29)

-- System Details --
Details:
	Minecraft Version: 1.12.2
	Operating System: Windows 10 (amd64) version 10.0
	Java Version: 1.8.0_181, Oracle Corporation
	Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
	Memory: 506372560 bytes (482 MB) / 633339904 bytes (604 MB) up to 3804758016 bytes (3628 MB)
	JVM Flags: 0 total; 
	IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
	FML: 
	Loaded coremods (and transformers): 
	Launched Version: ${MC_VERSION}
	LWJGL: 2.9.4
	OpenGL: ~~ERROR~~ RuntimeException: No OpenGL context found in the current thread.
	GL Caps: 
	Using VBOs: Yes
	Is Modded: Definitely; Client brand changed to 'fml,forge'
	Type: Client (map_client.txt)
	Resource Packs: 
	Current Language: ~~ERROR~~ NullPointerException: null
	Profiler Position: N/A (disabled)
	CPU: <unknown>
Решение
Всегда использую рабочую среду
смотри:
1. для каждой версии forge нужен свой minecraft и своя mapping библа(для обхода обфускации кода оф.майна)
2. также forge требует точной версии java и gradle плагина и gralde forge плагина

Вот когда ты соберешь пазл, все норм запустится.
 
44
1
8
Всегда использую рабочую среду
 
Всегда использую рабочую среду
Я ожидал очередной вылет, но на удивление, все заработало. Буду использовать эту рабочую среду и попробую понять, в чем между ними разница.
Всех благодарю за участие
 
Сверху