Community listing page, reviews here may not be monitored by the author.
YES_SlashBlade
No reviews yet
Restores the SlashBlade waist blade, sword-skill animations and maid rendering that Yes Steve Model loses on 1.21.1.
Community voices
Reviews
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
About
Project Details
For authors
Embed Badge
If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
Resources
External Links
About
Description
Attention:This mod cannot completely fix the SlashBlade action issue on the YSM model unless YSM officially releases the relevant code or provides a patch
注意:此模组无法完全修复YSM的拔刀剑动作,除非YSM官方开源相关代码
YES-SB — YSM x SlashBlade Resharped Compatibility Fix
Client-side only | Minecraft 1.21.1 | NeoForge | MIT
Restores the SlashBlade: Resharped behaviour that Yes Steve Model (YSM) lost on 1.21.1, matching how it already behaves on 1.20.1.
Symptoms this fixes
With YSM + SlashBlade on 1.21.1 you may see:
- No blade on your waist in third person — only the slash effects remain;
- Combo attacks play a plain swing, not SlashBlade's sword-skill animations;
- Held blade idles and walks exactly like a vanilla sword;
- Touhou Little Maid holds nothing, and the decorative back slot shows a flat icon;
- Touhou Little Maid attacking shows no slash arc, and her blade never leaves the sheath.
The same YSM version (2.6.5) behaves correctly on 1.20.1 — so this is a 1.21.1 build problem, not "SlashBlade 2.x changed something".
What is restored
- Third-person waist blade & combo draw — SlashBlade draws the sheathed blade through its own render layer (
LayerMainBlade). YSM takes over entity rendering, the vanilla renderer never runs, and the layer dies with it. This mod recreates the transform environment that layer needs. - SlashBlade sword-skill animations — YSM's 1.21.1 SlashBlade compat module is a stub (
isSlashBladealways returnsfalse). This mod supplies the two missing return values, matching the 1.20.1 animation-name rules exactly. - SlashBlade idle / walk / run / sneak main-animation variants —
slashblade:idleand friends, falling back to the original name when the model pack does not declare them. - Touhou Little Maid's SlashBlade rendering and swing — TLM's
compat/slashbladepackage is missing from the 1.21.1 release jar. All three lost pieces are restored verbatim: the hand render branch, the back-slot render branch, and theswing()override that gives a maid a slash arc and a blade that leaves its sheath when she attacks.
Dependencies
All optional — a missing mod simply disables its part, it will never crash.
| Mod | Version |
|---|---|
| Yes Steve Model | 2.6.x |
| SlashBlade: Resharped | 2.x |
| Touhou Little Maid | 1.5.x |
Required: Minecraft 1.21.1 + NeoForge (21.1.x). Client only.
Known limitations
- The player's blade does not follow YSM's animation (unresolved). The blade's hook points come from the vanilla player model, while the character on screen is YSM's model playing YSM's animation. Two different animations — they cannot line up.
- Whether a maid plays sword-skill animations is out of scope (settled). This mod restores the arc and the draw; with no other mods installed a maid's SlashBlade attack is a plain swing by default — that is the reference (1.20.1) behaviour, not a defect. For real maid combos use a mod dedicated to that, e.g. TLM: True POWER.
- First person is not taken over by default (resolved in 1.0.1). First-person rendering never goes through the
EntityRenderDispatcherthat YSM hijacks — only third-person and the paperdoll do — so it is handed back to SlashBlade's original behaviour, i.e. the 1.20.1 look. SetfirstPersonMode=modelif you would rather have this mod draw a 3D held blade instead. - Targeted injections are version-sensitive. After a YSM / TLM update the targets may stop matching, in which case that feature silently does nothing — it will not crash.
- After the second segment of the aerial combo ends, the model stays in the airborne pose and does not return to the ground animation after landing (not caused by this mod). A left/right mouse click clears it; moving, sprinting and jumping do not. Ruled out by testing: with both of this mod's animation injections disabled the issue does not reproduce (but then there are no SlashBlade animations at all), while enabling either one alone reproduces it — so the trigger is "letting YSM play the model pack's
slashblade:*animations" itself, independent of how the animation name is computed. The same issue reproduces identically on 1.20.1 (YSM 2.6.5-forge + the same model pack + SlashBlade 1.9.65), so this is a behaviour inherent to YSM itself rather than a 1.21.1 regression. See README §6.6.
Design principles & scope
This mod only restores; it never replaces.
- It does not draw the blade itself. The blade on the player is still drawn by SlashBlade's own render layer (
LayerMainBlade) — this mod only restores the call that YSM skipped. That means the blade's hook points come from the vanilla player model, so during the full attack sequence the player's blade does not line up with YSM's animation (see "Known limitations" above). Binding the blade to YSM's model bones would require a separate renderer, which this mod deliberately does not do: YSM's internal classes are obfuscated, so bone binding means binding obfuscated names — it breaks on every upstream update, and when it breaks it crashes rather than quietly doing nothing. - Modifies no file of YSM / SlashBlade / Touhou Little Maid, and contains or redistributes no third-party code or assets.
- Uses no reflection into other mods' private structures — only public classes and public methods of SlashBlade and Touhou Little Maid are called.
- Every dependency is optional, and every targeted injection is failure-soft: if a target is absent or the version does not match, that feature simply goes inactive — it will not crash, and it will not refuse to load.
- Touhou Little Maid is included: the three SlashBlade pieces lost in TLM's 1.21.1 release (hand render, back-slot render, and the swing that produces the arc + sheath animation) are restored verbatim; once upstream fixes it, that part can be retired.
- Do not install alongside another mod that patches the same render path — they will compete, and you may end up with two blades or with one overriding the other.
Relationship with upstream
This is a temporary patch, not a replacement — it retires once upstream fixes it. The author contacted the upstream authors about both sides, explained what this mod does, and apologised for the fact that parts of the code were decompiled while locating the root cause.
- Touhou Little Maid: those two branches are a confirmed port omission — the source is present on the 1.21 branch, while the published jar contains zero references to
slashblade. This mod simply restores them; the maid part retires once upstream ships it. - Yes Steve Model: the stub is not a deliberate removal but a case of "not adapted yet" — when YSM 2.6.5 was written, there was no 1.21 SlashBlade release to adapt to. The author's reply: "I'll do it later — back when I did it, there was no 1.21 SlashBlade yet." They also agreed that this mod may stay until the official fix lands. Parts ② and ③ retire at that point.
Authorisation: this mod's injection into YSM only supplies return values — it does not copy or redistribute any of YSM's implementation. It has been approved by the YSM author, who was also informed that parts of the code were decompiled while diagnosing the issue. The jar contains no third-party code or assets.
Retirement commitment:
| Trigger | What this mod does |
|---|---|
| YSM implements its own SlashBlade integration | declares ②③ obsolete; removes or disables the corresponding switches |
Touhou Little Maid restores compat/slashblade (rendering + logic) |
declares ④ obsolete; removes the maid mixins |
| Both are fixed | this mod loses its reason to exist ⇒ pulled from CurseForge (archived rather than deleted, per community practice — deleting would break modpacks that pin the file ID + hash) |
Every targeted injection is version-gated and failure-soft: when upstream changes a target, that feature skips itself — it goes inactive, it does not crash — so retirement has no urgent deadline. Conversely: if upstream is fixed and this mod has not retired yet, users may not be able to tell who fixed it — which is why this section exists.
MIT licensed. Full third-party attribution in NOTICE.
The code is supervised by DeepSeek.
YES-SB —— 让 YSM 的拔刀剑回到 1.20.1 的样子
纯客户端模组 | Minecraft 1.21.1 | NeoForge | MIT 开源
把 Yes Steve Model(YSM) 在 1.21.1 上丢掉的 拔刀剑:重锋 表现,还回 1.20.1 的样子。
你遇到过这些吗?
在 1.21.1 上同时装了 YSM 和拔刀剑:重锋,可能会发现:
- 第三人称里 腰上根本没有刀,只剩刀光特效;
- 连招时 只有普通挥砍,拔刀剑的剑技动画不出现;
- 手里的刀 待机和走路姿势与普通剑一模一样;
- 车万女仆 手里的刀不显示,背槽里的刀变成一张 平面贴图;
- 车万女仆攻击时没有刀光,刀也一直插在鞘里不动。
同一个 YSM 版本号(2.6.5),在 1.20.1 上这些 全都是正常的。 所以问题出在 1.21.1 的构建,而不是"拔刀剑 2.x 改了什么"。
本模组把这几件事补回来。
修复内容
① 第三人称的腰挂刀与连招出鞘
拔刀剑的"刀 + 鞘"在第三人称下不是手持物,而是挂在实体渲染器上的一个渲染层(LayerMainBlade), 按 MMD 的刀挂点绘制:平时刀插在腰间的鞘里,连招时按动作把刀拔出来挥砍。
YSM 在 EntityRenderDispatcher 里接管了实体的渲染,原版渲染器不再执行, 挂在它上面的渲染层就一起停摆了 —— 腰上的刀因此消失。
本模组在"原版渲染器被跳过"的确切时机补回渲染层所需的变换环境,让拔刀剑自己那一层重新跑起来。
② 拔刀剑剑技动画
YSM 的持握/挥动解析器会按连招状态取一个动画名再播放,它的 1.21.1 构建里这套 API 的调用方是完好的, 但拔刀剑兼容模块是空实现(isSlashBlade 恒为 false),整段逻辑是死代码。
本模组补回 两个缺失的返回值:isSlashBlade(stack) 与 getAnimationName(ctx)。 动画名规则完全对齐 1.20.1 的实现(含 combo_a4_ex → combo_a4ex 的改名、居合斩的空中变体)。
如果算出的动画名不在模型包里,本模组会返回空串 —— 因为 YSM 拿到"非空但模型没有"的名字时会跳过后续 普通挥动逻辑,模型会卡在上一帧姿态出不来。这是一个踩过的坑。
③ 持刀时的专属待机 / 行走动作
手持拔刀剑时,待机 / 走 / 跑 / 跳 / 潜行 / 飞行这些主动画会先问 slashblade:idle 之类; 模型包里有就播专属动作,没有就 退回原名。这是 1.20.1 那份兼容模块的另一半,同样被掏空了。
④ 车万女仆的拔刀剑
车万女仆自己实现了女仆的拔刀剑渲染与挥刀,在 1.20 与 1.21 分支源码里都还在, 但 1.21.1 的发布版 jar 里 compat/slashblade 整个包都不存在(源码在、发布 jar 里没有,可确证)。 丢掉的是 三处:
| 丢掉的 | 后果 |
|---|---|
| 手部渲染 | 女仆手里的刀掉进普通物品渲染路径,而拔刀剑的 BEWLR 对第三方称上下文什么都不画 ⇒ 手里空着 |
| 背槽渲染 | 装饰槽里的刀掉进 FIXED 上下文,被画成一张 平面图标 |
| 挥刀 | 连 EntityMaid 里那个 swing() 覆写本身都不存在了 ⇒ 女仆攻击正常、伤害正常,但没有刀光,刀也不出鞘 |
本模组按 TLM 源码 原样补回 这三处,变换数值一个没改。
挥刀那一处补起来比较特别,值得单独说明:它的两个副作用分属两侧 —— 刀光由服务端生成(斩击特效实体,再由原版实体同步发给所有客户端), 出鞘动作则靠客户端自己那份物品上的时间戳驱动。 而
swing()恰好是两侧都会跑到的方法,上游正是利用这一点。 本模组沿用同一思路,并且不注入车万女仆 —— 因为那个覆写已经不存在了,我们改挂原版LivingEntity#swing,再自行判定"是不是女仆"。 也就是说这一处没有修改车万女仆的任何字节码。 另外还带一道"让路闸":上游哪天自己把覆写加回来,本项会自动失效,不会变成两道刀光。
前置与依赖
以下均为 可选:没装的模组对应功能自动失效,不会崩溃。
| 模组 | 版本 | 为什么需要 |
|---|---|---|
| Yes Steve Model | 2.6.x | 补偿渲染只在它存在时才有意义 |
| 拔刀剑:重锋 | 2.x | 渲染还原依赖它公开的 LayerMainBlade |
| 车万女仆 | 1.5.x | 补回它丢失的女仆拔刀剑渲染与挥刀分支 |
必需前置:Minecraft 1.21.1 + NeoForge(21.1.x)。
安装
- 给 Minecraft 1.21.1 装好 NeoForge;
- 把
YES_SB-1.0.8.jar放进.minecraft/mods/(版本隔离时是versions/<版本名>/mods/); - 启动即可。
只需要装在客户端。 服务器不需要,也不会因为服务器没装而出问题。
⚠️ 升级时只保留一个 jar。 同一个 modId 的两个 jar 放在一起会冲突 —— 换新版时请把旧的那份从
mods/里移走。
启动后日志里搜索 [YES-SB] 可以确认状态,例如:
[YES-SB] 已就绪:YSM 2.6.5-neoforge+mc1.21.1,拔刀剑 已安装,车万女仆 已安装。第三人称腰刀补偿=开,剑技动画=开,主动画变体=开,女仆拔刀剑=开,女仆挥刀=开,靶向注入版本白名单=命中
[YES-SB] 注入女仆渲染层:com.github.tartaricacid.touhoulittlemaid.client.renderer.entity.geckolayer.GeckoLayerMaidHeld
[YES-SB] 注入女仆渲染层:net.minecraft.world.entity.LivingEntity
没装 YSM 时会输出 [YES-SB] 未检测到 YSM:原版渲染本就正常,无需补偿。 并保持惰性。
升级到新版本后首次进入已有存档,NeoForge 可能会打印
The following mods have version differences that were not resolved: yes_sb (…)—— 那是它拿存档里记录的模组版本与当前版本做对比的常规提示。 本模组不在存档里存任何数据,可以忽略。
配置
首次启动生成 config/yes_sb.properties。 所有键都支持热重载 —— 改完存盘约 2 秒生效,不需要重启游戏。
总开关:
| 键 | 默认 | 作用 |
|---|---|---|
enabled |
true |
总开关;false 时完全惰性(等价于卸掉本模组) |
debugLog |
false |
排查开关(关闭时开销为零)。报问题时请开一次,把日志里所有 [YES-SB] 开头的行附上 —— 本模组做的多是"看不见就等于没干活"的补漏,没有这些行很难定位 |
按功能分组的常用键:
| 键 | 默认 | 作用 |
|---|---|---|
restoreThirdPerson |
true |
① 还原第三人称腰挂刀与连招出鞘 |
thirdPersonScale |
0.7 |
补偿缩放,对齐 YSM 模型的整体缩小比例 |
waistOffsetX / Y / Z |
0 |
腰挂刀的额外位移(方块,正数 = 向上 / 向前) |
slashbladeComboAnimations |
true |
② 剑技动画触发 |
slashbladeMainStateAnimations |
true |
③ 主动画的拔刀剑变体 |
maidSlashBlade |
true |
④ 车万女仆的拔刀剑渲染(手部 + 背槽) |
maidSlashBladeAttack |
true |
④ 车万女仆的挥刀(刀光 + 出鞘);与上一项分开,便于对照排查 |
firstPersonMode |
auto |
第一人称:auto 交回拔刀剑原生(= 1.20.1 的样子)/ model 画 3D 刀身 / icon 画平面图标 / off 永远不干预 |
完整键表(共 51 项)见 README。
上面这条链接不要带
#锚点—— CurseForge 的描述编辑器会把带中文锚点的 URL 清成空 (实测贴上去会变成href="",点了只跳回本页)。
已知限制 —— 请先读这一节
本模组把 1.21.1 上 丢失的渲染与动画触发 补了回来,但下面几条 尚未 达到 1.20.1 的效果, 列出来以免误导:
玩家的刀跟不上 YSM 的动画(未解决)。 玩家这条路走的是拔刀剑自己的渲染层,它的刀挂点是从 原版玩家模型 的各部位算出来的; 而屏幕上显示的角色是 YSM 的模型在播 YSM 的动画。两套动画,刀自然对不上。 目前的表现是:手持非攻击姿态时刀在手上,整套攻击流程中刀与模型动作不同步。
女仆的剑技动画不在本模组范围内(已定案)。 本模组补回的是 "刀光 + 出鞘";无其他模组时,女仆的拔刀剑攻击默认就是普通挥动 —— 这是 1.20.1 参照版本本来就有的行为,不是缺陷。 想让女仆真的打出连招,请使用专门做这件事的模组(如 车万女仆:真正的力量)。
第一人称默认不接管(已定案)。 第一人称不经过 YSM 接管的
EntityRenderDispatcher,YSM 从来没掐过它 —— 1.20.1 的第一人称就是拔刀剑自己那套BladeFirstPersonRender(一整把刀斜跨画面), 1.21.1 上本来也是好的。所以默认auto:原版画得出来就放手,画不出来才兜底。 想改用本模组画的 3D 手持刀身就设firstPersonMode=model, 并按日志里的"刀原点(相机空间)"用firstPersonOffsetX/Y/Z收敛。靶向注入对第三方版本敏感。 本模组依赖 YSM / 车万女仆的内部结构。上游模组更新后这些靶点可能失效, 届时对应功能会自动跳过 —— 表现为 功能不生效,不会崩溃。
空中连招第二段收招后,模型会停在滞空姿势,落地也不切回地面动画(非本模组造成)。 需要按一次鼠标左/右键才能恢复;移动、疾跑、跳跃都无法解除。 排查结论:本模组的两条动画注入全部关闭时不复现(但那样也没有任何拔刀剑专属动画), 只开任意一条都复现 —— 触发条件是"让 YSM 去播模型包的
slashblade:*动画"这件事本身, 与动画名怎么算无关。在 1.20.1 上现象完全一致, 故这是 YSM 本身的固有行为,不是 1.21.1 的回归。 详见 README §6.6。
与本模组无关的常见问题
- 剑技动画要求模型包支持。 模型包需要在
ysm.json里声明slashblade动画文件; 官方文档写明:不声明就沿用普通剑动画。这不是本模组能替你解决的。 - 本模组不是 YSM 或拔刀剑的官方组件。 请不要把本模组的问题反馈给它们的作者。
设计原则与边界
本模组只做「补回」,不做替换。
- 不自己画刀。 玩家身上的刀仍然是拔刀剑自己的渲染层(
LayerMainBlade)画的 —— 本模组只是把 YSM 掐掉的那一次调用补回去。因此刀的挂点来自原版玩家模型, 整套攻击流程中玩家的刀与 YSM 模型的动画不同步(见上面「已知限制」第一条)。 要让刀真正绑在 YSM 模型的骨骼上,需要另外写一套渲染器 —— 本模组刻意没有这么做: YSM 的内部类经过混淆,绑骨骼等于绑混淆名,上游一升级就断, 而且出错是崩溃,不是"没效果"。 - 不修改 YSM / 拔刀剑 / 车万女仆的任何文件,不包含、不再分发任何第三方的代码或资源。
- 不依赖反射去读写别人的私有结构 —— 只调用拔刀剑与车万女仆的公开类与公开方法。
- 所有依赖都是可选的,所有靶向注入都是失败即静默的: 靶点不存在或版本不匹配时只是对应功能不生效,不会崩溃,也不会因为版本对不上而装不上。
- 含车万女仆:按 TLM 源码原样补回 1.21.1 发布版丢掉的三处(手部渲染 / 背槽渲染 / 挥刀); 上游修复后这部分即可退役。
- 请不要与其它同类修复模组同时安装 —— 它们会抢同一条渲染路径, 可能表现为两把刀,或者互相覆盖。
与上游的关系
本模组的定位是 临时补丁,不是替代品 —— 上游修复后即退役。 本模组作者已就两侧的问题主动联系上游作者,说明来意并致歉(第一次做修复补丁,缺乏经验)。
- 车万女仆:§④ 那三处是 发布版的移植遗漏(源码在、发布 jar 里没有,可确证)。 本模组只是把它补回去,上游修复后本模组的女仆部分即可退役。
- Yes Steve Model:空桩 不是"有意停用",而是当时还没做适配 —— YSM 2.6.5 开发时 1.21.1 上还没有拔刀剑,那份联动没有可适配的对象。 作者已答复:「我后面会做的,因为之前做的时候没有 1.21 的拔刀剑」, 并同意本模组 保留到官方正式修复为止。所以本模组的 ②③ 两部分在上游补上适配后即可退役。
关于运行时注入的授权:本模组对 YSM 的注入是"只补返回值、不搬运实现", 已获其作者同意;作者亦已知悉"为定位根因做过局部的字节码层面分析"一事。 成品 jar 不含任何第三方代码或资源。
退役承诺(对上游与用户都成立):
| 触发条件 | 本模组要做的事 |
|---|---|
| YSM 正式实现拔刀剑联动 | 声明 ②③ 失效、移除或标注对应开关 |
车万女仆正式补回 compat/slashblade(渲染 + 挥刀) |
声明 ④ 失效、移除女仆相关混入 |
| 两侧都修完 | 本模组整体失去存在意义 ⇒ 从 CurseForge 撤下(按社区惯例归档而非删除,避免破坏锁定 file ID + 哈希的整合包) |
所有靶向注入都带 版本白名单 + 失败即静默:上游一改靶点,对应功能自动跳过 (表现为不生效,不会崩溃)⇒ 退役不存在紧急时间窗。 反过来也要注意:上游修好、本模组却还没退役时,用户可能分不清"是谁修好的" —— 所以这里把话说清楚。
许可与致谢
本项目以 MIT 协议开源,第三方归属的完整声明见 NOTICE。
| 项目 | 协议 | 本项目的关系 |
|---|---|---|
| 拔刀剑:重锋 | 代码 MIT / 美术 ARR | 不含、不复刻其代码;仅运行时调用其公开类 |
| 车万女仆 | MIT(仅 code part) | 复刻了其 SlashBladeRender 的变换逻辑与 SlashBladeCompat#swingSlashBlade 的行为语义(数值原样对齐,代码自行编写),按 MIT 保留版权声明;挥刀那一处不注入车万女仆(挂的是原版 LivingEntity#swing) |
| Yes Steve Model | All Rights Reserved | 不复制、不内嵌、不再分发其任何代码或资源 |
本模组不包含、不再分发上述任何项目的代码或美术资源。
致谢 拔刀剑:重锋、车万女仆、YSM 三位作者 —— 没有它们干净的可读实现, "把丢失的那一层还回去"不可能做到。
代码由 DeepSeek 监修。
Screenshots
Gallery
Versions
Files
Relations
Project Relations
More like this
Similar Mods
Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.
On ModDex
Community snapshot
By the numbers
Statistics
Want to reach Minecraft players?
We're looking for a server hosting partner to feature here and other parts of the site. Interested? Send us a message!
Get in touchGet it on
Available Platforms
On ModDex
Community snapshot
By the numbers
Statistics
Resources