Skip to content
/ EMCLK Public

这是一个新的基于 Python 的 Minecraft Java 版的启动器内核 This is a new Minecraft Java edition launcher kernel based on Python

License

Notifications You must be signed in to change notification settings

AEBC08/EMCLK

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

96 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

语言选择

如果你需要 C# 的版本, 请前往: _AEBC08/EMCLK_For_CSharp

EMCLK (Elegant Minecraft Launcher Kernel)

这是一个基于 PythonMinecraft Java 版本启动器内核,隶属于 RATE studio 团队。

开发者

  • AEBC08 - 主开发者
  • XiaoShuaiYo - 次开发者,启动器GUI的主开发者
  • RATE - 次开发者,工作室创始人

鸣谢

  • Xphost - 为启动器内核的基础开发提供帮助

引用的库

Python 标准库:

  • json - 用于解析 Minecraft 的 JSON 以获取各种配置参数
  • platform - 获取详细的系统信息以确保正确启动 Minecraft
  • os - 进行文件等操作
  • subprocess - 运行 Minecraft 并接收其运行时日志
  • uuid - 与 hashlib 结合使用,为 Minecraft 离线账户生成 UUID
  • hashlib - 与 uuid 一起使用
  • re - 用于正则表达式匹配和字符串内容替换
  • zipfile - 用于解压 Natives

引用本项目示例

本项目支持被直接引用并调用函数启动 Minecraft
以下是调用示例:

import EMCLK

EMCLK.launch_minecraft("Your Java path", "Your .minecraft dir path", "Minecraft version name", 1024, "Player name")

launch_minecraft 函数参数:

  • java_path - 必填参数,str 类型,你的 Java 可执行文件的绝对路径
  • game_path - 必填参数,str 类型,你的 .minecraft 文件夹的绝对路径
  • version_name - 必填参数,str 类型,你想要启动的 Minecraft 版本的名称,注意这个名称是版本文件夹内的名称
  • max_use_ram - 必填参数,str 和 int 类型,最大分配内存,单位为 1MB,默认最小值为 256MB,请不要包含单位
  • player_name - 必填参数,str 类型,玩家名称
  • user_type - 选填参数,str 类型,用户类型,默认值为 Legacy(即离线登录)
  • auth_uuid - 选填参数,str 类型,登录 UUID,离线登录可以省略,填写则意味着自定义 UUID,默认根据玩家名称自动生成 UUID,请输入 UUID3 格式的 UUID,可以是标准的 UUID3 或修剪后的 UUID3
  • access_token - 选填参数,str 类型,正版账号登录令牌(Token),离线登录无效
  • first_options_lang - 选填参数,str 类型,首次启动时自动修改语言,默认值为 zh_CN
  • options_lang - 选填参数,str 类型,启动时自动修改语言,默认为空且不会自动设置语言
  • launcher_name - 选填参数,str 类型,启动器名称,默认值为 IMCLK
  • launcher_version - 选填参数,str 类型,启动器版本,默认为 0.1145
  • return_methods - 选填参数,type 和 IMCLKReturn 类型,输出方式,可以覆盖日志和JVM参数的输出以及异常抛出的方式,默认值为 IMCLKReturn ,注意如果覆盖参数没有添加 @staticmethod 声明只能传入实例,否则可以传入实例和类本身
  • out_jvm_params - 选填参数,bool 类型,输出JVM参数,修改 return_methods 参数可以覆盖输出方式,默认值为 False

示意图 (部分)

更新日志

  • 2024.6.9 - 更新了对 Forge Loader、NeoForged Loader、Quilt Loader 以及主流 Mod Loader 的支持,支持解压 Natives 文件和首次启动时设置 Minecraft 语言,兼容最新和旧版本的 Minecraft ,主开发者只测试了从当前最新的 Minecraft(1.20.6)到 Minecraft 1.7.10 的版本,这些版本都可以正常启动
  • 2024.?.? - 更新了对 Fabric Loader 的支持,目前只支持启动较新的版本,尚不支持解压 Natives 文件
  • 2024.?.? - 编写了启动器的基础部分,目前只支持启动较新的版本,尚不支持解压 Natives 文件

About

这是一个新的基于 Python 的 Minecraft Java 版的启动器内核 This is a new Minecraft Java edition launcher kernel based on Python

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages