
属性块
从配置文件重写任何实体(包括玩家)的默认属性。全部41项,而不仅仅是生命值和伤害。可按实体、按标签或全局进行设置、乘算或加算。服务器端。
属性状态
通过配置文件重写任何实体(包括玩家)的默认属性。
Minecraft 26.2 暴露了 41 种属性:生命值、伤害、移动速度、重力、摩擦力、空气阻力、弹性、步进高度、安全摔落距离、追踪范围、交互范围等。但它没有提供任何方法来改变实体初始拥有的属性。/attribute 命令只能影响已经存在的实体,而下一次生成的僵尸又恢复为原版属性。
Statblock 在源头修补这些值。它们在实体构建时被整合进去,因此可以在保存、区块重载和生物装备时保持不变。
它的不同之处
- 所有属性。 不是固定四个的列表。而是你实例中注册的所有属性,包括其他模组添加的属性。
- 也包括玩家。 二十颗心是默认值,不是铁律。从服务器端改变玩家的生命值、触及距离、步进高度或重力——无需任何人安装任何东西。
- 三种目标方式。 单个实体 ID、实体类型标签,或一次性全部匹配。
- 设置、乘算或加算。
40、"x1.5"、"150%"、"+8"。 - 授予实体原本没有的属性。 给牛攻击伤害,给苦力怕跳跃强度。
- 服务端。 可在专用服务器、单人游戏和整合包中运行。
- 不依赖 Fabric API。 只有一个 32 KB 的 jar 文件,无需其他任何东西。
配置
config/statblock.json,在首次启动时生成。空的 overrides 块不会改变任何内容,因此在您明确指定之前,安装它不会影响您的世界。
{
"enabled": true,
"writeReferenceFile": true,
"overrides": {
"*": { "step_height": 1.0 },
"#minecraft:skeletons": { "follow_range": "+16" },
"minecraft:player": { "max_health": 40, "block_interaction_range": "+2" },
"minecraft:zombie": {
"max_health": 40,
"movement_speed": "x1.3",
"gravity": 0.04
}
}
}
允许使用 // 注释。
区块键
| 键 | 匹配目标 |
|---|---|
minecraft:zombie |
该特定实体类型 |
minecraft:player |
玩家 |
#minecraft:skeletons |
该标签中的所有实体类型 |
* |
所有拥有属性的实体 |
应用顺序为通配符 → 标签 → 精确 ID,因此最具体的区块优先。通配符的值仍然适用于有自己专属区块的实体,只要该区块没有指定相同的属性。
值
| 写法 | 含义 |
|---|---|
40 |
将基础值设为 40 |
"x1.5" |
乘以原版基础值 |
"150%" |
同上,以百分比表示 |
"+8" |
加上 8 |
"-8" |
减去 8 |
数字/字符串的区分是故意的:裸露的 -8 将值设为负八,而 "-8" 表示减去八。
结果会被限制在每个属性自身的范围内,因此 "max_health": -5 不会产生无法生成的实体。为实体指定其通常没有的属性将授予该属性,并从该属性自身的默认值开始。
给整合包作者
config/statblock/*.json 中的任何内容都会按文件名顺序合并到 statblock.json 之上。将您的整合包文件放在那里,服务器拥有者自己的编辑内容将保持不变——任何一方在更新时都不会覆盖另一方。
您不必记住属性名称
每次启动时,Statblock 都会写入 config/statblock-reference.txt:包含您的实例中注册的每个属性及其默认值,包括其他模组添加的属性。没有人应该去猜测落后速度背后的属性叫做 air_drag_modifier。
minecraft: 命名空间可以省略——max_health 和 minecraft:max_health 是相同的。如果拼写错误,日志会告诉您最接近的匹配项,而不是静默地忽略该行。
命令
所有命令都需要权限等级 2。
| 命令 | 功能 |
|---|---|
/statblock reload |
重新读取配置 |
/statblock list |
列出所有已配置的区块及其匹配目标 |
/statblock dump <entity> |
显示一个实体类型的旧值 → 新值,支持 Tab 补全 |
重载会影响此后生成的实体。世界中已存在的实体将保留其构建时的值——这是原版存储属性的方式,不是模组可以绕过的。
示例
更难的夜晚,无需难度模组
"#minecraft:undead": { "max_health": "150%", "follow_range": "+16" }
低重力世界
"*": { "gravity": 0.02, "safe_fall_distance": 20 }
更强的玩家,服务端生效
"minecraft:player": {
"max_health": 40,
"block_interaction_range": "+2",
"safe_fall_distance": "+6"
}
为您的整合包制作一个 BOSS 生物
"minecraft:zombified_piglin": {
"max_health": 100,
"attack_damage": "x2",
"knockback_resistance": 1.0
}
要求
- Minecraft 26.2
- Fabric Loader 0.19.3 或更新版本
- Java 25
客户端可选。不会向客户端发送任何内容,也不会渲染任何内容。
整合包
可自由包含在任何整合包中,无论是公开还是私密。无需署名,但感谢您的认可。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。