sumisoクラフト

sumisoクラフトはてなブログ拠点

【統合版マイクラ】飛べるブタの作り方

統合版マイクラ

ブタに乗って、上を向いたら

 

空を飛べる

 

コマンドを作る

 

f:id:sumiso_c0db8c:20210509143832j:plain

ブタ以外にも応用可能

 

本記事は統合版マイクラ

win10, Android, iOS, nintendo switch, PS4, Xboxに対応しています

 

Java版マイクラはコマンドの文法が違うので注意

 

 

 

 

下準備

まずは

コマンドブロックを置く場所を決める

 

遠くまで移動し

コマンドブロックがシミュレーション距離から外れた場合に備え

ティック領域を設定

/tickingarea add [from : x y z] [to : x y z] name

 

作業しやすいように、太陽の動きを止める

/gamerule dodaylightcycle false

 

天候が変わらないようにする

/gamerule doweathercycle false

 

他のモブが湧かないようにする

/gamerule domobspawning false

 

モブを倒した時のアイテムドロップ無し

/gamerule domobloot false

 

 

 コマンドブロック

ここからはコマンドブロックに

コマンドを設定していく 

f:id:sumiso_c0db8c:20210509145336p:plain

6個あるように見えるが

スペルミスにより5個しか稼働していない

 

コマンドブロックを用意

/give @s command_block

コマンドブロックは

リピート

 

レッドストーン信号が必要

にし、レバーでON/OFFを切り替えられるようにした

 

 

まずは安全に着陸するために

ブタに落下ダメージを入れないコマンド

execute @e[type=pig] ~~~ execute @p[r=1] ~~~ effect @e[type=pig, c=1] slow_falling 3 0 true

 

コマンド解説は次の項目でする

 

上を向いた時、ブタが上昇するコマンド

execute @e[type=pig] ~~~ execute @p[r=1, rx=-5, rxm=-25] ~~~ effect @e[type=pig, c=1] levitation 3 0 true
execute @e[type=pig] ~~~ execute @p[r=1, rx=-26, rxm=-50] ~~~ effect @e[type=pig, c=1] levitation 3 1 true
execute @e[type=pig] ~~~ execute @p[r=1, rx=-51, rxm=-90] ~~~ effect @e[type=pig, c=1] levitation 3 2 true

 

1つずつコマンドブロックに設定する

 

上を向いた時、ブタの移動速度が上がるコマンド

execute @e[type=pig] ~~~ execute @p[r=1, rx=-10, rxm=-90] ~~~ effect @e[type=pig, c=1] speed 3 10 true

 

これでブタに乗り

上を向くと空を飛べる

 

コマンドを作るのが面倒な人は

ワールド配布しているのでどうぞ

www.dropbox.com

 

switchはダウンロードできないので

頑張ってコマンドを組んでほしい

 

 コマンド解説

 

ブタ飛行システムは主に

 

executeコマンド

effectコマンド

 

で実現している

 

 executeコマンド

executeは直訳すると

「実行する」

という意味

 

指定したターゲットにかわって

コマンドを実行させる

ことができる

 

入れ子にすることも可能

 

例えば、ブタに落下ダメージを入れないコマンドでは

execute @e[type=pig] ~~~ execute @p[r=1] ~~~ effect @e[type=pig, c=1] slow_falling 3 0 true

 2回、executeを使用している

 

一つ目のexecuteは

execute @e[type=pig] ~~~ (実行させたいコマンド)

@eで対象をエンティティにし

[type=pig]でブタを指定

~~~ で、ブタがいる座標を基準に次のコマンドを実行させる

 

エンティティとは

 

ブロック以外の、座標の情報を持つもの

 

プレイヤー以外のモブ(生き物)はエンティティだ

(他にも、防具立てや、投げたトライデント、経験値オーブなども含まれる)

 

対象が「エンティティ」では広すぎるので

type

で対象を絞る

 

今回はブタ(pig)だが

ここを書き換えれば

他のモブにも応用できる

 

 

2つ目のexecuteは

execute @p[r=1] ~~~ (実行させたいコマンド)

 @pで最も近くのプレイヤーを指定

 

r = 1

で半径1ブロック以内に絞っている

 

1つ目のexecuteで

ブタを基準点に指定したので

 

ブタの1ブロック以内にいるプレイヤーが

対象となる

 

最後に

effect @e[type=pig, c=1] slow_falling 3 0 true

 エフェクトコマンドでポーション効果を与える

対象はエンティティ

タイプはブタ

c = 1 で

基準点から最も近くの1体だけ

を対象とする

 

slow_falling 3 0

低速落下を3秒間

レベル0

trueで湯気を非表示

 

まとめると

execute @e[type=pig] ~~~ execute @p[r=1] ~~~ effect @e[type=pig, c=1] slow_falling 3 0 true

 は

あるブタから1ブロック以内にプレイヤーがいたとき

そのブタに低速落下を3秒間かける

コマンドだ

 

プレイヤーが向いている方向を検知する方法 

 上を向いた時、

ブタが上昇するコマンドも基本は同じだ

execute @e[type=pig] ~~~ execute @p[r=1, rx=-5, rxm=-25] ~~~ effect @e[type=pig, c=1] levitation 3 0 true

 

levitationは浮遊

シュルカーの攻撃を受けたときの効果だ

 

上を向いた時だけ

ブタを上昇させたいので

2つ目のexecuteで

プレイヤーが向いている角度を

指定している

 

execute @p[r=1, rx=-5, rxm=-25] ~~~ 

 

垂直方向

rxからrxmの範囲の角度のとき

を指定している

 

f:id:sumiso_c0db8c:20210522173723p:plain

 角度は強調して表現している

 

 

youtube

 

実際に飛んでいる様子

 

 

ちなみに撮影しているのは@sumiso_f5af7d

撮影している方もブタに乗っている