【統合版コマンド勢向け】プレイヤーのアクションを検知して1ティックだけ付与するアドオン

Minecraft統合版でコマンドfunctionを使い、様々なシステムを制作されている皆様、こんにちは。

コマンドでの制作中、「プレイヤーが特定のブロックを置いた時」や「ジャンプした瞬間」など、何らかの行動をきっかけにしてコマンドを実行したい、と考える場面は少なくないかと思います。

今回は、そうした「プレイヤーのアクション」をより簡単にコマンドのトリガーとして利用できるよう、特定の行動を検知して1ティック(0.05秒)の間だけプレイヤーにタグを付与する、というシンプルな機能を持つアドオンを制作しましたので、ご紹介させていただきます。

アドオンの主な機能

このアドオンを導入すると、プレイヤーが以下のような行動をとった際に、対応するタグが自動で付与され、そして1ティック後に自動で削除されます。

ブロック設置: PlaceBlock, PlaceBlock_minecraft:stone

ブロック破壊: BreakBlock, BreakBlock_minecraft:dirt

ブロック右クリック: InteractWithBlock, HitBlock_minecraft:chest

ブロック攻撃: HitBlock, HitBlock_minecraft:stone

エンティティ右クリック: InteractWithEntity, InteractWithEntity_minecraft:villager

アイテム使用: itemUse, itemUse_minecraft:bow

エンティティを倒した/倒された時: entityDieA (攻撃側), entityDieB (倒された側)

エンティティへのダメージ: entityHurt

エンティティへの攻撃ヒット: entityHitEntity

左クリック(腕を振る): playerSwingStart, playerSwingStart_minecraft:diamond_sword

ジャンプ: playerJump

スニーク開始: playerSneak

タグは一瞬で消えるため、常時実行するコマンドブロックで execute as @a[tag=…] のようにセレクターで指定することで、その行動が実行されたまさにその瞬間だけ、コマンドを動作させることが可能です。

例えば、以下のような使い方が考えられます。

コマンドでの活用例

例えば、ダイヤモンドブロックを置いたプレイヤーに再生能力を付与する場合は、反復・常時実行のコマンドブロックにこのように記述します

/execute as @a[tag=”PlaceBlock_minecraft:diamond_block”] run effect @s regeneration 5 1

プレイヤーの動きを少しリッチに見せたい時に。ジャンプしたプレイヤーの足元にハートのパーティクルを表示させます。

/execute as @a[tag=”playerJump”] at @s run particle minecraft:heart_particle ~ ~ ~

例えば、棒(stick)を使った時に、魔法の杖のような音を出したい場合です。

/execute as @a[tag=”itemUse_minecraft:stick”] at @s run playsound random.orb @s ~ ~ ~

アドオン配布先

【EventTagger/検知アドオン】プレイヤーの行動を瞬時に検知!1ティックタグ付与アドオン
...

おわりに

このアドオンは、コマンドで何かを作る際の「きっかけ」を増やすための一つのツールとして制作しました。プレイヤーの行動に直接反応するインタラクティブな仕掛けや、特定の操作を検知するシステムなど、皆様の制作活動において、何かしらのヒントや手助けとなれば幸いです。

もしよろしければ、皆さんのワールド制作に役立ててみてください。

※投稿記事に含まれるファイルやリンクにより発生した被害についてクラフターズコロニーは責任を取りません
投稿通報

コメント

コメント通報