Клиент Minecraft не запускается из затмения - PullRequest
0 голосов
/ 17 сентября 2018

Я начал пытаться модифицировать Minecraft 1.7.10, но всякий раз, когда я пытаюсь запустить свой тестовый мод из затмения, клиент вылетает (проблема не в моде, так как я собрал его, загрузил в Minecraft, и он работал).Вот журнал сбоев:

---- Minecraft Crash Report ----
// Would you like a cupcake?

Time: 9/17/18 11:06 AM
Description: Initializing game

java.lang.NoSuchMethodError: java.nio.ByteBuffer.flip()Ljava/nio/ByteBuffer;
    at net.minecraft.client.Minecraft.func_152340_a(Minecraft.java:694)
    at net.minecraft.client.Minecraft.startGame(Minecraft.java:463)
    at net.minecraft.client.Minecraft.run(Minecraft.java:942)
    at net.minecraft.client.main.Main.main(Main.java:164)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
    at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
    at GradleStart.main(Unknown Source)


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

-- Head --
Stacktrace:
    at net.minecraft.client.Minecraft.func_152340_a(Minecraft.java:694)
    at net.minecraft.client.Minecraft.startGame(Minecraft.java:463)

-- Initialization --
Details:
Stacktrace:
    at net.minecraft.client.Minecraft.run(Minecraft.java:942)
    at net.minecraft.client.main.Main.main(Main.java:164)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
    at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
    at GradleStart.main(Unknown Source)

-- System Details --
Details:
    Minecraft Version: 1.7.10
    Operating System: Windows 10 (amd64) version 10.0
    Java Version: 1.8.0_171, Oracle Corporation
    Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
    Memory: 857412696 bytes (817 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB)
    JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
    AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
    IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
    FML: 
    Launched Version: 1.7.10
    LWJGL: 2.9.1
    OpenGL: ~~ERROR~~ RuntimeException: No OpenGL context found in the current thread.
    GL Caps: 
    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)
    Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
    Anisotropic Filtering: Off (1)

Судя по тому, что я понял, у меня проблема с установкой JDK 10.0.2 и затмением с использованием jre1.8.0, но я не уверен, и яне уверен, как решить эту проблему.

1 Ответ

0 голосов
/ 17 сентября 2018

Корень проблемы в том, что Java9 + ByteBuffer#flip() может вернуть ByteBuffer. Код, похоже, полагается на получение этого типа.

Java 8 (и более ранние версии) возвращают Buffer в этом случае, поскольку метод flip определен в классе Buffer.

Buffer flippedBuffer = byteBuffer.flip(); // also works in Java9+
ByteBuffer flippedByteBuffer = byteBuffer.flip(); // Java 9+ only
...