#mobの頭上に仮想のHPを表示したい

1 messages · Page 1 of 1 (latest)

old venture
deep star
deep star
#

これは関数なので、targetに対象のエンティティ、objectiveにオブジェクティブ名を渡して実行してください

rancid pendant
#

health-nametag

プレイヤーのネームタグにHPを表示します

  • Minecraft v1.20.60
  • @minecraft/server v1.9.0-beta
  • @minecraft/server v1.8.0
import { world, Player } from '@minecraft/server';

world.afterEvents.entityHealthChanged.subscribe(event => {
  const entity = event.entity;

  // イベントの発生源がプレイヤー かつ HPの値が変化していたら
  if (entity instanceof Player && event.oldValue !== event.newValue) {
    // 引数にentityを入れ、updateNameTag関数を実行
    updateNameTag(entity);
  }
});

// スポーン時にもネームタグ更新処理を動かす
world.afterEvents.playerSpawn.subscribe(event => {
  updateNameTag(event.player);
});

/**
 * プレイヤーのネームタグを更新する関数
 * @param {Player} player
 */
 * フェイクプレイヤー対応版のスコア取得関数
 * @author akki256, kinji2532
 * @param { import('@minecraft/server').Player | import('@minecraft/server').Entity | string } target
 * @param { string } objective
 * @returns { number | null }
 */
export function getScore(entity, hp) {
    try {
        return world.scoreboard.getObjective(hp).getScore(entity);
    }
    catch {
        return null;
    }
}
/**
 * フェイクプレイヤー対応版のスコア取得関数
 * @author akki256, kinji2532
 * @param { import('@minecraft/server').Player | import('@minecraft/server').Entity | string } target
 * @param { string } objective
 * @returns { number | null }
 */
export function getScore(entity, maxhp) {
    try {
        return world.scoreboard.getObjective(maxhp).getScore(entity);
    }
    catch {
        return null;
    }
}
function updateNameTag(entity) {
  );

  // player.nameTagに名前とHPを入れた文字列を代入し、ネームタグを更新する
  entity.nameTag = `${entity.name}\nHP: ${hp}/${maxhp}`;
}
#
ついているからだと思いますよ
#

ファイルみたら

#

ついていたので

rancid pendant