
dsgamerのまいくらぺーじ

3x3破壊ピッケルについて
まずはどのような機構なのか考えてみましょうか
・ブロックを壊す
・周りのブロックが指定したブロックか確認する
・周りのブロックを壊す
あら簡単な機構ですね
それでも意外と時間がかかるんですが作っていきましょうか

画像(機構紹介ページ)
機構などはここで紹介しています
画像が多いのでかなり重いかも...
(1.ブロックを壊したことを検知する)
<この下のステップどおりにする
場合は不要です>
まずはこれが必須ですよね
これは1.7から追加された
stat.breakBlock.minecraft.<ブロック名>
でブロックの破壊回数が取得可能なので
それを使用します
<この下のステップ通りにする場合は不要です>
コマンドとレイアウトはこんな感じ
スコア作成
/scoreboard objectives add 3x3breakflag stat.breakBlock.minecraft.stone
コマンドブロックゲット
/give @p minecraft:command_block
設置して編集
/testfor @p[score_3x3breakflag_min=1]
設置したコマンドブロックにクロックをつなげる
例えばこんなかんじ
[ホ→][←ホ][←レコ][レリ→][コマブロ]
ホ=ホッパー
レコ=レッドストーンコンパレータ
レリ=レッドストーンリピーター
これで石を壊したことを検知できるようになりました
2.周りのブロックを壊す(周りのブロックを検知する)
一番難題とも言えるのですが
execute(指定したEntityがコマンドを実行する)
を使えば実現できそうです
コマンドとレイアウトはこんな感じ
レイアウト準備
別にどんなレイアウトでも良いのですが
とりあえず自分が作ったレイアウトを載せます
(わかりやすいですが省スペースではないです)
[コ1][コ1][コ1] [コ1][コ1][コ1] [コ1][コ1][コ1]
[レ] [レ] [レ] [レ] [レ] [レ] [レ] [レ] [レ]
[コ2][コ2][コ2] [コ2][コ2][コ2] [コ2][コ2][コ2]
↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
→→→→ → → → → → → → →
コ=コマンドブロック
レ=↓向きレッドストーンコンパレータ
矢印=レッドストーン(ギリギリ距離は足ります)
コマンドブロック2の設定
/execute @p[score_3x3breakflag_min=1]
<検知位置> testforblock ~ ~ ~ minecraft:stone
検知するブロック位置はそれぞれに
←の表を参考に設定してください
3.周りのブロックを壊す(周りのブロックを破壊する)
表通りにすれば問題ありません
コマンドはこんな感じ
コマンドブロック1の設定
/execute @p[score_3x3breakflag_min=1]
<破壊位置> setblock ~ ~ ~ minecraft:air 0 destroy
検知するブロック位置はそれぞれに
←↑の表を参考に設定してください
ダウンロードはこちら