【ScriptAPI】playanimationコマンドでカスタムエンティティのアニメーションを再生する方法【マイクラ統合版】

はじめに

playanimationコマンドというコマンドがあります。言わずと知れた、エンティティのアニメーションを再生するコマンドですね。カスタムエンティティを制作していると、このコマンドを用いてオリジナルのアニメーションを再生したくなることがあります。本記事では、その方法を解説し、playanimationコマンドでカスタムアニメーションを再生できるようにしていきます。前提として、アドオンの制作環境そのものが必要になる旨、予めご了承ください。こちらが詳しいです:

Step 1 アニメーションの登録

まず、アニメーションの本体そのものを作成します。ここでは例として、腕を振るattackというアニメーションを定義しましょう。リソースパック内にanimations/your_entity.animation.json(your_entityはカスタムエンティティの名前)を作成し、以下を貼り付けます:

{
  "format_version": "1.8.0",
  "animations": {
    "animation.your_entity.attack": {
      "loop": false,
      "animation_length": 0.5,
      "bones": {
        "right_arm": {
          "rotation": {
            "0.0": [0, 0, 0],
            "0.25": [-90, 0, 0],
            "0.5": [0, 0, 0]
          }
        }
      }
    }
  }
}
Copied!

animation.your_entity.attackが、このアニメーションの正式名称です。一応、これで定義は完了しましたが、playanimationで呼び出すことはできません。

Step 2 クライアント用エンティティファイルを編集

続いて、先ほどのアニメーションをエンティティに登録し、コマンドで呼び出すためのショートネームを付けます。リソースパック内にentity/your_entity.client.json(your_entityはカスタムエンティティの名前)を作成し、以下を同様に貼り付けましょう:

{
  "format_version": "1.10.0",
  "minecraft:client_entity": {
    "description": {
      "identifier": "your_addon:your_entity",
      "materials": { "default": "entity_alphatest" },
      "textures": {
        "default": "textures/entity/your_entity"
      },
      "geometry": {
        "default": "geometry.your_entity"
      },
      "animations": {
        "attack": "animation.your_entity.attack" // (1) ショートネームをここで定義
      },
      "scripts": {
        "animate": [
          "attack" // (2) ショートネームをここで登録
        ]
      },
      "render_controllers": ["controller.render.default"]
    }
  }
}
Copied!

これによって、attackというショートネームで、先ほど作ったアニメーションを呼び出せるようになります。

playanimationコマンドを実行

ここまで来たら、あとはコマンドを実行するだけです。以下のplayanimationコマンドをゲーム内で実行し、挙動を確認してみましょう:

/playanimation @e[type=your_addon:your_entity,c=1] attack
Copied!

コマンドの最後に指定しているattackが、ステップ2で定義したショートネームです。このコマンドが実行されると、指定されたエンティティが腕を振るアニメーションを1回再生されます。

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

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

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

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

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

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

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