Minecraft【武器・防具・道具】時の時計。(範囲検知)
Java版1.20.6、統合版はv1.20.81で動作確認。
時計を投げると時間が止まる(経験値消費)。
時の時計。v1.20
「時の時計」を投げると近くのプレイヤーの経験値を減らし、モブの動きを止めるます。「時の時計」を拾うか経験値が無くなると効果は解除。コマンドは少し異なりますが、今回はJava版・統合版ともにほぼ同じ仕組みで作る事が出来ました。中級者向けの装置となります。キーボード、コントローラー推奨。※Java版は新コマンド、データコンポーネントに対応。統合版は「hasitem」で装備のデータ値(耐久値)を検知します。
◻︎装置の特徴
・プレイヤー以外の動きを止める。
・アイテムを基準に範囲検知。
【Java版】
・防具立てを使った極小タイマー。
【統合版】
・ティックの遅延を使った極小タイマー。
更新履歴
2024-5-9/古い情報を更新しました。Java版(1.20.5〜)のデータコンポーネントに対応。
2023-4-12/Java版で、経験値が無い時でもタグが消えるように修正しました。
2023-3-28/統合版の新コマンドに対応! Java版ともに無駄なコマンドを省き軽量化しました。
プレイ動画。v1.1(旧式)
時の時計(ときのとけい)を統合版の新コマンドに対応! Java版ともに無駄なコマンドを省き軽量化しました(完成データ付き)。スコアボード不要!?エフェクトを使った極小タイマー(Java版)。統合版はティックの遅延など。#マイクラhttps://t.co/cyoO0ToEgE pic.twitter.com/oZCJf5YLx9
— tokoton0ch (@tokoton0ch) March 28, 2023
目次
1.作成準備
・ログの非表示。
2.コマンドブロックの設置
3.時の時計【Java版】
・時計の入手(名前を変更)。・防具立ての召喚。・範囲の検知(Java版)。
4.時の時計【統合版】
・時計の入手(データ値を変更)。・範囲の検知(統合版)。
5.ワールドデータ
・完成データのダウンロード。
※「as」や「minecraft:」などのコマンドは簡略化しています。一部のコマンド、マルチプレイやサーバーでは必要な場合があります。
作成準備
マルチプレイ対応。※同時使用すると効果が重なります。
ログの非表示。
◻︎ログの非表示とコマンドブロックを入手。
/gamerule commandBlockOutput false /give @s command_block |
コマンドブロックの設置
コマンドブロックは画像に合わせて配置。「ブロック種類」「レッドストーン」を変更します。 変更がある場合は、個別に解説していきます。
◎配置したコマンドブロックの状態/すべて無条件。※()内は統合版の名称。
コマンドブロックの色 | ブロックの種類 | レッドストーン |
黄色 | インパルス | 動力が必要 |
青色 | チェーン(鎖) | 常時実行 |
紫色 | リピート | 常時実行 |
時の時計【Java版】
「時の時計」を投げた時、5ブロック内にいるプレイヤーにタグが付き装置が起動します。「時の時計」を拾うか経験値が無くなると、タグが消え装置は停止します。※使用中はタグの付いたプレイヤーの経験値が消費されます。エフェクト式からコンパクトなアマスタ式に変更しました。
時計の入手(名前を変更)。
アイテムIDにアイテム名や説明文、エンチャントを追加します。※コマンドは長くなるので、メモ帳やテキストエディタを使うと便利です。
【時計】
①時計を1個入手するコマンド。
/give @s clock 1 |
【アイテム名と説明文】
②アイテム名や説明文を追加します(NBT形式)。※item_nameにすると、金床で名前を変更出来ない装備になります。
[custom_name="時の時計",lore=["説明文"]] |
コマンドの結合
アイテムIDに②のコマンド(NBT形式)を繋げます。
give @s clock[custom_name="時の時計",lore=["説明文"]] 1 |
※さらに、エンチャントを付ける場合。(耐久度Lv1)
.....["説明文"],enchantments={levels:{"unbreaking":1}}] 1
改行無しの1行で、チャットに入力して「時の時計」を入手します。
防具立ての召喚。
防具立てを使ったクロック回路で、1秒を計る装置を作ります。
/summon armor_stand ~ ~ ~ {CustomName:"\"時間\""} |
◻︎防具立てに「ロードストーン」を被せます。
item replace entity @e[name="時間"] armor.head with lodestone
範囲の検知(Java版)。
アイテムを基準に、範囲検知してコマンドを実行します。
⑤⑥は動力が必要。⑦条件付き。
【Java版】
①execute at @e[nbt={Item:{components:{"minecraft:custom_name":"\"時の時計\""}}}] run tag @p[distance=..5] add c_toki ------ ②tag @a[nbt={Inventory:[{components:{"minecraft:custom_name":"\"時の時計\""}}]}] remove c_toki ------ ③execute if entity @a[tag=c_toki,level=..0] run tag @a remove c_toki ------ ④execute if entity @a[tag=c_toki,level=1..] run execute at @e[name="時間"] run tp @e[name="時間"] ~ ~ ~ ~18 ~ ⑤execute as @e[type=!player] at @s run tp @s ~ ~ ~ ⑥execute if entity @e[name="時間",y_rotation=0] run xp add @a[tag=c_toki] -1 levels ⑦execute at @a[tag=c_toki] run playsound block.note_block.guitar player @a[tag=c_toki] ~ ~ ~ |
◻︎タグ付きプレイヤー対象
①「時の時計」を投げた時、5ブロック内にいるプレイヤーにタグ「c_toki」を付ける。
------
②「時の時計」がインベントリにある時、タグ「c_toki」を削除。
------
③経験値が0の時、タグ「c_toki」を削除。
------
④経験値が1以上の時、防具立て「時間」を回転。
⑤プレイヤー以外のエンティティを止める。
⑥防具立ての「時間」が0度を向いた時、経験値を1減らす。
⑦プレイヤーにギター音を鳴らす。
※アイテムIDや、説明文は省略可。金床が使える環境では注意が必要。「minecraft:」が必要です。 コマンドの詳細は割愛。
時の時計【統合版】
「hasitem」でアイテムのデータ値(耐久値)も区別出来るようになったので、Java版とほぼ同じ仕組みで作成出来ました。 名前検知比べると万能では無いですが、装置が大幅に簡略化出来そうです。※タグ付け装置不要。データ値が区別出来ないアイテムもあります。v1.20.81現在。
時計の入手(データ値を変更)。
データ値を変更したアイテムを入手して、金床で名前を変更します。時計→「時の時計」を作成。
【時計】
①時計を1個入手するコマンド。
/give @s clock 1 100 |
※同じ名前のアイテムは、インベントリやチェストで重なりますが、データ値(耐久値)を変更したアイテムだけを検知出来ます。
範囲の検知(統合版)。
アイテムを基準に、範囲検知してコマンドを実行します。※統合版ではティックの遅延が使えるので、防具立ては不要です。
⑤⑥は動力が必要。⑥はティックの遅延20。⑦条件付き。
【統合版】
①execute at @e[name=時の時計] run tag @p[r=5] add c_toki ------ ②tag @a[hasitem={item=clock,quantity=1,data=100}] remove c_toki ------ ③execute if entity @a[tag=c_toki,l=0] run tag @a remove c_toki ------ ④execute if entity @a[tag=c_toki,lm=1] ⑤execute as @e[type=!player] at @s run tp @s ~~~ ⑥execute at @a[tag=c_toki] run playsound note.guitar @a[tag=c_toki,lm=1] ~~~ 1 1 1 ⑦xp -1L @a[tag=c_toki] |
◻︎タグ付きプレイヤー対象
①「時の時計」を投げた時、5ブロック内にいるプレイヤーにタグ「c_toki」を付ける。
------
②「時の時計」(データ値100)がインベントリに1個ある時、タグ「c_toki」を削除。
------
③経験値(最大)が0の時、タグ「c_toki」を削除。
------
④経験値(最小)が1以上の時、信号を出す。
⑤プレイヤー以外のエンティティを止める。
⑥20ティック(約1秒)毎に、経験値を1減らす(ティックの遅延20)。
⑦プレイヤーにギター音を鳴らす。
タグ付きプレイヤーがアイテムを拾うか、経験値が0になるとタグが消えるようにしています。 ◻︎タグの確認。 /tag @a list
ワールドデータ
完成データのダウンロード。
【統合版】 v1.20.81〜対応
ダウンロード/時の時計v1.20.mcworld
デバイスに保存→次のアプリで開く→Minecraftを選択。※iOSの場合。
【Java版】 v1.20.6〜対応
ダウンロード/時の時計v1.20.zip
解凍後「saves」フォルダに入れてください。
※二次配布は禁止です。