エフェクトに関するイベント

ステータス効果を受けたときに発生するイベントです。

EffectAddEvent

エンティティにエフェクトが追加されたときに発生するイベントです。

追加なので、すでに同じ効果を持っている場合には発生しません。

  • /effectで効果を受けたとき
  • ポーションを飲んだ時
  • ハスクの攻撃により空腹効果をうけたとき
  • ...など
import * as mc from 'mojang-minecraft';

function onEffectAdd(event: mc.EffectAddEvent) {
  // 追加されたエフェクト
  const effect: mc.Effect = event.effect;
  // エフェクト番号
  const effectState: number = event.effectState;
  // 効果を受けたエンティティ
  const entity: mc.Entity = event.entity;

  entity.dimension.runCommand(
    `say ${entity.id}${effect.displayName}(${effectState}) の効果を` +
      `強さ${effect.amplifier}${effect.duration}ティック間 受けました。`
  );
}

mc.world.events.effectAdd.subscribe(onEffectAdd);

参考

次のページへ
エンティティに関するイベント