/difficulty 难度设置
切换世界难度等级,影响生物生成、伤害计算与饥饿机制
/difficulty 用于设置整个世界的难度等级,支持和平、简单、普通、困难四档。难度是世界级的全局属性,直接影响生物生成、伤害计算与饥饿机制,而不是只作用于单个玩家。基岩版中该命令长期保持稳定,四种难度及其枚举、整数写法自早期版本起即可使用。
原理
难度是一个存储在世界存档中的全局状态。它在 level.dat 中保存为一个字节值,0 对应和平、1 对应简单、2 对应普通、3 对应困难,而不是针对某个玩家、某个维度或某个区块的独立设置。/difficulty 命令所做的,就是把传入的枚举名、单字母或整数映射到这个字节值并写入世界存档;命令执行后立即生效,且会随存档持久保存,下次进入世界时仍然保持该难度。
这个字节值被游戏内多个子系统同时读取。生成系统在每次尝试生成敌对生物前都会检查当前难度,和平难度下会直接拒绝绝大多数敌对生物的自然生成;伤害系统在敌对生物攻击玩家时按难度系数缩放伤害,简单约为普通的一半,普通为标准值,困难约为普通的 1.5 倍;生物 AI 则依据难度决定是否执行破门、感染村民、施加中毒等特殊行为。因此难度不是一次性开关,而是一个持续影响游戏运行的底层参数。
难度还与饥饿系统和生命恢复机制耦合。和平难度下玩家生命会快速自动回复,饥饿值不会下降;简单难度下饥饿耗尽只会把生命扣到 10 点(5 颗心),普通难度扣到 1 点(半颗心),困难难度下饥饿耗尽会直接致死。此外难度独立于游戏模式,即使处于创造模式,敌对生物的自然生成与村民感染等行为仍会受难度影响。难度也不是游戏规则,无法通过 /gamerule 修改。
切换到和平是一个特殊的边界情况。和平难度下,绝大多数敌对生物会被移除:Java 版会瞬间清空,基岩版同样会移除大部分敌对生物,但存在已知差异——幻翼可能因问题残留,疣猪兽在基岩版和平难度下不会消失,反而可以自然生成并转为被动。此外,难度变更不会追溯修改已经存在的生物属性(如装备、附魔),只会影响后续的生成与持续运行的 AI 判断。
语法
/difficulty <难度>
参数
<难度>— 必填参数,目标难度等级。该参数同时接受三种等价写法:枚举名(peaceful、easy、normal、hard)、单字母缩写(p、e、n、h)和整数(0、1、2、3)。三种写法效果完全相同,例如peaceful、p与0都表示和平难度。
| 枚举名 | 单字母 | 整数 | 中文 | 主要影响 |
|---|---|---|---|---|
peaceful | p | 0 | 和平 | 敌对生物不自然生成,生命快速回复,饥饿不下降 |
easy | e | 1 | 简单 | 生物伤害降低,饥饿耗尽只扣血至 10 点 |
normal | n | 2 | 普通 | 标准伤害,饥饿耗尽只扣血至 1 点 |
hard | h | 3 | 困难 | 伤害约为普通的 1.5 倍,僵尸可破门,饥饿耗尽会致死 |
示例
设为和平难度:
/difficulty peaceful
将世界难度设为和平。敌对生物停止自然生成,玩家的生命值会快速自动回复,饥饿值也不再下降。
用整数设为普通难度:
/difficulty 2
整数 2 对应普通难度,与枚举名 normal 完全等价。命令会立即写入世界存档并持续生效。
用单字母设为困难难度:
/difficulty h
单字母 h 是 hard 的缩写。困难难度下敌对生物伤害约为普通的 1.5 倍,僵尸能够破坏木门,饥饿值耗尽会直接致死。
基岩版注意
- 需要 OP 等级 1,且世界必须开启「作弊」才能执行该命令;作弊关闭时无法用命令修改难度,但仍可在暂停菜单的世界设置中更改难度。
- 与 Java 版的差异:Java 版中
/difficulty需要权限等级 2,且切换到和平会瞬间清空所有敌对生物;基岩版中幻翼可能不消失,疣猪兽在和平难度下不会消失、反而可以自然生成并转为被动。 - 单字母缩写
p、e、n、h与整数0–3在基岩版中均可用,与完整枚举名等价。 - 难度不是游戏规则,无法通过
/gamerule修改,它存储在世界存档中并随存档持久保存。 - 难度对创造模式同样生效,和平难度下创造模式的敌对生物也不会自然生成。
- 基岩版不存在 Java 版的「区域难度」机制,该机制会在 Java 版中随玩家在区块停留时间提升生物装备与属性。
常见问题
切换到和平后,已有的敌对生物会怎样?
绝大多数敌对生物会被移除:Java 版会瞬间清空;基岩版中大部分敌对生物同样会被移除,但幻翼可能因已知问题残留,疣猪兽在基岩版和平难度下不会消失,反而可以自然生成并转为被动。
难度能针对单个玩家或单个维度设置吗?
不能。难度是世界级的全局设置,一次修改对世界内所有玩家、所有维度同时生效。若你想对不同区域做差异化处理,可以借助命令方块与计分板等间接实现。
为什么在暂停菜单能改难度,但 /difficulty 命令用不了?
暂停菜单中的难度调整不依赖作弊开关,而 /difficulty 命令需要世界开启作弊,并且执行者拥有 OP 等级 1。作弊关闭时你可以直接在世界设置中修改难度。
/difficulty 和 /gamerule 有关系吗?
没有。难度是独立于游戏规则的全局设置,无法用 /gamerule 修改,反之亦然。两者分别通过各自的命令与世界设置进行管理。