脱出ゲーム・謎解き・RPG・アクション系などなど
配布ワールド全般に使えるギミック「鍵付きドア」を今回は紹介します。
といっても、
【マイクラ】金床の名付け機能を使った鍵付きドアの作り方
で紹介した鍵付きドアとは少し違います。
今回はtestforを利用しているので、
ドアの前に立っただけでアクションが起こります。
※バージョン1.9を使っています。
スポンサーリンク
どのようなギミックか
カギを手に入れ
鍵穴の目の前に立つと
カギが消費されて、ドアが開く!
リソースパック配布
イカスミをカギ、カボチャを鍵穴
のテクスチャに書き換えたリソースパックを作ったので、配布します。
これ以降はこのリソースパックを導入する前提で解説します。(なくても大丈夫)
リソースパック「keypack」配布ページは こちら
コマンドブロックの構造


①の内容

条件に合うプレイヤーを検知します。検知した際にコンパレーターを介してRS信号が②③送られます。
コマンド
/testfor @p[x=,y=,z=,dx=0,dy=0,dz=0] {SelectedItem:{id:"minecraft:dye",tag:{display:{Name:"宝物庫の鍵"}}}} |
x=,y=,z=の部分は鍵穴の目の前の座標を入れます。
宝物庫の鍵の部分は鍵の示名と同じにします。
ちなみに座標の取り方がわからない方はこちら
設定
リピート・無条件・常時実行
②の内容
ドアの下にレッドストーントーチを設置します。
コマンド
/setblock x y z redstone_torch |
x y zの部分はドアの下の座標を指します。
ドアの下の座標とはココのこと
設定
インパルス・無条件・動力が必要
③の内容
インベントリから"minecraft:dye"を1つ消去します。
コマンド
/clear @p minecraft:dye 0 1 |
設定
インパルス・無条件・動力が必要
まとめ
カギの入手コマンド
/give @p minecraft:dye 1 0 {display:{Name:"宝物庫の鍵",Lore:[「Treasure house key」と書かれている。]}} |
宝物庫の鍵 の部分は表示名にあたります。
「Treasure house key」と書かれている。
の部分は説明文にあたります。
もし鍵穴の部分がいらないのであれば①の座標の部分をドアの目の前の座標を入れれば、鍵を持っている時にドアの目の前に立つとドアが開くようになります。
スポンサーリンク
コメント
なんかできない?スイッチ版です
現在、Java版以外ではNBTタグが使えません。
{}のような記号がNBTタグの特徴です。
僕も
ひえー
executeコマンドにentity/block/blocks機能が実装されて、
testfor/testforblock/testforblocksコマンドがなくなったそうです!
エレベーターの作り方
教えて上げて下さい!
知ってる人は、もし完成したらコメント下さいませ
岡本
一字一句違わず打ち込んだのですが「Invalid tag encountered,expected ‘{‘ as first char.」と出て動作しません。鍵を検知できていないことだけは分かるのですが。
java版でやっていますが、バージョンなどによって動作しないのでしょうか。
もっと分かりやすく
1.13からはtestforコマンドじゃなくてexecuteで検知するようになったはず
いつも参考にしています。こちらの内容で、1.13以降バージョンの記事をお願いしたいです。
1.12.2で、入場券を使って入る仕組みにしたいのですが、
testfor @p[x=1861,y=4,z=644,dx=0,dy=0,dz=0] {SelectedItem:{id:”minecraft:paper”,tag:{display:{Name:”入場券”}}}}
と入れても、
(入場券:アイテムは紙,座標は正しく入力した。{SElectdeItem以降はコピペ→書き換え)
OOO(名前)は必要なデータ構造と一致しませんでした
と出て、できません。
なぜですか?
すみません、自己解決しました。