【革命】モブの体力を表示するアドオンを配布&解説【マイクラ統合版】

ダウンロードはこちら

https://lemon-slime.com/resources/HealthScope.zip

上記のzipファイルを右クリックして展開後、中にあるmcaddonファイルを起動することで、アドオンのインポートが開始されます。

概要

本アドオンは、モブの現在の体力を表示するアドオンです。剣をもった状態でモブに照準を合わせて右クリックしてみてください。すると、そのモブの現在の体力が画面下部に表示されることが確認できるでしょう。

視線の先にエンティティが存在しない場合は「エンティティが存在しません」と表示されます。また、エンティティが存在しても、それが(アイテムなど)体力の概念を持たないエンティティであった場合、「体力を読み取れません」と表示されます。

なお、これは「sword」という名前が最後につくアイテムなら、どんなものでも有効です。従って、オリジナルの剣であっても正常に動作します。

このアドオンを使うことで、剣が「攻撃」と「体力検知」の2つの機能を持つようになります。便利ですので、是非サバイバル等でご活用ください。

解説

本アドオンについて解説したYoutube動画を作成しました。こちらより視聴できます。

本アドオンについて

本アドオンのご利用は自由ですが、アドオンそのものの再配布・無断転載はお止めください。アドオンの拡散・宣伝は大歓迎です。ページ上部または下部にあるSNSリンクボタンより拡散いただけます。

実行上の注意

本アドオンは、有効化するだけで動きます。ベータAPIの機能は不要です。

スクリプト

本アドオンを構成するスクリプトは極めてシンプルです。

  1. import * as server from "@minecraft/server";
  2. server.world.afterEvents.itemUse.subscribe(function(ev){
  3.     if (ev.itemStack.typeId.endsWith("sword")){
  4.         for (const player of server.world.getAllPlayers()){
  5.             if (player.getEntitiesFromViewDirection()[0] != undefined){
  6.                 if(player.getEntitiesFromViewDirection()[0].entity.getComponent("minecraft:health") != undefined){
  7.                     player.runCommand(`title @s actionbar ${"体力:" + String(player.getEntitiesFromViewDirection()[0].entity.getComponent("minecraft:health").currentValue)}`);
  8.                 }else{
  9.                     player.runCommand(`title @s actionbar 体力を読み取れません`);
  10.                 }
  11.             }else{
  12.                 player.runCommand(`title @s actionbar エンティティが存在しません`);
  13.             }
  14.         }
  15.     }
  16. })

今回は、体力をgetComponent関数で取得し、それをtitleコマンドによって出力しています。また、スクリプトの作成にあたっては、ScriptAPI(プログラミングでゲームシステムを改変する機能)を用いています。詳細については以下の記事をご覧ください:

また、titleコマンドの詳しい挙動については以下の記事で詳しく解説しています。

今回解説したスクリプトを使って、友人・コミュニティー内で24時間いつでも遊べるマルチサーバーを構築したい場合は、VPS(レンタルサーバー)の導入が近道です。

私の開発・検証環境では「シンVPS」を使用しています。

シンVPS コントロールパネル画像

以前は自宅PCでホストしていましたが、PCの電源を切り忘れるストレスや、電気代を考慮して移行しました。シンVPSを選んだ決め手は、圧倒的なコストパフォーマンスです。

  • 月額の安さ 4GBプランでも月額1,200円程度(長期契約なら1,000円以下)と維持費が安く済みます。
  • 高速な読み込み 全プランでNVMe SSDを採用しており、ワールドの読み込みや重いコマンド処理でもラグを感じにくいです。
※最低利用期間が3ヶ月からという縛りはありますが、サーバーを長期で安定運用するならむしろ割安になります。

以下のリンクから申し込むと初回利用料金が10%OFFになります。
(1ヶ月以上の契約対象。「安くて速い」サーバーを探している方はぜひ試してみてください)

シンVPS 公式サイトを見てみる
(10%OFF適用)
マルチサーバーの立て方はこちら
最新情報をチェックしよう!