Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

启动器共用公共组件 #5

Open
3 tasks done
IceCream-QAQ opened this issue Feb 1, 2024 · 22 comments
Open
3 tasks done

启动器共用公共组件 #5

IceCream-QAQ opened this issue Feb 1, 2024 · 22 comments
Labels
自由发挥 可能是一个改善的点,看启动器作者们的心情

Comments

@IceCream-QAQ
Copy link
Member

检查项

  • 我充分理解提交的建议可能无法所有启动器作者参与,并尊重所有启动器开发者的选择
  • 我确认在Issues列表中并无其他人已经提出过与此问题相同或相似的问题
  • 我确认该反馈并非针对单个启动器的,如果是,我将会去该启动器的反馈页面反馈

您是什么类型的用户

启动器作者

请简单的说一下您的想法

启动器作者可以在公共位置写入一些公共组件以便其他启动器可以共同使用。
例如公共的 Java,Chromium 等等。

它能解决什么样的问题/带来什么样的帮助

不同的启动器可直接互通公共组件,以便节省磁盘空间。

期望的结果

在公共位置有按规则存放的公共组件。

是否有对这个方案的相关链接?

No response

附注

No response

@bangbang93
Copy link

assets和library通用的话应该也能减轻镜像站的下载压力

@ZhaiSoul
Copy link
Member

ZhaiSoul commented Feb 1, 2024

目前BakaXL在测试一个新功能,共享资源文件
image

开启后,将会询问用户是否合并所有资源文件(assets和libraries)至指定目录(默认官启目录)
用户也可以自行设定这个资源的目录。

开启后启动器下载资源文件时也会下载到这个路径下。

如果需要大家一起支持的话,可能需要考虑一下这个用户设置转移后怎么让其他启动器知道。

@Pigeon0v0
Copy link

可以直接在一个目录放一个配置文件?

比如 %appdata%.minecraft\launcher_config.json 这样子

@LTCatt
Copy link

LTCatt commented Feb 2, 2024

我的个人看法是……在现在这个游戏动辄几十 G 乃至一百多 G 的时代,已经没有必要考虑类似的空间问题了。
虽然它是好的,但考虑到开发者能开发启动器的总时间是固定的,为何不把时间花在更有用的地方呢(

@ZhaiSoul
Copy link
Member

ZhaiSoul commented Feb 2, 2024

我的个人看法是……在现在这个游戏动辄几十 G 乃至一百多 G 的时代,已经没有必要考虑类似的空间问题了。 虽然它是好的,但考虑到开发者能开发启动器的总时间是固定的,为何不把时间花在更有用的地方呢(

大小的问题其实好解决,这个提议主要是想解决下载源压力过大的问题

@IceCream-QAQ
Copy link
Member Author

我的个人看法是……在现在这个游戏动辄几十 G 乃至一百多 G 的时代,已经没有必要考虑类似的空间问题了。 虽然它是好的,但考虑到开发者能开发启动器的总时间是固定的,为何不把时间花在更有用的地方呢(

但实际上,开发者在考虑引用外部组件的时候总要考虑位置。
包括 Java 或是 Chromium 等等。
除了直接 inline 到自身的之外。
无论放在运行目录,还是放在公共目录并没有造成很长时间的开发任务。

@wifi-left
Copy link

wifi-left commented Feb 4, 2024

作为用户的看法:

  • 首先是Chromium,这玩意儿任何一个electron应用都带一个,qq也带一个,微信也带一个,而且版本都不一样,不太现实。还有就是,如果真要省空间,其实直接调用Edge的webview会好很多,毕竟win10过后都是自带的。
  • 其次是Java,这玩意儿安装了不就本来是全局的文件吗?

@ZhaiSoul
Copy link
Member

ZhaiSoul commented Feb 4, 2024

作为用户的看法:

  • 首先是Chromium,这玩意儿任何一个electron应用都带一个,qq也带一个,微信也带一个,而且版本都不一样,不太现实。还有就是,如果真要省空间,其实直接调用Edge的webview会好很多,毕竟win10过后都是自带的。
  • 其次是Java,这玩意儿安装了不就本来是全局的文件吗?

目前OpenJDK并没有统一的安装路径,各家OpenJDK的注册表信息也不一样,甚至大部分只提供压缩包,没有安装程序。
目前BakaXL是尽可能接管了Java的管理工作,安装到了mc正版路径下,只给高级用户提供自定义Java选项。

@burningtnt
Copy link

目前 HMCL 是通过扫 C:/Program File[ (x86)]/XXX/XXX/bin/java.exe 实现的

目前OpenJDK并没有统一的安装路径,各家OpenJDK的注册表信息也不一样,甚至大部分只提供压缩包,没有安装程序。

这样的话,我们也没有办法去自动找到这个 Java 啊……

@Silverteal
Copy link

一般玩家的jdk一般不会是没有PATH的java,启动器应该找得到,高级玩家自己会下载jdk,也不需要启动器来提供,重点应该是asset和library吧

@ZhaiSoul
Copy link
Member

ZhaiSoul commented Feb 6, 2024

一般玩家的jdk一般不会是没有PATH的java,启动器应该找得到,高级玩家自己会下载jdk,也不需要启动器来提供,重点应该是asset和library吧

Java8还好说,后面的版本基本上群魔乱舞,没有统一

@Silverteal
Copy link

一般玩家的jdk一般不会是没有PATH的java,启动器应该找得到,高级玩家自己会下载jdk,也不需要启动器来提供,重点应该是asset和library吧

Java8还好说,后面的版本基本上群魔乱舞,没有统一

我的意思就是对java不需要也没办法实现公共组件

@ZhaiSoul
Copy link
Member

ZhaiSoul commented Feb 6, 2024

一般玩家的jdk一般不会是没有PATH的java,启动器应该找得到,高级玩家自己会下载jdk,也不需要启动器来提供,重点应该是asset和library吧

Java8还好说,后面的版本基本上群魔乱舞,没有统一

我的意思就是对java不需要也没办法实现公共组件

要做的话还是很简单,比如在.minecraft目录下放一个配置文件之类的

@wifi-left
Copy link

wifi-left commented Feb 6, 2024

对于一般的Java安装器(Windows)来说,都会自动设置JAVA_HOME(安装时候默认选中)
我没记错了话HMCL的exe版本会自动扫描JAVA_HOME(或者PATH)并使用它启动

@ZhaiSoul
Copy link
Member

ZhaiSoul commented Feb 6, 2024

对于一般的Java安装器(Windows)来说,都会自动设置JAVA_HOME(安装时候默认选中)
我没记错了话HMCL的exe版本会自动扫描JAVA_HOME(或者PATH)并使用它启动

然而大部分openjdk是没有安装程序的,只给你一个粗暴的压缩包

@Silverteal
Copy link

对于一般的Java安装器(Windows)来说,都会自动设置JAVA_HOME(安装时候默认选中)
我没记错了话HMCL的exe版本会自动扫描JAVA_HOME(或者PATH)并使用它启动

然而大部分openjdk是没有安装程序的,只给你一个粗暴的压缩包

这部分本来就不是启动器下载的java,启动器也没有办法管理吧

@ZhaiSoul
Copy link
Member

ZhaiSoul commented Feb 6, 2024

对于一般的Java安装器(Windows)来说,都会自动设置JAVA_HOME(安装时候默认选中)
我没记错了话HMCL的exe版本会自动扫描JAVA_HOME(或者PATH)并使用它启动

然而大部分openjdk是没有安装程序的,只给你一个粗暴的压缩包

这部分本来就不是启动器下载的java,启动器也没有办法管理吧

目前的提议是,大家自己安装的组件(包括Java)能够有统一规范,能够让其他启动器也能使用到。
不是启动器下载的绿色版Java不在讨论范围内

@IceCream-QAQ
Copy link
Member Author

作为用户的看法:

  • 首先是Chromium,这玩意儿任何一个electron应用都带一个,qq也带一个,微信也带一个,而且版本都不一样,不太现实。还有就是,如果真要省空间,其实直接调用Edge的webview会好很多,毕竟win10过后都是自带的。
  • 其次是Java,这玩意儿安装了不就本来是全局的文件吗?

WebView2 并没有完整实现 CEF 所有功能。
其次 并不是 所有版本的 Windows 都继承了 WebView2.
最后,还有 Linux 及 macOS 需要考虑。

对于 Java,有很多 Java 并不是安装版本不一定会写入到注册表。
而且有很多启动器会下载免安装的 Java。

@z0z0r4
Copy link

z0z0r4 commented Feb 6, 2024

Java 还能沾点边,有点意义

Chromium 组件是什么鬼...这种东西不应该去找 electron 的开发去提吗?这是启动器该管的事..............?超级大画饼

@IceCream-QAQ
Copy link
Member Author

Java 还能沾点边,有点意义

Chromium 组件是什么鬼...这种东西不应该去找 electron 的开发去提吗?这是启动器该管的事..............?

这跟 Electron 有什么关系,不只有 Electron 在用 Chromium。
也不是所有基于 Chromium 构建 UI 的应用程序都是 Electron。

@ZhaiSoul ZhaiSoul added the 自由发挥 可能是一个改善的点,看启动器作者们的心情 label Feb 6, 2024
@burningtnt
Copy link

从另一个角度出发,完全没有必要统一公用哪些东西。
可以定下一个根目录,下方放置 .json,分别规范每一个组件的格式即可。比如 java.jsonelectron.json

@IceCream-QAQ
Copy link
Member Author

从另一个角度出发,完全没有必要统一公用哪些东西。 可以定下一个根目录,下方放置 .json,分别规范每一个组件的格式即可。比如 java.jsonelectron.json

本来就不是统一公用,而是谁愿意用哪个就用愿意往哪放久往哪放。
而这个本来就是为了满足愿意公用的开发者商讨公共位置的。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
自由发挥 可能是一个改善的点,看启动器作者们的心情
Projects
None yet
Development

No branches or pull requests

9 participants