統合版マイクラで
ブタに乗って、上を向いたら
空を飛べる
コマンドを作る
ブタ以外にも応用可能
本記事は統合版マイクラ
win10, Android, iOS, nintendo switch, PS4, Xboxに対応しています
下準備
まずは
コマンドブロックを置く場所を決める
遠くまで移動し
コマンドブロックがシミュレーション距離から外れた場合に備え
ティック領域を設定
/tickingarea add [from : x y z] [to : x y z] name
作業しやすいように、太陽の動きを止める
/gamerule dodaylightcycle false
天候が変わらないようにする
/gamerule doweathercycle false
他のモブが湧かないようにする
/gamerule domobspawning false
モブを倒した時のアイテムドロップ無し
/gamerule domobloot false
コマンドブロック
ここからはコマンドブロックに
コマンドを設定していく
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
これでブタに乗り
上を向くと空を飛べる
コマンドを作るのが面倒な人は
ワールド配布しているのでどうぞ
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の範囲の角度のとき
を指定している
角度は強調して表現している
youtube
実際に飛んでいる様子
ちなみに撮影しているのは@sumiso_f5af7d
撮影している方もブタに乗っている