
Sparkle's Morpher
The successor to Fox Model Loader — a universal Minecraft custom model loader supporting YSM, Blockbench, animations, sounds, multiplayer synchronization, and more.
Оцените первым
6.7K
13
Sparkle Morpher 1.2.3 - NeoForge 1.21.1
Release30.08.2026
Список изменений
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_animationMoLang 变量。 - 复刻 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、测试模型和反馈兼容性问题的用户。
Файлы
sparkle-morpher-1.2.3-neo1.21.1.jar(5.88 MiB)
ОсновнойМетаданные
Канал релиза
Release
Номер версии
1.2.3
Загрузчики
NeoForge
Версии игры
1.21.1
Загрузок
79
Дата публикации
30.08.2026
