AreaEffectCloudのコマンド解説

例えば触れるとダメージを喰らう毒の霧や、指定した回数だけ回復できる回復スポットだとか... バージョン1.9では、配布ワールド制作に便利な新エンティティ「AreaEffectCloud」が追加されました。「残留ポーション」から出てくる効果付きのパーティクルのことです。今回は、ポーション効果や時間などをカスタマイズしたAreaEffectCloudを設置するコマンドを解説します。

[8/25追記] バージョン1.10で追加された新NBTタグを使って、blockcrack/blockdust/iconcrackパーティクルの種類を指定する方法を追記しました。

スポンサーリンク

AreaEffectCloudって何? 配布ワールド作成に使える使用例をいくつか

AreaEffectCloudとはこれのこと

1.9の新アイテム「残留ポーション」は、エンダードラゴンのドラゴンブレスを採取してポーションに加える事で作れます。この効果付きパーティクルの部分が「AreaEffectCloud」というエンティティなんです。

ダンジョン系ワールドでの使用例1

そしてこのAreaEffectCloud(略してAEC)は、NBTタグでパーティクルや効果の種類、大きさなどを細かく設定できるんです。ダメージを喰らったり毒状態になってしまったりなど、ダンジョン系の配布ワールドの制作にピッタリなトラップを作れるわけです。

さらに「使うと半径を変化させる」機能を使えば、使用回数に制限が付いたAECも作れます。例えば3回だけ回復させてくれる回復スポットだとか、一度だけ様々なポーション効果を与えてくれる泉だとか...


MCStackerを使ってAreaEffectCloudのコマンドを作成しよう

1.9対応の高機能コマンド生成ツール「MCStacker」
MCStacker
http://mcstacker.bimbimma.com/

最近頼りまくりですが、今回もMCStackerでコマンドを生成してみましょう。

summonコマンドでAECを選択

summonコマンドモードで「AreaEffectCloud」を選択し、必要ならば名前を入力します。(右のHide Nameにチェックを入れれば名前は隠せます。)加えてTag欄にタグを入力して分類すると後々便利ですね。


パーティクルや範囲、秒数、効果などの設定項目を解説

パーティクルやその他色々の設定

それではパーティクルや大きさ、秒数などを設定していきます。

項目名説明
Particleパーティクルの種類を選びます。公式Wikiのパーティクル一覧をご参照下さい。
Reapplication Delay一度効果を与えた後、次に効果を与えるまでの間隔をtickで指定します。
RadiusAECの大きさを半径のブロック数で指定します。入力しないとAEC自体が表示されません。
Radius Per Tick1tickでどれくらいAECの大きさを変化させるかの数値を入力します。マイナスの値にすればだんだん小さくなります。例えば-0.1にした場合、1秒で2ブロック分半径が小さくなります。
Radius On Use効果を与えた際にどれくらいAECの大きさを変化させるかの数値を入力します。プラスの値なら大きく、マイナスの値なら小さくします。
DurationAECが残る時間をtickで指定します。32768にすれば永久に残ります。
Duration On UseWikiの解説によると「不明」とのことで、特に意味はないようです。
Age設置時にどれだけ時間が経過したことにするか、をtickで指定します。
Wait Time設置されてから効果が付与されるまでの待ち時間をtickで指定します。Ageが指定してある場合はその分待ち時間は短くなります。
Colorチェックを入れると好きな色を選べます。しかし私が確認した限りではmobSpellパーティクル以外には効きませんのでご注意下さい。
エルダーガーディアン最終形態

ちなみにParticle:でmobappearanceを選んでしまうとエルダーガーディアンのグロ画像最終形態を嫌でも見せられるのでご注意下さい。これってパーティクルだったんですね...


付与するポーション効果の設定

次にAECから付与されるステータスエフェクト(ポーション効果)を設定していきます。Select Potion Typeのプルダウンメニューは無視して、下のStatus Effectsにチェックを付けて効果を選んで下さい。

効果名日本語訳
Speed移動速度上昇
Slowness移動速度低下
Haste採掘速度上昇
Mining Fatigue採掘速度低下
Strength攻撃力上昇
Instant Health即時回復
Instant Damage即時ダメージ
Jump Boost跳躍力上昇
Nausea吐き気
Regeneration再生能力
Resistance耐性
Fire Resistance火炎耐性
Water Breathing水中呼吸
Invisibility透明化
Blindness盲目
Night Vision暗視
Hunger空腹
Weakness弱体化
Poison
Wither枯渇 (1.8までは"ウィザー"だった)
Health Boost体力増強
Absorption衝撃吸収
Saturation満腹度回復
Glowing(1.9)発光
Levitation(1.9)浮遊
Luck(1.9)幸運
Bad Luck(1.9)不運

それぞれの効果にはAmplifier(強さのレベル)Duration(秒数)が指定でき、右のHide particlesにチェックを付ければパーティクルを非表示に出来ます。

作成例: 1秒おきにダメージを喰らうAEC
作成例: 1秒おきにダメージを喰らうAEC
/summon AreaEffectCloud ~ ~1 ~ {CustomName:"一定間隔でダメージを与える",CustomNameVisible:1,Particle:witchMagic,ReapplicationDelay:20,Radius:3f,Duration:32768,Effects:[{Id:7,Amplifier:0,Duration:20}]}
ReapplicationDelayを20にすることで20tick、すなわち1秒間隔で効果を与えます。

効果を与えると小さくなる(使える回数が限られた)AreaEffectCloudの作り方

AECの効果が付与される回数を制限するには

例えば「三回だけ役立つ効果が付与される」だとか、AreaEffectCloudから効果が付与される回数を制限するにはどうすればいいのでしょうか。答えは簡単。使う度にAECを小さくして消してしまえばいいのです。

Radius÷RadiusOnUse=使える回数

MCstackerの設定画面のRadius On Useに、マイナスの数値を入力します。すると効果が付与される度に半径がその分小さくなります。つまりRadius÷(-RadiusOnUse)=使える回数なんです。


[8/25追記] brockdust/brockcrack/iconcrackのパーティクルの種類を指定するには

blockdust等の種類を指定するには

さて、AreaEffectCloudには様々なパーティクルを設定することができますが、追加でNBTタグを書いて、アイテム/ブロックの種類を指定しないと表示されないパーティクルがあります。それは以下の通り。

  • blockcrack : ブロックを破壊した際のパーティクル
  • blockdust : 本来は防具立てや砂が壊れる際のパーティクル。コマンドなら様々なブロックを指定可能
  • iconcrack : 食べる時、投げた卵、スプラッシュポーション、エンダーアイ、道具が壊れた際に出るパーティクル。コマンドならどんなアイテムでも出せる

以下、それぞれのパーティクルのアイテム指定方法をまとめました。ちなみにこのアイテム指定機能はバージョン1.10以降でないと使えません。

また、2016年8月25日現在MCStackerがこのNBTタグに対応していないので、手動で追記する必要があります。

blockcrackパーティクルでブロックの種類を指定するNBTタグの書き方
blockcrackの指定方法
{ParticleParam1:ブロックID+データ値*4096}
例:赤色の堅焼き粘土の場合、159+14*4096=57503 {ParticleParam1:57503}
blockdustパーティクルでブロックの種類を指定するNBTタグの書き方
blockdustの種類の指定方法
{ParticleParam1:ブロックID}
例:ダイヤモンドブロックの場合:{ParticleParam1:57}
iconcrackパーティクルでアイテムの種類を指定するNBTタグの書き方
iconcrackの種類の指定方法
{ParticleParam1:アイテムID,ParticleParam2:データ値}
例:チューリップの場合:{ParticleParam1:38,ParticleParam2:4}

実際のコマンドは、/summon AreaEffectCloud ~ ~1 ~ {Particle:iconcrack,Radius:5f,Duration:32768,ParticleParam1:38,ParticleParam2:4}といった感じになります。このNBTタグ名もうちょっと短くなりませんかね...


AreaEffectCloudを削除したり、後からパーティクルなどを変更するには

AreaEffectCloudを削除するkillコマンド

AreaEffectCloudはエンティティなので、削除する際はkillコマンドを使います。

AreaEffectCloudを削除するコマンド
  • 最寄りの1つを削除する場合:
    /kill @e[type=AreaEffectCloud,c=1]
  • 名前を指定して削除する場合:
    /kill @e[type=AreaEffectCloud,name=名前]
    ▲名前が日本語の場合はエラーになるのでご注意下さい。
  • 全て削除してしまう場合:
    /kill @e[type=AreaEffectCloud]

後からAreaEffectCloudの設定を変更するentitydataコマンド

パーティクルが気に入らないだとか、大きさを変えたいだとか、後から色々設定を変更したい時はentitydataコマンドを使いましょう。使い方はとっても簡単。

例1: 最寄りのAreaEffectCloudのパーティクルを後から変更するコマンド
entitydataコマンドでパーティクル等を変更しよう
/entitydata @e[type=AreaEffectCloud,c=1] {Particle:パーティクル名}
例2: ボタンを押すと最寄りのAECの成長が始まり、もう1つのボタンを押すと成長が止まる
ボタンを押すとAECの成長が始まる
成長を開始する:/entitydata @e[type=AreaEffectCloud,c=1] {RadiusPerTick:0.1f}
成長を止める:/entitydata @e[type=AreaEffectCloud,c=1] {RadiusPerTick:0f}

MCStackerで設定したRadiusAgeなど、様々な値を弄れます。例えばDurationを32767以下に設定しておいて、後からAgeを設定してAEC内の時間を進めてAECの消滅を早めることだってできます。entitydataコマンドをうまく使って、変幻自在にAECを操りましょう。


参考にさせて頂いたページ様

Chunk format - Minecraft Wiki
http://minecraft.gamepedia.com/Chunk_format

「○○についてまとめてほしい/解説してほしい」などのご意見ご感想、コメント欄やTwitterでお待ちしています。
スポンサーリンク

毎度毎度ツイート、コメント等ありがとうございます。Twitterではブログの更新状況など色々呟いてます。気軽にフォロー下さい。

この記事を読んだ人は、こんな記事も読んでいます

スポンサーリンク

コメント