ようこそ、ぷっこ村へ。ししゃもです。
(・∀・)ノ
コマンド講習会第11回、今回はparticle コマンドの応用編。過去に作った色んな演出とか、こんなんあるよ的なのを、サンプル集としてまとめてみました。いつもながら非常にニッチなので、隙間産業を極めし者と呼んで下さい。応用なのであんまり解説することないかも。
パーティクルサンプル集
水しぶき
さばちゃんぽんに参加した時に、水門が閉じられる演出で使ったやつ。何かしらの着水、滝つぼとかにも使えるかも。音との組み合わせがとてもよかった例です。
particle minecraft:item minecraft:light_blue_stained_glass ~ ~1 ~ 1 1 1 0.5 10000 force
playsound minecraft:entity.player.splash.high_speed master @a[distance=..16] ~ ~ ~ 2 0.5
青いモヨモヨ
こちらもさばちゃんぽん参加時に使用した演出用。ループする回路で定期的に発動するようにしておくと幸せになれます。見やすくするために数を300にしてますが、多すぎてうるさい感じになるので30くらい推奨です。
execute at @a run particle nautilus ~ ~ ~ 3 3 3 1 300
ビーム?
色んなところで使うビームっぽいの。パーティクルを変えるだけであらゆる場面に対応できるので便利。ただ、コマブロだけだと1tick再帰が(たぶん)できないっぽいので、ビームってよりは誘導線みたいな感じ?デタパだと1tick再帰が可能なので、この方法で光の線ができます。
タワーは2つにしました。
scoreboard objectives add Range dummy
summon armor_stand ~ ~1 ~ {Tags:[Beam_Pos],Invisible:1b}
setblock 269 74 -1065 redstone_block
scoreboard players add @e[type=armor_stand,tag=Beam_Pos] Range 1
kill @e[type=armor_stand,tag=Beam_Pos,scores={Range=60..}]
execute at @e[type=armor_stand,tag=Beam_Pos] run particle minecraft:glow ~ ~ ~ 0.1 0.1 0.1 0 10 force
execute as @e[type=armor_stand,tag=Beam_Pos] anchored feet at @s run tp @s ^ ^ ^0.5
execute unless entity @e[type=armor_stand,tag=Beam_Pos] run setblock 269 74 -1065 air
中央の2つのタワーを使います。5つの方はリピートにしといてね。時間のカウント用にスコアボードを1つ、事前に用意しときます。
感圧板が踏まれると、ビームのパーティクル位置用にアマスタが呼び出され、2つ目のタワーにバトンタッチします。あとはスコアボードに加算、パーティクル発生、スコアボードが一定以上の値で終了。と言った流れですね。
雪の粉フワフワ
雪の粉がフワフワ振ってくる感じ。何となく思い付きで作りました。基本はビームと一緒です。
scoreboard objectives add Range dummy
summon armor_stand ~ ~1 ~ {Tags:[Beam_Pos2],Invisible:1b}
setblock 269 74 -1065 redstone_block
scoreboard players add @e[type=armor_stand,tag=Beam_Pos2] Range 1
kill @e[type=armor_stand,tag=Beam_Pos2,scores={Range=60..}]
execute at @e[type=armor_stand,tag=Beam_Pos2] run particle minecraft:glow ~ ~ ~ 0.1 0.1 0.1 0 10 force
execute as @e[type=armor_stand,tag=Beam_Pos2] anchored feet at @s run tp @s ^ ^ ^1 ~15 ~
execute unless entity @e[type=armor_stand,tag=Beam_Pos2] run setblock 269 74 -1065 air
ビームでまっすぐ進ませてたのを、回転させるようにしただけです。動きが違うのは、2つ目のタワー(3つ目のくくり)の4行目で tp @s ^ ^ ^1 ~15 ~ としてるからですね。
自分の周りに火の玉クルクル
自分の周りに青い火の玉をクルクル発生させます。色々方法はあるのですが、この方法だとマルチで混じることがないです。ただし、判定の安心と引き換えに効率悪い方法ですね。
使うタワーは4つ、起動用、止める用、発生用、誰もいないとき止める用、です。外周はパーティクルを出す用、内周は近くにプレイヤーがいない時に止める用です。
起動用
setblock 274 74 -1062 minecraft:repeater[delay=1,facing=east,locked=false,powered=false]
setblock 277 74 -1064 minecraft:acacia_button[face=floor,facing=north,powered=true]
setblock 277 74 -1064 air
setblock 275 74 -1065 minecraft:redstone_wire[east=side,north=side,power=0,south=none,west=none]
止める用
setblock 275 74 -1064 air
setblock 275 74 -1065 air
火の玉出す用
execute at @a run particle soul_fire_flame ~0 ~0.5 ~-1 0 0 0 0 1
execute at @a run particle soul_fire_flame ~0.34 ~0.5 ~-0.94 0 0 0 0 1
execute at @a run particle soul_fire_flame ~0.64 ~0.5 ~-0.77 0 0 0 0 1
execute at @a run particle soul_fire_flame ~0.87 ~0.5 ~-0.5 0 0 0 0 1
execute at @a run particle soul_fire_flame ~0.98 ~0.5 ~-0.17 0 0 0 0 1
execute at @a run particle soul_fire_flame ~0.98 ~0.5 ~0.17 0 0 0 0 1
execute at @a run particle soul_fire_flame ~0.87 ~0.5 ~0.5 0 0 0 0 1
execute at @a run particle soul_fire_flame ~0.64 ~0.5 ~0.77 0 0 0 0 1
execute at @a run particle soul_fire_flame ~0.34 ~0.5 ~0.94 0 0 0 0 1
execute at @a run particle soul_fire_flame ~0 ~0.5 ~1 0 0 0 0 1
execute at @a run particle soul_fire_flame ~-0.34 ~0.5 ~0.94 0 0 0 0 1
execute at @a run particle soul_fire_flame ~-0.64 ~0.5 ~0.77 0 0 0 0 1
execute at @a run particle soul_fire_flame ~-0.87 ~0.5 ~0.5 0 0 0 0 1
execute at @a run particle soul_fire_flame ~-0.98 ~0.5 ~0.17 0 0 0 0 1
execute at @a run particle soul_fire_flame ~-0.98 ~0.5 ~-0.17 0 0 0 0 1
execute at @a run particle soul_fire_flame ~-0.87 ~0.5 ~-0.5 0 0 0 0 1
execute at @a run particle soul_fire_flame ~-0.64 ~0.5 ~-0.77 0 0 0 0 1
execute at @a run particle soul_fire_flame ~-0.34 ~0.5 ~-0.94 0 0 0 0 1
近くに誰もいない時止める用
execute unless entity @a[distance=..32] run setblock 274 74 -1062 air
setblock 275 74 -1065 air
スコアボードいらないし、安定はするんだけど、なんだか汚い気がする……。芸術性まで求めたらキリがないですね。
ちなみになのですが、回路を遠隔で起動する時は、押された状態のボタンを出して、すぐに空気に置き換えるってのをすると安定起動できます。信号が入力された状態の赤石粉とかリピーターを置くと、そのまま入力しっぱなしになるので、こういったループする回路には使えまへん。
キラキラ
時間差で順番に発動すると、誘導に使えそうなパーティクル。 glow と snowflake は使い勝手がよくていいですね。
particle minecraft:glow ~ ~1 ~ 1 0.2 1 0 100 force
particle minecraft:snowflake ~ ~1 ~ 1 0.2 1 0 100 force
キラキラ光ってパッと散る
こちらもちゃんぽんの時に作った仕掛けの演出用。キラキラを巻き散らし、最後に発散します。アマスタは動きが分かるように可視化してます。
い、いわたんが回ってる!!
scoreboard objectives add Range dummy
execute unless entity @e[type=armor_stand,tag=Iwatarou_Fountain] run setblock 267 74 -1051 redstone_block
execute unless entity @e[type=armor_stand,tag=Iwatarou_Fountain] run summon armor_stand ~ ~1 ~ {NoGravity:1b,Tags:[Iwatarou_Fountain],ArmorItems:[{},{},{},{id:"minecraft:stick",Count:1b,tag:{CustomModelData:110004}}],HandItems:[{id:"minecraft:stick",Count:1b,tag:{CustomModelData:110004}},{id:"minecraft:stick",Count:1b,tag:{CustomModelData:110004}}]}
scoreboard players add @e[type=armor_stand,tag=Iwatarou_Fountain] Range 1
execute as @e[type=armor_stand,tag=Iwatarou_Fountain,distance=..16,limit=1,sort=nearest] at @s run tp @s ~ ~0.05 ~ ~37 ~
execute at @e[tag=Iwatarou_Fountain] run particle minecraft:flash ~ ~ ~ 0.1 0.2 0 0 1 force
execute at @e[tag=Iwatarou_Fountain] run particle minecraft:happy_villager ^ ^ ^-3 1 0.5 1 0 3 force
execute at @e[tag=Iwatarou_Fountain] run particle minecraft:glow ^ ^ ^3 1 0.5 1 0 10 force
playsound minecraft:block.amethyst_block.chime master @a[distance=..16] ~ ~ ~ 2 1
execute if entity @e[type=armor_stand,tag=Iwatarou_Fountain,scores={Range=60..}] at @e[tag=Iwatarou_Fountain] run particle minecraft:end_rod ~ ~ ~ 2 2 2 0.1 1000 force
execute if entity @e[type=armor_stand,tag=Iwatarou_Fountain,scores={Range=60..}] at @e[tag=Iwatarou_Fountain] run particle minecraft:glow ~ ~ ~ 2 2 2 0 1000 force
execute if entity @e[type=armor_stand,tag=Iwatarou_Fountain,scores={Range=60..}] at @e[tag=Iwatarou_Fountain] run playsound minecraft:block.beacon.power_select master @a[distance=..16] ~ ~ ~ 2 2
execute if entity @e[type=armor_stand,tag=Iwatarou_Fountain,scores={Range=60..}] at @e[tag=Iwatarou_Fountain] run playsound minecraft:block.beacon.activate master @a[distance=..16] ~ ~ ~ 2 1
execute if entity @e[type=armor_stand,tag=Iwatarou_Fountain,scores={Range=60..}] at @e[tag=Iwatarou_Fountain] run setblock 267 74 -1051 air
kill @e[type=armor_stand,tag=Iwatarou_Fountain,scores={Range=60..}]
それこそ、きれいなパーティクル全部使っとけば、最高にきれいになる!!みたいな典型的な例。実際きれいなのでいいよね。パーティクル全部乗せ最強説、あると思います。
まとめ
今回は、サンプル並べてみましたけど、気に入ったのはありましたか?
パーティクルって種類が多くて、よくわかんない!!ってなりがちですけど、基本は動きを抑えて位置固定か、広い範囲に発散か、くらいだと思います。他にあるかな?なので、あんまり難しく考えずに適当に組み合わせといたらソレっぽくなりますんで、組み合わせ実験をたくさんしていきましょう。
それではこの辺で、お帰りの際はお気を付けて~(・∀・)ノシ
コメント