投稿日:
最終更新:

投げ捨てても戻ってくる、捨てられないアイテムの作り方 - 配布ワールド作成に [コマンド解説]

捨てられないアイテム

RPG風ワールドなどで、「これを捨てたら詰む」ってアイテムがありますよね。例えば大事な扉のカギだとか、PvPで言いますと自分のメインウェポンだとか... 今回は、そんな「捨てられたら困る」アイテムを捨てられなくする方法を解説します。溶岩にポイしても奈落に落としても無駄。即、自分の元へ帰ってきます。

[2016年5月22日追記] この装置はバージョン1.8以降でしか動作しません。

 

「捨てても戻ってくるアイテム」とはどんなもの?

「投げ捨てても戻ってくる」と言っても、どのようなものか想像しにくいですね。アニメーションGIFを用意しました。ご覧ください。

無限エンダーパール

私が大量にエンダーパールを吐き出しているようにも見えますが、私はエンダーマンではありませんのでそんな事できません。手持ちアイテムを見て下さい。ずっとエンダーパールが1個ですね。

実はこれ、高速でQキーを連打してアイテムを捨てているんです。でも捨てられません。
いくらポイ捨てしても、瞬間的に手持ちに復活します。

燃える前に復活

溶岩風呂で捨てても無駄。なんと溶岩に焼かれて消える前に戻ってくるのです。
こんな恐ろしい仕掛け、一体どんなコマンドを使って実現しているのでしょうか。

 

特定のアイテムを捨てられなくする回路とコマンドの解説

それでは、この仕掛けを動かしている回路をお見せします。

アイテムを拾えなくする回路

とってもシンプルですね。クロック回路を除けば、なんとコマンドブロック2つだけです。

 

回路を組み立てる前に、捨てても戻ってくるアイテムを入手しておきましょう。

捨てても戻ってくる「不死身のエンダーパール」を入手するコマンド
このアイテムがターゲットです
/give @p ender_pearl 1 0 {display:{Name:"不死身のエンダーパール",Lore:["捨ててはいけない"]}}

▲長いコマンドなので、適当にコマンドブロックを置いて入力、ボタンで実行して下さい。

 

超高速クロック回路の組み立て

まずは高速クロックを組み立てましょう。

「A」のコマンドブロックに入力するコマンド(クロックを動かす)
/fill ~ ~-1 ~ ~ ~-1 ~ redstone_block
下にレッドストーンブロックを設置します。クロックの都合上、わざとfillなんです。
「B」のコマンドブロックに入力するコマンド(クロックを動かす)
/fill ~ ~1 ~ ~ ~1 ~ stone
上に、ダミーのブロックとして焼石を設置します。

「A」と「B」のコマンドブロックを設置したら、間にレッドストーンブロックを設置して下さい。
こうすることで、挟まったレッドストーンブロックが繰り返し設置され、超高速に信号を発します。


アイテムを検知し、強制的にプレイヤーに拾わせるコマンド

次に、この仕掛けを動かすのに必要となるスコアボードを作成します。


仕掛けを動かすのに必要なスコアボードを作成するコマンド(自分で実行)
/scoreboard objectives add doNotDrop dummy

このコマンドをチャット欄などで実行して下さい。でないと仕掛けは動きません。ここでは、「doNotDrop」という名前のscoreboardを作成しています。


C,Dのコマンドブロック

それから、「C」「D」にコマンドを入力します。

「C」のコマンドブロックに入力するコマンド(常時実行)
/scoreboard players set @e[type=Item] doNotDrop 1 {Item:{id:"minecraft:ender_pearl",tag:{display:{Name:"不死身のエンダーパール",Lore:["捨ててはいけない"]}}}}

まず、プレイヤーが落としたアイテムにスコアの値をセットします。
scoreboardコマンドで、最後にアイテムIDなどの条件を付ければ、特定の種類で、特定の名前や説明文のアイテムだけをターゲットにできます。


「D」のコマンドブロックに入力するコマンド(常時実行)
/entitydata @e[type=Item,score_doNotDrop_min=1] {PickupDelay:0}

「C」のコマンドブロックで、「不死身のエンダーパール」「doNotDrop」スコア1にセットしました。なのでスコアを条件にターゲットを選択し(不死身のエンダーパールだけがターゲットになる)、アイテムの「PickupDelay」の数値を0に設定します。これを「0」にすれば、即アイテムが拾われるのです。

カギの仕掛けと組み合わせたら良さそう

そういえば、前に書いたオリジナルのカギの作り方の仕掛けと相性が良さそうですね。
もし、▲の「とうぞくのかぎ」をターゲットにする場合は、「C」のコマンドブロック/scoreboard players set @e[type=Item] doNotDrop 1 {Item:{id:"minecraft:dye",Damage:0,tag:{display:{Name:"とうぞくのかぎ"}}}}
と入力して下さい。ダメージ値(=データ値)でアイテムを区別するのを忘れずに!

 

覚えておきたい! 今回の要点まとめ

今回の仕掛けで使った、重要なコマンドの情報をまとめました。
これからコマンドを使いこなしたい、という方は是非覚えておいて下さい。

  • 特定の種類、特定の名前、特定の説明文のアイテムに対して何かしたい場合は、先にスコアボードを作って値をセットする!
  • 例えば「毒リンゴ」というアイテムをターゲットにしたい時は
    /scoreboard players set @a isApple 1 {Item:{id:minecraft:apple,tag:{display:{Name:"毒リンゴ"}}}}と書けば、「毒リンゴ」という名前の落ちたリンゴだけに「isApple」スコアを付与する
  • 特定のアイテムにスコアを付与したら、そのスコアを条件にターゲットにする。
    例えばexecuteコマンドなら、/execute @e[score_isApple_min=1] ~ ~ ~ summon LightningBolt
    ↑リンゴには「isApple」スコアが付与されている。それを条件にその場所に雷を落とす。
  • Minecraft 1.8からは、「PickupDelay」タグでアイテムを拾えるまでの時間を決められる! もし「PickupDelay:0」にすれば、近づくと即拾われるアイテムになる。

参考にさせて頂いたページ様

Auto Refill Inventory Item Minecraft 1.8.3 - YouTube
(↑この動画も大変役立ちましたが、HalbzWillingさんのコメントが特に参考になりました。)

 

コメント

記事の内容が最新のものと異なる場合があります。ご了承ください。

“投げ捨てても戻ってくる、捨てられないアイテムの作り方 - 配布ワールド作成に [コマンド解説]” への8件のフィードバック

  1. straf より:

    これ高所落下中に捨てると普通に捨てられますねw

  2. 名無し より:

    ×捨ててはいけない○捨てられないw

  3. fune より:

    私の運営している1.7.10のサーバーで使用したいのですが、1.7.10動作させることは可能でしょうか。

  4. すうじよんよん より:

    ならゲームオーバーになった時にはどうなるでしょうか。

  5. 黒瀬春太 より:

    中に文章を書いた本を捨てられなくするようにする方法を教えてください

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください