# 拔刀剑:双刃重铸 **Repository Path**: cloudyplayer/DoubleEdgedReforged ## Basic Information - **Project Name**: 拔刀剑:双刃重铸 - **Description**: No description available - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-13 - **Last Updated**: 2026-07-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Double Edged Reforged [![Double Edged Reforged](docs/images/double_blade.png)](https://modrinth.com/mod/slashbladedouble-edged-reforged) 发布页面: - [Modrinth](https://modrinth.com/mod/slashbladedouble-edged-reforged) - [CurseForge](https://www.curseforge.com/minecraft/mc-mods/slashblade-double-edged-reforged) - [MC 百科](https://www.mcmod.cn/class/28711.html) Double Edged Reforged 是一个 Minecraft 1.20.1 Forge 模组,用于恢复并扩展 SlashBlade: Resharped 的双刀流玩法。 当前源码版本:`2.3.1` ## 环境 - Minecraft 1.20.1 - Forge 47.4.20 - Java 17 - 必需前置:[SlashBlade: Resharped](https://github.com/0999312/SlashBlade_Resharped) - 联动模组:[SlashBladeTetra](https://github.com/yiran1457/SlashBladeTetra) ## 主要内容 - 主副手拔刀剑双持判断与独立刀上下文 - 双刀流专用连招、VMD 动画与玩家动作适配 - 副手伤害、属性、附魔及 SlashBlade SE 兼容 - 头盔槽拔刀剑与三刀流渲染/攻击基础 - LegendRelicLib 简单双持兼容 - Yes Steve Model 2.6.5 双刀动画兼容:模型同名 GEO 动画优先,否则把双刀 VMD 同步到标准 GEO 骨架 ## YSM 双刀动画适配 ### 选择规则 - 模组使用完整的连招注册表 ID 查找 GEO 动画,例如 `double_edged_reforged:dual_combo_a1`。 - 模型存在该名称的动画时,直接播放模型作者制作的 GEO 动画,不叠加通用 VMD 骨骼。 - 模型不存在该名称的动画时,在 YSM 完成本帧动画求值后将 `dual_player_motion.vmd` 同步到标准 GEO 骨架,并将躯干、前臂、小腿等标准形变链恢复为模型初始姿态,避免与 YSM 的行走、跳跃动画叠加。 - 通用 VMD 回退不会使用模型的刀具 locator。YSM 适配器取得原版玩家 `HumanoidModel` 后,直接调用与非 YSM 完全相同的稳定版刀身和刀鞘渲染入口,不再另行计算手臂、握刀或刀鞘坐标;副手刀鞘不渲染。 - 第一人称待机时不渲染副手刀,避免大型刀模遮挡视野。 ### 文件声明 可以新建一个独立动画文件,并在模型包的 `ysm.json` 中注册。`animation` 下的键名可以自定,文件路径必须指向实际文件: ```json { "files": { "player": { "animation": { "double_edged_reforged": "animations/double_edged_reforged.animation.json" } } } } ``` 动画文件沿用 YSM/GeckoLib `1.8.0` 格式,动画名必须保留完整命名空间: ```json { "format_version": "1.8.0", "animations": { "double_edged_reforged:dual_combo_a1": { "loop": false, "animation_length": 0.4, "bones": { "AllBody": { "rotation": [0, 0, 0], "position": [0, 0, 0] }, "RightArm": { "rotation": [0, 0, 0] }, "LeftArm": { "rotation": [0, 0, 0] }, "BladeLocator": { "rotation": [0, 0, 0], "position": [0, 0, 0] }, "SheathLocator": { "rotation": [0, 0, 0], "position": [0, 0, 0] }, "RightWaistLocator": { "rotation": [0, 0, 0], "position": [0, 0, 0] } } } } } ``` `animation_length` 的单位是秒。参考 VMD 时可按 `(结束帧 - 起始帧) / 30` 换算;`loop` 应与对应连招是否循环一致。 ### 骨骼约定 - `AllBody`:全身根动作。 - `AllHead`:头部动作父组;不要覆盖 `Head`,YSM 会用它处理视角跟随。 - `RightArm`、`LeftArm`:主副手动作。 - `RightLeg`、`LeftLeg`:腿部动作。 - `LeftWaistLocator`:YSM 拔刀剑兼容检查需要该组;即使已经拆分刀身和刀鞘也应保留。 - `BladeLocator`:主手刀身位置。 - `SheathLocator`:主手刀鞘位置。 - `RightWaistLocator`:YSM 原生的副手拔刀剑定位组;GEO 适配模式继续使用 YSM 自身的渲染逻辑。 完整 GEO 适配至少应包含 `LeftWaistLocator`、`BladeLocator`、`SheathLocator` 和 `RightWaistLocator`。如果缺少当前连招的完整同名动画,模组会自动改走 VMD 与自有挂点回退,不要求 locator 跟随 VMD。 ### 动画名称 以下名称均需添加 `double_edged_reforged:` 命名空间。例如列表中的 `dual_combo_a1_end` 应写成 `double_edged_reforged:dual_combo_a1_end`。 地面连招: ```text dual_combo_a1 dual_combo_a1_end dual_combo_a1_end2 dual_combo_a2 dual_combo_a2_end dual_combo_a2_end2 dual_combo_a3 dual_combo_a3_end dual_combo_a3_end2 dual_combo_a3_end3 dual_combo_a4 dual_combo_a4_end dual_combo_a4_ex dual_combo_a4_ex_end dual_combo_a4_ex_end2 dual_combo_a5 dual_combo_a5_end dual_combo_b1 dual_combo_b1_end dual_combo_b2 dual_combo_b3 dual_combo_b4 dual_combo_b5 dual_combo_b6 dual_combo_b7 dual_combo_b_end dual_combo_b_end2 dual_combo_b_end3 dual_combo_c dual_combo_c_end ``` 空中连招: ```text dual_combo_sky_1 dual_combo_sky_1_end dual_combo_sky_2 dual_combo_sky_2_end dual_combo_sky_2_end2 dual_combo_sky_a3 dual_combo_sky_a3_end dual_combo_sky_b3 dual_combo_sky_b3_end dual_combo_sky_b4 dual_combo_sky_b4_end ``` 技能与特殊阶段: ```text dual_upperslash dual_upperslash_end dual_upperslash_jump dual_upperslash_jump_end dual_aerial_cleave dual_aerial_cleave_loop dual_aerial_cleave_landing dual_aerial_cleave_end dual_rapid_slash dual_rapid_slash_quick dual_rapid_slash_end dual_rising_star dual_rising_star_end ``` ## 分支 - `master`:当前重构版本 - `old(1.3.18)`:重构前的 1.3.18 归档版本 ## 构建 Windows: ```powershell .\gradlew.bat build ``` Linux 或 macOS: ```bash ./gradlew build ``` 构建产物位于 `build/libs/`。 ## 开发说明 - Gradle 会从声明的 Maven/CurseMaven 仓库解析依赖。 - `libs/` 仅用于无法从 Maven 获取的本地开发依赖,仓库不会提交其中的第三方 JAR。 - `build/`、`run/`、Gradle 缓存和测试整合包均被忽略。 ## 许可证 本项目以 [GNU General Public License v3.0 or later](LICENSE) 发布,SPDX 标识为 `GPL-3.0-or-later`。你可以选择 GPLv3 或自由软件基金会发布的任何后续版本使用本项目。