COWMODSКаталог модов

SLB

SLB—可以很轻易的添加拔刀剑模型以及SE效果,依赖 SlashBlade Resharped ≥ 2.0.3。SLB — Easily add custom blades and SE effects to SlashBlade Resharped. Requires SlashBlade Resharped ≥ 2.0.3.

Автор: YanShu2,3 тыс.0обновлён 17 июл. 2026 г.
ПриключенияСнаряжениеМеханики игры

Описание

SLB 是 SlashBlade Resharped 的 NeoForge 1.21.1 附属模组,提供一个纯数据驱动的特殊效果(SE)系统。

你可以通过编辑 JSON 文件,为拔刀剑自定义被动效果——包括药水、额外伤害、点燃、闪电、吸血、二连击、虚空真实伤害、范围爆炸等 15 种原子效果类型,支持按等级施加惩罚。模组还提供 KubeJS 桥接层,让脚本可以读取刀的魂量、攻击力等属性,实现更复杂的进阶效果。

适合模组包作者和会改 JSON 的玩家。如果你只是想玩现成的刀,这个模组默认不附带任何成品刀和预置 SE——slb_ses.json 仅含一条示例,需要自行编辑或搭配资源包使用。

为每个拔刀剑添加了单独的注册键名不是统一的 SlashBlade:SlashBlade

必须安装:SlashBlade Resharped ≥ 2.0.3 + NeoForge 1.21.1。

SLB is an addon mod for SlashBlade Resharped (NeoForge 1.21.1) that provides a data-driven Special Effect (SE) system.

Edit JSON files to add passive effects to your blades — 15 atomic effect types including potions, bonus damage, fire, lightning, life steal, double strike, void true damage, area explosion, and more, with level-based penalty support. A KubeJS bridge is also included for advanced scripting (reading soul count, attack power, etc.).

For modpack makers and JSON-savvy players. The mod ships with no pre-built blades or SE definitions — slb_ses.json contains only a single _example entry. You will need to write your own definitions or use a companion resource pack.

Added separate registration key names for each draw sword, not unified SlashBlade:SlashBlade

Requires: SlashBlade Resharped ≥ 2.0.3 + NeoForge 1.21.1.

Галерея

SLB添加

Последние версии

Все версии →
release

SLB 1.1.0

1.1.0
17 июл. 2026 г.2,1 тыс.Minecraft: 1.21.1neoforge
Скачать
Что нового
为每个添加的拔刀剑可以自动生成新的注册键,不过需要在jar里面的models里面写上一下。重新编写的 用户指南.md 在github wiki 上可以翻阅,并不复杂。最主要的是可以更好的去编辑FTBQuset任务。<我很讨厌 FTBQuset 在添加单独拔刀剑任务的时候非要修改NBT,在1.20.1的时候可能可以去修改NBT,但是在1.21.1版本上他的NBT修改不了,下载了过滤器附属也不行,所以直接改了拔刀剑的统一注册键 SlashBlade:SlashBlade 真的很烦!> For each added sword, a new registration key can be automatically generated, but it needs to be written in the models inside the jar. The rewritten User Guide.md can be viewed on the GitHub wiki, and it's not complicated. The main point is that it allows for better editing of FTBQuest tasks. <I really hate how FTBQuest insists on modifying NBT when adding individual sword tasks. It might have been possible to modify NBT in the 1.20.1 version, but in the 1.21.1 version, it can't modify NBT, and even after downloading the FilterAddon, it didn't work, so I just directly changed the unified registration key for the sword SlashBlade:SlashBlade. It's really annoying!>
release

SLB 1.0.2

1.0.2
16 июл. 2026 г.95Minecraft: 1.21.1neoforge
Скачать
Что нового
删除了有关SE的文件,只留示例文件。新增惩罚系统,等级不足时即可惩罚玩家。 Deleted files related to SE, leaving only sample files. Added a punishment system, where players can be punished when their level is insufficient.
release

SBL 1.0.0

1.0.0
4 июл. 2026 г.97Minecraft: 1.21.1neoforge
Скачать
Что нового
# SLB 用户说明 > **SLB** — 一个装了就能用的拔刀剑附属模组,带了一组写好的 SE(特殊效果)。你也可以自己加新刀。 --- ## 安装 ### 环境要求 | 依赖 | 版本 | | -------------------- | ------- | | Minecraft | 1.21.1 | | NeoForge | 21.x | | SlashBlade Resharped | ≥ 2.0.3 | ### 步骤 1. 安装 **NeoForge 1.21.1** 2. 安装 **SlashBlade Resharped 2.0.3+** 3. 把 `SLB.jar` 丢进 `.minecraft/mods/` 4. 启动游戏 --- ## 快速上手:三步加一把刀 不需要编程工具,只要一个能打开 zip 的软件(WinRAR / 7-Zip / Bandizip)。 用压缩软件打开 `SLB.jar`(**不要解压**,直接在里面操作)。 ### 第 1 步:放模型 把模型文件拖进 `assets/slb/model/` 目录,一个刀一个文件夹: ``` SLB.jar/assets/slb/model/ └── 你的刀名/ ← 新建文件夹 ├── model.obj ← 3D 模型文件 └── texture.png ← 贴图文件 ``` > 模型去哪找?很多刀模型可以从模组交流群、MCBBS、Patreon 等渠道获取。格式要求是 Wavefront OBJ + PNG 贴图。 ### 第 2 步:写 JSON 定义 在 `data/slb/slashblade/named_blades/` 里新建一个 JSON 文件,命名随意,比如 `my_sword.json`: ```json { "name": "slb:my_sword", "properties": { "attack_base": 12.0, "max_damage": 200, "slash_art": "slashblade:judgement_cut", "sword_type": ["bewitched"], "special_effects": ["slb:swift_edge", "slb:blood_edge"] }, "render": { "model": "slb:model/my_sword/model.obj", "texture": "slb:model/my_sword/texture.png", "carry_type": "katana" }, "enchantments": [ { "id": "minecraft:sharpness", "lvl": 5 }, { "id": "minecraft:unbreaking", "lvl": 3 } ] } ``` > `name` 里的 `slb:` 前缀不要改,冒号后面的名字跟你文件夹名字保持一致就行。 ### 第 3 步:加中文名 打开 `assets/slb/lang/zh_cn.json`,加一行: ```json { "item.slb.my_sword": "我的刀", "item.slb.my_sword.desc": "§b这是一把很厉害的刀" } ``` 英文同理,打开 `en_us.json`。 保存文件,压缩软件会问"是否更新到压缩包?"选**是**。搞定,进游戏就有了。 --- ## JSON 字段参考 ### properties(属性) | 字段 | 类型 | 说明 | 示例 | | ----------------- | -------- | ----------------------- | ------------------------- | | `attack_base` | float | 基础攻击力(一般 8~20) | `12.0` | | `max_damage` | int | 锻造耐久上限 | `150` | | `slash_art` | string | 右键释放的必杀技 | `"slashblade:sakura_end"` | | `sword_type` | string[] | 剑类型 | `["bewitched"]` | | `special_effects` | string[] | 挂载的特殊效果 | `["slb:swift_edge"]` | #### sword_type 可选值 | 值 | 效果 | | ------------- | ---------------- | | `"bewitched"` | 妖刀(可成长) | | `"enchanted"` | 附魔光泽 | | `"sealed"` | 封印刀(需解封) | #### 常用 slash_art | 值 | 效果 | | ----------------------------- | -------- | | `slashblade:drive_vertical` | 纵斩 | | `slashblade:drive_horizontal` | 横斩 | | `slashblade:wave_edge` | 剑气波 | | `slashblade:circle_slash` | 回旋斩 | | `slashblade:sakura_end` | 樱之终焉 | | `slashblade:judgement_cut` | 审判切割 | ### render(渲染) | 字段 | 类型 | 说明 | 示例 | | -------------------- | ------ | ------------------- | ----------------------------- | | `model` | string | OBJ 模型路径 | `"slb:model/xxx/model.obj"` | | `texture` | string | PNG 贴图路径 | `"slb:model/xxx/texture.png"` | | `carry_type` | string | 携带方式 | `"katana"` | | `summon_sword_color` | hex | 刀光颜色(16 进制) | `0xFFFF69B4` | #### 常用 carry_type | 值 | 效果 | | ---------- | ---------------- | | `"katana"` | 别在腰间(默认) | | `"ninja"` | 背在背后 | | `"pso2"` | 悬浮在身旁 | ### enchantments(附魔) ```json [ { "id": "minecraft:sharpness", "lvl": 5 }, { "id": "minecraft:unbreaking", "lvl": 3 } ] ``` ### 语言文件 ```json { "item.slb.<刀名>": "刀的名称", "item.slb.<刀名>.desc": "§b描述文字" } ``` --- ## 配置文件 首次运行后生成 `config/slb.json5`,可用记事本修改: ```json5 { "damage": { "globalDamageMultiplier": 1.0 // 全局伤害倍率,0.1~10.0 }, "sword_type": { "enableBewitchedByDefault": true // 默认是否妖刀 }, "debug": { "logDiscoveredBlades": true // 是否在日志列出所有刀 } } ``` > 改完**重启游戏**生效。 --- ## 特殊效果(SE)系统 SLB 为你的刀增加了**特殊效果**系统——每把刀可以挂载被动特效,比如吸血、点燃敌人、加移动速度等。 ### 为刀添加 SE 在刀 JSON 的 `properties` 里加上 `special_effects` 数组: ```json "properties": { "attack_base": 12.0, "special_effects": ["slb:swift_edge", "slb:blood_edge"] } ``` 一把刀可以同时挂载多个 SE,效果叠加。如果玩家等级没达到 SE 的等级要求,该 SE 不生效。 ### 内置 SE 列表 | SE ID | 中文名 | 等级要求 | 效果 | | ------------------ | ------ | :------: | ----------------------------- | | `slb:glow_edge` | 辉光性 | 1 | 手持发光,SA闪光弹 | | `slb:echo_edge` | 回声性 | 3 | 击杀声呐探测 | | `slb:swift_edge` | 疾风性 | 8 | 加速+概率二连击 | | `slb:hunter_edge` | 狩猎性 | 10 | 满血目标首刀增伤+击杀计数加速 | | `slb:shield_edge` | 盾守性 | 12 | 手持伤害吸收 | | `slb:blood_edge` | 血刃性 | 15 | 攻击吸血+击杀回复 | | `slb:thunder_edge` | 雷霆性 | 20 | 概率召唤闪电 | | `slb:storm_edge` | 风暴性 | 20 | 攻击产生范围AOE | | `slb:soul_edge` | 魂刃性 | 20 | 荣耀之魂获取+50% | | `slb:flame_edge` | 烈焰性 | 25 | 点燃目标+燃烧增伤 | | `slb:frost_edge` | 冰霜性 | 25 | 减速+冰冻增伤 | | `slb:void_edge` | 虚空性 | 35 | 真实伤害+虚空爆炸 | ### 自定义自己的 SE 打开 SLB.jar,编辑 `slb_ses.json`,在 `ses` 对象里加一段: ```json "我的绿光闪闪": { "requestLevel": 5, "isCopiable": true, "isRemovable": true, "effects": [ { "type": "potion", "id": "minecraft:regeneration", "amplifier": 1, "trigger": "held" }, { "type": "potion", "id": "minecraft:resistance", "amplifier": 0, "trigger": "held" } ] } ``` 保存后,在刀 JSON 里写 `"special_effects": ["slb:我的绿光闪闪"]` 即可。 ### 原子效果类型参考 每个效果的 JSON 参数说明如下。**加粗 = 必填**,其余可选(不填则用默认值)。 | type | 效果 | 参数详解 | | ----------------- | ------------------------ | ------------------------------------------------------------ | | `potion` | 给自己加状态 | **`id`** = 状态ID(如 `minecraft:speed`)<br>`amplifier` = 等级,默认 0<br>`duration` = 持续刻数(20刻=1秒),默认 100 | | `potion_target` | 给敌人加状态 | **`id`** = 状态ID<br>`amplifier` = 等级,默认 0<br>`duration` = 持续刻数,默认 100<br>`chance` = 触发概率 0~1,默认 1.0 | | `fire_target` | 点燃敌人 | `seconds` = 燃烧秒数,默认 5<br>`chance` = 触发概率 0~1,默认 1.0 | | `damage` | 额外伤害 | `ratio` = 伤害比例(0.3=基础伤害的30%),默认 0<br>**`condition`** = 触发条件(仅限 damage 类型使用,可选值见下表),默认 `always`<br>`chance` = 触发概率 0~1,默认 1.0 | | `lightning` | 召唤闪电 | `chance` = 触发概率 0~1,默认 1.0<br>`double_in_rain` = 雨天概率翻倍,默认 false | | `life_steal` | 吸血 | `ratio` = 吸血比例(0.03=造成伤害的3%),默认 0.03 | | `heal_on_kill` | 击杀回血 | `amount` = 回复血量,默认 2.0 | | `double_strike` | 概率二连击 | `chance` = 触发概率 0~1,默认 1.0<br>`ratio` = 二连击伤害比例(0.6=基础伤害的60%),默认 0.6 | | `aoe_potion` | 范围状态 | **`id`** = 状态ID<br>`amplifier` = 等级,默认 0<br>`duration` = 持续刻数,默认 60<br>`radius` = 范围半径,默认 5.0 | | `void_tear` | 虚空撕裂(真实伤害) | `chance` = 触发概率 0~1,默认 1.0<br>`damage_ratio` = 真实伤害倍率(2.0=基础伤害×2),默认 2.0 | | `void_explosion` | 虚空爆炸(范围真实伤害) | `chance` = 触发概率 0~1,默认 1.0<br>`damage_ratio` = 伤害倍率,默认 0.8<br>`radius` = 爆炸半径,默认 3.0 | | `sonar_pulse` | 声呐脉冲(透视发光) | `range` = 探测范围,默认 15.0<br>`duration` = 发光持续刻数,默认 100 | | `proud_soul_mult` | 荣耀之魂获取倍率 | `multiplier` = 倍率(1.5=获取量×1.5),默认 1.5 | | `kill_count_mult` | 击杀计数获取倍率 | `multiplier` = 倍率,默认 1.5 | > 提示:状态ID(`id`)可参考 [Minecraft 状态效果列表](https://minecraft.fandom.com/zh/wiki/%E7%8A%B6%E6%80%81%E6%95%88%E6%9E%9C),如 `minecraft:speed`(速度)、`minecraft:strength`(力量)、`minecraft:regeneration`(再生)、`minecraft:resistance`(抗性)、`minecraft:absorption`(伤害吸收)等。 #### 触发时机(trigger) | 值 | 说明 | | ---------- | ------------------ | | `held` | 手持刀时每 tick | | `hit` | 击中目标时(默认) | | `slashart` | 发动 SA 时 | | `kill` | 击杀时 | | `ps` | 获得荣耀之魂时 | #### 条件判断(condition,仅 damage 类型可用) 只在 `type: "damage"` 中有效,其他效果类型不支持此参数。 | 值 | 效果 | | ---------------- | ---------------- | | `always` | 总是触发(默认) | | `target_on_fire` | 目标燃烧时 | | `target_frozen` | 目标冰冻时 | | `full_health` | 目标满血时 | #### 组合示例 "吸血+燃烧+加速" SE: ```json "血火双刃": { "requestLevel": 20, "effects": [ { "type": "life_steal", "ratio": 0.05, "trigger": "hit" }, { "type": "fire_target", "seconds": 3, "chance": 0.5, "trigger": "hit" }, { "type": "potion", "id": "minecraft:speed", "amplifier": 1, "trigger": "held" } ] } ``` --- ## 常见问题 ### 游戏崩溃,提示 `No key properties` **原因:** JSON 里 `properties` 拼写错误。检查是否写成了 `proprties` 或 `propreties`。 ### 游戏里没有 SLB 的刀 - SLB.jar 里没有放刀的数据(空包就是这样)。按上面的步骤加一把进去。 - SlashBlade Resharped 版本低于 2.0.3,升级即可。 ### 刀显示为紫黑方块 **原因:** 模型或贴图路径不对。检查 JSON 里的 `model` 和 `texture` 路径是否跟你放文件的位置一致。 ### 所有刀伤害太低 / 太高 改 `config/slb.json5` 里的 `globalDamageMultiplier`,`2.0`=两倍,`0.5`=一半。 ### 游戏崩溃,提示 `Not a string: null` **原因:** JSON 里某个字段应该填字符串,但写成了 `null` 或漏掉了。最常见于 `render` 段的路径: ```json ❌ 错误 — model 字段为空 "render": { "model": null, // ← 应该写 "slb:model/xxx/model.obj" "texture": null // ← 应该写 "slb:model/xxx/texture.png" } ✅ 正确 "render": { "model": "slb:model/example_blank/model.obj", "texture": "slb:model/example_blank/texture.png" } ``` 刀名(`name` 字段)、技能名(`slash_art`)、SE ID 等也都是字符串,不能写 `null` 或漏掉。 --- ### JSON 格式检查清单 修改 JSON 文件后如果游戏崩溃,最可能的原因是**格式写错了**。JSON 对格式要求非常严格,差一个逗号都会崩。对照以下清单检查: #### ❌ 常见错误 & ✅ 正确写法 | # | 错误写法 | 问题 | 正确写法 | | ---- | ------------------------------------------------------------ | --------------------------- | ------------------------------------------------------------ | | 1 | `"attack_base": 12.0,`<br>`"max_damage": 200` ← 最后一个属性后面**有逗号** | 尾随逗号(trailing comma) | `"attack_base": 12.0,`<br>`"max_damage": 200` ← 去掉末尾逗号 | | 2 | `"attack_base": 12.0`<br>`"max_damage": 200` ← 两行之间**没逗号** | 缺少逗号 | `"attack_base": 12.0,`<br>`"max_damage": 200` | | 3 | `'name': 'slb:my_sword'` | 用了单引号,JSON 必须双引号 | `"name": "slb:my_sword"` | | 4 | `name: "slb:my_sword"` | key 没加引号 | `"name": "slb:my_sword"` | | 5 | `"max_damage": "200"` | 数字写了引号(成了字符串) | `"max_damage": 200` | | 6 | `"attack_base": 12,0` | 逗号当小数点(应该是点) | `"attack_base": 12.0` | | 7 | `"id": "minecraft:sharpness",`<br> `"lvl": 5,` ← 数组最后一项有逗号 | 数组尾随逗号 | `"id": "minecraft:sharpness",`<br> `"lvl": 5` ← 去掉逗号 | | 8 | `"sword_type": "bewitched"` | 本应是数组,写成字符串 | `"sword_type": ["bewitched"]` | | 9 | `"model": "slb:model\my_sword\model.obj"` | 用了反斜杠 `\`,应该用 `/` | `"model": "slb:model/my_sword/model.obj"` | | 10 | `// 这是一把刀` 写在 JSON 中间 | JSON 标准不支持注释 | 删除注释(json5 支持但 blade JSON 不是 json5) | | 11 | 漏了 `{` 或 `}`,或多了 `}` | 花括号不配对 | 数一下 `{` 和 `}` 数量是否相等 | | 12 | `"slash_art": slashblade:drive_vertical` | 字符串没加引号 | `"slash_art": "slashblade:drive_vertical"` | #### 自检步骤 修改完 JSON 后,打开 **[JSONLint](https://jsonlint.com/)** 之类的在线校验工具,把 JSON 贴进去检查: 1. ✅ 所有 key 和字符串值都用**双引号** 2. ✅ 每行属性末尾有**逗号**(最后一行不要逗号) 3. ✅ `{` 和 `}`、`[` 和 `]` 数量配对 4. ✅ 路径用**正斜杠 `/`**,不是反斜杠 5. ✅ 数字不加引号,字符串必须加引号 #### 参考模板 `_example_blank.json.example` SLB 自带一个 `_example_blank.json.example` 文件作为格式参考。**后缀是 `.json.example`,不是 `.json`**,所以 SlashBlade 不会加载它,也就不会因为缺少模型文件而崩溃。 想用这把刀时,把文件名改成 `_example_blank.json`,然后把 `model.obj` 和 `texture.png` 放到 `assets/slb/model/example_blank/` 目录下即可。 --- ## 许可 All Rights Reserved. 仅供学习交流使用。