マルチプレイなら『シン・VPS』がおすすめ!

【解決】コマンド無効にはenable-command-block

【解決】コマンド無効にはenable-command-block

この記事では、Minecraft Java Edition(バージョン1.18.1)の情報をもとに執筆しています。
そのほかのバージョンや機種などでの動作は保証できません。

コマンドを無効にしたいマインクラフター
「tpコマンドをリピートしちゃって動けなくなっちゃったからコマンドブロックを無効にしたい。どうすれば無効にすることができる? 全てのコマンドを無効にしないで、特定のコマンドだけを無効にするとかできるのかな?」

こんな疑問を解決します!

本記事の内容
  • コマンド無効にはenable-command-block
  • 「動力が必要」にすると、赤石信号の有無で無効になるかどうかが決まる

こんにちは! マインクラフターのなつめ(@natsume_717b)です。

なつめ

マイクラ歴は5年程で、最近は脱出マップを配布・制作しています!
→配布マップ・ダウンロードページ

この記事では、コマンドブロックを無効化する方法について解説しています。

コマンドを扱っていると、誤ってtpコマンドをリピートしてしまい、身動きが全く取れなくなってしまうなんて事故が起きることもあります。

原因となるコマンドブロックの座標が分かっていれば、setblockコマンドでコマンドブロックを消してしまおうといった対処法が有効なのですが、いちいちコマンドブロックがある座標を把握することなんて出来ません。

実際、私も同じミスを犯してしまった経験があるのですが、今回紹介するテクニックを使えばコマンドブロックを無効にして修正しなおすことが可能です。

コマンドを扱うならぜひ覚えておいて欲しい内容ですね。
それでは、さっそくそのやり方を見ていきましょう!



コマンド無効にはenable-command-block

コマンドを無効にするには、enable-command-blockという項目をtrueにする必要があります。

しかし、これはコマンドで操作するものではありません。
サーバーを構築した際に生成されるファイルの1つである、server.propertiesの中に存在するものです。

なので、まずはサーバーを構築する必要があります。
(この記事ではサーバーは既に構築してあるものとして解説していきます)

シングルプレイで作業していたワールドのコマンドブロックを無効にしたいという方でも、ワールドのデータをサーバーのワールドと入れ替えるように移行すれば、問題ありません。
つまりシングルプレイ、マルチプレイのどちらにも対応しているということになります。

enable-command-blockの項目を設定するには、server.propertiesのファイル形式を.txtに変更してテキストファイルに変換すればOKです。
.txtに変換することで、server.propertiesの中身を確認したり、変更することができます。

#Minecraft server properties
#Fri Dec 31 15:54:54 GMT+09:00 2021
enable-jmx-monitoring=false
rcon.port=25575
gamemode=survival
enable-command-block=false
enable-query=false
level-name=world
motd=A Minecraft Server
query.port=25565
pvp=true
difficulty=easy
network-compression-threshold=256
require-resource-pack=false
max-tick-time=60000
use-native-transport=true
max-players=20
online-mode=true
enable-status=true
allow-flight=false
broadcast-rcon-to-ops=true
view-distance=10
server-ip=
resource-pack-prompt=
allow-nether=true
server-port=25565
enable-rcon=false
sync-chunk-writes=true
op-permission-level=4
prevent-proxy-connections=false
hide-online-players=false
resource-pack=
entity-broadcast-range-percentage=100
simulation-distance=10
rcon.password=
player-idle-timeout=0
force-gamemode=false
rate-limit=0
hardcore=false
white-list=false
broadcast-console-to-ops=true
spawn-npcs=true
spawn-animals=true
function-permission-level=2
text-filtering-config=
spawn-monsters=true
enforce-whitelist=false
resource-pack-sha1=
spawn-protection=16
max-world-size=29999984

この中からenable-command-blockという項目を探し、falseをtrueに変更して上書き保存します。
保存後に.txtを.propertiesに戻せば、そのサーバー(ワールド)のコマンドブロックは無効化された状態になります。

ワールドに入ってみるとコマンドブロックが無効になっているはずですので、リピートされたtpコマンドで動けなくなっていたとしても、動けるようになります。

もしもコマンドブロックが無効になっていない場合は
/reload
と打って、サーバーを再読み込みしてみてください。
それでもコマンドブロックが無効にならない場合は、どこかスペルミスなどをしている可能性などがあります。

悩みの種となっているコマンドブロックを修正して、server.propertiesのenable-command-blockをfalseに変更しなおせば、再度コマンドブロックを機能させることができます。

また、シングルプレイのワールドの場合は、savesからworldにいれたようにworldからsavesに移し替えれば、今まで通りシングルプレイから作業することができます。

コマンドブロックによるトラブルが起こった場合は、まずはenable-command-blockをtrueにして修正作業をしましょう!

「動力が必要」にすると、赤石信号の有無で無効になるかどうかが決まる

上記で紹介した方法はワールドに存在しているコマンドブロックをすべて無効にする方法でした。
しかし、中には特定のコマンドブロックだけを無効にしておきたいという方もいるかもしれません。

そんな方は、コマンドブロックの設定を「動力が必要」にしておけばOKです。

「動力が必要」とは、赤石信号を受けている間だけ機能するようになり、赤石信号が来ていない場合には動作することがありません。

なので、ダイヤモンドを1つ付与するコマンドがリピートコマンドブロックに無条件、動力が必要という設定で内蔵されていた場合、赤石信号を受けている間はダイヤモンドが延々と1つづつ増えていきますが、赤石信号を受けていない場合には何も起きません。

executeコマンドでコマンドを実行する条件を指定しておくと、その条件を満たしつつ赤石信号が来ている時にだけ実行されるようになるので、条件分岐のようなことが可能となります。

なので、コマンドブロックの設定を「動力が必要」にすることで、そのコマンドブロックが機能するかどうかを、赤石信号によってオンオフのように切り替えることができます。

まとめ

というわけで、今回のまとめです。

ポイント
  • コマンドブロックを無効にするには、server.propertiesのenable-command-blockをtrueに変更する必要があります。
  • コマンドブロックごとに無効にしたい場合は、「動力が必要」に設定することで赤石信号を受けない限りは機能させないようにすることができます。

この記事は以上になります。

  • 【まとめ】functionコマンドの基本から応用【マイクラ】
  • 【まとめ】カスタムストラクチャーの実装・カスタム方法【マイクラ】