【簡単!】マイクラ Java版 暗視コマンドで夜も洞窟も安心【永遠の視界を手に入れよう】
Minecraftの世界で、夜の闇や洞窟の奥深くは常にプレイヤーにとって挑戦の場です。敵モブの危険、足元の見えにくさ、建築や探索の効率低下…。これらはすべて「視界の悪さ」が原因となることが多いでしょう。
もし、そんな暗闇がまるで昼間のように明るく見えたら? 松明を大量に持ち歩く必要もなく、洞窟の壁にいちいち設置する手間もなく、常に安全な視界で冒険や建築に集中できたら?
それを可能にするのが、暗視(Night Vision)効果です。そして、この効果をコマンド一つで、しかも「永遠」とも呼べるほど長時間、自分自身や他のプレイヤーに付与する方法が存在します。
この記事では、Minecraft Java版における暗視コマンドの基本から応用、そして「永遠」に効果を維持するための詳細なテクニックまでを、初心者の方にも分かりやすく徹底的に解説します。この記事を読めば、あなたも暗闇のストレスから解放され、より快適で効率的なマイクラライフを送れるようになるでしょう。
さあ、コマンドの世界へ飛び込み、永遠の暗視を手に入れましょう!
1. 暗視効果とは何か? マイクラの暗闇を克服する力
Minecraftにおける「暗視」とは、文字通り暗い場所を明るく見せる特殊な効果です。この効果が付与されている間、プレイヤーの視界はまるで昼間のように明るくなり、夜空の下でも、光の届かない洞窟の奥深くでも、敵モブや地形をはっきりと視認できるようになります。
通常、暗視効果を得るには以下の方法があります。
- 暗視のポーション(Potion of Night Vision)を飲む: 一時的に暗視効果を得られますが、効果時間には限りがあり、インベントリを圧迫します。
- 暗視のポーション(スプラッシュ/残留)を投げる: 他のプレイヤーやモブに効果を付与できますが、これも一時的です。
- 暗視のティップドアロー(Tipped Arrow of Night Vision)を使う: 攻撃対象に一時的に効果を付与できます。
- ビーコン(Beacon)の効果範囲に入る: 特定のピラミッド構造の上に設置されたビーコンのパワーとして暗視を選択できますが、効果範囲は限定的で、ビーコン自体の設置コストも非常に高いです。
これらの方法も便利ですが、いずれも時間や場所に制限があったり、リソースが必要だったりします。これに対し、コマンドを使う方法には、以下のような大きなメリットがあります。
- 手軽さ: コマンド入力だけで即座に効果を発動できます。
- 持続性: 最大限の効果時間を設定すれば、「永遠」と呼べるほど長時間効果を持続させられます。
- 対象の自由度: 特定のプレイヤー、全てのプレイヤー、特定の条件を満たすプレイヤーなど、効果を付与する対象を細かく指定できます。
- パーティクルの非表示: 効果発動時に表示されるパーティクル(モヤモヤした視覚効果)を消すことができます。
特に、コマンドで設定できる「永遠」に近い長時間効果は、ポーションなどの比ではなく、一度付与すればワールドを長時間プレイしても効果が切れにくいのが最大の魅力です。これにより、松明やポーション管理から解放され、ゲームプレイが格段に快適になります。
2. 暗視コマンドの基本形と各引数の意味
暗視効果を付与するための基本となるコマンドは、/effect give
コマンドです。このコマンドを使って、誰に、どのような効果を、どのくらいの時間、どのくらいの強さで付与するかを指定します。
/effect give <ターゲット> <エフェクト> [秒数] [効果レベル] [hideParticles]
各部分の意味を詳しく見ていきましょう。
2.1. /effect give
これはコマンドの核となる部分です。「/effect
」はゲーム内のエフェクト(状態効果)を操作するためのコマンドであり、「give
」はその中でも特にエフェクトを付与する(与える)ためのサブコマンドです。
2.2. <ターゲット>
誰にエフェクトを付与するかを指定します。ここではターゲットセレクターと呼ばれる特別な記号や名前を使います。
<プレイヤー名>
: 特定のプレイヤーに付与する場合、そのプレイヤー名を正確に入力します。例:/effect give Steve ...
@p
: コマンドを実行したプレイヤーにもっとも近いプレイヤー(通常はコマンドを実行した本人)に付与します。サバイバルモードなどで自分で自分に暗視を付けたい場合に最もよく使われます。@a
: ワールド内の全てのプレイヤーに付与します。マルチプレイサーバーなどで、参加者全員に効果を付けたい場合に便利です。@r
: ワールド内のプレイヤーの中からランダムで一人に付与します。あまり暗視コマンドで使う機会は少ないかもしれません。@e
: ワールド内の全てのエンティティ(プレイヤー、モブ、アイテムなど)に付与します。注意: モブやアイテムに暗視効果が付与されても意味はありませんし、ゲームが重くなる可能性もあります。通常、暗視コマンドでは使いません。
暗視コマンドで最もよく使うのは、@p
(自分自身) または @a
(全員) でしょう。
2.3. <エフェクト>
付与したいエフェクトの種類を指定します。暗視の場合は、minecraft:night_vision
と入力します。minecraft:
は省略して night_vision
とだけでも動作しますが、完全なIDで指定するのが推奨されます。
Minecraftには他にも様々なエフェクトがありますが、暗視を指定する場合は必ず night_vision
を使います。
2.4. [秒数]
エフェクトの効果時間を持続秒数で指定します。これは省略可能な引数であり、省略した場合はデフォルトで30秒になります。単位は「秒」です。
- 例:
60
と指定すれば60秒(1分)、300
と指定すれば300秒(5分)効果が持続します。 - 最大値: Minecraftのコマンドで設定できる秒数の最大値は 1,000,000 です。この値が「永遠」の鍵となります。
- 0秒:
0
を指定すると、そのエフェクトが対象から解除されます。これは後述するeffect clear
コマンドと同じ効果を持ちます。
2.5. [効果レベル]
エフェクトの強さを指定します。これは省略可能な引数であり、省略した場合はデフォルトでレベル1になります。整数で指定し、通常は1から255までの値を指定できます。
- 暗視エフェクトの場合: 暗視エフェクトは、レベルを上げても明るさや視界の範囲が変わるわけではありません。常に最大の明るさになります。したがって、暗視コマンドにおいては、この引数は 1 または省略してデフォルトのレベル1で十分です。他のエフェクト(速度上昇など)ではレベルが重要な意味を持ちます。
- 省略した場合: レベル1として扱われます。
2.6. [hideParticles]
エフェクトが付与された際に表示されるパーティクル(モヤモヤとした視覚効果)を表示するかどうかを指定します。これは省略可能な引数であり、省略した場合はデフォルトで false
(表示する) になります。
true
: パーティクルを非表示にします。false
: パーティクルを表示します(デフォルト)。
暗視エフェクトのパーティクルは、画面端に黄色っぽいモヤモヤとして表示されます。これが気になる場合は true
を指定して非表示にすることができます。多くのプレイヤーは、視界の邪魔にならないようにパーティクルを非表示にしたいと考えるでしょう。
3. これが「永遠」の暗視コマンドだ!
さて、基本を理解したところで、いよいよ「永遠」の暗視コマンドを見てみましょう。
Minecraftのコマンドで設定できる最大の秒数は 1,000,000 です。この 1,000,000
秒という時間は、現実時間でおよそ 11日と13時間 に相当します。一度この秒数で効果を付与すれば、ワールドを長時間プレイしても効果が切れることはまずありません。これがマイクラコマンドにおける「永遠」の実質的な意味合いとなります。
ただし注意点として、この効果は通常、ワールドを閉じる、またはサーバーからログアウトすると解除されることが多いです。しかし、コマンドブロックやデータパックの関数を使えば、ワールドに入った時や、常に効果を再付与し続けることで、実質的に「常に」暗視効果が得られるように設定することも可能です(これは後述します)。
まずは、最も簡単で基本的な「自分自身に、パーティクル非表示で、最大限の持続時間(永遠)の暗視効果を付与する」コマンドです。
minecraft
/effect give @p minecraft:night_vision 1000000 1 true
このコマンドをチャット欄に入力して実行してみてください(ゲーム内でチートが有効になっている必要があります)。
/effect give
: エフェクトを付与する@p
: コマンドを実行したプレイヤー自身にminecraft:night_vision
: 暗視エフェクトを1000000
: 100万秒(約11.5日)の間1
: レベル1で(暗視ではレベルは関係ありませんが、指定する場合は1でOK)true
: パーティクルを非表示にして
これで、あなたの視界は劇的に明るくなるはずです。夜でも洞窟でも、昼間のように快適に探索や建築ができるようになります。
パーティクルを表示したい場合
パーティクルを表示させたい場合は、最後の引数を false
にするか、省略します。
minecraft
/effect give @p minecraft:night_vision 1000000 1 false
または
minecraft
/effect give @p minecraft:night_vision 1000000 1
どちらも同じ結果になりますが、パーティクルが表示されます。
全員に永遠の暗視を付与したい場合
マルチプレイサーバーなどで、参加している全てのプレイヤーにこの効果を付与したい場合は、ターゲットセレクターを @a
に変更します。
minecraft
/effect give @a minecraft:night_vision 1000000 1 true
これで、その時点でワールドにいる、および今後ワールドに参加するプレイヤー全員(参加した瞬間にコマンドブロックなどで付与する場合)に暗視効果が付与されます。
4. 各引数の詳細な掘り下げ
ここからは、上記のコマンドで使われている各引数について、さらに詳しく掘り下げて解説していきます。これにより、コマンドの理解が深まり、より柔軟な使い方ができるようになります。
4.1. ターゲットセレクター (@p
, @a
, @r
, @e
, @s
) と条件式
ターゲットセレクターは、コマンドの対象を指定する非常に強力な機能です。基本的な @p
, @a
, @r
, @e
に加えて、Java版1.16以降では @s
(コマンドの実行者自身) もあります(@p
と似ていますが、コマンドブロックなどで使う場合に違いが出ます)。
さらに、これらのセレクターには条件式を付けることで、対象をより細かく絞り込むことができます。条件式は、セレクターの直後に [ ]
で囲んで記述します。複数の条件を組み合わせることも可能です。
例えば、「特定の座標から半径10ブロック以内の全てのプレイヤー」や、「サバイバルモードのプレイヤー」など、様々な条件で対象を指定できます。
暗視コマンドで役立つ可能性のある条件式の例をいくつか紹介します。
[distance=<最小距離>..<最大距離>]
: コマンドの実行位置からの距離で対象を絞り込みます。- 例:
@a[distance=..10]
→ コマンド実行位置から半径10ブロック以内の全てのプレイヤー - 例:
@a[distance=5..]
→ コマンド実行位置から半径5ブロックよりも遠い全てのプレイヤー - 例:
@a[distance=5..10]
→ コマンド実行位置から半径5ブロック以上10ブロック以内の全てのプレイヤー
- 例:
[level=<最小レベル>..<最大レベル>]
: プレイヤーのレベルで対象を絞り込みます。- 例:
@a[level=10..]
→ レベル10以上の全てのプレイヤー
- 例:
[gamemode=<ゲームモード>]
: 特定のゲームモードのプレイヤーを対象にします。- ゲームモードのID:
survival
(s),creative
(c),adventure
(a),spectator
(sp) - 例:
@a[gamemode=survival]
→ サバイバルモードの全てのプレイヤー
- ゲームモードのID:
[name=<名前>]
: 特定の名前のエンティティを対象にします。- 例:
@a[name=Notch]
→ 名前がNotchのプレイヤー
- 例:
[tag=<タグ名>]
: 特定のスコアボードタグが付与されているエンティティを対象にします。タグは/tag <対象> add <タグ名>
で付与できます。- 例:
@a[tag=hasNightVision]
→hasNightVision
タグを持つ全てのプレイヤー
- 例:
[team=<チーム名>]
: 特定のチームに所属しているプレイヤーを対象にします。- 例:
@a[team=RedTeam]
→ RedTeamに所属する全てのプレイヤー
- 例:
[nbt={<NBTデータ>}]
: エンティティが特定のNBT(名前付きバイナリタグ)データを持っているかで対象を絞り込みます。これは高度な使い方です。
条件式の組み合わせ:
複数の条件はカンマ ,
で区切って記述します。
minecraft
/effect give @a[gamemode=survival,tag=needsEffect,distance=..20] minecraft:night_vision 1000000 1 true
このコマンドは、「サバイバルモード」かつ「needsEffect
というタグを持ち」かつ「コマンド実行位置から半径20ブロック以内」にいる「全てのプレイヤー」に暗視効果を付与します。
暗視コマンドでこのような詳細な条件式を使う機会は少ないかもしれませんが、特定の目的(例: アドベンチャーマップで特定のエリアにいるプレイヤーにだけ暗視を付与する)などでは非常に強力なツールとなります。
4.2. エフェクトID (minecraft:night_vision
)
エフェクトIDは、付与したい効果をゲームに正確に伝えるための識別子です。暗視効果のIDは minecraft:night_vision
です。
minecraft:
の部分はネームスペースと呼ばれ、どのデータパックやModが定義した要素かを示します。Mojangが公式にゲームに追加した要素はすべて minecraft:
ネームスペースに属します。コマンド入力時には minecraft:
を省略してもほとんどの場合動作しますが、互換性や将来的なアップデートを考えると、完全なIDで指定する方がより安全です。
他の一般的なエフェクトIDの例としては、speed
(速度上昇), strength
(攻撃力上昇), jump_boost
(跳躍力上昇), regeneration
(再生能力), poison
(毒), weakness
(弱体化) などがあります。
4.3. 持続時間 (1000000
)
前述の通り、単位は秒で、最大値は 1,000,000
です。この値が事実上の「永遠」を実現します。
もし短い時間だけ暗視にしたい場合は、例えば30秒なら 30
、5分なら 300
と指定します。
0
を指定すると、対象からそのエフェクトが即座に解除されます。例えば、永遠の暗視を付与したプレイヤーから効果を解除したい場合は、以下のコマンドを実行します。
minecraft
/effect give <プレイヤー名> minecraft:night_vision 0
または、自分自身から解除する場合:
minecraft
/effect give @p minecraft:night_vision 0
これは後述の effect clear
コマンドと同じ機能です。
4.4. 効果レベル (1
)
暗視エフェクトにおいては、効果レベルは視界の明るさに影響しません。レベル1でもレベル255でも、視界は同じように明るくなります。
しかし、他のエフェクトではレベルが非常に重要になります。例えば、speed
エフェクトの場合、レベル1よりもレベル2、レベル2よりもレベル3の方が移動速度が大幅に上昇します。効果レベルは通常1から255まで指定できますが、255を超える値を指定すると、効果が意図しない挙動をしたり、全く効果がなくなったりすることがあります。
暗視コマンドにおいては、この引数は省略するか、1
と指定しておけば問題ありません。
4.5. パーティクル非表示 (true
)
最後の引数 true
は、エフェクトが付与された際に画面に表示されるパーティクルを非表示にするかどうかの設定です。
true
: パーティクル非表示。画面端の黄色いモヤモヤが表示されなくなり、視界がすっきりします。false
: パーティクル表示。デフォルト設定です。- 省略した場合:
false
と同じくパーティクルが表示されます。
暗視エフェクトは長時間または「永遠」に付与することが多いでしょうから、パーティクルが表示されっぱなしだと気になるプレイヤーも多いはずです。そのため、true
を指定して非表示にするのがおすすめです。特に理由がなければ true
を付けておくと良いでしょう。
5. 付与した暗視効果の解除方法
永遠の暗視を手に入れたものの、「やっぱり解除したいな」と思うこともあるかもしれません。例えば、ゲームバランスを元に戻したい、暗視状態の色の見え方に慣れない、などの理由です。
暗視効果を解除するには、主に二つの方法があります。
5.1. /effect give ... 0
コマンドを使う
これは前述したように、持続時間として 0
秒を指定する方法です。特定のプレイヤーから特定の効果を解除する際に便利です。
minecraft
/effect give <プレイヤー名> minecraft:night_vision 0
自分自身から解除する場合:
minecraft
/effect give @p minecraft:night_vision 0
この方法の利点は、他のエフェクトはそのままに、暗視効果だけを解除できる点です。
5.2. /effect clear
コマンドを使う
/effect clear
コマンドは、対象から付与されている全て、または特定のエフェクトを解除するための専用コマンドです。
/effect clear <ターゲット> [エフェクト]
<ターゲット>
: 効果を解除したい対象を指定します。これもターゲットセレクター (@p
,@a
,@r
,@e
,<プレイヤー名>
) を使います。[エフェクト]
: 解除したい特定のエフェクトIDを指定します。省略した場合は、対象に付与されている全てのエフェクトが解除されます。これは省略可能な引数です。
例1: 自分自身から全ての効果を解除する
minecraft
/effect clear @p
暗視だけでなく、速度上昇や再生能力など、自分に付与されている全てのエフェクトが一度に解除されます。
例2: 自分自身から暗視効果だけを解除する
minecraft
/effect clear @p minecraft:night_vision
これで、自分自身に付与されている暗視効果だけが解除され、他の効果はそのまま残ります。これが、effect give ... 0
と同じ機能です。
例3: 全てのプレイヤーから暗視効果だけを解除する
minecraft
/effect clear @a minecraft:night_vision
マルチプレイサーバーで、参加者全員に付与した暗視効果を解除したい場合に便利です。
例4: 特定のプレイヤーから全ての効果を解除する
minecraft
/effect clear <プレイヤー名>
対象プレイヤーに付与されている全てのエフェクトが解除されます。
このように、/effect clear
コマンドを使えば、付与したエフェクトを簡単に管理・解除することができます。特に特定の効果だけを解除したい場合は、解除したいエフェクトIDを正確に指定することが重要です。
6. コマンドブロックで「常に」暗視効果を付与する
チャット欄で /effect give
コマンドを実行する方法は手軽ですが、ワールドを閉じると効果が解除されるのが一般的です(ワールドやサーバーの設定による場合もあります)。また、効果を付与したい対象が後からワールドに参加した場合、そのプレイヤーには自動では付与されません。
これを解決し、実質的に「常に」「ワールドに参加したプレイヤー全員に」暗視効果を付与し続けるには、コマンドブロックを使うのが最も一般的な方法です。
コマンドブロックは、レッドストーン信号を受け取ったり、特定の条件を満たしたりしたときに、中に記述されたコマンドを実行する特殊なブロックです。
6.1. コマンドブロックの入手方法
コマンドブロックは通常の世界生成では手に入りません。チートが有効な状態で、以下の /give
コマンドを使って入手します。
minecraft
/give <プレイヤー名> minecraft:command_block
自分自身に入手する場合:
minecraft
/give @p minecraft:command_block
6.2. コマンドブロックの種類と設定
コマンドブロックにはいくつかの種類があり、それぞれ実行のタイミングや挙動が異なります。
- インパルス (Impulse):
- 色: オレンジ
- 機能: レッドストーン信号を受け取った一度だけコマンドを実行します。最も基本的なタイプです。
- 設定:
Needs Redstone
(レッドストーン信号が必要) またはAlways Active
(常にアクティブ – インパルスでは設置時または隣接ブロック更新時に一度だけ)
- チェーン (Chain):
- 色: 緑
- 機能: 直前に実行されたコマンドブロック(チェーンブロックである必要はない)が成功した場合に限り、自身の中のコマンドを実行します。複数のコマンドブロックを連結して連続実行させるのに使います。矢印の向きに連結します。
- 設定:
Conditional
(条件付き – 前のブロックが成功した場合のみ) またはUnconditional
(無条件 – 前のブロックが実行されたら成功・失敗にかかわらず実行) - 設定:
Needs Redstone
またはAlways Active
(前のブロックがAlways Active
で、自身もAlways Active
なら連続実行)
- リピート (Repeat):
- 色: 紫
- 機能: レッドストーン信号を受け取っている間、または
Always Active
に設定されている場合、毎ティック(1/20秒ごと)コマンドを繰り返し実行します。「常に」効果を付与するために最も重要なブロックです。 - 設定:
Conditional
またはUnconditional
- 設定:
Needs Redstone
またはAlways Active
「常に」暗視効果を付与し続けるには、リピートコマンドブロックを使用します。
6.3. リピートコマンドブロックで常に暗視効果を付与する設定
-
リピートコマンドブロックを設置する:
入手したリピートコマンドブロック(紫色のブロック)をワールドのどこかに設置します。プレイヤーに見えない場所(地下など)に設置すると景観を損ねません。 -
コマンドブロックのGUIを開く:
設置したコマンドブロックを右クリックします。コマンドブロックのGUI(Graphical User Interface)が開きます。 -
コマンドを入力する:
GUIの「Command Input」欄に、付与したい暗視コマンドを入力します。例えば、全てのプレイヤーに永遠(100万秒)の暗視効果をパーティクル非表示で付与したい場合は、以下のように入力します。minecraft
effect give @a minecraft:night_vision 1000000 1 true
(コマンドブロック内では/
は省略しても構いませんが、付けても問題ありません。)重要なポイント: コマンドブロックは毎ティック(1/20秒ごと)このコマンドを実行します。100万秒の効果時間で毎ティック付与しても、効果時間は更新されるだけでゲームプレイには問題ありません。むしろ、ワールドに参加したばかりのプレイヤーにもすぐに効果が付与される、というメリットがあります。
-
ブロックタイプを「Repeat Command Block」にする:
GUI左上のボタンが紫色になっていて、「Repeat Command Block」と表示されていることを確認します。違う場合はクリックして切り替えます。 -
設定を「Always Active」にする:
GUI左下のボタンが「Needs Redstone」になっている場合、クリックして「Always Active」に切り替えます。これにより、レッドストーン信号なしで、コマンドブロックが設置されロードされている限り、常にコマンドが実行されるようになります。
(実際には画像ではなくテキストですが、GUIのイメージとして) -
「Done」または「完了」をクリックしてGUIを閉じる:
設定が完了したら、GUI右下の「Done」または「完了」ボタンをクリックして閉じます。
これで設定は完了です。ワールドがロードされている限り、リピートコマンドブロックが毎ティック /effect give @a minecraft:night_vision 1000000 1 true
コマンドを実行し続けます。これにより、ワールドにいる全てのプレイヤーは、ログアウトして再ログインしても、ワールドに参加した瞬間から、実質的に「常に」暗視効果が付与された状態になります。
この方法であれば、プレイヤーが自分でコマンドを入力する必要もなく、ワールドの管理者があらかじめ設定しておけば、参加者全員が暗視の恩恵を受けられます。
6.4. 注意点:コマンドブロックのロード範囲
コマンドブロックは、それが設置されているチャンクがロードされている間だけ動作します。プレイヤーがコマンドブロックから遠く離れすぎると、チャンクがアンロードされてコマンドブロックも停止します。
常にワールド全体で効果を発動させたい場合は、コマンドブロックをスポーンチャンクに設置するか、プレイヤーが活動する可能性のある全ての場所に設置する必要があります。スポーンチャンクは、プレイヤーがいなくても常にロードされ続ける特別な領域です。スポーンチャンクはワールドによって広さが異なりますが、通常はワールドスポーン地点を中心とした数チャンクの範囲です。/forceload add <x> <z>
コマンドを使って特定のチャンクを強制的にロード状態にすることも可能です(ただし、使いすぎるとワールドが重くなる可能性があります)。
7. 関数 (Function) とデータパックで「常に」暗視効果を付与する
コマンドブロックを使う方法は手軽ですが、多数のコマンドを実行したい場合や、コマンドの管理をより効率的に行いたい場合は、関数 (Function) を使う方法が優れています。関数は、複数のコマンドをテキストファイル(.mcfunction
ファイル)に記述しておき、それをコマンド一つでまとめて実行できる機能です。
そして、この関数をデータパック (Datapack) に組み込み、ワールドのティック(1/20秒ごと)に関数を実行させることで、コマンドブロックと同様に「常に」暗視効果を付与することができます。
この方法はコマンドブロックよりも少し専門的になりますが、ワールド設定として暗視効果を組み込みたい場合や、他の様々なカスタマイズと組み合わせてデータパックを作成したい場合に非常に強力です。
7.1. データパックの基本構造
データパックは、ワールド設定や新しい要素(レシピ、戦利品テーブル、関数など)を追加・変更するための仕組みです。ワールドのセーブデータフォルダ内の datapacks
フォルダに配置します。
データパックの基本的なファイル構造は以下のようになります。
<ワールド名>/datapacks/
└── <データパック名>/
├── pack.mcmeta
└── data/
└── <ネームスペース>/
└── functions/
└── <関数名>.mcfunction
<ワールド名>
: あなたのワールドのセーブデータフォルダの名前です。<データパック名>
: 作成するデータパックの名前です。任意の名前を付けられます(例:my_night_vision_pack
)。pack.mcmeta
: データパックの情報(名前やバージョンなど)を記述するファイルです。data
: ゲームデータに関するファイル群を格納するフォルダです。<ネームスペース>
: あなた独自の識別子です。他のデータパックやゲーム本体とファイル名が重複しないように使います。任意の名前を付けられます(例:my_pack
)。小文字のアルファベット、数字、アンダースコア、ハイフンのみ使用可能です。functions
: 関数ファイル(.mcfunction
)を格納するフォルダです。<関数名>.mcfunction
: 関数ファイル本体です。この中に実行したいコマンドを1行ずつ記述します。任意の名前を付けられます(例:always_night_vision.mcfunction
)。
7.2. 「常に」暗視効果を付与する関数を作成する
-
ワールドのセーブデータフォルダを開く:
- Minecraftのタイトル画面で「シングルプレイ」を選び、目的のワールドを選択して「ワールドフォルダを開く」をクリックします。
- または、Windowsなら
%appdata%\.minecraft\saves
フォルダを開き、目的のワールドフォルダを探します。
-
datapacks
フォルダを作成または開く:
ワールドフォルダ内にdatapacks
という名前のフォルダがあるか確認します。なければ新しく作成します。 -
新しいデータパックフォルダを作成する:
datapacks
フォルダの中に、任意の名前で新しいフォルダを作成します(例:my_night_vision_pack
)。 -
pack.mcmeta
ファイルを作成する:
作成したデータパックフォルダ(例:my_night_vision_pack
)の中に、pack.mcmeta
という名前のファイルをテキストエディタ(メモ帳など)で作成します。ファイルの内容は以下の通りです。json
{
"pack": {
"pack_format": 15, // Minecraftのバージョンによって変わります (1.20.2/1.20.4は18, 1.20.1は15, 1.19は10, 1.18は9, 1.17は7, 1.16は5など)
"description": "常に暗視効果を付与するデータパック"
}
}
pack_format
の値は、使用しているMinecraftのバージョンに合わせて適切に設定してください。分からない場合は、他のデータパック(もしあれば)のpack.mcmeta
を参考にすると良いでしょう。 -
data
フォルダとネームスペースフォルダを作成する:
データパックフォルダ(例:my_night_vision_pack
)の中にdata
フォルダを作成します。さらにdata
フォルダの中に、任意のネームスペースフォルダを作成します(例:my_pack
)。 -
functions
フォルダを作成する:
ネームスペースフォルダ(例:my_pack
)の中にfunctions
フォルダを作成します。 -
関数ファイルを作成する:
functions
フォルダの中に、任意の名前で.mcfunction
ファイルを作成します(例:always_night_vision.mcfunction
)。ファイルの内容は、実行したいコマンドを1行ずつ記述します。“`minecraft
always_night_vision.mcfunction
effect give @a minecraft:night_vision 1000000 1 true
``
/
関数ファイル内では、コマンドの行頭にを付ける必要はありません。
#` で始まる行はコメントとして扱われます。 -
ティック関数に登録する:
作成した関数を「常に」(毎ティック)実行させるためには、その関数をティック関数 (tick function) として登録する必要があります。ティック関数は、ワールドがロードされている間、毎ティック自動的に実行される関数群です。data
フォルダの中にminecraft
という名前のフォルダを作成します(もし既に存在すればそれを使います)。minecraft
フォルダの中にtags
フォルダを作成し、さらにその中にfunctions
フォルダを作成します。minecraft/tags/functions
フォルダの中に、tick.json
という名前のファイルをテキストエディタで作成します。ファイルの内容は以下の通りです。json
{
"values": [
"<ネームスペース>:<関数名>"
// 他のデータパックのティック関数もあればここに追加していく
]
}
<ネームスペース>
と<関数名>
には、先ほど作成した関数ファイルのネームスペースと関数名を指定します。例えば、ネームスペースをmy_pack
、関数名をalways_night_vision
とした場合、tick.json
は以下のようになります。json
{
"values": [
"my_pack:always_night_vision"
]
}これで、データパックの作成は完了です。ファイル構造全体を確認しましょう。
<ワールド名>/datapacks/
└── my_night_vision_pack/
├── pack.mcmeta
└── data/
├── my_pack/
│ └── functions/
│ └── always_night_vision.mcfunction <-- コマンドを記述したファイル
└── minecraft/
└── tags/
└── functions/
└── tick.json <-- 毎ティック実行する関数を登録するファイル -
ワールドをロードまたはリロードする:
ワールドを一度閉じてから再度開くか、ゲーム内で/reload
コマンドを実行してデータパックを読み込み直します。データパックが正常に読み込まれると、チャット欄にメッセージが表示されます。/datapack list
コマンドで、作成したデータパックが有効になっているか確認できます。[enabled]
のリストに表示されていれば成功です。
これで、ワールドがロードされている限り、always_night_vision.mcfunction
関数が毎ティック実行され、ワールド内の全てのプレイヤーに暗視効果が常に付与されるようになります。
7.3. 関数・データパックのメリット・デメリット
メリット:
- コマンドの管理がしやすい: 複数のコマンドをまとめてテキストファイルで管理できます。
- 再利用性が高い: 作成したデータパックは他のワールドにも簡単に適用できます。
- パフォーマンスの向上: コマンドブロックよりも効率的にコマンドを実行できる場合があります。
- より高度な処理が可能: スコアボードやストレージなどの機能を組み合わせることで、複雑な条件に基づいたエフェクト付与などが実現できます。
デメリット:
- 設定が少し複雑: ファイル構造の理解やJSONファイルの編集が必要です。
- テキストエディタが必要:
.mcfunction
や.json
ファイルを編集するためのテキストエディタが必要です。 - トラブルシューティングが難しい場合がある: コマンドブロックに比べて、どこでエラーが発生しているか特定しにくいことがあります。
データパックと関数は、マイクラの世界をより深くカスタマイズしたい場合に非常に強力なツールとなります。暗視効果の常時付与はその入り口として最適です。
8. 永遠の暗視のメリット・デメリット
コマンドを使って永遠の暗視を手に入れることは、ゲーム体験に大きな変化をもたらします。そこには明確なメリットと、考慮すべきデメリットが存在します。
8.1. メリット
- 夜や洞窟の探索が劇的に楽になる: これが最大のメリットです。暗闇のストレスから完全に解放され、安全に探索できます。敵モブも遠くから視認できるため、不意打ちされる危険が減ります。
- 松明や他の光源が不要になる: 洞窟探索や建築の際に、松明を持ち歩いたり設置したりする手間とコストが省けます。これによりインベントリの空きも増え、資源の節約にもつながります。
- 建築の自由度が広がる: 光源の設置を気にせず、暗いブロックや空間を活かした建築が可能になります。
- 資源収集の効率アップ: 鉱石の採掘や洞窟での移動がスムーズになり、効率的に資源を集められます。
- 落下防止: 足元が常に見えるため、暗闇での不注意による落下死のリスクが軽減されます。
8.2. デメリット
- ゲームの難易度低下: マイクラの重要な要素の一つである「暗闇の危険性」がほぼ完全に失われます。これにより、本来意図されたゲームバランスが崩れる可能性があります。サバイバル要素を重視するプレイヤーにとっては、物足りなく感じるかもしれません。
- 視覚的な変化: 暗視効果は、通常の世界の色合いとは異なる独特の色調で表示されます。特に明るい場所では色が不自然に見えたり、コントラストが失われたりすることがあります。ワールドの景観を楽しむ上で、この視覚的な変化が気になるプレイヤーもいるでしょう。パーティクルを非表示にしても、この色の変化は残ります。
- コマンド/チートの使用: コマンドはゲームのルールを書き換える行為であり、一般的には「チート」と見なされます。他のプレイヤーと一緒にプレイする場合や、特定のサーバーのルールによっては使用が許可されない場合があります。自己責任で使用することが重要です。
- ゾンビのスポーン対策が別途必要: 暗視によって視界は確保されますが、暗い場所には依然として敵モブ(ゾンビなど)がスポーンします。暗視だけではスポーンを防ぐことはできないため、敵モブ対策(湧きつぶし)は別途行う必要があります。
これらのメリット・デメリットを踏まえ、あなたのプレイスタイルやワールドの目的に合わせて、コマンドによる暗視効果を使用するかどうかを検討することが大切です。個人的なサバイバルワールドで探索を快適にしたい場合や、建築に集中したい場合などには非常に有用ですが、ゲーム本来のスリルや発見を楽しみたい場合は、ポーションなどで一時的に使うに留めるという選択肢もあります。
9. 応用例:特定の条件で暗視を付与する
コマンドブロックや関数、そしてターゲットセレクターの条件式を組み合わせることで、さらに高度な暗視効果の付与が可能です。ここではいくつかの応用例を紹介します。
9.1. 特定のエリアに入ったプレイヤーに暗視を付与する
アドベンチャーマップなどで、特定の洞窟やダンジョンに入ったプレイヤーにだけ自動的に暗視効果を付与したい、という場合に使えるテクニックです。
これは、以下の手順で実現できます。
- リピートコマンドブロックを設置し、
Always Active
に設定する。 -
コマンドブロックに
/execute as @a at @s run effect give @s[distance=..<半径>] minecraft:night_vision 1000000 1 true
と入力する。/execute as @a at @s
: 全てのプレイヤーを対象にし、それぞれのプレイヤーの位置を基準にしてコマンドを実行します。run effect give @s[distance=..<半径>] ...
:@s
はexecute as
で指定されたエンティティ(ここでは各プレイヤー)自身を指します。[distance=..<半径>]
条件式で、コマンドを実行しているプレイヤー自身が、コマンドブロックの位置から指定した半径内にいるかどうかを判定します。半径内のプレイヤー(つまり特定のエリアにいるプレイヤー)にのみ暗視効果を付与します。
例: コマンドブロックから半径20ブロック以内のプレイヤーに暗視を付与する
minecraft
execute as @a at @s run effect give @s[distance=..20] minecraft:night_vision 1000000 1 true
3. コマンドブロックを、暗視効果を付与したいエリアの中心または近くに設置する。
この方法では、半径条件はコマンドブロックの位置を基準にするため、目的のエリアに合わせてコマンドブロックの位置を調整する必要があります。特定の形状のエリアに付与したい場合は、より複雑なセレクター(例: x=,y=,z=,dx=,dy=,dz=
を使った範囲指定)や、複数のコマンドブロック/関数を組み合わせる必要が出てくるかもしれません。
9.2. 特定のアイテムを持っているプレイヤーに暗視を付与する
例えば、「不思議な宝石」を持っている間だけ暗視になる、といった設定も可能です。これはターゲットセレクターのNBT条件を使って実現します。
- リピートコマンドブロックを設置し、
Always Active
に設定する。 -
コマンドブロックに
/effect give @a[nbt={Inventory:[{id:"minecraft:diamond",tag:{display:{Name:'{"text":"不思議な宝石"}'}}]}] minecraft:night_vision 1000000 1 true
と入力する。@a[nbt={...}]
: 指定したNBTデータを持つ全てのプレイヤーを対象にします。Inventory:[{...}]
: プレイヤーのインベントリ内に、指定した条件を満たすアイテムがあるかを確認します。id:"minecraft:diamond"
: アイテムIDがダイヤモンドであること。tag:{display:{Name:'{"text":"不思議な宝石"}'}}
: アイテムのタグに、表示名が「不思議な宝石」である設定が含まれていること。
この例では、名付けられたダイヤモンドを持っているプレイヤーに暗視を付与します。NBT条件は非常に強力ですが、記述が複雑になりやすく、アイテムの正確なNBT構造を知る必要があります(
/data get entity <対象>
コマンドなどで確認できます)。
9.3. 特定のタグを持つプレイヤーに暗視を付与する
スコアボードのタグ機能を使えば、特定の条件を満たしたプレイヤー(例えば、特定の試練をクリアしたプレイヤー)にだけ暗視を付与するといった制御が簡単になります。
- 特定のプレイヤーにタグを付与するコマンドを実行する。
例:/tag <プレイヤー名> add hasNightVision
- リピートコマンドブロックを設置し、
Always Active
に設定する。 - コマンドブロックに
/effect give @a[tag=hasNightVision] minecraft:night_vision 1000000 1 true
と入力する。@a[tag=hasNightVision]
:hasNightVision
というタグを持つ全てのプレイヤーを対象にします。
タグの付与や削除は、他のコマンドブロックや関数、またはトリガーコマンドなどと組み合わせることで、様々な条件(ボタンを押したらタグが付く、特定のアイテムを使用したらタグが付くなど)で制御できます。
これらの応用例は、ほんの一例です。コマンド、ターゲットセレクター、コマンドブロック、関数、データパックなどを組み合わせることで、プレイヤーのアイデア次第で非常に多様な効果の付与方法を設計できます。
10. トラブルシューティング:コマンドが効かないときは?
「コマンドを入力したのに暗視にならない!」そんな時に確認すべきポイントをいくつか紹介します。
- チートが有効になっていますか?
コマンドを実行するには、ワールド作成時にチートを有効にするか、LANワールドとして公開する際にチートを許可する必要があります。シングルプレイでチートが無効になっている場合、コマンドを入力しても何も起こりません。後から有効にする場合は、ワールドを開き、一時停止メニューから「LANワールドを開く」を選び、「チートを許可」をオンにして「LANワールドを始める」をクリックします。 - オペレーター権限を持っていますか?
マルチプレイサーバーの場合、コマンドを実行するにはオペレーター権限(Op権限)が必要です。サーバー管理者であれば/op <プレイヤー名>
コマンドで権限を付与できます。 - コマンドのスペルや引数は正確ですか?
最も一般的な原因は、コマンドの入力ミスです。/effect give
は正確ですか?- ターゲットセレクター (
@p
,@a
など) は正確ですか?[]
や@
を忘れていませんか? - エフェクトID (
minecraft:night_vision
またはnight_vision
) は正確ですか? - 秒数は数字で正しく入力していますか?最大値
1000000
は正しく入力されていますか? - 効果レベルは数字で正しく入力していますか?(暗視では1で十分です)
- パーティクル非表示は
true
またはfalse
で正しく入力していますか?
コマンドを入力する際、Minecraftのチャット欄にはコマンドの候補や引数のヒントが表示されます。それを参考に、正確に入力できているか確認しましょう。
- ターゲットセレクターは正しく対象を選んでいますか?
例えば@p
を使ったのに自分に効果が付与されない場合、コマンドを実行した場所から他にプレイヤーが近くにいて、そちらが@p
の対象になってしまっている可能性は低いですがゼロではありません。@a
で全員対象にするのが最も確実です。また、詳細な条件式 ([tag=...]
,[gamemode=...]
など) を使っている場合、自分自身がその条件を満たしているか確認してください。 - ゲームモードは関係ありませんか?
通常、暗視効果はどのゲームモード(サバイバル、クリエイティブ、アドベンチャー、スペクテイター)でもプレイヤーに付与できます。ただし、ターゲットセレクターでゲームモードを指定している場合は、その条件を満たしている必要があります。 - ワールドのデータパックは有効ですか?
関数やコマンドブロックを使っている場合、ワールドに適用されているデータパックが有効になっているか確認してください。/datapack list
コマンドで確認できます。もしデータパックが有効になっていない場合は、/datapack enable <データパック名>
コマンドで有効にしてください。 - コマンドブロックはロードされていますか?
コマンドブロックを使っている場合、そのコマンドブロックが設置されているチャンクがロードされているか確認してください。プレイヤーが近くにいるか、スポーンチャンクにあるか、/forceload
でロードされているかなどです。 - Minecraftのバージョンは対応していますか?
/effect give
コマンドはかなり以前から存在しますが、引数の形式(特にエフェクトIDのminecraft:
プレフィックスやhideParticles
引数、詳細なターゲットセレクターの条件式など)はバージョンによって若干異なる場合があります。使用しているMinecraftのバージョンに対応したコマンド形式になっているか確認してください。通常、最新バージョンであればこの記事で解説している形式で問題ありません。 - 他のプラグインやデータパックと干渉していませんか?
もしサーバーでプレイしている場合や、他のデータパックやModを大量に入れている場合、それらが/effect
コマンドの挙動に影響を与えている可能性もゼロではありません。最小限の環境(バニラのMinecraftとこの記事のデータパックのみなど)で試してみるのも有効です。
これらのチェックポイントを一つずつ確認していくことで、問題の原因を特定し、暗視コマンドを正しく動作させることができるでしょう。
11. 暗視コマンド以外の選択肢との比較
コマンドによる暗視は強力ですが、前述の通りゲーム体験を大きく変える可能性もあります。コマンド以外の手段も改めて確認し、それぞれを比較してみましょう。
- 暗視のポーション:
- メリット: コマンド不要、サバイバルで入手可能、一時的な使用に最適。
- デメリット: 効果時間が短い(最大8分)、インベントリを圧迫、作るのに材料が必要。
- ビーコン:
- メリット: 広範囲に効果を付与可能、永続的な効果(ビーコンが稼働している間)。
- デメリット: 設置コストが非常に高い(レアな鉱石ブロックとネザースターが必要)、効果範囲が限定的、ピラミッド構造が必要、暗視以外の効果を選ぶことも多い。
- コマンドによる暗視:
- メリット: 手軽、実質「永遠」の効果、対象を選べる、パーティクル非表示可能、材料不要。
- デメリット: コマンド/チートの使用が必要、ゲームバランスの変化、視覚的な色の変化。
手軽さ、持続性、対象の自由度という点では、コマンドによる暗視が他の手段を圧倒します。しかし、サバイバルモードでの達成感やゲームバランスを重視する場合は、ポーションやビーコンの方が適しているかもしれません。どのようにマイクラを楽しみたいかによって、最適な方法を選ぶことが重要です。
12. まとめ:永遠の暗視でマイクラの世界を遊び尽くそう!
この記事では、Minecraft Java版で暗視効果をコマンドで付与する方法、特に「永遠」に近い長時間効果を実現するための /effect give
コマンドの詳細な使い方、そしてコマンドブロックやデータパックを使った「常に」暗視を維持する方法について、詳しく解説してきました。
改めて、「永遠」の暗視を手に入れるための最も基本的なコマンドを再掲します。
自分自身に、パーティクル非表示で、100万秒の暗視を付与するコマンド:
minecraft
/effect give @p minecraft:night_vision 1000000 1 true
ワールド内の全てのプレイヤーに、パーティクル非表示で、100万秒の暗視を付与するコマンド:
minecraft
/effect give @a minecraft:night_vision 1000000 1 true
そして、ワールドを閉じても効果を維持したり、ワールドに参加したプレイヤーに自動で付与したりするためには、これらのコマンドをリピートコマンドブロックの「Always Active」設定に入れるか、データパックのティック関数として登録するのが効果的です。
コマンドによる暗視は、マイクラの夜や洞窟探索のストレスを大幅に軽減し、ゲームプレイを快適にする強力なツールです。松明の心配なく、地形やモブをクリアに視認しながら、建築や採掘、冒険に集中できるようになります。
一方で、ゲームの難易度を下げる、視覚的な変化がある、といったデメリットも存在します。これらの影響を理解した上で、あなたのワールドやプレイスタイルに合った方法で、暗視効果を活用してください。
コマンドを使いこなせば、マイクラの世界はさらに広がります。今回学んだ /effect
コマンドやターゲットセレクター、コマンドブロック、データパックといった知識は、暗視効果だけでなく、他の様々なエフェクトやゲーム要素の操作にも応用できます。
この記事が、あなたのマイクラライフをより豊かで快適なものにする一助となれば幸いです。さあ、コマンドの力で暗闇を克服し、マイクラの世界を隅々まで遊び尽くしましょう!
13. 免責事項
- コマンドの使用はゲームバランスを大きく変化させる可能性があります。自身のワールド以外(マルチプレイサーバーなど)で使用する場合は、必ずサーバーのルールや管理者の許可を確認してください。
- コマンドの誤った使用は、意図しないゲームの挙動を引き起こしたり、ワールドデータに影響を与えたりする可能性があります。重要なワールドでコマンドやデータパックを試す際は、必ず事前にワールドのバックアップを取ることを強く推奨します。
- この記事の情報は、Minecraft Java版の特定のバージョンに基づいて記述されています。今後のアップデートにより、コマンドの仕様が変更される可能性もあります。常に最新のゲーム情報やコマンドリファレンスを参照することをおすすめします。