NAPOAN.COM by マイクラ思考
by
/ UPDATE :

Mobをジャンプさせる方法 (かつAI無効) - 配布ワールド作成に[コマンド解説 for1.8]

Mobをジャンプさせる方法
Mobを自由にジャンプさせたりできたら楽しそうですよね。
今回は、Minecraft 1.8でMobのAIを無効化しつつ動かす方法を解説します。

「Motion」タグを付けただけじゃ動かせません。あるエンティティが活躍します。
あなたの配布ワールドが、もっと楽しくなりますように。 

 

目次

Mobをジャンプさせる方法 ~動きを止めたMobを動かす~

Eqyeb6un
クリーパーや村人などのMobが、楽しくぴょんぴょんする....
そんな仕掛けがあったらプレイヤーの心もぴょんぴょんしてきますね。


AIを無効化したMobはジャンプできない!?

という事で、まずはジャンプさせるMobを召喚しましょう。
この時、勝手に動かないようにするためにAIを無効化しています。
AIを無効化した村人を召喚

AIを無効化した「JumpV」村人を召喚するコマンド
/summon Villager ~ ~1 ~ {NoAI:1b,CustomName:"JumpV",CustomNameVisible:1}

「NoAI:1b」でAIを無効化し、勝手にどこかへ行ってしまわないようにしています。
また、後でジャンプさせる時のために「JumpV」という名前もつけています。
鳴き声を消したい場合はMobに「Silent:1b」を付けて下さい。
また無敵状態にしたい場合は「Invulnerable:1b」を付けて下さい。
(この時点でMobの向きが気に入らない場合、「Rotation:[90f]」などを追記して調整して下さい。)

そしてこいつをジャンプさせるわけですが、この時点でお察しになられた方もいるでしょう。
上へ動かす「Motion」タグをentitydataコマンドで設定すればジャンプするんじゃないか?

「Motion」タグとは、Mobに動きをつけるタグです。コマンド式TNTキャノンで使いましたね。
これをentitydataコマンドで後から村人に設定すれば、ジャンプしてくれるのでは....?

「JumpV」村人をジャンプさせられるはずのコマンド
/entitydata @e[type=Villager,name=JumpV] {Motion:[0.0,0.5,0.0]}

このコマンドでは、「JumpV」の村人を上へ0.5の力で持ち上げられるはずです。

14 - コピー
しかし、動きません。
なんと「NoAI」でAIを無効化して動きを止めたMobには、Motionが効かないのです。
これじゃ困りますね。どうすれば、AIを無効化したMobをジャンプさせられるのでしょうか。

防具立てとtpコマンドで連動させれば解決!

そこで、あるエンティティが役に立ちます。
「A r m o r S t a n d -BOGUTATE-」の出番です。要するに防具立てを使います。
32 - コピー

透明化した「JumpAS」防具立てを召喚するコマンド
/summon armor_stand ~ ~1 ~ {Invisible:1b,CustomName:"JumpAS",CustomNameVisible:1}

※名前を表示していますが、見えなくしたい場合は「CustomNameVisible」を0にして下さい。

次に、下図のようにクロック回路を組み立てて起動します。
tpコマンドを実効するためのクロック回路
クロック回路は、これまで何度も使ったコマブロ式最速クロックです。
間にレッドストーンを置けば起動します。その隣の「X」には以下のコマンドを入力します。

「X」のコマンドブロックに入力するコマンド (常時実行)
/tp @e[type=Villager,name=JumpV,c=1] @e[type=armor_stand,name=JumpAS,c=1]

「JumpV」の村人を、常に「JumpAS」のアマスタにテレポートさせます。
つまり、防具立てが動けば村人が一緒に動くようになるのです。

準備は整いました。村人をジャンプさせてみましょう。
防具立てを動かしてジャンプさせる

「JumpAS」防具立てをジャンプさせ、間接的にMobをジャンプさせるコマンド
/entitydata @e[type=armor_stand,name=JumpAS,c=1] {Motion:[0.0,0.5,0.0]}

この時、「Motion:[0.0,0.5,0.0]」と0.5だけ上に上げてますが、これだけでかなりジャンプします。
「5」とか設定しちゃうと空の彼方へ消えてしまいそうなほど飛びます。


55 - コピー
他のMobをジャンプさせたい場合は、まずオリジナルの名前でMobを召喚します。
そして先ほどの「X」のコマンドの内容を、Mobの種類や名前に合ったものに変更します。
例えば、「JumpC」のクリーパーを召喚した場合はXに 以下のコマンドを入力します。

「X」のコマンドブロックに入力するコマンド (常時実行)
/tp @e[type=Creeper,name=JumpC,c=1] @e[type=armor_stand,name=JumpAS-C,c=1]


※複数のMobをジャンプさせる場合、それぞれ別の名前に設定し、別の名前の防具立てを準備して下さい。
またtpコマンドのコマンドブロックもジャンプさせるMobの数だけ用意して下さい。


色々なエンティティをジャンプさせてみた

さて、色々なMobをジャンプさせていきたいわけですが、ジャンプできないMobは居るのでしょうか。

三大奇形Mobのジャンプ
ガーディアンブレイズエンダーマンという3大奇形Mobは見事にジャンプできてしまいました。
ガーディアンはポケモンの「はねる」のようですね。

49 - コピー
ウィザーさんは元気にジャンプしてくれました。
しかしエンダードラゴンはうんともすんとも言わず.... 操るのはまだ早いようです。

動かないエンティティをジャンプさせる場合
アイテムやトロッコのような元から動かないエンティティをジャンプさせる場合、防具立てやクロック回路などは全く必要ありません。 以下のコマンドだけ実行すればジャンプしてくれます。

エンティティをジャンプさせる共通のコマンド
/entitydata @e[type=エンティティID,name=名前] {Motion:[0.0,0.5,0.0]}

基本的にはこれでMobが動いてくれます。
動くエンティティには防具立てとクロック回路、動かないエンティティには一つのコマンドだけでいいのです。

39
しっかしこのジャンプさせるコマンド、特に使い時が思い付きませんね....
ダンジョンクリアのお祭とか、お化け屋敷ワールドとかに良いんじゃないでしょうか。

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

色々ごちゃごちゃしてしまいましたので、要点だけまとめます。

  • NoAIで動かなくしたエンティティにMotionタグは効かない!
  • エンティティをダミーの防具立てに常時テレポートさせれば解決!
  • 動かないエンティティは「Motion」タグでジャンプさせる!
  • 鳴き声を消す時は「Silent:1b」無敵にする時は「Invulnerable:1b」
  • Mobを回転させたい時は「Rotation:[角度f]」で設定!

 

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

NEW NBT TAG: Marker | Minecraft Mapmaking - YouTube
(↑アマスタと連動させるアイデアを頂きました。)
Commands - Minecraft Wiki
Chunk format - Minecraft Wiki


15
いかがでしたか。便利な仕掛けは作れましたか。
今回解説したコマンドがお役に立てれば幸いです。
「これはどうするの?」などコメント待ってます。

最近書いたコマンド解説記事

 

Tweet

コメント

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

“Mobをジャンプさせる方法 (かつAI無効) - 配布ワールド作成に[コマンド解説 for1.8]” への4件のフィードバック

  1. でんでん より:

    村人ランチャー完成!!

  2. 名無し より:

    召喚した透明防具立てが攻撃しても溶岩流しても死にません・・・
    /summon ArmorStand ~ ~1 ~ {Invisible:1b,CustomName:”JumpAS”,CustomNameVisible:1}
    にはinvulneraleは付いてないはずですし、自分のワールド(シングル)なのでもし無敵だとしても
    殺せるはずなのですが・・・

  3. 蜜柑 より:

    PortalMOD紹介してください!

  4. でんでん より:

    /kill @e[type=ArmorStand,r=5]
    で半径10m以内のアマスタは死にますよ

コメントを残す

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