こんにちは!今回はプレイヤーの動きを止めることが出来るコマンド、inputpermissionコマンドについて解説していきます。
このコマンドはプレイヤーの操作が効かないようにすることが出来ます。
そのためtpコマンドと組み合わせることで完全に動かなくすることもできます。
あらゆる操作を無効にできるため、ミニゲーム作成などに便利です!興味がある人はぜひ最後までご覧ください。
構文
構文は以下の通りです。
/inputpermission <set/query> <セレクター(プレイヤー)> <有効・無効にしたい動作> <enable/disabled>
セレクターの対象はプレイヤーのみです。
setで操作を有効、もしくは無効にするか選択することが出来ます。queryにするとセレクターの対象のプレイヤーの操作が有効か無効かを確認することが出来ます。
<enable/disabled>の部分は指定した操作を無効にする場合はdisabledにします。反対に有効に戻す場合はenableにしてください。
<有効・無効にしたい動作>のところでは、無効・有効にしたい、もしくは無効・有効か確認したい操作をIDで指定します。以下はここに入る操作のIDとその説明です。
ID | 説明 |
---|---|
movement | 視点操作以外のすべての動き |
move_front | 前への直接移動 |
move_right | 右への直接移動 |
move_left | 左への直接移動 |
move_backward | 後ろへの直接移動 |
lateral_movement | Y軸以外の移動 |
jump | ジャンプ |
sneak | スニーク |
mount | 乗り物に乗る |
dismount | 乗り物から降りる |
camera | 視点移動を無効にする |
詳しくは以下で解説していきます。
プレイヤーの操作を無効にする
プレイヤーの動きを止める
プレイヤーのすべての移動を止める「movement」
プレイヤーの移動を止めるには<有効・無効にしたい動作>の部分でmovementを選択してください。
無効にする場合は実際には以下のコマンドを打ちます。
/inputpermission set @s movement disabled
このコマンドを打つことで移動やジャンプなどの視点移動以外のすべての操作を止めることが出来ます。
無効にする場合は以下のように出たら成功です。(名前は私のプレイヤー名です。)

これで対象のプレイヤーの移動の操作を無効にできます。
プレイヤーの移動を止める
特定の向きのプレイヤーの移動を止める「move_○○」
特定の向きのプレイヤーの移動を止めるには<有効・無効にしたい動作>の部分でmove_○○(○○には向きが入る)を入力してください。
無効にする場合は実際には以下のコマンドを打ちます。
/inputpermission set @s move_○○ disabled
○○の部分にはfront、right、left、backwardが入ります。それぞれ前、右、左、後ろです。
これで指定された向きの操作が停止されます。例えば前の動きを禁止された場合、パソコン版で言うところのWキーの操作が効かなくなります。
例えば前に動く動作を無効にした場合以下のように出たら成功です。(名前は私のプレイヤー名です。)

すべての横移動を止める「lateral_movement」
プレイヤーの横移動を止めるには<有効・無効にしたい動作>の部分でlateral_movementを入力してください。

これを入れることで、ジャンプ以外のすべての横移動(前後右左の移動)を無効にすることができます。
無効にする場合は実際には以下のコマンドを打ちます。
/inputpermission set @s lateral_movement disabled
無効にした場合以下のように出たら成功です。(名前は私のプレイヤー名です。)

プレイヤーの特定の操作を止める
ジャンプを止める「jump」
こちらは文字通りジャンプを無効化できます。やり方は<有効・無効にしたい動作>の部分にjumpと入れるだけです。
無効にする場合は実際には以下のコマンドを入れます。
/inputpermission set @s jump disabled
無効にした場合以下のように出たら成功です。(名前は私のプレイヤー名です。)

スニークを禁止する「sneak」
こちらはスニーク自体が出来なくなります。やり方は<有効・無効にしたい動作>の部分にsneakと入れるだけです。
無効にする場合は実際には以下のコマンドを入れます。
/inputpermission set @s jump sneak
無効にした場合以下のように出たら成功です。(名前は私のプレイヤー名です。)

乗り物の乗り降りを禁止する「mount」「dismount」
こちらは乗り物の乗り降りを禁止します。やり方は<有効・無効にしたい動作>の部分に乗るのを無効・有効にしたい場合はmount、降りるのを無効・有効にしたい場合はdismountと入れるだけです。
ここで言う「乗り物」はボートやウマやトロッコなどプレイヤーが乗ることができるものすべてです。
無効にする場合は実際には以下のコマンドを入力します。
乗るのを禁止する場合:
/inputpermission set @s jump mount
降りるのを禁止する場合:
/inputpermission set @s jump dismount
無効にした場合以下のように出たら成功です。(名前は私のプレイヤー名です。)


プレイヤーの視点移動を止める
<有効・無効にしたい動作>でcameraを選択すると視点移動の操作を無効化できます。
無効にすると視点移動の操作が出来なくなります。
無効にした場合以下のように出たら成功です。(名前は私のプレイヤー名です。)

この状態になると視点の操作が全く効かなくなります。

操作が有効・無効か確認する
inputpermissionの後をqueryにすることで操作が有効・無効か確認することが出来ます。
enableとdisabledは省略可能です。指定した場合、有効・無効(表示ではオンとオフ)のどちらかのみの数字が表示されます。
下の画像はmovement、つまり操作が有効か無効か調べました。

この画像の時は移動が有効でした。そのためオンの方が1になっています。
このように1になっている方が今のモードです。
tpコマンドとの違い・組み合わせ
tpコマンドはコマンドブロックでリピートすることで強制的にプレイヤーの位置と視点を固定できますが、大きな違いはtpコマンドは操作が効くため、操作をしようとすると画面がガタガタしてしまいます。

それに対してinputpermissionコマンドは操作を無効にするため、自分で動こうとしてもガタガタしません。
ただしinputpermissionコマンドは落下や爆風など操作とは関係ない動きは止めることが出来ないため、tpコマンドと組み合わせることで完全に止めることが出来るでしょう。
終わりに
操作を止めることが出来るのは画期的ですね!筆者もミニゲームを作る際のムービーのような操作を無効にしたいときやミニゲームのルールを作るときに活用しています。
ぜひ自分なりに活用してみてください
それでは!