流萤337 2025-02-21 11:48 采纳率: 33.3%
浏览 3

Python启动MC失败

为什么自制的MC启动器总是启动失败?

img


这是我的文件情况。


import os
import subprocess
import json

# 定义 jar 文件的路径
jar_path = os.path.join('version', '1.21.4.jar')

# 读取 1.21.4.json 文件并解析参数
json_path = os.path.join('version', '1.21.4.json')
with open(json_path, 'r') as json_file:
    json_params = json.load(json_file)

# 直接定义参数
params = {'username': 'youbing', 'userType': 'Legacy'}

# 合并直接定义的参数和从 JSON 文件中读取的参数
params.update(json_params)

# 将字典转换为命令行参数列表
command_params = []
for key, value in params.items():
    command_params.extend(['--' + key, str(value)])

# 创建响应文件
response_file_path = os.path.join('version', 'params.txt')
with open(response_file_path, 'w') as response_file:
    for param in command_params:
        response_file.write(param + '\n')

# 构建命令行参数列表,引用响应文件
command = ['java', '-jar', jar_path, '@' + response_file_path]

# 运行 jar 文件并传递参数
subprocess.run(command)

在启动失败时总是传出此结果:

img

  • 写回答

4条回答 默认 最新

  • 阿里嘎多学长 2025-02-21 11:48
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    自制MC启动器启动失败

    你遇到了自制的MC启动器启动失败的问题。根据你提供的代码,问题可能出在启动 Minecraft 的 jar 文件上。

    首先,让我们检查一下 jar 文件的路径是否正确。os.path.join 函数可以将多个路径组合成一个完整的路径,但是如果 jar 文件的路径包含空格或其他特殊字符,可能会导致问题。

    可以尝试使用 os.path.abspath 函数来获取 jar 文件的绝对路径,例如:

    jar_path = os.path.abspath(os.path.join('path', 'to', 'minecraft.jar'))
    

    如果问题仍然存在,可以尝试使用 subprocess 模块来启动 Minecraft,例如:

    subprocess.run(['java', '-jar', jar_path])
    

    这将使用 java 命令来启动 Minecraft, jar 文件的路径将作为参数传递。

    如果问题仍然存在,可以检查 Minecraft 的 jar 文件是否正确,或者检查 Java 的版本是否支持 Minecraft。

    如果你需要更多帮助,请提供更多的错误信息或代码。

    评论

报告相同问题?

问题事件

  • 修改了问题 2月21日
  • 创建了问题 2月21日