我的我的世界打不开了,求解答

今天中午因为台风我把电脑电源插头拔了,随后下午我接通电源再次玩我的世界,结果游戏都打不开了,重装显卡驱动无效

以下为我的世界1.8.9pcl2启动器的错误报告:

// My bad.

Time: 23-7-28 下午7:37
Description: Initializing game

org.lwjgl.LWJGLException: Pixel format not accelerated
    at org.lwjgl.opengl.WindowsPeerInfo.nChoosePixelFormat(Native Method)
    at org.lwjgl.opengl.WindowsPeerInfo.choosePixelFormat(WindowsPeerInfo.java:52)
    at org.lwjgl.opengl.WindowsDisplay.createWindow(WindowsDisplay.java:247)
    at org.lwjgl.opengl.Display.createWindow(Display.java:306)
    at org.lwjgl.opengl.Display.create(Display.java:848)
    at org.lwjgl.opengl.Display.create(Display.java:757)
    at org.lwjgl.opengl.Display.create(Display.java:739)
    at net.minecraft.client.Minecraft.func_175609_am(Minecraft.java:580)
    at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:408)
    at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:329)
    at net.minecraft.client.main.Main.main(SourceFile:124)
    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 oolloo.jlw.Wrapper.invokeMain(Wrapper.java:60)
    at oolloo.jlw.Wrapper.main(Wrapper.java:53)


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

-- Head --
Stacktrace:
    at org.lwjgl.opengl.WindowsPeerInfo.nChoosePixelFormat(Native Method)
    at org.lwjgl.opengl.WindowsPeerInfo.choosePixelFormat(WindowsPeerInfo.java:52)
    at org.lwjgl.opengl.WindowsDisplay.createWindow(WindowsDisplay.java:247)
    at org.lwjgl.opengl.Display.createWindow(Display.java:306)
    at org.lwjgl.opengl.Display.create(Display.java:848)
    at org.lwjgl.opengl.Display.create(Display.java:757)
    at org.lwjgl.opengl.Display.create(Display.java:739)
    at net.minecraft.client.Minecraft.func_175609_am(Minecraft.java:580)
    at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:408)

-- Initialization --
Details:
Stacktrace:
    at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:329)
    at net.minecraft.client.main.Main.main(SourceFile:124)
    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 oolloo.jlw.Wrapper.invokeMain(Wrapper.java:60)
    at oolloo.jlw.Wrapper.main(Wrapper.java:53)

-- System Details --
Details:
    Minecraft Version: 1.8.9
    Operating System: Windows 10 (amd64) version 10.0
    Java Version: 1.8.0_332, Temurin
    Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Temurin
    Memory: 230686720 bytes (220 MB) / 372244480 bytes (355 MB) up to 7086276608 bytes (6758 MB)
    JVM Flags: 6 total; -XX:+UseG1GC -XX:-UseAdaptiveSizePolicy -XX:-OmitStackTraceInFastThrow -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmn256m -Xmx6758m
    IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
    FML: 
    Loaded coremods (and transformers): 
    Launched Version: 1.8.9
    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: 小呆呆y冠军材质+专属配音.zip
    Current Language: ~~ERROR~~ NullPointerException: null
    Profiler Position: N/A (disabled)
    CPU: <unknown>


不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7702601
  • 除此之外, 这篇博客: 一个简单的请求转发网关,可以用做中台网关,不喜勿喷中的 方法注册表的实现 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

    利用对spring的支持,在spring ioc完成启动时,扫描全部的bean,将bean的实例对象、具体方法、方法入参、返回值,以及方法标注的serviceCode具体值进行存储,等待远程客户端发出请求,并反射执行此方法

    package net.jlxxw.apicenter.facade.scanner;
    
    import net.jlxxw.apicenter.facade.annotation.RemoteRegister;
    import org.apache.commons.lang.StringUtils;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.aop.support.AopUtils;
    import org.springframework.core.LocalVariableTableParameterNameDiscoverer;
    import org.springframework.stereotype.Component;
    
    import java.lang.reflect.Method;
    import java.util.Map;
    import java.util.Objects;
    import java.util.concurrent.ConcurrentHashMap;
    
    /**
     * 方法扫描
     * @author zhanxiumei
     */
    @Component
    public class MethodScanner {
    
        private static  final Logger logger = LoggerFactory.getLogger(MethodScanner.class);
        /**
         * 方法本地注册表
         */
        private static final Map<String,MethodInfo> REGISTRY_TABLE = new ConcurrentHashMap<>(16);
    
        /**
         * 将扫描到到方法注册到注册表中
         * @param object 实例对象
         * @param method 调用的方法
         * @param serviceCode 方法唯一识别码
         * @param parameterTypes 方法参数类型列表
         * @param hasReturn 是否具有返回值
         */
        private void registry(Object object, Method method,String serviceCode,Class[] parameterTypes,boolean hasReturn,String[] methodParamNames){
            MethodInfo methodInfo = new MethodInfo();
            methodInfo.setParameterTypes(parameterTypes);
            methodInfo.setMethod(method);
            methodInfo.setObject(object);
            methodInfo.setHasReturn(hasReturn);
            methodInfo.setMethodParamNames(methodParamNames);
            REGISTRY_TABLE.put(serviceCode,methodInfo);
            logger.info("registry method "+method);
        }
    
        /**
         * 扫描方法,并检测是否合规
         * @param bean spring bean
         */
        public void scanMethod(Object bean){
            Class clazz;
            if(AopUtils.isAopProxy(bean)){
                clazz = AopUtils.getTargetClass(bean);
            }else{
                clazz = bean.getClass();
            }
            // 获取全部声明的方法
            Method[] declaredMethods = clazz.getDeclaredMethods();
            if(Objects.nonNull(declaredMethods)){
                for (Method declaredMethod : declaredMethods) {
                    // 如果方法包含指定的注解,则进行相关解析
                    if(declaredMethod.isAnnotationPresent(RemoteRegister.class)){
                        RemoteRegister annotation = declaredMethod.getAnnotation(RemoteRegister.class);
                        String serviceCode = annotation.serviceCode();
                        if(StringUtils.isBlank(serviceCode)){
                            // 注解中的 buc code 不能为空
                            throw new IllegalArgumentException("method:" + declaredMethod +" serviceCode is not null");
                        }
                        if(REGISTRY_TABLE.containsKey(serviceCode)){
                            // 注解中的 buc code 不能重复
                            MethodInfo methodInfo = REGISTRY_TABLE.get(serviceCode);
                            throw new IllegalArgumentException("method:" + declaredMethod + " serviceCode exists,please check "+methodInfo.getMethod().getName());
                        }
    
                        // 获取返回值类型
                        Class<?> returnType = declaredMethod.getReturnType();
                        // 获取参数列表
                        Class<?>[] parameterTypes = declaredMethod.getParameterTypes();
                        if(parameterTypes.length >0){
                            for (Class<?> parameterType : parameterTypes) {
                                if(parameterType.isArray() || parameterType.isEnum()){
                                    throw new IllegalArgumentException("method: "+declaredMethod + "param is not support,not support type:array,enum");
                                }
                            }
                        }
                        // 获取全部方法参数名称
                        LocalVariableTableParameterNameDiscoverer localVariableTableParameterNameDiscoverer = new LocalVariableTableParameterNameDiscoverer();
                        String[] parameterNames = localVariableTableParameterNameDiscoverer.getParameterNames(declaredMethod);
    
                        registry(bean,declaredMethod,serviceCode,parameterTypes,"void".equals(returnType.getName()),parameterNames);
                    }
                }
            }
        }
    
        /**
         * 根据方法注解编码,获取相关执行的方法
         * @param serviceCode
         * @return
         */
        public MethodInfo getMethod(String serviceCode){
            return REGISTRY_TABLE.get(serviceCode);
        }
    }
    

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^