Mobをジャンプさせる方法 (かつAI無効) – 配布ワールド作成に[コマンド解説 for1.8]
Mobを自由にジャンプさせたりできたら楽しそうですよね。
今回は、Minecraft 1.8でMobのAIを無効化しつつ動かす方法を解説します。
「Motion」タグを付けただけじゃ動かせません。あるエンティティが活躍します。
あなたの配布ワールドが、もっと楽しくなりますように。
目次
目次
Mobをジャンプさせる方法 ~動きを止めたMobを動かす~
クリーパーや村人などのMobが、楽しくぴょんぴょんする….
そんな仕掛けがあったらプレイヤーの心もぴょんぴょんしてきますね。
AIを無効化したMobはジャンプできない!?
という事で、まずはジャンプさせるMobを召喚しましょう。
この時、勝手に動かないようにするために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の力で持ち上げられるはずです。
しかし、動きません。
なんと「NoAI」でAIを無効化して動きを止めたMobには、Motionが効かないのです。
これじゃ困りますね。どうすれば、AIを無効化したMobをジャンプさせられるのでしょうか。
防具立てとtpコマンドで連動させれば解決!
そこで、あるエンティティが役に立ちます。
「A r m o r S t a n d -BOGUTATE-」の出番です。要するに防具立てを使います。
透明化した「JumpAS」防具立てを召喚するコマンド
/summon armor_stand ~ ~1 ~ {Invisible:1b,CustomName:“JumpAS”,CustomNameVisible:1}
※名前を表示していますが、見えなくしたい場合は「CustomNameVisible」を0にして下さい。
次に、下図のようにクロック回路を組み立てて起動します。
クロック回路は、これまで何度も使ったコマブロ式最速クロックです。
間にレッドストーンを置けば起動します。その隣の「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」とか設定しちゃうと空の彼方へ消えてしまいそうなほど飛びます。
他の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は居るのでしょうか。
ガーディアン、ブレイズ、エンダーマンという3大奇形Mobは見事にジャンプできてしまいました。
ガーディアンはポケモンの「はねる」のようですね。
ウィザーさんは元気にジャンプしてくれました。
しかしエンダードラゴンはうんともすんとも言わず…. 操るのはまだ早いようです。
アイテムやトロッコのような元から動かないエンティティをジャンプさせる場合、防具立てやクロック回路などは全く必要ありません。 以下のコマンドだけ実行すればジャンプしてくれます。
エンティティをジャンプさせる共通のコマンド
/entitydata @e[type=エンティティID,name=名前] {Motion:[0.0,0.5,0.0]}
基本的にはこれでMobが動いてくれます。
動くエンティティには防具立てとクロック回路、動かないエンティティには一つのコマンドだけでいいのです。
しっかしこのジャンプさせるコマンド、特に使い時が思い付きませんね….
ダンジョンクリアのお祭とか、お化け屋敷ワールドとかに良いんじゃないでしょうか。
覚えておきたい! 今回の要点まとめ
色々ごちゃごちゃしてしまいましたので、要点だけまとめます。
- NoAIで動かなくしたエンティティにMotionタグは効かない!
- エンティティをダミーの防具立てに常時テレポートさせれば解決!
- 動かないエンティティは「Motion」タグでジャンプさせる!
- 鳴き声を消す時は「Silent:1b」、無敵にする時は「Invulnerable:1b」
- Mobを回転させたい時は「Rotation:[角度f]」で設定!
参考にさせて頂いたページ様
NEW NBT TAG: Marker | Minecraft Mapmaking – YouTube
(↑アマスタと連動させるアイデアを頂きました。)
Commands – Minecraft Wiki
Chunk format – Minecraft Wiki
いかがでしたか。便利な仕掛けは作れましたか。
今回解説したコマンドがお役に立てれば幸いです。
「これはどうするの?」などコメント待ってます。
最近書いたコマンド解説記事
4件のコメント
-
でんでん2016年3月31日村人ランチャー完成!!
-
名無し2016年7月27日召喚した透明防具立てが攻撃しても溶岩流しても死にません・・・ /summon ArmorStand ~ ~1 ~ {Invisible:1b,CustomName:"JumpAS",CustomNameVisible:1} にはinvulneraleは付いてないはずですし、自分のワールド(シングル)なのでもし無敵だとしても 殺せるはずなのですが・・・
-
蜜柑2016年11月16日PortalMOD紹介してください!
-
でんでん2017年7月22日/kill @e[type=ArmorStand,r=5] で半径10m以内のアマスタは死にますよ