COWMODSКаталог модов
Sparkle's Morpher

ВЕРСИИ (101)

release

Sparkle Morpher 2.3.1 - NeoForge 26.3

2.3.1
25 окт. 2026 г.25Minecraft: 26.3neoforge
Скачать
Что нового
# Sparkle Morpher 2.3.1 ## English This patch release completes localization across the redesigned interface. - Completed translations for the model browser, Resource Station, fake appearance manager, roulette screens, settings, and Cloud player status screens in all 15 supported languages. - Localized remaining labels, filters, empty states, preview text, table columns, and Cloud identity and sync status messages. - Fixed platform-specific localization helpers and screen wiring so the translated UI builds consistently across Fabric and NeoForge. - Updated the mod version to 2.3.1. Verified with clean native and CurseForge builds for all eight supported Minecraft/loader variants. Translation audit: 120 locale catalogs and 1,360 keys. Automated tests were skipped. ## 简体中文 本补丁版本补齐了新版界面的本地化内容。 - 完成模型浏览器、资源站、假人外观管理、轮盘界面、设置界面和云端玩家状态界面的 15 种语言翻译。 - 补齐剩余标签、筛选项、空状态提示、预览文本、表格列名,以及云端身份和同步状态提示。 - 修复 Fabric 与 NeoForge 平台的本地化辅助代码和界面接线,确保各平台能够一致构建。 - 模组版本更新至 2.3.1。 已对全部八种 Minecraft/加载器组合完成原生版和 CurseForge 版干净构建。翻译审计覆盖 120 个语言文件和 1,360 个键。未运行自动化测试。
release

Sparkle Morpher 2.3.1 - NeoForge 26.2

2.3.1
25 окт. 2026 г.2Minecraft: 26.2neoforge
Скачать
Что нового
# Sparkle Morpher 2.3.1 ## English This patch release completes localization across the redesigned interface. - Completed translations for the model browser, Resource Station, fake appearance manager, roulette screens, settings, and Cloud player status screens in all 15 supported languages. - Localized remaining labels, filters, empty states, preview text, table columns, and Cloud identity and sync status messages. - Fixed platform-specific localization helpers and screen wiring so the translated UI builds consistently across Fabric and NeoForge. - Updated the mod version to 2.3.1. Verified with clean native and CurseForge builds for all eight supported Minecraft/loader variants. Translation audit: 120 locale catalogs and 1,360 keys. Automated tests were skipped. ## 简体中文 本补丁版本补齐了新版界面的本地化内容。 - 完成模型浏览器、资源站、假人外观管理、轮盘界面、设置界面和云端玩家状态界面的 15 种语言翻译。 - 补齐剩余标签、筛选项、空状态提示、预览文本、表格列名,以及云端身份和同步状态提示。 - 修复 Fabric 与 NeoForge 平台的本地化辅助代码和界面接线,确保各平台能够一致构建。 - 模组版本更新至 2.3.1。 已对全部八种 Minecraft/加载器组合完成原生版和 CurseForge 版干净构建。翻译审计覆盖 120 个语言文件和 1,360 个键。未运行自动化测试。
release

Sparkle Morpher 2.3.1 - NeoForge 26.1.x

2.3.1
25 окт. 2026 г.5Minecraft: 26.1.2neoforge
Скачать
Что нового
# Sparkle Morpher 2.3.1 ## English This patch release completes localization across the redesigned interface. - Completed translations for the model browser, Resource Station, fake appearance manager, roulette screens, settings, and Cloud player status screens in all 15 supported languages. - Localized remaining labels, filters, empty states, preview text, table columns, and Cloud identity and sync status messages. - Fixed platform-specific localization helpers and screen wiring so the translated UI builds consistently across Fabric and NeoForge. - Updated the mod version to 2.3.1. Verified with clean native and CurseForge builds for all eight supported Minecraft/loader variants. Translation audit: 120 locale catalogs and 1,360 keys. Automated tests were skipped. ## 简体中文 本补丁版本补齐了新版界面的本地化内容。 - 完成模型浏览器、资源站、假人外观管理、轮盘界面、设置界面和云端玩家状态界面的 15 种语言翻译。 - 补齐剩余标签、筛选项、空状态提示、预览文本、表格列名,以及云端身份和同步状态提示。 - 修复 Fabric 与 NeoForge 平台的本地化辅助代码和界面接线,确保各平台能够一致构建。 - 模组版本更新至 2.3.1。 已对全部八种 Minecraft/加载器组合完成原生版和 CurseForge 版干净构建。翻译审计覆盖 120 个语言文件和 1,360 个键。未运行自动化测试。
release

Sparkle Morpher 2.3.1 - NeoForge 1.21.1

2.3.1
25 окт. 2026 г.18Minecraft: 1.21.1neoforge
Скачать
Что нового
# Sparkle Morpher 2.3.1 ## English This patch release completes localization across the redesigned interface. - Completed translations for the model browser, Resource Station, fake appearance manager, roulette screens, settings, and Cloud player status screens in all 15 supported languages. - Localized remaining labels, filters, empty states, preview text, table columns, and Cloud identity and sync status messages. - Fixed platform-specific localization helpers and screen wiring so the translated UI builds consistently across Fabric and NeoForge. - Updated the mod version to 2.3.1. Verified with clean native and CurseForge builds for all eight supported Minecraft/loader variants. Translation audit: 120 locale catalogs and 1,360 keys. Automated tests were skipped. ## 简体中文 本补丁版本补齐了新版界面的本地化内容。 - 完成模型浏览器、资源站、假人外观管理、轮盘界面、设置界面和云端玩家状态界面的 15 种语言翻译。 - 补齐剩余标签、筛选项、空状态提示、预览文本、表格列名,以及云端身份和同步状态提示。 - 修复 Fabric 与 NeoForge 平台的本地化辅助代码和界面接线,确保各平台能够一致构建。 - 模组版本更新至 2.3.1。 已对全部八种 Minecraft/加载器组合完成原生版和 CurseForge 版干净构建。翻译审计覆盖 120 个语言文件和 1,360 个键。未运行自动化测试。
release

Sparkle Morpher 2.3.1 - Fabric 26.3

2.3.1
25 окт. 2026 г.51Minecraft: 26.3fabric
Скачать
Что нового
# Sparkle Morpher 2.3.1 ## English This patch release completes localization across the redesigned interface. - Completed translations for the model browser, Resource Station, fake appearance manager, roulette screens, settings, and Cloud player status screens in all 15 supported languages. - Localized remaining labels, filters, empty states, preview text, table columns, and Cloud identity and sync status messages. - Fixed platform-specific localization helpers and screen wiring so the translated UI builds consistently across Fabric and NeoForge. - Updated the mod version to 2.3.1. Verified with clean native and CurseForge builds for all eight supported Minecraft/loader variants. Translation audit: 120 locale catalogs and 1,360 keys. Automated tests were skipped. ## 简体中文 本补丁版本补齐了新版界面的本地化内容。 - 完成模型浏览器、资源站、假人外观管理、轮盘界面、设置界面和云端玩家状态界面的 15 种语言翻译。 - 补齐剩余标签、筛选项、空状态提示、预览文本、表格列名,以及云端身份和同步状态提示。 - 修复 Fabric 与 NeoForge 平台的本地化辅助代码和界面接线,确保各平台能够一致构建。 - 模组版本更新至 2.3.1。 已对全部八种 Minecraft/加载器组合完成原生版和 CurseForge 版干净构建。翻译审计覆盖 120 个语言文件和 1,360 个键。未运行自动化测试。
release

Sparkle Morpher 2.3.1 - Fabric 26.2

2.3.1
25 окт. 2026 г.30Minecraft: 26.2fabric
Скачать
Что нового
# Sparkle Morpher 2.3.1 ## English This patch release completes localization across the redesigned interface. - Completed translations for the model browser, Resource Station, fake appearance manager, roulette screens, settings, and Cloud player status screens in all 15 supported languages. - Localized remaining labels, filters, empty states, preview text, table columns, and Cloud identity and sync status messages. - Fixed platform-specific localization helpers and screen wiring so the translated UI builds consistently across Fabric and NeoForge. - Updated the mod version to 2.3.1. Verified with clean native and CurseForge builds for all eight supported Minecraft/loader variants. Translation audit: 120 locale catalogs and 1,360 keys. Automated tests were skipped. ## 简体中文 本补丁版本补齐了新版界面的本地化内容。 - 完成模型浏览器、资源站、假人外观管理、轮盘界面、设置界面和云端玩家状态界面的 15 种语言翻译。 - 补齐剩余标签、筛选项、空状态提示、预览文本、表格列名,以及云端身份和同步状态提示。 - 修复 Fabric 与 NeoForge 平台的本地化辅助代码和界面接线,确保各平台能够一致构建。 - 模组版本更新至 2.3.1。 已对全部八种 Minecraft/加载器组合完成原生版和 CurseForge 版干净构建。翻译审计覆盖 120 个语言文件和 1,360 个键。未运行自动化测试。
release

Sparkle Morpher 2.3.1 - Fabric 26.1.x

2.3.1
25 окт. 2026 г.16Minecraft: 26.1.2fabric
Скачать
Что нового
# Sparkle Morpher 2.3.1 ## English This patch release completes localization across the redesigned interface. - Completed translations for the model browser, Resource Station, fake appearance manager, roulette screens, settings, and Cloud player status screens in all 15 supported languages. - Localized remaining labels, filters, empty states, preview text, table columns, and Cloud identity and sync status messages. - Fixed platform-specific localization helpers and screen wiring so the translated UI builds consistently across Fabric and NeoForge. - Updated the mod version to 2.3.1. Verified with clean native and CurseForge builds for all eight supported Minecraft/loader variants. Translation audit: 120 locale catalogs and 1,360 keys. Automated tests were skipped. ## 简体中文 本补丁版本补齐了新版界面的本地化内容。 - 完成模型浏览器、资源站、假人外观管理、轮盘界面、设置界面和云端玩家状态界面的 15 种语言翻译。 - 补齐剩余标签、筛选项、空状态提示、预览文本、表格列名,以及云端身份和同步状态提示。 - 修复 Fabric 与 NeoForge 平台的本地化辅助代码和界面接线,确保各平台能够一致构建。 - 模组版本更新至 2.3.1。 已对全部八种 Minecraft/加载器组合完成原生版和 CurseForge 版干净构建。翻译审计覆盖 120 个语言文件和 1,360 个键。未运行自动化测试。
release

Sparkle Morpher 2.3.1 - Fabric 1.21.1

2.3.1
25 окт. 2026 г.16Minecraft: 1.21.1fabric
Скачать
Что нового
# Sparkle Morpher 2.3.1 ## English This patch release completes localization across the redesigned interface. - Completed translations for the model browser, Resource Station, fake appearance manager, roulette screens, settings, and Cloud player status screens in all 15 supported languages. - Localized remaining labels, filters, empty states, preview text, table columns, and Cloud identity and sync status messages. - Fixed platform-specific localization helpers and screen wiring so the translated UI builds consistently across Fabric and NeoForge. - Updated the mod version to 2.3.1. Verified with clean native and CurseForge builds for all eight supported Minecraft/loader variants. Translation audit: 120 locale catalogs and 1,360 keys. Automated tests were skipped. ## 简体中文 本补丁版本补齐了新版界面的本地化内容。 - 完成模型浏览器、资源站、假人外观管理、轮盘界面、设置界面和云端玩家状态界面的 15 种语言翻译。 - 补齐剩余标签、筛选项、空状态提示、预览文本、表格列名,以及云端身份和同步状态提示。 - 修复 Fabric 与 NeoForge 平台的本地化辅助代码和界面接线,确保各平台能够一致构建。 - 模组版本更新至 2.3.1。 已对全部八种 Minecraft/加载器组合完成原生版和 CurseForge 版干净构建。翻译审计覆盖 120 个语言文件和 1,360 个键。未运行自动化测试。
release

Sparkle Morpher 2.3.0 - NeoForge 26.3

2.3.0
25 окт. 2026 г.22Minecraft: 26.3neoforge
Скачать
Что нового
# Sparkle Morpher 2.3.0 — Release Notes Release date: 2026-10-25 ## Highlights - **Major UI overhaul and upgrade:** the model browser, roulette and settings screens have been refreshed, with improved layouts for different resolutions and GUI scales. The resource station now supports Mainland China and Global endpoints, compact queue and source controls, and a cleaner catalogue layout. - **Safer, more useful model previews:** resource cards now share the standard model card layout. The current page can show animated 3D previews in memory, with bounded download and rendering budgets; paging away cancels work and releases preview models. Covers remain as a fallback. - **Reliable downloads and cancellation:** downloads are limited to explicitly selected models. Individual and queued tasks can be cancelled by task identity, retried safely, and interrupted during HTTP reads or mirror checks without stale callbacks advancing the queue. - **Cloud model memory and lifecycle improvements:** model assemblies and source bytes are reused in memory where authorized, with bounded retention, cancellation on world/account changes, and protection against stale responses. Cloud preview publication stays separate from public resource imports. - **Projectile and peer appearance updates:** custom projectile models retain their ownership across lifecycle changes; peer appearance synchronization now covers maid models and supports an explicit sharing preference. - **Model and UI fixes:** saved per-model material and Molang settings restore reliably, responsive layouts and fake-player roulette persistence are improved, local maid selections survive sync callbacks, and YSM animation `blend_weight` is mapped correctly. - **Compatibility and localization:** refreshed translations and status text across 15 languages, updated Cloud endpoint configuration, and rendering compatibility fixes for Icy's Better Horses and first-person integrations. ## Supported builds Fabric and NeoForge are provided for Minecraft 1.21.1, 26.1.2, 26.2, and 26.3 (eight loader/version variants). ## Verification All eight variants passed clean native and CurseForge builds. The recorded suite totals 9,014 tests, with 0 failures and 0 errors; 49 existing tests were skipped. The 368 resource-station regression cases passed. No final in-game smoke test was performed. --- # Sparkle Morpher 2.3.0 — 发布说明 发布日期:2026-10-25 ## 更新内容 - **界面大改版与全面升级:** 重制模型选择、轮盘和设置界面,并改进不同分辨率与 GUI 缩放下的布局。资源站现支持大陆/全球线路切换,队列与来源管理改为紧凑图标入口,目录布局也经过整理。 - **模型预览更直观:** 资源站和本地模型统一使用标准卡片布局。当前页支持内存中的动画 3D 预览,并限制下载与渲染预算;翻页时取消任务并释放预览模型,作者封面仍可作为回退。 - **下载与取消更可靠:** 只下载明确选中的模型;支持按任务身份取消、重试,并可中断 HTTP 读取和镜像测速,避免旧回调推进队列。 - **Cloud 内存与生命周期改进:** 在权限校验下复用内存中的模型装配和源数据,限制驻留规模;世界或账号变化时取消旧任务,拒绝过期响应。Cloud 预览来源与公开资源导入相互隔离。 - **投掷物与联机外观更新:** 自定义投掷物模型生命周期更稳定;Peer 外观同步支持女仆模型,并加入明确的分享偏好设置。 - **模型和界面修复:** 按模型恢复材质与 Molang 设置,改进响应式布局和假人轮盘持久化;本地女仆选择不再被同步回调覆盖;修正 YSM 动画 `blend_weight` 映射。 - **兼容性与本地化:** 更新 15 种语言的翻译和状态文案、Cloud 服务地址,并修复 Icy's Better Horses 与第一人称渲染兼容问题。 ## 支持版本 Fabric 与 NeoForge 均提供 Minecraft 1.21.1、26.1.2、26.2 和 26.3 构建,共八种加载器/游戏版本组合。 ## 验证 八种构建均通过 clean 原生版与 CurseForge 版构建。记录的测试共 9,014 项,0 失败、0 错误,49 项既有跳过;资源站新增的 368 项回归全部通过。最终版本未进行游戏内烟测。
release

Sparkle Morpher 2.3.0 - NeoForge 26.2

2.3.0
25 окт. 2026 г.6Minecraft: 26.2neoforge
Скачать
Что нового
# Sparkle Morpher 2.3.0 — Release Notes Release date: 2026-10-25 ## Highlights - **Major UI overhaul and upgrade:** the model browser, roulette and settings screens have been refreshed, with improved layouts for different resolutions and GUI scales. The resource station now supports Mainland China and Global endpoints, compact queue and source controls, and a cleaner catalogue layout. - **Safer, more useful model previews:** resource cards now share the standard model card layout. The current page can show animated 3D previews in memory, with bounded download and rendering budgets; paging away cancels work and releases preview models. Covers remain as a fallback. - **Reliable downloads and cancellation:** downloads are limited to explicitly selected models. Individual and queued tasks can be cancelled by task identity, retried safely, and interrupted during HTTP reads or mirror checks without stale callbacks advancing the queue. - **Cloud model memory and lifecycle improvements:** model assemblies and source bytes are reused in memory where authorized, with bounded retention, cancellation on world/account changes, and protection against stale responses. Cloud preview publication stays separate from public resource imports. - **Projectile and peer appearance updates:** custom projectile models retain their ownership across lifecycle changes; peer appearance synchronization now covers maid models and supports an explicit sharing preference. - **Model and UI fixes:** saved per-model material and Molang settings restore reliably, responsive layouts and fake-player roulette persistence are improved, local maid selections survive sync callbacks, and YSM animation `blend_weight` is mapped correctly. - **Compatibility and localization:** refreshed translations and status text across 15 languages, updated Cloud endpoint configuration, and rendering compatibility fixes for Icy's Better Horses and first-person integrations. ## Supported builds Fabric and NeoForge are provided for Minecraft 1.21.1, 26.1.2, 26.2, and 26.3 (eight loader/version variants). ## Verification All eight variants passed clean native and CurseForge builds. The recorded suite totals 9,014 tests, with 0 failures and 0 errors; 49 existing tests were skipped. The 368 resource-station regression cases passed. No final in-game smoke test was performed. --- # Sparkle Morpher 2.3.0 — 发布说明 发布日期:2026-10-25 ## 更新内容 - **界面大改版与全面升级:** 重制模型选择、轮盘和设置界面,并改进不同分辨率与 GUI 缩放下的布局。资源站现支持大陆/全球线路切换,队列与来源管理改为紧凑图标入口,目录布局也经过整理。 - **模型预览更直观:** 资源站和本地模型统一使用标准卡片布局。当前页支持内存中的动画 3D 预览,并限制下载与渲染预算;翻页时取消任务并释放预览模型,作者封面仍可作为回退。 - **下载与取消更可靠:** 只下载明确选中的模型;支持按任务身份取消、重试,并可中断 HTTP 读取和镜像测速,避免旧回调推进队列。 - **Cloud 内存与生命周期改进:** 在权限校验下复用内存中的模型装配和源数据,限制驻留规模;世界或账号变化时取消旧任务,拒绝过期响应。Cloud 预览来源与公开资源导入相互隔离。 - **投掷物与联机外观更新:** 自定义投掷物模型生命周期更稳定;Peer 外观同步支持女仆模型,并加入明确的分享偏好设置。 - **模型和界面修复:** 按模型恢复材质与 Molang 设置,改进响应式布局和假人轮盘持久化;本地女仆选择不再被同步回调覆盖;修正 YSM 动画 `blend_weight` 映射。 - **兼容性与本地化:** 更新 15 种语言的翻译和状态文案、Cloud 服务地址,并修复 Icy's Better Horses 与第一人称渲染兼容问题。 ## 支持版本 Fabric 与 NeoForge 均提供 Minecraft 1.21.1、26.1.2、26.2 和 26.3 构建,共八种加载器/游戏版本组合。 ## 验证 八种构建均通过 clean 原生版与 CurseForge 版构建。记录的测试共 9,014 项,0 失败、0 错误,49 项既有跳过;资源站新增的 368 项回归全部通过。最终版本未进行游戏内烟测。
release

Sparkle Morpher 2.3.0 - NeoForge 26.1.x

2.3.0
25 окт. 2026 г.8Minecraft: 26.1.2neoforge
Скачать
Что нового
# Sparkle Morpher 2.3.0 — Release Notes Release date: 2026-10-25 ## Highlights - **Major UI overhaul and upgrade:** the model browser, roulette and settings screens have been refreshed, with improved layouts for different resolutions and GUI scales. The resource station now supports Mainland China and Global endpoints, compact queue and source controls, and a cleaner catalogue layout. - **Safer, more useful model previews:** resource cards now share the standard model card layout. The current page can show animated 3D previews in memory, with bounded download and rendering budgets; paging away cancels work and releases preview models. Covers remain as a fallback. - **Reliable downloads and cancellation:** downloads are limited to explicitly selected models. Individual and queued tasks can be cancelled by task identity, retried safely, and interrupted during HTTP reads or mirror checks without stale callbacks advancing the queue. - **Cloud model memory and lifecycle improvements:** model assemblies and source bytes are reused in memory where authorized, with bounded retention, cancellation on world/account changes, and protection against stale responses. Cloud preview publication stays separate from public resource imports. - **Projectile and peer appearance updates:** custom projectile models retain their ownership across lifecycle changes; peer appearance synchronization now covers maid models and supports an explicit sharing preference. - **Model and UI fixes:** saved per-model material and Molang settings restore reliably, responsive layouts and fake-player roulette persistence are improved, local maid selections survive sync callbacks, and YSM animation `blend_weight` is mapped correctly. - **Compatibility and localization:** refreshed translations and status text across 15 languages, updated Cloud endpoint configuration, and rendering compatibility fixes for Icy's Better Horses and first-person integrations. ## Supported builds Fabric and NeoForge are provided for Minecraft 1.21.1, 26.1.2, 26.2, and 26.3 (eight loader/version variants). ## Verification All eight variants passed clean native and CurseForge builds. The recorded suite totals 9,014 tests, with 0 failures and 0 errors; 49 existing tests were skipped. The 368 resource-station regression cases passed. No final in-game smoke test was performed. --- # Sparkle Morpher 2.3.0 — 发布说明 发布日期:2026-10-25 ## 更新内容 - **界面大改版与全面升级:** 重制模型选择、轮盘和设置界面,并改进不同分辨率与 GUI 缩放下的布局。资源站现支持大陆/全球线路切换,队列与来源管理改为紧凑图标入口,目录布局也经过整理。 - **模型预览更直观:** 资源站和本地模型统一使用标准卡片布局。当前页支持内存中的动画 3D 预览,并限制下载与渲染预算;翻页时取消任务并释放预览模型,作者封面仍可作为回退。 - **下载与取消更可靠:** 只下载明确选中的模型;支持按任务身份取消、重试,并可中断 HTTP 读取和镜像测速,避免旧回调推进队列。 - **Cloud 内存与生命周期改进:** 在权限校验下复用内存中的模型装配和源数据,限制驻留规模;世界或账号变化时取消旧任务,拒绝过期响应。Cloud 预览来源与公开资源导入相互隔离。 - **投掷物与联机外观更新:** 自定义投掷物模型生命周期更稳定;Peer 外观同步支持女仆模型,并加入明确的分享偏好设置。 - **模型和界面修复:** 按模型恢复材质与 Molang 设置,改进响应式布局和假人轮盘持久化;本地女仆选择不再被同步回调覆盖;修正 YSM 动画 `blend_weight` 映射。 - **兼容性与本地化:** 更新 15 种语言的翻译和状态文案、Cloud 服务地址,并修复 Icy's Better Horses 与第一人称渲染兼容问题。 ## 支持版本 Fabric 与 NeoForge 均提供 Minecraft 1.21.1、26.1.2、26.2 和 26.3 构建,共八种加载器/游戏版本组合。 ## 验证 八种构建均通过 clean 原生版与 CurseForge 版构建。记录的测试共 9,014 项,0 失败、0 错误,49 项既有跳过;资源站新增的 368 项回归全部通过。最终版本未进行游戏内烟测。
release

Sparkle Morpher 2.3.0 - NeoForge 1.21.1

2.3.0
25 окт. 2026 г.3Minecraft: 1.21.1neoforge
Скачать
Что нового
# Sparkle Morpher 2.3.0 — Release Notes Release date: 2026-10-25 ## Highlights - **Major UI overhaul and upgrade:** the model browser, roulette and settings screens have been refreshed, with improved layouts for different resolutions and GUI scales. The resource station now supports Mainland China and Global endpoints, compact queue and source controls, and a cleaner catalogue layout. - **Safer, more useful model previews:** resource cards now share the standard model card layout. The current page can show animated 3D previews in memory, with bounded download and rendering budgets; paging away cancels work and releases preview models. Covers remain as a fallback. - **Reliable downloads and cancellation:** downloads are limited to explicitly selected models. Individual and queued tasks can be cancelled by task identity, retried safely, and interrupted during HTTP reads or mirror checks without stale callbacks advancing the queue. - **Cloud model memory and lifecycle improvements:** model assemblies and source bytes are reused in memory where authorized, with bounded retention, cancellation on world/account changes, and protection against stale responses. Cloud preview publication stays separate from public resource imports. - **Projectile and peer appearance updates:** custom projectile models retain their ownership across lifecycle changes; peer appearance synchronization now covers maid models and supports an explicit sharing preference. - **Model and UI fixes:** saved per-model material and Molang settings restore reliably, responsive layouts and fake-player roulette persistence are improved, local maid selections survive sync callbacks, and YSM animation `blend_weight` is mapped correctly. - **Compatibility and localization:** refreshed translations and status text across 15 languages, updated Cloud endpoint configuration, and rendering compatibility fixes for Icy's Better Horses and first-person integrations. ## Supported builds Fabric and NeoForge are provided for Minecraft 1.21.1, 26.1.2, 26.2, and 26.3 (eight loader/version variants). ## Verification All eight variants passed clean native and CurseForge builds. The recorded suite totals 9,014 tests, with 0 failures and 0 errors; 49 existing tests were skipped. The 368 resource-station regression cases passed. No final in-game smoke test was performed. --- # Sparkle Morpher 2.3.0 — 发布说明 发布日期:2026-10-25 ## 更新内容 - **界面大改版与全面升级:** 重制模型选择、轮盘和设置界面,并改进不同分辨率与 GUI 缩放下的布局。资源站现支持大陆/全球线路切换,队列与来源管理改为紧凑图标入口,目录布局也经过整理。 - **模型预览更直观:** 资源站和本地模型统一使用标准卡片布局。当前页支持内存中的动画 3D 预览,并限制下载与渲染预算;翻页时取消任务并释放预览模型,作者封面仍可作为回退。 - **下载与取消更可靠:** 只下载明确选中的模型;支持按任务身份取消、重试,并可中断 HTTP 读取和镜像测速,避免旧回调推进队列。 - **Cloud 内存与生命周期改进:** 在权限校验下复用内存中的模型装配和源数据,限制驻留规模;世界或账号变化时取消旧任务,拒绝过期响应。Cloud 预览来源与公开资源导入相互隔离。 - **投掷物与联机外观更新:** 自定义投掷物模型生命周期更稳定;Peer 外观同步支持女仆模型,并加入明确的分享偏好设置。 - **模型和界面修复:** 按模型恢复材质与 Molang 设置,改进响应式布局和假人轮盘持久化;本地女仆选择不再被同步回调覆盖;修正 YSM 动画 `blend_weight` 映射。 - **兼容性与本地化:** 更新 15 种语言的翻译和状态文案、Cloud 服务地址,并修复 Icy's Better Horses 与第一人称渲染兼容问题。 ## 支持版本 Fabric 与 NeoForge 均提供 Minecraft 1.21.1、26.1.2、26.2 和 26.3 构建,共八种加载器/游戏版本组合。 ## 验证 八种构建均通过 clean 原生版与 CurseForge 版构建。记录的测试共 9,014 项,0 失败、0 错误,49 项既有跳过;资源站新增的 368 项回归全部通过。最终版本未进行游戏内烟测。
release

Sparkle Morpher 2.3.0 - Fabric 26.3

2.3.0
25 окт. 2026 г.17Minecraft: 26.3fabric
Скачать
Что нового
# Sparkle Morpher 2.3.0 — Release Notes Release date: 2026-10-25 ## Highlights - **Major UI overhaul and upgrade:** the model browser, roulette and settings screens have been refreshed, with improved layouts for different resolutions and GUI scales. The resource station now supports Mainland China and Global endpoints, compact queue and source controls, and a cleaner catalogue layout. - **Safer, more useful model previews:** resource cards now share the standard model card layout. The current page can show animated 3D previews in memory, with bounded download and rendering budgets; paging away cancels work and releases preview models. Covers remain as a fallback. - **Reliable downloads and cancellation:** downloads are limited to explicitly selected models. Individual and queued tasks can be cancelled by task identity, retried safely, and interrupted during HTTP reads or mirror checks without stale callbacks advancing the queue. - **Cloud model memory and lifecycle improvements:** model assemblies and source bytes are reused in memory where authorized, with bounded retention, cancellation on world/account changes, and protection against stale responses. Cloud preview publication stays separate from public resource imports. - **Projectile and peer appearance updates:** custom projectile models retain their ownership across lifecycle changes; peer appearance synchronization now covers maid models and supports an explicit sharing preference. - **Model and UI fixes:** saved per-model material and Molang settings restore reliably, responsive layouts and fake-player roulette persistence are improved, local maid selections survive sync callbacks, and YSM animation `blend_weight` is mapped correctly. - **Compatibility and localization:** refreshed translations and status text across 15 languages, updated Cloud endpoint configuration, and rendering compatibility fixes for Icy's Better Horses and first-person integrations. ## Supported builds Fabric and NeoForge are provided for Minecraft 1.21.1, 26.1.2, 26.2, and 26.3 (eight loader/version variants). ## Verification All eight variants passed clean native and CurseForge builds. The recorded suite totals 9,014 tests, with 0 failures and 0 errors; 49 existing tests were skipped. The 368 resource-station regression cases passed. No final in-game smoke test was performed. --- # Sparkle Morpher 2.3.0 — 发布说明 发布日期:2026-10-25 ## 更新内容 - **界面大改版与全面升级:** 重制模型选择、轮盘和设置界面,并改进不同分辨率与 GUI 缩放下的布局。资源站现支持大陆/全球线路切换,队列与来源管理改为紧凑图标入口,目录布局也经过整理。 - **模型预览更直观:** 资源站和本地模型统一使用标准卡片布局。当前页支持内存中的动画 3D 预览,并限制下载与渲染预算;翻页时取消任务并释放预览模型,作者封面仍可作为回退。 - **下载与取消更可靠:** 只下载明确选中的模型;支持按任务身份取消、重试,并可中断 HTTP 读取和镜像测速,避免旧回调推进队列。 - **Cloud 内存与生命周期改进:** 在权限校验下复用内存中的模型装配和源数据,限制驻留规模;世界或账号变化时取消旧任务,拒绝过期响应。Cloud 预览来源与公开资源导入相互隔离。 - **投掷物与联机外观更新:** 自定义投掷物模型生命周期更稳定;Peer 外观同步支持女仆模型,并加入明确的分享偏好设置。 - **模型和界面修复:** 按模型恢复材质与 Molang 设置,改进响应式布局和假人轮盘持久化;本地女仆选择不再被同步回调覆盖;修正 YSM 动画 `blend_weight` 映射。 - **兼容性与本地化:** 更新 15 种语言的翻译和状态文案、Cloud 服务地址,并修复 Icy's Better Horses 与第一人称渲染兼容问题。 ## 支持版本 Fabric 与 NeoForge 均提供 Minecraft 1.21.1、26.1.2、26.2 和 26.3 构建,共八种加载器/游戏版本组合。 ## 验证 八种构建均通过 clean 原生版与 CurseForge 版构建。记录的测试共 9,014 项,0 失败、0 错误,49 项既有跳过;资源站新增的 368 项回归全部通过。最终版本未进行游戏内烟测。
release

Sparkle Morpher 2.3.0 - Fabric 26.2

2.3.0
25 окт. 2026 г.11Minecraft: 26.2fabric
Скачать
Что нового
# Sparkle Morpher 2.3.0 — Release Notes Release date: 2026-10-25 ## Highlights - **Major UI overhaul and upgrade:** the model browser, roulette and settings screens have been refreshed, with improved layouts for different resolutions and GUI scales. The resource station now supports Mainland China and Global endpoints, compact queue and source controls, and a cleaner catalogue layout. - **Safer, more useful model previews:** resource cards now share the standard model card layout. The current page can show animated 3D previews in memory, with bounded download and rendering budgets; paging away cancels work and releases preview models. Covers remain as a fallback. - **Reliable downloads and cancellation:** downloads are limited to explicitly selected models. Individual and queued tasks can be cancelled by task identity, retried safely, and interrupted during HTTP reads or mirror checks without stale callbacks advancing the queue. - **Cloud model memory and lifecycle improvements:** model assemblies and source bytes are reused in memory where authorized, with bounded retention, cancellation on world/account changes, and protection against stale responses. Cloud preview publication stays separate from public resource imports. - **Projectile and peer appearance updates:** custom projectile models retain their ownership across lifecycle changes; peer appearance synchronization now covers maid models and supports an explicit sharing preference. - **Model and UI fixes:** saved per-model material and Molang settings restore reliably, responsive layouts and fake-player roulette persistence are improved, local maid selections survive sync callbacks, and YSM animation `blend_weight` is mapped correctly. - **Compatibility and localization:** refreshed translations and status text across 15 languages, updated Cloud endpoint configuration, and rendering compatibility fixes for Icy's Better Horses and first-person integrations. ## Supported builds Fabric and NeoForge are provided for Minecraft 1.21.1, 26.1.2, 26.2, and 26.3 (eight loader/version variants). ## Verification All eight variants passed clean native and CurseForge builds. The recorded suite totals 9,014 tests, with 0 failures and 0 errors; 49 existing tests were skipped. The 368 resource-station regression cases passed. No final in-game smoke test was performed. --- # Sparkle Morpher 2.3.0 — 发布说明 发布日期:2026-10-25 ## 更新内容 - **界面大改版与全面升级:** 重制模型选择、轮盘和设置界面,并改进不同分辨率与 GUI 缩放下的布局。资源站现支持大陆/全球线路切换,队列与来源管理改为紧凑图标入口,目录布局也经过整理。 - **模型预览更直观:** 资源站和本地模型统一使用标准卡片布局。当前页支持内存中的动画 3D 预览,并限制下载与渲染预算;翻页时取消任务并释放预览模型,作者封面仍可作为回退。 - **下载与取消更可靠:** 只下载明确选中的模型;支持按任务身份取消、重试,并可中断 HTTP 读取和镜像测速,避免旧回调推进队列。 - **Cloud 内存与生命周期改进:** 在权限校验下复用内存中的模型装配和源数据,限制驻留规模;世界或账号变化时取消旧任务,拒绝过期响应。Cloud 预览来源与公开资源导入相互隔离。 - **投掷物与联机外观更新:** 自定义投掷物模型生命周期更稳定;Peer 外观同步支持女仆模型,并加入明确的分享偏好设置。 - **模型和界面修复:** 按模型恢复材质与 Molang 设置,改进响应式布局和假人轮盘持久化;本地女仆选择不再被同步回调覆盖;修正 YSM 动画 `blend_weight` 映射。 - **兼容性与本地化:** 更新 15 种语言的翻译和状态文案、Cloud 服务地址,并修复 Icy's Better Horses 与第一人称渲染兼容问题。 ## 支持版本 Fabric 与 NeoForge 均提供 Minecraft 1.21.1、26.1.2、26.2 和 26.3 构建,共八种加载器/游戏版本组合。 ## 验证 八种构建均通过 clean 原生版与 CurseForge 版构建。记录的测试共 9,014 项,0 失败、0 错误,49 项既有跳过;资源站新增的 368 项回归全部通过。最终版本未进行游戏内烟测。
release

Sparkle Morpher 2.3.0 - Fabric 26.1.x

2.3.0
25 окт. 2026 г.12Minecraft: 26.1.2fabric
Скачать
Что нового
# Sparkle Morpher 2.3.0 — Release Notes Release date: 2026-10-25 ## Highlights - **Major UI overhaul and upgrade:** the model browser, roulette and settings screens have been refreshed, with improved layouts for different resolutions and GUI scales. The resource station now supports Mainland China and Global endpoints, compact queue and source controls, and a cleaner catalogue layout. - **Safer, more useful model previews:** resource cards now share the standard model card layout. The current page can show animated 3D previews in memory, with bounded download and rendering budgets; paging away cancels work and releases preview models. Covers remain as a fallback. - **Reliable downloads and cancellation:** downloads are limited to explicitly selected models. Individual and queued tasks can be cancelled by task identity, retried safely, and interrupted during HTTP reads or mirror checks without stale callbacks advancing the queue. - **Cloud model memory and lifecycle improvements:** model assemblies and source bytes are reused in memory where authorized, with bounded retention, cancellation on world/account changes, and protection against stale responses. Cloud preview publication stays separate from public resource imports. - **Projectile and peer appearance updates:** custom projectile models retain their ownership across lifecycle changes; peer appearance synchronization now covers maid models and supports an explicit sharing preference. - **Model and UI fixes:** saved per-model material and Molang settings restore reliably, responsive layouts and fake-player roulette persistence are improved, local maid selections survive sync callbacks, and YSM animation `blend_weight` is mapped correctly. - **Compatibility and localization:** refreshed translations and status text across 15 languages, updated Cloud endpoint configuration, and rendering compatibility fixes for Icy's Better Horses and first-person integrations. ## Supported builds Fabric and NeoForge are provided for Minecraft 1.21.1, 26.1.2, 26.2, and 26.3 (eight loader/version variants). ## Verification All eight variants passed clean native and CurseForge builds. The recorded suite totals 9,014 tests, with 0 failures and 0 errors; 49 existing tests were skipped. The 368 resource-station regression cases passed. No final in-game smoke test was performed. --- # Sparkle Morpher 2.3.0 — 发布说明 发布日期:2026-10-25 ## 更新内容 - **界面大改版与全面升级:** 重制模型选择、轮盘和设置界面,并改进不同分辨率与 GUI 缩放下的布局。资源站现支持大陆/全球线路切换,队列与来源管理改为紧凑图标入口,目录布局也经过整理。 - **模型预览更直观:** 资源站和本地模型统一使用标准卡片布局。当前页支持内存中的动画 3D 预览,并限制下载与渲染预算;翻页时取消任务并释放预览模型,作者封面仍可作为回退。 - **下载与取消更可靠:** 只下载明确选中的模型;支持按任务身份取消、重试,并可中断 HTTP 读取和镜像测速,避免旧回调推进队列。 - **Cloud 内存与生命周期改进:** 在权限校验下复用内存中的模型装配和源数据,限制驻留规模;世界或账号变化时取消旧任务,拒绝过期响应。Cloud 预览来源与公开资源导入相互隔离。 - **投掷物与联机外观更新:** 自定义投掷物模型生命周期更稳定;Peer 外观同步支持女仆模型,并加入明确的分享偏好设置。 - **模型和界面修复:** 按模型恢复材质与 Molang 设置,改进响应式布局和假人轮盘持久化;本地女仆选择不再被同步回调覆盖;修正 YSM 动画 `blend_weight` 映射。 - **兼容性与本地化:** 更新 15 种语言的翻译和状态文案、Cloud 服务地址,并修复 Icy's Better Horses 与第一人称渲染兼容问题。 ## 支持版本 Fabric 与 NeoForge 均提供 Minecraft 1.21.1、26.1.2、26.2 和 26.3 构建,共八种加载器/游戏版本组合。 ## 验证 八种构建均通过 clean 原生版与 CurseForge 版构建。记录的测试共 9,014 项,0 失败、0 错误,49 项既有跳过;资源站新增的 368 项回归全部通过。最终版本未进行游戏内烟测。
release

Sparkle Morpher 2.3.0 - Fabric 1.21.1

2.3.0
25 окт. 2026 г.4Minecraft: 1.21.1fabric
Скачать
Что нового
# Sparkle Morpher 2.3.0 — Release Notes Release date: 2026-10-25 ## Highlights - **Major UI overhaul and upgrade:** the model browser, roulette and settings screens have been refreshed, with improved layouts for different resolutions and GUI scales. The resource station now supports Mainland China and Global endpoints, compact queue and source controls, and a cleaner catalogue layout. - **Safer, more useful model previews:** resource cards now share the standard model card layout. The current page can show animated 3D previews in memory, with bounded download and rendering budgets; paging away cancels work and releases preview models. Covers remain as a fallback. - **Reliable downloads and cancellation:** downloads are limited to explicitly selected models. Individual and queued tasks can be cancelled by task identity, retried safely, and interrupted during HTTP reads or mirror checks without stale callbacks advancing the queue. - **Cloud model memory and lifecycle improvements:** model assemblies and source bytes are reused in memory where authorized, with bounded retention, cancellation on world/account changes, and protection against stale responses. Cloud preview publication stays separate from public resource imports. - **Projectile and peer appearance updates:** custom projectile models retain their ownership across lifecycle changes; peer appearance synchronization now covers maid models and supports an explicit sharing preference. - **Model and UI fixes:** saved per-model material and Molang settings restore reliably, responsive layouts and fake-player roulette persistence are improved, local maid selections survive sync callbacks, and YSM animation `blend_weight` is mapped correctly. - **Compatibility and localization:** refreshed translations and status text across 15 languages, updated Cloud endpoint configuration, and rendering compatibility fixes for Icy's Better Horses and first-person integrations. ## Supported builds Fabric and NeoForge are provided for Minecraft 1.21.1, 26.1.2, 26.2, and 26.3 (eight loader/version variants). ## Verification All eight variants passed clean native and CurseForge builds. The recorded suite totals 9,014 tests, with 0 failures and 0 errors; 49 existing tests were skipped. The 368 resource-station regression cases passed. No final in-game smoke test was performed. --- # Sparkle Morpher 2.3.0 — 发布说明 发布日期:2026-10-25 ## 更新内容 - **界面大改版与全面升级:** 重制模型选择、轮盘和设置界面,并改进不同分辨率与 GUI 缩放下的布局。资源站现支持大陆/全球线路切换,队列与来源管理改为紧凑图标入口,目录布局也经过整理。 - **模型预览更直观:** 资源站和本地模型统一使用标准卡片布局。当前页支持内存中的动画 3D 预览,并限制下载与渲染预算;翻页时取消任务并释放预览模型,作者封面仍可作为回退。 - **下载与取消更可靠:** 只下载明确选中的模型;支持按任务身份取消、重试,并可中断 HTTP 读取和镜像测速,避免旧回调推进队列。 - **Cloud 内存与生命周期改进:** 在权限校验下复用内存中的模型装配和源数据,限制驻留规模;世界或账号变化时取消旧任务,拒绝过期响应。Cloud 预览来源与公开资源导入相互隔离。 - **投掷物与联机外观更新:** 自定义投掷物模型生命周期更稳定;Peer 外观同步支持女仆模型,并加入明确的分享偏好设置。 - **模型和界面修复:** 按模型恢复材质与 Molang 设置,改进响应式布局和假人轮盘持久化;本地女仆选择不再被同步回调覆盖;修正 YSM 动画 `blend_weight` 映射。 - **兼容性与本地化:** 更新 15 种语言的翻译和状态文案、Cloud 服务地址,并修复 Icy's Better Horses 与第一人称渲染兼容问题。 ## 支持版本 Fabric 与 NeoForge 均提供 Minecraft 1.21.1、26.1.2、26.2 和 26.3 构建,共八种加载器/游戏版本组合。 ## 验证 八种构建均通过 clean 原生版与 CurseForge 版构建。记录的测试共 9,014 项,0 失败、0 错误,49 项既有跳过;资源站新增的 368 项回归全部通过。最终版本未进行游戏内烟测。
release

Sparkle Morpher 2.2.0 - NeoForge 26.3

2.2.0
17 окт. 2026 г.64Minecraft: 26.3neoforge
Скачать
Что нового
# Sparkle Morpher 2.2.0 Sparkle Morpher 2.2.0 brings the October 13–17 networking, animation, compatibility, rendering, Cloud-client, and settings work to all eight supported loader/game-version builds. ## Highlights - **Peer sharing and connection controls:** refine automatic LAN/VPN discovery, connection priorities, privacy/status controls, and the LAN manual-connect advanced option. Peer model uploads and first-render work use bounded per-frame scheduling and completion tracking. - **Cloud client controls:** add saved upload and model-processing concurrency presets under SPM Cloud settings. The default is unlimited by the local preset; existing executor and server limits still apply. Queued Cloud model imports use a separate budget from uploads. - **Animation and physics:** improve physics initialization, clock recovery, state isolation, and pose snapshot handling. The runtime only takes over animation programs it can prove safe; unsupported programs keep the original execution path. - **Compatibility:** fix the NeoForge 1.21.1 startup crash from issue #44; improve optional TaCZ integration on supported newer Fabric branches; and avoid replacing the whole player render when Player Animation Library is in its first-person pass, improving Better Combat compatibility. - **Held-item rendering:** hide the vanilla hand item when a model supplies its own held weapon, including models with carry-on animations. Ordinary tools and independent off-hand items remain visible. - **Settings UI:** remove redundant headings and empty space, align panels, make the selected option clearer, move LAN manual connection into advanced options, merge “Other” into Developer settings, and separate Cloud account navigation from its content list. ## Downloads Use the full/native JAR on GitHub or Modrinth. CurseForge receives the matching JAR without bundled native libraries. | Loader | Minecraft | GitHub full JAR | CurseForge-safe JAR | |---|---|---|---| | Fabric | 1.21.1 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa1.21.1.jar) | `sparkle-morpher-2.2.0-fa1.21.1-curseforge.jar` | | Fabric | 26.1.2 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.1.x.jar) | `sparkle-morpher-2.2.0-fa26.1.x-curseforge.jar` | | Fabric | 26.2 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.2.jar) | `sparkle-morpher-2.2.0-fa26.2-curseforge.jar` | | Fabric | 26.3 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.3.jar) | `sparkle-morpher-2.2.0-fa26.3-curseforge.jar` | | NeoForge | 1.21.1 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo1.21.1.jar) | `sparkle-morpher-2.2.0-neo1.21.1-curseforge.jar` | | NeoForge | 26.1.2 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.1.x.jar) | `sparkle-morpher-2.2.0-neo26.1.x-curseforge.jar` | | NeoForge | 26.2 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.2.jar) | `sparkle-morpher-2.2.0-neo26.2-curseforge.jar` | | NeoForge | 26.3 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.3.jar) | `sparkle-morpher-2.2.0-neo26.3-curseforge.jar` | Modrinth: [Sparkle Morpher](https://modrinth.com/mod/sparkles-morpher). CurseForge: [Sparkle Morpher](https://www.curseforge.com/minecraft/mc-mods/sparkles-morpher). ## Verification and scope All eight variants were clean-built in native and CurseForge distributions. The final native test runs recorded 6,988 tests: 6,955 passed, 33 skipped, and 0 failed or errored. Fabric 26.2 also received a visible client check for authored weapons, vanilla tools, and off-hand items. The supplied Better Combat/PAL first-person route and NeoForge startup path were separately checked as recorded in the project verification documents. The P2P implementation and its automated checks are included, but the complete multi-client, cross-loader, public IPv4/IPv6, and long-duration acceptance matrix still requires external test environments. Animation takeover remains deliberately conservative: models whose programs fail the safety analysis retain their original runtime, so this release does not claim automatic stabilization for every model. --- # Sparkle Morpher 2.2.0(简体中文) 本版本汇总 10 月 13–17 日的网络分享、动画、兼容、渲染、Cloud 客户端和设置界面改进,覆盖八种加载器与 Minecraft 版本组合。 ## 主要更新 - **Peer 分享与连接设置:**完善局域网/VPN 自动发现、连接优先级、隐私与状态选项;手动连接归入局域网高级选项。Peer 模型上传和首次渲染采用逐帧限额调度,并记录 GPU 工作完成状态。 - **Cloud 客户端控制:**在 SPM Cloud 设置中增加上传和模型处理并发预设,修改后自动保存。默认预设不增加本机并发限制;执行器容量和服务器限制仍然生效。Cloud 模型导入和上传使用独立限额。 - **动画与物理:**改进物理初始化、时钟恢复、状态隔离和姿态快照处理。只有通过安全性证明的动画程序才会由新运行时接管;无法证明安全的程序继续使用原有执行路径。 - **兼容性:**修复 issue #44 中 NeoForge 1.21.1 启动崩溃;改善受支持的新 Fabric 分支上的可选 TaCZ 集成;Player Animation Library 进入第一人称渲染阶段时不再替换整个玩家渲染,从而改善 Better Combat 兼容性。 - **手持物渲染:**模型自带武器时隐藏重复的原版手持物,包括带有 carry-on 动画的模型。普通工具和独立副手物品仍正常显示。 - **设置界面:**删除重复标题和多余空白、对齐面板并强化选中提示;手动连接移入局域网高级选项,“其他”并入开发者选项,Cloud 账号导航与内容列表分离。 ## 下载 GitHub 和 Modrinth 提供完整/原版 JAR。CurseForge 使用不包含捆绑原生库的对应版本。 | 加载器 | Minecraft | GitHub 完整 JAR | CurseForge 安全版 | |---|---|---|---| | Fabric | 1.21.1 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa1.21.1.jar) | `sparkle-morpher-2.2.0-fa1.21.1-curseforge.jar` | | Fabric | 26.1.2 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.1.x.jar) | `sparkle-morpher-2.2.0-fa26.1.x-curseforge.jar` | | Fabric | 26.2 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.2.jar) | `sparkle-morpher-2.2.0-fa26.2-curseforge.jar` | | Fabric | 26.3 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.3.jar) | `sparkle-morpher-2.2.0-fa26.3-curseforge.jar` | | NeoForge | 1.21.1 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo1.21.1.jar) | `sparkle-morpher-2.2.0-neo1.21.1-curseforge.jar` | | NeoForge | 26.1.2 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.1.x.jar) | `sparkle-morpher-2.2.0-neo26.1.x-curseforge.jar` | | NeoForge | 26.2 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.2.jar) | `sparkle-morpher-2.2.0-neo26.2-curseforge.jar` | | NeoForge | 26.3 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.3.jar) | `sparkle-morpher-2.2.0-neo26.3-curseforge.jar` | Modrinth:[Sparkle Morpher](https://modrinth.com/mod/sparkles-morpher)。CurseForge:[Sparkle Morpher](https://www.curseforge.com/minecraft/mc-mods/sparkles-morpher)。 ## 验证范围 八个变体均完成原版和 CurseForge 发行形式的干净构建。最终原版测试共记录 6,988 项:6,955 项通过、33 项跳过、失败或错误 0 项。Fabric 26.2 另以实际客户端检查了模型自带武器、原版工具和副手物品。Better Combat/PAL 第一人称渲染路径和 NeoForge 启动路径也分别按项目记录进行了核验。 本版本包含 P2P 实现及自动化检查,但完整多人、跨加载器、公网 IPv4/IPv6 和长时间验收仍需外部测试环境。动画接管策略保持保守:未通过安全分析的模型继续由原运行时处理,因此本版本不宣称所有模型均已实现自动稳定。
release

Sparkle Morpher 2.2.0 - NeoForge 26.2

2.2.0
17 окт. 2026 г.26Minecraft: 26.2neoforge
Скачать
Что нового
# Sparkle Morpher 2.2.0 Sparkle Morpher 2.2.0 brings the October 13–17 networking, animation, compatibility, rendering, Cloud-client, and settings work to all eight supported loader/game-version builds. ## Highlights - **Peer sharing and connection controls:** refine automatic LAN/VPN discovery, connection priorities, privacy/status controls, and the LAN manual-connect advanced option. Peer model uploads and first-render work use bounded per-frame scheduling and completion tracking. - **Cloud client controls:** add saved upload and model-processing concurrency presets under SPM Cloud settings. The default is unlimited by the local preset; existing executor and server limits still apply. Queued Cloud model imports use a separate budget from uploads. - **Animation and physics:** improve physics initialization, clock recovery, state isolation, and pose snapshot handling. The runtime only takes over animation programs it can prove safe; unsupported programs keep the original execution path. - **Compatibility:** fix the NeoForge 1.21.1 startup crash from issue #44; improve optional TaCZ integration on supported newer Fabric branches; and avoid replacing the whole player render when Player Animation Library is in its first-person pass, improving Better Combat compatibility. - **Held-item rendering:** hide the vanilla hand item when a model supplies its own held weapon, including models with carry-on animations. Ordinary tools and independent off-hand items remain visible. - **Settings UI:** remove redundant headings and empty space, align panels, make the selected option clearer, move LAN manual connection into advanced options, merge “Other” into Developer settings, and separate Cloud account navigation from its content list. ## Downloads Use the full/native JAR on GitHub or Modrinth. CurseForge receives the matching JAR without bundled native libraries. | Loader | Minecraft | GitHub full JAR | CurseForge-safe JAR | |---|---|---|---| | Fabric | 1.21.1 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa1.21.1.jar) | `sparkle-morpher-2.2.0-fa1.21.1-curseforge.jar` | | Fabric | 26.1.2 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.1.x.jar) | `sparkle-morpher-2.2.0-fa26.1.x-curseforge.jar` | | Fabric | 26.2 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.2.jar) | `sparkle-morpher-2.2.0-fa26.2-curseforge.jar` | | Fabric | 26.3 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.3.jar) | `sparkle-morpher-2.2.0-fa26.3-curseforge.jar` | | NeoForge | 1.21.1 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo1.21.1.jar) | `sparkle-morpher-2.2.0-neo1.21.1-curseforge.jar` | | NeoForge | 26.1.2 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.1.x.jar) | `sparkle-morpher-2.2.0-neo26.1.x-curseforge.jar` | | NeoForge | 26.2 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.2.jar) | `sparkle-morpher-2.2.0-neo26.2-curseforge.jar` | | NeoForge | 26.3 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.3.jar) | `sparkle-morpher-2.2.0-neo26.3-curseforge.jar` | Modrinth: [Sparkle Morpher](https://modrinth.com/mod/sparkles-morpher). CurseForge: [Sparkle Morpher](https://www.curseforge.com/minecraft/mc-mods/sparkles-morpher). ## Verification and scope All eight variants were clean-built in native and CurseForge distributions. The final native test runs recorded 6,988 tests: 6,955 passed, 33 skipped, and 0 failed or errored. Fabric 26.2 also received a visible client check for authored weapons, vanilla tools, and off-hand items. The supplied Better Combat/PAL first-person route and NeoForge startup path were separately checked as recorded in the project verification documents. The P2P implementation and its automated checks are included, but the complete multi-client, cross-loader, public IPv4/IPv6, and long-duration acceptance matrix still requires external test environments. Animation takeover remains deliberately conservative: models whose programs fail the safety analysis retain their original runtime, so this release does not claim automatic stabilization for every model. --- # Sparkle Morpher 2.2.0(简体中文) 本版本汇总 10 月 13–17 日的网络分享、动画、兼容、渲染、Cloud 客户端和设置界面改进,覆盖八种加载器与 Minecraft 版本组合。 ## 主要更新 - **Peer 分享与连接设置:**完善局域网/VPN 自动发现、连接优先级、隐私与状态选项;手动连接归入局域网高级选项。Peer 模型上传和首次渲染采用逐帧限额调度,并记录 GPU 工作完成状态。 - **Cloud 客户端控制:**在 SPM Cloud 设置中增加上传和模型处理并发预设,修改后自动保存。默认预设不增加本机并发限制;执行器容量和服务器限制仍然生效。Cloud 模型导入和上传使用独立限额。 - **动画与物理:**改进物理初始化、时钟恢复、状态隔离和姿态快照处理。只有通过安全性证明的动画程序才会由新运行时接管;无法证明安全的程序继续使用原有执行路径。 - **兼容性:**修复 issue #44 中 NeoForge 1.21.1 启动崩溃;改善受支持的新 Fabric 分支上的可选 TaCZ 集成;Player Animation Library 进入第一人称渲染阶段时不再替换整个玩家渲染,从而改善 Better Combat 兼容性。 - **手持物渲染:**模型自带武器时隐藏重复的原版手持物,包括带有 carry-on 动画的模型。普通工具和独立副手物品仍正常显示。 - **设置界面:**删除重复标题和多余空白、对齐面板并强化选中提示;手动连接移入局域网高级选项,“其他”并入开发者选项,Cloud 账号导航与内容列表分离。 ## 下载 GitHub 和 Modrinth 提供完整/原版 JAR。CurseForge 使用不包含捆绑原生库的对应版本。 | 加载器 | Minecraft | GitHub 完整 JAR | CurseForge 安全版 | |---|---|---|---| | Fabric | 1.21.1 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa1.21.1.jar) | `sparkle-morpher-2.2.0-fa1.21.1-curseforge.jar` | | Fabric | 26.1.2 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.1.x.jar) | `sparkle-morpher-2.2.0-fa26.1.x-curseforge.jar` | | Fabric | 26.2 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.2.jar) | `sparkle-morpher-2.2.0-fa26.2-curseforge.jar` | | Fabric | 26.3 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.3.jar) | `sparkle-morpher-2.2.0-fa26.3-curseforge.jar` | | NeoForge | 1.21.1 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo1.21.1.jar) | `sparkle-morpher-2.2.0-neo1.21.1-curseforge.jar` | | NeoForge | 26.1.2 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.1.x.jar) | `sparkle-morpher-2.2.0-neo26.1.x-curseforge.jar` | | NeoForge | 26.2 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.2.jar) | `sparkle-morpher-2.2.0-neo26.2-curseforge.jar` | | NeoForge | 26.3 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.3.jar) | `sparkle-morpher-2.2.0-neo26.3-curseforge.jar` | Modrinth:[Sparkle Morpher](https://modrinth.com/mod/sparkles-morpher)。CurseForge:[Sparkle Morpher](https://www.curseforge.com/minecraft/mc-mods/sparkles-morpher)。 ## 验证范围 八个变体均完成原版和 CurseForge 发行形式的干净构建。最终原版测试共记录 6,988 项:6,955 项通过、33 项跳过、失败或错误 0 项。Fabric 26.2 另以实际客户端检查了模型自带武器、原版工具和副手物品。Better Combat/PAL 第一人称渲染路径和 NeoForge 启动路径也分别按项目记录进行了核验。 本版本包含 P2P 实现及自动化检查,但完整多人、跨加载器、公网 IPv4/IPv6 和长时间验收仍需外部测试环境。动画接管策略保持保守:未通过安全分析的模型继续由原运行时处理,因此本版本不宣称所有模型均已实现自动稳定。
release

Sparkle Morpher 2.2.0 - NeoForge 26.1.x

2.2.0
17 окт. 2026 г.22Minecraft: 26.1.2neoforge
Скачать
Что нового
# Sparkle Morpher 2.2.0 Sparkle Morpher 2.2.0 brings the October 13–17 networking, animation, compatibility, rendering, Cloud-client, and settings work to all eight supported loader/game-version builds. ## Highlights - **Peer sharing and connection controls:** refine automatic LAN/VPN discovery, connection priorities, privacy/status controls, and the LAN manual-connect advanced option. Peer model uploads and first-render work use bounded per-frame scheduling and completion tracking. - **Cloud client controls:** add saved upload and model-processing concurrency presets under SPM Cloud settings. The default is unlimited by the local preset; existing executor and server limits still apply. Queued Cloud model imports use a separate budget from uploads. - **Animation and physics:** improve physics initialization, clock recovery, state isolation, and pose snapshot handling. The runtime only takes over animation programs it can prove safe; unsupported programs keep the original execution path. - **Compatibility:** fix the NeoForge 1.21.1 startup crash from issue #44; improve optional TaCZ integration on supported newer Fabric branches; and avoid replacing the whole player render when Player Animation Library is in its first-person pass, improving Better Combat compatibility. - **Held-item rendering:** hide the vanilla hand item when a model supplies its own held weapon, including models with carry-on animations. Ordinary tools and independent off-hand items remain visible. - **Settings UI:** remove redundant headings and empty space, align panels, make the selected option clearer, move LAN manual connection into advanced options, merge “Other” into Developer settings, and separate Cloud account navigation from its content list. ## Downloads Use the full/native JAR on GitHub or Modrinth. CurseForge receives the matching JAR without bundled native libraries. | Loader | Minecraft | GitHub full JAR | CurseForge-safe JAR | |---|---|---|---| | Fabric | 1.21.1 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa1.21.1.jar) | `sparkle-morpher-2.2.0-fa1.21.1-curseforge.jar` | | Fabric | 26.1.2 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.1.x.jar) | `sparkle-morpher-2.2.0-fa26.1.x-curseforge.jar` | | Fabric | 26.2 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.2.jar) | `sparkle-morpher-2.2.0-fa26.2-curseforge.jar` | | Fabric | 26.3 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.3.jar) | `sparkle-morpher-2.2.0-fa26.3-curseforge.jar` | | NeoForge | 1.21.1 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo1.21.1.jar) | `sparkle-morpher-2.2.0-neo1.21.1-curseforge.jar` | | NeoForge | 26.1.2 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.1.x.jar) | `sparkle-morpher-2.2.0-neo26.1.x-curseforge.jar` | | NeoForge | 26.2 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.2.jar) | `sparkle-morpher-2.2.0-neo26.2-curseforge.jar` | | NeoForge | 26.3 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.3.jar) | `sparkle-morpher-2.2.0-neo26.3-curseforge.jar` | Modrinth: [Sparkle Morpher](https://modrinth.com/mod/sparkles-morpher). CurseForge: [Sparkle Morpher](https://www.curseforge.com/minecraft/mc-mods/sparkles-morpher). ## Verification and scope All eight variants were clean-built in native and CurseForge distributions. The final native test runs recorded 6,988 tests: 6,955 passed, 33 skipped, and 0 failed or errored. Fabric 26.2 also received a visible client check for authored weapons, vanilla tools, and off-hand items. The supplied Better Combat/PAL first-person route and NeoForge startup path were separately checked as recorded in the project verification documents. The P2P implementation and its automated checks are included, but the complete multi-client, cross-loader, public IPv4/IPv6, and long-duration acceptance matrix still requires external test environments. Animation takeover remains deliberately conservative: models whose programs fail the safety analysis retain their original runtime, so this release does not claim automatic stabilization for every model. --- # Sparkle Morpher 2.2.0(简体中文) 本版本汇总 10 月 13–17 日的网络分享、动画、兼容、渲染、Cloud 客户端和设置界面改进,覆盖八种加载器与 Minecraft 版本组合。 ## 主要更新 - **Peer 分享与连接设置:**完善局域网/VPN 自动发现、连接优先级、隐私与状态选项;手动连接归入局域网高级选项。Peer 模型上传和首次渲染采用逐帧限额调度,并记录 GPU 工作完成状态。 - **Cloud 客户端控制:**在 SPM Cloud 设置中增加上传和模型处理并发预设,修改后自动保存。默认预设不增加本机并发限制;执行器容量和服务器限制仍然生效。Cloud 模型导入和上传使用独立限额。 - **动画与物理:**改进物理初始化、时钟恢复、状态隔离和姿态快照处理。只有通过安全性证明的动画程序才会由新运行时接管;无法证明安全的程序继续使用原有执行路径。 - **兼容性:**修复 issue #44 中 NeoForge 1.21.1 启动崩溃;改善受支持的新 Fabric 分支上的可选 TaCZ 集成;Player Animation Library 进入第一人称渲染阶段时不再替换整个玩家渲染,从而改善 Better Combat 兼容性。 - **手持物渲染:**模型自带武器时隐藏重复的原版手持物,包括带有 carry-on 动画的模型。普通工具和独立副手物品仍正常显示。 - **设置界面:**删除重复标题和多余空白、对齐面板并强化选中提示;手动连接移入局域网高级选项,“其他”并入开发者选项,Cloud 账号导航与内容列表分离。 ## 下载 GitHub 和 Modrinth 提供完整/原版 JAR。CurseForge 使用不包含捆绑原生库的对应版本。 | 加载器 | Minecraft | GitHub 完整 JAR | CurseForge 安全版 | |---|---|---|---| | Fabric | 1.21.1 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa1.21.1.jar) | `sparkle-morpher-2.2.0-fa1.21.1-curseforge.jar` | | Fabric | 26.1.2 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.1.x.jar) | `sparkle-morpher-2.2.0-fa26.1.x-curseforge.jar` | | Fabric | 26.2 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.2.jar) | `sparkle-morpher-2.2.0-fa26.2-curseforge.jar` | | Fabric | 26.3 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.3.jar) | `sparkle-morpher-2.2.0-fa26.3-curseforge.jar` | | NeoForge | 1.21.1 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo1.21.1.jar) | `sparkle-morpher-2.2.0-neo1.21.1-curseforge.jar` | | NeoForge | 26.1.2 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.1.x.jar) | `sparkle-morpher-2.2.0-neo26.1.x-curseforge.jar` | | NeoForge | 26.2 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.2.jar) | `sparkle-morpher-2.2.0-neo26.2-curseforge.jar` | | NeoForge | 26.3 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.3.jar) | `sparkle-morpher-2.2.0-neo26.3-curseforge.jar` | Modrinth:[Sparkle Morpher](https://modrinth.com/mod/sparkles-morpher)。CurseForge:[Sparkle Morpher](https://www.curseforge.com/minecraft/mc-mods/sparkles-morpher)。 ## 验证范围 八个变体均完成原版和 CurseForge 发行形式的干净构建。最终原版测试共记录 6,988 项:6,955 项通过、33 项跳过、失败或错误 0 项。Fabric 26.2 另以实际客户端检查了模型自带武器、原版工具和副手物品。Better Combat/PAL 第一人称渲染路径和 NeoForge 启动路径也分别按项目记录进行了核验。 本版本包含 P2P 实现及自动化检查,但完整多人、跨加载器、公网 IPv4/IPv6 和长时间验收仍需外部测试环境。动画接管策略保持保守:未通过安全分析的模型继续由原运行时处理,因此本版本不宣称所有模型均已实现自动稳定。
release

Sparkle Morpher 2.2.0 - NeoForge 1.21.1

2.2.0
17 окт. 2026 г.95Minecraft: 1.21.1neoforge
Скачать
Что нового
# Sparkle Morpher 2.2.0 Sparkle Morpher 2.2.0 brings the October 13–17 networking, animation, compatibility, rendering, Cloud-client, and settings work to all eight supported loader/game-version builds. ## Highlights - **Peer sharing and connection controls:** refine automatic LAN/VPN discovery, connection priorities, privacy/status controls, and the LAN manual-connect advanced option. Peer model uploads and first-render work use bounded per-frame scheduling and completion tracking. - **Cloud client controls:** add saved upload and model-processing concurrency presets under SPM Cloud settings. The default is unlimited by the local preset; existing executor and server limits still apply. Queued Cloud model imports use a separate budget from uploads. - **Animation and physics:** improve physics initialization, clock recovery, state isolation, and pose snapshot handling. The runtime only takes over animation programs it can prove safe; unsupported programs keep the original execution path. - **Compatibility:** fix the NeoForge 1.21.1 startup crash from issue #44; improve optional TaCZ integration on supported newer Fabric branches; and avoid replacing the whole player render when Player Animation Library is in its first-person pass, improving Better Combat compatibility. - **Held-item rendering:** hide the vanilla hand item when a model supplies its own held weapon, including models with carry-on animations. Ordinary tools and independent off-hand items remain visible. - **Settings UI:** remove redundant headings and empty space, align panels, make the selected option clearer, move LAN manual connection into advanced options, merge “Other” into Developer settings, and separate Cloud account navigation from its content list. ## Downloads Use the full/native JAR on GitHub or Modrinth. CurseForge receives the matching JAR without bundled native libraries. | Loader | Minecraft | GitHub full JAR | CurseForge-safe JAR | |---|---|---|---| | Fabric | 1.21.1 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa1.21.1.jar) | `sparkle-morpher-2.2.0-fa1.21.1-curseforge.jar` | | Fabric | 26.1.2 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.1.x.jar) | `sparkle-morpher-2.2.0-fa26.1.x-curseforge.jar` | | Fabric | 26.2 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.2.jar) | `sparkle-morpher-2.2.0-fa26.2-curseforge.jar` | | Fabric | 26.3 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.3.jar) | `sparkle-morpher-2.2.0-fa26.3-curseforge.jar` | | NeoForge | 1.21.1 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo1.21.1.jar) | `sparkle-morpher-2.2.0-neo1.21.1-curseforge.jar` | | NeoForge | 26.1.2 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.1.x.jar) | `sparkle-morpher-2.2.0-neo26.1.x-curseforge.jar` | | NeoForge | 26.2 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.2.jar) | `sparkle-morpher-2.2.0-neo26.2-curseforge.jar` | | NeoForge | 26.3 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.3.jar) | `sparkle-morpher-2.2.0-neo26.3-curseforge.jar` | Modrinth: [Sparkle Morpher](https://modrinth.com/mod/sparkles-morpher). CurseForge: [Sparkle Morpher](https://www.curseforge.com/minecraft/mc-mods/sparkles-morpher). ## Verification and scope All eight variants were clean-built in native and CurseForge distributions. The final native test runs recorded 6,988 tests: 6,955 passed, 33 skipped, and 0 failed or errored. Fabric 26.2 also received a visible client check for authored weapons, vanilla tools, and off-hand items. The supplied Better Combat/PAL first-person route and NeoForge startup path were separately checked as recorded in the project verification documents. The P2P implementation and its automated checks are included, but the complete multi-client, cross-loader, public IPv4/IPv6, and long-duration acceptance matrix still requires external test environments. Animation takeover remains deliberately conservative: models whose programs fail the safety analysis retain their original runtime, so this release does not claim automatic stabilization for every model. --- # Sparkle Morpher 2.2.0(简体中文) 本版本汇总 10 月 13–17 日的网络分享、动画、兼容、渲染、Cloud 客户端和设置界面改进,覆盖八种加载器与 Minecraft 版本组合。 ## 主要更新 - **Peer 分享与连接设置:**完善局域网/VPN 自动发现、连接优先级、隐私与状态选项;手动连接归入局域网高级选项。Peer 模型上传和首次渲染采用逐帧限额调度,并记录 GPU 工作完成状态。 - **Cloud 客户端控制:**在 SPM Cloud 设置中增加上传和模型处理并发预设,修改后自动保存。默认预设不增加本机并发限制;执行器容量和服务器限制仍然生效。Cloud 模型导入和上传使用独立限额。 - **动画与物理:**改进物理初始化、时钟恢复、状态隔离和姿态快照处理。只有通过安全性证明的动画程序才会由新运行时接管;无法证明安全的程序继续使用原有执行路径。 - **兼容性:**修复 issue #44 中 NeoForge 1.21.1 启动崩溃;改善受支持的新 Fabric 分支上的可选 TaCZ 集成;Player Animation Library 进入第一人称渲染阶段时不再替换整个玩家渲染,从而改善 Better Combat 兼容性。 - **手持物渲染:**模型自带武器时隐藏重复的原版手持物,包括带有 carry-on 动画的模型。普通工具和独立副手物品仍正常显示。 - **设置界面:**删除重复标题和多余空白、对齐面板并强化选中提示;手动连接移入局域网高级选项,“其他”并入开发者选项,Cloud 账号导航与内容列表分离。 ## 下载 GitHub 和 Modrinth 提供完整/原版 JAR。CurseForge 使用不包含捆绑原生库的对应版本。 | 加载器 | Minecraft | GitHub 完整 JAR | CurseForge 安全版 | |---|---|---|---| | Fabric | 1.21.1 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa1.21.1.jar) | `sparkle-morpher-2.2.0-fa1.21.1-curseforge.jar` | | Fabric | 26.1.2 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.1.x.jar) | `sparkle-morpher-2.2.0-fa26.1.x-curseforge.jar` | | Fabric | 26.2 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.2.jar) | `sparkle-morpher-2.2.0-fa26.2-curseforge.jar` | | Fabric | 26.3 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.3.jar) | `sparkle-morpher-2.2.0-fa26.3-curseforge.jar` | | NeoForge | 1.21.1 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo1.21.1.jar) | `sparkle-morpher-2.2.0-neo1.21.1-curseforge.jar` | | NeoForge | 26.1.2 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.1.x.jar) | `sparkle-morpher-2.2.0-neo26.1.x-curseforge.jar` | | NeoForge | 26.2 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.2.jar) | `sparkle-morpher-2.2.0-neo26.2-curseforge.jar` | | NeoForge | 26.3 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.3.jar) | `sparkle-morpher-2.2.0-neo26.3-curseforge.jar` | Modrinth:[Sparkle Morpher](https://modrinth.com/mod/sparkles-morpher)。CurseForge:[Sparkle Morpher](https://www.curseforge.com/minecraft/mc-mods/sparkles-morpher)。 ## 验证范围 八个变体均完成原版和 CurseForge 发行形式的干净构建。最终原版测试共记录 6,988 项:6,955 项通过、33 项跳过、失败或错误 0 项。Fabric 26.2 另以实际客户端检查了模型自带武器、原版工具和副手物品。Better Combat/PAL 第一人称渲染路径和 NeoForge 启动路径也分别按项目记录进行了核验。 本版本包含 P2P 实现及自动化检查,但完整多人、跨加载器、公网 IPv4/IPv6 和长时间验收仍需外部测试环境。动画接管策略保持保守:未通过安全分析的模型继续由原运行时处理,因此本版本不宣称所有模型均已实现自动稳定。
release

Sparkle Morpher 2.2.0 - Fabric 26.3

2.2.0
17 окт. 2026 г.170Minecraft: 26.3fabric
Скачать
Что нового
# Sparkle Morpher 2.2.0 Sparkle Morpher 2.2.0 brings the October 13–17 networking, animation, compatibility, rendering, Cloud-client, and settings work to all eight supported loader/game-version builds. ## Highlights - **Peer sharing and connection controls:** refine automatic LAN/VPN discovery, connection priorities, privacy/status controls, and the LAN manual-connect advanced option. Peer model uploads and first-render work use bounded per-frame scheduling and completion tracking. - **Cloud client controls:** add saved upload and model-processing concurrency presets under SPM Cloud settings. The default is unlimited by the local preset; existing executor and server limits still apply. Queued Cloud model imports use a separate budget from uploads. - **Animation and physics:** improve physics initialization, clock recovery, state isolation, and pose snapshot handling. The runtime only takes over animation programs it can prove safe; unsupported programs keep the original execution path. - **Compatibility:** fix the NeoForge 1.21.1 startup crash from issue #44; improve optional TaCZ integration on supported newer Fabric branches; and avoid replacing the whole player render when Player Animation Library is in its first-person pass, improving Better Combat compatibility. - **Held-item rendering:** hide the vanilla hand item when a model supplies its own held weapon, including models with carry-on animations. Ordinary tools and independent off-hand items remain visible. - **Settings UI:** remove redundant headings and empty space, align panels, make the selected option clearer, move LAN manual connection into advanced options, merge “Other” into Developer settings, and separate Cloud account navigation from its content list. ## Downloads Use the full/native JAR on GitHub or Modrinth. CurseForge receives the matching JAR without bundled native libraries. | Loader | Minecraft | GitHub full JAR | CurseForge-safe JAR | |---|---|---|---| | Fabric | 1.21.1 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa1.21.1.jar) | `sparkle-morpher-2.2.0-fa1.21.1-curseforge.jar` | | Fabric | 26.1.2 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.1.x.jar) | `sparkle-morpher-2.2.0-fa26.1.x-curseforge.jar` | | Fabric | 26.2 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.2.jar) | `sparkle-morpher-2.2.0-fa26.2-curseforge.jar` | | Fabric | 26.3 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.3.jar) | `sparkle-morpher-2.2.0-fa26.3-curseforge.jar` | | NeoForge | 1.21.1 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo1.21.1.jar) | `sparkle-morpher-2.2.0-neo1.21.1-curseforge.jar` | | NeoForge | 26.1.2 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.1.x.jar) | `sparkle-morpher-2.2.0-neo26.1.x-curseforge.jar` | | NeoForge | 26.2 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.2.jar) | `sparkle-morpher-2.2.0-neo26.2-curseforge.jar` | | NeoForge | 26.3 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.3.jar) | `sparkle-morpher-2.2.0-neo26.3-curseforge.jar` | Modrinth: [Sparkle Morpher](https://modrinth.com/mod/sparkles-morpher). CurseForge: [Sparkle Morpher](https://www.curseforge.com/minecraft/mc-mods/sparkles-morpher). ## Verification and scope All eight variants were clean-built in native and CurseForge distributions. The final native test runs recorded 6,988 tests: 6,955 passed, 33 skipped, and 0 failed or errored. Fabric 26.2 also received a visible client check for authored weapons, vanilla tools, and off-hand items. The supplied Better Combat/PAL first-person route and NeoForge startup path were separately checked as recorded in the project verification documents. The P2P implementation and its automated checks are included, but the complete multi-client, cross-loader, public IPv4/IPv6, and long-duration acceptance matrix still requires external test environments. Animation takeover remains deliberately conservative: models whose programs fail the safety analysis retain their original runtime, so this release does not claim automatic stabilization for every model. --- # Sparkle Morpher 2.2.0(简体中文) 本版本汇总 10 月 13–17 日的网络分享、动画、兼容、渲染、Cloud 客户端和设置界面改进,覆盖八种加载器与 Minecraft 版本组合。 ## 主要更新 - **Peer 分享与连接设置:**完善局域网/VPN 自动发现、连接优先级、隐私与状态选项;手动连接归入局域网高级选项。Peer 模型上传和首次渲染采用逐帧限额调度,并记录 GPU 工作完成状态。 - **Cloud 客户端控制:**在 SPM Cloud 设置中增加上传和模型处理并发预设,修改后自动保存。默认预设不增加本机并发限制;执行器容量和服务器限制仍然生效。Cloud 模型导入和上传使用独立限额。 - **动画与物理:**改进物理初始化、时钟恢复、状态隔离和姿态快照处理。只有通过安全性证明的动画程序才会由新运行时接管;无法证明安全的程序继续使用原有执行路径。 - **兼容性:**修复 issue #44 中 NeoForge 1.21.1 启动崩溃;改善受支持的新 Fabric 分支上的可选 TaCZ 集成;Player Animation Library 进入第一人称渲染阶段时不再替换整个玩家渲染,从而改善 Better Combat 兼容性。 - **手持物渲染:**模型自带武器时隐藏重复的原版手持物,包括带有 carry-on 动画的模型。普通工具和独立副手物品仍正常显示。 - **设置界面:**删除重复标题和多余空白、对齐面板并强化选中提示;手动连接移入局域网高级选项,“其他”并入开发者选项,Cloud 账号导航与内容列表分离。 ## 下载 GitHub 和 Modrinth 提供完整/原版 JAR。CurseForge 使用不包含捆绑原生库的对应版本。 | 加载器 | Minecraft | GitHub 完整 JAR | CurseForge 安全版 | |---|---|---|---| | Fabric | 1.21.1 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa1.21.1.jar) | `sparkle-morpher-2.2.0-fa1.21.1-curseforge.jar` | | Fabric | 26.1.2 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.1.x.jar) | `sparkle-morpher-2.2.0-fa26.1.x-curseforge.jar` | | Fabric | 26.2 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.2.jar) | `sparkle-morpher-2.2.0-fa26.2-curseforge.jar` | | Fabric | 26.3 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.3.jar) | `sparkle-morpher-2.2.0-fa26.3-curseforge.jar` | | NeoForge | 1.21.1 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo1.21.1.jar) | `sparkle-morpher-2.2.0-neo1.21.1-curseforge.jar` | | NeoForge | 26.1.2 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.1.x.jar) | `sparkle-morpher-2.2.0-neo26.1.x-curseforge.jar` | | NeoForge | 26.2 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.2.jar) | `sparkle-morpher-2.2.0-neo26.2-curseforge.jar` | | NeoForge | 26.3 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.3.jar) | `sparkle-morpher-2.2.0-neo26.3-curseforge.jar` | Modrinth:[Sparkle Morpher](https://modrinth.com/mod/sparkles-morpher)。CurseForge:[Sparkle Morpher](https://www.curseforge.com/minecraft/mc-mods/sparkles-morpher)。 ## 验证范围 八个变体均完成原版和 CurseForge 发行形式的干净构建。最终原版测试共记录 6,988 项:6,955 项通过、33 项跳过、失败或错误 0 项。Fabric 26.2 另以实际客户端检查了模型自带武器、原版工具和副手物品。Better Combat/PAL 第一人称渲染路径和 NeoForge 启动路径也分别按项目记录进行了核验。 本版本包含 P2P 实现及自动化检查,但完整多人、跨加载器、公网 IPv4/IPv6 和长时间验收仍需外部测试环境。动画接管策略保持保守:未通过安全分析的模型继续由原运行时处理,因此本版本不宣称所有模型均已实现自动稳定。
release

Sparkle Morpher 2.2.0 - Fabric 26.2

2.2.0
17 окт. 2026 г.149Minecraft: 26.2fabric
Скачать
Что нового
# Sparkle Morpher 2.2.0 Sparkle Morpher 2.2.0 brings the October 13–17 networking, animation, compatibility, rendering, Cloud-client, and settings work to all eight supported loader/game-version builds. ## Highlights - **Peer sharing and connection controls:** refine automatic LAN/VPN discovery, connection priorities, privacy/status controls, and the LAN manual-connect advanced option. Peer model uploads and first-render work use bounded per-frame scheduling and completion tracking. - **Cloud client controls:** add saved upload and model-processing concurrency presets under SPM Cloud settings. The default is unlimited by the local preset; existing executor and server limits still apply. Queued Cloud model imports use a separate budget from uploads. - **Animation and physics:** improve physics initialization, clock recovery, state isolation, and pose snapshot handling. The runtime only takes over animation programs it can prove safe; unsupported programs keep the original execution path. - **Compatibility:** fix the NeoForge 1.21.1 startup crash from issue #44; improve optional TaCZ integration on supported newer Fabric branches; and avoid replacing the whole player render when Player Animation Library is in its first-person pass, improving Better Combat compatibility. - **Held-item rendering:** hide the vanilla hand item when a model supplies its own held weapon, including models with carry-on animations. Ordinary tools and independent off-hand items remain visible. - **Settings UI:** remove redundant headings and empty space, align panels, make the selected option clearer, move LAN manual connection into advanced options, merge “Other” into Developer settings, and separate Cloud account navigation from its content list. ## Downloads Use the full/native JAR on GitHub or Modrinth. CurseForge receives the matching JAR without bundled native libraries. | Loader | Minecraft | GitHub full JAR | CurseForge-safe JAR | |---|---|---|---| | Fabric | 1.21.1 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa1.21.1.jar) | `sparkle-morpher-2.2.0-fa1.21.1-curseforge.jar` | | Fabric | 26.1.2 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.1.x.jar) | `sparkle-morpher-2.2.0-fa26.1.x-curseforge.jar` | | Fabric | 26.2 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.2.jar) | `sparkle-morpher-2.2.0-fa26.2-curseforge.jar` | | Fabric | 26.3 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.3.jar) | `sparkle-morpher-2.2.0-fa26.3-curseforge.jar` | | NeoForge | 1.21.1 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo1.21.1.jar) | `sparkle-morpher-2.2.0-neo1.21.1-curseforge.jar` | | NeoForge | 26.1.2 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.1.x.jar) | `sparkle-morpher-2.2.0-neo26.1.x-curseforge.jar` | | NeoForge | 26.2 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.2.jar) | `sparkle-morpher-2.2.0-neo26.2-curseforge.jar` | | NeoForge | 26.3 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.3.jar) | `sparkle-morpher-2.2.0-neo26.3-curseforge.jar` | Modrinth: [Sparkle Morpher](https://modrinth.com/mod/sparkles-morpher). CurseForge: [Sparkle Morpher](https://www.curseforge.com/minecraft/mc-mods/sparkles-morpher). ## Verification and scope All eight variants were clean-built in native and CurseForge distributions. The final native test runs recorded 6,988 tests: 6,955 passed, 33 skipped, and 0 failed or errored. Fabric 26.2 also received a visible client check for authored weapons, vanilla tools, and off-hand items. The supplied Better Combat/PAL first-person route and NeoForge startup path were separately checked as recorded in the project verification documents. The P2P implementation and its automated checks are included, but the complete multi-client, cross-loader, public IPv4/IPv6, and long-duration acceptance matrix still requires external test environments. Animation takeover remains deliberately conservative: models whose programs fail the safety analysis retain their original runtime, so this release does not claim automatic stabilization for every model. --- # Sparkle Morpher 2.2.0(简体中文) 本版本汇总 10 月 13–17 日的网络分享、动画、兼容、渲染、Cloud 客户端和设置界面改进,覆盖八种加载器与 Minecraft 版本组合。 ## 主要更新 - **Peer 分享与连接设置:**完善局域网/VPN 自动发现、连接优先级、隐私与状态选项;手动连接归入局域网高级选项。Peer 模型上传和首次渲染采用逐帧限额调度,并记录 GPU 工作完成状态。 - **Cloud 客户端控制:**在 SPM Cloud 设置中增加上传和模型处理并发预设,修改后自动保存。默认预设不增加本机并发限制;执行器容量和服务器限制仍然生效。Cloud 模型导入和上传使用独立限额。 - **动画与物理:**改进物理初始化、时钟恢复、状态隔离和姿态快照处理。只有通过安全性证明的动画程序才会由新运行时接管;无法证明安全的程序继续使用原有执行路径。 - **兼容性:**修复 issue #44 中 NeoForge 1.21.1 启动崩溃;改善受支持的新 Fabric 分支上的可选 TaCZ 集成;Player Animation Library 进入第一人称渲染阶段时不再替换整个玩家渲染,从而改善 Better Combat 兼容性。 - **手持物渲染:**模型自带武器时隐藏重复的原版手持物,包括带有 carry-on 动画的模型。普通工具和独立副手物品仍正常显示。 - **设置界面:**删除重复标题和多余空白、对齐面板并强化选中提示;手动连接移入局域网高级选项,“其他”并入开发者选项,Cloud 账号导航与内容列表分离。 ## 下载 GitHub 和 Modrinth 提供完整/原版 JAR。CurseForge 使用不包含捆绑原生库的对应版本。 | 加载器 | Minecraft | GitHub 完整 JAR | CurseForge 安全版 | |---|---|---|---| | Fabric | 1.21.1 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa1.21.1.jar) | `sparkle-morpher-2.2.0-fa1.21.1-curseforge.jar` | | Fabric | 26.1.2 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.1.x.jar) | `sparkle-morpher-2.2.0-fa26.1.x-curseforge.jar` | | Fabric | 26.2 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.2.jar) | `sparkle-morpher-2.2.0-fa26.2-curseforge.jar` | | Fabric | 26.3 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.3.jar) | `sparkle-morpher-2.2.0-fa26.3-curseforge.jar` | | NeoForge | 1.21.1 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo1.21.1.jar) | `sparkle-morpher-2.2.0-neo1.21.1-curseforge.jar` | | NeoForge | 26.1.2 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.1.x.jar) | `sparkle-morpher-2.2.0-neo26.1.x-curseforge.jar` | | NeoForge | 26.2 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.2.jar) | `sparkle-morpher-2.2.0-neo26.2-curseforge.jar` | | NeoForge | 26.3 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.3.jar) | `sparkle-morpher-2.2.0-neo26.3-curseforge.jar` | Modrinth:[Sparkle Morpher](https://modrinth.com/mod/sparkles-morpher)。CurseForge:[Sparkle Morpher](https://www.curseforge.com/minecraft/mc-mods/sparkles-morpher)。 ## 验证范围 八个变体均完成原版和 CurseForge 发行形式的干净构建。最终原版测试共记录 6,988 项:6,955 项通过、33 项跳过、失败或错误 0 项。Fabric 26.2 另以实际客户端检查了模型自带武器、原版工具和副手物品。Better Combat/PAL 第一人称渲染路径和 NeoForge 启动路径也分别按项目记录进行了核验。 本版本包含 P2P 实现及自动化检查,但完整多人、跨加载器、公网 IPv4/IPv6 和长时间验收仍需外部测试环境。动画接管策略保持保守:未通过安全分析的模型继续由原运行时处理,因此本版本不宣称所有模型均已实现自动稳定。
release

Sparkle Morpher 2.2.0 - Fabric 26.1.x

2.2.0
17 окт. 2026 г.48Minecraft: 26.1.2fabric
Скачать
Что нового
# Sparkle Morpher 2.2.0 Sparkle Morpher 2.2.0 brings the October 13–17 networking, animation, compatibility, rendering, Cloud-client, and settings work to all eight supported loader/game-version builds. ## Highlights - **Peer sharing and connection controls:** refine automatic LAN/VPN discovery, connection priorities, privacy/status controls, and the LAN manual-connect advanced option. Peer model uploads and first-render work use bounded per-frame scheduling and completion tracking. - **Cloud client controls:** add saved upload and model-processing concurrency presets under SPM Cloud settings. The default is unlimited by the local preset; existing executor and server limits still apply. Queued Cloud model imports use a separate budget from uploads. - **Animation and physics:** improve physics initialization, clock recovery, state isolation, and pose snapshot handling. The runtime only takes over animation programs it can prove safe; unsupported programs keep the original execution path. - **Compatibility:** fix the NeoForge 1.21.1 startup crash from issue #44; improve optional TaCZ integration on supported newer Fabric branches; and avoid replacing the whole player render when Player Animation Library is in its first-person pass, improving Better Combat compatibility. - **Held-item rendering:** hide the vanilla hand item when a model supplies its own held weapon, including models with carry-on animations. Ordinary tools and independent off-hand items remain visible. - **Settings UI:** remove redundant headings and empty space, align panels, make the selected option clearer, move LAN manual connection into advanced options, merge “Other” into Developer settings, and separate Cloud account navigation from its content list. ## Downloads Use the full/native JAR on GitHub or Modrinth. CurseForge receives the matching JAR without bundled native libraries. | Loader | Minecraft | GitHub full JAR | CurseForge-safe JAR | |---|---|---|---| | Fabric | 1.21.1 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa1.21.1.jar) | `sparkle-morpher-2.2.0-fa1.21.1-curseforge.jar` | | Fabric | 26.1.2 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.1.x.jar) | `sparkle-morpher-2.2.0-fa26.1.x-curseforge.jar` | | Fabric | 26.2 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.2.jar) | `sparkle-morpher-2.2.0-fa26.2-curseforge.jar` | | Fabric | 26.3 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.3.jar) | `sparkle-morpher-2.2.0-fa26.3-curseforge.jar` | | NeoForge | 1.21.1 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo1.21.1.jar) | `sparkle-morpher-2.2.0-neo1.21.1-curseforge.jar` | | NeoForge | 26.1.2 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.1.x.jar) | `sparkle-morpher-2.2.0-neo26.1.x-curseforge.jar` | | NeoForge | 26.2 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.2.jar) | `sparkle-morpher-2.2.0-neo26.2-curseforge.jar` | | NeoForge | 26.3 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.3.jar) | `sparkle-morpher-2.2.0-neo26.3-curseforge.jar` | Modrinth: [Sparkle Morpher](https://modrinth.com/mod/sparkles-morpher). CurseForge: [Sparkle Morpher](https://www.curseforge.com/minecraft/mc-mods/sparkles-morpher). ## Verification and scope All eight variants were clean-built in native and CurseForge distributions. The final native test runs recorded 6,988 tests: 6,955 passed, 33 skipped, and 0 failed or errored. Fabric 26.2 also received a visible client check for authored weapons, vanilla tools, and off-hand items. The supplied Better Combat/PAL first-person route and NeoForge startup path were separately checked as recorded in the project verification documents. The P2P implementation and its automated checks are included, but the complete multi-client, cross-loader, public IPv4/IPv6, and long-duration acceptance matrix still requires external test environments. Animation takeover remains deliberately conservative: models whose programs fail the safety analysis retain their original runtime, so this release does not claim automatic stabilization for every model. --- # Sparkle Morpher 2.2.0(简体中文) 本版本汇总 10 月 13–17 日的网络分享、动画、兼容、渲染、Cloud 客户端和设置界面改进,覆盖八种加载器与 Minecraft 版本组合。 ## 主要更新 - **Peer 分享与连接设置:**完善局域网/VPN 自动发现、连接优先级、隐私与状态选项;手动连接归入局域网高级选项。Peer 模型上传和首次渲染采用逐帧限额调度,并记录 GPU 工作完成状态。 - **Cloud 客户端控制:**在 SPM Cloud 设置中增加上传和模型处理并发预设,修改后自动保存。默认预设不增加本机并发限制;执行器容量和服务器限制仍然生效。Cloud 模型导入和上传使用独立限额。 - **动画与物理:**改进物理初始化、时钟恢复、状态隔离和姿态快照处理。只有通过安全性证明的动画程序才会由新运行时接管;无法证明安全的程序继续使用原有执行路径。 - **兼容性:**修复 issue #44 中 NeoForge 1.21.1 启动崩溃;改善受支持的新 Fabric 分支上的可选 TaCZ 集成;Player Animation Library 进入第一人称渲染阶段时不再替换整个玩家渲染,从而改善 Better Combat 兼容性。 - **手持物渲染:**模型自带武器时隐藏重复的原版手持物,包括带有 carry-on 动画的模型。普通工具和独立副手物品仍正常显示。 - **设置界面:**删除重复标题和多余空白、对齐面板并强化选中提示;手动连接移入局域网高级选项,“其他”并入开发者选项,Cloud 账号导航与内容列表分离。 ## 下载 GitHub 和 Modrinth 提供完整/原版 JAR。CurseForge 使用不包含捆绑原生库的对应版本。 | 加载器 | Minecraft | GitHub 完整 JAR | CurseForge 安全版 | |---|---|---|---| | Fabric | 1.21.1 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa1.21.1.jar) | `sparkle-morpher-2.2.0-fa1.21.1-curseforge.jar` | | Fabric | 26.1.2 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.1.x.jar) | `sparkle-morpher-2.2.0-fa26.1.x-curseforge.jar` | | Fabric | 26.2 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.2.jar) | `sparkle-morpher-2.2.0-fa26.2-curseforge.jar` | | Fabric | 26.3 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.3.jar) | `sparkle-morpher-2.2.0-fa26.3-curseforge.jar` | | NeoForge | 1.21.1 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo1.21.1.jar) | `sparkle-morpher-2.2.0-neo1.21.1-curseforge.jar` | | NeoForge | 26.1.2 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.1.x.jar) | `sparkle-morpher-2.2.0-neo26.1.x-curseforge.jar` | | NeoForge | 26.2 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.2.jar) | `sparkle-morpher-2.2.0-neo26.2-curseforge.jar` | | NeoForge | 26.3 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.3.jar) | `sparkle-morpher-2.2.0-neo26.3-curseforge.jar` | Modrinth:[Sparkle Morpher](https://modrinth.com/mod/sparkles-morpher)。CurseForge:[Sparkle Morpher](https://www.curseforge.com/minecraft/mc-mods/sparkles-morpher)。 ## 验证范围 八个变体均完成原版和 CurseForge 发行形式的干净构建。最终原版测试共记录 6,988 项:6,955 项通过、33 项跳过、失败或错误 0 项。Fabric 26.2 另以实际客户端检查了模型自带武器、原版工具和副手物品。Better Combat/PAL 第一人称渲染路径和 NeoForge 启动路径也分别按项目记录进行了核验。 本版本包含 P2P 实现及自动化检查,但完整多人、跨加载器、公网 IPv4/IPv6 和长时间验收仍需外部测试环境。动画接管策略保持保守:未通过安全分析的模型继续由原运行时处理,因此本版本不宣称所有模型均已实现自动稳定。
release

Sparkle Morpher 2.2.0 - Fabric 1.21.1

2.2.0
17 окт. 2026 г.35Minecraft: 1.21.1fabric
Скачать
Что нового
# Sparkle Morpher 2.2.0 Sparkle Morpher 2.2.0 brings the October 13–17 networking, animation, compatibility, rendering, Cloud-client, and settings work to all eight supported loader/game-version builds. ## Highlights - **Peer sharing and connection controls:** refine automatic LAN/VPN discovery, connection priorities, privacy/status controls, and the LAN manual-connect advanced option. Peer model uploads and first-render work use bounded per-frame scheduling and completion tracking. - **Cloud client controls:** add saved upload and model-processing concurrency presets under SPM Cloud settings. The default is unlimited by the local preset; existing executor and server limits still apply. Queued Cloud model imports use a separate budget from uploads. - **Animation and physics:** improve physics initialization, clock recovery, state isolation, and pose snapshot handling. The runtime only takes over animation programs it can prove safe; unsupported programs keep the original execution path. - **Compatibility:** fix the NeoForge 1.21.1 startup crash from issue #44; improve optional TaCZ integration on supported newer Fabric branches; and avoid replacing the whole player render when Player Animation Library is in its first-person pass, improving Better Combat compatibility. - **Held-item rendering:** hide the vanilla hand item when a model supplies its own held weapon, including models with carry-on animations. Ordinary tools and independent off-hand items remain visible. - **Settings UI:** remove redundant headings and empty space, align panels, make the selected option clearer, move LAN manual connection into advanced options, merge “Other” into Developer settings, and separate Cloud account navigation from its content list. ## Downloads Use the full/native JAR on GitHub or Modrinth. CurseForge receives the matching JAR without bundled native libraries. | Loader | Minecraft | GitHub full JAR | CurseForge-safe JAR | |---|---|---|---| | Fabric | 1.21.1 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa1.21.1.jar) | `sparkle-morpher-2.2.0-fa1.21.1-curseforge.jar` | | Fabric | 26.1.2 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.1.x.jar) | `sparkle-morpher-2.2.0-fa26.1.x-curseforge.jar` | | Fabric | 26.2 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.2.jar) | `sparkle-morpher-2.2.0-fa26.2-curseforge.jar` | | Fabric | 26.3 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.3.jar) | `sparkle-morpher-2.2.0-fa26.3-curseforge.jar` | | NeoForge | 1.21.1 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo1.21.1.jar) | `sparkle-morpher-2.2.0-neo1.21.1-curseforge.jar` | | NeoForge | 26.1.2 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.1.x.jar) | `sparkle-morpher-2.2.0-neo26.1.x-curseforge.jar` | | NeoForge | 26.2 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.2.jar) | `sparkle-morpher-2.2.0-neo26.2-curseforge.jar` | | NeoForge | 26.3 | [Download](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.3.jar) | `sparkle-morpher-2.2.0-neo26.3-curseforge.jar` | Modrinth: [Sparkle Morpher](https://modrinth.com/mod/sparkles-morpher). CurseForge: [Sparkle Morpher](https://www.curseforge.com/minecraft/mc-mods/sparkles-morpher). ## Verification and scope All eight variants were clean-built in native and CurseForge distributions. The final native test runs recorded 6,988 tests: 6,955 passed, 33 skipped, and 0 failed or errored. Fabric 26.2 also received a visible client check for authored weapons, vanilla tools, and off-hand items. The supplied Better Combat/PAL first-person route and NeoForge startup path were separately checked as recorded in the project verification documents. The P2P implementation and its automated checks are included, but the complete multi-client, cross-loader, public IPv4/IPv6, and long-duration acceptance matrix still requires external test environments. Animation takeover remains deliberately conservative: models whose programs fail the safety analysis retain their original runtime, so this release does not claim automatic stabilization for every model. --- # Sparkle Morpher 2.2.0(简体中文) 本版本汇总 10 月 13–17 日的网络分享、动画、兼容、渲染、Cloud 客户端和设置界面改进,覆盖八种加载器与 Minecraft 版本组合。 ## 主要更新 - **Peer 分享与连接设置:**完善局域网/VPN 自动发现、连接优先级、隐私与状态选项;手动连接归入局域网高级选项。Peer 模型上传和首次渲染采用逐帧限额调度,并记录 GPU 工作完成状态。 - **Cloud 客户端控制:**在 SPM Cloud 设置中增加上传和模型处理并发预设,修改后自动保存。默认预设不增加本机并发限制;执行器容量和服务器限制仍然生效。Cloud 模型导入和上传使用独立限额。 - **动画与物理:**改进物理初始化、时钟恢复、状态隔离和姿态快照处理。只有通过安全性证明的动画程序才会由新运行时接管;无法证明安全的程序继续使用原有执行路径。 - **兼容性:**修复 issue #44 中 NeoForge 1.21.1 启动崩溃;改善受支持的新 Fabric 分支上的可选 TaCZ 集成;Player Animation Library 进入第一人称渲染阶段时不再替换整个玩家渲染,从而改善 Better Combat 兼容性。 - **手持物渲染:**模型自带武器时隐藏重复的原版手持物,包括带有 carry-on 动画的模型。普通工具和独立副手物品仍正常显示。 - **设置界面:**删除重复标题和多余空白、对齐面板并强化选中提示;手动连接移入局域网高级选项,“其他”并入开发者选项,Cloud 账号导航与内容列表分离。 ## 下载 GitHub 和 Modrinth 提供完整/原版 JAR。CurseForge 使用不包含捆绑原生库的对应版本。 | 加载器 | Minecraft | GitHub 完整 JAR | CurseForge 安全版 | |---|---|---|---| | Fabric | 1.21.1 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa1.21.1.jar) | `sparkle-morpher-2.2.0-fa1.21.1-curseforge.jar` | | Fabric | 26.1.2 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.1.x.jar) | `sparkle-morpher-2.2.0-fa26.1.x-curseforge.jar` | | Fabric | 26.2 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.2.jar) | `sparkle-morpher-2.2.0-fa26.2-curseforge.jar` | | Fabric | 26.3 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-fa26.3.jar) | `sparkle-morpher-2.2.0-fa26.3-curseforge.jar` | | NeoForge | 1.21.1 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo1.21.1.jar) | `sparkle-morpher-2.2.0-neo1.21.1-curseforge.jar` | | NeoForge | 26.1.2 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.1.x.jar) | `sparkle-morpher-2.2.0-neo26.1.x-curseforge.jar` | | NeoForge | 26.2 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.2.jar) | `sparkle-morpher-2.2.0-neo26.2-curseforge.jar` | | NeoForge | 26.3 | [下载](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.2.0/sparkle-morpher-2.2.0-neo26.3.jar) | `sparkle-morpher-2.2.0-neo26.3-curseforge.jar` | Modrinth:[Sparkle Morpher](https://modrinth.com/mod/sparkles-morpher)。CurseForge:[Sparkle Morpher](https://www.curseforge.com/minecraft/mc-mods/sparkles-morpher)。 ## 验证范围 八个变体均完成原版和 CurseForge 发行形式的干净构建。最终原版测试共记录 6,988 项:6,955 项通过、33 项跳过、失败或错误 0 项。Fabric 26.2 另以实际客户端检查了模型自带武器、原版工具和副手物品。Better Combat/PAL 第一人称渲染路径和 NeoForge 启动路径也分别按项目记录进行了核验。 本版本包含 P2P 实现及自动化检查,但完整多人、跨加载器、公网 IPv4/IPv6 和长时间验收仍需外部测试环境。动画接管策略保持保守:未通过安全分析的模型继续由原运行时处理,因此本版本不宣称所有模型均已实现自动稳定。
release

Sparkle Morpher 2.1.1 - NeoForge 26.3

2.1.1
12 окт. 2026 г.49Minecraft: 26.3neoforge
Скачать
Что нового
# Sparkle Morpher 2.1.1 支持 Fabric 与 NeoForge 的 Minecraft 1.21.1、26.1.2、26.2 和 26.3,共八种构建。 > **简体中文** | [English](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.1.1/RELEASE_NOTES_2.1.1_en-US.md) ## 官方 Cloud 已迁移到新服务器 内置官方 SPM Cloud 现使用新服务器:**[`https://micaftic.top`](https://micaftic.top)**。这是模型库、账号与外观同步服务的地址,不是 Minecraft 游戏服务器地址;Minecraft 服主无需更改服务器地址或安装 SPM。 模组会将旧官方地址 `https://micafic.xyz` 的已保存配置自动切换到新地址。自建或社区 Cloud 实例仍保留各自的地址与数据;切换 Cloud 实例不会迁移账号、模型库或身份绑定。 ## Cloud 模型库与上传 - 模型目录按稳定 asset ID 分页,每页最多 80 项;客户端缓存页面并保护游标历史,避免重复或失效游标造成列表卡住。 - 服务启动只读取 SQLite 元数据,不会枚举并反序列化对象目录中的所有模型。 - 上传处理并发限制为 2,模型扫描与解码限制为 1。对象上传继续流式写入临时文件并校验大小与哈希,以限制批量上传时的资源峰值。 - Cloud 本地副本放在 `config/sparkle_morpher/cloud_models`,与普通本地模型分开;旧版目录会迁移。Cloud 详情栏提供打开副本目录的入口。 - Cloud 界面恢复 Cloud 专属操作;本地模型界面保留右侧详情栏,筛选为“全部 / 收藏 / 未收藏”,本地操作移至底部工具栏。 - 官方 Cloud 后端使用独立 Rust 服务,不再包含 Cloudflare Worker / Wrangler 部署代码。旧 PBKDF2 账号凭据仍保留兼容验证。 ## 构建文件 每个构建均有完整 JAR;另提供不含原生库的 CurseForge 安全版 JAR。 | Loader | Minecraft | 完整 JAR | CurseForge 安全版 | |---|---|---|---| | Fabric | 1.21.1 | `sparkle-morpher-2.1.1-fa1.21.1.jar` | `sparkle-morpher-2.1.1-fa1.21.1-curseforge.jar` | | Fabric | 26.1.2 | `sparkle-morpher-2.1.1-fa26.1.x.jar` | `sparkle-morpher-2.1.1-fa26.1.x-curseforge.jar` | | Fabric | 26.2 | `sparkle-morpher-2.1.1-fa26.2.jar` | `sparkle-morpher-2.1.1-fa26.2-curseforge.jar` | | Fabric | 26.3 | `sparkle-morpher-2.1.1-fa26.3.jar` | `sparkle-morpher-2.1.1-fa26.3-curseforge.jar` | | NeoForge | 1.21.1 | `sparkle-morpher-2.1.1-neo1.21.1.jar` | `sparkle-morpher-2.1.1-neo1.21.1-curseforge.jar` | | NeoForge | 26.1.2 | `sparkle-morpher-2.1.1-neo26.1.x.jar` | `sparkle-morpher-2.1.1-neo26.1.x-curseforge.jar` | | NeoForge | 26.2 | `sparkle-morpher-2.1.1-neo26.2.jar` | `sparkle-morpher-2.1.1-neo26.2-curseforge.jar` | | NeoForge | 26.3 | `sparkle-morpher-2.1.1-neo26.3.jar` | `sparkle-morpher-2.1.1-neo26.3-curseforge.jar` | ## 验证范围 发行构建将对八个实际仓库逐个执行 clean Gradle 构建,并检查 CurseForge 安全版不包含 `natives/`、DLL、SO、DYLIB 或 EXE 文件。此次没有在目标低配服务器上完成 1000 模型端到端压测,也没有进行 Minecraft 客户端可视烟测;服务器高负载下的实测指标仍待目标环境验证。
release

Sparkle Morpher 2.1.1 - NeoForge 26.2

2.1.1
12 окт. 2026 г.35Minecraft: 26.2neoforge
Скачать
Что нового
# Sparkle Morpher 2.1.1 支持 Fabric 与 NeoForge 的 Minecraft 1.21.1、26.1.2、26.2 和 26.3,共八种构建。 > **简体中文** | [English](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.1.1/RELEASE_NOTES_2.1.1_en-US.md) ## 官方 Cloud 已迁移到新服务器 内置官方 SPM Cloud 现使用新服务器:**[`https://micaftic.top`](https://micaftic.top)**。这是模型库、账号与外观同步服务的地址,不是 Minecraft 游戏服务器地址;Minecraft 服主无需更改服务器地址或安装 SPM。 模组会将旧官方地址 `https://micafic.xyz` 的已保存配置自动切换到新地址。自建或社区 Cloud 实例仍保留各自的地址与数据;切换 Cloud 实例不会迁移账号、模型库或身份绑定。 ## Cloud 模型库与上传 - 模型目录按稳定 asset ID 分页,每页最多 80 项;客户端缓存页面并保护游标历史,避免重复或失效游标造成列表卡住。 - 服务启动只读取 SQLite 元数据,不会枚举并反序列化对象目录中的所有模型。 - 上传处理并发限制为 2,模型扫描与解码限制为 1。对象上传继续流式写入临时文件并校验大小与哈希,以限制批量上传时的资源峰值。 - Cloud 本地副本放在 `config/sparkle_morpher/cloud_models`,与普通本地模型分开;旧版目录会迁移。Cloud 详情栏提供打开副本目录的入口。 - Cloud 界面恢复 Cloud 专属操作;本地模型界面保留右侧详情栏,筛选为“全部 / 收藏 / 未收藏”,本地操作移至底部工具栏。 - 官方 Cloud 后端使用独立 Rust 服务,不再包含 Cloudflare Worker / Wrangler 部署代码。旧 PBKDF2 账号凭据仍保留兼容验证。 ## 构建文件 每个构建均有完整 JAR;另提供不含原生库的 CurseForge 安全版 JAR。 | Loader | Minecraft | 完整 JAR | CurseForge 安全版 | |---|---|---|---| | Fabric | 1.21.1 | `sparkle-morpher-2.1.1-fa1.21.1.jar` | `sparkle-morpher-2.1.1-fa1.21.1-curseforge.jar` | | Fabric | 26.1.2 | `sparkle-morpher-2.1.1-fa26.1.x.jar` | `sparkle-morpher-2.1.1-fa26.1.x-curseforge.jar` | | Fabric | 26.2 | `sparkle-morpher-2.1.1-fa26.2.jar` | `sparkle-morpher-2.1.1-fa26.2-curseforge.jar` | | Fabric | 26.3 | `sparkle-morpher-2.1.1-fa26.3.jar` | `sparkle-morpher-2.1.1-fa26.3-curseforge.jar` | | NeoForge | 1.21.1 | `sparkle-morpher-2.1.1-neo1.21.1.jar` | `sparkle-morpher-2.1.1-neo1.21.1-curseforge.jar` | | NeoForge | 26.1.2 | `sparkle-morpher-2.1.1-neo26.1.x.jar` | `sparkle-morpher-2.1.1-neo26.1.x-curseforge.jar` | | NeoForge | 26.2 | `sparkle-morpher-2.1.1-neo26.2.jar` | `sparkle-morpher-2.1.1-neo26.2-curseforge.jar` | | NeoForge | 26.3 | `sparkle-morpher-2.1.1-neo26.3.jar` | `sparkle-morpher-2.1.1-neo26.3-curseforge.jar` | ## 验证范围 发行构建将对八个实际仓库逐个执行 clean Gradle 构建,并检查 CurseForge 安全版不包含 `natives/`、DLL、SO、DYLIB 或 EXE 文件。此次没有在目标低配服务器上完成 1000 模型端到端压测,也没有进行 Minecraft 客户端可视烟测;服务器高负载下的实测指标仍待目标环境验证。
release

Sparkle Morpher 2.1.1 - NeoForge 26.1.x

2.1.1
12 окт. 2026 г.20Minecraft: 26.1.2neoforge
Скачать
Что нового
# Sparkle Morpher 2.1.1 支持 Fabric 与 NeoForge 的 Minecraft 1.21.1、26.1.2、26.2 和 26.3,共八种构建。 > **简体中文** | [English](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.1.1/RELEASE_NOTES_2.1.1_en-US.md) ## 官方 Cloud 已迁移到新服务器 内置官方 SPM Cloud 现使用新服务器:**[`https://micaftic.top`](https://micaftic.top)**。这是模型库、账号与外观同步服务的地址,不是 Minecraft 游戏服务器地址;Minecraft 服主无需更改服务器地址或安装 SPM。 模组会将旧官方地址 `https://micafic.xyz` 的已保存配置自动切换到新地址。自建或社区 Cloud 实例仍保留各自的地址与数据;切换 Cloud 实例不会迁移账号、模型库或身份绑定。 ## Cloud 模型库与上传 - 模型目录按稳定 asset ID 分页,每页最多 80 项;客户端缓存页面并保护游标历史,避免重复或失效游标造成列表卡住。 - 服务启动只读取 SQLite 元数据,不会枚举并反序列化对象目录中的所有模型。 - 上传处理并发限制为 2,模型扫描与解码限制为 1。对象上传继续流式写入临时文件并校验大小与哈希,以限制批量上传时的资源峰值。 - Cloud 本地副本放在 `config/sparkle_morpher/cloud_models`,与普通本地模型分开;旧版目录会迁移。Cloud 详情栏提供打开副本目录的入口。 - Cloud 界面恢复 Cloud 专属操作;本地模型界面保留右侧详情栏,筛选为“全部 / 收藏 / 未收藏”,本地操作移至底部工具栏。 - 官方 Cloud 后端使用独立 Rust 服务,不再包含 Cloudflare Worker / Wrangler 部署代码。旧 PBKDF2 账号凭据仍保留兼容验证。 ## 构建文件 每个构建均有完整 JAR;另提供不含原生库的 CurseForge 安全版 JAR。 | Loader | Minecraft | 完整 JAR | CurseForge 安全版 | |---|---|---|---| | Fabric | 1.21.1 | `sparkle-morpher-2.1.1-fa1.21.1.jar` | `sparkle-morpher-2.1.1-fa1.21.1-curseforge.jar` | | Fabric | 26.1.2 | `sparkle-morpher-2.1.1-fa26.1.x.jar` | `sparkle-morpher-2.1.1-fa26.1.x-curseforge.jar` | | Fabric | 26.2 | `sparkle-morpher-2.1.1-fa26.2.jar` | `sparkle-morpher-2.1.1-fa26.2-curseforge.jar` | | Fabric | 26.3 | `sparkle-morpher-2.1.1-fa26.3.jar` | `sparkle-morpher-2.1.1-fa26.3-curseforge.jar` | | NeoForge | 1.21.1 | `sparkle-morpher-2.1.1-neo1.21.1.jar` | `sparkle-morpher-2.1.1-neo1.21.1-curseforge.jar` | | NeoForge | 26.1.2 | `sparkle-morpher-2.1.1-neo26.1.x.jar` | `sparkle-morpher-2.1.1-neo26.1.x-curseforge.jar` | | NeoForge | 26.2 | `sparkle-morpher-2.1.1-neo26.2.jar` | `sparkle-morpher-2.1.1-neo26.2-curseforge.jar` | | NeoForge | 26.3 | `sparkle-morpher-2.1.1-neo26.3.jar` | `sparkle-morpher-2.1.1-neo26.3-curseforge.jar` | ## 验证范围 发行构建将对八个实际仓库逐个执行 clean Gradle 构建,并检查 CurseForge 安全版不包含 `natives/`、DLL、SO、DYLIB 或 EXE 文件。此次没有在目标低配服务器上完成 1000 模型端到端压测,也没有进行 Minecraft 客户端可视烟测;服务器高负载下的实测指标仍待目标环境验证。
release

Sparkle Morpher 2.1.1 - NeoForge 1.21.1

2.1.1
12 окт. 2026 г.163Minecraft: 1.21.1neoforge
Скачать
Что нового
# Sparkle Morpher 2.1.1 支持 Fabric 与 NeoForge 的 Minecraft 1.21.1、26.1.2、26.2 和 26.3,共八种构建。 > **简体中文** | [English](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.1.1/RELEASE_NOTES_2.1.1_en-US.md) ## 官方 Cloud 已迁移到新服务器 内置官方 SPM Cloud 现使用新服务器:**[`https://micaftic.top`](https://micaftic.top)**。这是模型库、账号与外观同步服务的地址,不是 Minecraft 游戏服务器地址;Minecraft 服主无需更改服务器地址或安装 SPM。 模组会将旧官方地址 `https://micafic.xyz` 的已保存配置自动切换到新地址。自建或社区 Cloud 实例仍保留各自的地址与数据;切换 Cloud 实例不会迁移账号、模型库或身份绑定。 ## Cloud 模型库与上传 - 模型目录按稳定 asset ID 分页,每页最多 80 项;客户端缓存页面并保护游标历史,避免重复或失效游标造成列表卡住。 - 服务启动只读取 SQLite 元数据,不会枚举并反序列化对象目录中的所有模型。 - 上传处理并发限制为 2,模型扫描与解码限制为 1。对象上传继续流式写入临时文件并校验大小与哈希,以限制批量上传时的资源峰值。 - Cloud 本地副本放在 `config/sparkle_morpher/cloud_models`,与普通本地模型分开;旧版目录会迁移。Cloud 详情栏提供打开副本目录的入口。 - Cloud 界面恢复 Cloud 专属操作;本地模型界面保留右侧详情栏,筛选为“全部 / 收藏 / 未收藏”,本地操作移至底部工具栏。 - 官方 Cloud 后端使用独立 Rust 服务,不再包含 Cloudflare Worker / Wrangler 部署代码。旧 PBKDF2 账号凭据仍保留兼容验证。 ## 构建文件 每个构建均有完整 JAR;另提供不含原生库的 CurseForge 安全版 JAR。 | Loader | Minecraft | 完整 JAR | CurseForge 安全版 | |---|---|---|---| | Fabric | 1.21.1 | `sparkle-morpher-2.1.1-fa1.21.1.jar` | `sparkle-morpher-2.1.1-fa1.21.1-curseforge.jar` | | Fabric | 26.1.2 | `sparkle-morpher-2.1.1-fa26.1.x.jar` | `sparkle-morpher-2.1.1-fa26.1.x-curseforge.jar` | | Fabric | 26.2 | `sparkle-morpher-2.1.1-fa26.2.jar` | `sparkle-morpher-2.1.1-fa26.2-curseforge.jar` | | Fabric | 26.3 | `sparkle-morpher-2.1.1-fa26.3.jar` | `sparkle-morpher-2.1.1-fa26.3-curseforge.jar` | | NeoForge | 1.21.1 | `sparkle-morpher-2.1.1-neo1.21.1.jar` | `sparkle-morpher-2.1.1-neo1.21.1-curseforge.jar` | | NeoForge | 26.1.2 | `sparkle-morpher-2.1.1-neo26.1.x.jar` | `sparkle-morpher-2.1.1-neo26.1.x-curseforge.jar` | | NeoForge | 26.2 | `sparkle-morpher-2.1.1-neo26.2.jar` | `sparkle-morpher-2.1.1-neo26.2-curseforge.jar` | | NeoForge | 26.3 | `sparkle-morpher-2.1.1-neo26.3.jar` | `sparkle-morpher-2.1.1-neo26.3-curseforge.jar` | ## 验证范围 发行构建将对八个实际仓库逐个执行 clean Gradle 构建,并检查 CurseForge 安全版不包含 `natives/`、DLL、SO、DYLIB 或 EXE 文件。此次没有在目标低配服务器上完成 1000 模型端到端压测,也没有进行 Minecraft 客户端可视烟测;服务器高负载下的实测指标仍待目标环境验证。
release

Sparkle Morpher 2.1.1 - Fabric 26.3

2.1.1
12 окт. 2026 г.185Minecraft: 26.3fabric
Скачать
Что нового
# Sparkle Morpher 2.1.1 支持 Fabric 与 NeoForge 的 Minecraft 1.21.1、26.1.2、26.2 和 26.3,共八种构建。 > **简体中文** | [English](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.1.1/RELEASE_NOTES_2.1.1_en-US.md) ## 官方 Cloud 已迁移到新服务器 内置官方 SPM Cloud 现使用新服务器:**[`https://micaftic.top`](https://micaftic.top)**。这是模型库、账号与外观同步服务的地址,不是 Minecraft 游戏服务器地址;Minecraft 服主无需更改服务器地址或安装 SPM。 模组会将旧官方地址 `https://micafic.xyz` 的已保存配置自动切换到新地址。自建或社区 Cloud 实例仍保留各自的地址与数据;切换 Cloud 实例不会迁移账号、模型库或身份绑定。 ## Cloud 模型库与上传 - 模型目录按稳定 asset ID 分页,每页最多 80 项;客户端缓存页面并保护游标历史,避免重复或失效游标造成列表卡住。 - 服务启动只读取 SQLite 元数据,不会枚举并反序列化对象目录中的所有模型。 - 上传处理并发限制为 2,模型扫描与解码限制为 1。对象上传继续流式写入临时文件并校验大小与哈希,以限制批量上传时的资源峰值。 - Cloud 本地副本放在 `config/sparkle_morpher/cloud_models`,与普通本地模型分开;旧版目录会迁移。Cloud 详情栏提供打开副本目录的入口。 - Cloud 界面恢复 Cloud 专属操作;本地模型界面保留右侧详情栏,筛选为“全部 / 收藏 / 未收藏”,本地操作移至底部工具栏。 - 官方 Cloud 后端使用独立 Rust 服务,不再包含 Cloudflare Worker / Wrangler 部署代码。旧 PBKDF2 账号凭据仍保留兼容验证。 ## 构建文件 每个构建均有完整 JAR;另提供不含原生库的 CurseForge 安全版 JAR。 | Loader | Minecraft | 完整 JAR | CurseForge 安全版 | |---|---|---|---| | Fabric | 1.21.1 | `sparkle-morpher-2.1.1-fa1.21.1.jar` | `sparkle-morpher-2.1.1-fa1.21.1-curseforge.jar` | | Fabric | 26.1.2 | `sparkle-morpher-2.1.1-fa26.1.x.jar` | `sparkle-morpher-2.1.1-fa26.1.x-curseforge.jar` | | Fabric | 26.2 | `sparkle-morpher-2.1.1-fa26.2.jar` | `sparkle-morpher-2.1.1-fa26.2-curseforge.jar` | | Fabric | 26.3 | `sparkle-morpher-2.1.1-fa26.3.jar` | `sparkle-morpher-2.1.1-fa26.3-curseforge.jar` | | NeoForge | 1.21.1 | `sparkle-morpher-2.1.1-neo1.21.1.jar` | `sparkle-morpher-2.1.1-neo1.21.1-curseforge.jar` | | NeoForge | 26.1.2 | `sparkle-morpher-2.1.1-neo26.1.x.jar` | `sparkle-morpher-2.1.1-neo26.1.x-curseforge.jar` | | NeoForge | 26.2 | `sparkle-morpher-2.1.1-neo26.2.jar` | `sparkle-morpher-2.1.1-neo26.2-curseforge.jar` | | NeoForge | 26.3 | `sparkle-morpher-2.1.1-neo26.3.jar` | `sparkle-morpher-2.1.1-neo26.3-curseforge.jar` | ## 验证范围 发行构建将对八个实际仓库逐个执行 clean Gradle 构建,并检查 CurseForge 安全版不包含 `natives/`、DLL、SO、DYLIB 或 EXE 文件。此次没有在目标低配服务器上完成 1000 模型端到端压测,也没有进行 Minecraft 客户端可视烟测;服务器高负载下的实测指标仍待目标环境验证。
release

Sparkle Morpher 2.1.1 - Fabric 26.2

2.1.1
12 окт. 2026 г.112Minecraft: 26.2fabric
Скачать
Что нового
# Sparkle Morpher 2.1.1 支持 Fabric 与 NeoForge 的 Minecraft 1.21.1、26.1.2、26.2 和 26.3,共八种构建。 > **简体中文** | [English](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.1.1/RELEASE_NOTES_2.1.1_en-US.md) ## 官方 Cloud 已迁移到新服务器 内置官方 SPM Cloud 现使用新服务器:**[`https://micaftic.top`](https://micaftic.top)**。这是模型库、账号与外观同步服务的地址,不是 Minecraft 游戏服务器地址;Minecraft 服主无需更改服务器地址或安装 SPM。 模组会将旧官方地址 `https://micafic.xyz` 的已保存配置自动切换到新地址。自建或社区 Cloud 实例仍保留各自的地址与数据;切换 Cloud 实例不会迁移账号、模型库或身份绑定。 ## Cloud 模型库与上传 - 模型目录按稳定 asset ID 分页,每页最多 80 项;客户端缓存页面并保护游标历史,避免重复或失效游标造成列表卡住。 - 服务启动只读取 SQLite 元数据,不会枚举并反序列化对象目录中的所有模型。 - 上传处理并发限制为 2,模型扫描与解码限制为 1。对象上传继续流式写入临时文件并校验大小与哈希,以限制批量上传时的资源峰值。 - Cloud 本地副本放在 `config/sparkle_morpher/cloud_models`,与普通本地模型分开;旧版目录会迁移。Cloud 详情栏提供打开副本目录的入口。 - Cloud 界面恢复 Cloud 专属操作;本地模型界面保留右侧详情栏,筛选为“全部 / 收藏 / 未收藏”,本地操作移至底部工具栏。 - 官方 Cloud 后端使用独立 Rust 服务,不再包含 Cloudflare Worker / Wrangler 部署代码。旧 PBKDF2 账号凭据仍保留兼容验证。 ## 构建文件 每个构建均有完整 JAR;另提供不含原生库的 CurseForge 安全版 JAR。 | Loader | Minecraft | 完整 JAR | CurseForge 安全版 | |---|---|---|---| | Fabric | 1.21.1 | `sparkle-morpher-2.1.1-fa1.21.1.jar` | `sparkle-morpher-2.1.1-fa1.21.1-curseforge.jar` | | Fabric | 26.1.2 | `sparkle-morpher-2.1.1-fa26.1.x.jar` | `sparkle-morpher-2.1.1-fa26.1.x-curseforge.jar` | | Fabric | 26.2 | `sparkle-morpher-2.1.1-fa26.2.jar` | `sparkle-morpher-2.1.1-fa26.2-curseforge.jar` | | Fabric | 26.3 | `sparkle-morpher-2.1.1-fa26.3.jar` | `sparkle-morpher-2.1.1-fa26.3-curseforge.jar` | | NeoForge | 1.21.1 | `sparkle-morpher-2.1.1-neo1.21.1.jar` | `sparkle-morpher-2.1.1-neo1.21.1-curseforge.jar` | | NeoForge | 26.1.2 | `sparkle-morpher-2.1.1-neo26.1.x.jar` | `sparkle-morpher-2.1.1-neo26.1.x-curseforge.jar` | | NeoForge | 26.2 | `sparkle-morpher-2.1.1-neo26.2.jar` | `sparkle-morpher-2.1.1-neo26.2-curseforge.jar` | | NeoForge | 26.3 | `sparkle-morpher-2.1.1-neo26.3.jar` | `sparkle-morpher-2.1.1-neo26.3-curseforge.jar` | ## 验证范围 发行构建将对八个实际仓库逐个执行 clean Gradle 构建,并检查 CurseForge 安全版不包含 `natives/`、DLL、SO、DYLIB 或 EXE 文件。此次没有在目标低配服务器上完成 1000 模型端到端压测,也没有进行 Minecraft 客户端可视烟测;服务器高负载下的实测指标仍待目标环境验证。
release

Sparkle Morpher 2.1.1 - Fabric 26.1.x

2.1.1
12 окт. 2026 г.44Minecraft: 26.1.2fabric
Скачать
Что нового
# Sparkle Morpher 2.1.1 支持 Fabric 与 NeoForge 的 Minecraft 1.21.1、26.1.2、26.2 和 26.3,共八种构建。 > **简体中文** | [English](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.1.1/RELEASE_NOTES_2.1.1_en-US.md) ## 官方 Cloud 已迁移到新服务器 内置官方 SPM Cloud 现使用新服务器:**[`https://micaftic.top`](https://micaftic.top)**。这是模型库、账号与外观同步服务的地址,不是 Minecraft 游戏服务器地址;Minecraft 服主无需更改服务器地址或安装 SPM。 模组会将旧官方地址 `https://micafic.xyz` 的已保存配置自动切换到新地址。自建或社区 Cloud 实例仍保留各自的地址与数据;切换 Cloud 实例不会迁移账号、模型库或身份绑定。 ## Cloud 模型库与上传 - 模型目录按稳定 asset ID 分页,每页最多 80 项;客户端缓存页面并保护游标历史,避免重复或失效游标造成列表卡住。 - 服务启动只读取 SQLite 元数据,不会枚举并反序列化对象目录中的所有模型。 - 上传处理并发限制为 2,模型扫描与解码限制为 1。对象上传继续流式写入临时文件并校验大小与哈希,以限制批量上传时的资源峰值。 - Cloud 本地副本放在 `config/sparkle_morpher/cloud_models`,与普通本地模型分开;旧版目录会迁移。Cloud 详情栏提供打开副本目录的入口。 - Cloud 界面恢复 Cloud 专属操作;本地模型界面保留右侧详情栏,筛选为“全部 / 收藏 / 未收藏”,本地操作移至底部工具栏。 - 官方 Cloud 后端使用独立 Rust 服务,不再包含 Cloudflare Worker / Wrangler 部署代码。旧 PBKDF2 账号凭据仍保留兼容验证。 ## 构建文件 每个构建均有完整 JAR;另提供不含原生库的 CurseForge 安全版 JAR。 | Loader | Minecraft | 完整 JAR | CurseForge 安全版 | |---|---|---|---| | Fabric | 1.21.1 | `sparkle-morpher-2.1.1-fa1.21.1.jar` | `sparkle-morpher-2.1.1-fa1.21.1-curseforge.jar` | | Fabric | 26.1.2 | `sparkle-morpher-2.1.1-fa26.1.x.jar` | `sparkle-morpher-2.1.1-fa26.1.x-curseforge.jar` | | Fabric | 26.2 | `sparkle-morpher-2.1.1-fa26.2.jar` | `sparkle-morpher-2.1.1-fa26.2-curseforge.jar` | | Fabric | 26.3 | `sparkle-morpher-2.1.1-fa26.3.jar` | `sparkle-morpher-2.1.1-fa26.3-curseforge.jar` | | NeoForge | 1.21.1 | `sparkle-morpher-2.1.1-neo1.21.1.jar` | `sparkle-morpher-2.1.1-neo1.21.1-curseforge.jar` | | NeoForge | 26.1.2 | `sparkle-morpher-2.1.1-neo26.1.x.jar` | `sparkle-morpher-2.1.1-neo26.1.x-curseforge.jar` | | NeoForge | 26.2 | `sparkle-morpher-2.1.1-neo26.2.jar` | `sparkle-morpher-2.1.1-neo26.2-curseforge.jar` | | NeoForge | 26.3 | `sparkle-morpher-2.1.1-neo26.3.jar` | `sparkle-morpher-2.1.1-neo26.3-curseforge.jar` | ## 验证范围 发行构建将对八个实际仓库逐个执行 clean Gradle 构建,并检查 CurseForge 安全版不包含 `natives/`、DLL、SO、DYLIB 或 EXE 文件。此次没有在目标低配服务器上完成 1000 模型端到端压测,也没有进行 Minecraft 客户端可视烟测;服务器高负载下的实测指标仍待目标环境验证。
release

Sparkle Morpher 2.1.1 - Fabric 1.21.1

2.1.1
12 окт. 2026 г.33Minecraft: 1.21.1fabric
Скачать
Что нового
# Sparkle Morpher 2.1.1 支持 Fabric 与 NeoForge 的 Minecraft 1.21.1、26.1.2、26.2 和 26.3,共八种构建。 > **简体中文** | [English](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.1.1/RELEASE_NOTES_2.1.1_en-US.md) ## 官方 Cloud 已迁移到新服务器 内置官方 SPM Cloud 现使用新服务器:**[`https://micaftic.top`](https://micaftic.top)**。这是模型库、账号与外观同步服务的地址,不是 Minecraft 游戏服务器地址;Minecraft 服主无需更改服务器地址或安装 SPM。 模组会将旧官方地址 `https://micafic.xyz` 的已保存配置自动切换到新地址。自建或社区 Cloud 实例仍保留各自的地址与数据;切换 Cloud 实例不会迁移账号、模型库或身份绑定。 ## Cloud 模型库与上传 - 模型目录按稳定 asset ID 分页,每页最多 80 项;客户端缓存页面并保护游标历史,避免重复或失效游标造成列表卡住。 - 服务启动只读取 SQLite 元数据,不会枚举并反序列化对象目录中的所有模型。 - 上传处理并发限制为 2,模型扫描与解码限制为 1。对象上传继续流式写入临时文件并校验大小与哈希,以限制批量上传时的资源峰值。 - Cloud 本地副本放在 `config/sparkle_morpher/cloud_models`,与普通本地模型分开;旧版目录会迁移。Cloud 详情栏提供打开副本目录的入口。 - Cloud 界面恢复 Cloud 专属操作;本地模型界面保留右侧详情栏,筛选为“全部 / 收藏 / 未收藏”,本地操作移至底部工具栏。 - 官方 Cloud 后端使用独立 Rust 服务,不再包含 Cloudflare Worker / Wrangler 部署代码。旧 PBKDF2 账号凭据仍保留兼容验证。 ## 构建文件 每个构建均有完整 JAR;另提供不含原生库的 CurseForge 安全版 JAR。 | Loader | Minecraft | 完整 JAR | CurseForge 安全版 | |---|---|---|---| | Fabric | 1.21.1 | `sparkle-morpher-2.1.1-fa1.21.1.jar` | `sparkle-morpher-2.1.1-fa1.21.1-curseforge.jar` | | Fabric | 26.1.2 | `sparkle-morpher-2.1.1-fa26.1.x.jar` | `sparkle-morpher-2.1.1-fa26.1.x-curseforge.jar` | | Fabric | 26.2 | `sparkle-morpher-2.1.1-fa26.2.jar` | `sparkle-morpher-2.1.1-fa26.2-curseforge.jar` | | Fabric | 26.3 | `sparkle-morpher-2.1.1-fa26.3.jar` | `sparkle-morpher-2.1.1-fa26.3-curseforge.jar` | | NeoForge | 1.21.1 | `sparkle-morpher-2.1.1-neo1.21.1.jar` | `sparkle-morpher-2.1.1-neo1.21.1-curseforge.jar` | | NeoForge | 26.1.2 | `sparkle-morpher-2.1.1-neo26.1.x.jar` | `sparkle-morpher-2.1.1-neo26.1.x-curseforge.jar` | | NeoForge | 26.2 | `sparkle-morpher-2.1.1-neo26.2.jar` | `sparkle-morpher-2.1.1-neo26.2-curseforge.jar` | | NeoForge | 26.3 | `sparkle-morpher-2.1.1-neo26.3.jar` | `sparkle-morpher-2.1.1-neo26.3-curseforge.jar` | ## 验证范围 发行构建将对八个实际仓库逐个执行 clean Gradle 构建,并检查 CurseForge 安全版不包含 `natives/`、DLL、SO、DYLIB 或 EXE 文件。此次没有在目标低配服务器上完成 1000 模型端到端压测,也没有进行 Minecraft 客户端可视烟测;服务器高负载下的实测指标仍待目标环境验证。
release

Sparkle Morpher 2.1.0 - NeoForge 26.3

2.1.0
11 окт. 2026 г.28Minecraft: 26.3neoforge
Скачать
Что нового
# Sparkle Morpher 2.1.0 > **English** | [中文](https://github.com/sdf123098/Sparkle-Morpher/blob/main/RELEASE_NOTES_2.1.0_zh.md) This document covers Sparkle Morpher development records from October 7–11, 2026, and the Cloud upload screen redesign discussed in this conversation. The version number remains **2.1.0**. [Download this README](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.1.0/README_2.1.0.md) · [All GitHub release files](https://github.com/sdf123098/Sparkle-Morpher/releases/tag/v2.1.0) ## Supported versions | Minecraft | Loader | Java | | --- | --- | --- | | 1.21.1 | Fabric / NeoForge | 21 | | 26.1.2 (release filenames use 26.1.x) | Fabric / NeoForge | 25 | | 26.2 | Fabric / NeoForge | 25 | | 26.3 | Fabric / NeoForge | 25 | Choose the JAR matching your Minecraft version and loader, and install only one variant. GitHub and Modrinth provide the standard distribution with native components. CurseForge provides a dedicated distribution without native binaries. ## Cloud upload screen: changes from this conversation - Upload opens in a separate secondary screen. It shares the custom roulette editor's glass panel, translucent background, thin borders, list headers and button styling. - Two tabs let you select existing local models or choose files on your computer through the system file picker. - All tabs and controls use icons except the target Cloud button. Hover tooltips and narration labels remain available. - Upload failure details use the same styling. A failed item's checkbox selects it for retry; clicking the item body opens the failure details. - The window, list, spacing and toolbar adapt to available space, preserving list space at higher GUI scales. These interface changes are included in all eight release targets. ## Model panel and importing - Search, filtering, navigation, pagination and actions share more compact areas, reducing toolbar space. Small logical viewports use a side menu for the main tabs. - Local and Cloud cards share sizing and layout rules, starting at the top left. GUI scales 3–4 use compact cards to display more rows and columns. - Cloud cards and classic lists hide favorite/public status. Cards no longer offer visibility controls. The community Cloud's "All models" view is for viewing and applying models. - The 26.3 system file picker uses the game's existing SDL native dialog. It supports multiple selection and filters for ysm, zip, bbmodel, gltf and glb. Cancellation, repeated opening, callback path copying and native object lifetimes are handled. ## Related changes from October 7–11 - **Local model state:** client services and stores manage local scanning, favorites, authorization filtering, the last selection and sound preferences. Older settings migrate, and failed loads preserve the original files and caches. - **Legacy path retirement:** the old Minecraft server model synchronization protocol, registration paths, events without consumers and old configuration were removed. Active client, Cloud and maid compatibility paths, along with persistence compatibility identifiers, are preserved. - **Import stability:** persisted commits and runtime publication results are distinguished. Concurrent imports of the same model, stale requests, out-of-order directory scans, task cancellation and asynchronous callbacks after a screen closes are handled. Failed imports do not replace an existing valid source. - **glTF and presentation capabilities:** external resource dependencies and content fingerprints are recorded, resource paths are restricted, and preview, texture and action controls follow each model's actual capabilities. Traditional GPU trimming is avoided for runtimes that do not support it. - **Resource lifetimes:** client model residency ownership is explicit, active references are protected, and preview, cache cleanup, download queue and settings panel layout/lifetime handling were improved. - **26.3 migration:** SDL input, poses/swing actions, RenderPearl pipelines, frame graphs, resource packs, item submission, Cloud SessionService and NeoForge client interfaces were adapted. Model scripts retain their previous key-value semantics. - **Localization:** account and password validation errors use translatable reasons. Missing shared language entries were added, with corrections to target types, texture titles, developer status and upload error messages. This document summarizes implemented features. Release records from other projects, workspace cleanup logs, raw build logs, deployment credentials and plans that were not implemented are excluded. ## Build and verification scope - All eight targets completed clean builds for both the standard and CurseForge distributions: **16 JARs** in total. Build caching was disabled and tasks were forced to run again. - Release checks covered ZIP integrity, loader metadata, interface classes and native component distribution. Standard JARs contain native components; CurseForge JARs contain no native binaries. - Upload layout checks covered logical viewports from 320×180 to 1920×1080. Compilation passed on all eight branches. - October 7–11 records include automated regression checks and some development-client/26.3 basic startup checks. These do not establish complete gameplay acceptance for the final JARs in this release. **Still to verify:** complete in-game interaction with the final JARs, multiple clients and Cloud permission/reconnection scenarios, compatibility mod combinations, and actual Vulkan operation. The F11 native shader crash was investigated, but its cause remains undetermined and it is not claimed fixed. Experimental capabilities and items awaiting acceptance are not claimed as officially supported. Use the language links at the top to switch between the English and Chinese versions. Both Markdown files are attached to the GitHub release.
release

Sparkle Morpher 2.1.0 - NeoForge 26.2

2.1.0
11 окт. 2026 г.12Minecraft: 26.2neoforge
Скачать
Что нового
# Sparkle Morpher 2.1.0 > **English** | [中文](https://github.com/sdf123098/Sparkle-Morpher/blob/main/RELEASE_NOTES_2.1.0_zh.md) This document covers Sparkle Morpher development records from October 7–11, 2026, and the Cloud upload screen redesign discussed in this conversation. The version number remains **2.1.0**. [Download this README](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.1.0/README_2.1.0.md) · [All GitHub release files](https://github.com/sdf123098/Sparkle-Morpher/releases/tag/v2.1.0) ## Supported versions | Minecraft | Loader | Java | | --- | --- | --- | | 1.21.1 | Fabric / NeoForge | 21 | | 26.1.2 (release filenames use 26.1.x) | Fabric / NeoForge | 25 | | 26.2 | Fabric / NeoForge | 25 | | 26.3 | Fabric / NeoForge | 25 | Choose the JAR matching your Minecraft version and loader, and install only one variant. GitHub and Modrinth provide the standard distribution with native components. CurseForge provides a dedicated distribution without native binaries. ## Cloud upload screen: changes from this conversation - Upload opens in a separate secondary screen. It shares the custom roulette editor's glass panel, translucent background, thin borders, list headers and button styling. - Two tabs let you select existing local models or choose files on your computer through the system file picker. - All tabs and controls use icons except the target Cloud button. Hover tooltips and narration labels remain available. - Upload failure details use the same styling. A failed item's checkbox selects it for retry; clicking the item body opens the failure details. - The window, list, spacing and toolbar adapt to available space, preserving list space at higher GUI scales. These interface changes are included in all eight release targets. ## Model panel and importing - Search, filtering, navigation, pagination and actions share more compact areas, reducing toolbar space. Small logical viewports use a side menu for the main tabs. - Local and Cloud cards share sizing and layout rules, starting at the top left. GUI scales 3–4 use compact cards to display more rows and columns. - Cloud cards and classic lists hide favorite/public status. Cards no longer offer visibility controls. The community Cloud's "All models" view is for viewing and applying models. - The 26.3 system file picker uses the game's existing SDL native dialog. It supports multiple selection and filters for ysm, zip, bbmodel, gltf and glb. Cancellation, repeated opening, callback path copying and native object lifetimes are handled. ## Related changes from October 7–11 - **Local model state:** client services and stores manage local scanning, favorites, authorization filtering, the last selection and sound preferences. Older settings migrate, and failed loads preserve the original files and caches. - **Legacy path retirement:** the old Minecraft server model synchronization protocol, registration paths, events without consumers and old configuration were removed. Active client, Cloud and maid compatibility paths, along with persistence compatibility identifiers, are preserved. - **Import stability:** persisted commits and runtime publication results are distinguished. Concurrent imports of the same model, stale requests, out-of-order directory scans, task cancellation and asynchronous callbacks after a screen closes are handled. Failed imports do not replace an existing valid source. - **glTF and presentation capabilities:** external resource dependencies and content fingerprints are recorded, resource paths are restricted, and preview, texture and action controls follow each model's actual capabilities. Traditional GPU trimming is avoided for runtimes that do not support it. - **Resource lifetimes:** client model residency ownership is explicit, active references are protected, and preview, cache cleanup, download queue and settings panel layout/lifetime handling were improved. - **26.3 migration:** SDL input, poses/swing actions, RenderPearl pipelines, frame graphs, resource packs, item submission, Cloud SessionService and NeoForge client interfaces were adapted. Model scripts retain their previous key-value semantics. - **Localization:** account and password validation errors use translatable reasons. Missing shared language entries were added, with corrections to target types, texture titles, developer status and upload error messages. This document summarizes implemented features. Release records from other projects, workspace cleanup logs, raw build logs, deployment credentials and plans that were not implemented are excluded. ## Build and verification scope - All eight targets completed clean builds for both the standard and CurseForge distributions: **16 JARs** in total. Build caching was disabled and tasks were forced to run again. - Release checks covered ZIP integrity, loader metadata, interface classes and native component distribution. Standard JARs contain native components; CurseForge JARs contain no native binaries. - Upload layout checks covered logical viewports from 320×180 to 1920×1080. Compilation passed on all eight branches. - October 7–11 records include automated regression checks and some development-client/26.3 basic startup checks. These do not establish complete gameplay acceptance for the final JARs in this release. **Still to verify:** complete in-game interaction with the final JARs, multiple clients and Cloud permission/reconnection scenarios, compatibility mod combinations, and actual Vulkan operation. The F11 native shader crash was investigated, but its cause remains undetermined and it is not claimed fixed. Experimental capabilities and items awaiting acceptance are not claimed as officially supported. Use the language links at the top to switch between the English and Chinese versions. Both Markdown files are attached to the GitHub release.
release

Sparkle Morpher 2.1.0 - NeoForge 26.1.x

2.1.0
11 окт. 2026 г.16Minecraft: 26.1.2neoforge
Скачать
Что нового
# Sparkle Morpher 2.1.0 > **English** | [中文](https://github.com/sdf123098/Sparkle-Morpher/blob/main/RELEASE_NOTES_2.1.0_zh.md) This document covers Sparkle Morpher development records from October 7–11, 2026, and the Cloud upload screen redesign discussed in this conversation. The version number remains **2.1.0**. [Download this README](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.1.0/README_2.1.0.md) · [All GitHub release files](https://github.com/sdf123098/Sparkle-Morpher/releases/tag/v2.1.0) ## Supported versions | Minecraft | Loader | Java | | --- | --- | --- | | 1.21.1 | Fabric / NeoForge | 21 | | 26.1.2 (release filenames use 26.1.x) | Fabric / NeoForge | 25 | | 26.2 | Fabric / NeoForge | 25 | | 26.3 | Fabric / NeoForge | 25 | Choose the JAR matching your Minecraft version and loader, and install only one variant. GitHub and Modrinth provide the standard distribution with native components. CurseForge provides a dedicated distribution without native binaries. ## Cloud upload screen: changes from this conversation - Upload opens in a separate secondary screen. It shares the custom roulette editor's glass panel, translucent background, thin borders, list headers and button styling. - Two tabs let you select existing local models or choose files on your computer through the system file picker. - All tabs and controls use icons except the target Cloud button. Hover tooltips and narration labels remain available. - Upload failure details use the same styling. A failed item's checkbox selects it for retry; clicking the item body opens the failure details. - The window, list, spacing and toolbar adapt to available space, preserving list space at higher GUI scales. These interface changes are included in all eight release targets. ## Model panel and importing - Search, filtering, navigation, pagination and actions share more compact areas, reducing toolbar space. Small logical viewports use a side menu for the main tabs. - Local and Cloud cards share sizing and layout rules, starting at the top left. GUI scales 3–4 use compact cards to display more rows and columns. - Cloud cards and classic lists hide favorite/public status. Cards no longer offer visibility controls. The community Cloud's "All models" view is for viewing and applying models. - The 26.3 system file picker uses the game's existing SDL native dialog. It supports multiple selection and filters for ysm, zip, bbmodel, gltf and glb. Cancellation, repeated opening, callback path copying and native object lifetimes are handled. ## Related changes from October 7–11 - **Local model state:** client services and stores manage local scanning, favorites, authorization filtering, the last selection and sound preferences. Older settings migrate, and failed loads preserve the original files and caches. - **Legacy path retirement:** the old Minecraft server model synchronization protocol, registration paths, events without consumers and old configuration were removed. Active client, Cloud and maid compatibility paths, along with persistence compatibility identifiers, are preserved. - **Import stability:** persisted commits and runtime publication results are distinguished. Concurrent imports of the same model, stale requests, out-of-order directory scans, task cancellation and asynchronous callbacks after a screen closes are handled. Failed imports do not replace an existing valid source. - **glTF and presentation capabilities:** external resource dependencies and content fingerprints are recorded, resource paths are restricted, and preview, texture and action controls follow each model's actual capabilities. Traditional GPU trimming is avoided for runtimes that do not support it. - **Resource lifetimes:** client model residency ownership is explicit, active references are protected, and preview, cache cleanup, download queue and settings panel layout/lifetime handling were improved. - **26.3 migration:** SDL input, poses/swing actions, RenderPearl pipelines, frame graphs, resource packs, item submission, Cloud SessionService and NeoForge client interfaces were adapted. Model scripts retain their previous key-value semantics. - **Localization:** account and password validation errors use translatable reasons. Missing shared language entries were added, with corrections to target types, texture titles, developer status and upload error messages. This document summarizes implemented features. Release records from other projects, workspace cleanup logs, raw build logs, deployment credentials and plans that were not implemented are excluded. ## Build and verification scope - All eight targets completed clean builds for both the standard and CurseForge distributions: **16 JARs** in total. Build caching was disabled and tasks were forced to run again. - Release checks covered ZIP integrity, loader metadata, interface classes and native component distribution. Standard JARs contain native components; CurseForge JARs contain no native binaries. - Upload layout checks covered logical viewports from 320×180 to 1920×1080. Compilation passed on all eight branches. - October 7–11 records include automated regression checks and some development-client/26.3 basic startup checks. These do not establish complete gameplay acceptance for the final JARs in this release. **Still to verify:** complete in-game interaction with the final JARs, multiple clients and Cloud permission/reconnection scenarios, compatibility mod combinations, and actual Vulkan operation. The F11 native shader crash was investigated, but its cause remains undetermined and it is not claimed fixed. Experimental capabilities and items awaiting acceptance are not claimed as officially supported. Use the language links at the top to switch between the English and Chinese versions. Both Markdown files are attached to the GitHub release.
release

Sparkle Morpher 2.1.0 - NeoForge 1.21.1

2.1.0
11 окт. 2026 г.32Minecraft: 1.21.1neoforge
Скачать
Что нового
# Sparkle Morpher 2.1.0 > **English** | [中文](https://github.com/sdf123098/Sparkle-Morpher/blob/main/RELEASE_NOTES_2.1.0_zh.md) This document covers Sparkle Morpher development records from October 7–11, 2026, and the Cloud upload screen redesign discussed in this conversation. The version number remains **2.1.0**. [Download this README](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.1.0/README_2.1.0.md) · [All GitHub release files](https://github.com/sdf123098/Sparkle-Morpher/releases/tag/v2.1.0) ## Supported versions | Minecraft | Loader | Java | | --- | --- | --- | | 1.21.1 | Fabric / NeoForge | 21 | | 26.1.2 (release filenames use 26.1.x) | Fabric / NeoForge | 25 | | 26.2 | Fabric / NeoForge | 25 | | 26.3 | Fabric / NeoForge | 25 | Choose the JAR matching your Minecraft version and loader, and install only one variant. GitHub and Modrinth provide the standard distribution with native components. CurseForge provides a dedicated distribution without native binaries. ## Cloud upload screen: changes from this conversation - Upload opens in a separate secondary screen. It shares the custom roulette editor's glass panel, translucent background, thin borders, list headers and button styling. - Two tabs let you select existing local models or choose files on your computer through the system file picker. - All tabs and controls use icons except the target Cloud button. Hover tooltips and narration labels remain available. - Upload failure details use the same styling. A failed item's checkbox selects it for retry; clicking the item body opens the failure details. - The window, list, spacing and toolbar adapt to available space, preserving list space at higher GUI scales. These interface changes are included in all eight release targets. ## Model panel and importing - Search, filtering, navigation, pagination and actions share more compact areas, reducing toolbar space. Small logical viewports use a side menu for the main tabs. - Local and Cloud cards share sizing and layout rules, starting at the top left. GUI scales 3–4 use compact cards to display more rows and columns. - Cloud cards and classic lists hide favorite/public status. Cards no longer offer visibility controls. The community Cloud's "All models" view is for viewing and applying models. - The 26.3 system file picker uses the game's existing SDL native dialog. It supports multiple selection and filters for ysm, zip, bbmodel, gltf and glb. Cancellation, repeated opening, callback path copying and native object lifetimes are handled. ## Related changes from October 7–11 - **Local model state:** client services and stores manage local scanning, favorites, authorization filtering, the last selection and sound preferences. Older settings migrate, and failed loads preserve the original files and caches. - **Legacy path retirement:** the old Minecraft server model synchronization protocol, registration paths, events without consumers and old configuration were removed. Active client, Cloud and maid compatibility paths, along with persistence compatibility identifiers, are preserved. - **Import stability:** persisted commits and runtime publication results are distinguished. Concurrent imports of the same model, stale requests, out-of-order directory scans, task cancellation and asynchronous callbacks after a screen closes are handled. Failed imports do not replace an existing valid source. - **glTF and presentation capabilities:** external resource dependencies and content fingerprints are recorded, resource paths are restricted, and preview, texture and action controls follow each model's actual capabilities. Traditional GPU trimming is avoided for runtimes that do not support it. - **Resource lifetimes:** client model residency ownership is explicit, active references are protected, and preview, cache cleanup, download queue and settings panel layout/lifetime handling were improved. - **26.3 migration:** SDL input, poses/swing actions, RenderPearl pipelines, frame graphs, resource packs, item submission, Cloud SessionService and NeoForge client interfaces were adapted. Model scripts retain their previous key-value semantics. - **Localization:** account and password validation errors use translatable reasons. Missing shared language entries were added, with corrections to target types, texture titles, developer status and upload error messages. This document summarizes implemented features. Release records from other projects, workspace cleanup logs, raw build logs, deployment credentials and plans that were not implemented are excluded. ## Build and verification scope - All eight targets completed clean builds for both the standard and CurseForge distributions: **16 JARs** in total. Build caching was disabled and tasks were forced to run again. - Release checks covered ZIP integrity, loader metadata, interface classes and native component distribution. Standard JARs contain native components; CurseForge JARs contain no native binaries. - Upload layout checks covered logical viewports from 320×180 to 1920×1080. Compilation passed on all eight branches. - October 7–11 records include automated regression checks and some development-client/26.3 basic startup checks. These do not establish complete gameplay acceptance for the final JARs in this release. **Still to verify:** complete in-game interaction with the final JARs, multiple clients and Cloud permission/reconnection scenarios, compatibility mod combinations, and actual Vulkan operation. The F11 native shader crash was investigated, but its cause remains undetermined and it is not claimed fixed. Experimental capabilities and items awaiting acceptance are not claimed as officially supported. Use the language links at the top to switch between the English and Chinese versions. Both Markdown files are attached to the GitHub release.
release

Sparkle Morpher 2.1.0 - Fabric 26.3

2.1.0
11 окт. 2026 г.76Minecraft: 26.3fabric
Скачать
Что нового
# Sparkle Morpher 2.1.0 > **English** | [中文](https://github.com/sdf123098/Sparkle-Morpher/blob/main/RELEASE_NOTES_2.1.0_zh.md) This document covers Sparkle Morpher development records from October 7–11, 2026, and the Cloud upload screen redesign discussed in this conversation. The version number remains **2.1.0**. [Download this README](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.1.0/README_2.1.0.md) · [All GitHub release files](https://github.com/sdf123098/Sparkle-Morpher/releases/tag/v2.1.0) ## Supported versions | Minecraft | Loader | Java | | --- | --- | --- | | 1.21.1 | Fabric / NeoForge | 21 | | 26.1.2 (release filenames use 26.1.x) | Fabric / NeoForge | 25 | | 26.2 | Fabric / NeoForge | 25 | | 26.3 | Fabric / NeoForge | 25 | Choose the JAR matching your Minecraft version and loader, and install only one variant. GitHub and Modrinth provide the standard distribution with native components. CurseForge provides a dedicated distribution without native binaries. ## Cloud upload screen: changes from this conversation - Upload opens in a separate secondary screen. It shares the custom roulette editor's glass panel, translucent background, thin borders, list headers and button styling. - Two tabs let you select existing local models or choose files on your computer through the system file picker. - All tabs and controls use icons except the target Cloud button. Hover tooltips and narration labels remain available. - Upload failure details use the same styling. A failed item's checkbox selects it for retry; clicking the item body opens the failure details. - The window, list, spacing and toolbar adapt to available space, preserving list space at higher GUI scales. These interface changes are included in all eight release targets. ## Model panel and importing - Search, filtering, navigation, pagination and actions share more compact areas, reducing toolbar space. Small logical viewports use a side menu for the main tabs. - Local and Cloud cards share sizing and layout rules, starting at the top left. GUI scales 3–4 use compact cards to display more rows and columns. - Cloud cards and classic lists hide favorite/public status. Cards no longer offer visibility controls. The community Cloud's "All models" view is for viewing and applying models. - The 26.3 system file picker uses the game's existing SDL native dialog. It supports multiple selection and filters for ysm, zip, bbmodel, gltf and glb. Cancellation, repeated opening, callback path copying and native object lifetimes are handled. ## Related changes from October 7–11 - **Local model state:** client services and stores manage local scanning, favorites, authorization filtering, the last selection and sound preferences. Older settings migrate, and failed loads preserve the original files and caches. - **Legacy path retirement:** the old Minecraft server model synchronization protocol, registration paths, events without consumers and old configuration were removed. Active client, Cloud and maid compatibility paths, along with persistence compatibility identifiers, are preserved. - **Import stability:** persisted commits and runtime publication results are distinguished. Concurrent imports of the same model, stale requests, out-of-order directory scans, task cancellation and asynchronous callbacks after a screen closes are handled. Failed imports do not replace an existing valid source. - **glTF and presentation capabilities:** external resource dependencies and content fingerprints are recorded, resource paths are restricted, and preview, texture and action controls follow each model's actual capabilities. Traditional GPU trimming is avoided for runtimes that do not support it. - **Resource lifetimes:** client model residency ownership is explicit, active references are protected, and preview, cache cleanup, download queue and settings panel layout/lifetime handling were improved. - **26.3 migration:** SDL input, poses/swing actions, RenderPearl pipelines, frame graphs, resource packs, item submission, Cloud SessionService and NeoForge client interfaces were adapted. Model scripts retain their previous key-value semantics. - **Localization:** account and password validation errors use translatable reasons. Missing shared language entries were added, with corrections to target types, texture titles, developer status and upload error messages. This document summarizes implemented features. Release records from other projects, workspace cleanup logs, raw build logs, deployment credentials and plans that were not implemented are excluded. ## Build and verification scope - All eight targets completed clean builds for both the standard and CurseForge distributions: **16 JARs** in total. Build caching was disabled and tasks were forced to run again. - Release checks covered ZIP integrity, loader metadata, interface classes and native component distribution. Standard JARs contain native components; CurseForge JARs contain no native binaries. - Upload layout checks covered logical viewports from 320×180 to 1920×1080. Compilation passed on all eight branches. - October 7–11 records include automated regression checks and some development-client/26.3 basic startup checks. These do not establish complete gameplay acceptance for the final JARs in this release. **Still to verify:** complete in-game interaction with the final JARs, multiple clients and Cloud permission/reconnection scenarios, compatibility mod combinations, and actual Vulkan operation. The F11 native shader crash was investigated, but its cause remains undetermined and it is not claimed fixed. Experimental capabilities and items awaiting acceptance are not claimed as officially supported. Use the language links at the top to switch between the English and Chinese versions. Both Markdown files are attached to the GitHub release.
release

Sparkle Morpher 2.1.0 - Fabric 26.2

2.1.0
11 окт. 2026 г.43Minecraft: 26.2fabric
Скачать
Что нового
# Sparkle Morpher 2.1.0 > **English** | [中文](https://github.com/sdf123098/Sparkle-Morpher/blob/main/RELEASE_NOTES_2.1.0_zh.md) This document covers Sparkle Morpher development records from October 7–11, 2026, and the Cloud upload screen redesign discussed in this conversation. The version number remains **2.1.0**. [Download this README](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.1.0/README_2.1.0.md) · [All GitHub release files](https://github.com/sdf123098/Sparkle-Morpher/releases/tag/v2.1.0) ## Supported versions | Minecraft | Loader | Java | | --- | --- | --- | | 1.21.1 | Fabric / NeoForge | 21 | | 26.1.2 (release filenames use 26.1.x) | Fabric / NeoForge | 25 | | 26.2 | Fabric / NeoForge | 25 | | 26.3 | Fabric / NeoForge | 25 | Choose the JAR matching your Minecraft version and loader, and install only one variant. GitHub and Modrinth provide the standard distribution with native components. CurseForge provides a dedicated distribution without native binaries. ## Cloud upload screen: changes from this conversation - Upload opens in a separate secondary screen. It shares the custom roulette editor's glass panel, translucent background, thin borders, list headers and button styling. - Two tabs let you select existing local models or choose files on your computer through the system file picker. - All tabs and controls use icons except the target Cloud button. Hover tooltips and narration labels remain available. - Upload failure details use the same styling. A failed item's checkbox selects it for retry; clicking the item body opens the failure details. - The window, list, spacing and toolbar adapt to available space, preserving list space at higher GUI scales. These interface changes are included in all eight release targets. ## Model panel and importing - Search, filtering, navigation, pagination and actions share more compact areas, reducing toolbar space. Small logical viewports use a side menu for the main tabs. - Local and Cloud cards share sizing and layout rules, starting at the top left. GUI scales 3–4 use compact cards to display more rows and columns. - Cloud cards and classic lists hide favorite/public status. Cards no longer offer visibility controls. The community Cloud's "All models" view is for viewing and applying models. - The 26.3 system file picker uses the game's existing SDL native dialog. It supports multiple selection and filters for ysm, zip, bbmodel, gltf and glb. Cancellation, repeated opening, callback path copying and native object lifetimes are handled. ## Related changes from October 7–11 - **Local model state:** client services and stores manage local scanning, favorites, authorization filtering, the last selection and sound preferences. Older settings migrate, and failed loads preserve the original files and caches. - **Legacy path retirement:** the old Minecraft server model synchronization protocol, registration paths, events without consumers and old configuration were removed. Active client, Cloud and maid compatibility paths, along with persistence compatibility identifiers, are preserved. - **Import stability:** persisted commits and runtime publication results are distinguished. Concurrent imports of the same model, stale requests, out-of-order directory scans, task cancellation and asynchronous callbacks after a screen closes are handled. Failed imports do not replace an existing valid source. - **glTF and presentation capabilities:** external resource dependencies and content fingerprints are recorded, resource paths are restricted, and preview, texture and action controls follow each model's actual capabilities. Traditional GPU trimming is avoided for runtimes that do not support it. - **Resource lifetimes:** client model residency ownership is explicit, active references are protected, and preview, cache cleanup, download queue and settings panel layout/lifetime handling were improved. - **26.3 migration:** SDL input, poses/swing actions, RenderPearl pipelines, frame graphs, resource packs, item submission, Cloud SessionService and NeoForge client interfaces were adapted. Model scripts retain their previous key-value semantics. - **Localization:** account and password validation errors use translatable reasons. Missing shared language entries were added, with corrections to target types, texture titles, developer status and upload error messages. This document summarizes implemented features. Release records from other projects, workspace cleanup logs, raw build logs, deployment credentials and plans that were not implemented are excluded. ## Build and verification scope - All eight targets completed clean builds for both the standard and CurseForge distributions: **16 JARs** in total. Build caching was disabled and tasks were forced to run again. - Release checks covered ZIP integrity, loader metadata, interface classes and native component distribution. Standard JARs contain native components; CurseForge JARs contain no native binaries. - Upload layout checks covered logical viewports from 320×180 to 1920×1080. Compilation passed on all eight branches. - October 7–11 records include automated regression checks and some development-client/26.3 basic startup checks. These do not establish complete gameplay acceptance for the final JARs in this release. **Still to verify:** complete in-game interaction with the final JARs, multiple clients and Cloud permission/reconnection scenarios, compatibility mod combinations, and actual Vulkan operation. The F11 native shader crash was investigated, but its cause remains undetermined and it is not claimed fixed. Experimental capabilities and items awaiting acceptance are not claimed as officially supported. Use the language links at the top to switch between the English and Chinese versions. Both Markdown files are attached to the GitHub release.
release

Sparkle Morpher 2.1.0 - Fabric 26.1.x

2.1.0
11 окт. 2026 г.32Minecraft: 26.1.2fabric
Скачать
Что нового
# Sparkle Morpher 2.1.0 > **English** | [中文](https://github.com/sdf123098/Sparkle-Morpher/blob/main/RELEASE_NOTES_2.1.0_zh.md) This document covers Sparkle Morpher development records from October 7–11, 2026, and the Cloud upload screen redesign discussed in this conversation. The version number remains **2.1.0**. [Download this README](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.1.0/README_2.1.0.md) · [All GitHub release files](https://github.com/sdf123098/Sparkle-Morpher/releases/tag/v2.1.0) ## Supported versions | Minecraft | Loader | Java | | --- | --- | --- | | 1.21.1 | Fabric / NeoForge | 21 | | 26.1.2 (release filenames use 26.1.x) | Fabric / NeoForge | 25 | | 26.2 | Fabric / NeoForge | 25 | | 26.3 | Fabric / NeoForge | 25 | Choose the JAR matching your Minecraft version and loader, and install only one variant. GitHub and Modrinth provide the standard distribution with native components. CurseForge provides a dedicated distribution without native binaries. ## Cloud upload screen: changes from this conversation - Upload opens in a separate secondary screen. It shares the custom roulette editor's glass panel, translucent background, thin borders, list headers and button styling. - Two tabs let you select existing local models or choose files on your computer through the system file picker. - All tabs and controls use icons except the target Cloud button. Hover tooltips and narration labels remain available. - Upload failure details use the same styling. A failed item's checkbox selects it for retry; clicking the item body opens the failure details. - The window, list, spacing and toolbar adapt to available space, preserving list space at higher GUI scales. These interface changes are included in all eight release targets. ## Model panel and importing - Search, filtering, navigation, pagination and actions share more compact areas, reducing toolbar space. Small logical viewports use a side menu for the main tabs. - Local and Cloud cards share sizing and layout rules, starting at the top left. GUI scales 3–4 use compact cards to display more rows and columns. - Cloud cards and classic lists hide favorite/public status. Cards no longer offer visibility controls. The community Cloud's "All models" view is for viewing and applying models. - The 26.3 system file picker uses the game's existing SDL native dialog. It supports multiple selection and filters for ysm, zip, bbmodel, gltf and glb. Cancellation, repeated opening, callback path copying and native object lifetimes are handled. ## Related changes from October 7–11 - **Local model state:** client services and stores manage local scanning, favorites, authorization filtering, the last selection and sound preferences. Older settings migrate, and failed loads preserve the original files and caches. - **Legacy path retirement:** the old Minecraft server model synchronization protocol, registration paths, events without consumers and old configuration were removed. Active client, Cloud and maid compatibility paths, along with persistence compatibility identifiers, are preserved. - **Import stability:** persisted commits and runtime publication results are distinguished. Concurrent imports of the same model, stale requests, out-of-order directory scans, task cancellation and asynchronous callbacks after a screen closes are handled. Failed imports do not replace an existing valid source. - **glTF and presentation capabilities:** external resource dependencies and content fingerprints are recorded, resource paths are restricted, and preview, texture and action controls follow each model's actual capabilities. Traditional GPU trimming is avoided for runtimes that do not support it. - **Resource lifetimes:** client model residency ownership is explicit, active references are protected, and preview, cache cleanup, download queue and settings panel layout/lifetime handling were improved. - **26.3 migration:** SDL input, poses/swing actions, RenderPearl pipelines, frame graphs, resource packs, item submission, Cloud SessionService and NeoForge client interfaces were adapted. Model scripts retain their previous key-value semantics. - **Localization:** account and password validation errors use translatable reasons. Missing shared language entries were added, with corrections to target types, texture titles, developer status and upload error messages. This document summarizes implemented features. Release records from other projects, workspace cleanup logs, raw build logs, deployment credentials and plans that were not implemented are excluded. ## Build and verification scope - All eight targets completed clean builds for both the standard and CurseForge distributions: **16 JARs** in total. Build caching was disabled and tasks were forced to run again. - Release checks covered ZIP integrity, loader metadata, interface classes and native component distribution. Standard JARs contain native components; CurseForge JARs contain no native binaries. - Upload layout checks covered logical viewports from 320×180 to 1920×1080. Compilation passed on all eight branches. - October 7–11 records include automated regression checks and some development-client/26.3 basic startup checks. These do not establish complete gameplay acceptance for the final JARs in this release. **Still to verify:** complete in-game interaction with the final JARs, multiple clients and Cloud permission/reconnection scenarios, compatibility mod combinations, and actual Vulkan operation. The F11 native shader crash was investigated, but its cause remains undetermined and it is not claimed fixed. Experimental capabilities and items awaiting acceptance are not claimed as officially supported. Use the language links at the top to switch between the English and Chinese versions. Both Markdown files are attached to the GitHub release.
release

Sparkle Morpher 2.1.0 - Fabric 1.21.1

2.1.0
11 окт. 2026 г.16Minecraft: 1.21.1fabric
Скачать
Что нового
# Sparkle Morpher 2.1.0 > **English** | [中文](https://github.com/sdf123098/Sparkle-Morpher/blob/main/RELEASE_NOTES_2.1.0_zh.md) This document covers Sparkle Morpher development records from October 7–11, 2026, and the Cloud upload screen redesign discussed in this conversation. The version number remains **2.1.0**. [Download this README](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v2.1.0/README_2.1.0.md) · [All GitHub release files](https://github.com/sdf123098/Sparkle-Morpher/releases/tag/v2.1.0) ## Supported versions | Minecraft | Loader | Java | | --- | --- | --- | | 1.21.1 | Fabric / NeoForge | 21 | | 26.1.2 (release filenames use 26.1.x) | Fabric / NeoForge | 25 | | 26.2 | Fabric / NeoForge | 25 | | 26.3 | Fabric / NeoForge | 25 | Choose the JAR matching your Minecraft version and loader, and install only one variant. GitHub and Modrinth provide the standard distribution with native components. CurseForge provides a dedicated distribution without native binaries. ## Cloud upload screen: changes from this conversation - Upload opens in a separate secondary screen. It shares the custom roulette editor's glass panel, translucent background, thin borders, list headers and button styling. - Two tabs let you select existing local models or choose files on your computer through the system file picker. - All tabs and controls use icons except the target Cloud button. Hover tooltips and narration labels remain available. - Upload failure details use the same styling. A failed item's checkbox selects it for retry; clicking the item body opens the failure details. - The window, list, spacing and toolbar adapt to available space, preserving list space at higher GUI scales. These interface changes are included in all eight release targets. ## Model panel and importing - Search, filtering, navigation, pagination and actions share more compact areas, reducing toolbar space. Small logical viewports use a side menu for the main tabs. - Local and Cloud cards share sizing and layout rules, starting at the top left. GUI scales 3–4 use compact cards to display more rows and columns. - Cloud cards and classic lists hide favorite/public status. Cards no longer offer visibility controls. The community Cloud's "All models" view is for viewing and applying models. - The 26.3 system file picker uses the game's existing SDL native dialog. It supports multiple selection and filters for ysm, zip, bbmodel, gltf and glb. Cancellation, repeated opening, callback path copying and native object lifetimes are handled. ## Related changes from October 7–11 - **Local model state:** client services and stores manage local scanning, favorites, authorization filtering, the last selection and sound preferences. Older settings migrate, and failed loads preserve the original files and caches. - **Legacy path retirement:** the old Minecraft server model synchronization protocol, registration paths, events without consumers and old configuration were removed. Active client, Cloud and maid compatibility paths, along with persistence compatibility identifiers, are preserved. - **Import stability:** persisted commits and runtime publication results are distinguished. Concurrent imports of the same model, stale requests, out-of-order directory scans, task cancellation and asynchronous callbacks after a screen closes are handled. Failed imports do not replace an existing valid source. - **glTF and presentation capabilities:** external resource dependencies and content fingerprints are recorded, resource paths are restricted, and preview, texture and action controls follow each model's actual capabilities. Traditional GPU trimming is avoided for runtimes that do not support it. - **Resource lifetimes:** client model residency ownership is explicit, active references are protected, and preview, cache cleanup, download queue and settings panel layout/lifetime handling were improved. - **26.3 migration:** SDL input, poses/swing actions, RenderPearl pipelines, frame graphs, resource packs, item submission, Cloud SessionService and NeoForge client interfaces were adapted. Model scripts retain their previous key-value semantics. - **Localization:** account and password validation errors use translatable reasons. Missing shared language entries were added, with corrections to target types, texture titles, developer status and upload error messages. This document summarizes implemented features. Release records from other projects, workspace cleanup logs, raw build logs, deployment credentials and plans that were not implemented are excluded. ## Build and verification scope - All eight targets completed clean builds for both the standard and CurseForge distributions: **16 JARs** in total. Build caching was disabled and tasks were forced to run again. - Release checks covered ZIP integrity, loader metadata, interface classes and native component distribution. Standard JARs contain native components; CurseForge JARs contain no native binaries. - Upload layout checks covered logical viewports from 320×180 to 1920×1080. Compilation passed on all eight branches. - October 7–11 records include automated regression checks and some development-client/26.3 basic startup checks. These do not establish complete gameplay acceptance for the final JARs in this release. **Still to verify:** complete in-game interaction with the final JARs, multiple clients and Cloud permission/reconnection scenarios, compatibility mod combinations, and actual Vulkan operation. The F11 native shader crash was investigated, but its cause remains undetermined and it is not claimed fixed. Experimental capabilities and items awaiting acceptance are not claimed as officially supported. Use the language links at the top to switch between the English and Chinese versions. Both Markdown files are attached to the GitHub release.
release

Sparkle Morpher 2.0.0 - NeoForge 26.2

2.0.0
6 окт. 2026 г.42Minecraft: 26.2neoforge
Скачать
Что нового
# Sparkle Morpher 2.0.0 Sparkle Morpher 2.0 marks a major shift toward a client-side model experience centered on SPM Cloud. Cloud manages shared assets, access, and appearance state; the client handles model parsing, rendering, and local caches, while Minecraft and entity mods remain responsible for gameplay behavior. The traditional server-integrated development line continues separately as Fox Model Loader: Revival. This release brings Cloud accounts, model sharing, and cross-device appearance features across Fabric and NeoForge. Cloud accounts and Minecraft identities remain separate, and each Cloud instance controls its own access and sharing rules. ### What’s new - Sign in to the official Cloud, create an account, and bind supported Minecraft identities so you can restore your Cloud account on another device. - Browse and upload models through the Cloud interface, including batch selection and public or private sharing. - Restore Cloud-backed player models and motion when re-entering a world. - Manage accounts, Cloud instances, and uploads through updated screens with English and Chinese translations. - Improve maid and fake-player model integrations, configured Yggdrasil identity providers, and rendering recovery. Choose the file that matches both your mod loader and Minecraft version. The six supported variants are listed in this release. Back up your local Cloud account credentials before moving to another device.
release

Sparkle Morpher 2.0.0 - NeoForge 26.1.x

2.0.0
6 окт. 2026 г.18Minecraft: 26.1.2neoforge
Скачать
Что нового
# Sparkle Morpher 2.0.0 Sparkle Morpher 2.0 marks a major shift toward a client-side model experience centered on SPM Cloud. Cloud manages shared assets, access, and appearance state; the client handles model parsing, rendering, and local caches, while Minecraft and entity mods remain responsible for gameplay behavior. The traditional server-integrated development line continues separately as Fox Model Loader: Revival. This release brings Cloud accounts, model sharing, and cross-device appearance features across Fabric and NeoForge. Cloud accounts and Minecraft identities remain separate, and each Cloud instance controls its own access and sharing rules. ### What’s new - Sign in to the official Cloud, create an account, and bind supported Minecraft identities so you can restore your Cloud account on another device. - Browse and upload models through the Cloud interface, including batch selection and public or private sharing. - Restore Cloud-backed player models and motion when re-entering a world. - Manage accounts, Cloud instances, and uploads through updated screens with English and Chinese translations. - Improve maid and fake-player model integrations, configured Yggdrasil identity providers, and rendering recovery. Choose the file that matches both your mod loader and Minecraft version. The six supported variants are listed in this release. Back up your local Cloud account credentials before moving to another device.
release

Sparkle Morpher 2.0.0 - NeoForge 1.21.1

2.0.0
6 окт. 2026 г.57Minecraft: 1.21.1neoforge
Скачать
Что нового
# Sparkle Morpher 2.0.0 Sparkle Morpher 2.0 marks a major shift toward a client-side model experience centered on SPM Cloud. Cloud manages shared assets, access, and appearance state; the client handles model parsing, rendering, and local caches, while Minecraft and entity mods remain responsible for gameplay behavior. The traditional server-integrated development line continues separately as Fox Model Loader: Revival. This release brings Cloud accounts, model sharing, and cross-device appearance features across Fabric and NeoForge. Cloud accounts and Minecraft identities remain separate, and each Cloud instance controls its own access and sharing rules. ### What’s new - Sign in to the official Cloud, create an account, and bind supported Minecraft identities so you can restore your Cloud account on another device. - Browse and upload models through the Cloud interface, including batch selection and public or private sharing. - Restore Cloud-backed player models and motion when re-entering a world. - Manage accounts, Cloud instances, and uploads through updated screens with English and Chinese translations. - Improve maid and fake-player model integrations, configured Yggdrasil identity providers, and rendering recovery. Choose the file that matches both your mod loader and Minecraft version. The six supported variants are listed in this release. Back up your local Cloud account credentials before moving to another device.
release

Sparkle Morpher 2.0.0 - Fabric 26.2

2.0.0
6 окт. 2026 г.106Minecraft: 26.2fabric
Скачать
Что нового
# Sparkle Morpher 2.0.0 Sparkle Morpher 2.0 marks a major shift toward a client-side model experience centered on SPM Cloud. Cloud manages shared assets, access, and appearance state; the client handles model parsing, rendering, and local caches, while Minecraft and entity mods remain responsible for gameplay behavior. The traditional server-integrated development line continues separately as Fox Model Loader: Revival. This release brings Cloud accounts, model sharing, and cross-device appearance features across Fabric and NeoForge. Cloud accounts and Minecraft identities remain separate, and each Cloud instance controls its own access and sharing rules. ### What’s new - Sign in to the official Cloud, create an account, and bind supported Minecraft identities so you can restore your Cloud account on another device. - Browse and upload models through the Cloud interface, including batch selection and public or private sharing. - Restore Cloud-backed player models and motion when re-entering a world. - Manage accounts, Cloud instances, and uploads through updated screens with English and Chinese translations. - Improve maid and fake-player model integrations, configured Yggdrasil identity providers, and rendering recovery. Choose the file that matches both your mod loader and Minecraft version. The six supported variants are listed in this release. Back up your local Cloud account credentials before moving to another device.
release

Sparkle Morpher 2.0.0 - Fabric 26.1.x

2.0.0
6 окт. 2026 г.54Minecraft: 26.1.2fabric
Скачать
Что нового
# Sparkle Morpher 2.0.0 Sparkle Morpher 2.0 marks a major shift toward a client-side model experience centered on SPM Cloud. Cloud manages shared assets, access, and appearance state; the client handles model parsing, rendering, and local caches, while Minecraft and entity mods remain responsible for gameplay behavior. The traditional server-integrated development line continues separately as Fox Model Loader: Revival. This release brings Cloud accounts, model sharing, and cross-device appearance features across Fabric and NeoForge. Cloud accounts and Minecraft identities remain separate, and each Cloud instance controls its own access and sharing rules. ### What’s new - Sign in to the official Cloud, create an account, and bind supported Minecraft identities so you can restore your Cloud account on another device. - Browse and upload models through the Cloud interface, including batch selection and public or private sharing. - Restore Cloud-backed player models and motion when re-entering a world. - Manage accounts, Cloud instances, and uploads through updated screens with English and Chinese translations. - Improve maid and fake-player model integrations, configured Yggdrasil identity providers, and rendering recovery. Choose the file that matches both your mod loader and Minecraft version. The six supported variants are listed in this release. Back up your local Cloud account credentials before moving to another device.
release

Sparkle Morpher 2.0.0 - Fabric 1.21.1

2.0.0
6 окт. 2026 г.30Minecraft: 1.21.1fabric
Скачать
Что нового
# Sparkle Morpher 2.0.0 Sparkle Morpher 2.0 marks a major shift toward a client-side model experience centered on SPM Cloud. Cloud manages shared assets, access, and appearance state; the client handles model parsing, rendering, and local caches, while Minecraft and entity mods remain responsible for gameplay behavior. The traditional server-integrated development line continues separately as Fox Model Loader: Revival. This release brings Cloud accounts, model sharing, and cross-device appearance features across Fabric and NeoForge. Cloud accounts and Minecraft identities remain separate, and each Cloud instance controls its own access and sharing rules. ### What’s new - Sign in to the official Cloud, create an account, and bind supported Minecraft identities so you can restore your Cloud account on another device. - Browse and upload models through the Cloud interface, including batch selection and public or private sharing. - Restore Cloud-backed player models and motion when re-entering a world. - Manage accounts, Cloud instances, and uploads through updated screens with English and Chinese translations. - Improve maid and fake-player model integrations, configured Yggdrasil identity providers, and rendering recovery. Choose the file that matches both your mod loader and Minecraft version. The six supported variants are listed in this release. Back up your local Cloud account credentials before moving to another device.
release

Sparkle Morpher 1.2.9 - NeoForge 26.2

1.2.9
20 сент. 2026 г.200Minecraft: 26.2neoforge
Скачать
Что нового
# Sparkle Morpher 1.2.9 — Fin Release date: 2026-09-20 Supported variants: Fabric 1.21.1, Fabric 26.1.2, Fabric 26.2, NeoForge 1.21.1, NeoForge 26.1.2, and NeoForge 26.2. > **English** | [中文](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v1.2.9/RELEASE_NOTES_1.2.9_zh-CN.md) Sparkle Morpher 1.2.9 is the combined release for the 1.2.7, 1.2.8, and 1.2.9 work streams. Versions 1.2.7 and 1.2.8 were not published separately; their completed changes are included here together with the final 1.2.9 fixes. ## Merged release scope ### 1.2.7 — Import & Resource Pipeline - Split `ModernPlayerModelScreen` into clearer services/controllers while preserving the API differences between 1.21.1 and 26.x. - Completed the import, download, file-picker, server-model-list, and client-catalog pipeline, with regression contracts across all six branches. - Included the 1.2.7 issue fixes: maid sitting animation state (`isSitting`), vanilla equipment locator orientation compensation, and NeoForge 1.21.1 SlashBlade locator priority/fallback handling. - Passed the six-branch CI gate, including the NeoForge 1.21.1 test-classpath correction and golden-vector checks. ### 1.2.8 — Historical Cleanup (R13) - Completed the R13-B migration and removed obsolete `YSMClientMapper`, `ResourceDownloadManager`, `ModelImportFilePicker`, and `AnimationRegister` facades. - Moved download, file-picker, model-mapping, and animation-registration ownership to the current queue/coordinator/manager implementations. - Preserved the loader/version-specific boundaries while removing stale production imports and calls. ### 1.2.9 — Final Multi-Branch Audit (R14) - Re-audited architecture, rendering, protocol registration, entity tracking, and six-branch release behavior. - Corrected the protocol audit to reflect the actual registration split: channel 24 is registered through `CompatProtocol` on Fabric 26.x and `LegacyModelProtocol` on the other applicable branches. - Restored the NeoForge 26.2 extra-player render gate and completed the final release verification. ## Highlights ### Unified fake-player and maid action workflow - Press `G` to open a target selector containing server-provided manageable fake players and recognized maids loaded within 96 blocks. - Selecting a target opens the existing `UnifiedRouletteScreen`; actions are routed to the selected entity instead of silently falling back to the local player. - `Z` keeps the local-player action wheel, `Shift+Y` opens the fake-player manager, and `Alt+Y` opens the player model panel. - The fake-player manager supports search, online/model/dimension/provider filters, sorting, and virtual scrolling for large lists. - Search covers name, display name, UUID suffix, model name, and provider name. The workflow does not depend on crosshair targeting. - Fake-player detection is provider-aware and keeps ordinary players and maids out of the fake-player list. - Server-side permission, target validation, model validation, and entity tracking checks remain authoritative. ### Appearance persistence and synchronization - Fake-player appearance is restored after the server model catalog finishes loading and is re-sent to the player and tracking clients. - Dimension changes and player lifecycle changes now trigger the required appearance resynchronization without leaking UUID state. - Maid YSM appearance is no longer cleared during NBT restoration; persisted appearance is sent again after the maid entity loads and when clients begin tracking it. - Vehicle model state is synchronized to reconnecting riders, newly tracking clients, and the current rider as well as other tracking clients. - Added server/local model filters and included the complete server model catalog in the client model directory, so server-available models remain visible even while lazy loading is in progress. ### Rendering and compatibility fixes - First-person arm models now evaluate their visibility animations, preventing unselected outfit or arm variants from rendering on top of one another. - Fabric 26.2 Touhou Little Maid rendering now uses the 26.2 submit/collector path instead of the removed legacy buffer API. - Removed the duplicate transparent-background extraction that caused ModernUI on 26.x to throw `Can only blur once per frame`. - On 1.21.1, the custom blur stack detects ModernUI's active blur without a compile-time dependency and skips the second screen capture, while preserving the original path when ModernUI is absent or disabled. - Restored the NeoForge 26.2 extra-player render gate so its behavior matches the other 26.x branches. ### Architecture cleanup - Completed the R13-B migration by removing obsolete download, picker, model-mapper, and animation-registration facades. - Consolidated download queue, file-picker, and animation registration ownership around their current implementations. - Rechecked protocol registration across all six branches; maid model channel 24 is registered in the appropriate protocol group on every loader/version variant. - Added regression contracts for target classification, appearance persistence, model filtering, vehicle synchronization, and ModernUI compatibility. ## Compatibility and usage Use the artifact matching both your Minecraft version and loader. Do not mix 1.21.1 artifacts with 26.x installations. The default target-action key is `G` and can be rebound in Minecraft controls. Fake-player lists are server-authoritative; a target must also be loaded by the client before its action wheel can open. Maid selection is limited to recognized maids currently loaded within 96 blocks. Carpet fake players are handled through the `ServerPlayer`/UUID/entity-tracking boundary rather than a hard dependency on Carpet internals. The server must provide the model resource for observers; a client-only custom model is not automatically a shared server model. ## Known limitations - The release does not replace a maid mod's native GUI with a standalone maid editor. The unified action selector is provided; a full independent maid appearance editor remains future work. - SPM Cloud appearance broadcasting remains an optional hook; server-side Minecraft synchronization is the active path in this release. - The 1.21.1 common source set retains documented historical loader-boundary exceptions. - Full in-game OpenGL/Vulkan, Paper Doll, resource-reload, and real Carpet-server smoke coverage remains outside this release's automated build matrix. ## Build and verification - All six actual repositories passed clean release builds. - Twelve artifacts were produced: six full/native jars and six CurseForge-safe jars. - CurseForge jars were checked for native libraries and contain no `natives/`, DLL, SO, DYLIB, or EXE entries. - Regression tests and branch-specific compile/test gates passed during the 1.2.9 work. ## Artifacts | Loader | Minecraft | Full jar | CurseForge jar | |---|---|---|---| | Fabric | 1.21.1 | `sparkle-morpher-1.2.9-fa1.21.1.jar` | `sparkle-morpher-1.2.9-fa1.21.1-curseforge.jar` | | Fabric | 26.1.2 | `sparkle-morpher-1.2.9-fa26.1.x.jar` | `sparkle-morpher-1.2.9-fa26.1.x-curseforge.jar` | | Fabric | 26.2 | `sparkle-morpher-1.2.9-fa26.2.jar` | `sparkle-morpher-1.2.9-fa26.2-curseforge.jar` | | NeoForge | 1.21.1 | `sparkle-morpher-1.2.9-neo1.21.1.jar` | `sparkle-morpher-1.2.9-neo1.21.1-curseforge.jar` | | NeoForge | 26.1.2 | `sparkle-morpher-1.2.9-neo26.1.x.jar` | `sparkle-morpher-1.2.9-neo26.1.x-curseforge.jar` | | NeoForge | 26.2 | `sparkle-morpher-1.2.9-neo26.2.jar` | `sparkle-morpher-1.2.9-neo26.2-curseforge.jar` | Issue reference: [ModernUI compatibility issue #34](https://github.com/sdf123098/Sparkle-Morpher/issues/34).
release

Sparkle Morpher 1.2.9 - NeoForge 26.1.x

1.2.9
20 сент. 2026 г.77Minecraft: 26.1.2neoforge
Скачать
Что нового
# Sparkle Morpher 1.2.9 — Fin Release date: 2026-09-20 Supported variants: Fabric 1.21.1, Fabric 26.1.2, Fabric 26.2, NeoForge 1.21.1, NeoForge 26.1.2, and NeoForge 26.2. > **English** | [中文](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v1.2.9/RELEASE_NOTES_1.2.9_zh-CN.md) Sparkle Morpher 1.2.9 is the combined release for the 1.2.7, 1.2.8, and 1.2.9 work streams. Versions 1.2.7 and 1.2.8 were not published separately; their completed changes are included here together with the final 1.2.9 fixes. ## Merged release scope ### 1.2.7 — Import & Resource Pipeline - Split `ModernPlayerModelScreen` into clearer services/controllers while preserving the API differences between 1.21.1 and 26.x. - Completed the import, download, file-picker, server-model-list, and client-catalog pipeline, with regression contracts across all six branches. - Included the 1.2.7 issue fixes: maid sitting animation state (`isSitting`), vanilla equipment locator orientation compensation, and NeoForge 1.21.1 SlashBlade locator priority/fallback handling. - Passed the six-branch CI gate, including the NeoForge 1.21.1 test-classpath correction and golden-vector checks. ### 1.2.8 — Historical Cleanup (R13) - Completed the R13-B migration and removed obsolete `YSMClientMapper`, `ResourceDownloadManager`, `ModelImportFilePicker`, and `AnimationRegister` facades. - Moved download, file-picker, model-mapping, and animation-registration ownership to the current queue/coordinator/manager implementations. - Preserved the loader/version-specific boundaries while removing stale production imports and calls. ### 1.2.9 — Final Multi-Branch Audit (R14) - Re-audited architecture, rendering, protocol registration, entity tracking, and six-branch release behavior. - Corrected the protocol audit to reflect the actual registration split: channel 24 is registered through `CompatProtocol` on Fabric 26.x and `LegacyModelProtocol` on the other applicable branches. - Restored the NeoForge 26.2 extra-player render gate and completed the final release verification. ## Highlights ### Unified fake-player and maid action workflow - Press `G` to open a target selector containing server-provided manageable fake players and recognized maids loaded within 96 blocks. - Selecting a target opens the existing `UnifiedRouletteScreen`; actions are routed to the selected entity instead of silently falling back to the local player. - `Z` keeps the local-player action wheel, `Shift+Y` opens the fake-player manager, and `Alt+Y` opens the player model panel. - The fake-player manager supports search, online/model/dimension/provider filters, sorting, and virtual scrolling for large lists. - Search covers name, display name, UUID suffix, model name, and provider name. The workflow does not depend on crosshair targeting. - Fake-player detection is provider-aware and keeps ordinary players and maids out of the fake-player list. - Server-side permission, target validation, model validation, and entity tracking checks remain authoritative. ### Appearance persistence and synchronization - Fake-player appearance is restored after the server model catalog finishes loading and is re-sent to the player and tracking clients. - Dimension changes and player lifecycle changes now trigger the required appearance resynchronization without leaking UUID state. - Maid YSM appearance is no longer cleared during NBT restoration; persisted appearance is sent again after the maid entity loads and when clients begin tracking it. - Vehicle model state is synchronized to reconnecting riders, newly tracking clients, and the current rider as well as other tracking clients. - Added server/local model filters and included the complete server model catalog in the client model directory, so server-available models remain visible even while lazy loading is in progress. ### Rendering and compatibility fixes - First-person arm models now evaluate their visibility animations, preventing unselected outfit or arm variants from rendering on top of one another. - Fabric 26.2 Touhou Little Maid rendering now uses the 26.2 submit/collector path instead of the removed legacy buffer API. - Removed the duplicate transparent-background extraction that caused ModernUI on 26.x to throw `Can only blur once per frame`. - On 1.21.1, the custom blur stack detects ModernUI's active blur without a compile-time dependency and skips the second screen capture, while preserving the original path when ModernUI is absent or disabled. - Restored the NeoForge 26.2 extra-player render gate so its behavior matches the other 26.x branches. ### Architecture cleanup - Completed the R13-B migration by removing obsolete download, picker, model-mapper, and animation-registration facades. - Consolidated download queue, file-picker, and animation registration ownership around their current implementations. - Rechecked protocol registration across all six branches; maid model channel 24 is registered in the appropriate protocol group on every loader/version variant. - Added regression contracts for target classification, appearance persistence, model filtering, vehicle synchronization, and ModernUI compatibility. ## Compatibility and usage Use the artifact matching both your Minecraft version and loader. Do not mix 1.21.1 artifacts with 26.x installations. The default target-action key is `G` and can be rebound in Minecraft controls. Fake-player lists are server-authoritative; a target must also be loaded by the client before its action wheel can open. Maid selection is limited to recognized maids currently loaded within 96 blocks. Carpet fake players are handled through the `ServerPlayer`/UUID/entity-tracking boundary rather than a hard dependency on Carpet internals. The server must provide the model resource for observers; a client-only custom model is not automatically a shared server model. ## Known limitations - The release does not replace a maid mod's native GUI with a standalone maid editor. The unified action selector is provided; a full independent maid appearance editor remains future work. - SPM Cloud appearance broadcasting remains an optional hook; server-side Minecraft synchronization is the active path in this release. - The 1.21.1 common source set retains documented historical loader-boundary exceptions. - Full in-game OpenGL/Vulkan, Paper Doll, resource-reload, and real Carpet-server smoke coverage remains outside this release's automated build matrix. ## Build and verification - All six actual repositories passed clean release builds. - Twelve artifacts were produced: six full/native jars and six CurseForge-safe jars. - CurseForge jars were checked for native libraries and contain no `natives/`, DLL, SO, DYLIB, or EXE entries. - Regression tests and branch-specific compile/test gates passed during the 1.2.9 work. ## Artifacts | Loader | Minecraft | Full jar | CurseForge jar | |---|---|---|---| | Fabric | 1.21.1 | `sparkle-morpher-1.2.9-fa1.21.1.jar` | `sparkle-morpher-1.2.9-fa1.21.1-curseforge.jar` | | Fabric | 26.1.2 | `sparkle-morpher-1.2.9-fa26.1.x.jar` | `sparkle-morpher-1.2.9-fa26.1.x-curseforge.jar` | | Fabric | 26.2 | `sparkle-morpher-1.2.9-fa26.2.jar` | `sparkle-morpher-1.2.9-fa26.2-curseforge.jar` | | NeoForge | 1.21.1 | `sparkle-morpher-1.2.9-neo1.21.1.jar` | `sparkle-morpher-1.2.9-neo1.21.1-curseforge.jar` | | NeoForge | 26.1.2 | `sparkle-morpher-1.2.9-neo26.1.x.jar` | `sparkle-morpher-1.2.9-neo26.1.x-curseforge.jar` | | NeoForge | 26.2 | `sparkle-morpher-1.2.9-neo26.2.jar` | `sparkle-morpher-1.2.9-neo26.2-curseforge.jar` | Issue reference: [ModernUI compatibility issue #34](https://github.com/sdf123098/Sparkle-Morpher/issues/34).
release

Sparkle Morpher 1.2.9 - NeoForge 1.21.1

1.2.9
20 сент. 2026 г.311Minecraft: 1.21.1neoforge
Скачать
Что нового
# Sparkle Morpher 1.2.9 — Fin Release date: 2026-09-20 Supported variants: Fabric 1.21.1, Fabric 26.1.2, Fabric 26.2, NeoForge 1.21.1, NeoForge 26.1.2, and NeoForge 26.2. > **English** | [中文](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v1.2.9/RELEASE_NOTES_1.2.9_zh-CN.md) Sparkle Morpher 1.2.9 is the combined release for the 1.2.7, 1.2.8, and 1.2.9 work streams. Versions 1.2.7 and 1.2.8 were not published separately; their completed changes are included here together with the final 1.2.9 fixes. ## Merged release scope ### 1.2.7 — Import & Resource Pipeline - Split `ModernPlayerModelScreen` into clearer services/controllers while preserving the API differences between 1.21.1 and 26.x. - Completed the import, download, file-picker, server-model-list, and client-catalog pipeline, with regression contracts across all six branches. - Included the 1.2.7 issue fixes: maid sitting animation state (`isSitting`), vanilla equipment locator orientation compensation, and NeoForge 1.21.1 SlashBlade locator priority/fallback handling. - Passed the six-branch CI gate, including the NeoForge 1.21.1 test-classpath correction and golden-vector checks. ### 1.2.8 — Historical Cleanup (R13) - Completed the R13-B migration and removed obsolete `YSMClientMapper`, `ResourceDownloadManager`, `ModelImportFilePicker`, and `AnimationRegister` facades. - Moved download, file-picker, model-mapping, and animation-registration ownership to the current queue/coordinator/manager implementations. - Preserved the loader/version-specific boundaries while removing stale production imports and calls. ### 1.2.9 — Final Multi-Branch Audit (R14) - Re-audited architecture, rendering, protocol registration, entity tracking, and six-branch release behavior. - Corrected the protocol audit to reflect the actual registration split: channel 24 is registered through `CompatProtocol` on Fabric 26.x and `LegacyModelProtocol` on the other applicable branches. - Restored the NeoForge 26.2 extra-player render gate and completed the final release verification. ## Highlights ### Unified fake-player and maid action workflow - Press `G` to open a target selector containing server-provided manageable fake players and recognized maids loaded within 96 blocks. - Selecting a target opens the existing `UnifiedRouletteScreen`; actions are routed to the selected entity instead of silently falling back to the local player. - `Z` keeps the local-player action wheel, `Shift+Y` opens the fake-player manager, and `Alt+Y` opens the player model panel. - The fake-player manager supports search, online/model/dimension/provider filters, sorting, and virtual scrolling for large lists. - Search covers name, display name, UUID suffix, model name, and provider name. The workflow does not depend on crosshair targeting. - Fake-player detection is provider-aware and keeps ordinary players and maids out of the fake-player list. - Server-side permission, target validation, model validation, and entity tracking checks remain authoritative. ### Appearance persistence and synchronization - Fake-player appearance is restored after the server model catalog finishes loading and is re-sent to the player and tracking clients. - Dimension changes and player lifecycle changes now trigger the required appearance resynchronization without leaking UUID state. - Maid YSM appearance is no longer cleared during NBT restoration; persisted appearance is sent again after the maid entity loads and when clients begin tracking it. - Vehicle model state is synchronized to reconnecting riders, newly tracking clients, and the current rider as well as other tracking clients. - Added server/local model filters and included the complete server model catalog in the client model directory, so server-available models remain visible even while lazy loading is in progress. ### Rendering and compatibility fixes - First-person arm models now evaluate their visibility animations, preventing unselected outfit or arm variants from rendering on top of one another. - Fabric 26.2 Touhou Little Maid rendering now uses the 26.2 submit/collector path instead of the removed legacy buffer API. - Removed the duplicate transparent-background extraction that caused ModernUI on 26.x to throw `Can only blur once per frame`. - On 1.21.1, the custom blur stack detects ModernUI's active blur without a compile-time dependency and skips the second screen capture, while preserving the original path when ModernUI is absent or disabled. - Restored the NeoForge 26.2 extra-player render gate so its behavior matches the other 26.x branches. ### Architecture cleanup - Completed the R13-B migration by removing obsolete download, picker, model-mapper, and animation-registration facades. - Consolidated download queue, file-picker, and animation registration ownership around their current implementations. - Rechecked protocol registration across all six branches; maid model channel 24 is registered in the appropriate protocol group on every loader/version variant. - Added regression contracts for target classification, appearance persistence, model filtering, vehicle synchronization, and ModernUI compatibility. ## Compatibility and usage Use the artifact matching both your Minecraft version and loader. Do not mix 1.21.1 artifacts with 26.x installations. The default target-action key is `G` and can be rebound in Minecraft controls. Fake-player lists are server-authoritative; a target must also be loaded by the client before its action wheel can open. Maid selection is limited to recognized maids currently loaded within 96 blocks. Carpet fake players are handled through the `ServerPlayer`/UUID/entity-tracking boundary rather than a hard dependency on Carpet internals. The server must provide the model resource for observers; a client-only custom model is not automatically a shared server model. ## Known limitations - The release does not replace a maid mod's native GUI with a standalone maid editor. The unified action selector is provided; a full independent maid appearance editor remains future work. - SPM Cloud appearance broadcasting remains an optional hook; server-side Minecraft synchronization is the active path in this release. - The 1.21.1 common source set retains documented historical loader-boundary exceptions. - Full in-game OpenGL/Vulkan, Paper Doll, resource-reload, and real Carpet-server smoke coverage remains outside this release's automated build matrix. ## Build and verification - All six actual repositories passed clean release builds. - Twelve artifacts were produced: six full/native jars and six CurseForge-safe jars. - CurseForge jars were checked for native libraries and contain no `natives/`, DLL, SO, DYLIB, or EXE entries. - Regression tests and branch-specific compile/test gates passed during the 1.2.9 work. ## Artifacts | Loader | Minecraft | Full jar | CurseForge jar | |---|---|---|---| | Fabric | 1.21.1 | `sparkle-morpher-1.2.9-fa1.21.1.jar` | `sparkle-morpher-1.2.9-fa1.21.1-curseforge.jar` | | Fabric | 26.1.2 | `sparkle-morpher-1.2.9-fa26.1.x.jar` | `sparkle-morpher-1.2.9-fa26.1.x-curseforge.jar` | | Fabric | 26.2 | `sparkle-morpher-1.2.9-fa26.2.jar` | `sparkle-morpher-1.2.9-fa26.2-curseforge.jar` | | NeoForge | 1.21.1 | `sparkle-morpher-1.2.9-neo1.21.1.jar` | `sparkle-morpher-1.2.9-neo1.21.1-curseforge.jar` | | NeoForge | 26.1.2 | `sparkle-morpher-1.2.9-neo26.1.x.jar` | `sparkle-morpher-1.2.9-neo26.1.x-curseforge.jar` | | NeoForge | 26.2 | `sparkle-morpher-1.2.9-neo26.2.jar` | `sparkle-morpher-1.2.9-neo26.2-curseforge.jar` | Issue reference: [ModernUI compatibility issue #34](https://github.com/sdf123098/Sparkle-Morpher/issues/34).
release

Sparkle Morpher 1.2.9 - Fabric 26.2

1.2.9
20 сент. 2026 г.490Minecraft: 26.2fabric
Скачать
Что нового
# Sparkle Morpher 1.2.9 — Fin Release date: 2026-09-20 Supported variants: Fabric 1.21.1, Fabric 26.1.2, Fabric 26.2, NeoForge 1.21.1, NeoForge 26.1.2, and NeoForge 26.2. > **English** | [中文](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v1.2.9/RELEASE_NOTES_1.2.9_zh-CN.md) Sparkle Morpher 1.2.9 is the combined release for the 1.2.7, 1.2.8, and 1.2.9 work streams. Versions 1.2.7 and 1.2.8 were not published separately; their completed changes are included here together with the final 1.2.9 fixes. ## Merged release scope ### 1.2.7 — Import & Resource Pipeline - Split `ModernPlayerModelScreen` into clearer services/controllers while preserving the API differences between 1.21.1 and 26.x. - Completed the import, download, file-picker, server-model-list, and client-catalog pipeline, with regression contracts across all six branches. - Included the 1.2.7 issue fixes: maid sitting animation state (`isSitting`), vanilla equipment locator orientation compensation, and NeoForge 1.21.1 SlashBlade locator priority/fallback handling. - Passed the six-branch CI gate, including the NeoForge 1.21.1 test-classpath correction and golden-vector checks. ### 1.2.8 — Historical Cleanup (R13) - Completed the R13-B migration and removed obsolete `YSMClientMapper`, `ResourceDownloadManager`, `ModelImportFilePicker`, and `AnimationRegister` facades. - Moved download, file-picker, model-mapping, and animation-registration ownership to the current queue/coordinator/manager implementations. - Preserved the loader/version-specific boundaries while removing stale production imports and calls. ### 1.2.9 — Final Multi-Branch Audit (R14) - Re-audited architecture, rendering, protocol registration, entity tracking, and six-branch release behavior. - Corrected the protocol audit to reflect the actual registration split: channel 24 is registered through `CompatProtocol` on Fabric 26.x and `LegacyModelProtocol` on the other applicable branches. - Restored the NeoForge 26.2 extra-player render gate and completed the final release verification. ## Highlights ### Unified fake-player and maid action workflow - Press `G` to open a target selector containing server-provided manageable fake players and recognized maids loaded within 96 blocks. - Selecting a target opens the existing `UnifiedRouletteScreen`; actions are routed to the selected entity instead of silently falling back to the local player. - `Z` keeps the local-player action wheel, `Shift+Y` opens the fake-player manager, and `Alt+Y` opens the player model panel. - The fake-player manager supports search, online/model/dimension/provider filters, sorting, and virtual scrolling for large lists. - Search covers name, display name, UUID suffix, model name, and provider name. The workflow does not depend on crosshair targeting. - Fake-player detection is provider-aware and keeps ordinary players and maids out of the fake-player list. - Server-side permission, target validation, model validation, and entity tracking checks remain authoritative. ### Appearance persistence and synchronization - Fake-player appearance is restored after the server model catalog finishes loading and is re-sent to the player and tracking clients. - Dimension changes and player lifecycle changes now trigger the required appearance resynchronization without leaking UUID state. - Maid YSM appearance is no longer cleared during NBT restoration; persisted appearance is sent again after the maid entity loads and when clients begin tracking it. - Vehicle model state is synchronized to reconnecting riders, newly tracking clients, and the current rider as well as other tracking clients. - Added server/local model filters and included the complete server model catalog in the client model directory, so server-available models remain visible even while lazy loading is in progress. ### Rendering and compatibility fixes - First-person arm models now evaluate their visibility animations, preventing unselected outfit or arm variants from rendering on top of one another. - Fabric 26.2 Touhou Little Maid rendering now uses the 26.2 submit/collector path instead of the removed legacy buffer API. - Removed the duplicate transparent-background extraction that caused ModernUI on 26.x to throw `Can only blur once per frame`. - On 1.21.1, the custom blur stack detects ModernUI's active blur without a compile-time dependency and skips the second screen capture, while preserving the original path when ModernUI is absent or disabled. - Restored the NeoForge 26.2 extra-player render gate so its behavior matches the other 26.x branches. ### Architecture cleanup - Completed the R13-B migration by removing obsolete download, picker, model-mapper, and animation-registration facades. - Consolidated download queue, file-picker, and animation registration ownership around their current implementations. - Rechecked protocol registration across all six branches; maid model channel 24 is registered in the appropriate protocol group on every loader/version variant. - Added regression contracts for target classification, appearance persistence, model filtering, vehicle synchronization, and ModernUI compatibility. ## Compatibility and usage Use the artifact matching both your Minecraft version and loader. Do not mix 1.21.1 artifacts with 26.x installations. The default target-action key is `G` and can be rebound in Minecraft controls. Fake-player lists are server-authoritative; a target must also be loaded by the client before its action wheel can open. Maid selection is limited to recognized maids currently loaded within 96 blocks. Carpet fake players are handled through the `ServerPlayer`/UUID/entity-tracking boundary rather than a hard dependency on Carpet internals. The server must provide the model resource for observers; a client-only custom model is not automatically a shared server model. ## Known limitations - The release does not replace a maid mod's native GUI with a standalone maid editor. The unified action selector is provided; a full independent maid appearance editor remains future work. - SPM Cloud appearance broadcasting remains an optional hook; server-side Minecraft synchronization is the active path in this release. - The 1.21.1 common source set retains documented historical loader-boundary exceptions. - Full in-game OpenGL/Vulkan, Paper Doll, resource-reload, and real Carpet-server smoke coverage remains outside this release's automated build matrix. ## Build and verification - All six actual repositories passed clean release builds. - Twelve artifacts were produced: six full/native jars and six CurseForge-safe jars. - CurseForge jars were checked for native libraries and contain no `natives/`, DLL, SO, DYLIB, or EXE entries. - Regression tests and branch-specific compile/test gates passed during the 1.2.9 work. ## Artifacts | Loader | Minecraft | Full jar | CurseForge jar | |---|---|---|---| | Fabric | 1.21.1 | `sparkle-morpher-1.2.9-fa1.21.1.jar` | `sparkle-morpher-1.2.9-fa1.21.1-curseforge.jar` | | Fabric | 26.1.2 | `sparkle-morpher-1.2.9-fa26.1.x.jar` | `sparkle-morpher-1.2.9-fa26.1.x-curseforge.jar` | | Fabric | 26.2 | `sparkle-morpher-1.2.9-fa26.2.jar` | `sparkle-morpher-1.2.9-fa26.2-curseforge.jar` | | NeoForge | 1.21.1 | `sparkle-morpher-1.2.9-neo1.21.1.jar` | `sparkle-morpher-1.2.9-neo1.21.1-curseforge.jar` | | NeoForge | 26.1.2 | `sparkle-morpher-1.2.9-neo26.1.x.jar` | `sparkle-morpher-1.2.9-neo26.1.x-curseforge.jar` | | NeoForge | 26.2 | `sparkle-morpher-1.2.9-neo26.2.jar` | `sparkle-morpher-1.2.9-neo26.2-curseforge.jar` | Issue reference: [ModernUI compatibility issue #34](https://github.com/sdf123098/Sparkle-Morpher/issues/34).
release

Sparkle Morpher 1.2.9 - Fabric 26.1.x

1.2.9
20 сент. 2026 г.159Minecraft: 26.1.2fabric
Скачать
Что нового
# Sparkle Morpher 1.2.9 — Fin Release date: 2026-09-20 Supported variants: Fabric 1.21.1, Fabric 26.1.2, Fabric 26.2, NeoForge 1.21.1, NeoForge 26.1.2, and NeoForge 26.2. > **English** | [中文](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v1.2.9/RELEASE_NOTES_1.2.9_zh-CN.md) Sparkle Morpher 1.2.9 is the combined release for the 1.2.7, 1.2.8, and 1.2.9 work streams. Versions 1.2.7 and 1.2.8 were not published separately; their completed changes are included here together with the final 1.2.9 fixes. ## Merged release scope ### 1.2.7 — Import & Resource Pipeline - Split `ModernPlayerModelScreen` into clearer services/controllers while preserving the API differences between 1.21.1 and 26.x. - Completed the import, download, file-picker, server-model-list, and client-catalog pipeline, with regression contracts across all six branches. - Included the 1.2.7 issue fixes: maid sitting animation state (`isSitting`), vanilla equipment locator orientation compensation, and NeoForge 1.21.1 SlashBlade locator priority/fallback handling. - Passed the six-branch CI gate, including the NeoForge 1.21.1 test-classpath correction and golden-vector checks. ### 1.2.8 — Historical Cleanup (R13) - Completed the R13-B migration and removed obsolete `YSMClientMapper`, `ResourceDownloadManager`, `ModelImportFilePicker`, and `AnimationRegister` facades. - Moved download, file-picker, model-mapping, and animation-registration ownership to the current queue/coordinator/manager implementations. - Preserved the loader/version-specific boundaries while removing stale production imports and calls. ### 1.2.9 — Final Multi-Branch Audit (R14) - Re-audited architecture, rendering, protocol registration, entity tracking, and six-branch release behavior. - Corrected the protocol audit to reflect the actual registration split: channel 24 is registered through `CompatProtocol` on Fabric 26.x and `LegacyModelProtocol` on the other applicable branches. - Restored the NeoForge 26.2 extra-player render gate and completed the final release verification. ## Highlights ### Unified fake-player and maid action workflow - Press `G` to open a target selector containing server-provided manageable fake players and recognized maids loaded within 96 blocks. - Selecting a target opens the existing `UnifiedRouletteScreen`; actions are routed to the selected entity instead of silently falling back to the local player. - `Z` keeps the local-player action wheel, `Shift+Y` opens the fake-player manager, and `Alt+Y` opens the player model panel. - The fake-player manager supports search, online/model/dimension/provider filters, sorting, and virtual scrolling for large lists. - Search covers name, display name, UUID suffix, model name, and provider name. The workflow does not depend on crosshair targeting. - Fake-player detection is provider-aware and keeps ordinary players and maids out of the fake-player list. - Server-side permission, target validation, model validation, and entity tracking checks remain authoritative. ### Appearance persistence and synchronization - Fake-player appearance is restored after the server model catalog finishes loading and is re-sent to the player and tracking clients. - Dimension changes and player lifecycle changes now trigger the required appearance resynchronization without leaking UUID state. - Maid YSM appearance is no longer cleared during NBT restoration; persisted appearance is sent again after the maid entity loads and when clients begin tracking it. - Vehicle model state is synchronized to reconnecting riders, newly tracking clients, and the current rider as well as other tracking clients. - Added server/local model filters and included the complete server model catalog in the client model directory, so server-available models remain visible even while lazy loading is in progress. ### Rendering and compatibility fixes - First-person arm models now evaluate their visibility animations, preventing unselected outfit or arm variants from rendering on top of one another. - Fabric 26.2 Touhou Little Maid rendering now uses the 26.2 submit/collector path instead of the removed legacy buffer API. - Removed the duplicate transparent-background extraction that caused ModernUI on 26.x to throw `Can only blur once per frame`. - On 1.21.1, the custom blur stack detects ModernUI's active blur without a compile-time dependency and skips the second screen capture, while preserving the original path when ModernUI is absent or disabled. - Restored the NeoForge 26.2 extra-player render gate so its behavior matches the other 26.x branches. ### Architecture cleanup - Completed the R13-B migration by removing obsolete download, picker, model-mapper, and animation-registration facades. - Consolidated download queue, file-picker, and animation registration ownership around their current implementations. - Rechecked protocol registration across all six branches; maid model channel 24 is registered in the appropriate protocol group on every loader/version variant. - Added regression contracts for target classification, appearance persistence, model filtering, vehicle synchronization, and ModernUI compatibility. ## Compatibility and usage Use the artifact matching both your Minecraft version and loader. Do not mix 1.21.1 artifacts with 26.x installations. The default target-action key is `G` and can be rebound in Minecraft controls. Fake-player lists are server-authoritative; a target must also be loaded by the client before its action wheel can open. Maid selection is limited to recognized maids currently loaded within 96 blocks. Carpet fake players are handled through the `ServerPlayer`/UUID/entity-tracking boundary rather than a hard dependency on Carpet internals. The server must provide the model resource for observers; a client-only custom model is not automatically a shared server model. ## Known limitations - The release does not replace a maid mod's native GUI with a standalone maid editor. The unified action selector is provided; a full independent maid appearance editor remains future work. - SPM Cloud appearance broadcasting remains an optional hook; server-side Minecraft synchronization is the active path in this release. - The 1.21.1 common source set retains documented historical loader-boundary exceptions. - Full in-game OpenGL/Vulkan, Paper Doll, resource-reload, and real Carpet-server smoke coverage remains outside this release's automated build matrix. ## Build and verification - All six actual repositories passed clean release builds. - Twelve artifacts were produced: six full/native jars and six CurseForge-safe jars. - CurseForge jars were checked for native libraries and contain no `natives/`, DLL, SO, DYLIB, or EXE entries. - Regression tests and branch-specific compile/test gates passed during the 1.2.9 work. ## Artifacts | Loader | Minecraft | Full jar | CurseForge jar | |---|---|---|---| | Fabric | 1.21.1 | `sparkle-morpher-1.2.9-fa1.21.1.jar` | `sparkle-morpher-1.2.9-fa1.21.1-curseforge.jar` | | Fabric | 26.1.2 | `sparkle-morpher-1.2.9-fa26.1.x.jar` | `sparkle-morpher-1.2.9-fa26.1.x-curseforge.jar` | | Fabric | 26.2 | `sparkle-morpher-1.2.9-fa26.2.jar` | `sparkle-morpher-1.2.9-fa26.2-curseforge.jar` | | NeoForge | 1.21.1 | `sparkle-morpher-1.2.9-neo1.21.1.jar` | `sparkle-morpher-1.2.9-neo1.21.1-curseforge.jar` | | NeoForge | 26.1.2 | `sparkle-morpher-1.2.9-neo26.1.x.jar` | `sparkle-morpher-1.2.9-neo26.1.x-curseforge.jar` | | NeoForge | 26.2 | `sparkle-morpher-1.2.9-neo26.2.jar` | `sparkle-morpher-1.2.9-neo26.2-curseforge.jar` | Issue reference: [ModernUI compatibility issue #34](https://github.com/sdf123098/Sparkle-Morpher/issues/34).
release

Sparkle Morpher 1.2.9 - Fabric 1.21.1

1.2.9
20 сент. 2026 г.206Minecraft: 1.21.1fabric
Скачать
Что нового
# Sparkle Morpher 1.2.9 — Fin Release date: 2026-09-20 Supported variants: Fabric 1.21.1, Fabric 26.1.2, Fabric 26.2, NeoForge 1.21.1, NeoForge 26.1.2, and NeoForge 26.2. > **English** | [中文](https://github.com/sdf123098/Sparkle-Morpher/releases/download/v1.2.9/RELEASE_NOTES_1.2.9_zh-CN.md) Sparkle Morpher 1.2.9 is the combined release for the 1.2.7, 1.2.8, and 1.2.9 work streams. Versions 1.2.7 and 1.2.8 were not published separately; their completed changes are included here together with the final 1.2.9 fixes. ## Merged release scope ### 1.2.7 — Import & Resource Pipeline - Split `ModernPlayerModelScreen` into clearer services/controllers while preserving the API differences between 1.21.1 and 26.x. - Completed the import, download, file-picker, server-model-list, and client-catalog pipeline, with regression contracts across all six branches. - Included the 1.2.7 issue fixes: maid sitting animation state (`isSitting`), vanilla equipment locator orientation compensation, and NeoForge 1.21.1 SlashBlade locator priority/fallback handling. - Passed the six-branch CI gate, including the NeoForge 1.21.1 test-classpath correction and golden-vector checks. ### 1.2.8 — Historical Cleanup (R13) - Completed the R13-B migration and removed obsolete `YSMClientMapper`, `ResourceDownloadManager`, `ModelImportFilePicker`, and `AnimationRegister` facades. - Moved download, file-picker, model-mapping, and animation-registration ownership to the current queue/coordinator/manager implementations. - Preserved the loader/version-specific boundaries while removing stale production imports and calls. ### 1.2.9 — Final Multi-Branch Audit (R14) - Re-audited architecture, rendering, protocol registration, entity tracking, and six-branch release behavior. - Corrected the protocol audit to reflect the actual registration split: channel 24 is registered through `CompatProtocol` on Fabric 26.x and `LegacyModelProtocol` on the other applicable branches. - Restored the NeoForge 26.2 extra-player render gate and completed the final release verification. ## Highlights ### Unified fake-player and maid action workflow - Press `G` to open a target selector containing server-provided manageable fake players and recognized maids loaded within 96 blocks. - Selecting a target opens the existing `UnifiedRouletteScreen`; actions are routed to the selected entity instead of silently falling back to the local player. - `Z` keeps the local-player action wheel, `Shift+Y` opens the fake-player manager, and `Alt+Y` opens the player model panel. - The fake-player manager supports search, online/model/dimension/provider filters, sorting, and virtual scrolling for large lists. - Search covers name, display name, UUID suffix, model name, and provider name. The workflow does not depend on crosshair targeting. - Fake-player detection is provider-aware and keeps ordinary players and maids out of the fake-player list. - Server-side permission, target validation, model validation, and entity tracking checks remain authoritative. ### Appearance persistence and synchronization - Fake-player appearance is restored after the server model catalog finishes loading and is re-sent to the player and tracking clients. - Dimension changes and player lifecycle changes now trigger the required appearance resynchronization without leaking UUID state. - Maid YSM appearance is no longer cleared during NBT restoration; persisted appearance is sent again after the maid entity loads and when clients begin tracking it. - Vehicle model state is synchronized to reconnecting riders, newly tracking clients, and the current rider as well as other tracking clients. - Added server/local model filters and included the complete server model catalog in the client model directory, so server-available models remain visible even while lazy loading is in progress. ### Rendering and compatibility fixes - First-person arm models now evaluate their visibility animations, preventing unselected outfit or arm variants from rendering on top of one another. - Fabric 26.2 Touhou Little Maid rendering now uses the 26.2 submit/collector path instead of the removed legacy buffer API. - Removed the duplicate transparent-background extraction that caused ModernUI on 26.x to throw `Can only blur once per frame`. - On 1.21.1, the custom blur stack detects ModernUI's active blur without a compile-time dependency and skips the second screen capture, while preserving the original path when ModernUI is absent or disabled. - Restored the NeoForge 26.2 extra-player render gate so its behavior matches the other 26.x branches. ### Architecture cleanup - Completed the R13-B migration by removing obsolete download, picker, model-mapper, and animation-registration facades. - Consolidated download queue, file-picker, and animation registration ownership around their current implementations. - Rechecked protocol registration across all six branches; maid model channel 24 is registered in the appropriate protocol group on every loader/version variant. - Added regression contracts for target classification, appearance persistence, model filtering, vehicle synchronization, and ModernUI compatibility. ## Compatibility and usage Use the artifact matching both your Minecraft version and loader. Do not mix 1.21.1 artifacts with 26.x installations. The default target-action key is `G` and can be rebound in Minecraft controls. Fake-player lists are server-authoritative; a target must also be loaded by the client before its action wheel can open. Maid selection is limited to recognized maids currently loaded within 96 blocks. Carpet fake players are handled through the `ServerPlayer`/UUID/entity-tracking boundary rather than a hard dependency on Carpet internals. The server must provide the model resource for observers; a client-only custom model is not automatically a shared server model. ## Known limitations - The release does not replace a maid mod's native GUI with a standalone maid editor. The unified action selector is provided; a full independent maid appearance editor remains future work. - SPM Cloud appearance broadcasting remains an optional hook; server-side Minecraft synchronization is the active path in this release. - The 1.21.1 common source set retains documented historical loader-boundary exceptions. - Full in-game OpenGL/Vulkan, Paper Doll, resource-reload, and real Carpet-server smoke coverage remains outside this release's automated build matrix. ## Build and verification - All six actual repositories passed clean release builds. - Twelve artifacts were produced: six full/native jars and six CurseForge-safe jars. - CurseForge jars were checked for native libraries and contain no `natives/`, DLL, SO, DYLIB, or EXE entries. - Regression tests and branch-specific compile/test gates passed during the 1.2.9 work. ## Artifacts | Loader | Minecraft | Full jar | CurseForge jar | |---|---|---|---| | Fabric | 1.21.1 | `sparkle-morpher-1.2.9-fa1.21.1.jar` | `sparkle-morpher-1.2.9-fa1.21.1-curseforge.jar` | | Fabric | 26.1.2 | `sparkle-morpher-1.2.9-fa26.1.x.jar` | `sparkle-morpher-1.2.9-fa26.1.x-curseforge.jar` | | Fabric | 26.2 | `sparkle-morpher-1.2.9-fa26.2.jar` | `sparkle-morpher-1.2.9-fa26.2-curseforge.jar` | | NeoForge | 1.21.1 | `sparkle-morpher-1.2.9-neo1.21.1.jar` | `sparkle-morpher-1.2.9-neo1.21.1-curseforge.jar` | | NeoForge | 26.1.2 | `sparkle-morpher-1.2.9-neo26.1.x.jar` | `sparkle-morpher-1.2.9-neo26.1.x-curseforge.jar` | | NeoForge | 26.2 | `sparkle-morpher-1.2.9-neo26.2.jar` | `sparkle-morpher-1.2.9-neo26.2-curseforge.jar` | Issue reference: [ModernUI compatibility issue #34](https://github.com/sdf123098/Sparkle-Morpher/issues/34).
release

Sparkle Morpher 1.2.6 - NeoForge 26.2

1.2.6
12 сент. 2026 г.153Minecraft: 26.2neoforge
Скачать
Что нового
# Sparkle Morpher 1.2.6 ## Responsive 3D card catalog / i18n completion / Paper Doll split and ride fixes Release date: 2026-09-12 Supported branches: Fabric 1.21.1, Fabric 26.1.2, Fabric 26.2, NeoForge 1.21.1, NeoForge 26.1.2, NeoForge 26.2 > **English** | [中文](RELEASE_NOTES_1.2.6_zh-CN.md) Sparkle Morpher 1.2.6 brings a **responsive live-3D card catalog** to the model picker, adds **Traditional Chinese (Hong Kong) and Literary Chinese (lzh)** while localizing built-in model metadata into **15 languages**, splits the player paper-doll rendering out of a single file into a maintainable preview package with a set of classic HUD doll options, and fixes two bugs: **Happy Ghast sit pose** and **non-player model selection leaking into the player's own selection**. All six source repositories are synchronized, clean-built, and pushed to their GitHub branches. ### Highlights #### Responsive 3D card catalog (model picker) The model picker gains a three-state view, cycled from a bottom-toolbar button through **Auto → Cards → List** (config `ModelPickerStyle`, default `Auto`, session-pinned after an in-UI switch): - **Auto**: uses cards when space allows, otherwise falls back to the original icon + text grid. The list path is fully retained, so a complete rollback is always possible. - **Cards**: forces card mode, preferring cards even when only one minimum readable card (40×48) fits; falls back only below that. - **List**: the existing icon + text grid. **Every card face is a live 3D model.** The first design rendered live 3D only for hovered/selected cards (at most two preview entities) and used static covers elsewhere; on real hardware that produced mostly blank cards and "no model unless hovered". It now renders every visible card's model live — the model is the card face. Cost is bounded by a per-page-slot preview entity pool (slots are rebound on page turns and do not grow with catalog size); lazy models show a placeholder until ready. Card-art geometry is now calibrated against the real YSM spec: - The card-art size is confirmed as **52×90** (aspect 1.7308); `CARD_ASPECT` was corrected from 1.62 to `90/52`, removing the side letterboxing. - The **`gui_background` → live 3D → `gui_foreground` border** three-layer order was restored; the earlier two-layer simplification lost the front border and darkened the background. - Doll scale changed from `coverH*0.62` to the long-validated `coverH*0.43`, with a hard "never exceed cover height" clamp on `figureScale()`, fixing head clipping. - Column count is now chosen by **searching for the column count that maximizes cards per page** (ties prefer larger cards): horizontal fill 99–100%, vertical 72–98% (limited by the 52:90 ratio). Catalog defects fixed in the same batch (each with its root cause): - `ModelPanelLayout.create()` decided the vertical-tab layout from `guiScale >= 3.0`, but `guiScale` is a physical/logical ratio unrelated to available logical space, so layouts flipped on monitor or scale changes. It now tests **logical width/height**. - The fixed 16px `nameBandH` floor could exceed the card height on very short cards, producing a negative `coverH`; now `min(band, cellH - 1)` with a regression test. - `markModelUsed` was called after the readiness check, so not-yet-ready cards were never marked in-use and lazy/TTL eviction could reclaim the model being viewed; it now **marks before checking readiness**. > Card look (cover shading, doll size, name-band wrap threshold, palette) was built headless and has not been calibrated item-by-item in-game; models without embedded card art show live 3D only and get no static placeholder. Card mode intentionally has no scrollbar (paging by design). #### Traditional Chinese (Hong Kong) and Literary Chinese (lzh) **Root cause**: Minecraft's language fallback chain is only `[en_us, selected locale]` — there is **no sibling or same-family fallback**. Only `zh_tw.json` existed, so selecting "香港繁體 / zh_hk" resolved all mod text to English. There is no `zh_sg`/`zh_my`/other Simplified locale in vanilla, so no Simplified file was added. - **`zh_hk.json` (new)**: generated from `zh_tw.json` as the base, **not via OpenCC** (its `t2hk` mixes Simplified into Traditional). Only two verified HK glyph adaptations (`平臺→平台`, `臥→卧`); key order and structure match `zh_tw`, with just 13 differing values. - **`lzh.json` (Literary Chinese, new)**: built by aligning vanilla 1.21.1 `zh_cn.json` and `lzh.json` into a **4852-entry Simplified→Literary glossary**, then translating **789 unique English strings** across 8 parallel passes under a style guide and the Touhou Little Maid `lzh.json` reference; key order matches `en_us.json` exactly. #### Built-in model metadata localization Built-in model names/descriptions/authors previously fell back to English only (`ModelMetadataPresenter.getLocalizedString` recognizes `en_us`). It now covers **15 languages**, up from `{en_us, zh_cn}`: added `zh_tw`, `zh_hk`, plus `es_es`, `fr_fr`, `id_id`, `ja_jp`, `ko_kr`, `pt_br`, `ru_ru`, `tr_tr`, `uk_ua`, `vi_vn`, `lzh`. For the ten pre-existing non-Chinese locales, **611 unique English strings** that were missing or still equal to English were translated. - One real defect fixed: `ru_ru.json`'s `open_model_folder.tips` used Cyrillic `п`/`а` in place of Latin `n` (`§папка`), breaking vanilla format codes; corrected. - All 11 groups of "identical English, different Chinese meaning" keys were reviewed, and the 3 genuinely ambiguous ones were rewritten. > Translations were spot-checked, **not proofread by native speakers** (~1400 entries across 10 languages plus Literary Chinese). 12 placeholder warnings were confirmed pre-existing and harmless via `git diff` (dead keys or correct argument counts) and left untouched. #### Paper Doll split and classic HUD doll options On the 26.x branches, the 999-line `ModelPreviewRenderer.java` was split into a **compatibility facade (999 → 177 lines, all 25/25 public APIs preserved, zero call-site migration)** plus a new `client/renderer/preview/` package: `PreviewSceneRenderer` (bed/ground/vehicle preview props), `PreviewMath` (deliberately MC-free projection and mouse math for pure-JVM tests), `PreviewRenderBridge` (GUI preview queue and `InventoryScreen` handshake), `GuiModelRenderer`, `PaperDollRenderer`, `PaperDollLayout` (pure math, including the inverse), `PaperDollVisibilityPolicy`, and `PaperDollActivity`. Tests added: `PaperDollIsolationTest`, `PaperDollHeadModeContractTest`, `PaperDollLayoutTest`, `PaperDollVisibilityPolicyTest`. The classic HUD doll gains a set of options (config section `extra_player_render`, **defaults equal historical behavior**, so installing the jar changes nothing until the config is edited): | Option | Config key | Default | Meaning | |---|---|---|---| | Head mode | `ClassicHudHeadMode` | `STRAIGHT` | `STRAIGHT` head follows body (legacy); `FOLLOW` head tracks the real view yaw, clamped ±85° | | Anchor | `ClassicHudAnchor` | `TOP_LEFT` | 9-position anchor plus X/Y offset; `TOP_LEFT` with the original pixel value is the exact legacy position | | Idle auto-hide | `ClassicHudAutoHideIdleSeconds` | `0` (off) | Hide the doll after N idle seconds | | Hide in third person | `ClassicHudHideInThirdPerson` | `false` | Hide in third-person view | | Vehicle alignment | `ClassicHudAlignWithVehicle` | `false` | Align doll yaw with the vehicle | | Action-only visibility | `ClassicHudShowOnActionOnly` | `false` | Show only while moving/sneaking/swimming/gliding/climbing/in water/riding/using/attacking/hurt/sleeping | > These options are **config-file only — there is no GUI settings screen**. #### Ride and selection fixes - **Happy Ghast sit pose used the wrong animation**: `LivingMovementAnimationPredicate` used `Saddleable` (saddleable mobs) for riding on 1.21.1, but 26.x replaced it with a `vehicle instanceof LivingEntity → ride` fallback after the API was removed. `HappyGhast extends Animal → LivingEntity`, so it was treated as a straddle vehicle and played the horse-style ride pose. It is now explicitly matched **before** the fallback and routed to `sit`, matching the mod's own `sit` ("sitting on an entity") semantics. Only the four 26.x branches are affected (1.21.1 has no Happy Ghast). - **Setting a model for a non-player polluted the player's own selection**: `ModernPlayerModelScreen#applyModelAndTexture`'s custom-target branch (maid/NPC) unconditionally called `ClientModelManager.rememberSelectedModel(...)`, which writes the player selection track and persists it; on the next join `restorePersistedModelSelection()` then applied the target entity's model to the player. A new `rememberPlayerSelection` flag now defaults to `true` only for the player's own panel, with `shouldRememberPlayerSelection()` / `setRememberPlayerSelection(boolean)` exposed so third-party NPC panels can override it precisely. #### Blaze3D frame-graph channel (experimental, default off) Diagnosis of "most in-world models vanish when enabled": geometries were successfully deferred (the log shows `[SM-BLAZE3D] ... ACTIVE`) and removed from the vanilla collector, but the frame-graph pass **never executed** them, so models were neither in the collector nor drawn — hence invisible. Six alternatives were ruled out: config not applied, mixin not loaded, missing target signature, unreachable injection point, accessor mismatch, and frame-graph culling. Rather than add a high-privilege mechanism, this release ships a **self-healing fallback plus staged diagnostics**: new per-frame counters, and if a frame deferred draws that were not all rendered (pass never ran, ran late, or was refused), the channel is **permanently auto-disabled for the session** with a lost-geometry log line, falling back to the normal submit path — so the defect can affect at most one frame. Registration exceptions now self-heal too. > The **true root cause is not confirmed**; the diagnosis document's retest section is still awaiting user logs. This release delivers a self-healing fallback and diagnostics, **not a proven repair**. The channel is **default off and experimental**, requiring explicit opt-in. ### Build and verification - All six branches were pushed and `fetch`-verified so that local HEAD matches the corresponding remote branch; working trees are clean. - The release build script performed clean builds (JDK 21 for 1.21.1, JDK 25 for 26.x) and all six branches produced full JARs; CurseForge variants are additionally checked to be free of native libraries. - The full unit-test suite passes on all six branches — **2204 tests, 0 failures** (1 skipped per branch): Fabric 1.21.1 **365**, Fabric 26.1.2 **386**, Fabric 26.2 **393**, NeoForge 1.21.1 **338**, NeoForge 26.1.2 **357**, NeoForge 26.2 **365**. - Note: the 1.21.1 branches require **JDK 21** (JDK 25 makes Gradle fail when creating the test task with `Type T not present`); 26.x uses JDK 25. 1.21.1 uses a two-project `common` + `fabric` layout, where the tests live under `:common:test` (`:fabric:test` is NO-SOURCE). ### Release assets - Six full JARs (Fabric / NeoForge × 1.21.1 / 26.1.2 / 26.2). - Bilingual release notes (this file and the Chinese version). ### Compatibility matrix | Loader | Minecraft | Branch | Artifact | |---|---:|---|---| | Fabric | 26.2 | `fa26.2` | `sparkle-morpher-1.2.6-fa26.2.jar` | | Fabric | 26.1.2 | `fa26.1.2` | `sparkle-morpher-1.2.6-fa26.1.x.jar` | | Fabric | 1.21.1 | `main` | `sparkle-morpher-1.2.6-fa1.21.1.jar` | | NeoForge | 26.2 | `neo26.2` | `sparkle-morpher-1.2.6-neo26.2.jar` | | NeoForge | 26.1.2 | `neo26.1.2` | `sparkle-morpher-1.2.6-neo26.1.x.jar` | | NeoForge | 1.21.1 | `neo1.21.1` | `sparkle-morpher-1.2.6-neo1.21.1.jar` | Use the artifact matching both your loader and your Minecraft version. The 1.21.1 builds require the 1.21.1 loader/API line; do not mix them with 26.x installations. ### Known limitations - The **Blaze3D frame-graph channel** is default-off and experimental; its true root cause is unconfirmed, and this release is a self-healing fallback with diagnostics. - The **classic HUD doll options** are config-file only, with no GUI; defaults equal historical behavior. - **Paper-doll snapshot reuse (Slice E) is not implemented**: 26.2's `ModernHudRenderer.renderAt` intentionally does not consume the pose snapshot and a contract test requires that line to remain; consuming the world snapshot makes complex models' bone matrices be overwritten by secondary evaluation (hair/accessory/limb ghosting). It needs in-game reproduction and a read-only sharing design. - **Head pitch and "follow both" head modes are not implemented** (yaw follow only), and **Rotation Unlock is not implemented** (needs camera/input-layer changes, cross-module). - The 1.21.1 branches do not carry the preview package split (same semantics only, on the FBO path). - Card-mode look and low-end FPS (up to 8×2=16 live previews per page) still need in-game feedback. - The 1.21.1 branches still carry a shared static projection field whose value depends on call order; that semantic fragility has not been addressed yet. - The 1.2.6 card-catalog work was done headless and has not had item-by-item in-game visual acceptance.
release

Sparkle Morpher 1.2.6 - NeoForge 26.1.x

1.2.6
12 сент. 2026 г.52Minecraft: 26.1.2neoforge
Скачать
Что нового
# Sparkle Morpher 1.2.6 ## Responsive 3D card catalog / i18n completion / Paper Doll split and ride fixes Release date: 2026-09-12 Supported branches: Fabric 1.21.1, Fabric 26.1.2, Fabric 26.2, NeoForge 1.21.1, NeoForge 26.1.2, NeoForge 26.2 > **English** | [中文](RELEASE_NOTES_1.2.6_zh-CN.md) Sparkle Morpher 1.2.6 brings a **responsive live-3D card catalog** to the model picker, adds **Traditional Chinese (Hong Kong) and Literary Chinese (lzh)** while localizing built-in model metadata into **15 languages**, splits the player paper-doll rendering out of a single file into a maintainable preview package with a set of classic HUD doll options, and fixes two bugs: **Happy Ghast sit pose** and **non-player model selection leaking into the player's own selection**. All six source repositories are synchronized, clean-built, and pushed to their GitHub branches. ### Highlights #### Responsive 3D card catalog (model picker) The model picker gains a three-state view, cycled from a bottom-toolbar button through **Auto → Cards → List** (config `ModelPickerStyle`, default `Auto`, session-pinned after an in-UI switch): - **Auto**: uses cards when space allows, otherwise falls back to the original icon + text grid. The list path is fully retained, so a complete rollback is always possible. - **Cards**: forces card mode, preferring cards even when only one minimum readable card (40×48) fits; falls back only below that. - **List**: the existing icon + text grid. **Every card face is a live 3D model.** The first design rendered live 3D only for hovered/selected cards (at most two preview entities) and used static covers elsewhere; on real hardware that produced mostly blank cards and "no model unless hovered". It now renders every visible card's model live — the model is the card face. Cost is bounded by a per-page-slot preview entity pool (slots are rebound on page turns and do not grow with catalog size); lazy models show a placeholder until ready. Card-art geometry is now calibrated against the real YSM spec: - The card-art size is confirmed as **52×90** (aspect 1.7308); `CARD_ASPECT` was corrected from 1.62 to `90/52`, removing the side letterboxing. - The **`gui_background` → live 3D → `gui_foreground` border** three-layer order was restored; the earlier two-layer simplification lost the front border and darkened the background. - Doll scale changed from `coverH*0.62` to the long-validated `coverH*0.43`, with a hard "never exceed cover height" clamp on `figureScale()`, fixing head clipping. - Column count is now chosen by **searching for the column count that maximizes cards per page** (ties prefer larger cards): horizontal fill 99–100%, vertical 72–98% (limited by the 52:90 ratio). Catalog defects fixed in the same batch (each with its root cause): - `ModelPanelLayout.create()` decided the vertical-tab layout from `guiScale >= 3.0`, but `guiScale` is a physical/logical ratio unrelated to available logical space, so layouts flipped on monitor or scale changes. It now tests **logical width/height**. - The fixed 16px `nameBandH` floor could exceed the card height on very short cards, producing a negative `coverH`; now `min(band, cellH - 1)` with a regression test. - `markModelUsed` was called after the readiness check, so not-yet-ready cards were never marked in-use and lazy/TTL eviction could reclaim the model being viewed; it now **marks before checking readiness**. > Card look (cover shading, doll size, name-band wrap threshold, palette) was built headless and has not been calibrated item-by-item in-game; models without embedded card art show live 3D only and get no static placeholder. Card mode intentionally has no scrollbar (paging by design). #### Traditional Chinese (Hong Kong) and Literary Chinese (lzh) **Root cause**: Minecraft's language fallback chain is only `[en_us, selected locale]` — there is **no sibling or same-family fallback**. Only `zh_tw.json` existed, so selecting "香港繁體 / zh_hk" resolved all mod text to English. There is no `zh_sg`/`zh_my`/other Simplified locale in vanilla, so no Simplified file was added. - **`zh_hk.json` (new)**: generated from `zh_tw.json` as the base, **not via OpenCC** (its `t2hk` mixes Simplified into Traditional). Only two verified HK glyph adaptations (`平臺→平台`, `臥→卧`); key order and structure match `zh_tw`, with just 13 differing values. - **`lzh.json` (Literary Chinese, new)**: built by aligning vanilla 1.21.1 `zh_cn.json` and `lzh.json` into a **4852-entry Simplified→Literary glossary**, then translating **789 unique English strings** across 8 parallel passes under a style guide and the Touhou Little Maid `lzh.json` reference; key order matches `en_us.json` exactly. #### Built-in model metadata localization Built-in model names/descriptions/authors previously fell back to English only (`ModelMetadataPresenter.getLocalizedString` recognizes `en_us`). It now covers **15 languages**, up from `{en_us, zh_cn}`: added `zh_tw`, `zh_hk`, plus `es_es`, `fr_fr`, `id_id`, `ja_jp`, `ko_kr`, `pt_br`, `ru_ru`, `tr_tr`, `uk_ua`, `vi_vn`, `lzh`. For the ten pre-existing non-Chinese locales, **611 unique English strings** that were missing or still equal to English were translated. - One real defect fixed: `ru_ru.json`'s `open_model_folder.tips` used Cyrillic `п`/`а` in place of Latin `n` (`§папка`), breaking vanilla format codes; corrected. - All 11 groups of "identical English, different Chinese meaning" keys were reviewed, and the 3 genuinely ambiguous ones were rewritten. > Translations were spot-checked, **not proofread by native speakers** (~1400 entries across 10 languages plus Literary Chinese). 12 placeholder warnings were confirmed pre-existing and harmless via `git diff` (dead keys or correct argument counts) and left untouched. #### Paper Doll split and classic HUD doll options On the 26.x branches, the 999-line `ModelPreviewRenderer.java` was split into a **compatibility facade (999 → 177 lines, all 25/25 public APIs preserved, zero call-site migration)** plus a new `client/renderer/preview/` package: `PreviewSceneRenderer` (bed/ground/vehicle preview props), `PreviewMath` (deliberately MC-free projection and mouse math for pure-JVM tests), `PreviewRenderBridge` (GUI preview queue and `InventoryScreen` handshake), `GuiModelRenderer`, `PaperDollRenderer`, `PaperDollLayout` (pure math, including the inverse), `PaperDollVisibilityPolicy`, and `PaperDollActivity`. Tests added: `PaperDollIsolationTest`, `PaperDollHeadModeContractTest`, `PaperDollLayoutTest`, `PaperDollVisibilityPolicyTest`. The classic HUD doll gains a set of options (config section `extra_player_render`, **defaults equal historical behavior**, so installing the jar changes nothing until the config is edited): | Option | Config key | Default | Meaning | |---|---|---|---| | Head mode | `ClassicHudHeadMode` | `STRAIGHT` | `STRAIGHT` head follows body (legacy); `FOLLOW` head tracks the real view yaw, clamped ±85° | | Anchor | `ClassicHudAnchor` | `TOP_LEFT` | 9-position anchor plus X/Y offset; `TOP_LEFT` with the original pixel value is the exact legacy position | | Idle auto-hide | `ClassicHudAutoHideIdleSeconds` | `0` (off) | Hide the doll after N idle seconds | | Hide in third person | `ClassicHudHideInThirdPerson` | `false` | Hide in third-person view | | Vehicle alignment | `ClassicHudAlignWithVehicle` | `false` | Align doll yaw with the vehicle | | Action-only visibility | `ClassicHudShowOnActionOnly` | `false` | Show only while moving/sneaking/swimming/gliding/climbing/in water/riding/using/attacking/hurt/sleeping | > These options are **config-file only — there is no GUI settings screen**. #### Ride and selection fixes - **Happy Ghast sit pose used the wrong animation**: `LivingMovementAnimationPredicate` used `Saddleable` (saddleable mobs) for riding on 1.21.1, but 26.x replaced it with a `vehicle instanceof LivingEntity → ride` fallback after the API was removed. `HappyGhast extends Animal → LivingEntity`, so it was treated as a straddle vehicle and played the horse-style ride pose. It is now explicitly matched **before** the fallback and routed to `sit`, matching the mod's own `sit` ("sitting on an entity") semantics. Only the four 26.x branches are affected (1.21.1 has no Happy Ghast). - **Setting a model for a non-player polluted the player's own selection**: `ModernPlayerModelScreen#applyModelAndTexture`'s custom-target branch (maid/NPC) unconditionally called `ClientModelManager.rememberSelectedModel(...)`, which writes the player selection track and persists it; on the next join `restorePersistedModelSelection()` then applied the target entity's model to the player. A new `rememberPlayerSelection` flag now defaults to `true` only for the player's own panel, with `shouldRememberPlayerSelection()` / `setRememberPlayerSelection(boolean)` exposed so third-party NPC panels can override it precisely. #### Blaze3D frame-graph channel (experimental, default off) Diagnosis of "most in-world models vanish when enabled": geometries were successfully deferred (the log shows `[SM-BLAZE3D] ... ACTIVE`) and removed from the vanilla collector, but the frame-graph pass **never executed** them, so models were neither in the collector nor drawn — hence invisible. Six alternatives were ruled out: config not applied, mixin not loaded, missing target signature, unreachable injection point, accessor mismatch, and frame-graph culling. Rather than add a high-privilege mechanism, this release ships a **self-healing fallback plus staged diagnostics**: new per-frame counters, and if a frame deferred draws that were not all rendered (pass never ran, ran late, or was refused), the channel is **permanently auto-disabled for the session** with a lost-geometry log line, falling back to the normal submit path — so the defect can affect at most one frame. Registration exceptions now self-heal too. > The **true root cause is not confirmed**; the diagnosis document's retest section is still awaiting user logs. This release delivers a self-healing fallback and diagnostics, **not a proven repair**. The channel is **default off and experimental**, requiring explicit opt-in. ### Build and verification - All six branches were pushed and `fetch`-verified so that local HEAD matches the corresponding remote branch; working trees are clean. - The release build script performed clean builds (JDK 21 for 1.21.1, JDK 25 for 26.x) and all six branches produced full JARs; CurseForge variants are additionally checked to be free of native libraries. - The full unit-test suite passes on all six branches — **2204 tests, 0 failures** (1 skipped per branch): Fabric 1.21.1 **365**, Fabric 26.1.2 **386**, Fabric 26.2 **393**, NeoForge 1.21.1 **338**, NeoForge 26.1.2 **357**, NeoForge 26.2 **365**. - Note: the 1.21.1 branches require **JDK 21** (JDK 25 makes Gradle fail when creating the test task with `Type T not present`); 26.x uses JDK 25. 1.21.1 uses a two-project `common` + `fabric` layout, where the tests live under `:common:test` (`:fabric:test` is NO-SOURCE). ### Release assets - Six full JARs (Fabric / NeoForge × 1.21.1 / 26.1.2 / 26.2). - Bilingual release notes (this file and the Chinese version). ### Compatibility matrix | Loader | Minecraft | Branch | Artifact | |---|---:|---|---| | Fabric | 26.2 | `fa26.2` | `sparkle-morpher-1.2.6-fa26.2.jar` | | Fabric | 26.1.2 | `fa26.1.2` | `sparkle-morpher-1.2.6-fa26.1.x.jar` | | Fabric | 1.21.1 | `main` | `sparkle-morpher-1.2.6-fa1.21.1.jar` | | NeoForge | 26.2 | `neo26.2` | `sparkle-morpher-1.2.6-neo26.2.jar` | | NeoForge | 26.1.2 | `neo26.1.2` | `sparkle-morpher-1.2.6-neo26.1.x.jar` | | NeoForge | 1.21.1 | `neo1.21.1` | `sparkle-morpher-1.2.6-neo1.21.1.jar` | Use the artifact matching both your loader and your Minecraft version. The 1.21.1 builds require the 1.21.1 loader/API line; do not mix them with 26.x installations. ### Known limitations - The **Blaze3D frame-graph channel** is default-off and experimental; its true root cause is unconfirmed, and this release is a self-healing fallback with diagnostics. - The **classic HUD doll options** are config-file only, with no GUI; defaults equal historical behavior. - **Paper-doll snapshot reuse (Slice E) is not implemented**: 26.2's `ModernHudRenderer.renderAt` intentionally does not consume the pose snapshot and a contract test requires that line to remain; consuming the world snapshot makes complex models' bone matrices be overwritten by secondary evaluation (hair/accessory/limb ghosting). It needs in-game reproduction and a read-only sharing design. - **Head pitch and "follow both" head modes are not implemented** (yaw follow only), and **Rotation Unlock is not implemented** (needs camera/input-layer changes, cross-module). - The 1.21.1 branches do not carry the preview package split (same semantics only, on the FBO path). - Card-mode look and low-end FPS (up to 8×2=16 live previews per page) still need in-game feedback. - The 1.21.1 branches still carry a shared static projection field whose value depends on call order; that semantic fragility has not been addressed yet. - The 1.2.6 card-catalog work was done headless and has not had item-by-item in-game visual acceptance.
release

Sparkle Morpher 1.2.6 - NeoForge 1.21.1

1.2.6
12 сент. 2026 г.240Minecraft: 1.21.1neoforge
Скачать
Что нового
# Sparkle Morpher 1.2.6 ## Responsive 3D card catalog / i18n completion / Paper Doll split and ride fixes Release date: 2026-09-12 Supported branches: Fabric 1.21.1, Fabric 26.1.2, Fabric 26.2, NeoForge 1.21.1, NeoForge 26.1.2, NeoForge 26.2 > **English** | [中文](RELEASE_NOTES_1.2.6_zh-CN.md) Sparkle Morpher 1.2.6 brings a **responsive live-3D card catalog** to the model picker, adds **Traditional Chinese (Hong Kong) and Literary Chinese (lzh)** while localizing built-in model metadata into **15 languages**, splits the player paper-doll rendering out of a single file into a maintainable preview package with a set of classic HUD doll options, and fixes two bugs: **Happy Ghast sit pose** and **non-player model selection leaking into the player's own selection**. All six source repositories are synchronized, clean-built, and pushed to their GitHub branches. ### Highlights #### Responsive 3D card catalog (model picker) The model picker gains a three-state view, cycled from a bottom-toolbar button through **Auto → Cards → List** (config `ModelPickerStyle`, default `Auto`, session-pinned after an in-UI switch): - **Auto**: uses cards when space allows, otherwise falls back to the original icon + text grid. The list path is fully retained, so a complete rollback is always possible. - **Cards**: forces card mode, preferring cards even when only one minimum readable card (40×48) fits; falls back only below that. - **List**: the existing icon + text grid. **Every card face is a live 3D model.** The first design rendered live 3D only for hovered/selected cards (at most two preview entities) and used static covers elsewhere; on real hardware that produced mostly blank cards and "no model unless hovered". It now renders every visible card's model live — the model is the card face. Cost is bounded by a per-page-slot preview entity pool (slots are rebound on page turns and do not grow with catalog size); lazy models show a placeholder until ready. Card-art geometry is now calibrated against the real YSM spec: - The card-art size is confirmed as **52×90** (aspect 1.7308); `CARD_ASPECT` was corrected from 1.62 to `90/52`, removing the side letterboxing. - The **`gui_background` → live 3D → `gui_foreground` border** three-layer order was restored; the earlier two-layer simplification lost the front border and darkened the background. - Doll scale changed from `coverH*0.62` to the long-validated `coverH*0.43`, with a hard "never exceed cover height" clamp on `figureScale()`, fixing head clipping. - Column count is now chosen by **searching for the column count that maximizes cards per page** (ties prefer larger cards): horizontal fill 99–100%, vertical 72–98% (limited by the 52:90 ratio). Catalog defects fixed in the same batch (each with its root cause): - `ModelPanelLayout.create()` decided the vertical-tab layout from `guiScale >= 3.0`, but `guiScale` is a physical/logical ratio unrelated to available logical space, so layouts flipped on monitor or scale changes. It now tests **logical width/height**. - The fixed 16px `nameBandH` floor could exceed the card height on very short cards, producing a negative `coverH`; now `min(band, cellH - 1)` with a regression test. - `markModelUsed` was called after the readiness check, so not-yet-ready cards were never marked in-use and lazy/TTL eviction could reclaim the model being viewed; it now **marks before checking readiness**. > Card look (cover shading, doll size, name-band wrap threshold, palette) was built headless and has not been calibrated item-by-item in-game; models without embedded card art show live 3D only and get no static placeholder. Card mode intentionally has no scrollbar (paging by design). #### Traditional Chinese (Hong Kong) and Literary Chinese (lzh) **Root cause**: Minecraft's language fallback chain is only `[en_us, selected locale]` — there is **no sibling or same-family fallback**. Only `zh_tw.json` existed, so selecting "香港繁體 / zh_hk" resolved all mod text to English. There is no `zh_sg`/`zh_my`/other Simplified locale in vanilla, so no Simplified file was added. - **`zh_hk.json` (new)**: generated from `zh_tw.json` as the base, **not via OpenCC** (its `t2hk` mixes Simplified into Traditional). Only two verified HK glyph adaptations (`平臺→平台`, `臥→卧`); key order and structure match `zh_tw`, with just 13 differing values. - **`lzh.json` (Literary Chinese, new)**: built by aligning vanilla 1.21.1 `zh_cn.json` and `lzh.json` into a **4852-entry Simplified→Literary glossary**, then translating **789 unique English strings** across 8 parallel passes under a style guide and the Touhou Little Maid `lzh.json` reference; key order matches `en_us.json` exactly. #### Built-in model metadata localization Built-in model names/descriptions/authors previously fell back to English only (`ModelMetadataPresenter.getLocalizedString` recognizes `en_us`). It now covers **15 languages**, up from `{en_us, zh_cn}`: added `zh_tw`, `zh_hk`, plus `es_es`, `fr_fr`, `id_id`, `ja_jp`, `ko_kr`, `pt_br`, `ru_ru`, `tr_tr`, `uk_ua`, `vi_vn`, `lzh`. For the ten pre-existing non-Chinese locales, **611 unique English strings** that were missing or still equal to English were translated. - One real defect fixed: `ru_ru.json`'s `open_model_folder.tips` used Cyrillic `п`/`а` in place of Latin `n` (`§папка`), breaking vanilla format codes; corrected. - All 11 groups of "identical English, different Chinese meaning" keys were reviewed, and the 3 genuinely ambiguous ones were rewritten. > Translations were spot-checked, **not proofread by native speakers** (~1400 entries across 10 languages plus Literary Chinese). 12 placeholder warnings were confirmed pre-existing and harmless via `git diff` (dead keys or correct argument counts) and left untouched. #### Paper Doll split and classic HUD doll options On the 26.x branches, the 999-line `ModelPreviewRenderer.java` was split into a **compatibility facade (999 → 177 lines, all 25/25 public APIs preserved, zero call-site migration)** plus a new `client/renderer/preview/` package: `PreviewSceneRenderer` (bed/ground/vehicle preview props), `PreviewMath` (deliberately MC-free projection and mouse math for pure-JVM tests), `PreviewRenderBridge` (GUI preview queue and `InventoryScreen` handshake), `GuiModelRenderer`, `PaperDollRenderer`, `PaperDollLayout` (pure math, including the inverse), `PaperDollVisibilityPolicy`, and `PaperDollActivity`. Tests added: `PaperDollIsolationTest`, `PaperDollHeadModeContractTest`, `PaperDollLayoutTest`, `PaperDollVisibilityPolicyTest`. The classic HUD doll gains a set of options (config section `extra_player_render`, **defaults equal historical behavior**, so installing the jar changes nothing until the config is edited): | Option | Config key | Default | Meaning | |---|---|---|---| | Head mode | `ClassicHudHeadMode` | `STRAIGHT` | `STRAIGHT` head follows body (legacy); `FOLLOW` head tracks the real view yaw, clamped ±85° | | Anchor | `ClassicHudAnchor` | `TOP_LEFT` | 9-position anchor plus X/Y offset; `TOP_LEFT` with the original pixel value is the exact legacy position | | Idle auto-hide | `ClassicHudAutoHideIdleSeconds` | `0` (off) | Hide the doll after N idle seconds | | Hide in third person | `ClassicHudHideInThirdPerson` | `false` | Hide in third-person view | | Vehicle alignment | `ClassicHudAlignWithVehicle` | `false` | Align doll yaw with the vehicle | | Action-only visibility | `ClassicHudShowOnActionOnly` | `false` | Show only while moving/sneaking/swimming/gliding/climbing/in water/riding/using/attacking/hurt/sleeping | > These options are **config-file only — there is no GUI settings screen**. #### Ride and selection fixes - **Happy Ghast sit pose used the wrong animation**: `LivingMovementAnimationPredicate` used `Saddleable` (saddleable mobs) for riding on 1.21.1, but 26.x replaced it with a `vehicle instanceof LivingEntity → ride` fallback after the API was removed. `HappyGhast extends Animal → LivingEntity`, so it was treated as a straddle vehicle and played the horse-style ride pose. It is now explicitly matched **before** the fallback and routed to `sit`, matching the mod's own `sit` ("sitting on an entity") semantics. Only the four 26.x branches are affected (1.21.1 has no Happy Ghast). - **Setting a model for a non-player polluted the player's own selection**: `ModernPlayerModelScreen#applyModelAndTexture`'s custom-target branch (maid/NPC) unconditionally called `ClientModelManager.rememberSelectedModel(...)`, which writes the player selection track and persists it; on the next join `restorePersistedModelSelection()` then applied the target entity's model to the player. A new `rememberPlayerSelection` flag now defaults to `true` only for the player's own panel, with `shouldRememberPlayerSelection()` / `setRememberPlayerSelection(boolean)` exposed so third-party NPC panels can override it precisely. #### Blaze3D frame-graph channel (experimental, default off) Diagnosis of "most in-world models vanish when enabled": geometries were successfully deferred (the log shows `[SM-BLAZE3D] ... ACTIVE`) and removed from the vanilla collector, but the frame-graph pass **never executed** them, so models were neither in the collector nor drawn — hence invisible. Six alternatives were ruled out: config not applied, mixin not loaded, missing target signature, unreachable injection point, accessor mismatch, and frame-graph culling. Rather than add a high-privilege mechanism, this release ships a **self-healing fallback plus staged diagnostics**: new per-frame counters, and if a frame deferred draws that were not all rendered (pass never ran, ran late, or was refused), the channel is **permanently auto-disabled for the session** with a lost-geometry log line, falling back to the normal submit path — so the defect can affect at most one frame. Registration exceptions now self-heal too. > The **true root cause is not confirmed**; the diagnosis document's retest section is still awaiting user logs. This release delivers a self-healing fallback and diagnostics, **not a proven repair**. The channel is **default off and experimental**, requiring explicit opt-in. ### Build and verification - All six branches were pushed and `fetch`-verified so that local HEAD matches the corresponding remote branch; working trees are clean. - The release build script performed clean builds (JDK 21 for 1.21.1, JDK 25 for 26.x) and all six branches produced full JARs; CurseForge variants are additionally checked to be free of native libraries. - The full unit-test suite passes on all six branches — **2204 tests, 0 failures** (1 skipped per branch): Fabric 1.21.1 **365**, Fabric 26.1.2 **386**, Fabric 26.2 **393**, NeoForge 1.21.1 **338**, NeoForge 26.1.2 **357**, NeoForge 26.2 **365**. - Note: the 1.21.1 branches require **JDK 21** (JDK 25 makes Gradle fail when creating the test task with `Type T not present`); 26.x uses JDK 25. 1.21.1 uses a two-project `common` + `fabric` layout, where the tests live under `:common:test` (`:fabric:test` is NO-SOURCE). ### Release assets - Six full JARs (Fabric / NeoForge × 1.21.1 / 26.1.2 / 26.2). - Bilingual release notes (this file and the Chinese version). ### Compatibility matrix | Loader | Minecraft | Branch | Artifact | |---|---:|---|---| | Fabric | 26.2 | `fa26.2` | `sparkle-morpher-1.2.6-fa26.2.jar` | | Fabric | 26.1.2 | `fa26.1.2` | `sparkle-morpher-1.2.6-fa26.1.x.jar` | | Fabric | 1.21.1 | `main` | `sparkle-morpher-1.2.6-fa1.21.1.jar` | | NeoForge | 26.2 | `neo26.2` | `sparkle-morpher-1.2.6-neo26.2.jar` | | NeoForge | 26.1.2 | `neo26.1.2` | `sparkle-morpher-1.2.6-neo26.1.x.jar` | | NeoForge | 1.21.1 | `neo1.21.1` | `sparkle-morpher-1.2.6-neo1.21.1.jar` | Use the artifact matching both your loader and your Minecraft version. The 1.21.1 builds require the 1.21.1 loader/API line; do not mix them with 26.x installations. ### Known limitations - The **Blaze3D frame-graph channel** is default-off and experimental; its true root cause is unconfirmed, and this release is a self-healing fallback with diagnostics. - The **classic HUD doll options** are config-file only, with no GUI; defaults equal historical behavior. - **Paper-doll snapshot reuse (Slice E) is not implemented**: 26.2's `ModernHudRenderer.renderAt` intentionally does not consume the pose snapshot and a contract test requires that line to remain; consuming the world snapshot makes complex models' bone matrices be overwritten by secondary evaluation (hair/accessory/limb ghosting). It needs in-game reproduction and a read-only sharing design. - **Head pitch and "follow both" head modes are not implemented** (yaw follow only), and **Rotation Unlock is not implemented** (needs camera/input-layer changes, cross-module). - The 1.21.1 branches do not carry the preview package split (same semantics only, on the FBO path). - Card-mode look and low-end FPS (up to 8×2=16 live previews per page) still need in-game feedback. - The 1.21.1 branches still carry a shared static projection field whose value depends on call order; that semantic fragility has not been addressed yet. - The 1.2.6 card-catalog work was done headless and has not had item-by-item in-game visual acceptance.
release

Sparkle Morpher 1.2.6 - Fabric 26.2

1.2.6
12 сент. 2026 г.234Minecraft: 26.2fabric
Скачать
Что нового
# Sparkle Morpher 1.2.6 ## Responsive 3D card catalog / i18n completion / Paper Doll split and ride fixes Release date: 2026-09-12 Supported branches: Fabric 1.21.1, Fabric 26.1.2, Fabric 26.2, NeoForge 1.21.1, NeoForge 26.1.2, NeoForge 26.2 > **English** | [中文](RELEASE_NOTES_1.2.6_zh-CN.md) Sparkle Morpher 1.2.6 brings a **responsive live-3D card catalog** to the model picker, adds **Traditional Chinese (Hong Kong) and Literary Chinese (lzh)** while localizing built-in model metadata into **15 languages**, splits the player paper-doll rendering out of a single file into a maintainable preview package with a set of classic HUD doll options, and fixes two bugs: **Happy Ghast sit pose** and **non-player model selection leaking into the player's own selection**. All six source repositories are synchronized, clean-built, and pushed to their GitHub branches. ### Highlights #### Responsive 3D card catalog (model picker) The model picker gains a three-state view, cycled from a bottom-toolbar button through **Auto → Cards → List** (config `ModelPickerStyle`, default `Auto`, session-pinned after an in-UI switch): - **Auto**: uses cards when space allows, otherwise falls back to the original icon + text grid. The list path is fully retained, so a complete rollback is always possible. - **Cards**: forces card mode, preferring cards even when only one minimum readable card (40×48) fits; falls back only below that. - **List**: the existing icon + text grid. **Every card face is a live 3D model.** The first design rendered live 3D only for hovered/selected cards (at most two preview entities) and used static covers elsewhere; on real hardware that produced mostly blank cards and "no model unless hovered". It now renders every visible card's model live — the model is the card face. Cost is bounded by a per-page-slot preview entity pool (slots are rebound on page turns and do not grow with catalog size); lazy models show a placeholder until ready. Card-art geometry is now calibrated against the real YSM spec: - The card-art size is confirmed as **52×90** (aspect 1.7308); `CARD_ASPECT` was corrected from 1.62 to `90/52`, removing the side letterboxing. - The **`gui_background` → live 3D → `gui_foreground` border** three-layer order was restored; the earlier two-layer simplification lost the front border and darkened the background. - Doll scale changed from `coverH*0.62` to the long-validated `coverH*0.43`, with a hard "never exceed cover height" clamp on `figureScale()`, fixing head clipping. - Column count is now chosen by **searching for the column count that maximizes cards per page** (ties prefer larger cards): horizontal fill 99–100%, vertical 72–98% (limited by the 52:90 ratio). Catalog defects fixed in the same batch (each with its root cause): - `ModelPanelLayout.create()` decided the vertical-tab layout from `guiScale >= 3.0`, but `guiScale` is a physical/logical ratio unrelated to available logical space, so layouts flipped on monitor or scale changes. It now tests **logical width/height**. - The fixed 16px `nameBandH` floor could exceed the card height on very short cards, producing a negative `coverH`; now `min(band, cellH - 1)` with a regression test. - `markModelUsed` was called after the readiness check, so not-yet-ready cards were never marked in-use and lazy/TTL eviction could reclaim the model being viewed; it now **marks before checking readiness**. > Card look (cover shading, doll size, name-band wrap threshold, palette) was built headless and has not been calibrated item-by-item in-game; models without embedded card art show live 3D only and get no static placeholder. Card mode intentionally has no scrollbar (paging by design). #### Traditional Chinese (Hong Kong) and Literary Chinese (lzh) **Root cause**: Minecraft's language fallback chain is only `[en_us, selected locale]` — there is **no sibling or same-family fallback**. Only `zh_tw.json` existed, so selecting "香港繁體 / zh_hk" resolved all mod text to English. There is no `zh_sg`/`zh_my`/other Simplified locale in vanilla, so no Simplified file was added. - **`zh_hk.json` (new)**: generated from `zh_tw.json` as the base, **not via OpenCC** (its `t2hk` mixes Simplified into Traditional). Only two verified HK glyph adaptations (`平臺→平台`, `臥→卧`); key order and structure match `zh_tw`, with just 13 differing values. - **`lzh.json` (Literary Chinese, new)**: built by aligning vanilla 1.21.1 `zh_cn.json` and `lzh.json` into a **4852-entry Simplified→Literary glossary**, then translating **789 unique English strings** across 8 parallel passes under a style guide and the Touhou Little Maid `lzh.json` reference; key order matches `en_us.json` exactly. #### Built-in model metadata localization Built-in model names/descriptions/authors previously fell back to English only (`ModelMetadataPresenter.getLocalizedString` recognizes `en_us`). It now covers **15 languages**, up from `{en_us, zh_cn}`: added `zh_tw`, `zh_hk`, plus `es_es`, `fr_fr`, `id_id`, `ja_jp`, `ko_kr`, `pt_br`, `ru_ru`, `tr_tr`, `uk_ua`, `vi_vn`, `lzh`. For the ten pre-existing non-Chinese locales, **611 unique English strings** that were missing or still equal to English were translated. - One real defect fixed: `ru_ru.json`'s `open_model_folder.tips` used Cyrillic `п`/`а` in place of Latin `n` (`§папка`), breaking vanilla format codes; corrected. - All 11 groups of "identical English, different Chinese meaning" keys were reviewed, and the 3 genuinely ambiguous ones were rewritten. > Translations were spot-checked, **not proofread by native speakers** (~1400 entries across 10 languages plus Literary Chinese). 12 placeholder warnings were confirmed pre-existing and harmless via `git diff` (dead keys or correct argument counts) and left untouched. #### Paper Doll split and classic HUD doll options On the 26.x branches, the 999-line `ModelPreviewRenderer.java` was split into a **compatibility facade (999 → 177 lines, all 25/25 public APIs preserved, zero call-site migration)** plus a new `client/renderer/preview/` package: `PreviewSceneRenderer` (bed/ground/vehicle preview props), `PreviewMath` (deliberately MC-free projection and mouse math for pure-JVM tests), `PreviewRenderBridge` (GUI preview queue and `InventoryScreen` handshake), `GuiModelRenderer`, `PaperDollRenderer`, `PaperDollLayout` (pure math, including the inverse), `PaperDollVisibilityPolicy`, and `PaperDollActivity`. Tests added: `PaperDollIsolationTest`, `PaperDollHeadModeContractTest`, `PaperDollLayoutTest`, `PaperDollVisibilityPolicyTest`. The classic HUD doll gains a set of options (config section `extra_player_render`, **defaults equal historical behavior**, so installing the jar changes nothing until the config is edited): | Option | Config key | Default | Meaning | |---|---|---|---| | Head mode | `ClassicHudHeadMode` | `STRAIGHT` | `STRAIGHT` head follows body (legacy); `FOLLOW` head tracks the real view yaw, clamped ±85° | | Anchor | `ClassicHudAnchor` | `TOP_LEFT` | 9-position anchor plus X/Y offset; `TOP_LEFT` with the original pixel value is the exact legacy position | | Idle auto-hide | `ClassicHudAutoHideIdleSeconds` | `0` (off) | Hide the doll after N idle seconds | | Hide in third person | `ClassicHudHideInThirdPerson` | `false` | Hide in third-person view | | Vehicle alignment | `ClassicHudAlignWithVehicle` | `false` | Align doll yaw with the vehicle | | Action-only visibility | `ClassicHudShowOnActionOnly` | `false` | Show only while moving/sneaking/swimming/gliding/climbing/in water/riding/using/attacking/hurt/sleeping | > These options are **config-file only — there is no GUI settings screen**. #### Ride and selection fixes - **Happy Ghast sit pose used the wrong animation**: `LivingMovementAnimationPredicate` used `Saddleable` (saddleable mobs) for riding on 1.21.1, but 26.x replaced it with a `vehicle instanceof LivingEntity → ride` fallback after the API was removed. `HappyGhast extends Animal → LivingEntity`, so it was treated as a straddle vehicle and played the horse-style ride pose. It is now explicitly matched **before** the fallback and routed to `sit`, matching the mod's own `sit` ("sitting on an entity") semantics. Only the four 26.x branches are affected (1.21.1 has no Happy Ghast). - **Setting a model for a non-player polluted the player's own selection**: `ModernPlayerModelScreen#applyModelAndTexture`'s custom-target branch (maid/NPC) unconditionally called `ClientModelManager.rememberSelectedModel(...)`, which writes the player selection track and persists it; on the next join `restorePersistedModelSelection()` then applied the target entity's model to the player. A new `rememberPlayerSelection` flag now defaults to `true` only for the player's own panel, with `shouldRememberPlayerSelection()` / `setRememberPlayerSelection(boolean)` exposed so third-party NPC panels can override it precisely. #### Blaze3D frame-graph channel (experimental, default off) Diagnosis of "most in-world models vanish when enabled": geometries were successfully deferred (the log shows `[SM-BLAZE3D] ... ACTIVE`) and removed from the vanilla collector, but the frame-graph pass **never executed** them, so models were neither in the collector nor drawn — hence invisible. Six alternatives were ruled out: config not applied, mixin not loaded, missing target signature, unreachable injection point, accessor mismatch, and frame-graph culling. Rather than add a high-privilege mechanism, this release ships a **self-healing fallback plus staged diagnostics**: new per-frame counters, and if a frame deferred draws that were not all rendered (pass never ran, ran late, or was refused), the channel is **permanently auto-disabled for the session** with a lost-geometry log line, falling back to the normal submit path — so the defect can affect at most one frame. Registration exceptions now self-heal too. > The **true root cause is not confirmed**; the diagnosis document's retest section is still awaiting user logs. This release delivers a self-healing fallback and diagnostics, **not a proven repair**. The channel is **default off and experimental**, requiring explicit opt-in. ### Build and verification - All six branches were pushed and `fetch`-verified so that local HEAD matches the corresponding remote branch; working trees are clean. - The release build script performed clean builds (JDK 21 for 1.21.1, JDK 25 for 26.x) and all six branches produced full JARs; CurseForge variants are additionally checked to be free of native libraries. - The full unit-test suite passes on all six branches — **2204 tests, 0 failures** (1 skipped per branch): Fabric 1.21.1 **365**, Fabric 26.1.2 **386**, Fabric 26.2 **393**, NeoForge 1.21.1 **338**, NeoForge 26.1.2 **357**, NeoForge 26.2 **365**. - Note: the 1.21.1 branches require **JDK 21** (JDK 25 makes Gradle fail when creating the test task with `Type T not present`); 26.x uses JDK 25. 1.21.1 uses a two-project `common` + `fabric` layout, where the tests live under `:common:test` (`:fabric:test` is NO-SOURCE). ### Release assets - Six full JARs (Fabric / NeoForge × 1.21.1 / 26.1.2 / 26.2). - Bilingual release notes (this file and the Chinese version). ### Compatibility matrix | Loader | Minecraft | Branch | Artifact | |---|---:|---|---| | Fabric | 26.2 | `fa26.2` | `sparkle-morpher-1.2.6-fa26.2.jar` | | Fabric | 26.1.2 | `fa26.1.2` | `sparkle-morpher-1.2.6-fa26.1.x.jar` | | Fabric | 1.21.1 | `main` | `sparkle-morpher-1.2.6-fa1.21.1.jar` | | NeoForge | 26.2 | `neo26.2` | `sparkle-morpher-1.2.6-neo26.2.jar` | | NeoForge | 26.1.2 | `neo26.1.2` | `sparkle-morpher-1.2.6-neo26.1.x.jar` | | NeoForge | 1.21.1 | `neo1.21.1` | `sparkle-morpher-1.2.6-neo1.21.1.jar` | Use the artifact matching both your loader and your Minecraft version. The 1.21.1 builds require the 1.21.1 loader/API line; do not mix them with 26.x installations. ### Known limitations - The **Blaze3D frame-graph channel** is default-off and experimental; its true root cause is unconfirmed, and this release is a self-healing fallback with diagnostics. - The **classic HUD doll options** are config-file only, with no GUI; defaults equal historical behavior. - **Paper-doll snapshot reuse (Slice E) is not implemented**: 26.2's `ModernHudRenderer.renderAt` intentionally does not consume the pose snapshot and a contract test requires that line to remain; consuming the world snapshot makes complex models' bone matrices be overwritten by secondary evaluation (hair/accessory/limb ghosting). It needs in-game reproduction and a read-only sharing design. - **Head pitch and "follow both" head modes are not implemented** (yaw follow only), and **Rotation Unlock is not implemented** (needs camera/input-layer changes, cross-module). - The 1.21.1 branches do not carry the preview package split (same semantics only, on the FBO path). - Card-mode look and low-end FPS (up to 8×2=16 live previews per page) still need in-game feedback. - The 1.21.1 branches still carry a shared static projection field whose value depends on call order; that semantic fragility has not been addressed yet. - The 1.2.6 card-catalog work was done headless and has not had item-by-item in-game visual acceptance.
release

Sparkle Morpher 1.2.6 - Fabric 26.1.x

1.2.6
12 сент. 2026 г.111Minecraft: 26.1.2fabric
Скачать
Что нового
# Sparkle Morpher 1.2.6 ## Responsive 3D card catalog / i18n completion / Paper Doll split and ride fixes Release date: 2026-09-12 Supported branches: Fabric 1.21.1, Fabric 26.1.2, Fabric 26.2, NeoForge 1.21.1, NeoForge 26.1.2, NeoForge 26.2 > **English** | [中文](RELEASE_NOTES_1.2.6_zh-CN.md) Sparkle Morpher 1.2.6 brings a **responsive live-3D card catalog** to the model picker, adds **Traditional Chinese (Hong Kong) and Literary Chinese (lzh)** while localizing built-in model metadata into **15 languages**, splits the player paper-doll rendering out of a single file into a maintainable preview package with a set of classic HUD doll options, and fixes two bugs: **Happy Ghast sit pose** and **non-player model selection leaking into the player's own selection**. All six source repositories are synchronized, clean-built, and pushed to their GitHub branches. ### Highlights #### Responsive 3D card catalog (model picker) The model picker gains a three-state view, cycled from a bottom-toolbar button through **Auto → Cards → List** (config `ModelPickerStyle`, default `Auto`, session-pinned after an in-UI switch): - **Auto**: uses cards when space allows, otherwise falls back to the original icon + text grid. The list path is fully retained, so a complete rollback is always possible. - **Cards**: forces card mode, preferring cards even when only one minimum readable card (40×48) fits; falls back only below that. - **List**: the existing icon + text grid. **Every card face is a live 3D model.** The first design rendered live 3D only for hovered/selected cards (at most two preview entities) and used static covers elsewhere; on real hardware that produced mostly blank cards and "no model unless hovered". It now renders every visible card's model live — the model is the card face. Cost is bounded by a per-page-slot preview entity pool (slots are rebound on page turns and do not grow with catalog size); lazy models show a placeholder until ready. Card-art geometry is now calibrated against the real YSM spec: - The card-art size is confirmed as **52×90** (aspect 1.7308); `CARD_ASPECT` was corrected from 1.62 to `90/52`, removing the side letterboxing. - The **`gui_background` → live 3D → `gui_foreground` border** three-layer order was restored; the earlier two-layer simplification lost the front border and darkened the background. - Doll scale changed from `coverH*0.62` to the long-validated `coverH*0.43`, with a hard "never exceed cover height" clamp on `figureScale()`, fixing head clipping. - Column count is now chosen by **searching for the column count that maximizes cards per page** (ties prefer larger cards): horizontal fill 99–100%, vertical 72–98% (limited by the 52:90 ratio). Catalog defects fixed in the same batch (each with its root cause): - `ModelPanelLayout.create()` decided the vertical-tab layout from `guiScale >= 3.0`, but `guiScale` is a physical/logical ratio unrelated to available logical space, so layouts flipped on monitor or scale changes. It now tests **logical width/height**. - The fixed 16px `nameBandH` floor could exceed the card height on very short cards, producing a negative `coverH`; now `min(band, cellH - 1)` with a regression test. - `markModelUsed` was called after the readiness check, so not-yet-ready cards were never marked in-use and lazy/TTL eviction could reclaim the model being viewed; it now **marks before checking readiness**. > Card look (cover shading, doll size, name-band wrap threshold, palette) was built headless and has not been calibrated item-by-item in-game; models without embedded card art show live 3D only and get no static placeholder. Card mode intentionally has no scrollbar (paging by design). #### Traditional Chinese (Hong Kong) and Literary Chinese (lzh) **Root cause**: Minecraft's language fallback chain is only `[en_us, selected locale]` — there is **no sibling or same-family fallback**. Only `zh_tw.json` existed, so selecting "香港繁體 / zh_hk" resolved all mod text to English. There is no `zh_sg`/`zh_my`/other Simplified locale in vanilla, so no Simplified file was added. - **`zh_hk.json` (new)**: generated from `zh_tw.json` as the base, **not via OpenCC** (its `t2hk` mixes Simplified into Traditional). Only two verified HK glyph adaptations (`平臺→平台`, `臥→卧`); key order and structure match `zh_tw`, with just 13 differing values. - **`lzh.json` (Literary Chinese, new)**: built by aligning vanilla 1.21.1 `zh_cn.json` and `lzh.json` into a **4852-entry Simplified→Literary glossary**, then translating **789 unique English strings** across 8 parallel passes under a style guide and the Touhou Little Maid `lzh.json` reference; key order matches `en_us.json` exactly. #### Built-in model metadata localization Built-in model names/descriptions/authors previously fell back to English only (`ModelMetadataPresenter.getLocalizedString` recognizes `en_us`). It now covers **15 languages**, up from `{en_us, zh_cn}`: added `zh_tw`, `zh_hk`, plus `es_es`, `fr_fr`, `id_id`, `ja_jp`, `ko_kr`, `pt_br`, `ru_ru`, `tr_tr`, `uk_ua`, `vi_vn`, `lzh`. For the ten pre-existing non-Chinese locales, **611 unique English strings** that were missing or still equal to English were translated. - One real defect fixed: `ru_ru.json`'s `open_model_folder.tips` used Cyrillic `п`/`а` in place of Latin `n` (`§папка`), breaking vanilla format codes; corrected. - All 11 groups of "identical English, different Chinese meaning" keys were reviewed, and the 3 genuinely ambiguous ones were rewritten. > Translations were spot-checked, **not proofread by native speakers** (~1400 entries across 10 languages plus Literary Chinese). 12 placeholder warnings were confirmed pre-existing and harmless via `git diff` (dead keys or correct argument counts) and left untouched. #### Paper Doll split and classic HUD doll options On the 26.x branches, the 999-line `ModelPreviewRenderer.java` was split into a **compatibility facade (999 → 177 lines, all 25/25 public APIs preserved, zero call-site migration)** plus a new `client/renderer/preview/` package: `PreviewSceneRenderer` (bed/ground/vehicle preview props), `PreviewMath` (deliberately MC-free projection and mouse math for pure-JVM tests), `PreviewRenderBridge` (GUI preview queue and `InventoryScreen` handshake), `GuiModelRenderer`, `PaperDollRenderer`, `PaperDollLayout` (pure math, including the inverse), `PaperDollVisibilityPolicy`, and `PaperDollActivity`. Tests added: `PaperDollIsolationTest`, `PaperDollHeadModeContractTest`, `PaperDollLayoutTest`, `PaperDollVisibilityPolicyTest`. The classic HUD doll gains a set of options (config section `extra_player_render`, **defaults equal historical behavior**, so installing the jar changes nothing until the config is edited): | Option | Config key | Default | Meaning | |---|---|---|---| | Head mode | `ClassicHudHeadMode` | `STRAIGHT` | `STRAIGHT` head follows body (legacy); `FOLLOW` head tracks the real view yaw, clamped ±85° | | Anchor | `ClassicHudAnchor` | `TOP_LEFT` | 9-position anchor plus X/Y offset; `TOP_LEFT` with the original pixel value is the exact legacy position | | Idle auto-hide | `ClassicHudAutoHideIdleSeconds` | `0` (off) | Hide the doll after N idle seconds | | Hide in third person | `ClassicHudHideInThirdPerson` | `false` | Hide in third-person view | | Vehicle alignment | `ClassicHudAlignWithVehicle` | `false` | Align doll yaw with the vehicle | | Action-only visibility | `ClassicHudShowOnActionOnly` | `false` | Show only while moving/sneaking/swimming/gliding/climbing/in water/riding/using/attacking/hurt/sleeping | > These options are **config-file only — there is no GUI settings screen**. #### Ride and selection fixes - **Happy Ghast sit pose used the wrong animation**: `LivingMovementAnimationPredicate` used `Saddleable` (saddleable mobs) for riding on 1.21.1, but 26.x replaced it with a `vehicle instanceof LivingEntity → ride` fallback after the API was removed. `HappyGhast extends Animal → LivingEntity`, so it was treated as a straddle vehicle and played the horse-style ride pose. It is now explicitly matched **before** the fallback and routed to `sit`, matching the mod's own `sit` ("sitting on an entity") semantics. Only the four 26.x branches are affected (1.21.1 has no Happy Ghast). - **Setting a model for a non-player polluted the player's own selection**: `ModernPlayerModelScreen#applyModelAndTexture`'s custom-target branch (maid/NPC) unconditionally called `ClientModelManager.rememberSelectedModel(...)`, which writes the player selection track and persists it; on the next join `restorePersistedModelSelection()` then applied the target entity's model to the player. A new `rememberPlayerSelection` flag now defaults to `true` only for the player's own panel, with `shouldRememberPlayerSelection()` / `setRememberPlayerSelection(boolean)` exposed so third-party NPC panels can override it precisely. #### Blaze3D frame-graph channel (experimental, default off) Diagnosis of "most in-world models vanish when enabled": geometries were successfully deferred (the log shows `[SM-BLAZE3D] ... ACTIVE`) and removed from the vanilla collector, but the frame-graph pass **never executed** them, so models were neither in the collector nor drawn — hence invisible. Six alternatives were ruled out: config not applied, mixin not loaded, missing target signature, unreachable injection point, accessor mismatch, and frame-graph culling. Rather than add a high-privilege mechanism, this release ships a **self-healing fallback plus staged diagnostics**: new per-frame counters, and if a frame deferred draws that were not all rendered (pass never ran, ran late, or was refused), the channel is **permanently auto-disabled for the session** with a lost-geometry log line, falling back to the normal submit path — so the defect can affect at most one frame. Registration exceptions now self-heal too. > The **true root cause is not confirmed**; the diagnosis document's retest section is still awaiting user logs. This release delivers a self-healing fallback and diagnostics, **not a proven repair**. The channel is **default off and experimental**, requiring explicit opt-in. ### Build and verification - All six branches were pushed and `fetch`-verified so that local HEAD matches the corresponding remote branch; working trees are clean. - The release build script performed clean builds (JDK 21 for 1.21.1, JDK 25 for 26.x) and all six branches produced full JARs; CurseForge variants are additionally checked to be free of native libraries. - The full unit-test suite passes on all six branches — **2204 tests, 0 failures** (1 skipped per branch): Fabric 1.21.1 **365**, Fabric 26.1.2 **386**, Fabric 26.2 **393**, NeoForge 1.21.1 **338**, NeoForge 26.1.2 **357**, NeoForge 26.2 **365**. - Note: the 1.21.1 branches require **JDK 21** (JDK 25 makes Gradle fail when creating the test task with `Type T not present`); 26.x uses JDK 25. 1.21.1 uses a two-project `common` + `fabric` layout, where the tests live under `:common:test` (`:fabric:test` is NO-SOURCE). ### Release assets - Six full JARs (Fabric / NeoForge × 1.21.1 / 26.1.2 / 26.2). - Bilingual release notes (this file and the Chinese version). ### Compatibility matrix | Loader | Minecraft | Branch | Artifact | |---|---:|---|---| | Fabric | 26.2 | `fa26.2` | `sparkle-morpher-1.2.6-fa26.2.jar` | | Fabric | 26.1.2 | `fa26.1.2` | `sparkle-morpher-1.2.6-fa26.1.x.jar` | | Fabric | 1.21.1 | `main` | `sparkle-morpher-1.2.6-fa1.21.1.jar` | | NeoForge | 26.2 | `neo26.2` | `sparkle-morpher-1.2.6-neo26.2.jar` | | NeoForge | 26.1.2 | `neo26.1.2` | `sparkle-morpher-1.2.6-neo26.1.x.jar` | | NeoForge | 1.21.1 | `neo1.21.1` | `sparkle-morpher-1.2.6-neo1.21.1.jar` | Use the artifact matching both your loader and your Minecraft version. The 1.21.1 builds require the 1.21.1 loader/API line; do not mix them with 26.x installations. ### Known limitations - The **Blaze3D frame-graph channel** is default-off and experimental; its true root cause is unconfirmed, and this release is a self-healing fallback with diagnostics. - The **classic HUD doll options** are config-file only, with no GUI; defaults equal historical behavior. - **Paper-doll snapshot reuse (Slice E) is not implemented**: 26.2's `ModernHudRenderer.renderAt` intentionally does not consume the pose snapshot and a contract test requires that line to remain; consuming the world snapshot makes complex models' bone matrices be overwritten by secondary evaluation (hair/accessory/limb ghosting). It needs in-game reproduction and a read-only sharing design. - **Head pitch and "follow both" head modes are not implemented** (yaw follow only), and **Rotation Unlock is not implemented** (needs camera/input-layer changes, cross-module). - The 1.21.1 branches do not carry the preview package split (same semantics only, on the FBO path). - Card-mode look and low-end FPS (up to 8×2=16 live previews per page) still need in-game feedback. - The 1.21.1 branches still carry a shared static projection field whose value depends on call order; that semantic fragility has not been addressed yet. - The 1.2.6 card-catalog work was done headless and has not had item-by-item in-game visual acceptance.
release

Sparkle Morpher 1.2.6 - Fabric 1.21.1

1.2.6
12 сент. 2026 г.102Minecraft: 1.21.1fabric
Скачать
Что нового
# Sparkle Morpher 1.2.6 ## Responsive 3D card catalog / i18n completion / Paper Doll split and ride fixes Release date: 2026-09-12 Supported branches: Fabric 1.21.1, Fabric 26.1.2, Fabric 26.2, NeoForge 1.21.1, NeoForge 26.1.2, NeoForge 26.2 > **English** | [中文](RELEASE_NOTES_1.2.6_zh-CN.md) Sparkle Morpher 1.2.6 brings a **responsive live-3D card catalog** to the model picker, adds **Traditional Chinese (Hong Kong) and Literary Chinese (lzh)** while localizing built-in model metadata into **15 languages**, splits the player paper-doll rendering out of a single file into a maintainable preview package with a set of classic HUD doll options, and fixes two bugs: **Happy Ghast sit pose** and **non-player model selection leaking into the player's own selection**. All six source repositories are synchronized, clean-built, and pushed to their GitHub branches. ### Highlights #### Responsive 3D card catalog (model picker) The model picker gains a three-state view, cycled from a bottom-toolbar button through **Auto → Cards → List** (config `ModelPickerStyle`, default `Auto`, session-pinned after an in-UI switch): - **Auto**: uses cards when space allows, otherwise falls back to the original icon + text grid. The list path is fully retained, so a complete rollback is always possible. - **Cards**: forces card mode, preferring cards even when only one minimum readable card (40×48) fits; falls back only below that. - **List**: the existing icon + text grid. **Every card face is a live 3D model.** The first design rendered live 3D only for hovered/selected cards (at most two preview entities) and used static covers elsewhere; on real hardware that produced mostly blank cards and "no model unless hovered". It now renders every visible card's model live — the model is the card face. Cost is bounded by a per-page-slot preview entity pool (slots are rebound on page turns and do not grow with catalog size); lazy models show a placeholder until ready. Card-art geometry is now calibrated against the real YSM spec: - The card-art size is confirmed as **52×90** (aspect 1.7308); `CARD_ASPECT` was corrected from 1.62 to `90/52`, removing the side letterboxing. - The **`gui_background` → live 3D → `gui_foreground` border** three-layer order was restored; the earlier two-layer simplification lost the front border and darkened the background. - Doll scale changed from `coverH*0.62` to the long-validated `coverH*0.43`, with a hard "never exceed cover height" clamp on `figureScale()`, fixing head clipping. - Column count is now chosen by **searching for the column count that maximizes cards per page** (ties prefer larger cards): horizontal fill 99–100%, vertical 72–98% (limited by the 52:90 ratio). Catalog defects fixed in the same batch (each with its root cause): - `ModelPanelLayout.create()` decided the vertical-tab layout from `guiScale >= 3.0`, but `guiScale` is a physical/logical ratio unrelated to available logical space, so layouts flipped on monitor or scale changes. It now tests **logical width/height**. - The fixed 16px `nameBandH` floor could exceed the card height on very short cards, producing a negative `coverH`; now `min(band, cellH - 1)` with a regression test. - `markModelUsed` was called after the readiness check, so not-yet-ready cards were never marked in-use and lazy/TTL eviction could reclaim the model being viewed; it now **marks before checking readiness**. > Card look (cover shading, doll size, name-band wrap threshold, palette) was built headless and has not been calibrated item-by-item in-game; models without embedded card art show live 3D only and get no static placeholder. Card mode intentionally has no scrollbar (paging by design). #### Traditional Chinese (Hong Kong) and Literary Chinese (lzh) **Root cause**: Minecraft's language fallback chain is only `[en_us, selected locale]` — there is **no sibling or same-family fallback**. Only `zh_tw.json` existed, so selecting "香港繁體 / zh_hk" resolved all mod text to English. There is no `zh_sg`/`zh_my`/other Simplified locale in vanilla, so no Simplified file was added. - **`zh_hk.json` (new)**: generated from `zh_tw.json` as the base, **not via OpenCC** (its `t2hk` mixes Simplified into Traditional). Only two verified HK glyph adaptations (`平臺→平台`, `臥→卧`); key order and structure match `zh_tw`, with just 13 differing values. - **`lzh.json` (Literary Chinese, new)**: built by aligning vanilla 1.21.1 `zh_cn.json` and `lzh.json` into a **4852-entry Simplified→Literary glossary**, then translating **789 unique English strings** across 8 parallel passes under a style guide and the Touhou Little Maid `lzh.json` reference; key order matches `en_us.json` exactly. #### Built-in model metadata localization Built-in model names/descriptions/authors previously fell back to English only (`ModelMetadataPresenter.getLocalizedString` recognizes `en_us`). It now covers **15 languages**, up from `{en_us, zh_cn}`: added `zh_tw`, `zh_hk`, plus `es_es`, `fr_fr`, `id_id`, `ja_jp`, `ko_kr`, `pt_br`, `ru_ru`, `tr_tr`, `uk_ua`, `vi_vn`, `lzh`. For the ten pre-existing non-Chinese locales, **611 unique English strings** that were missing or still equal to English were translated. - One real defect fixed: `ru_ru.json`'s `open_model_folder.tips` used Cyrillic `п`/`а` in place of Latin `n` (`§папка`), breaking vanilla format codes; corrected. - All 11 groups of "identical English, different Chinese meaning" keys were reviewed, and the 3 genuinely ambiguous ones were rewritten. > Translations were spot-checked, **not proofread by native speakers** (~1400 entries across 10 languages plus Literary Chinese). 12 placeholder warnings were confirmed pre-existing and harmless via `git diff` (dead keys or correct argument counts) and left untouched. #### Paper Doll split and classic HUD doll options On the 26.x branches, the 999-line `ModelPreviewRenderer.java` was split into a **compatibility facade (999 → 177 lines, all 25/25 public APIs preserved, zero call-site migration)** plus a new `client/renderer/preview/` package: `PreviewSceneRenderer` (bed/ground/vehicle preview props), `PreviewMath` (deliberately MC-free projection and mouse math for pure-JVM tests), `PreviewRenderBridge` (GUI preview queue and `InventoryScreen` handshake), `GuiModelRenderer`, `PaperDollRenderer`, `PaperDollLayout` (pure math, including the inverse), `PaperDollVisibilityPolicy`, and `PaperDollActivity`. Tests added: `PaperDollIsolationTest`, `PaperDollHeadModeContractTest`, `PaperDollLayoutTest`, `PaperDollVisibilityPolicyTest`. The classic HUD doll gains a set of options (config section `extra_player_render`, **defaults equal historical behavior**, so installing the jar changes nothing until the config is edited): | Option | Config key | Default | Meaning | |---|---|---|---| | Head mode | `ClassicHudHeadMode` | `STRAIGHT` | `STRAIGHT` head follows body (legacy); `FOLLOW` head tracks the real view yaw, clamped ±85° | | Anchor | `ClassicHudAnchor` | `TOP_LEFT` | 9-position anchor plus X/Y offset; `TOP_LEFT` with the original pixel value is the exact legacy position | | Idle auto-hide | `ClassicHudAutoHideIdleSeconds` | `0` (off) | Hide the doll after N idle seconds | | Hide in third person | `ClassicHudHideInThirdPerson` | `false` | Hide in third-person view | | Vehicle alignment | `ClassicHudAlignWithVehicle` | `false` | Align doll yaw with the vehicle | | Action-only visibility | `ClassicHudShowOnActionOnly` | `false` | Show only while moving/sneaking/swimming/gliding/climbing/in water/riding/using/attacking/hurt/sleeping | > These options are **config-file only — there is no GUI settings screen**. #### Ride and selection fixes - **Happy Ghast sit pose used the wrong animation**: `LivingMovementAnimationPredicate` used `Saddleable` (saddleable mobs) for riding on 1.21.1, but 26.x replaced it with a `vehicle instanceof LivingEntity → ride` fallback after the API was removed. `HappyGhast extends Animal → LivingEntity`, so it was treated as a straddle vehicle and played the horse-style ride pose. It is now explicitly matched **before** the fallback and routed to `sit`, matching the mod's own `sit` ("sitting on an entity") semantics. Only the four 26.x branches are affected (1.21.1 has no Happy Ghast). - **Setting a model for a non-player polluted the player's own selection**: `ModernPlayerModelScreen#applyModelAndTexture`'s custom-target branch (maid/NPC) unconditionally called `ClientModelManager.rememberSelectedModel(...)`, which writes the player selection track and persists it; on the next join `restorePersistedModelSelection()` then applied the target entity's model to the player. A new `rememberPlayerSelection` flag now defaults to `true` only for the player's own panel, with `shouldRememberPlayerSelection()` / `setRememberPlayerSelection(boolean)` exposed so third-party NPC panels can override it precisely. #### Blaze3D frame-graph channel (experimental, default off) Diagnosis of "most in-world models vanish when enabled": geometries were successfully deferred (the log shows `[SM-BLAZE3D] ... ACTIVE`) and removed from the vanilla collector, but the frame-graph pass **never executed** them, so models were neither in the collector nor drawn — hence invisible. Six alternatives were ruled out: config not applied, mixin not loaded, missing target signature, unreachable injection point, accessor mismatch, and frame-graph culling. Rather than add a high-privilege mechanism, this release ships a **self-healing fallback plus staged diagnostics**: new per-frame counters, and if a frame deferred draws that were not all rendered (pass never ran, ran late, or was refused), the channel is **permanently auto-disabled for the session** with a lost-geometry log line, falling back to the normal submit path — so the defect can affect at most one frame. Registration exceptions now self-heal too. > The **true root cause is not confirmed**; the diagnosis document's retest section is still awaiting user logs. This release delivers a self-healing fallback and diagnostics, **not a proven repair**. The channel is **default off and experimental**, requiring explicit opt-in. ### Build and verification - All six branches were pushed and `fetch`-verified so that local HEAD matches the corresponding remote branch; working trees are clean. - The release build script performed clean builds (JDK 21 for 1.21.1, JDK 25 for 26.x) and all six branches produced full JARs; CurseForge variants are additionally checked to be free of native libraries. - The full unit-test suite passes on all six branches — **2204 tests, 0 failures** (1 skipped per branch): Fabric 1.21.1 **365**, Fabric 26.1.2 **386**, Fabric 26.2 **393**, NeoForge 1.21.1 **338**, NeoForge 26.1.2 **357**, NeoForge 26.2 **365**. - Note: the 1.21.1 branches require **JDK 21** (JDK 25 makes Gradle fail when creating the test task with `Type T not present`); 26.x uses JDK 25. 1.21.1 uses a two-project `common` + `fabric` layout, where the tests live under `:common:test` (`:fabric:test` is NO-SOURCE). ### Release assets - Six full JARs (Fabric / NeoForge × 1.21.1 / 26.1.2 / 26.2). - Bilingual release notes (this file and the Chinese version). ### Compatibility matrix | Loader | Minecraft | Branch | Artifact | |---|---:|---|---| | Fabric | 26.2 | `fa26.2` | `sparkle-morpher-1.2.6-fa26.2.jar` | | Fabric | 26.1.2 | `fa26.1.2` | `sparkle-morpher-1.2.6-fa26.1.x.jar` | | Fabric | 1.21.1 | `main` | `sparkle-morpher-1.2.6-fa1.21.1.jar` | | NeoForge | 26.2 | `neo26.2` | `sparkle-morpher-1.2.6-neo26.2.jar` | | NeoForge | 26.1.2 | `neo26.1.2` | `sparkle-morpher-1.2.6-neo26.1.x.jar` | | NeoForge | 1.21.1 | `neo1.21.1` | `sparkle-morpher-1.2.6-neo1.21.1.jar` | Use the artifact matching both your loader and your Minecraft version. The 1.21.1 builds require the 1.21.1 loader/API line; do not mix them with 26.x installations. ### Known limitations - The **Blaze3D frame-graph channel** is default-off and experimental; its true root cause is unconfirmed, and this release is a self-healing fallback with diagnostics. - The **classic HUD doll options** are config-file only, with no GUI; defaults equal historical behavior. - **Paper-doll snapshot reuse (Slice E) is not implemented**: 26.2's `ModernHudRenderer.renderAt` intentionally does not consume the pose snapshot and a contract test requires that line to remain; consuming the world snapshot makes complex models' bone matrices be overwritten by secondary evaluation (hair/accessory/limb ghosting). It needs in-game reproduction and a read-only sharing design. - **Head pitch and "follow both" head modes are not implemented** (yaw follow only), and **Rotation Unlock is not implemented** (needs camera/input-layer changes, cross-module). - The 1.21.1 branches do not carry the preview package split (same semantics only, on the FBO path). - Card-mode look and low-end FPS (up to 8×2=16 live previews per page) still need in-game feedback. - The 1.21.1 branches still carry a shared static projection field whose value depends on call order; that semantic fragility has not been addressed yet. - The 1.2.6 card-catalog work was done headless and has not had item-by-item in-game visual acceptance.
release

Sparkle Morpher 1.2.5 - NeoForge 26.2

1.2.5
10 сент. 2026 г.55Minecraft: 26.2neoforge
Скачать
Что нового
# Sparkle Morpher 1.2.5 ## Player Visual Runtime / Render Pipeline and Developer Tooling Release date: 2026-09-11 Supported branches: Fabric 1.21.1, Fabric 26.1.2, Fabric 26.2, NeoForge 1.21.1, NeoForge 26.1.2, NeoForge 26.2 > **English** | [中文](RELEASE_NOTES_v1.2.5_2026-09-11_zh-CN.md) Sparkle Morpher 1.2.5 delivers the **Player Visual Runtime** stage of the 1.2.x plan, adds a default-off Blaze3D frame-graph render channel, and gives model authors a unified **Developer options** panel. All six actual source repositories were synchronized, cleanly built, and pushed to their matching GitHub branches. ### Highlights #### Player Visual Runtime (render context convergence) Render state that used to be scattered across ThreadLocals and ad-hoc boolean flags is now centralised in `RenderContext`: - `RenderPass` gains `FIRST_PERSON` and `PAPER_DOLL`, appended at the end so existing ordinal semantics stay unchanged. - `RenderContext` moves from `ThreadLocal<RenderPass>` to an immutable record `ThreadLocal<RenderScope>(pass, modelPreview, entity, partialTick)`. The old API (`enter`/`restore`/`currentPass`/`isGuiPreview`/`isOldHud`) keeps its previous semantics. - First-person detection converges on `RenderContext`: the standalone `FIRST_PERSON_MODE` field is removed while the global PBR and FirstPerson-mod fallbacks remain. A worker-thread behaviour audit confirmed this is safe — worker threads already read the default value and receive their semantics through method parameters. - The model-preview flag joins `RenderScope`, with a new `isAnyPreview()` collapsing the two union reads of "model preview ∪ GUI preview". - A new `PhysicsDomain` (WORLD / PREVIEW / EXTRA_PLAYER / FIRST_PERSON) makes the physics domain explicit. - New `PlayerFrameSnapshot` (frame-level render inputs plus a testable `sanitizePartialTick`) and `PlayerRenderPolicy` (pure decision logic with no Minecraft dependency, unit-testable) pull render gating out of call sites and into policy inputs. #### Default-off Blaze3D frame-graph render channel A new channel registers GPU draws as deferred draws and inserts them into the Minecraft frame graph as a first-class pass: ```text Submit stage IGeoRenderer → register (deep-copied pose) Frame graph inject at the tail of LevelRenderer frame-graph construction, declaring readsAndWrites(main) MC scheduling Minecraft owns ordering, barriers, and resource lifetime ``` - Key finding: player shadows are submitted independently (relative position and shape only, no model geometry), so GPU skinning and shadows do not conflict — the channel does not have to sacrifice shadows. - **Conservative gating (first version covers only the most ordinary case)**: requires the config switch and the experimental switch, plus world rendering, no preview, not first person, no shader pack, non-glowing entity, opaque, and an empty part mask. Everything else keeps using the existing paths. - **Fail-safe**: the whole chain is wrapped in `try/catch`; an exception is logged once and the frame's pending draws are cleared, with unconditional cleanup at frame begin/end. - The switch is a standard mod config entry (`EnableBlaze3DInPipelineDraw`, default off, in the Performance group) and **requires no JVM arguments**. Two one-shot INFO lines that bypass the log gating (`[SM-BLAZE3D]`) were added so users who enable only the new channel still see output. - Adjacent improvements in the same batch: select the translucent pipeline from `translucentTexture` (#2); replace the "backend name equals VULKAN" check with capability-based routing (#3, OpenGL fast-path behaviour unchanged); precompile both pipelines before the first draw while retaining lazy compilation as a fallback (#4). > This channel is **off by default** and represents a conservative first version intended to be opened up gradually. Translucent textures, glowing entities, split glow bones, preview, and first-person scenes still use the existing paths. #### Model author "Developer options" The former Debug group is promoted to Developer options and split into four sections — **Panel state / Logging / Profiling / Renderer diagnostics** (renderer diagnostics exists only on the 26.x branches, since four of its entries are version-specific): - **Panel state**: dump the current panel state to the clipboard as JSON, reset panel state, and a **default-off** "apply panel state from clipboard" feature for reproducing the UI state an author reports. Writeback validates the whole batch first and applies it all-or-nothing; any invalid value rejects the batch, and the confirmation panel (which needs host context) cannot be restored this way. - **Logging / Profiling**: two switches that previously existed in config but were never surfaced in the UI are now wired up (network online debug log, warn repeated animation evaluation). - Panel state is now cached per context key: reopening the same target remembers its tab, search, and scroll position, while different targets no longer share state. #### Compatibility fixes - **ParCool (three NeoForge branches)**: the NeoForge side previously had no loader implementation, so ParCool actions never entered animation resolution. A pure-reflection bridge (no compile-time dependency) maps the 38 action names from the bundled animation JSON and remembers direction per action instance to avoid mid-playback drift; `ctrl.parcool_loaded` and `ctrl.parcool_doing` Molang variables are provided as well. The Fabric side keeps its no-op stub (ParCool is NeoForge-only). - **SlashBlade (NeoForge 1.21.1, Issue #25)**: fixed attack animations being flipped vertically and horizontally, and the sheath being bound to the wrong side at the wrong height. The root cause was applying vanilla layer-space maths directly in YSM entity space without the `scale(-1,-1,1)` and vertical baseline compensation; the project's elytra and parrot layers already compensated explicitly, and only this branch had been missed. The maid's held-blade render branch was added too. - **Render backend decision drift**: `RenderBackendDecision` on neo26.2 / neo26.1.2 had missed one synchronized commit, which could route GUI previews onto the direct-draw path. It is now aligned on `isAnyPreview()` and all four 26.x branches are byte-identical at that site. #### Stability and other fixes - **Model face-culling escape hatch**: a default-off self-rescue entry for "some models lose faces at certain angles", covering the GPU, Blaze3D, and SIMD paths. - **Native trust chain now fails closed**: the `YSM_CORE_LIB` development override previously skipped content verification, while the native ABI version is identical before and after the culling fix, so a stale library could not be identified from it. The override now verifies the content hash against the manifest by default, refuses to load on mismatch, and prints the expected and actual hashes; an explicit escape hatch remains. Cache reuse and reinstall both log the manifest identity, making "which native build is actually loaded" visible in the log. - **Blaze3D mesh resource leak fixed**: the mesh cache never released its GPU buffers or per-frame direct memory, and the release path only fired when the OpenGL handle was non-zero; release hooks were added and reclamation is now unconditional. #### Dead code removal Removed render paths verified unreferenced across all source sets: `PiePortableRenderPath` / `PieMesh` / `PiePipeline` / `PieShader`, `IrisRenderPath`, `BoneXformCompute`, and the shader assets that became unused with them. The live `Pie` fallback draw is retained. ### Build and verification - All six branches were pushed and `fetch`-verified so that local HEAD matches the corresponding remote branch; working trees are clean. - The release build script performed clean builds (JDK 21 for 1.21.1, JDK 25 for 26.x) and all six branches produced full JARs; CurseForge variants are additionally checked to be free of native libraries. - Tests: the full suite passes on Fabric 26.2 and NeoForge 26.2 (345 / 317 tests, 0 failures), including the new render-context, frame-snapshot, render-policy, backend-routing, and frame-pass tests added in this version. - The remaining branches were compiled with their relevant tests. ### Release assets - Six full JARs (Fabric / NeoForge × 1.21.1 / 26.1.2 / 26.2). - Bilingual release notes (this file and the Chinese version). ### Compatibility matrix | Loader | Minecraft | Branch | Artifact | |---|---:|---|---| | Fabric | 26.2 | `fa26.2` | `sparkle-morpher-1.2.5-fa26.2.jar` | | Fabric | 26.1.2 | `fa26.1.2` | `sparkle-morpher-1.2.5-fa26.1.x.jar` | | Fabric | 1.21.1 | `main` | `sparkle-morpher-1.2.5-fa1.21.1.jar` | | NeoForge | 26.2 | `neo26.2` | `sparkle-morpher-1.2.5-neo26.2.jar` | | NeoForge | 26.1.2 | `neo26.1.2` | `sparkle-morpher-1.2.5-neo26.1.x.jar` | | NeoForge | 1.21.1 | `neo1.21.1` | `sparkle-morpher-1.2.5-neo1.21.1.jar` | Use the artifact matching both your loader and your Minecraft version. The 1.21.1 builds require the 1.21.1 loader/API line; do not mix them with 26.x installations. ### Known limitations - The new Blaze3D frame-graph channel is off by default with conservative gating and is not yet opened up for every scenario (translucent, glowing entities, preview, first person, shader packs). - Panel-state writeback is off by default and is a model-author troubleshooting tool. - The 1.21.1 branches still carry a shared static projection field whose value depends on call order; that semantic fragility has not been addressed yet.
release

Sparkle Morpher 1.2.5 - NeoForge 26.1.x

1.2.5
10 сент. 2026 г.30Minecraft: 26.1.2neoforge
Скачать
Что нового
# Sparkle Morpher 1.2.5 ## Player Visual Runtime / Render Pipeline and Developer Tooling Release date: 2026-09-11 Supported branches: Fabric 1.21.1, Fabric 26.1.2, Fabric 26.2, NeoForge 1.21.1, NeoForge 26.1.2, NeoForge 26.2 > **English** | [中文](RELEASE_NOTES_v1.2.5_2026-09-11_zh-CN.md) Sparkle Morpher 1.2.5 delivers the **Player Visual Runtime** stage of the 1.2.x plan, adds a default-off Blaze3D frame-graph render channel, and gives model authors a unified **Developer options** panel. All six actual source repositories were synchronized, cleanly built, and pushed to their matching GitHub branches. ### Highlights #### Player Visual Runtime (render context convergence) Render state that used to be scattered across ThreadLocals and ad-hoc boolean flags is now centralised in `RenderContext`: - `RenderPass` gains `FIRST_PERSON` and `PAPER_DOLL`, appended at the end so existing ordinal semantics stay unchanged. - `RenderContext` moves from `ThreadLocal<RenderPass>` to an immutable record `ThreadLocal<RenderScope>(pass, modelPreview, entity, partialTick)`. The old API (`enter`/`restore`/`currentPass`/`isGuiPreview`/`isOldHud`) keeps its previous semantics. - First-person detection converges on `RenderContext`: the standalone `FIRST_PERSON_MODE` field is removed while the global PBR and FirstPerson-mod fallbacks remain. A worker-thread behaviour audit confirmed this is safe — worker threads already read the default value and receive their semantics through method parameters. - The model-preview flag joins `RenderScope`, with a new `isAnyPreview()` collapsing the two union reads of "model preview ∪ GUI preview". - A new `PhysicsDomain` (WORLD / PREVIEW / EXTRA_PLAYER / FIRST_PERSON) makes the physics domain explicit. - New `PlayerFrameSnapshot` (frame-level render inputs plus a testable `sanitizePartialTick`) and `PlayerRenderPolicy` (pure decision logic with no Minecraft dependency, unit-testable) pull render gating out of call sites and into policy inputs. #### Default-off Blaze3D frame-graph render channel A new channel registers GPU draws as deferred draws and inserts them into the Minecraft frame graph as a first-class pass: ```text Submit stage IGeoRenderer → register (deep-copied pose) Frame graph inject at the tail of LevelRenderer frame-graph construction, declaring readsAndWrites(main) MC scheduling Minecraft owns ordering, barriers, and resource lifetime ``` - Key finding: player shadows are submitted independently (relative position and shape only, no model geometry), so GPU skinning and shadows do not conflict — the channel does not have to sacrifice shadows. - **Conservative gating (first version covers only the most ordinary case)**: requires the config switch and the experimental switch, plus world rendering, no preview, not first person, no shader pack, non-glowing entity, opaque, and an empty part mask. Everything else keeps using the existing paths. - **Fail-safe**: the whole chain is wrapped in `try/catch`; an exception is logged once and the frame's pending draws are cleared, with unconditional cleanup at frame begin/end. - The switch is a standard mod config entry (`EnableBlaze3DInPipelineDraw`, default off, in the Performance group) and **requires no JVM arguments**. Two one-shot INFO lines that bypass the log gating (`[SM-BLAZE3D]`) were added so users who enable only the new channel still see output. - Adjacent improvements in the same batch: select the translucent pipeline from `translucentTexture` (#2); replace the "backend name equals VULKAN" check with capability-based routing (#3, OpenGL fast-path behaviour unchanged); precompile both pipelines before the first draw while retaining lazy compilation as a fallback (#4). > This channel is **off by default** and represents a conservative first version intended to be opened up gradually. Translucent textures, glowing entities, split glow bones, preview, and first-person scenes still use the existing paths. #### Model author "Developer options" The former Debug group is promoted to Developer options and split into four sections — **Panel state / Logging / Profiling / Renderer diagnostics** (renderer diagnostics exists only on the 26.x branches, since four of its entries are version-specific): - **Panel state**: dump the current panel state to the clipboard as JSON, reset panel state, and a **default-off** "apply panel state from clipboard" feature for reproducing the UI state an author reports. Writeback validates the whole batch first and applies it all-or-nothing; any invalid value rejects the batch, and the confirmation panel (which needs host context) cannot be restored this way. - **Logging / Profiling**: two switches that previously existed in config but were never surfaced in the UI are now wired up (network online debug log, warn repeated animation evaluation). - Panel state is now cached per context key: reopening the same target remembers its tab, search, and scroll position, while different targets no longer share state. #### Compatibility fixes - **ParCool (three NeoForge branches)**: the NeoForge side previously had no loader implementation, so ParCool actions never entered animation resolution. A pure-reflection bridge (no compile-time dependency) maps the 38 action names from the bundled animation JSON and remembers direction per action instance to avoid mid-playback drift; `ctrl.parcool_loaded` and `ctrl.parcool_doing` Molang variables are provided as well. The Fabric side keeps its no-op stub (ParCool is NeoForge-only). - **SlashBlade (NeoForge 1.21.1, Issue #25)**: fixed attack animations being flipped vertically and horizontally, and the sheath being bound to the wrong side at the wrong height. The root cause was applying vanilla layer-space maths directly in YSM entity space without the `scale(-1,-1,1)` and vertical baseline compensation; the project's elytra and parrot layers already compensated explicitly, and only this branch had been missed. The maid's held-blade render branch was added too. - **Render backend decision drift**: `RenderBackendDecision` on neo26.2 / neo26.1.2 had missed one synchronized commit, which could route GUI previews onto the direct-draw path. It is now aligned on `isAnyPreview()` and all four 26.x branches are byte-identical at that site. #### Stability and other fixes - **Model face-culling escape hatch**: a default-off self-rescue entry for "some models lose faces at certain angles", covering the GPU, Blaze3D, and SIMD paths. - **Native trust chain now fails closed**: the `YSM_CORE_LIB` development override previously skipped content verification, while the native ABI version is identical before and after the culling fix, so a stale library could not be identified from it. The override now verifies the content hash against the manifest by default, refuses to load on mismatch, and prints the expected and actual hashes; an explicit escape hatch remains. Cache reuse and reinstall both log the manifest identity, making "which native build is actually loaded" visible in the log. - **Blaze3D mesh resource leak fixed**: the mesh cache never released its GPU buffers or per-frame direct memory, and the release path only fired when the OpenGL handle was non-zero; release hooks were added and reclamation is now unconditional. #### Dead code removal Removed render paths verified unreferenced across all source sets: `PiePortableRenderPath` / `PieMesh` / `PiePipeline` / `PieShader`, `IrisRenderPath`, `BoneXformCompute`, and the shader assets that became unused with them. The live `Pie` fallback draw is retained. ### Build and verification - All six branches were pushed and `fetch`-verified so that local HEAD matches the corresponding remote branch; working trees are clean. - The release build script performed clean builds (JDK 21 for 1.21.1, JDK 25 for 26.x) and all six branches produced full JARs; CurseForge variants are additionally checked to be free of native libraries. - Tests: the full suite passes on Fabric 26.2 and NeoForge 26.2 (345 / 317 tests, 0 failures), including the new render-context, frame-snapshot, render-policy, backend-routing, and frame-pass tests added in this version. - The remaining branches were compiled with their relevant tests. ### Release assets - Six full JARs (Fabric / NeoForge × 1.21.1 / 26.1.2 / 26.2). - Bilingual release notes (this file and the Chinese version). ### Compatibility matrix | Loader | Minecraft | Branch | Artifact | |---|---:|---|---| | Fabric | 26.2 | `fa26.2` | `sparkle-morpher-1.2.5-fa26.2.jar` | | Fabric | 26.1.2 | `fa26.1.2` | `sparkle-morpher-1.2.5-fa26.1.x.jar` | | Fabric | 1.21.1 | `main` | `sparkle-morpher-1.2.5-fa1.21.1.jar` | | NeoForge | 26.2 | `neo26.2` | `sparkle-morpher-1.2.5-neo26.2.jar` | | NeoForge | 26.1.2 | `neo26.1.2` | `sparkle-morpher-1.2.5-neo26.1.x.jar` | | NeoForge | 1.21.1 | `neo1.21.1` | `sparkle-morpher-1.2.5-neo1.21.1.jar` | Use the artifact matching both your loader and your Minecraft version. The 1.21.1 builds require the 1.21.1 loader/API line; do not mix them with 26.x installations. ### Known limitations - The new Blaze3D frame-graph channel is off by default with conservative gating and is not yet opened up for every scenario (translucent, glowing entities, preview, first person, shader packs). - Panel-state writeback is off by default and is a model-author troubleshooting tool. - The 1.21.1 branches still carry a shared static projection field whose value depends on call order; that semantic fragility has not been addressed yet.
release

Sparkle Morpher 1.2.5 - NeoForge 1.21.1

1.2.5
10 сент. 2026 г.77Minecraft: 1.21.1neoforge
Скачать
Что нового
# Sparkle Morpher 1.2.5 ## Player Visual Runtime / Render Pipeline and Developer Tooling Release date: 2026-09-11 Supported branches: Fabric 1.21.1, Fabric 26.1.2, Fabric 26.2, NeoForge 1.21.1, NeoForge 26.1.2, NeoForge 26.2 > **English** | [中文](RELEASE_NOTES_v1.2.5_2026-09-11_zh-CN.md) Sparkle Morpher 1.2.5 delivers the **Player Visual Runtime** stage of the 1.2.x plan, adds a default-off Blaze3D frame-graph render channel, and gives model authors a unified **Developer options** panel. All six actual source repositories were synchronized, cleanly built, and pushed to their matching GitHub branches. ### Highlights #### Player Visual Runtime (render context convergence) Render state that used to be scattered across ThreadLocals and ad-hoc boolean flags is now centralised in `RenderContext`: - `RenderPass` gains `FIRST_PERSON` and `PAPER_DOLL`, appended at the end so existing ordinal semantics stay unchanged. - `RenderContext` moves from `ThreadLocal<RenderPass>` to an immutable record `ThreadLocal<RenderScope>(pass, modelPreview, entity, partialTick)`. The old API (`enter`/`restore`/`currentPass`/`isGuiPreview`/`isOldHud`) keeps its previous semantics. - First-person detection converges on `RenderContext`: the standalone `FIRST_PERSON_MODE` field is removed while the global PBR and FirstPerson-mod fallbacks remain. A worker-thread behaviour audit confirmed this is safe — worker threads already read the default value and receive their semantics through method parameters. - The model-preview flag joins `RenderScope`, with a new `isAnyPreview()` collapsing the two union reads of "model preview ∪ GUI preview". - A new `PhysicsDomain` (WORLD / PREVIEW / EXTRA_PLAYER / FIRST_PERSON) makes the physics domain explicit. - New `PlayerFrameSnapshot` (frame-level render inputs plus a testable `sanitizePartialTick`) and `PlayerRenderPolicy` (pure decision logic with no Minecraft dependency, unit-testable) pull render gating out of call sites and into policy inputs. #### Default-off Blaze3D frame-graph render channel A new channel registers GPU draws as deferred draws and inserts them into the Minecraft frame graph as a first-class pass: ```text Submit stage IGeoRenderer → register (deep-copied pose) Frame graph inject at the tail of LevelRenderer frame-graph construction, declaring readsAndWrites(main) MC scheduling Minecraft owns ordering, barriers, and resource lifetime ``` - Key finding: player shadows are submitted independently (relative position and shape only, no model geometry), so GPU skinning and shadows do not conflict — the channel does not have to sacrifice shadows. - **Conservative gating (first version covers only the most ordinary case)**: requires the config switch and the experimental switch, plus world rendering, no preview, not first person, no shader pack, non-glowing entity, opaque, and an empty part mask. Everything else keeps using the existing paths. - **Fail-safe**: the whole chain is wrapped in `try/catch`; an exception is logged once and the frame's pending draws are cleared, with unconditional cleanup at frame begin/end. - The switch is a standard mod config entry (`EnableBlaze3DInPipelineDraw`, default off, in the Performance group) and **requires no JVM arguments**. Two one-shot INFO lines that bypass the log gating (`[SM-BLAZE3D]`) were added so users who enable only the new channel still see output. - Adjacent improvements in the same batch: select the translucent pipeline from `translucentTexture` (#2); replace the "backend name equals VULKAN" check with capability-based routing (#3, OpenGL fast-path behaviour unchanged); precompile both pipelines before the first draw while retaining lazy compilation as a fallback (#4). > This channel is **off by default** and represents a conservative first version intended to be opened up gradually. Translucent textures, glowing entities, split glow bones, preview, and first-person scenes still use the existing paths. #### Model author "Developer options" The former Debug group is promoted to Developer options and split into four sections — **Panel state / Logging / Profiling / Renderer diagnostics** (renderer diagnostics exists only on the 26.x branches, since four of its entries are version-specific): - **Panel state**: dump the current panel state to the clipboard as JSON, reset panel state, and a **default-off** "apply panel state from clipboard" feature for reproducing the UI state an author reports. Writeback validates the whole batch first and applies it all-or-nothing; any invalid value rejects the batch, and the confirmation panel (which needs host context) cannot be restored this way. - **Logging / Profiling**: two switches that previously existed in config but were never surfaced in the UI are now wired up (network online debug log, warn repeated animation evaluation). - Panel state is now cached per context key: reopening the same target remembers its tab, search, and scroll position, while different targets no longer share state. #### Compatibility fixes - **ParCool (three NeoForge branches)**: the NeoForge side previously had no loader implementation, so ParCool actions never entered animation resolution. A pure-reflection bridge (no compile-time dependency) maps the 38 action names from the bundled animation JSON and remembers direction per action instance to avoid mid-playback drift; `ctrl.parcool_loaded` and `ctrl.parcool_doing` Molang variables are provided as well. The Fabric side keeps its no-op stub (ParCool is NeoForge-only). - **SlashBlade (NeoForge 1.21.1, Issue #25)**: fixed attack animations being flipped vertically and horizontally, and the sheath being bound to the wrong side at the wrong height. The root cause was applying vanilla layer-space maths directly in YSM entity space without the `scale(-1,-1,1)` and vertical baseline compensation; the project's elytra and parrot layers already compensated explicitly, and only this branch had been missed. The maid's held-blade render branch was added too. - **Render backend decision drift**: `RenderBackendDecision` on neo26.2 / neo26.1.2 had missed one synchronized commit, which could route GUI previews onto the direct-draw path. It is now aligned on `isAnyPreview()` and all four 26.x branches are byte-identical at that site. #### Stability and other fixes - **Model face-culling escape hatch**: a default-off self-rescue entry for "some models lose faces at certain angles", covering the GPU, Blaze3D, and SIMD paths. - **Native trust chain now fails closed**: the `YSM_CORE_LIB` development override previously skipped content verification, while the native ABI version is identical before and after the culling fix, so a stale library could not be identified from it. The override now verifies the content hash against the manifest by default, refuses to load on mismatch, and prints the expected and actual hashes; an explicit escape hatch remains. Cache reuse and reinstall both log the manifest identity, making "which native build is actually loaded" visible in the log. - **Blaze3D mesh resource leak fixed**: the mesh cache never released its GPU buffers or per-frame direct memory, and the release path only fired when the OpenGL handle was non-zero; release hooks were added and reclamation is now unconditional. #### Dead code removal Removed render paths verified unreferenced across all source sets: `PiePortableRenderPath` / `PieMesh` / `PiePipeline` / `PieShader`, `IrisRenderPath`, `BoneXformCompute`, and the shader assets that became unused with them. The live `Pie` fallback draw is retained. ### Build and verification - All six branches were pushed and `fetch`-verified so that local HEAD matches the corresponding remote branch; working trees are clean. - The release build script performed clean builds (JDK 21 for 1.21.1, JDK 25 for 26.x) and all six branches produced full JARs; CurseForge variants are additionally checked to be free of native libraries. - Tests: the full suite passes on Fabric 26.2 and NeoForge 26.2 (345 / 317 tests, 0 failures), including the new render-context, frame-snapshot, render-policy, backend-routing, and frame-pass tests added in this version. - The remaining branches were compiled with their relevant tests. ### Release assets - Six full JARs (Fabric / NeoForge × 1.21.1 / 26.1.2 / 26.2). - Bilingual release notes (this file and the Chinese version). ### Compatibility matrix | Loader | Minecraft | Branch | Artifact | |---|---:|---|---| | Fabric | 26.2 | `fa26.2` | `sparkle-morpher-1.2.5-fa26.2.jar` | | Fabric | 26.1.2 | `fa26.1.2` | `sparkle-morpher-1.2.5-fa26.1.x.jar` | | Fabric | 1.21.1 | `main` | `sparkle-morpher-1.2.5-fa1.21.1.jar` | | NeoForge | 26.2 | `neo26.2` | `sparkle-morpher-1.2.5-neo26.2.jar` | | NeoForge | 26.1.2 | `neo26.1.2` | `sparkle-morpher-1.2.5-neo26.1.x.jar` | | NeoForge | 1.21.1 | `neo1.21.1` | `sparkle-morpher-1.2.5-neo1.21.1.jar` | Use the artifact matching both your loader and your Minecraft version. The 1.21.1 builds require the 1.21.1 loader/API line; do not mix them with 26.x installations. ### Known limitations - The new Blaze3D frame-graph channel is off by default with conservative gating and is not yet opened up for every scenario (translucent, glowing entities, preview, first person, shader packs). - Panel-state writeback is off by default and is a model-author troubleshooting tool. - The 1.21.1 branches still carry a shared static projection field whose value depends on call order; that semantic fragility has not been addressed yet.
release

Sparkle Morpher 1.2.5 - Fabric 26.2

1.2.5
10 сент. 2026 г.70Minecraft: 26.2fabric
Скачать
Что нового
# Sparkle Morpher 1.2.5 ## Player Visual Runtime / Render Pipeline and Developer Tooling Release date: 2026-09-11 Supported branches: Fabric 1.21.1, Fabric 26.1.2, Fabric 26.2, NeoForge 1.21.1, NeoForge 26.1.2, NeoForge 26.2 > **English** | [中文](RELEASE_NOTES_v1.2.5_2026-09-11_zh-CN.md) Sparkle Morpher 1.2.5 delivers the **Player Visual Runtime** stage of the 1.2.x plan, adds a default-off Blaze3D frame-graph render channel, and gives model authors a unified **Developer options** panel. All six actual source repositories were synchronized, cleanly built, and pushed to their matching GitHub branches. ### Highlights #### Player Visual Runtime (render context convergence) Render state that used to be scattered across ThreadLocals and ad-hoc boolean flags is now centralised in `RenderContext`: - `RenderPass` gains `FIRST_PERSON` and `PAPER_DOLL`, appended at the end so existing ordinal semantics stay unchanged. - `RenderContext` moves from `ThreadLocal<RenderPass>` to an immutable record `ThreadLocal<RenderScope>(pass, modelPreview, entity, partialTick)`. The old API (`enter`/`restore`/`currentPass`/`isGuiPreview`/`isOldHud`) keeps its previous semantics. - First-person detection converges on `RenderContext`: the standalone `FIRST_PERSON_MODE` field is removed while the global PBR and FirstPerson-mod fallbacks remain. A worker-thread behaviour audit confirmed this is safe — worker threads already read the default value and receive their semantics through method parameters. - The model-preview flag joins `RenderScope`, with a new `isAnyPreview()` collapsing the two union reads of "model preview ∪ GUI preview". - A new `PhysicsDomain` (WORLD / PREVIEW / EXTRA_PLAYER / FIRST_PERSON) makes the physics domain explicit. - New `PlayerFrameSnapshot` (frame-level render inputs plus a testable `sanitizePartialTick`) and `PlayerRenderPolicy` (pure decision logic with no Minecraft dependency, unit-testable) pull render gating out of call sites and into policy inputs. #### Default-off Blaze3D frame-graph render channel A new channel registers GPU draws as deferred draws and inserts them into the Minecraft frame graph as a first-class pass: ```text Submit stage IGeoRenderer → register (deep-copied pose) Frame graph inject at the tail of LevelRenderer frame-graph construction, declaring readsAndWrites(main) MC scheduling Minecraft owns ordering, barriers, and resource lifetime ``` - Key finding: player shadows are submitted independently (relative position and shape only, no model geometry), so GPU skinning and shadows do not conflict — the channel does not have to sacrifice shadows. - **Conservative gating (first version covers only the most ordinary case)**: requires the config switch and the experimental switch, plus world rendering, no preview, not first person, no shader pack, non-glowing entity, opaque, and an empty part mask. Everything else keeps using the existing paths. - **Fail-safe**: the whole chain is wrapped in `try/catch`; an exception is logged once and the frame's pending draws are cleared, with unconditional cleanup at frame begin/end. - The switch is a standard mod config entry (`EnableBlaze3DInPipelineDraw`, default off, in the Performance group) and **requires no JVM arguments**. Two one-shot INFO lines that bypass the log gating (`[SM-BLAZE3D]`) were added so users who enable only the new channel still see output. - Adjacent improvements in the same batch: select the translucent pipeline from `translucentTexture` (#2); replace the "backend name equals VULKAN" check with capability-based routing (#3, OpenGL fast-path behaviour unchanged); precompile both pipelines before the first draw while retaining lazy compilation as a fallback (#4). > This channel is **off by default** and represents a conservative first version intended to be opened up gradually. Translucent textures, glowing entities, split glow bones, preview, and first-person scenes still use the existing paths. #### Model author "Developer options" The former Debug group is promoted to Developer options and split into four sections — **Panel state / Logging / Profiling / Renderer diagnostics** (renderer diagnostics exists only on the 26.x branches, since four of its entries are version-specific): - **Panel state**: dump the current panel state to the clipboard as JSON, reset panel state, and a **default-off** "apply panel state from clipboard" feature for reproducing the UI state an author reports. Writeback validates the whole batch first and applies it all-or-nothing; any invalid value rejects the batch, and the confirmation panel (which needs host context) cannot be restored this way. - **Logging / Profiling**: two switches that previously existed in config but were never surfaced in the UI are now wired up (network online debug log, warn repeated animation evaluation). - Panel state is now cached per context key: reopening the same target remembers its tab, search, and scroll position, while different targets no longer share state. #### Compatibility fixes - **ParCool (three NeoForge branches)**: the NeoForge side previously had no loader implementation, so ParCool actions never entered animation resolution. A pure-reflection bridge (no compile-time dependency) maps the 38 action names from the bundled animation JSON and remembers direction per action instance to avoid mid-playback drift; `ctrl.parcool_loaded` and `ctrl.parcool_doing` Molang variables are provided as well. The Fabric side keeps its no-op stub (ParCool is NeoForge-only). - **SlashBlade (NeoForge 1.21.1, Issue #25)**: fixed attack animations being flipped vertically and horizontally, and the sheath being bound to the wrong side at the wrong height. The root cause was applying vanilla layer-space maths directly in YSM entity space without the `scale(-1,-1,1)` and vertical baseline compensation; the project's elytra and parrot layers already compensated explicitly, and only this branch had been missed. The maid's held-blade render branch was added too. - **Render backend decision drift**: `RenderBackendDecision` on neo26.2 / neo26.1.2 had missed one synchronized commit, which could route GUI previews onto the direct-draw path. It is now aligned on `isAnyPreview()` and all four 26.x branches are byte-identical at that site. #### Stability and other fixes - **Model face-culling escape hatch**: a default-off self-rescue entry for "some models lose faces at certain angles", covering the GPU, Blaze3D, and SIMD paths. - **Native trust chain now fails closed**: the `YSM_CORE_LIB` development override previously skipped content verification, while the native ABI version is identical before and after the culling fix, so a stale library could not be identified from it. The override now verifies the content hash against the manifest by default, refuses to load on mismatch, and prints the expected and actual hashes; an explicit escape hatch remains. Cache reuse and reinstall both log the manifest identity, making "which native build is actually loaded" visible in the log. - **Blaze3D mesh resource leak fixed**: the mesh cache never released its GPU buffers or per-frame direct memory, and the release path only fired when the OpenGL handle was non-zero; release hooks were added and reclamation is now unconditional. #### Dead code removal Removed render paths verified unreferenced across all source sets: `PiePortableRenderPath` / `PieMesh` / `PiePipeline` / `PieShader`, `IrisRenderPath`, `BoneXformCompute`, and the shader assets that became unused with them. The live `Pie` fallback draw is retained. ### Build and verification - All six branches were pushed and `fetch`-verified so that local HEAD matches the corresponding remote branch; working trees are clean. - The release build script performed clean builds (JDK 21 for 1.21.1, JDK 25 for 26.x) and all six branches produced full JARs; CurseForge variants are additionally checked to be free of native libraries. - Tests: the full suite passes on Fabric 26.2 and NeoForge 26.2 (345 / 317 tests, 0 failures), including the new render-context, frame-snapshot, render-policy, backend-routing, and frame-pass tests added in this version. - The remaining branches were compiled with their relevant tests. ### Release assets - Six full JARs (Fabric / NeoForge × 1.21.1 / 26.1.2 / 26.2). - Bilingual release notes (this file and the Chinese version). ### Compatibility matrix | Loader | Minecraft | Branch | Artifact | |---|---:|---|---| | Fabric | 26.2 | `fa26.2` | `sparkle-morpher-1.2.5-fa26.2.jar` | | Fabric | 26.1.2 | `fa26.1.2` | `sparkle-morpher-1.2.5-fa26.1.x.jar` | | Fabric | 1.21.1 | `main` | `sparkle-morpher-1.2.5-fa1.21.1.jar` | | NeoForge | 26.2 | `neo26.2` | `sparkle-morpher-1.2.5-neo26.2.jar` | | NeoForge | 26.1.2 | `neo26.1.2` | `sparkle-morpher-1.2.5-neo26.1.x.jar` | | NeoForge | 1.21.1 | `neo1.21.1` | `sparkle-morpher-1.2.5-neo1.21.1.jar` | Use the artifact matching both your loader and your Minecraft version. The 1.21.1 builds require the 1.21.1 loader/API line; do not mix them with 26.x installations. ### Known limitations - The new Blaze3D frame-graph channel is off by default with conservative gating and is not yet opened up for every scenario (translucent, glowing entities, preview, first person, shader packs). - Panel-state writeback is off by default and is a model-author troubleshooting tool. - The 1.21.1 branches still carry a shared static projection field whose value depends on call order; that semantic fragility has not been addressed yet.
release

Sparkle Morpher 1.2.5 - Fabric 26.1.x

1.2.5
10 сент. 2026 г.55Minecraft: 26.1.2fabric
Скачать
Что нового
# Sparkle Morpher 1.2.5 ## Player Visual Runtime / Render Pipeline and Developer Tooling Release date: 2026-09-11 Supported branches: Fabric 1.21.1, Fabric 26.1.2, Fabric 26.2, NeoForge 1.21.1, NeoForge 26.1.2, NeoForge 26.2 > **English** | [中文](RELEASE_NOTES_v1.2.5_2026-09-11_zh-CN.md) Sparkle Morpher 1.2.5 delivers the **Player Visual Runtime** stage of the 1.2.x plan, adds a default-off Blaze3D frame-graph render channel, and gives model authors a unified **Developer options** panel. All six actual source repositories were synchronized, cleanly built, and pushed to their matching GitHub branches. ### Highlights #### Player Visual Runtime (render context convergence) Render state that used to be scattered across ThreadLocals and ad-hoc boolean flags is now centralised in `RenderContext`: - `RenderPass` gains `FIRST_PERSON` and `PAPER_DOLL`, appended at the end so existing ordinal semantics stay unchanged. - `RenderContext` moves from `ThreadLocal<RenderPass>` to an immutable record `ThreadLocal<RenderScope>(pass, modelPreview, entity, partialTick)`. The old API (`enter`/`restore`/`currentPass`/`isGuiPreview`/`isOldHud`) keeps its previous semantics. - First-person detection converges on `RenderContext`: the standalone `FIRST_PERSON_MODE` field is removed while the global PBR and FirstPerson-mod fallbacks remain. A worker-thread behaviour audit confirmed this is safe — worker threads already read the default value and receive their semantics through method parameters. - The model-preview flag joins `RenderScope`, with a new `isAnyPreview()` collapsing the two union reads of "model preview ∪ GUI preview". - A new `PhysicsDomain` (WORLD / PREVIEW / EXTRA_PLAYER / FIRST_PERSON) makes the physics domain explicit. - New `PlayerFrameSnapshot` (frame-level render inputs plus a testable `sanitizePartialTick`) and `PlayerRenderPolicy` (pure decision logic with no Minecraft dependency, unit-testable) pull render gating out of call sites and into policy inputs. #### Default-off Blaze3D frame-graph render channel A new channel registers GPU draws as deferred draws and inserts them into the Minecraft frame graph as a first-class pass: ```text Submit stage IGeoRenderer → register (deep-copied pose) Frame graph inject at the tail of LevelRenderer frame-graph construction, declaring readsAndWrites(main) MC scheduling Minecraft owns ordering, barriers, and resource lifetime ``` - Key finding: player shadows are submitted independently (relative position and shape only, no model geometry), so GPU skinning and shadows do not conflict — the channel does not have to sacrifice shadows. - **Conservative gating (first version covers only the most ordinary case)**: requires the config switch and the experimental switch, plus world rendering, no preview, not first person, no shader pack, non-glowing entity, opaque, and an empty part mask. Everything else keeps using the existing paths. - **Fail-safe**: the whole chain is wrapped in `try/catch`; an exception is logged once and the frame's pending draws are cleared, with unconditional cleanup at frame begin/end. - The switch is a standard mod config entry (`EnableBlaze3DInPipelineDraw`, default off, in the Performance group) and **requires no JVM arguments**. Two one-shot INFO lines that bypass the log gating (`[SM-BLAZE3D]`) were added so users who enable only the new channel still see output. - Adjacent improvements in the same batch: select the translucent pipeline from `translucentTexture` (#2); replace the "backend name equals VULKAN" check with capability-based routing (#3, OpenGL fast-path behaviour unchanged); precompile both pipelines before the first draw while retaining lazy compilation as a fallback (#4). > This channel is **off by default** and represents a conservative first version intended to be opened up gradually. Translucent textures, glowing entities, split glow bones, preview, and first-person scenes still use the existing paths. #### Model author "Developer options" The former Debug group is promoted to Developer options and split into four sections — **Panel state / Logging / Profiling / Renderer diagnostics** (renderer diagnostics exists only on the 26.x branches, since four of its entries are version-specific): - **Panel state**: dump the current panel state to the clipboard as JSON, reset panel state, and a **default-off** "apply panel state from clipboard" feature for reproducing the UI state an author reports. Writeback validates the whole batch first and applies it all-or-nothing; any invalid value rejects the batch, and the confirmation panel (which needs host context) cannot be restored this way. - **Logging / Profiling**: two switches that previously existed in config but were never surfaced in the UI are now wired up (network online debug log, warn repeated animation evaluation). - Panel state is now cached per context key: reopening the same target remembers its tab, search, and scroll position, while different targets no longer share state. #### Compatibility fixes - **ParCool (three NeoForge branches)**: the NeoForge side previously had no loader implementation, so ParCool actions never entered animation resolution. A pure-reflection bridge (no compile-time dependency) maps the 38 action names from the bundled animation JSON and remembers direction per action instance to avoid mid-playback drift; `ctrl.parcool_loaded` and `ctrl.parcool_doing` Molang variables are provided as well. The Fabric side keeps its no-op stub (ParCool is NeoForge-only). - **SlashBlade (NeoForge 1.21.1, Issue #25)**: fixed attack animations being flipped vertically and horizontally, and the sheath being bound to the wrong side at the wrong height. The root cause was applying vanilla layer-space maths directly in YSM entity space without the `scale(-1,-1,1)` and vertical baseline compensation; the project's elytra and parrot layers already compensated explicitly, and only this branch had been missed. The maid's held-blade render branch was added too. - **Render backend decision drift**: `RenderBackendDecision` on neo26.2 / neo26.1.2 had missed one synchronized commit, which could route GUI previews onto the direct-draw path. It is now aligned on `isAnyPreview()` and all four 26.x branches are byte-identical at that site. #### Stability and other fixes - **Model face-culling escape hatch**: a default-off self-rescue entry for "some models lose faces at certain angles", covering the GPU, Blaze3D, and SIMD paths. - **Native trust chain now fails closed**: the `YSM_CORE_LIB` development override previously skipped content verification, while the native ABI version is identical before and after the culling fix, so a stale library could not be identified from it. The override now verifies the content hash against the manifest by default, refuses to load on mismatch, and prints the expected and actual hashes; an explicit escape hatch remains. Cache reuse and reinstall both log the manifest identity, making "which native build is actually loaded" visible in the log. - **Blaze3D mesh resource leak fixed**: the mesh cache never released its GPU buffers or per-frame direct memory, and the release path only fired when the OpenGL handle was non-zero; release hooks were added and reclamation is now unconditional. #### Dead code removal Removed render paths verified unreferenced across all source sets: `PiePortableRenderPath` / `PieMesh` / `PiePipeline` / `PieShader`, `IrisRenderPath`, `BoneXformCompute`, and the shader assets that became unused with them. The live `Pie` fallback draw is retained. ### Build and verification - All six branches were pushed and `fetch`-verified so that local HEAD matches the corresponding remote branch; working trees are clean. - The release build script performed clean builds (JDK 21 for 1.21.1, JDK 25 for 26.x) and all six branches produced full JARs; CurseForge variants are additionally checked to be free of native libraries. - Tests: the full suite passes on Fabric 26.2 and NeoForge 26.2 (345 / 317 tests, 0 failures), including the new render-context, frame-snapshot, render-policy, backend-routing, and frame-pass tests added in this version. - The remaining branches were compiled with their relevant tests. ### Release assets - Six full JARs (Fabric / NeoForge × 1.21.1 / 26.1.2 / 26.2). - Bilingual release notes (this file and the Chinese version). ### Compatibility matrix | Loader | Minecraft | Branch | Artifact | |---|---:|---|---| | Fabric | 26.2 | `fa26.2` | `sparkle-morpher-1.2.5-fa26.2.jar` | | Fabric | 26.1.2 | `fa26.1.2` | `sparkle-morpher-1.2.5-fa26.1.x.jar` | | Fabric | 1.21.1 | `main` | `sparkle-morpher-1.2.5-fa1.21.1.jar` | | NeoForge | 26.2 | `neo26.2` | `sparkle-morpher-1.2.5-neo26.2.jar` | | NeoForge | 26.1.2 | `neo26.1.2` | `sparkle-morpher-1.2.5-neo26.1.x.jar` | | NeoForge | 1.21.1 | `neo1.21.1` | `sparkle-morpher-1.2.5-neo1.21.1.jar` | Use the artifact matching both your loader and your Minecraft version. The 1.21.1 builds require the 1.21.1 loader/API line; do not mix them with 26.x installations. ### Known limitations - The new Blaze3D frame-graph channel is off by default with conservative gating and is not yet opened up for every scenario (translucent, glowing entities, preview, first person, shader packs). - Panel-state writeback is off by default and is a model-author troubleshooting tool. - The 1.21.1 branches still carry a shared static projection field whose value depends on call order; that semantic fragility has not been addressed yet.
release

Sparkle Morpher 1.2.5 - Fabric 1.21.1

1.2.5
10 сент. 2026 г.36Minecraft: 1.21.1fabric
Скачать
Что нового
# Sparkle Morpher 1.2.5 ## Player Visual Runtime / Render Pipeline and Developer Tooling Release date: 2026-09-11 Supported branches: Fabric 1.21.1, Fabric 26.1.2, Fabric 26.2, NeoForge 1.21.1, NeoForge 26.1.2, NeoForge 26.2 > **English** | [中文](RELEASE_NOTES_v1.2.5_2026-09-11_zh-CN.md) Sparkle Morpher 1.2.5 delivers the **Player Visual Runtime** stage of the 1.2.x plan, adds a default-off Blaze3D frame-graph render channel, and gives model authors a unified **Developer options** panel. All six actual source repositories were synchronized, cleanly built, and pushed to their matching GitHub branches. ### Highlights #### Player Visual Runtime (render context convergence) Render state that used to be scattered across ThreadLocals and ad-hoc boolean flags is now centralised in `RenderContext`: - `RenderPass` gains `FIRST_PERSON` and `PAPER_DOLL`, appended at the end so existing ordinal semantics stay unchanged. - `RenderContext` moves from `ThreadLocal<RenderPass>` to an immutable record `ThreadLocal<RenderScope>(pass, modelPreview, entity, partialTick)`. The old API (`enter`/`restore`/`currentPass`/`isGuiPreview`/`isOldHud`) keeps its previous semantics. - First-person detection converges on `RenderContext`: the standalone `FIRST_PERSON_MODE` field is removed while the global PBR and FirstPerson-mod fallbacks remain. A worker-thread behaviour audit confirmed this is safe — worker threads already read the default value and receive their semantics through method parameters. - The model-preview flag joins `RenderScope`, with a new `isAnyPreview()` collapsing the two union reads of "model preview ∪ GUI preview". - A new `PhysicsDomain` (WORLD / PREVIEW / EXTRA_PLAYER / FIRST_PERSON) makes the physics domain explicit. - New `PlayerFrameSnapshot` (frame-level render inputs plus a testable `sanitizePartialTick`) and `PlayerRenderPolicy` (pure decision logic with no Minecraft dependency, unit-testable) pull render gating out of call sites and into policy inputs. #### Default-off Blaze3D frame-graph render channel A new channel registers GPU draws as deferred draws and inserts them into the Minecraft frame graph as a first-class pass: ```text Submit stage IGeoRenderer → register (deep-copied pose) Frame graph inject at the tail of LevelRenderer frame-graph construction, declaring readsAndWrites(main) MC scheduling Minecraft owns ordering, barriers, and resource lifetime ``` - Key finding: player shadows are submitted independently (relative position and shape only, no model geometry), so GPU skinning and shadows do not conflict — the channel does not have to sacrifice shadows. - **Conservative gating (first version covers only the most ordinary case)**: requires the config switch and the experimental switch, plus world rendering, no preview, not first person, no shader pack, non-glowing entity, opaque, and an empty part mask. Everything else keeps using the existing paths. - **Fail-safe**: the whole chain is wrapped in `try/catch`; an exception is logged once and the frame's pending draws are cleared, with unconditional cleanup at frame begin/end. - The switch is a standard mod config entry (`EnableBlaze3DInPipelineDraw`, default off, in the Performance group) and **requires no JVM arguments**. Two one-shot INFO lines that bypass the log gating (`[SM-BLAZE3D]`) were added so users who enable only the new channel still see output. - Adjacent improvements in the same batch: select the translucent pipeline from `translucentTexture` (#2); replace the "backend name equals VULKAN" check with capability-based routing (#3, OpenGL fast-path behaviour unchanged); precompile both pipelines before the first draw while retaining lazy compilation as a fallback (#4). > This channel is **off by default** and represents a conservative first version intended to be opened up gradually. Translucent textures, glowing entities, split glow bones, preview, and first-person scenes still use the existing paths. #### Model author "Developer options" The former Debug group is promoted to Developer options and split into four sections — **Panel state / Logging / Profiling / Renderer diagnostics** (renderer diagnostics exists only on the 26.x branches, since four of its entries are version-specific): - **Panel state**: dump the current panel state to the clipboard as JSON, reset panel state, and a **default-off** "apply panel state from clipboard" feature for reproducing the UI state an author reports. Writeback validates the whole batch first and applies it all-or-nothing; any invalid value rejects the batch, and the confirmation panel (which needs host context) cannot be restored this way. - **Logging / Profiling**: two switches that previously existed in config but were never surfaced in the UI are now wired up (network online debug log, warn repeated animation evaluation). - Panel state is now cached per context key: reopening the same target remembers its tab, search, and scroll position, while different targets no longer share state. #### Compatibility fixes - **ParCool (three NeoForge branches)**: the NeoForge side previously had no loader implementation, so ParCool actions never entered animation resolution. A pure-reflection bridge (no compile-time dependency) maps the 38 action names from the bundled animation JSON and remembers direction per action instance to avoid mid-playback drift; `ctrl.parcool_loaded` and `ctrl.parcool_doing` Molang variables are provided as well. The Fabric side keeps its no-op stub (ParCool is NeoForge-only). - **SlashBlade (NeoForge 1.21.1, Issue #25)**: fixed attack animations being flipped vertically and horizontally, and the sheath being bound to the wrong side at the wrong height. The root cause was applying vanilla layer-space maths directly in YSM entity space without the `scale(-1,-1,1)` and vertical baseline compensation; the project's elytra and parrot layers already compensated explicitly, and only this branch had been missed. The maid's held-blade render branch was added too. - **Render backend decision drift**: `RenderBackendDecision` on neo26.2 / neo26.1.2 had missed one synchronized commit, which could route GUI previews onto the direct-draw path. It is now aligned on `isAnyPreview()` and all four 26.x branches are byte-identical at that site. #### Stability and other fixes - **Model face-culling escape hatch**: a default-off self-rescue entry for "some models lose faces at certain angles", covering the GPU, Blaze3D, and SIMD paths. - **Native trust chain now fails closed**: the `YSM_CORE_LIB` development override previously skipped content verification, while the native ABI version is identical before and after the culling fix, so a stale library could not be identified from it. The override now verifies the content hash against the manifest by default, refuses to load on mismatch, and prints the expected and actual hashes; an explicit escape hatch remains. Cache reuse and reinstall both log the manifest identity, making "which native build is actually loaded" visible in the log. - **Blaze3D mesh resource leak fixed**: the mesh cache never released its GPU buffers or per-frame direct memory, and the release path only fired when the OpenGL handle was non-zero; release hooks were added and reclamation is now unconditional. #### Dead code removal Removed render paths verified unreferenced across all source sets: `PiePortableRenderPath` / `PieMesh` / `PiePipeline` / `PieShader`, `IrisRenderPath`, `BoneXformCompute`, and the shader assets that became unused with them. The live `Pie` fallback draw is retained. ### Build and verification - All six branches were pushed and `fetch`-verified so that local HEAD matches the corresponding remote branch; working trees are clean. - The release build script performed clean builds (JDK 21 for 1.21.1, JDK 25 for 26.x) and all six branches produced full JARs; CurseForge variants are additionally checked to be free of native libraries. - Tests: the full suite passes on Fabric 26.2 and NeoForge 26.2 (345 / 317 tests, 0 failures), including the new render-context, frame-snapshot, render-policy, backend-routing, and frame-pass tests added in this version. - The remaining branches were compiled with their relevant tests. ### Release assets - Six full JARs (Fabric / NeoForge × 1.21.1 / 26.1.2 / 26.2). - Bilingual release notes (this file and the Chinese version). ### Compatibility matrix | Loader | Minecraft | Branch | Artifact | |---|---:|---|---| | Fabric | 26.2 | `fa26.2` | `sparkle-morpher-1.2.5-fa26.2.jar` | | Fabric | 26.1.2 | `fa26.1.2` | `sparkle-morpher-1.2.5-fa26.1.x.jar` | | Fabric | 1.21.1 | `main` | `sparkle-morpher-1.2.5-fa1.21.1.jar` | | NeoForge | 26.2 | `neo26.2` | `sparkle-morpher-1.2.5-neo26.2.jar` | | NeoForge | 26.1.2 | `neo26.1.2` | `sparkle-morpher-1.2.5-neo26.1.x.jar` | | NeoForge | 1.21.1 | `neo1.21.1` | `sparkle-morpher-1.2.5-neo1.21.1.jar` | Use the artifact matching both your loader and your Minecraft version. The 1.21.1 builds require the 1.21.1 loader/API line; do not mix them with 26.x installations. ### Known limitations - The new Blaze3D frame-graph channel is off by default with conservative gating and is not yet opened up for every scenario (translucent, glowing entities, preview, first person, shader packs). - Panel-state writeback is off by default and is a model-author troubleshooting tool. - The 1.21.1 branches still carry a shared static projection field whose value depends on call order; that semantic fragility has not been addressed yet.
release

Sparkle Morpher 1.2.4 - NeoForge 26.2

1.2.4
6 сент. 2026 г.84Minecraft: 26.2neoforge
Скачать
Что нового
See GitHub release notes v1.2.4
release

Sparkle Morpher 1.2.4 - NeoForge 26.1.x

1.2.4
6 сент. 2026 г.28Minecraft: 26.1.2neoforge
Скачать
Что нового
See GitHub release notes v1.2.4
release

Sparkle Morpher 1.2.4 - NeoForge 1.21.1

1.2.4
6 сент. 2026 г.73Minecraft: 1.21.1neoforge
Скачать
Что нового
See GitHub release notes v1.2.4
release

Sparkle Morpher 1.2.4 - Fabric 26.2

1.2.4
6 сент. 2026 г.119Minecraft: 26.2fabric
Скачать
Что нового
See GitHub release notes v1.2.4
release

Sparkle Morpher 1.2.4 - Fabric 26.1.x

1.2.4
6 сент. 2026 г.41Minecraft: 26.1.2fabric
Скачать
Что нового
See GitHub release notes v1.2.4
release

Sparkle Morpher 1.2.4 - Fabric 1.21.1

1.2.4
6 сент. 2026 г.53Minecraft: 1.21.1fabric
Скачать
Что нового
See GitHub release notes v1.2.4
release

Sparkle Morpher 1.2.3 - NeoForge 26.2

1.2.3
30 авг. 2026 г.172Minecraft: 26.2neoforge
Скачать
Что нового
# Sparkle's Morpher 1.2.3 ## Platform Architecture(R12) 1.2.3 是 Platform Architecture 版本,完成了 R12.1–R12.4 四个方向的收敛: - **R12.1 Config Policy**:统一渲染、内存、诊断、隐私、网络、音频和功能策略入口,减少业务代码直接读取底层配置。 - **R12.2 Version Adapter**:建立 Render、GUI、Packet、Entity、Resource、Camera、Capability/Component、GPU/RenderPipeline 等稳定适配边界。 - **R12.3 Loader Boundary**:Fabric 与 NeoForge 继续保留独立 loader 入口、元数据和平台实现;共享逻辑位于 `common`,NeoForge 专属逻辑位于 `src/neoforge`,Fabric 专属逻辑位于 `fabric`。 - **R12.4 Distribution Variant**:统一 native/original 与 CurseForge 分发变体。GitHub 和 Modrinth 使用同一份包含 native 的原版 JAR;CurseForge 使用不包含 native 库的 `-curseforge.jar`。`-Pdist=modrinth` 继续作为原版分发兼容别名。 六个实际分支均完成对应的源码、构建、测试和发行配置收敛: - Fabric 1.21.1 - Fabric 26.1.2 - Fabric 26.2 - NeoForge 1.21.1 - NeoForge 26.1.2 - NeoForge 26.2 ## 本次对话中的 Issue #22 修复 Issue #22 报告了 1.21.1 中手持 SlashBlade 时只有挥刀动画、拔刀剑刀模型不显示的问题。 本次在 NeoForge 1.21.1 分支加入了对 SlashBlade: Resharped 1.21.1 的兼容桥接: - 检测 `slashblade` 模组是否加载,并保持缺少依赖时的安全降级。 - 识别 `ItemSlashBlade` 并读取 `ISlashBladeState` 的当前连招状态。 - 将 SlashBlade 连招状态接入 `slashblade:combo_*` 动画。 - 注册 `slashblade_animation` MoLang 变量。 - 复刻 SlashBlade `LayerMainBlade` 的刀身、刀鞘、发光和蓄力效果渲染。 - 支持主手挥刀轨迹以及副手腰间收刀姿态。 - 复用 SlashBlade 的 MMD 动作、`hardpointA`/`hardpointB` 和模型资源。 - 添加 NeoForge 可选依赖声明和 compile-only 依赖,不会把 SlashBlade 打包进 Sparkle's Morpher。 该修复已提交并推送到 `neo1.21.1` 分支。其余分支的 SlashBlade 适配需要分别针对 Refabricated 或对应版本 API 继续验证,不能直接视为已支持。 ## 新功能与改进 ### 独立 glTF 渲染管线 - 增加独立 glTF/GLB loader、场景评估、动画时钟、三角形顶点发射、材质解析和扩展注册边界。 - 支持 OPAQUE、MASK、BLEND、双面材质和 alpha cutoff 解析。 - 对未知 glTF 扩展保持严格拒绝策略。 - 对 NetEase 4D glTF 应用 1/16 像素空间缩放。 - 将 Minecraft tick 转换为 glTF 秒,限制 partial tick,修复动画高速抖动。 - 增加第三人称实体动画、第一人称手部入口、本地导入和模型缓存支持。 ### glTF 动画与持物 - 动画控制器改为持久化实例,避免每帧重建导致第三人称动画停止。 - 空 animation 占位项不再被错误选中。 - `walk`/`run` 支持双向回退。 - 攻击、使用物品和挥手动作支持多种命名匹配,并提供通用回退。 - 恢复第三人称实体主手和副手物品渲染。 - 支持左右手映射、左手主手设置、NetEase 4D hand/arm 节点和强制 3D 物品模型。 ### 女仆模型与手持物品 - 六个 loader/版本组合加入女仆手持物品渲染层。 - 修复女仆主手、副手物品不显示。 - 修复渲染上下文和 collector 传递。 - Iris 阴影 pass 不再错误跳过女仆动画。 ### 模型重载稳定性 - 新增有界重载队列、请求合并、旧结果丢弃和成功后的原子快照发布。 - 模型加载失败时保留旧活动装配,避免已显示模型和持物层消失。 - 单个模型失败不会阻塞其他模型。 - 成功替换后才释放旧装配,并同步切换本地模型上下文。 ### 本地设置与兼容边界 - 在仅客户端、单人存档、未安装本模组的服务端和普通服务端场景中恢复本地 MoLang/漫游变量设置。 - 保留 Legacy 旧协议、模型同步、上传和格式工具作为 1.2.x 兼容实现。 - 继续完善 Fabric/NeoForge 物理目录边界和跨版本适配契约。 ## 修复 - 修复头发、尾巴物理变量中的 NaN/Infinity 污染后续帧;异常浮点值现在安全转换为 0。 - Resource Station 使用独立有界下载线程池和 AbortPolicy,队列满载时不再回退到 Minecraft 客户端线程执行网络 I/O。 - glTF 缺少旧 YSM 元数据时安全回退,避免模型列表、预览和 PlayerCapability 中的 NullPointerException。 - ZIP 文件名 UTF-8 解码失败时回退 GBK。 - 双面 glTF 薄片使用带深度偏移的渲染层,减少 Z-fighting、闪烁、缺面和镂空。 - 更新 native manifest SHA-256,并在构建前自动刷新原生文件摘要。 - 修复跨平台模型扫描排序、音频待处理轨道去重和 1.21.1 音频缓存取消时的声明释放。 ## 构建与验证 - 六个实际分支均执行发行构建。 - 普通原版/native JAR:包含 native 库,供 GitHub Release 和 Modrinth 使用。 - CurseForge JAR:不包含 native 库,文件名带 `-curseforge`,供 CurseForge 使用。 - 构建脚本会验证原版 JAR 的 native 内容,以及 CurseForge JAR 的 native 排除情况。 - 本版本的发行构建入口为 `build_release_variants.py`。 - GitHub、CurseForge、Modrinth 上传脚本已分离,分别执行文件类型校验和平台元数据校验。 ## 已知限制 - 六分支尚未完成同一 glTF 模型在真实 Minecraft 客户端中的完整视觉回归;静态测试和构建通过不等于跨分支视觉验收完成。 - 1.21.1 的 glTF `alphaCutoff` 已解析和规范化,但尚未传入 shader;26.x MASK 材质使用管线默认 cutoff。 - Cloud HTTP/WSS、认证、下载缓存和新外观协议属于 1.3.0,不属于 1.2.3。 - Legacy 兼容代码仍保留,尚未物理迁移删除。 - 本次 SlashBlade 修复当前落地于 NeoForge 1.21.1;Fabric 的 Refabricated 以及 26.x 分支需要独立适配和验证。 - SlashBlade 修复已完成源码编译验证,但仍需要安装对应模组后进行真实客户端渲染回归。 ## 后续路线 根据 1.2.x 路线图,后续阶段为: - **1.2.4**:Action & Animation Runtime - **1.2.5**:Player Visual Runtime - **1.2.6**:Paper Doll & Preview - **1.2.7**:Import & Resource Pipeline - **1.2.8**:Historical Cleanup(R13) - **1.2.9**:Final Multi-Branch Architecture Audit(R14) - **1.3.0**:Cloud Sync(R15) 感谢所有提交 Issue、测试模型和反馈兼容性问题的用户。
release

Sparkle Morpher 1.2.3 - NeoForge 26.1.x

1.2.3
30 авг. 2026 г.54Minecraft: 26.1.2neoforge
Скачать
Что нового
# Sparkle's Morpher 1.2.3 ## Platform Architecture(R12) 1.2.3 是 Platform Architecture 版本,完成了 R12.1–R12.4 四个方向的收敛: - **R12.1 Config Policy**:统一渲染、内存、诊断、隐私、网络、音频和功能策略入口,减少业务代码直接读取底层配置。 - **R12.2 Version Adapter**:建立 Render、GUI、Packet、Entity、Resource、Camera、Capability/Component、GPU/RenderPipeline 等稳定适配边界。 - **R12.3 Loader Boundary**:Fabric 与 NeoForge 继续保留独立 loader 入口、元数据和平台实现;共享逻辑位于 `common`,NeoForge 专属逻辑位于 `src/neoforge`,Fabric 专属逻辑位于 `fabric`。 - **R12.4 Distribution Variant**:统一 native/original 与 CurseForge 分发变体。GitHub 和 Modrinth 使用同一份包含 native 的原版 JAR;CurseForge 使用不包含 native 库的 `-curseforge.jar`。`-Pdist=modrinth` 继续作为原版分发兼容别名。 六个实际分支均完成对应的源码、构建、测试和发行配置收敛: - Fabric 1.21.1 - Fabric 26.1.2 - Fabric 26.2 - NeoForge 1.21.1 - NeoForge 26.1.2 - NeoForge 26.2 ## 本次对话中的 Issue #22 修复 Issue #22 报告了 1.21.1 中手持 SlashBlade 时只有挥刀动画、拔刀剑刀模型不显示的问题。 本次在 NeoForge 1.21.1 分支加入了对 SlashBlade: Resharped 1.21.1 的兼容桥接: - 检测 `slashblade` 模组是否加载,并保持缺少依赖时的安全降级。 - 识别 `ItemSlashBlade` 并读取 `ISlashBladeState` 的当前连招状态。 - 将 SlashBlade 连招状态接入 `slashblade:combo_*` 动画。 - 注册 `slashblade_animation` MoLang 变量。 - 复刻 SlashBlade `LayerMainBlade` 的刀身、刀鞘、发光和蓄力效果渲染。 - 支持主手挥刀轨迹以及副手腰间收刀姿态。 - 复用 SlashBlade 的 MMD 动作、`hardpointA`/`hardpointB` 和模型资源。 - 添加 NeoForge 可选依赖声明和 compile-only 依赖,不会把 SlashBlade 打包进 Sparkle's Morpher。 该修复已提交并推送到 `neo1.21.1` 分支。其余分支的 SlashBlade 适配需要分别针对 Refabricated 或对应版本 API 继续验证,不能直接视为已支持。 ## 新功能与改进 ### 独立 glTF 渲染管线 - 增加独立 glTF/GLB loader、场景评估、动画时钟、三角形顶点发射、材质解析和扩展注册边界。 - 支持 OPAQUE、MASK、BLEND、双面材质和 alpha cutoff 解析。 - 对未知 glTF 扩展保持严格拒绝策略。 - 对 NetEase 4D glTF 应用 1/16 像素空间缩放。 - 将 Minecraft tick 转换为 glTF 秒,限制 partial tick,修复动画高速抖动。 - 增加第三人称实体动画、第一人称手部入口、本地导入和模型缓存支持。 ### glTF 动画与持物 - 动画控制器改为持久化实例,避免每帧重建导致第三人称动画停止。 - 空 animation 占位项不再被错误选中。 - `walk`/`run` 支持双向回退。 - 攻击、使用物品和挥手动作支持多种命名匹配,并提供通用回退。 - 恢复第三人称实体主手和副手物品渲染。 - 支持左右手映射、左手主手设置、NetEase 4D hand/arm 节点和强制 3D 物品模型。 ### 女仆模型与手持物品 - 六个 loader/版本组合加入女仆手持物品渲染层。 - 修复女仆主手、副手物品不显示。 - 修复渲染上下文和 collector 传递。 - Iris 阴影 pass 不再错误跳过女仆动画。 ### 模型重载稳定性 - 新增有界重载队列、请求合并、旧结果丢弃和成功后的原子快照发布。 - 模型加载失败时保留旧活动装配,避免已显示模型和持物层消失。 - 单个模型失败不会阻塞其他模型。 - 成功替换后才释放旧装配,并同步切换本地模型上下文。 ### 本地设置与兼容边界 - 在仅客户端、单人存档、未安装本模组的服务端和普通服务端场景中恢复本地 MoLang/漫游变量设置。 - 保留 Legacy 旧协议、模型同步、上传和格式工具作为 1.2.x 兼容实现。 - 继续完善 Fabric/NeoForge 物理目录边界和跨版本适配契约。 ## 修复 - 修复头发、尾巴物理变量中的 NaN/Infinity 污染后续帧;异常浮点值现在安全转换为 0。 - Resource Station 使用独立有界下载线程池和 AbortPolicy,队列满载时不再回退到 Minecraft 客户端线程执行网络 I/O。 - glTF 缺少旧 YSM 元数据时安全回退,避免模型列表、预览和 PlayerCapability 中的 NullPointerException。 - ZIP 文件名 UTF-8 解码失败时回退 GBK。 - 双面 glTF 薄片使用带深度偏移的渲染层,减少 Z-fighting、闪烁、缺面和镂空。 - 更新 native manifest SHA-256,并在构建前自动刷新原生文件摘要。 - 修复跨平台模型扫描排序、音频待处理轨道去重和 1.21.1 音频缓存取消时的声明释放。 ## 构建与验证 - 六个实际分支均执行发行构建。 - 普通原版/native JAR:包含 native 库,供 GitHub Release 和 Modrinth 使用。 - CurseForge JAR:不包含 native 库,文件名带 `-curseforge`,供 CurseForge 使用。 - 构建脚本会验证原版 JAR 的 native 内容,以及 CurseForge JAR 的 native 排除情况。 - 本版本的发行构建入口为 `build_release_variants.py`。 - GitHub、CurseForge、Modrinth 上传脚本已分离,分别执行文件类型校验和平台元数据校验。 ## 已知限制 - 六分支尚未完成同一 glTF 模型在真实 Minecraft 客户端中的完整视觉回归;静态测试和构建通过不等于跨分支视觉验收完成。 - 1.21.1 的 glTF `alphaCutoff` 已解析和规范化,但尚未传入 shader;26.x MASK 材质使用管线默认 cutoff。 - Cloud HTTP/WSS、认证、下载缓存和新外观协议属于 1.3.0,不属于 1.2.3。 - Legacy 兼容代码仍保留,尚未物理迁移删除。 - 本次 SlashBlade 修复当前落地于 NeoForge 1.21.1;Fabric 的 Refabricated 以及 26.x 分支需要独立适配和验证。 - SlashBlade 修复已完成源码编译验证,但仍需要安装对应模组后进行真实客户端渲染回归。 ## 后续路线 根据 1.2.x 路线图,后续阶段为: - **1.2.4**:Action & Animation Runtime - **1.2.5**:Player Visual Runtime - **1.2.6**:Paper Doll & Preview - **1.2.7**:Import & Resource Pipeline - **1.2.8**:Historical Cleanup(R13) - **1.2.9**:Final Multi-Branch Architecture Audit(R14) - **1.3.0**:Cloud Sync(R15) 感谢所有提交 Issue、测试模型和反馈兼容性问题的用户。
release

Sparkle Morpher 1.2.3 - NeoForge 1.21.1

1.2.3
30 авг. 2026 г.88Minecraft: 1.21.1neoforge
Скачать
Что нового
# Sparkle's Morpher 1.2.3 ## Platform Architecture(R12) 1.2.3 是 Platform Architecture 版本,完成了 R12.1–R12.4 四个方向的收敛: - **R12.1 Config Policy**:统一渲染、内存、诊断、隐私、网络、音频和功能策略入口,减少业务代码直接读取底层配置。 - **R12.2 Version Adapter**:建立 Render、GUI、Packet、Entity、Resource、Camera、Capability/Component、GPU/RenderPipeline 等稳定适配边界。 - **R12.3 Loader Boundary**:Fabric 与 NeoForge 继续保留独立 loader 入口、元数据和平台实现;共享逻辑位于 `common`,NeoForge 专属逻辑位于 `src/neoforge`,Fabric 专属逻辑位于 `fabric`。 - **R12.4 Distribution Variant**:统一 native/original 与 CurseForge 分发变体。GitHub 和 Modrinth 使用同一份包含 native 的原版 JAR;CurseForge 使用不包含 native 库的 `-curseforge.jar`。`-Pdist=modrinth` 继续作为原版分发兼容别名。 六个实际分支均完成对应的源码、构建、测试和发行配置收敛: - Fabric 1.21.1 - Fabric 26.1.2 - Fabric 26.2 - NeoForge 1.21.1 - NeoForge 26.1.2 - NeoForge 26.2 ## 本次对话中的 Issue #22 修复 Issue #22 报告了 1.21.1 中手持 SlashBlade 时只有挥刀动画、拔刀剑刀模型不显示的问题。 本次在 NeoForge 1.21.1 分支加入了对 SlashBlade: Resharped 1.21.1 的兼容桥接: - 检测 `slashblade` 模组是否加载,并保持缺少依赖时的安全降级。 - 识别 `ItemSlashBlade` 并读取 `ISlashBladeState` 的当前连招状态。 - 将 SlashBlade 连招状态接入 `slashblade:combo_*` 动画。 - 注册 `slashblade_animation` MoLang 变量。 - 复刻 SlashBlade `LayerMainBlade` 的刀身、刀鞘、发光和蓄力效果渲染。 - 支持主手挥刀轨迹以及副手腰间收刀姿态。 - 复用 SlashBlade 的 MMD 动作、`hardpointA`/`hardpointB` 和模型资源。 - 添加 NeoForge 可选依赖声明和 compile-only 依赖,不会把 SlashBlade 打包进 Sparkle's Morpher。 该修复已提交并推送到 `neo1.21.1` 分支。其余分支的 SlashBlade 适配需要分别针对 Refabricated 或对应版本 API 继续验证,不能直接视为已支持。 ## 新功能与改进 ### 独立 glTF 渲染管线 - 增加独立 glTF/GLB loader、场景评估、动画时钟、三角形顶点发射、材质解析和扩展注册边界。 - 支持 OPAQUE、MASK、BLEND、双面材质和 alpha cutoff 解析。 - 对未知 glTF 扩展保持严格拒绝策略。 - 对 NetEase 4D glTF 应用 1/16 像素空间缩放。 - 将 Minecraft tick 转换为 glTF 秒,限制 partial tick,修复动画高速抖动。 - 增加第三人称实体动画、第一人称手部入口、本地导入和模型缓存支持。 ### glTF 动画与持物 - 动画控制器改为持久化实例,避免每帧重建导致第三人称动画停止。 - 空 animation 占位项不再被错误选中。 - `walk`/`run` 支持双向回退。 - 攻击、使用物品和挥手动作支持多种命名匹配,并提供通用回退。 - 恢复第三人称实体主手和副手物品渲染。 - 支持左右手映射、左手主手设置、NetEase 4D hand/arm 节点和强制 3D 物品模型。 ### 女仆模型与手持物品 - 六个 loader/版本组合加入女仆手持物品渲染层。 - 修复女仆主手、副手物品不显示。 - 修复渲染上下文和 collector 传递。 - Iris 阴影 pass 不再错误跳过女仆动画。 ### 模型重载稳定性 - 新增有界重载队列、请求合并、旧结果丢弃和成功后的原子快照发布。 - 模型加载失败时保留旧活动装配,避免已显示模型和持物层消失。 - 单个模型失败不会阻塞其他模型。 - 成功替换后才释放旧装配,并同步切换本地模型上下文。 ### 本地设置与兼容边界 - 在仅客户端、单人存档、未安装本模组的服务端和普通服务端场景中恢复本地 MoLang/漫游变量设置。 - 保留 Legacy 旧协议、模型同步、上传和格式工具作为 1.2.x 兼容实现。 - 继续完善 Fabric/NeoForge 物理目录边界和跨版本适配契约。 ## 修复 - 修复头发、尾巴物理变量中的 NaN/Infinity 污染后续帧;异常浮点值现在安全转换为 0。 - Resource Station 使用独立有界下载线程池和 AbortPolicy,队列满载时不再回退到 Minecraft 客户端线程执行网络 I/O。 - glTF 缺少旧 YSM 元数据时安全回退,避免模型列表、预览和 PlayerCapability 中的 NullPointerException。 - ZIP 文件名 UTF-8 解码失败时回退 GBK。 - 双面 glTF 薄片使用带深度偏移的渲染层,减少 Z-fighting、闪烁、缺面和镂空。 - 更新 native manifest SHA-256,并在构建前自动刷新原生文件摘要。 - 修复跨平台模型扫描排序、音频待处理轨道去重和 1.21.1 音频缓存取消时的声明释放。 ## 构建与验证 - 六个实际分支均执行发行构建。 - 普通原版/native JAR:包含 native 库,供 GitHub Release 和 Modrinth 使用。 - CurseForge JAR:不包含 native 库,文件名带 `-curseforge`,供 CurseForge 使用。 - 构建脚本会验证原版 JAR 的 native 内容,以及 CurseForge JAR 的 native 排除情况。 - 本版本的发行构建入口为 `build_release_variants.py`。 - GitHub、CurseForge、Modrinth 上传脚本已分离,分别执行文件类型校验和平台元数据校验。 ## 已知限制 - 六分支尚未完成同一 glTF 模型在真实 Minecraft 客户端中的完整视觉回归;静态测试和构建通过不等于跨分支视觉验收完成。 - 1.21.1 的 glTF `alphaCutoff` 已解析和规范化,但尚未传入 shader;26.x MASK 材质使用管线默认 cutoff。 - Cloud HTTP/WSS、认证、下载缓存和新外观协议属于 1.3.0,不属于 1.2.3。 - Legacy 兼容代码仍保留,尚未物理迁移删除。 - 本次 SlashBlade 修复当前落地于 NeoForge 1.21.1;Fabric 的 Refabricated 以及 26.x 分支需要独立适配和验证。 - SlashBlade 修复已完成源码编译验证,但仍需要安装对应模组后进行真实客户端渲染回归。 ## 后续路线 根据 1.2.x 路线图,后续阶段为: - **1.2.4**:Action & Animation Runtime - **1.2.5**:Player Visual Runtime - **1.2.6**:Paper Doll & Preview - **1.2.7**:Import & Resource Pipeline - **1.2.8**:Historical Cleanup(R13) - **1.2.9**:Final Multi-Branch Architecture Audit(R14) - **1.3.0**:Cloud Sync(R15) 感谢所有提交 Issue、测试模型和反馈兼容性问题的用户。
release

Sparkle Morpher 1.2.3 - Fabric 26.2

1.2.3
30 авг. 2026 г.263Minecraft: 26.2fabric
Скачать
Что нового
# Sparkle's Morpher 1.2.3 ## Platform Architecture(R12) 1.2.3 是 Platform Architecture 版本,完成了 R12.1–R12.4 四个方向的收敛: - **R12.1 Config Policy**:统一渲染、内存、诊断、隐私、网络、音频和功能策略入口,减少业务代码直接读取底层配置。 - **R12.2 Version Adapter**:建立 Render、GUI、Packet、Entity、Resource、Camera、Capability/Component、GPU/RenderPipeline 等稳定适配边界。 - **R12.3 Loader Boundary**:Fabric 与 NeoForge 继续保留独立 loader 入口、元数据和平台实现;共享逻辑位于 `common`,NeoForge 专属逻辑位于 `src/neoforge`,Fabric 专属逻辑位于 `fabric`。 - **R12.4 Distribution Variant**:统一 native/original 与 CurseForge 分发变体。GitHub 和 Modrinth 使用同一份包含 native 的原版 JAR;CurseForge 使用不包含 native 库的 `-curseforge.jar`。`-Pdist=modrinth` 继续作为原版分发兼容别名。 六个实际分支均完成对应的源码、构建、测试和发行配置收敛: - Fabric 1.21.1 - Fabric 26.1.2 - Fabric 26.2 - NeoForge 1.21.1 - NeoForge 26.1.2 - NeoForge 26.2 ## 本次对话中的 Issue #22 修复 Issue #22 报告了 1.21.1 中手持 SlashBlade 时只有挥刀动画、拔刀剑刀模型不显示的问题。 本次在 NeoForge 1.21.1 分支加入了对 SlashBlade: Resharped 1.21.1 的兼容桥接: - 检测 `slashblade` 模组是否加载,并保持缺少依赖时的安全降级。 - 识别 `ItemSlashBlade` 并读取 `ISlashBladeState` 的当前连招状态。 - 将 SlashBlade 连招状态接入 `slashblade:combo_*` 动画。 - 注册 `slashblade_animation` MoLang 变量。 - 复刻 SlashBlade `LayerMainBlade` 的刀身、刀鞘、发光和蓄力效果渲染。 - 支持主手挥刀轨迹以及副手腰间收刀姿态。 - 复用 SlashBlade 的 MMD 动作、`hardpointA`/`hardpointB` 和模型资源。 - 添加 NeoForge 可选依赖声明和 compile-only 依赖,不会把 SlashBlade 打包进 Sparkle's Morpher。 该修复已提交并推送到 `neo1.21.1` 分支。其余分支的 SlashBlade 适配需要分别针对 Refabricated 或对应版本 API 继续验证,不能直接视为已支持。 ## 新功能与改进 ### 独立 glTF 渲染管线 - 增加独立 glTF/GLB loader、场景评估、动画时钟、三角形顶点发射、材质解析和扩展注册边界。 - 支持 OPAQUE、MASK、BLEND、双面材质和 alpha cutoff 解析。 - 对未知 glTF 扩展保持严格拒绝策略。 - 对 NetEase 4D glTF 应用 1/16 像素空间缩放。 - 将 Minecraft tick 转换为 glTF 秒,限制 partial tick,修复动画高速抖动。 - 增加第三人称实体动画、第一人称手部入口、本地导入和模型缓存支持。 ### glTF 动画与持物 - 动画控制器改为持久化实例,避免每帧重建导致第三人称动画停止。 - 空 animation 占位项不再被错误选中。 - `walk`/`run` 支持双向回退。 - 攻击、使用物品和挥手动作支持多种命名匹配,并提供通用回退。 - 恢复第三人称实体主手和副手物品渲染。 - 支持左右手映射、左手主手设置、NetEase 4D hand/arm 节点和强制 3D 物品模型。 ### 女仆模型与手持物品 - 六个 loader/版本组合加入女仆手持物品渲染层。 - 修复女仆主手、副手物品不显示。 - 修复渲染上下文和 collector 传递。 - Iris 阴影 pass 不再错误跳过女仆动画。 ### 模型重载稳定性 - 新增有界重载队列、请求合并、旧结果丢弃和成功后的原子快照发布。 - 模型加载失败时保留旧活动装配,避免已显示模型和持物层消失。 - 单个模型失败不会阻塞其他模型。 - 成功替换后才释放旧装配,并同步切换本地模型上下文。 ### 本地设置与兼容边界 - 在仅客户端、单人存档、未安装本模组的服务端和普通服务端场景中恢复本地 MoLang/漫游变量设置。 - 保留 Legacy 旧协议、模型同步、上传和格式工具作为 1.2.x 兼容实现。 - 继续完善 Fabric/NeoForge 物理目录边界和跨版本适配契约。 ## 修复 - 修复头发、尾巴物理变量中的 NaN/Infinity 污染后续帧;异常浮点值现在安全转换为 0。 - Resource Station 使用独立有界下载线程池和 AbortPolicy,队列满载时不再回退到 Minecraft 客户端线程执行网络 I/O。 - glTF 缺少旧 YSM 元数据时安全回退,避免模型列表、预览和 PlayerCapability 中的 NullPointerException。 - ZIP 文件名 UTF-8 解码失败时回退 GBK。 - 双面 glTF 薄片使用带深度偏移的渲染层,减少 Z-fighting、闪烁、缺面和镂空。 - 更新 native manifest SHA-256,并在构建前自动刷新原生文件摘要。 - 修复跨平台模型扫描排序、音频待处理轨道去重和 1.21.1 音频缓存取消时的声明释放。 ## 构建与验证 - 六个实际分支均执行发行构建。 - 普通原版/native JAR:包含 native 库,供 GitHub Release 和 Modrinth 使用。 - CurseForge JAR:不包含 native 库,文件名带 `-curseforge`,供 CurseForge 使用。 - 构建脚本会验证原版 JAR 的 native 内容,以及 CurseForge JAR 的 native 排除情况。 - 本版本的发行构建入口为 `build_release_variants.py`。 - GitHub、CurseForge、Modrinth 上传脚本已分离,分别执行文件类型校验和平台元数据校验。 ## 已知限制 - 六分支尚未完成同一 glTF 模型在真实 Minecraft 客户端中的完整视觉回归;静态测试和构建通过不等于跨分支视觉验收完成。 - 1.21.1 的 glTF `alphaCutoff` 已解析和规范化,但尚未传入 shader;26.x MASK 材质使用管线默认 cutoff。 - Cloud HTTP/WSS、认证、下载缓存和新外观协议属于 1.3.0,不属于 1.2.3。 - Legacy 兼容代码仍保留,尚未物理迁移删除。 - 本次 SlashBlade 修复当前落地于 NeoForge 1.21.1;Fabric 的 Refabricated 以及 26.x 分支需要独立适配和验证。 - SlashBlade 修复已完成源码编译验证,但仍需要安装对应模组后进行真实客户端渲染回归。 ## 后续路线 根据 1.2.x 路线图,后续阶段为: - **1.2.4**:Action & Animation Runtime - **1.2.5**:Player Visual Runtime - **1.2.6**:Paper Doll & Preview - **1.2.7**:Import & Resource Pipeline - **1.2.8**:Historical Cleanup(R13) - **1.2.9**:Final Multi-Branch Architecture Audit(R14) - **1.3.0**:Cloud Sync(R15) 感谢所有提交 Issue、测试模型和反馈兼容性问题的用户。
release

Sparkle Morpher 1.2.3 - Fabric 26.1.x

1.2.3
30 авг. 2026 г.102Minecraft: 26.1.2fabric
Скачать
Что нового
# Sparkle's Morpher 1.2.3 ## Platform Architecture(R12) 1.2.3 是 Platform Architecture 版本,完成了 R12.1–R12.4 四个方向的收敛: - **R12.1 Config Policy**:统一渲染、内存、诊断、隐私、网络、音频和功能策略入口,减少业务代码直接读取底层配置。 - **R12.2 Version Adapter**:建立 Render、GUI、Packet、Entity、Resource、Camera、Capability/Component、GPU/RenderPipeline 等稳定适配边界。 - **R12.3 Loader Boundary**:Fabric 与 NeoForge 继续保留独立 loader 入口、元数据和平台实现;共享逻辑位于 `common`,NeoForge 专属逻辑位于 `src/neoforge`,Fabric 专属逻辑位于 `fabric`。 - **R12.4 Distribution Variant**:统一 native/original 与 CurseForge 分发变体。GitHub 和 Modrinth 使用同一份包含 native 的原版 JAR;CurseForge 使用不包含 native 库的 `-curseforge.jar`。`-Pdist=modrinth` 继续作为原版分发兼容别名。 六个实际分支均完成对应的源码、构建、测试和发行配置收敛: - Fabric 1.21.1 - Fabric 26.1.2 - Fabric 26.2 - NeoForge 1.21.1 - NeoForge 26.1.2 - NeoForge 26.2 ## 本次对话中的 Issue #22 修复 Issue #22 报告了 1.21.1 中手持 SlashBlade 时只有挥刀动画、拔刀剑刀模型不显示的问题。 本次在 NeoForge 1.21.1 分支加入了对 SlashBlade: Resharped 1.21.1 的兼容桥接: - 检测 `slashblade` 模组是否加载,并保持缺少依赖时的安全降级。 - 识别 `ItemSlashBlade` 并读取 `ISlashBladeState` 的当前连招状态。 - 将 SlashBlade 连招状态接入 `slashblade:combo_*` 动画。 - 注册 `slashblade_animation` MoLang 变量。 - 复刻 SlashBlade `LayerMainBlade` 的刀身、刀鞘、发光和蓄力效果渲染。 - 支持主手挥刀轨迹以及副手腰间收刀姿态。 - 复用 SlashBlade 的 MMD 动作、`hardpointA`/`hardpointB` 和模型资源。 - 添加 NeoForge 可选依赖声明和 compile-only 依赖,不会把 SlashBlade 打包进 Sparkle's Morpher。 该修复已提交并推送到 `neo1.21.1` 分支。其余分支的 SlashBlade 适配需要分别针对 Refabricated 或对应版本 API 继续验证,不能直接视为已支持。 ## 新功能与改进 ### 独立 glTF 渲染管线 - 增加独立 glTF/GLB loader、场景评估、动画时钟、三角形顶点发射、材质解析和扩展注册边界。 - 支持 OPAQUE、MASK、BLEND、双面材质和 alpha cutoff 解析。 - 对未知 glTF 扩展保持严格拒绝策略。 - 对 NetEase 4D glTF 应用 1/16 像素空间缩放。 - 将 Minecraft tick 转换为 glTF 秒,限制 partial tick,修复动画高速抖动。 - 增加第三人称实体动画、第一人称手部入口、本地导入和模型缓存支持。 ### glTF 动画与持物 - 动画控制器改为持久化实例,避免每帧重建导致第三人称动画停止。 - 空 animation 占位项不再被错误选中。 - `walk`/`run` 支持双向回退。 - 攻击、使用物品和挥手动作支持多种命名匹配,并提供通用回退。 - 恢复第三人称实体主手和副手物品渲染。 - 支持左右手映射、左手主手设置、NetEase 4D hand/arm 节点和强制 3D 物品模型。 ### 女仆模型与手持物品 - 六个 loader/版本组合加入女仆手持物品渲染层。 - 修复女仆主手、副手物品不显示。 - 修复渲染上下文和 collector 传递。 - Iris 阴影 pass 不再错误跳过女仆动画。 ### 模型重载稳定性 - 新增有界重载队列、请求合并、旧结果丢弃和成功后的原子快照发布。 - 模型加载失败时保留旧活动装配,避免已显示模型和持物层消失。 - 单个模型失败不会阻塞其他模型。 - 成功替换后才释放旧装配,并同步切换本地模型上下文。 ### 本地设置与兼容边界 - 在仅客户端、单人存档、未安装本模组的服务端和普通服务端场景中恢复本地 MoLang/漫游变量设置。 - 保留 Legacy 旧协议、模型同步、上传和格式工具作为 1.2.x 兼容实现。 - 继续完善 Fabric/NeoForge 物理目录边界和跨版本适配契约。 ## 修复 - 修复头发、尾巴物理变量中的 NaN/Infinity 污染后续帧;异常浮点值现在安全转换为 0。 - Resource Station 使用独立有界下载线程池和 AbortPolicy,队列满载时不再回退到 Minecraft 客户端线程执行网络 I/O。 - glTF 缺少旧 YSM 元数据时安全回退,避免模型列表、预览和 PlayerCapability 中的 NullPointerException。 - ZIP 文件名 UTF-8 解码失败时回退 GBK。 - 双面 glTF 薄片使用带深度偏移的渲染层,减少 Z-fighting、闪烁、缺面和镂空。 - 更新 native manifest SHA-256,并在构建前自动刷新原生文件摘要。 - 修复跨平台模型扫描排序、音频待处理轨道去重和 1.21.1 音频缓存取消时的声明释放。 ## 构建与验证 - 六个实际分支均执行发行构建。 - 普通原版/native JAR:包含 native 库,供 GitHub Release 和 Modrinth 使用。 - CurseForge JAR:不包含 native 库,文件名带 `-curseforge`,供 CurseForge 使用。 - 构建脚本会验证原版 JAR 的 native 内容,以及 CurseForge JAR 的 native 排除情况。 - 本版本的发行构建入口为 `build_release_variants.py`。 - GitHub、CurseForge、Modrinth 上传脚本已分离,分别执行文件类型校验和平台元数据校验。 ## 已知限制 - 六分支尚未完成同一 glTF 模型在真实 Minecraft 客户端中的完整视觉回归;静态测试和构建通过不等于跨分支视觉验收完成。 - 1.21.1 的 glTF `alphaCutoff` 已解析和规范化,但尚未传入 shader;26.x MASK 材质使用管线默认 cutoff。 - Cloud HTTP/WSS、认证、下载缓存和新外观协议属于 1.3.0,不属于 1.2.3。 - Legacy 兼容代码仍保留,尚未物理迁移删除。 - 本次 SlashBlade 修复当前落地于 NeoForge 1.21.1;Fabric 的 Refabricated 以及 26.x 分支需要独立适配和验证。 - SlashBlade 修复已完成源码编译验证,但仍需要安装对应模组后进行真实客户端渲染回归。 ## 后续路线 根据 1.2.x 路线图,后续阶段为: - **1.2.4**:Action & Animation Runtime - **1.2.5**:Player Visual Runtime - **1.2.6**:Paper Doll & Preview - **1.2.7**:Import & Resource Pipeline - **1.2.8**:Historical Cleanup(R13) - **1.2.9**:Final Multi-Branch Architecture Audit(R14) - **1.3.0**:Cloud Sync(R15) 感谢所有提交 Issue、测试模型和反馈兼容性问题的用户。
release

Sparkle Morpher 1.2.3 - Fabric 1.21.1

1.2.3
30 авг. 2026 г.63Minecraft: 1.21.1fabric
Скачать
Что нового
# Sparkle's Morpher 1.2.3 ## Platform Architecture(R12) 1.2.3 是 Platform Architecture 版本,完成了 R12.1–R12.4 四个方向的收敛: - **R12.1 Config Policy**:统一渲染、内存、诊断、隐私、网络、音频和功能策略入口,减少业务代码直接读取底层配置。 - **R12.2 Version Adapter**:建立 Render、GUI、Packet、Entity、Resource、Camera、Capability/Component、GPU/RenderPipeline 等稳定适配边界。 - **R12.3 Loader Boundary**:Fabric 与 NeoForge 继续保留独立 loader 入口、元数据和平台实现;共享逻辑位于 `common`,NeoForge 专属逻辑位于 `src/neoforge`,Fabric 专属逻辑位于 `fabric`。 - **R12.4 Distribution Variant**:统一 native/original 与 CurseForge 分发变体。GitHub 和 Modrinth 使用同一份包含 native 的原版 JAR;CurseForge 使用不包含 native 库的 `-curseforge.jar`。`-Pdist=modrinth` 继续作为原版分发兼容别名。 六个实际分支均完成对应的源码、构建、测试和发行配置收敛: - Fabric 1.21.1 - Fabric 26.1.2 - Fabric 26.2 - NeoForge 1.21.1 - NeoForge 26.1.2 - NeoForge 26.2 ## 本次对话中的 Issue #22 修复 Issue #22 报告了 1.21.1 中手持 SlashBlade 时只有挥刀动画、拔刀剑刀模型不显示的问题。 本次在 NeoForge 1.21.1 分支加入了对 SlashBlade: Resharped 1.21.1 的兼容桥接: - 检测 `slashblade` 模组是否加载,并保持缺少依赖时的安全降级。 - 识别 `ItemSlashBlade` 并读取 `ISlashBladeState` 的当前连招状态。 - 将 SlashBlade 连招状态接入 `slashblade:combo_*` 动画。 - 注册 `slashblade_animation` MoLang 变量。 - 复刻 SlashBlade `LayerMainBlade` 的刀身、刀鞘、发光和蓄力效果渲染。 - 支持主手挥刀轨迹以及副手腰间收刀姿态。 - 复用 SlashBlade 的 MMD 动作、`hardpointA`/`hardpointB` 和模型资源。 - 添加 NeoForge 可选依赖声明和 compile-only 依赖,不会把 SlashBlade 打包进 Sparkle's Morpher。 该修复已提交并推送到 `neo1.21.1` 分支。其余分支的 SlashBlade 适配需要分别针对 Refabricated 或对应版本 API 继续验证,不能直接视为已支持。 ## 新功能与改进 ### 独立 glTF 渲染管线 - 增加独立 glTF/GLB loader、场景评估、动画时钟、三角形顶点发射、材质解析和扩展注册边界。 - 支持 OPAQUE、MASK、BLEND、双面材质和 alpha cutoff 解析。 - 对未知 glTF 扩展保持严格拒绝策略。 - 对 NetEase 4D glTF 应用 1/16 像素空间缩放。 - 将 Minecraft tick 转换为 glTF 秒,限制 partial tick,修复动画高速抖动。 - 增加第三人称实体动画、第一人称手部入口、本地导入和模型缓存支持。 ### glTF 动画与持物 - 动画控制器改为持久化实例,避免每帧重建导致第三人称动画停止。 - 空 animation 占位项不再被错误选中。 - `walk`/`run` 支持双向回退。 - 攻击、使用物品和挥手动作支持多种命名匹配,并提供通用回退。 - 恢复第三人称实体主手和副手物品渲染。 - 支持左右手映射、左手主手设置、NetEase 4D hand/arm 节点和强制 3D 物品模型。 ### 女仆模型与手持物品 - 六个 loader/版本组合加入女仆手持物品渲染层。 - 修复女仆主手、副手物品不显示。 - 修复渲染上下文和 collector 传递。 - Iris 阴影 pass 不再错误跳过女仆动画。 ### 模型重载稳定性 - 新增有界重载队列、请求合并、旧结果丢弃和成功后的原子快照发布。 - 模型加载失败时保留旧活动装配,避免已显示模型和持物层消失。 - 单个模型失败不会阻塞其他模型。 - 成功替换后才释放旧装配,并同步切换本地模型上下文。 ### 本地设置与兼容边界 - 在仅客户端、单人存档、未安装本模组的服务端和普通服务端场景中恢复本地 MoLang/漫游变量设置。 - 保留 Legacy 旧协议、模型同步、上传和格式工具作为 1.2.x 兼容实现。 - 继续完善 Fabric/NeoForge 物理目录边界和跨版本适配契约。 ## 修复 - 修复头发、尾巴物理变量中的 NaN/Infinity 污染后续帧;异常浮点值现在安全转换为 0。 - Resource Station 使用独立有界下载线程池和 AbortPolicy,队列满载时不再回退到 Minecraft 客户端线程执行网络 I/O。 - glTF 缺少旧 YSM 元数据时安全回退,避免模型列表、预览和 PlayerCapability 中的 NullPointerException。 - ZIP 文件名 UTF-8 解码失败时回退 GBK。 - 双面 glTF 薄片使用带深度偏移的渲染层,减少 Z-fighting、闪烁、缺面和镂空。 - 更新 native manifest SHA-256,并在构建前自动刷新原生文件摘要。 - 修复跨平台模型扫描排序、音频待处理轨道去重和 1.21.1 音频缓存取消时的声明释放。 ## 构建与验证 - 六个实际分支均执行发行构建。 - 普通原版/native JAR:包含 native 库,供 GitHub Release 和 Modrinth 使用。 - CurseForge JAR:不包含 native 库,文件名带 `-curseforge`,供 CurseForge 使用。 - 构建脚本会验证原版 JAR 的 native 内容,以及 CurseForge JAR 的 native 排除情况。 - 本版本的发行构建入口为 `build_release_variants.py`。 - GitHub、CurseForge、Modrinth 上传脚本已分离,分别执行文件类型校验和平台元数据校验。 ## 已知限制 - 六分支尚未完成同一 glTF 模型在真实 Minecraft 客户端中的完整视觉回归;静态测试和构建通过不等于跨分支视觉验收完成。 - 1.21.1 的 glTF `alphaCutoff` 已解析和规范化,但尚未传入 shader;26.x MASK 材质使用管线默认 cutoff。 - Cloud HTTP/WSS、认证、下载缓存和新外观协议属于 1.3.0,不属于 1.2.3。 - Legacy 兼容代码仍保留,尚未物理迁移删除。 - 本次 SlashBlade 修复当前落地于 NeoForge 1.21.1;Fabric 的 Refabricated 以及 26.x 分支需要独立适配和验证。 - SlashBlade 修复已完成源码编译验证,但仍需要安装对应模组后进行真实客户端渲染回归。 ## 后续路线 根据 1.2.x 路线图,后续阶段为: - **1.2.4**:Action & Animation Runtime - **1.2.5**:Player Visual Runtime - **1.2.6**:Paper Doll & Preview - **1.2.7**:Import & Resource Pipeline - **1.2.8**:Historical Cleanup(R13) - **1.2.9**:Final Multi-Branch Architecture Audit(R14) - **1.3.0**:Cloud Sync(R15) 感谢所有提交 Issue、测试模型和反馈兼容性问题的用户。
release

Sparkle's Morpher 1.2.2

1.2.2
23 авг. 2026 г.117Minecraft: 26.2neoforge
Скачать
Что нового
Sparkle Morpher 1.2.2 delivers the main work planned for the 1.2.x “Cross-Backend Performance & Stabilization” phase. All six actual source repositories were synchronized, built, verified, and pushed to their matching GitHub branches. ### Highlights - Modern HUD modernization and stabilization: - 26.x uses explicit VAO, SSBO, BoneSkinShader, and a 144-byte-per-bone layout for the unified skeleton path. - Restored the separate translucent blend stage and alpha handling for transparent materials. - Fixed layout anchors, AABB/FBO framing, glow-bone exclusion, pose snapshots, scale, and yaw handling. - Fixed classic HUD `input_vertical` direction contamination and lost context during deferred world-model submit replay. - Every Modern HUD rendering, layout, and title option is marked “Experimental”. Modern HUD remains disabled by default while Classic HUD remains enabled by default. - Minecraft 26.1.2/26.2 held-item crash fix: - 26.x Modern HUD now uses Mojang’s GUI item RenderState extraction API for main-hand and off-hand items. - Removed the erroneous manual `ItemEntityRenderState` creation path, which submitted an item through the GUI deferred/Picture-in-Picture pipeline to an `EntityRenderDispatcher` with no assigned renderer. - Main hand, off hand, Scale, Yaw, and HUD Layout behavior are preserved; 1.21.1 keeps its version-specific legacy API. - Cross-backend rendering and performance: - Roulette stage 1 now uses cached geometry through `GuiGraphicsExtractor.fill`, avoiding raw GL/CommandEncoder submissions during extraction that were later overwritten; a CPU fallback keeps visibility consistent across OpenGL and Vulkan. - The 26.2 Vulkan path detects the actual Minecraft `GpuDevice`, uses the 144-byte-per-bone Vulkan ABI and Native SIMD bone calculation, and falls back to Java when the native path is not applicable. - The implementation keeps business logic behind the backend-neutral Blaze3D/vanilla boundary instead of coupling it to raw OpenGL/Vulkan. - Compatibility and reliability: - Fixed TouhouLittleMaid sitting-state access and custom-model state synchronization across all six loader/version branches. - Fixed the 1.21.1 item-buffer/glint immediate path (Issue #18) and the Fabric 26.x flight animation frame-boundary stutter. - Added or tightened architecture-boundary, RenderState contract, material contract, and six-branch build checks while retaining the required 1.21.1 and 26.x adapters. ### Build and verification - All six branches were pushed with `git push`; each local HEAD was then compared with its matching remote branch after fetch. - A clean release build completed on 2026-08-23 and produced a 1.2.2 original JAR for every branch. The six original JARs in this release are the primary downloads. - Full build output is included as `BUILD_LOG_1.2.2_2026-08-23.txt`; branch logs were collected under `.buildlogs/6branches/`. - This release does not claim real Minecraft 26.2 Vulkan client visual regression coverage; that still requires an actual Vulkan client environment. Fabric 26.2 also retains pre-existing ArchitectureBoundaryTest violations, which are not presented as fixed by this release. ### Release assets - Six original Fabric/NeoForge JARs. - Chinese notes, English notes, and the build log. The 1.2.2 scope freeze remains in effect: the large Action Runtime, Paper Doll, Import Pipeline, Cloud, and PortableGpuRenderPath rewrites are out of scope for this release.
release

Sparkle's Morpher 1.2.2

1.2.2
23 авг. 2026 г.114Minecraft: 26.1, 26.1.1, 26.1.2neoforge
Скачать
Что нового
Sparkle Morpher 1.2.2 delivers the main work planned for the 1.2.x “Cross-Backend Performance & Stabilization” phase. All six actual source repositories were synchronized, built, verified, and pushed to their matching GitHub branches. ### Highlights - Modern HUD modernization and stabilization: - 26.x uses explicit VAO, SSBO, BoneSkinShader, and a 144-byte-per-bone layout for the unified skeleton path. - Restored the separate translucent blend stage and alpha handling for transparent materials. - Fixed layout anchors, AABB/FBO framing, glow-bone exclusion, pose snapshots, scale, and yaw handling. - Fixed classic HUD `input_vertical` direction contamination and lost context during deferred world-model submit replay. - Every Modern HUD rendering, layout, and title option is marked “Experimental”. Modern HUD remains disabled by default while Classic HUD remains enabled by default. - Minecraft 26.1.2/26.2 held-item crash fix: - 26.x Modern HUD now uses Mojang’s GUI item RenderState extraction API for main-hand and off-hand items. - Removed the erroneous manual `ItemEntityRenderState` creation path, which submitted an item through the GUI deferred/Picture-in-Picture pipeline to an `EntityRenderDispatcher` with no assigned renderer. - Main hand, off hand, Scale, Yaw, and HUD Layout behavior are preserved; 1.21.1 keeps its version-specific legacy API. - Cross-backend rendering and performance: - Roulette stage 1 now uses cached geometry through `GuiGraphicsExtractor.fill`, avoiding raw GL/CommandEncoder submissions during extraction that were later overwritten; a CPU fallback keeps visibility consistent across OpenGL and Vulkan. - The 26.2 Vulkan path detects the actual Minecraft `GpuDevice`, uses the 144-byte-per-bone Vulkan ABI and Native SIMD bone calculation, and falls back to Java when the native path is not applicable. - The implementation keeps business logic behind the backend-neutral Blaze3D/vanilla boundary instead of coupling it to raw OpenGL/Vulkan. - Compatibility and reliability: - Fixed TouhouLittleMaid sitting-state access and custom-model state synchronization across all six loader/version branches. - Fixed the 1.21.1 item-buffer/glint immediate path (Issue #18) and the Fabric 26.x flight animation frame-boundary stutter. - Added or tightened architecture-boundary, RenderState contract, material contract, and six-branch build checks while retaining the required 1.21.1 and 26.x adapters. ### Build and verification - All six branches were pushed with `git push`; each local HEAD was then compared with its matching remote branch after fetch. - A clean release build completed on 2026-08-23 and produced a 1.2.2 original JAR for every branch. The six original JARs in this release are the primary downloads. - Full build output is included as `BUILD_LOG_1.2.2_2026-08-23.txt`; branch logs were collected under `.buildlogs/6branches/`. - This release does not claim real Minecraft 26.2 Vulkan client visual regression coverage; that still requires an actual Vulkan client environment. Fabric 26.2 also retains pre-existing ArchitectureBoundaryTest violations, which are not presented as fixed by this release. ### Release assets - Six original Fabric/NeoForge JARs. - Chinese notes, English notes, and the build log. The 1.2.2 scope freeze remains in effect: the large Action Runtime, Paper Doll, Import Pipeline, Cloud, and PortableGpuRenderPath rewrites are out of scope for this release.
release

Sparkle's Morpher 1.2.2

1.2.2
23 авг. 2026 г.195Minecraft: 1.21.1neoforge
Скачать
Что нового
Sparkle Morpher 1.2.2 delivers the main work planned for the 1.2.x “Cross-Backend Performance & Stabilization” phase. All six actual source repositories were synchronized, built, verified, and pushed to their matching GitHub branches. ### Highlights - Modern HUD modernization and stabilization: - 26.x uses explicit VAO, SSBO, BoneSkinShader, and a 144-byte-per-bone layout for the unified skeleton path. - Restored the separate translucent blend stage and alpha handling for transparent materials. - Fixed layout anchors, AABB/FBO framing, glow-bone exclusion, pose snapshots, scale, and yaw handling. - Fixed classic HUD `input_vertical` direction contamination and lost context during deferred world-model submit replay. - Every Modern HUD rendering, layout, and title option is marked “Experimental”. Modern HUD remains disabled by default while Classic HUD remains enabled by default. - Minecraft 26.1.2/26.2 held-item crash fix: - 26.x Modern HUD now uses Mojang’s GUI item RenderState extraction API for main-hand and off-hand items. - Removed the erroneous manual `ItemEntityRenderState` creation path, which submitted an item through the GUI deferred/Picture-in-Picture pipeline to an `EntityRenderDispatcher` with no assigned renderer. - Main hand, off hand, Scale, Yaw, and HUD Layout behavior are preserved; 1.21.1 keeps its version-specific legacy API. - Cross-backend rendering and performance: - Roulette stage 1 now uses cached geometry through `GuiGraphicsExtractor.fill`, avoiding raw GL/CommandEncoder submissions during extraction that were later overwritten; a CPU fallback keeps visibility consistent across OpenGL and Vulkan. - The 26.2 Vulkan path detects the actual Minecraft `GpuDevice`, uses the 144-byte-per-bone Vulkan ABI and Native SIMD bone calculation, and falls back to Java when the native path is not applicable. - The implementation keeps business logic behind the backend-neutral Blaze3D/vanilla boundary instead of coupling it to raw OpenGL/Vulkan. - Compatibility and reliability: - Fixed TouhouLittleMaid sitting-state access and custom-model state synchronization across all six loader/version branches. - Fixed the 1.21.1 item-buffer/glint immediate path (Issue #18) and the Fabric 26.x flight animation frame-boundary stutter. - Added or tightened architecture-boundary, RenderState contract, material contract, and six-branch build checks while retaining the required 1.21.1 and 26.x adapters. ### Build and verification - All six branches were pushed with `git push`; each local HEAD was then compared with its matching remote branch after fetch. - A clean release build completed on 2026-08-23 and produced a 1.2.2 original JAR for every branch. The six original JARs in this release are the primary downloads. - Full build output is included as `BUILD_LOG_1.2.2_2026-08-23.txt`; branch logs were collected under `.buildlogs/6branches/`. - This release does not claim real Minecraft 26.2 Vulkan client visual regression coverage; that still requires an actual Vulkan client environment. Fabric 26.2 also retains pre-existing ArchitectureBoundaryTest violations, which are not presented as fixed by this release. ### Release assets - Six original Fabric/NeoForge JARs. - Chinese notes, English notes, and the build log. The 1.2.2 scope freeze remains in effect: the large Action Runtime, Paper Doll, Import Pipeline, Cloud, and PortableGpuRenderPath rewrites are out of scope for this release.
release

Sparkle's Morpher 1.2.2

1.2.2
23 авг. 2026 г.76Minecraft: 1.21.1fabric
Скачать
Что нового
Sparkle Morpher 1.2.2 delivers the main work planned for the 1.2.x “Cross-Backend Performance & Stabilization” phase. All six actual source repositories were synchronized, built, verified, and pushed to their matching GitHub branches. ### Highlights - Modern HUD modernization and stabilization: - 26.x uses explicit VAO, SSBO, BoneSkinShader, and a 144-byte-per-bone layout for the unified skeleton path. - Restored the separate translucent blend stage and alpha handling for transparent materials. - Fixed layout anchors, AABB/FBO framing, glow-bone exclusion, pose snapshots, scale, and yaw handling. - Fixed classic HUD `input_vertical` direction contamination and lost context during deferred world-model submit replay. - Every Modern HUD rendering, layout, and title option is marked “Experimental”. Modern HUD remains disabled by default while Classic HUD remains enabled by default. - Minecraft 26.1.2/26.2 held-item crash fix: - 26.x Modern HUD now uses Mojang’s GUI item RenderState extraction API for main-hand and off-hand items. - Removed the erroneous manual `ItemEntityRenderState` creation path, which submitted an item through the GUI deferred/Picture-in-Picture pipeline to an `EntityRenderDispatcher` with no assigned renderer. - Main hand, off hand, Scale, Yaw, and HUD Layout behavior are preserved; 1.21.1 keeps its version-specific legacy API. - Cross-backend rendering and performance: - Roulette stage 1 now uses cached geometry through `GuiGraphicsExtractor.fill`, avoiding raw GL/CommandEncoder submissions during extraction that were later overwritten; a CPU fallback keeps visibility consistent across OpenGL and Vulkan. - The 26.2 Vulkan path detects the actual Minecraft `GpuDevice`, uses the 144-byte-per-bone Vulkan ABI and Native SIMD bone calculation, and falls back to Java when the native path is not applicable. - The implementation keeps business logic behind the backend-neutral Blaze3D/vanilla boundary instead of coupling it to raw OpenGL/Vulkan. - Compatibility and reliability: - Fixed TouhouLittleMaid sitting-state access and custom-model state synchronization across all six loader/version branches. - Fixed the 1.21.1 item-buffer/glint immediate path (Issue #18) and the Fabric 26.x flight animation frame-boundary stutter. - Added or tightened architecture-boundary, RenderState contract, material contract, and six-branch build checks while retaining the required 1.21.1 and 26.x adapters. ### Build and verification - All six branches were pushed with `git push`; each local HEAD was then compared with its matching remote branch after fetch. - A clean release build completed on 2026-08-23 and produced a 1.2.2 original JAR for every branch. The six original JARs in this release are the primary downloads. - Full build output is included as `BUILD_LOG_1.2.2_2026-08-23.txt`; branch logs were collected under `.buildlogs/6branches/`. - This release does not claim real Minecraft 26.2 Vulkan client visual regression coverage; that still requires an actual Vulkan client environment. Fabric 26.2 also retains pre-existing ArchitectureBoundaryTest violations, which are not presented as fixed by this release. ### Release assets - Six original Fabric/NeoForge JARs. - Chinese notes, English notes, and the build log. The 1.2.2 scope freeze remains in effect: the large Action Runtime, Paper Doll, Import Pipeline, Cloud, and PortableGpuRenderPath rewrites are out of scope for this release.
release

Sparkle's Morpher 1.2.2

1.2.2
23 авг. 2026 г.333Minecraft: 26.1, 26.1.1, 26.1.2fabric
Скачать
Что нового
Sparkle Morpher 1.2.2 delivers the main work planned for the 1.2.x “Cross-Backend Performance & Stabilization” phase. All six actual source repositories were synchronized, built, verified, and pushed to their matching GitHub branches. ### Highlights - Modern HUD modernization and stabilization: - 26.x uses explicit VAO, SSBO, BoneSkinShader, and a 144-byte-per-bone layout for the unified skeleton path. - Restored the separate translucent blend stage and alpha handling for transparent materials. - Fixed layout anchors, AABB/FBO framing, glow-bone exclusion, pose snapshots, scale, and yaw handling. - Fixed classic HUD `input_vertical` direction contamination and lost context during deferred world-model submit replay. - Every Modern HUD rendering, layout, and title option is marked “Experimental”. Modern HUD remains disabled by default while Classic HUD remains enabled by default. - Minecraft 26.1.2/26.2 held-item crash fix: - 26.x Modern HUD now uses Mojang’s GUI item RenderState extraction API for main-hand and off-hand items. - Removed the erroneous manual `ItemEntityRenderState` creation path, which submitted an item through the GUI deferred/Picture-in-Picture pipeline to an `EntityRenderDispatcher` with no assigned renderer. - Main hand, off hand, Scale, Yaw, and HUD Layout behavior are preserved; 1.21.1 keeps its version-specific legacy API. - Cross-backend rendering and performance: - Roulette stage 1 now uses cached geometry through `GuiGraphicsExtractor.fill`, avoiding raw GL/CommandEncoder submissions during extraction that were later overwritten; a CPU fallback keeps visibility consistent across OpenGL and Vulkan. - The 26.2 Vulkan path detects the actual Minecraft `GpuDevice`, uses the 144-byte-per-bone Vulkan ABI and Native SIMD bone calculation, and falls back to Java when the native path is not applicable. - The implementation keeps business logic behind the backend-neutral Blaze3D/vanilla boundary instead of coupling it to raw OpenGL/Vulkan. - Compatibility and reliability: - Fixed TouhouLittleMaid sitting-state access and custom-model state synchronization across all six loader/version branches. - Fixed the 1.21.1 item-buffer/glint immediate path (Issue #18) and the Fabric 26.x flight animation frame-boundary stutter. - Added or tightened architecture-boundary, RenderState contract, material contract, and six-branch build checks while retaining the required 1.21.1 and 26.x adapters. ### Build and verification - All six branches were pushed with `git push`; each local HEAD was then compared with its matching remote branch after fetch. - A clean release build completed on 2026-08-23 and produced a 1.2.2 original JAR for every branch. The six original JARs in this release are the primary downloads. - Full build output is included as `BUILD_LOG_1.2.2_2026-08-23.txt`; branch logs were collected under `.buildlogs/6branches/`. - This release does not claim real Minecraft 26.2 Vulkan client visual regression coverage; that still requires an actual Vulkan client environment. Fabric 26.2 also retains pre-existing ArchitectureBoundaryTest violations, which are not presented as fixed by this release. ### Release assets - Six original Fabric/NeoForge JARs. - Chinese notes, English notes, and the build log. The 1.2.2 scope freeze remains in effect: the large Action Runtime, Paper Doll, Import Pipeline, Cloud, and PortableGpuRenderPath rewrites are out of scope for this release.
release

Sparkle's Morpher 1.2.2

1.2.2
23 авг. 2026 г.277Minecraft: 26.2fabric
Скачать
Что нового
Sparkle Morpher 1.2.2 delivers the main work planned for the 1.2.x “Cross-Backend Performance & Stabilization” phase. All six actual source repositories were synchronized, built, verified, and pushed to their matching GitHub branches. ### Highlights - Modern HUD modernization and stabilization: - 26.x uses explicit VAO, SSBO, BoneSkinShader, and a 144-byte-per-bone layout for the unified skeleton path. - Restored the separate translucent blend stage and alpha handling for transparent materials. - Fixed layout anchors, AABB/FBO framing, glow-bone exclusion, pose snapshots, scale, and yaw handling. - Fixed classic HUD `input_vertical` direction contamination and lost context during deferred world-model submit replay. - Every Modern HUD rendering, layout, and title option is marked “Experimental”. Modern HUD remains disabled by default while Classic HUD remains enabled by default. - Minecraft 26.1.2/26.2 held-item crash fix: - 26.x Modern HUD now uses Mojang’s GUI item RenderState extraction API for main-hand and off-hand items. - Removed the erroneous manual `ItemEntityRenderState` creation path, which submitted an item through the GUI deferred/Picture-in-Picture pipeline to an `EntityRenderDispatcher` with no assigned renderer. - Main hand, off hand, Scale, Yaw, and HUD Layout behavior are preserved; 1.21.1 keeps its version-specific legacy API. - Cross-backend rendering and performance: - Roulette stage 1 now uses cached geometry through `GuiGraphicsExtractor.fill`, avoiding raw GL/CommandEncoder submissions during extraction that were later overwritten; a CPU fallback keeps visibility consistent across OpenGL and Vulkan. - The 26.2 Vulkan path detects the actual Minecraft `GpuDevice`, uses the 144-byte-per-bone Vulkan ABI and Native SIMD bone calculation, and falls back to Java when the native path is not applicable. - The implementation keeps business logic behind the backend-neutral Blaze3D/vanilla boundary instead of coupling it to raw OpenGL/Vulkan. - Compatibility and reliability: - Fixed TouhouLittleMaid sitting-state access and custom-model state synchronization across all six loader/version branches. - Fixed the 1.21.1 item-buffer/glint immediate path (Issue #18) and the Fabric 26.x flight animation frame-boundary stutter. - Added or tightened architecture-boundary, RenderState contract, material contract, and six-branch build checks while retaining the required 1.21.1 and 26.x adapters. ### Build and verification - All six branches were pushed with `git push`; each local HEAD was then compared with its matching remote branch after fetch. - A clean release build completed on 2026-08-23 and produced a 1.2.2 original JAR for every branch. The six original JARs in this release are the primary downloads. - Full build output is included as `BUILD_LOG_1.2.2_2026-08-23.txt`; branch logs were collected under `.buildlogs/6branches/`. - This release does not claim real Minecraft 26.2 Vulkan client visual regression coverage; that still requires an actual Vulkan client environment. Fabric 26.2 also retains pre-existing ArchitectureBoundaryTest violations, which are not presented as fixed by this release. ### Release assets - Six original Fabric/NeoForge JARs. - Chinese notes, English notes, and the build log. The 1.2.2 scope freeze remains in effect: the large Action Runtime, Paper Doll, Import Pipeline, Cloud, and PortableGpuRenderPath rewrites are out of scope for this release.
release

Sparkle's Morpher 1.2.1

1.2.1
13 авг. 2026 г.200Minecraft: 26.2neoforge
Скачать
Что нового
# Sparkle Morpher 1.2.1 Sparkle Morpher 1.2.1 fixes a singleplayer crash on the Fabric 26.x line, aligns the 26.2 branch with the real 26.2 APIs, and brings the rendering/network/Maid refactor series R0–R11 (recorded between 2026-08-10 and 2026-08-13, including everything from the 08-12 prerelease `1.2.0-beta-R11MAID`) into a formal release across Fabric and NeoForge × 1.21.1 / 26.1.2 / 26.2. --- ## Highlights ### Crash fixes (focus of this release) - **Fixed `IncompatibleClassChangeError` on joining singleplayer** (Fabric 26.1.2 / 26.2): removed the compile-time shadow stubs where `Minecraft.execute/submit/isLocalServer` were wrongly declared `static`, which made `Minecraft.getInstance().execute(...)` compile to `invokestatic` and crash at runtime against the real instance methods. Everything is now compiled back to `invokevirtual` (verified by a full ASM scan: 0 remaining). - **Fa26.2 stub cleanup & alignment with real 26.2 APIs**: removed 24 vestigial/shadowing stubs, keeping only 4 runtime compat layers (`MultiBufferSource` / `IrisApi` / `ModConfig` / `IForgeGuiGraphicsExtractor`); 6 call sites (`getScoreboard` / `renderNames` / `renderBuffers` / `getMainRenderTarget` / `screen` etc.) moved to the real 26.2 APIs. - **Sync packet queue overflow → bounded backpressure**: bursts no longer abort the whole sync when the queue briefly fills; the enqueue side now waits with a bounded budget (server bandwidth limiting + outbound drain form a backpressure loop). ### Rendering & performance - **Classic HUD deep performance rewrite**: FBO partial physical-pixel offscreen cache (was ~35 ms full CPU render per frame → ~0.17 ms); GPU path with a 60 Hz independent refresh budget, SIMD/compat path at 10 Hz throttle; 8-slot bone SSBO ring + `GL_STREAM_DRAW` streaming uploads, eliminating shared-buffer sync stalls; explicit alpha compositing and batching isolation. - **First-person hand rendering fix** (26.x): the hand always uses the `entityTranslucent` pass. - **Preview rotation pollution fix** (1.21.1): entity yaw and preview mode are reset even on exception paths (try/finally). - **Hand rendering NPE guard**: `getAnimationBundle()==null` mid-state protection (12 sites across 6 branches). - **R10-series internal refactors**: `RenderBackend` interface isolation (Blaze3D / OpenGL / SIMD / Java implementations), `GpuMeshRegistry` leases + orphan sweeps, unified resource ownership for model assemblies (deterministic release), weighted-LRU audio cache. ### Networking & model sync - **Fixed crash when clients without SPM join**: per-player channel pre-checks before sending (NeoForge/Fabric) + batch send fallback. - **Systemic fix for sync timeouts / stuck "receiving model data"**: `LegacySyncFlowControl` 64 KiB burst backpressure + 512 MiB in-flight budget; a dedicated single-threaded sync executor with a bounded ordered packet queue (decrypt/verify/disk-write no longer blocks network/main threads); termination frame sent when the server cache is unavailable so the client never hangs forever; the watchdog no longer reports false success. - **neo1.21.1 stuck-at-LOADING fix**: `toClientboundPacket` null packet → wrapped in `ClientboundCustomPayloadPacket`. - **R9 networking modularization** (internal): send-entry pre-checks, connection-state split, upload-transport interfaces. ### Maid (TLM) compatibility (R11) - `MaidModelSync` divergence converged across branches (byte-identical in all six). - **`C2SSetMaidModelPacket` (id 24) ported to all branches**: maid model switching now uses SPM's own chain (auth pipeline); the official TLM protocol remains as fallback. - TLM-environment startup crash fixed (`@Mixin(targets=...)` to avoid `MixinTargetAlreadyLoaded`). - 26.x GUI maid preview not replacing YSM models — fixed. - R11 `compat.api` service layer (internal, no startup-order dependencies). ### GUI / HUD - **Classic / Modern HUD dual toggles**: independent switches in settings; the legacy keybinding and old screen were removed. - **`ClassicHudLayoutScreen` layout editor**: drag, unbounded scaling, scroll zoom, yaw rotation, one-click reset. - **`ModernHudRenderer` independent entry contract** (off by default, internal). ### Other fixes - Abnormal head rotation while riding (`RiderRotationMath` pure-angle helper, verified on 6 branches). - 1.21.1 default model rotation not following the camera (cross-frame cache registry retained). - Server model pack name JSON-quote display fix. ### Internal refactors (R0–R9, core of 1.2.1) - S0 security hotfixes: YSM folder path-escape sandbox, atomic audio-cache dedup. - R2 unified thread pools (`SmExecutors` bounded queues + CallerRuns backpressure + TaskScope). - R3 `ModelStoragePaths` centralization + `PersistentStore` atomic writes. - R4 unified resource container (folder / zip GBK / limits) + zip-bomb protection. - R5 Model Domain / R6 EntityModelResolver (priority + revision race protection). - R7 `ClientModelManager` split (3024 lines → 5 focused classes). - R8 `ServerModelManager` split (1899 lines → 8 focused classes, atomic file moves + upload policy). - **Tests grown from 45 → 201 per branch** (YsmCrypt golden vectors, model corpus, race acceptance).
release

Sparkle's Morpher 1.2.1

1.2.1
13 авг. 2026 г.128Minecraft: 26.1, 26.1.1, 26.1.2neoforge
Скачать
Что нового
# Sparkle Morpher 1.2.1 Sparkle Morpher 1.2.1 fixes a singleplayer crash on the Fabric 26.x line, aligns the 26.2 branch with the real 26.2 APIs, and brings the rendering/network/Maid refactor series R0–R11 (recorded between 2026-08-10 and 2026-08-13, including everything from the 08-12 prerelease `1.2.0-beta-R11MAID`) into a formal release across Fabric and NeoForge × 1.21.1 / 26.1.2 / 26.2. --- ## Highlights ### Crash fixes (focus of this release) - **Fixed `IncompatibleClassChangeError` on joining singleplayer** (Fabric 26.1.2 / 26.2): removed the compile-time shadow stubs where `Minecraft.execute/submit/isLocalServer` were wrongly declared `static`, which made `Minecraft.getInstance().execute(...)` compile to `invokestatic` and crash at runtime against the real instance methods. Everything is now compiled back to `invokevirtual` (verified by a full ASM scan: 0 remaining). - **Fa26.2 stub cleanup & alignment with real 26.2 APIs**: removed 24 vestigial/shadowing stubs, keeping only 4 runtime compat layers (`MultiBufferSource` / `IrisApi` / `ModConfig` / `IForgeGuiGraphicsExtractor`); 6 call sites (`getScoreboard` / `renderNames` / `renderBuffers` / `getMainRenderTarget` / `screen` etc.) moved to the real 26.2 APIs. - **Sync packet queue overflow → bounded backpressure**: bursts no longer abort the whole sync when the queue briefly fills; the enqueue side now waits with a bounded budget (server bandwidth limiting + outbound drain form a backpressure loop). ### Rendering & performance - **Classic HUD deep performance rewrite**: FBO partial physical-pixel offscreen cache (was ~35 ms full CPU render per frame → ~0.17 ms); GPU path with a 60 Hz independent refresh budget, SIMD/compat path at 10 Hz throttle; 8-slot bone SSBO ring + `GL_STREAM_DRAW` streaming uploads, eliminating shared-buffer sync stalls; explicit alpha compositing and batching isolation. - **First-person hand rendering fix** (26.x): the hand always uses the `entityTranslucent` pass. - **Preview rotation pollution fix** (1.21.1): entity yaw and preview mode are reset even on exception paths (try/finally). - **Hand rendering NPE guard**: `getAnimationBundle()==null` mid-state protection (12 sites across 6 branches). - **R10-series internal refactors**: `RenderBackend` interface isolation (Blaze3D / OpenGL / SIMD / Java implementations), `GpuMeshRegistry` leases + orphan sweeps, unified resource ownership for model assemblies (deterministic release), weighted-LRU audio cache. ### Networking & model sync - **Fixed crash when clients without SPM join**: per-player channel pre-checks before sending (NeoForge/Fabric) + batch send fallback. - **Systemic fix for sync timeouts / stuck "receiving model data"**: `LegacySyncFlowControl` 64 KiB burst backpressure + 512 MiB in-flight budget; a dedicated single-threaded sync executor with a bounded ordered packet queue (decrypt/verify/disk-write no longer blocks network/main threads); termination frame sent when the server cache is unavailable so the client never hangs forever; the watchdog no longer reports false success. - **neo1.21.1 stuck-at-LOADING fix**: `toClientboundPacket` null packet → wrapped in `ClientboundCustomPayloadPacket`. - **R9 networking modularization** (internal): send-entry pre-checks, connection-state split, upload-transport interfaces. ### Maid (TLM) compatibility (R11) - `MaidModelSync` divergence converged across branches (byte-identical in all six). - **`C2SSetMaidModelPacket` (id 24) ported to all branches**: maid model switching now uses SPM's own chain (auth pipeline); the official TLM protocol remains as fallback. - TLM-environment startup crash fixed (`@Mixin(targets=...)` to avoid `MixinTargetAlreadyLoaded`). - 26.x GUI maid preview not replacing YSM models — fixed. - R11 `compat.api` service layer (internal, no startup-order dependencies). ### GUI / HUD - **Classic / Modern HUD dual toggles**: independent switches in settings; the legacy keybinding and old screen were removed. - **`ClassicHudLayoutScreen` layout editor**: drag, unbounded scaling, scroll zoom, yaw rotation, one-click reset. - **`ModernHudRenderer` independent entry contract** (off by default, internal). ### Other fixes - Abnormal head rotation while riding (`RiderRotationMath` pure-angle helper, verified on 6 branches). - 1.21.1 default model rotation not following the camera (cross-frame cache registry retained). - Server model pack name JSON-quote display fix. ### Internal refactors (R0–R9, core of 1.2.1) - S0 security hotfixes: YSM folder path-escape sandbox, atomic audio-cache dedup. - R2 unified thread pools (`SmExecutors` bounded queues + CallerRuns backpressure + TaskScope). - R3 `ModelStoragePaths` centralization + `PersistentStore` atomic writes. - R4 unified resource container (folder / zip GBK / limits) + zip-bomb protection. - R5 Model Domain / R6 EntityModelResolver (priority + revision race protection). - R7 `ClientModelManager` split (3024 lines → 5 focused classes). - R8 `ServerModelManager` split (1899 lines → 8 focused classes, atomic file moves + upload policy). - **Tests grown from 45 → 201 per branch** (YsmCrypt golden vectors, model corpus, race acceptance).
release

Sparkle's Morpher 1.2.1

1.2.1
13 авг. 2026 г.246Minecraft: 1.21.1neoforge
Скачать
Что нового
# Sparkle Morpher 1.2.1 Sparkle Morpher 1.2.1 fixes a singleplayer crash on the Fabric 26.x line, aligns the 26.2 branch with the real 26.2 APIs, and brings the rendering/network/Maid refactor series R0–R11 (recorded between 2026-08-10 and 2026-08-13, including everything from the 08-12 prerelease `1.2.0-beta-R11MAID`) into a formal release across Fabric and NeoForge × 1.21.1 / 26.1.2 / 26.2. --- ## Highlights ### Crash fixes (focus of this release) - **Fixed `IncompatibleClassChangeError` on joining singleplayer** (Fabric 26.1.2 / 26.2): removed the compile-time shadow stubs where `Minecraft.execute/submit/isLocalServer` were wrongly declared `static`, which made `Minecraft.getInstance().execute(...)` compile to `invokestatic` and crash at runtime against the real instance methods. Everything is now compiled back to `invokevirtual` (verified by a full ASM scan: 0 remaining). - **Fa26.2 stub cleanup & alignment with real 26.2 APIs**: removed 24 vestigial/shadowing stubs, keeping only 4 runtime compat layers (`MultiBufferSource` / `IrisApi` / `ModConfig` / `IForgeGuiGraphicsExtractor`); 6 call sites (`getScoreboard` / `renderNames` / `renderBuffers` / `getMainRenderTarget` / `screen` etc.) moved to the real 26.2 APIs. - **Sync packet queue overflow → bounded backpressure**: bursts no longer abort the whole sync when the queue briefly fills; the enqueue side now waits with a bounded budget (server bandwidth limiting + outbound drain form a backpressure loop). ### Rendering & performance - **Classic HUD deep performance rewrite**: FBO partial physical-pixel offscreen cache (was ~35 ms full CPU render per frame → ~0.17 ms); GPU path with a 60 Hz independent refresh budget, SIMD/compat path at 10 Hz throttle; 8-slot bone SSBO ring + `GL_STREAM_DRAW` streaming uploads, eliminating shared-buffer sync stalls; explicit alpha compositing and batching isolation. - **First-person hand rendering fix** (26.x): the hand always uses the `entityTranslucent` pass. - **Preview rotation pollution fix** (1.21.1): entity yaw and preview mode are reset even on exception paths (try/finally). - **Hand rendering NPE guard**: `getAnimationBundle()==null` mid-state protection (12 sites across 6 branches). - **R10-series internal refactors**: `RenderBackend` interface isolation (Blaze3D / OpenGL / SIMD / Java implementations), `GpuMeshRegistry` leases + orphan sweeps, unified resource ownership for model assemblies (deterministic release), weighted-LRU audio cache. ### Networking & model sync - **Fixed crash when clients without SPM join**: per-player channel pre-checks before sending (NeoForge/Fabric) + batch send fallback. - **Systemic fix for sync timeouts / stuck "receiving model data"**: `LegacySyncFlowControl` 64 KiB burst backpressure + 512 MiB in-flight budget; a dedicated single-threaded sync executor with a bounded ordered packet queue (decrypt/verify/disk-write no longer blocks network/main threads); termination frame sent when the server cache is unavailable so the client never hangs forever; the watchdog no longer reports false success. - **neo1.21.1 stuck-at-LOADING fix**: `toClientboundPacket` null packet → wrapped in `ClientboundCustomPayloadPacket`. - **R9 networking modularization** (internal): send-entry pre-checks, connection-state split, upload-transport interfaces. ### Maid (TLM) compatibility (R11) - `MaidModelSync` divergence converged across branches (byte-identical in all six). - **`C2SSetMaidModelPacket` (id 24) ported to all branches**: maid model switching now uses SPM's own chain (auth pipeline); the official TLM protocol remains as fallback. - TLM-environment startup crash fixed (`@Mixin(targets=...)` to avoid `MixinTargetAlreadyLoaded`). - 26.x GUI maid preview not replacing YSM models — fixed. - R11 `compat.api` service layer (internal, no startup-order dependencies). ### GUI / HUD - **Classic / Modern HUD dual toggles**: independent switches in settings; the legacy keybinding and old screen were removed. - **`ClassicHudLayoutScreen` layout editor**: drag, unbounded scaling, scroll zoom, yaw rotation, one-click reset. - **`ModernHudRenderer` independent entry contract** (off by default, internal). ### Other fixes - Abnormal head rotation while riding (`RiderRotationMath` pure-angle helper, verified on 6 branches). - 1.21.1 default model rotation not following the camera (cross-frame cache registry retained). - Server model pack name JSON-quote display fix. ### Internal refactors (R0–R9, core of 1.2.1) - S0 security hotfixes: YSM folder path-escape sandbox, atomic audio-cache dedup. - R2 unified thread pools (`SmExecutors` bounded queues + CallerRuns backpressure + TaskScope). - R3 `ModelStoragePaths` centralization + `PersistentStore` atomic writes. - R4 unified resource container (folder / zip GBK / limits) + zip-bomb protection. - R5 Model Domain / R6 EntityModelResolver (priority + revision race protection). - R7 `ClientModelManager` split (3024 lines → 5 focused classes). - R8 `ServerModelManager` split (1899 lines → 8 focused classes, atomic file moves + upload policy). - **Tests grown from 45 → 201 per branch** (YsmCrypt golden vectors, model corpus, race acceptance).
release

Sparkle's Morpher 1.2.1

1.2.1
13 авг. 2026 г.481Minecraft: 26.2fabric
Скачать
Что нового
# Sparkle Morpher 1.2.1 Sparkle Morpher 1.2.1 fixes a singleplayer crash on the Fabric 26.x line, aligns the 26.2 branch with the real 26.2 APIs, and brings the rendering/network/Maid refactor series R0–R11 (recorded between 2026-08-10 and 2026-08-13, including everything from the 08-12 prerelease `1.2.0-beta-R11MAID`) into a formal release across Fabric and NeoForge × 1.21.1 / 26.1.2 / 26.2. --- ## Highlights ### Crash fixes (focus of this release) - **Fixed `IncompatibleClassChangeError` on joining singleplayer** (Fabric 26.1.2 / 26.2): removed the compile-time shadow stubs where `Minecraft.execute/submit/isLocalServer` were wrongly declared `static`, which made `Minecraft.getInstance().execute(...)` compile to `invokestatic` and crash at runtime against the real instance methods. Everything is now compiled back to `invokevirtual` (verified by a full ASM scan: 0 remaining). - **Fa26.2 stub cleanup & alignment with real 26.2 APIs**: removed 24 vestigial/shadowing stubs, keeping only 4 runtime compat layers (`MultiBufferSource` / `IrisApi` / `ModConfig` / `IForgeGuiGraphicsExtractor`); 6 call sites (`getScoreboard` / `renderNames` / `renderBuffers` / `getMainRenderTarget` / `screen` etc.) moved to the real 26.2 APIs. - **Sync packet queue overflow → bounded backpressure**: bursts no longer abort the whole sync when the queue briefly fills; the enqueue side now waits with a bounded budget (server bandwidth limiting + outbound drain form a backpressure loop). ### Rendering & performance - **Classic HUD deep performance rewrite**: FBO partial physical-pixel offscreen cache (was ~35 ms full CPU render per frame → ~0.17 ms); GPU path with a 60 Hz independent refresh budget, SIMD/compat path at 10 Hz throttle; 8-slot bone SSBO ring + `GL_STREAM_DRAW` streaming uploads, eliminating shared-buffer sync stalls; explicit alpha compositing and batching isolation. - **First-person hand rendering fix** (26.x): the hand always uses the `entityTranslucent` pass. - **Preview rotation pollution fix** (1.21.1): entity yaw and preview mode are reset even on exception paths (try/finally). - **Hand rendering NPE guard**: `getAnimationBundle()==null` mid-state protection (12 sites across 6 branches). - **R10-series internal refactors**: `RenderBackend` interface isolation (Blaze3D / OpenGL / SIMD / Java implementations), `GpuMeshRegistry` leases + orphan sweeps, unified resource ownership for model assemblies (deterministic release), weighted-LRU audio cache. ### Networking & model sync - **Fixed crash when clients without SPM join**: per-player channel pre-checks before sending (NeoForge/Fabric) + batch send fallback. - **Systemic fix for sync timeouts / stuck "receiving model data"**: `LegacySyncFlowControl` 64 KiB burst backpressure + 512 MiB in-flight budget; a dedicated single-threaded sync executor with a bounded ordered packet queue (decrypt/verify/disk-write no longer blocks network/main threads); termination frame sent when the server cache is unavailable so the client never hangs forever; the watchdog no longer reports false success. - **neo1.21.1 stuck-at-LOADING fix**: `toClientboundPacket` null packet → wrapped in `ClientboundCustomPayloadPacket`. - **R9 networking modularization** (internal): send-entry pre-checks, connection-state split, upload-transport interfaces. ### Maid (TLM) compatibility (R11) - `MaidModelSync` divergence converged across branches (byte-identical in all six). - **`C2SSetMaidModelPacket` (id 24) ported to all branches**: maid model switching now uses SPM's own chain (auth pipeline); the official TLM protocol remains as fallback. - TLM-environment startup crash fixed (`@Mixin(targets=...)` to avoid `MixinTargetAlreadyLoaded`). - 26.x GUI maid preview not replacing YSM models — fixed. - R11 `compat.api` service layer (internal, no startup-order dependencies). ### GUI / HUD - **Classic / Modern HUD dual toggles**: independent switches in settings; the legacy keybinding and old screen were removed. - **`ClassicHudLayoutScreen` layout editor**: drag, unbounded scaling, scroll zoom, yaw rotation, one-click reset. - **`ModernHudRenderer` independent entry contract** (off by default, internal). ### Other fixes - Abnormal head rotation while riding (`RiderRotationMath` pure-angle helper, verified on 6 branches). - 1.21.1 default model rotation not following the camera (cross-frame cache registry retained). - Server model pack name JSON-quote display fix. ### Internal refactors (R0–R9, core of 1.2.1) - S0 security hotfixes: YSM folder path-escape sandbox, atomic audio-cache dedup. - R2 unified thread pools (`SmExecutors` bounded queues + CallerRuns backpressure + TaskScope). - R3 `ModelStoragePaths` centralization + `PersistentStore` atomic writes. - R4 unified resource container (folder / zip GBK / limits) + zip-bomb protection. - R5 Model Domain / R6 EntityModelResolver (priority + revision race protection). - R7 `ClientModelManager` split (3024 lines → 5 focused classes). - R8 `ServerModelManager` split (1899 lines → 8 focused classes, atomic file moves + upload policy). - **Tests grown from 45 → 201 per branch** (YsmCrypt golden vectors, model corpus, race acceptance).
release

Sparkle's Morpher 1.2.1

1.2.1
13 авг. 2026 г.237Minecraft: 26.1, 26.1.1, 26.1.2fabric
Скачать
Что нового
# Sparkle Morpher 1.2.1 Sparkle Morpher 1.2.1 fixes a singleplayer crash on the Fabric 26.x line, aligns the 26.2 branch with the real 26.2 APIs, and brings the rendering/network/Maid refactor series R0–R11 (recorded between 2026-08-10 and 2026-08-13, including everything from the 08-12 prerelease `1.2.0-beta-R11MAID`) into a formal release across Fabric and NeoForge × 1.21.1 / 26.1.2 / 26.2. --- ## Highlights ### Crash fixes (focus of this release) - **Fixed `IncompatibleClassChangeError` on joining singleplayer** (Fabric 26.1.2 / 26.2): removed the compile-time shadow stubs where `Minecraft.execute/submit/isLocalServer` were wrongly declared `static`, which made `Minecraft.getInstance().execute(...)` compile to `invokestatic` and crash at runtime against the real instance methods. Everything is now compiled back to `invokevirtual` (verified by a full ASM scan: 0 remaining). - **Fa26.2 stub cleanup & alignment with real 26.2 APIs**: removed 24 vestigial/shadowing stubs, keeping only 4 runtime compat layers (`MultiBufferSource` / `IrisApi` / `ModConfig` / `IForgeGuiGraphicsExtractor`); 6 call sites (`getScoreboard` / `renderNames` / `renderBuffers` / `getMainRenderTarget` / `screen` etc.) moved to the real 26.2 APIs. - **Sync packet queue overflow → bounded backpressure**: bursts no longer abort the whole sync when the queue briefly fills; the enqueue side now waits with a bounded budget (server bandwidth limiting + outbound drain form a backpressure loop). ### Rendering & performance - **Classic HUD deep performance rewrite**: FBO partial physical-pixel offscreen cache (was ~35 ms full CPU render per frame → ~0.17 ms); GPU path with a 60 Hz independent refresh budget, SIMD/compat path at 10 Hz throttle; 8-slot bone SSBO ring + `GL_STREAM_DRAW` streaming uploads, eliminating shared-buffer sync stalls; explicit alpha compositing and batching isolation. - **First-person hand rendering fix** (26.x): the hand always uses the `entityTranslucent` pass. - **Preview rotation pollution fix** (1.21.1): entity yaw and preview mode are reset even on exception paths (try/finally). - **Hand rendering NPE guard**: `getAnimationBundle()==null` mid-state protection (12 sites across 6 branches). - **R10-series internal refactors**: `RenderBackend` interface isolation (Blaze3D / OpenGL / SIMD / Java implementations), `GpuMeshRegistry` leases + orphan sweeps, unified resource ownership for model assemblies (deterministic release), weighted-LRU audio cache. ### Networking & model sync - **Fixed crash when clients without SPM join**: per-player channel pre-checks before sending (NeoForge/Fabric) + batch send fallback. - **Systemic fix for sync timeouts / stuck "receiving model data"**: `LegacySyncFlowControl` 64 KiB burst backpressure + 512 MiB in-flight budget; a dedicated single-threaded sync executor with a bounded ordered packet queue (decrypt/verify/disk-write no longer blocks network/main threads); termination frame sent when the server cache is unavailable so the client never hangs forever; the watchdog no longer reports false success. - **neo1.21.1 stuck-at-LOADING fix**: `toClientboundPacket` null packet → wrapped in `ClientboundCustomPayloadPacket`. - **R9 networking modularization** (internal): send-entry pre-checks, connection-state split, upload-transport interfaces. ### Maid (TLM) compatibility (R11) - `MaidModelSync` divergence converged across branches (byte-identical in all six). - **`C2SSetMaidModelPacket` (id 24) ported to all branches**: maid model switching now uses SPM's own chain (auth pipeline); the official TLM protocol remains as fallback. - TLM-environment startup crash fixed (`@Mixin(targets=...)` to avoid `MixinTargetAlreadyLoaded`). - 26.x GUI maid preview not replacing YSM models — fixed. - R11 `compat.api` service layer (internal, no startup-order dependencies). ### GUI / HUD - **Classic / Modern HUD dual toggles**: independent switches in settings; the legacy keybinding and old screen were removed. - **`ClassicHudLayoutScreen` layout editor**: drag, unbounded scaling, scroll zoom, yaw rotation, one-click reset. - **`ModernHudRenderer` independent entry contract** (off by default, internal). ### Other fixes - Abnormal head rotation while riding (`RiderRotationMath` pure-angle helper, verified on 6 branches). - 1.21.1 default model rotation not following the camera (cross-frame cache registry retained). - Server model pack name JSON-quote display fix. ### Internal refactors (R0–R9, core of 1.2.1) - S0 security hotfixes: YSM folder path-escape sandbox, atomic audio-cache dedup. - R2 unified thread pools (`SmExecutors` bounded queues + CallerRuns backpressure + TaskScope). - R3 `ModelStoragePaths` centralization + `PersistentStore` atomic writes. - R4 unified resource container (folder / zip GBK / limits) + zip-bomb protection. - R5 Model Domain / R6 EntityModelResolver (priority + revision race protection). - R7 `ClientModelManager` split (3024 lines → 5 focused classes). - R8 `ServerModelManager` split (1899 lines → 8 focused classes, atomic file moves + upload policy). - **Tests grown from 45 → 201 per branch** (YsmCrypt golden vectors, model corpus, race acceptance).
release

Sparkle's Morpher 1.2.1

1.2.1
13 авг. 2026 г.147Minecraft: 1.21.1fabric
Скачать
Что нового
# Sparkle Morpher 1.2.1 Sparkle Morpher 1.2.1 fixes a singleplayer crash on the Fabric 26.x line, aligns the 26.2 branch with the real 26.2 APIs, and brings the rendering/network/Maid refactor series R0–R11 (recorded between 2026-08-10 and 2026-08-13, including everything from the 08-12 prerelease `1.2.0-beta-R11MAID`) into a formal release across Fabric and NeoForge × 1.21.1 / 26.1.2 / 26.2. --- ## Highlights ### Crash fixes (focus of this release) - **Fixed `IncompatibleClassChangeError` on joining singleplayer** (Fabric 26.1.2 / 26.2): removed the compile-time shadow stubs where `Minecraft.execute/submit/isLocalServer` were wrongly declared `static`, which made `Minecraft.getInstance().execute(...)` compile to `invokestatic` and crash at runtime against the real instance methods. Everything is now compiled back to `invokevirtual` (verified by a full ASM scan: 0 remaining). - **Fa26.2 stub cleanup & alignment with real 26.2 APIs**: removed 24 vestigial/shadowing stubs, keeping only 4 runtime compat layers (`MultiBufferSource` / `IrisApi` / `ModConfig` / `IForgeGuiGraphicsExtractor`); 6 call sites (`getScoreboard` / `renderNames` / `renderBuffers` / `getMainRenderTarget` / `screen` etc.) moved to the real 26.2 APIs. - **Sync packet queue overflow → bounded backpressure**: bursts no longer abort the whole sync when the queue briefly fills; the enqueue side now waits with a bounded budget (server bandwidth limiting + outbound drain form a backpressure loop). ### Rendering & performance - **Classic HUD deep performance rewrite**: FBO partial physical-pixel offscreen cache (was ~35 ms full CPU render per frame → ~0.17 ms); GPU path with a 60 Hz independent refresh budget, SIMD/compat path at 10 Hz throttle; 8-slot bone SSBO ring + `GL_STREAM_DRAW` streaming uploads, eliminating shared-buffer sync stalls; explicit alpha compositing and batching isolation. - **First-person hand rendering fix** (26.x): the hand always uses the `entityTranslucent` pass. - **Preview rotation pollution fix** (1.21.1): entity yaw and preview mode are reset even on exception paths (try/finally). - **Hand rendering NPE guard**: `getAnimationBundle()==null` mid-state protection (12 sites across 6 branches). - **R10-series internal refactors**: `RenderBackend` interface isolation (Blaze3D / OpenGL / SIMD / Java implementations), `GpuMeshRegistry` leases + orphan sweeps, unified resource ownership for model assemblies (deterministic release), weighted-LRU audio cache. ### Networking & model sync - **Fixed crash when clients without SPM join**: per-player channel pre-checks before sending (NeoForge/Fabric) + batch send fallback. - **Systemic fix for sync timeouts / stuck "receiving model data"**: `LegacySyncFlowControl` 64 KiB burst backpressure + 512 MiB in-flight budget; a dedicated single-threaded sync executor with a bounded ordered packet queue (decrypt/verify/disk-write no longer blocks network/main threads); termination frame sent when the server cache is unavailable so the client never hangs forever; the watchdog no longer reports false success. - **neo1.21.1 stuck-at-LOADING fix**: `toClientboundPacket` null packet → wrapped in `ClientboundCustomPayloadPacket`. - **R9 networking modularization** (internal): send-entry pre-checks, connection-state split, upload-transport interfaces. ### Maid (TLM) compatibility (R11) - `MaidModelSync` divergence converged across branches (byte-identical in all six). - **`C2SSetMaidModelPacket` (id 24) ported to all branches**: maid model switching now uses SPM's own chain (auth pipeline); the official TLM protocol remains as fallback. - TLM-environment startup crash fixed (`@Mixin(targets=...)` to avoid `MixinTargetAlreadyLoaded`). - 26.x GUI maid preview not replacing YSM models — fixed. - R11 `compat.api` service layer (internal, no startup-order dependencies). ### GUI / HUD - **Classic / Modern HUD dual toggles**: independent switches in settings; the legacy keybinding and old screen were removed. - **`ClassicHudLayoutScreen` layout editor**: drag, unbounded scaling, scroll zoom, yaw rotation, one-click reset. - **`ModernHudRenderer` independent entry contract** (off by default, internal). ### Other fixes - Abnormal head rotation while riding (`RiderRotationMath` pure-angle helper, verified on 6 branches). - 1.21.1 default model rotation not following the camera (cross-frame cache registry retained). - Server model pack name JSON-quote display fix. ### Internal refactors (R0–R9, core of 1.2.1) - S0 security hotfixes: YSM folder path-escape sandbox, atomic audio-cache dedup. - R2 unified thread pools (`SmExecutors` bounded queues + CallerRuns backpressure + TaskScope). - R3 `ModelStoragePaths` centralization + `PersistentStore` atomic writes. - R4 unified resource container (folder / zip GBK / limits) + zip-bomb protection. - R5 Model Domain / R6 EntityModelResolver (priority + revision race protection). - R7 `ClientModelManager` split (3024 lines → 5 focused classes). - R8 `ServerModelManager` split (1899 lines → 8 focused classes, atomic file moves + upload policy). - **Tests grown from 45 → 201 per branch** (YsmCrypt golden vectors, model corpus, race acceptance).
release

Sparkle's Morpher 1.2.0

1.2.0
10 авг. 2026 г.137Minecraft: 26.2neoforge
Скачать
Что нового
# Fox Model Loader → Sparkle's Morpher Fox Model Loader has officially evolved into **Sparkle's Morpher**. Starting with this release, active development on this Modrinth project continues under the Sparkle's Morpher name. Sparkle's Morpher is the successor to Fox Model Loader and continues the same core custom-model functionality while significantly expanding the project's capabilities. ## For Fox Model Loader users Please remove the old Fox Model Loader JAR before installing Sparkle's Morpher. Fox Model Loader used: `yes_steve_model` Sparkle's Morpher now uses: `sparkle_morpher` Do not intentionally install both at the same time. Sparkle's Morpher includes backward-compatibility code for migrating the legacy `config/yes_steve_model` configuration directory to `config/sparkle_morpher` when appropriate. Existing YSM models remain supported. ## What's new with Sparkle's Morpher? Sparkle's Morpher expands beyond the original Fox Model Loader scope with features including: * YSM model support * Direct Blockbench `.bbmodel` loading * Figura avatar archive importing * Expanded animation controllers * Molang expressions * Model sound effects * Animation carousel * Multiplayer synchronization * Server-side model management * Model groups and favorites * Additional model targets and compatibility work Previous Fox Model Loader releases will remain available on this project page as legacy versions. All future development will continue under the **Sparkle's Morpher** name. Source code: https://github.com/sdf123098/Sparkle-Morpher Legacy Fox Model Loader source: https://github.com/sdf123098/Fox-Model-Loader Thank you for supporting Fox Model Loader. Welcome to **Sparkle's Morpher**.
release

Sparkle's Morpher 1.2.0

1.2.0
10 авг. 2026 г.71Minecraft: 26.1, 26.1.1, 26.1.2neoforge
Скачать
Что нового
# Fox Model Loader → Sparkle's Morpher Fox Model Loader has officially evolved into **Sparkle's Morpher**. Starting with this release, active development on this Modrinth project continues under the Sparkle's Morpher name. Sparkle's Morpher is the successor to Fox Model Loader and continues the same core custom-model functionality while significantly expanding the project's capabilities. ## For Fox Model Loader users Please remove the old Fox Model Loader JAR before installing Sparkle's Morpher. Fox Model Loader used: `yes_steve_model` Sparkle's Morpher now uses: `sparkle_morpher` Do not intentionally install both at the same time. Sparkle's Morpher includes backward-compatibility code for migrating the legacy `config/yes_steve_model` configuration directory to `config/sparkle_morpher` when appropriate. Existing YSM models remain supported. ## What's new with Sparkle's Morpher? Sparkle's Morpher expands beyond the original Fox Model Loader scope with features including: * YSM model support * Direct Blockbench `.bbmodel` loading * Figura avatar archive importing * Expanded animation controllers * Molang expressions * Model sound effects * Animation carousel * Multiplayer synchronization * Server-side model management * Model groups and favorites * Additional model targets and compatibility work Previous Fox Model Loader releases will remain available on this project page as legacy versions. All future development will continue under the **Sparkle's Morpher** name. Source code: https://github.com/sdf123098/Sparkle-Morpher Legacy Fox Model Loader source: https://github.com/sdf123098/Fox-Model-Loader Thank you for supporting Fox Model Loader. Welcome to **Sparkle's Morpher**.
release

Sparkle's Morpher 1.2.0

1.2.0
10 авг. 2026 г.106Minecraft: 1.21.1neoforge
Скачать
Что нового
# Fox Model Loader → Sparkle's Morpher Fox Model Loader has officially evolved into **Sparkle's Morpher**. Starting with this release, active development on this Modrinth project continues under the Sparkle's Morpher name. Sparkle's Morpher is the successor to Fox Model Loader and continues the same core custom-model functionality while significantly expanding the project's capabilities. ## For Fox Model Loader users Please remove the old Fox Model Loader JAR before installing Sparkle's Morpher. Fox Model Loader used: `yes_steve_model` Sparkle's Morpher now uses: `sparkle_morpher` Do not intentionally install both at the same time. Sparkle's Morpher includes backward-compatibility code for migrating the legacy `config/yes_steve_model` configuration directory to `config/sparkle_morpher` when appropriate. Existing YSM models remain supported. ## What's new with Sparkle's Morpher? Sparkle's Morpher expands beyond the original Fox Model Loader scope with features including: * YSM model support * Direct Blockbench `.bbmodel` loading * Figura avatar archive importing * Expanded animation controllers * Molang expressions * Model sound effects * Animation carousel * Multiplayer synchronization * Server-side model management * Model groups and favorites * Additional model targets and compatibility work Previous Fox Model Loader releases will remain available on this project page as legacy versions. All future development will continue under the **Sparkle's Morpher** name. Source code: https://github.com/sdf123098/Sparkle-Morpher Legacy Fox Model Loader source: https://github.com/sdf123098/Fox-Model-Loader Thank you for supporting Fox Model Loader. Welcome to **Sparkle's Morpher**.
release

Sparkle's Morpher 1.2.0

1.2.0
10 авг. 2026 г.198Minecraft: 26.2fabric
Скачать
Что нового
# Fox Model Loader → Sparkle's Morpher Fox Model Loader has officially evolved into **Sparkle's Morpher**. Starting with this release, active development on this Modrinth project continues under the Sparkle's Morpher name. Sparkle's Morpher is the successor to Fox Model Loader and continues the same core custom-model functionality while significantly expanding the project's capabilities. ## For Fox Model Loader users Please remove the old Fox Model Loader JAR before installing Sparkle's Morpher. Fox Model Loader used: `yes_steve_model` Sparkle's Morpher now uses: `sparkle_morpher` Do not intentionally install both at the same time. Sparkle's Morpher includes backward-compatibility code for migrating the legacy `config/yes_steve_model` configuration directory to `config/sparkle_morpher` when appropriate. Existing YSM models remain supported. ## What's new with Sparkle's Morpher? Sparkle's Morpher expands beyond the original Fox Model Loader scope with features including: * YSM model support * Direct Blockbench `.bbmodel` loading * Figura avatar archive importing * Expanded animation controllers * Molang expressions * Model sound effects * Animation carousel * Multiplayer synchronization * Server-side model management * Model groups and favorites * Additional model targets and compatibility work Previous Fox Model Loader releases will remain available on this project page as legacy versions. All future development will continue under the **Sparkle's Morpher** name. Source code: https://github.com/sdf123098/Sparkle-Morpher Legacy Fox Model Loader source: https://github.com/sdf123098/Fox-Model-Loader Thank you for supporting Fox Model Loader. Welcome to **Sparkle's Morpher**.
release

Sparkle's Morpher 1.2.0

1.2.0
10 авг. 2026 г.161Minecraft: 26.1, 26.1.1, 26.1.2fabric
Скачать
Что нового
# Fox Model Loader → Sparkle's Morpher Fox Model Loader has officially evolved into **Sparkle's Morpher**. Starting with this release, active development on this Modrinth project continues under the Sparkle's Morpher name. Sparkle's Morpher is the successor to Fox Model Loader and continues the same core custom-model functionality while significantly expanding the project's capabilities. ## For Fox Model Loader users Please remove the old Fox Model Loader JAR before installing Sparkle's Morpher. Fox Model Loader used: `yes_steve_model` Sparkle's Morpher now uses: `sparkle_morpher` Do not intentionally install both at the same time. Sparkle's Morpher includes backward-compatibility code for migrating the legacy `config/yes_steve_model` configuration directory to `config/sparkle_morpher` when appropriate. Existing YSM models remain supported. ## What's new with Sparkle's Morpher? Sparkle's Morpher expands beyond the original Fox Model Loader scope with features including: * YSM model support * Direct Blockbench `.bbmodel` loading * Figura avatar archive importing * Expanded animation controllers * Molang expressions * Model sound effects * Animation carousel * Multiplayer synchronization * Server-side model management * Model groups and favorites * Additional model targets and compatibility work Previous Fox Model Loader releases will remain available on this project page as legacy versions. All future development will continue under the **Sparkle's Morpher** name. Source code: https://github.com/sdf123098/Sparkle-Morpher Legacy Fox Model Loader source: https://github.com/sdf123098/Fox-Model-Loader Thank you for supporting Fox Model Loader. Welcome to **Sparkle's Morpher**.
release

Sparkle's Morpher 1.2.0

1.2.0
10 авг. 2026 г.109Minecraft: 1.21.1fabric
Скачать
Что нового
# Fox Model Loader → Sparkle's Morpher Fox Model Loader has officially evolved into **Sparkle's Morpher**. Starting with this release, active development on this Modrinth project continues under the Sparkle's Morpher name. Sparkle's Morpher is the successor to Fox Model Loader and continues the same core custom-model functionality while significantly expanding the project's capabilities. ## For Fox Model Loader users Please remove the old Fox Model Loader JAR before installing Sparkle's Morpher. Fox Model Loader used: `yes_steve_model` Sparkle's Morpher now uses: `sparkle_morpher` Do not intentionally install both at the same time. Sparkle's Morpher includes backward-compatibility code for migrating the legacy `config/yes_steve_model` configuration directory to `config/sparkle_morpher` when appropriate. Existing YSM models remain supported. ## What's new with Sparkle's Morpher? Sparkle's Morpher expands beyond the original Fox Model Loader scope with features including: * YSM model support * Direct Blockbench `.bbmodel` loading * Figura avatar archive importing * Expanded animation controllers * Molang expressions * Model sound effects * Animation carousel * Multiplayer synchronization * Server-side model management * Model groups and favorites * Additional model targets and compatibility work Previous Fox Model Loader releases will remain available on this project page as legacy versions. All future development will continue under the **Sparkle's Morpher** name. Source code: https://github.com/sdf123098/Sparkle-Morpher Legacy Fox Model Loader source: https://github.com/sdf123098/Fox-Model-Loader Thank you for supporting Fox Model Loader. Welcome to **Sparkle's Morpher**.
release

Fox Model Loader 1.3.6 (Legacy)

1.3.6
2 авг. 2026 г.101Minecraft: 26.1, 26.1.1, 26.1.2neoforge
Скачать
Что нового
Legacy release: This version belongs to the former Fox Model Loader project and is no longer actively maintained. For current development, please use Sparkle's Morpher.
release

Fox Model Loader 1.3.6(Legacy)

1.3.6
2 авг. 2026 г.107Minecraft: 1.21.1neoforge
Скачать
Что нового
Legacy release: This version belongs to the former Fox Model Loader project and is no longer actively maintained. For current development, please use Sparkle's Morpher.
release

Fox Model Loader 1.3.6(Legacy)

1.3.6
2 авг. 2026 г.156Minecraft: 26.1, 26.1.1, 26.1.2fabric
Скачать
Что нового
Legacy release: This version belongs to the former Fox Model Loader project and is no longer actively maintained. For current development, please use Sparkle's Morpher.
release

Fox Model Loader 1.3.6(Legacy)

1.3.6
2 авг. 2026 г.138Minecraft: 1.21.1fabric
Скачать
Что нового
Legacy release: This version belongs to the former Fox Model Loader project and is no longer actively maintained. For current development, please use Sparkle's Morpher.
release

Fox Model Loader 1.2.1(Legacy)

1.2.1-fa26.1.2
3 июн. 2026 г.139Minecraft: 26.1, 26.1.1, 26.1.2fabric
Скачать
Что нового
>Legacy release: This version belongs to the former Fox Model Loader >project and is no longer actively maintained. For current development, >please use Sparkle's Morpher. # Fox Model Loader 1.2.1 Update Notes This update adds support for Minecraft 26.1.x and fixes Elytra rendering, resource station layout issues, download task display, and missing translations for both Fabric and NeoForge. Previous versions only supported Minecraft 26.1.2. ## Compatibility - Mod version: 1.2.1 - Minecraft: 26.1.x, supported starting from 1.2.1. Previous versions only supported 26.1.2. - Java: 25 - Platforms: Fabric, NeoForge ## Main Changes ### Settings Screen - Added a new "Debug" settings group. - Moved log, profiler, input state log, and resource station debug log options into the Debug group. - General settings and troubleshooting settings are now easier to distinguish. ### Elytra Rendering - Enabled "Re-enable Elytra for default/misc/nested Elytra models" by default. - Fixed an issue where some models could still render Elytra after this option was disabled. - Unified custom Elytra render checks with vanilla Elytra suppression logic to avoid duplicate or leftover Elytra rendering. ### Resource Station UI - Adjusted resource station layouts to reduce overlap between buttons, text, and entry content. - Fixed cases where button bounds could overlap other text or article areas. - Long button labels are now clipped inside the button area instead of drawing over nearby UI elements. - Improved spacing for the top controls, footer status area, and resource entry action buttons. ### Download Page - Split download entries into "Tasks" and "Finished" sections. - Unfinished tasks now only appear in the task list, not in other lists. - The task list can now show multiple queued or active download tasks. - Completed and failed tasks move to the finished list after completion and can be cleared. ### Translations - Added Japanese, Korean, Traditional Chinese, French, and Spanish translations. - Added translations for loading state position options. - Added missing texts for the resource station, download page, import states, and debug options. ## Build Artifacts - Fabric: `fox-model-loader-1.2.1-fa26.1.x.jar` - NeoForge: `fox-model-loader-1.2.1-neo26.1.x.jar` Both builds were completed with Java 25.
release

Fox Model Loader 1.2.1(Legacy)

1.2.1-neo26.1.x
3 июн. 2026 г.63Minecraft: 26.1, 26.1.1, 26.1.2neoforge
Скачать
Что нового
Legacy release: This version belongs to the former Fox Model Loader project and is no longer actively maintained. For current development, please use Sparkle's Morpher. # Fox Model Loader 1.2.1 Update Notes This update adds support for Minecraft 26.1.x and fixes Elytra rendering, resource station layout issues, download task display, and missing translations for both Fabric and NeoForge. Previous versions only supported Minecraft 26.1.2. ## Compatibility - Mod version: 1.2.1 - Minecraft: 26.1.x, supported starting from 1.2.1. Previous versions only supported 26.1.2. - Java: 25 - Platforms: Fabric, NeoForge ## Main Changes ### Settings Screen - Added a new "Debug" settings group. - Moved log, profiler, input state log, and resource station debug log options into the Debug group. - General settings and troubleshooting settings are now easier to distinguish. ### Elytra Rendering - Enabled "Re-enable Elytra for default/misc/nested Elytra models" by default. - Fixed an issue where some models could still render Elytra after this option was disabled. - Unified custom Elytra render checks with vanilla Elytra suppression logic to avoid duplicate or leftover Elytra rendering. ### Resource Station UI - Adjusted resource station layouts to reduce overlap between buttons, text, and entry content. - Fixed cases where button bounds could overlap other text or article areas. - Long button labels are now clipped inside the button area instead of drawing over nearby UI elements. - Improved spacing for the top controls, footer status area, and resource entry action buttons. ### Download Page - Split download entries into "Tasks" and "Finished" sections. - Unfinished tasks now only appear in the task list, not in other lists. - The task list can now show multiple queued or active download tasks. - Completed and failed tasks move to the finished list after completion and can be cleared. ### Translations - Added Japanese, Korean, Traditional Chinese, French, and Spanish translations. - Added translations for loading state position options. - Added missing texts for the resource station, download page, import states, and debug options. ## Build Artifacts - Fabric: `fox-model-loader-1.2.1-fa26.1.x.jar` - NeoForge: `fox-model-loader-1.2.1-neo26.1.x.jar` Both builds were completed with Java 25.
release

Fox Model Loader 1.0.3(Legacy)

1.0.3
27 мая 2026 г.34Minecraft: 26.1.2fabric
Скачать
Что нового
Legacy release: This version belongs to the former Fox Model Loader project and is no longer actively maintained. For current development, please use Sparkle's Morpher.