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

NeoForge 支持 #4045

Merged
merged 39 commits into from
Jul 5, 2024
Merged

NeoForge 支持 #4045

merged 39 commits into from
Jul 5, 2024

Conversation

Pigeon0v0
Copy link
Collaborator

@Pigeon0v0 Pigeon0v0 commented Jun 15, 2024

本 PR 将基于先前的 Forge 安装流程,加入针对 NeoForge 的支持。
Close #2244

To-Do List:

  • 在自动安装界面加入 NeoForge 选项,并支持显示版本列表
  • NeoForge 相关信息获取
  • 版本列表相关处理(版本排序,NeoForge 相关信息显示,附加安装选项之间冲突等)
  • NeoForge 自动安装
  • NeoForge 手动安装界面
  • 相关资源文件(图标等)补充
  • NeoForge 整合包安装
  • 其他界面选项和文本补充

Known Issues:

  • 官方源 1.20.1 列表会错误地将 47.1.82 放在第一位次(可能需要重构 Neo 相关排序)
  • BMCLAPI 1.20.1 列表会意外地缺失 47.1.106(我完全不知道为什么会这样...)
  • 左侧栏图标需要绘制

@Pigeon0v0 Pigeon0v0 marked this pull request as draft June 15, 2024 13:46
Copy link
Collaborator

@3gf8jv4dv 3gf8jv4dv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@3gf8jv4dv
Copy link
Collaborator

All are displayed as beta.

Preview

Copy link
Contributor

@SALTWOOD SALTWOOD left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

看代码逻辑感觉没问题,期待

Copy link
Collaborator

@3gf8jv4dv 3gf8jv4dv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Pigeon0v0
Copy link
Collaborator Author

All are displayed as beta.

Fix later.

@Pigeon0v0
Copy link
Collaborator Author

Pigeon0v0 commented Jun 15, 2024

This comment(655364b) has not solved any problems. No need to test again. @3gf8jv4dv

I'll try to fix this later.

@3gf8jv4dv
Copy link
Collaborator

3gf8jv4dv commented Jun 15, 2024

This comment(655364b) has not solved any problems. No need to test again. @3gf8jv4dv

I'll try to fix this later.

OK.


Not sure if this will be implemented in this PR (I did not see it in the To-Do List).

NeoForge 20.5 renamed mods.toml to neoforge.mods.toml.ref:

Currently only mods.toml is recognized in the main branch’s code.

@Pigeon0v0
Copy link
Collaborator Author

Not sure if this will be implemented in this PR (I did not see it in the To-Do List).

NeoForge 20.5 renamed mods.toml to neoforge.mods.toml.

Currently only mods.toml is recognized in the main branch’s code.

This PR aims mainly at installing NeoForge. Related issues may be fixed another day.

Pigeon0v0 and others added 3 commits June 15, 2024 23:57
@allMagicNB
Copy link
Contributor

不知道 Forge Installer 能不能用

Copy link
Collaborator

@3gf8jv4dv 3gf8jv4dv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now beta/stable looks like it should display normally.

Pigeon0v0 and others added 3 commits June 16, 2024 08:52
feat: NeoForge 自动安装 Stage 1
fix: StdVersion 可能错误地包含了 "neoforge-" 前缀
fix: 自动安装选择 NeoForge 时自动生成的核心名称存在重复字符串
@Pigeon0v0
Copy link
Collaborator Author

基本功能已经完成,剩下收个尾大概就可以合并了

手动安装这个版本列表我这里短时间搞不定,下周期末周,得等考完了再回来改

@SALTWOOD
Copy link
Contributor

图标有哪些需要?我来帮忙(

@3gf8jv4dv
Copy link
Collaborator

3gf8jv4dv commented Jun 16, 2024

图标有哪些需要?我来帮忙(

At least two are required:

  1. The icon at 手动安装包 in the sidebar
  2. The version list that appears after selecting NeoForge in 自动安装
Preview

@SALTWOOD
Copy link
Contributor

图标有哪些需要?我来帮忙(

At least two are required:

  1. The icon at 手动安装 in the sidebar
  2. The version list that appears after selecting NeoForge in 自动安装

Preview

ok, I'm working on it.

@SALTWOOD
Copy link
Contributor

SALTWOOD commented Jun 16, 2024

There are three possible alternative solutions:

The version list that appears after selecting NeoForge in 自动安装

Sleeping_Baby_Fox
neoforged
Baby_Fox_JE1_BE1

If someone has a better plan to propose

@3gf8jv4dv
Copy link
Collaborator

3gf8jv4dv commented Jun 16, 2024

The UI display has some minor flaws.

  • 1.20.1 some versions of NeoForge still show the redundant 1.20.1- prefix
  • The list of NeoForge versions shown in 自动安装 no longer has the prefix neoforge-, but it still shows this prefix after selecting a version
Preview




Copy link
Collaborator

@3gf8jv4dv 3gf8jv4dv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1.20.1 fails to install, launcher shows 404 error.

Preview

@3gf8jv4dv
Copy link
Collaborator

@SALTWOOD

HMCL and Prism Launcher currently use a variant of NeoForge branding (without the silver part around it). I personally prefer them.

Preview


@bangbang93
Copy link

我觉得neoforge这个版本号规则是在给自己埋坑……你们要的话我就这两天把这个API也缓存一下好了

@Pigeon0v0
Copy link
Collaborator Author

我觉得neoforge这个版本号规则是在给自己埋坑……你们要的话我就这两天把这个API也缓存一下好了

感谢(

@Pigeon0v0
Copy link
Collaborator Author

上面的改了

Copy link
Collaborator

@3gf8jv4dv 3gf8jv4dv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Three comments:

  1. Is it possible to not show the NeoForge option when select a version <= 1.20 in Automatic Installation (自动安装)? Just like do in Manually Installation Package (手动安装包)

    Current behavior

  2. When trying to install a NeoForge modpack, the launcher started complaining again

    Preview

    Log (Deleted)

  3. In Automatic Installation (自动安装), select a game version and then expand the list of NeoForge versions. Then switch to the Automatic Installation (自动安装) interface and select a different game version. There is a chance that the NeoForge version will not match correctly. An example is provided below. Note: This situation is likely to occur regardless of the source of the version list. I have never seen this happen with the Forge version list.

    Preview

    Log (Deleted)

@bangbang93
Copy link

文档见https://bmclapidoc.bangbang93.com/#api-Neoforge-NeoforgeMavenApi
使用例

  • https://maven.neoforged.net/api/maven/details/releases/net/neoforged/neoforge -> https://bmclapi2.bangbang93.com/neoforge/meta/api/maven/details/releases/net/neoforged/neoforge
  • https://maven.neoforged.net/api/maven/details/releases/net/neoforged/forge -> https://bmclapi2.bangbang93.com/neoforge/meta/api/maven/details/releases/net/neoforged/forge

同时对应的子目录也有

@Pigeon0v0
Copy link
Collaborator Author

今天下午有空来修一下

fix: 安装 NeoForge 整合包时的参数初始化不正确
chores: 在低版本(<=1.19)的自动安装界面将不会显示 NeoForge
@Pigeon0v0
Copy link
Collaborator Author

Issues mentioned by @3gf8jv4dv are resolved in 3c44a55.

Meanwhile, the version list from BMCLAPI is using the new API now, working as expected.

Feel free to test and leave comments :)

@Pigeon0v0
Copy link
Collaborator Author

主楼提到的版本列表和排序的事情麻烦看一下,对我来说有点难了...

其他的功能大概是没问题

Ping @LTCatt

@3gf8jv4dv
Copy link
Collaborator

3gf8jv4dv commented Jun 30, 2024

Modpacks related features appear to be working fine. Continue to catch bugs.

  1. It seems that the following issue has been alleviated.

    In Automatic Installation (自动安装), select a game version and then expand the list of NeoForge versions. Then switch to the Automatic Installation (自动安装) interface and select a different game version. There is a chance that the NeoForge version will not match correctly. An example is provided below. Note: This situation is likely to occur regardless of the source of the version list. I have never seen this happen with the Forge version list.

    However, it seems that the NeoForge version list will be forced to refresh only after the Forge version list is loaded. Is there room for further optimization?

    Preview

    Log (Deleted).

  2. If you first select version 1.20 and above after opening the launcher, the NeoForge option will appear as expected. When you select a version lower than 1.20 and then go back and select a version 1.20 or higher, will find that the NeoForge option disappears.

    Preview

    Log (Deleted).

Copy link
Member

@LTCatt LTCatt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#4045 (comment)
这里往后还有几条……

琢磨了一下逻辑,现在似乎没有分两次加载(获取 MC 版本列表 → 获取特定版本下的全部版本列表)的必要,直接像 OptiFine 那样加载一次就行了,这样应该能大大加快加载,并且减少 API 消耗?

Plain Craft Launcher 2/Modules/Minecraft/ModDownload.vb Outdated Show resolved Hide resolved
@3gf8jv4dv
Copy link
Collaborator

官方源 1.20.1 列表会错误地将 47.1.82 放在第一位次(可能需要重构 Neo 相关排序)

47.1.82 seems to have been removed from NeoForged’s Maven for some reason. It is indeed available at https://maven.neoforged.net/api/maven/versions/releases/net/neoforged/forge, but not at https://maven.neoforged.net/api/maven/details/releases/net/neoforged/forge. There are also several 1.20.1 NeoForge versions with similar issues.

BMCLAPI 1.20.1 列表会意外地缺失 47.1.106(我完全不知道为什么会这样...)

https://bmclapi2.bangbang93.com/neoforge/meta/api/maven/details/releases/net/neoforged/forge can see 47.1.106, but https://bmclapi2.bangbang93.com/neoforge/list/1.20.1 not.

@Pigeon0v0
Copy link
Collaborator Author

上面这俩提议我包是搞不动的...

歇一阵子再来,或者直接龙猫改了罢 Orz

@Pigeon0v0
Copy link
Collaborator Author

看起来是在准备发版了,如果这次打算加上的话大概是得龙猫自己修一下了...

@LTCatt
Copy link
Member

LTCatt commented Jul 2, 2024

umm 还有哪些东西是没整完的,能帮忙列一下么,我到时候修了 =。=

@3gf8jv4dv
Copy link
Collaborator

@LTCatt

官方源 1.20.1 列表会错误地将 47.1.82 放在第一位次(可能需要重构 Neo 相关排序)
BMCLAPI 1.20.1 列表会意外地缺失 47.1.106(我完全不知道为什么会这样...)
左侧栏图标需要绘制

#4045 (comment)
#4045 (comment)
#4045 (comment)
#4045 (comment)
#4045 (comment)

@Pigeon0v0
Copy link
Collaborator Author

侧边栏图标;一次加载获取版本列表;1.20.1 的 NeoForge 版本列表有楼上的问题(主要是 47.1.82 和 BMCLAPI 源的 47.1.106 的问题)

@LTCatt
Copy link
Member

LTCatt commented Jul 5, 2024

umm 能否提供使用 NeoForge 的 MCBBS 整合包以便测试?
MCBBS 似了之后都不知道搁哪找 MCBBS NeoForge 整合包……

@Pigeon0v0
Copy link
Collaborator Author

NeoForge-20.4.237-HMCL.zip
NeoForge-20.4.237-BakaXL.zip

以上是我自己用其他启动器导出的...

要去找一个之前就有的包多半是有点吃力...

@LTCatt LTCatt merged commit 1f4d6e3 into Hex-Dragon:main Jul 5, 2024
5 checks passed
@LTCatt
Copy link
Member

LTCatt commented Jul 5, 2024

剩下的我自己做了 =。=

@LTCatt LTCatt added 完成 已被处理,将在下次更新之后生效 and removed 处理中 开发者正在调查或处理该项 🟥 高 优先度:高 labels Jul 5, 2024
@Pigeon0v0 Pigeon0v0 deleted the neoforge branch July 6, 2024 01:38
@3gf8jv4dv 3gf8jv4dv mentioned this pull request Oct 1, 2024
1 task
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
· 新功能 完成 已被处理,将在下次更新之后生效
Projects
None yet
Development

Successfully merging this pull request may close these issues.

支持 NeoForge 的下载和安装
10 participants