Skip to content

v1.2.1-Mod Hub / 模组中心

Choose a tag to compare

@inmny inmny released this 19 Oct 11:47

How to install
安装方法

What's Changed

Feature

  • Add Mod Hub with installed-mod management and an in-game Workshop browser by @KhromeHearts in #80; integrate both pages into one native tabbed window.
  • Add Workshop upload/update actions, category tags, AI content disclosure and configurable badges by @gmBlahaj in #76 and #78.
  • Support SELECT items in mod configuration.
  • Support applying HotfixableAttribute to a class by @MianReplicate in #73.
  • Improve mobile compatibility and on-screen PC input by @MelvinShwuaner in #77 and #81.
  • Add platform and game-version compilation symbols, including version-family symbols such as NML_GAME_VERSION_0_51 alongside exact-version symbols such as NML_GAME_VERSION_0_51_2.

BugFix

  • Fix startup errors caused by power-tab lookup on WorldBox 0.51.2 by @Skilvin in #72.
  • Fix Mod Hub reopening, scrollbar placement and category localization.
  • Fix browser status refreshes, stale mod declarations, missing Workshop URLs and thumbnail lifetimes, based on #82 by @KhromeHearts. Reject unsupported Workshop downloads.
  • Fix upload/update target IDs, cancellation and error handling. Reset the changelog when switching mods.
  • Fix compilation cache invalidation, parallel compilation writes, multiple-assembly loading and hot reload dependency isolation.
  • Fix mod localization after switching the game language.
  • Fix missing RepoUrl when constructing ModDeclare by @KKW557 in #64.

Adjustment

Mods using the removed or changed APIs need to be updated.

  • Rework mod configuration, dependency resolution and the hot reload pipeline.
  • Remove the old NeoModLoader.General.Event system and upload authentication APIs.
  • Replace NeoModLoader.utils.Builders with NeoModLoader.utils.AssetLinker. Replace NeoModLoader.utils.SerializedAssets.SerializableAsset<A> with NeoModLoader.utils.SerializableAsset.
  • Remove the built-in auto updater. Receive updates through a Steam Workshop subscription or replace the files manually.
  • Use .NET SDK 10 for local and CI builds. Keep the runtime target at .NET Framework 4.8.

Optimization

  • Cache Workshop item states and avoid duplicate list refreshes when switching tabs or completing downloads.
  • Compile independent mods in parallel and respect ignored folders and .gitignore when searching mod files.

更新内容

新特性

  • 新增 Mod Hub,支持管理已安装模组和在游戏内浏览创意工坊;使用原版标签页整合两个页面。由 @KhromeHearts 在 #80 贡献。
  • 新增工坊上传/更新入口、分类标签、AI 内容披露和可配置徽章。由 @gmBlahaj 在 #76、#78 贡献。
  • 支持 SELECT 类型的模组配置项。
  • 支持在类上应用 HotfixableAttribute。由 @MianReplicate 在 #73 贡献。
  • 改进移动端兼容性和屏幕模拟 PC 按键。由 @MelvinShwuaner 在 #77、#81 贡献。
  • 新增平台和游戏版本预处理宏,同时提供系列版本宏(如 NML_GAME_VERSION_0_51)和精确版本宏(如 NML_GAME_VERSION_0_51_2)。

问题修复

  • 修复 WorldBox 0.51.2 中查找技能页导致的启动错误。由 @Skilvin 在 #72 贡献。
  • 修复 Mod Hub 重新打开、滚动条位置和分类本地化问题。
  • 基于 @KhromeHearts 的 #82,修复浏览器状态刷新、模组声明引用失效、工坊链接丢失和缩略图回收问题;拒绝不支持的工坊下载内容。
  • 修复上传/更新目标 ID、取消和错误处理;切换模组时清空变更说明。
  • 修复编译缓存失效判定、并行编译写入、多程序集加载和热重载依赖隔离问题。
  • 修复切换游戏语言后的模组本地化刷新。
  • 修复构造 ModDeclare 时遗漏 RepoUrl 的问题。由 @KKW557 在 #64 贡献。

调整

使用已移除或变更 API 的模组需要适配更新。

  • 重构模组配置、依赖解析和热重载流程。
  • 移除旧的 NeoModLoader.General.Event 事件系统和上传身份验证 API。
  • 使用 NeoModLoader.utils.AssetLinker 替代 NeoModLoader.utils.Builders;将 NeoModLoader.utils.SerializedAssets.SerializableAsset<A> 改为 NeoModLoader.utils.SerializableAsset。
  • 移除内置自动更新模块,改为通过 Steam 工坊订阅或手动替换文件获取更新。
  • 本地和 CI 构建使用 .NET SDK 10,运行时目标仍为 .NET Framework 4.8。

优化

  • 缓存工坊条目状态,减少切换标签和下载完成时的重复列表刷新。
  • 并行编译无依赖关系的模组,搜索模组文件时遵循忽略目录和 .gitignore。

New Contributors / 新增贡献者

Contributors / 贡献者

Thanks to everyone who contributed to this release. / 感谢参与本次版本开发的所有贡献者。

@gmBlahaj, @inmny, @Keymasterer44, @KhromeHearts, @KKW557, @MelvinShwuaner, @MianReplicate, @Skilvin

Full Changelog / 完整变更记录: 1.2.0.1...1.2.1