はじめに
今回は TNTキャノン開発に便利なコマンドを紹介します。 コマンドの動作を確認した環境はJava Edition 1.14.4~1.19.2です。 前半はバニラ、後半はCarpetというMODを使ったコマンドを紹介します。 前半と後半の間にコマンド周辺の便利な小技を紹介します。
スクリーンショットは載せていないので、辞書的に使ってください。
バニラ編
summon - TNTを召喚
TNTを召喚します:
/summon tnt ~ ~ ~ {Fuse:80,Motion:[0.0d, 1.0d, 0.0d]}
Fuse
は爆発までの時間(単位:gt)です。20gtで1秒です。
速度は10以下のみ指定可能です。10を超えた値を入力すると0として解釈されます。
3つのにょろにょろはチルダです。相対座標を指定します。
例えば/summon tnt ~ ~2 ~
と書けば、足元から2ブロック上にTNTが召喚されます。
絶対座標で指定する場合は数字を直接書きます:
/summon tnt 10 80.5 0 {Fuse:80,Motion:[0.0d, 1.0d, 0.0d]}
kill - 着火されたTNTを削除
着火された(=エンティティと化した)TNTのみを削除します:
/kill @e[type=tnt]
data - TNTの座標・速度を取得
1つのTNTが持っている情報をすべて表示します:
/data get entity @e[type=tnt,limit=1]
座標だけ取得したい場合:
/data get entity @e[type=tnt,limit=1] Pos
x座標のみ(1行目)、y座標のみ(2行目)、z座標のみ(3行目)取得したい場合:
/data get entity @e[type=tnt,limit=1] Pos[0] /data get entity @e[type=tnt,limit=1] Pos[1] /data get entity @e[type=tnt,limit=1] Pos[2]
速度だけ取得したい場合:
/data get entity @e[type=tnt,limit=1] Motion
各軸単独の成分を取得したい場合は座標と同じように[0]
などを末尾につけます。
なお、/data
はコマンドブロックで実行してもログに表示されません。
コマンドブロックで座標などを取得したい場合は次で紹介する/tellraw
を使います。
tellraw - TNTの座標・速度を取得
/tellraw
では複数のTNTの座標・速度を取得できます。
座標(x, y, z)を表示:
/tellraw @a {"entity":"@e[type=tnt]","nbt":"Pos"}
速度を測定するにはPos
をMotion
に変えます:
/tellraw @a {"entity":"@e[type=tnt]","nbt":"Motion"}
x, y, z軸単独の成分を取得したい場合は/data
同様[0]
, [1]
, [2]
を末尾につけます:
/tellraw @a {"entity":"@e[type=tnt]","nbt":"Pos[0]"} /tellraw @a {"entity":"@e[type=tnt]","nbt":"Pos[1]"} /tellraw @a {"entity":"@e[type=tnt]","nbt":"Pos[2]"}
これは速度(Motion
)でも同じです:
/tellraw @a {"entity":"@e[type=tnt]","nbt":"Motion[0]"} /tellraw @a {"entity":"@e[type=tnt]","nbt":"Motion[1]"} /tellraw @a {"entity":"@e[type=tnt]","nbt":"Motion[2]"}
TNTトロッコの場合はtnt
をtnt_minecart
に変えます。
これは/summon
、/data
でも同様です。
便利な小技
コマンド基本操作1
/
キーを押したあと↑
キーを押すことで過去に実行したコマンドを復元できます。
↓
で未来のものに戻れます。
コマンド基本操作2
F3+D
で表示を全て消せます。
コマンドのログの場所
C:/Users/(ユーザー名)/AppData/Roaming/.minecraft/logs/latest.log
がログです。
ゲームディレクトリを変えていれば、.minecraft
以上のパスを変えてください。
latest.log
には起動してから書かれたログがすべて載っています。
コマンドを大量に実行してチャット欄から見られなくなったときに使えます。
メモ帳で開くことができます。
MOD編
後半はMOD導入で使えるコマンドの紹介です。 CarpetというMODを導入します。 1.14.4から対応しています。 導入の仕方は各自で調べてください。
ブロック破壊を無効化
爆発によるブロック破壊を無効にします:
/carpet explosionNoBlockDamage true
ブロック破壊を有効にします(デフォルトに戻す):
/carpet explosionNoBlockDamage false
TNTの爆発座標を測定
簡易的に表示します:
/log explosions brief
※ここで表示されるy座標は爆発座標であることに注意してください。TNT自身の座標よりも0.06125 (= 0.98 / 16)高い値が表示されます。
※1.14.4にこのコマンドはありません。1.15.2以上で使えます。1.14.4では/log tnt brief
を代わりに使ってください。
詳細に表示します:
/log explosions full
full
を指定すると他のエンティティに対して与えた速度を知ることができます。
表示を停止させるとき:
/log explosions clear
同一tickで爆発したとしても順番を揃えて表示してくれます。
ちなみに、バニラの状態で/data
や/tellraw
を使ったとしても爆発するtickの座標は取得できません。バニラでは取得できない情報を取得できる有用なコマンドです。
TNT着火時のランダムな跳ねを無効化
TNT着火時の横方向の(ランダムな)速度ベクトルをゼロにします:
/carpet tntPrimerMomentumRemoved true
デフォルトに戻します:
/carpet tntPrimerMomentumRemoved false
ブロックをすり抜ける
クリエイティブモードで飛行中、ブロックをすり抜けられるようにします。 スペクテイターモードと同じ感じです。
/carpet creativeNoClip true
入り組んだ機構の内部に入り配線を組み直す場面で活躍します。
※1.14.4にこのコマンドはありません。1.15.2以上で使えます。
デフォルトに戻します:
/carpet creativeNoClip false
tick - 時間停止
時間停止・進行を切り替えます:
/tick freeze
tick - ステップ実行
/tick freeze
で時間を止めているときに実行します。
以下は20gt進めるコマンドです:
/tick step 20
tick - 時速の変更
時間の流れの早さを変えます。 以下は1秒あたり2gt進めるコマンドです:
/tick rate 2
なお、以下のコマンドも併用すると良いです:
/carpet smoothClientAnimations true
ピストンやエンティティの描画がスムーズになります。
最後に
筆者がMinecraftに復帰する際にとても役立ったので、共有しました。 みなさんのTNTキャノン製作に役立てられたら嬉しいです。