药水效果
概述
药水效果(PotionEffects)系统允许为生物实体添加、移除和检测各种状态效果。仅 LivingEntity 及其子类支持。
适用范围
基础用法
添加药水效果
js
entity.potionEffects.add('minecraft:night_vision', 200, 0, false, true);
检查药水效果
js
const hasNightVision = entity.hasEffect('minecraft:night_vision');
移除药水效果
js
entity.removeEffect('minecraft:night_vision');
entity.removeAllEffects();
参数说明
参数 | 类型 | 默认值 | 说明 |
---|---|---|---|
effectId | string | 必需 | 药水效果注册名 |
duration | number | 200 | 持续时间(tick) |
amplifier | number | 0 | 效果等级(0为1级) |
ambient | boolean | false | 是否为环境效果 |
visible | boolean | true | 是否显示粒子 |
进阶用法与示例
js
// 条件性应用
if (entity.health < entity.maxHealth * 0.3) {
entity.potionEffects.add('minecraft:regeneration', 200, 0);
}
// 区域效果
PlayerEvents.tick(event => {
const player = event.player;
if (player.level.getBiome(player.blockPosition()).toString() === 'minecraft:desert') {
player.potionEffects.add('minecraft:fire_resistance', 120);
}
});