こんにちわ
今回はゲームモードを変更するアイテムを、コマンドで作る方法をご紹介します
ゲームモード変更するコマンドを仕込んだアイテムがあると便利な方は次のような方です
コマンドを打った後の動作確認時などにクリエイティブモードとサバイバルモードを頻繁に切り替えるとき、いちいち設定メニューを開いたり、/gamemode survival(s)や/gamemode creative(c)などとコマンドチャット欄を開いたりするのが面倒だと感じている方
逆に設定メニューを開いたり、いちいちチャットとコマンド欄を開くのが億劫ではない方は参考程度までに読んでいただけたらと思います(^^♪
今回は不吉な試練の鍵を持つとクリエイティブモードにするアイテムにし、試練の鍵を持つとサバイバルモードにするアイテムにします
ちなみにコマンド切り替えに使用するアイテムはなんでもいいです
とはいってもモード変更に使うアイテムは手持ちインベントリに常時入れておくものなので、自分の中でモード変更に使うアイテムであることが分かりやすいアイテムを使うのがおすすめです
1 クリエイティブモードで、コマンドブロックを入手
コマンドブロックを入手するコマンド
/give @s command_block
2 コマンドブロックを設置
こんな感じでコマンドブロックを設置します
クリエイティブモードにするためのコマンドブロック1つとサバイバルモードにするためのコマンドブロックを1つ使います
3 コマンドブロックの内容
1つ目:不吉な試練の鍵を持つとゲームモードをクリエイティブモードにするコマンド
/execute as @e[hasitem={item=ominous_trial_key,location=slot.weapon.mainhand}] run gamemode creative
リピート・無条件・常時実行
2つ目:試練の鍵を持つとゲームモードをサバイバルモードにするコマンド
/execute as @e[hasitem={item=trial_key,location=slot.weapon.mainhand}] run gamemode survival
リピート・無条件・常時実行
ここまでで、ゲームモード変更ができるアイテムは完成です
ただちょっと不便な点がありますので、続けて以下を読み進めてください
4 コマンド出力結果、実行ログを非表示にする
このままだと、画面側にコマンド実行ログが表示されます
煩わしいので、表示しないようにしておきます
チャットとコマンド欄を開いて以下2つのコマンドを入力していきます
/gamerule commandblockoutput false
/gamerule sendcommandfeedback false
5 コマンドブロック有効範囲を広げる
コマンドブロックが有効な範囲はコマンドブロックを置いた座標(チャンク)を中心に、シミュレーション距離の範囲です
コマンドブロックから遠くに離れると、コマンドブロックが動かなくなるので、コマンドブロックが常に動作するようにtickingareaコマンドで設定しておきます
1で設置したコマンドブロックの真上に立って、以下コマンドを実行します
tickingareaコマンドの構文は以下のとおりですが、詳しく知りたい方はwikiも参考にしてください
[構文]
tickingarea add circle <center: x y z> <radius: int> [name: string] [preload: Boolean]
指定された点を中心とし指定された半径を持つ球の形にティック領域を作成する。
こうすることで、コマンド実行座標を中心に円形状に半径3ブロック以内の設置したコマンドブロックが常に読み込まれることとなり、遠くに離れても、異なるディメンションでもモード変更用のアイテムを持ち替えることでモード変更ができます
ディメンションが変わってもコマンド仕込みのアイテムを使うことができます
ちなみに、今回のコマンド仕込みのアイテムはスペクテイターモードからサバイバルモードやクリエイティブモード、アドベンチャーモードへの変更はできません
というのもスペクテイターモード中はインベントリが表示されず、アイテムの持ち替え自体ができないからです
なお、インベントリでアイテムスロットが表示されてアイテムの持ち替え可能なサバイバルモード・クリエイティブモード・アドベンチャーモードからスペクテイターモードへの変更はできます
今回は以上です
それではまた~