ようこそぷっこ村へ、ししゃもです。
(・∀・)ノ
夏休みやね~、皆様におかれましてはいかがお過ごしでしょうか?勉強しろよ?さて、今回は夏休みをテーマに建築したので、何となくそれについて書いておこうかなと思い立ちました。
ルール!
ルールは100サイズ内に収めること、テーマは夏休み。ただ建築するだけなのもなんだか味気ないので、コマブロでアニメーションもしてみようって感じです。
で、とりあえずできたのがこちらです。何が何やらさっぱりなので誰得解説もしていきます。
まず、表現したかったのがどういったものなのか?ってのがこちら。絵日記風のタッチでポスターっぽい感じにしてみました。
誰得解説ぅ!
まずこの謎のHEREですが穴が開いていて、飛び込むとアニメーションが始まります。まぁ、万華鏡とかののぞき穴だと思ってくれたらいいよ。
下に広がるシュールな光景は、登場キャラクターたちの各コマです。ストラクチャーブロックで範囲を囲ってますが、これは目印用で、実際は/structure ではなく/clone で上書きしてます。その方が手間が少ないしね。
と、思ったんだけど、Java版の方で作ってて、そもそも/structure ないわ! /setblockでNBT入れるとかしんど過ぎるので、/clone一択でした。
ちなみに上下逆さになってるのは、水面に映った姿も表現したかったから。
需要があるかもしんないコマンドのとこ
そして謎にくっそ高いコマブロタワー。一応どんな感じで書いたのか貼っておきます。
setblock -55 -48 -16 minecraft:redstone_block
setblock -54 -48 -23 minecraft:repeater[facing=east,delay=1]
scoreboard players set animCount genericCounter 0
scoreboard players set animCountDog genericCounter 0
scoreboard players set timer genericCounter 0
summon marker 12 -24 -92 {Rotation:[90f, 0f],Tags:[girl]}
summon marker 25 -24 -92 {Rotation:[90f, 0f],Tags:[dog]}
fill -10 -24 -92 0 -9 -89 air
fill -10 -43 -77 0 -28 -74 air
fill -1 -24 -92 14 -16 -89 air
まず、のぞき穴に落ちると、初期化用のコマブロ群が動いて、回路に動力を供給します。
execute if score timer genericCounter matches ..42 if score animCount genericCounter matches 0 as @e[type=marker,tag=girl] at @s run clone -17 -47 -34 -7 -32 -31 ~ ~ ~
execute if score timer genericCounter matches ..42 if score animCount genericCounter matches 1 as @e[type=marker,tag=girl] at @s run clone -5 -47 -34 5 -32 -31 ~ ~ ~
execute if score timer genericCounter matches ..42 if score animCount genericCounter matches 2 as @e[type=marker,tag=girl] at @s run clone 7 -47 -34 17 -32 -31 ~ ~ ~
execute if score timer genericCounter matches ..42 if score animCount genericCounter matches 3 as @e[type=marker,tag=girl] at @s run clone 19 -47 -34 29 -32 -31 ~ ~ ~
execute if score timer genericCounter matches ..42 if score animCount genericCounter matches 4 as @e[type=marker,tag=girl] at @s run clone 31 -47 -34 41 -32 -31 ~ ~ ~
execute if score timer genericCounter matches ..42 if score animCount genericCounter matches 5 as @e[type=marker,tag=girl] at @s run clone 19 -47 -34 29 -32 -31 ~ ~ ~
execute if score timer genericCounter matches ..42 if score animCount genericCounter matches 6 as @e[type=marker,tag=girl] at @s run clone 7 -47 -34 17 -32 -31 ~ ~ ~
execute if score timer genericCounter matches ..42 if score animCount genericCounter matches 7 as @e[type=marker,tag=girl] at @s run clone -5 -47 -34 5 -32 -31 ~ ~ ~
execute if score timer genericCounter matches ..42 if score animCount genericCounter matches 0 as @e[type=marker,tag=girl] at @s run clone -17 -47 -39 -7 -32 -36 ~ ~-19 ~15
execute if score timer genericCounter matches ..42 if score animCount genericCounter matches 1 as @e[type=marker,tag=girl] at @s run clone -5 -47 -39 5 -32 -36 ~ ~-19 ~15
execute if score timer genericCounter matches ..42 if score animCount genericCounter matches 2 as @e[type=marker,tag=girl] at @s run clone 7 -47 -39 17 -32 -36 ~ ~-19 ~15
execute if score timer genericCounter matches ..42 if score animCount genericCounter matches 3 as @e[type=marker,tag=girl] at @s run clone 19 -47 -39 29 -32 -36 ~ ~-19 ~15
execute if score timer genericCounter matches ..42 if score animCount genericCounter matches 4 as @e[type=marker,tag=girl] at @s run clone 31 -47 -39 41 -32 -36 ~ ~-19 ~15
execute if score timer genericCounter matches ..42 if score animCount genericCounter matches 5 as @e[type=marker,tag=girl] at @s run clone 19 -47 -39 29 -32 -36 ~ ~-19 ~15
execute if score timer genericCounter matches ..42 if score animCount genericCounter matches 6 as @e[type=marker,tag=girl] at @s run clone 7 -47 -39 17 -32 -36 ~ ~-19 ~15
execute if score timer genericCounter matches ..42 if score animCount genericCounter matches 7 as @e[type=marker,tag=girl] at @s run clone -5 -47 -39 5 -32 -36 ~ ~-19 ~15
execute if score timer genericCounter matches 43 as @e[type=marker,tag=girl] at @s run clone 7 -47 -29 17 -32 -26 ~ ~ ~
execute if score timer genericCounter matches 43 as @e[type=marker,tag=girl] at @s run clone -17 -47 -29 -7 -32 -26 ~ ~-19 ~15
execute if score timer genericCounter matches 45 as @e[type=marker,tag=girl] at @s run clone 19 -47 -29 29 -32 -26 ~ ~ ~
execute if score timer genericCounter matches 45 as @e[type=marker,tag=girl] at @s run clone -5 -47 -29 5 -32 -26 ~ ~-19 ~15
execute if score timer genericCounter matches 56 as @e[type=marker,tag=girl] at @s run clone 7 -47 -29 17 -32 -26 ~ ~ ~
execute if score timer genericCounter matches 56 as @e[type=marker,tag=girl] at @s run clone -17 -47 -29 -7 -32 -26 ~ ~-19 ~15
execute if score timer genericCounter matches 58.. if score animCount genericCounter matches 0 as @e[type=marker,tag=girl] at @s run clone -17 -47 -34 -7 -32 -31 ~ ~ ~
execute if score timer genericCounter matches 58.. if score animCount genericCounter matches 1 as @e[type=marker,tag=girl] at @s run clone -5 -47 -34 5 -32 -31 ~ ~ ~
execute if score timer genericCounter matches 58.. if score animCount genericCounter matches 2 as @e[type=marker,tag=girl] at @s run clone 7 -47 -34 17 -32 -31 ~ ~ ~
execute if score timer genericCounter matches 58.. if score animCount genericCounter matches 3 as @e[type=marker,tag=girl] at @s run clone 19 -47 -34 29 -32 -31 ~ ~ ~
execute if score timer genericCounter matches 58.. if score animCount genericCounter matches 4 as @e[type=marker,tag=girl] at @s run clone 31 -47 -34 41 -32 -31 ~ ~ ~
execute if score timer genericCounter matches 58.. if score animCount genericCounter matches 5 as @e[type=marker,tag=girl] at @s run clone 19 -47 -34 29 -32 -31 ~ ~ ~
execute if score timer genericCounter matches 58.. if score animCount genericCounter matches 6 as @e[type=marker,tag=girl] at @s run clone 7 -47 -34 17 -32 -31 ~ ~ ~
execute if score timer genericCounter matches 58.. if score animCount genericCounter matches 7 as @e[type=marker,tag=girl] at @s run clone -5 -47 -34 5 -32 -31 ~ ~ ~
execute if score timer genericCounter matches 58.. if score animCount genericCounter matches 0 as @e[type=marker,tag=girl] at @s run clone -17 -47 -39 -7 -32 -36 ~ ~-19 ~15
execute if score timer genericCounter matches 58.. if score animCount genericCounter matches 1 as @e[type=marker,tag=girl] at @s run clone -5 -47 -39 5 -32 -36 ~ ~-19 ~15
execute if score timer genericCounter matches 58.. if score animCount genericCounter matches 2 as @e[type=marker,tag=girl] at @s run clone 7 -47 -39 17 -32 -36 ~ ~-19 ~15
execute if score timer genericCounter matches 58.. if score animCount genericCounter matches 3 as @e[type=marker,tag=girl] at @s run clone 19 -47 -39 29 -32 -36 ~ ~-19 ~15
execute if score timer genericCounter matches 58.. if score animCount genericCounter matches 4 as @e[type=marker,tag=girl] at @s run clone 31 -47 -39 41 -32 -36 ~ ~-19 ~15
execute if score timer genericCounter matches 58.. if score animCount genericCounter matches 5 as @e[type=marker,tag=girl] at @s run clone 19 -47 -39 29 -32 -36 ~ ~-19 ~15
execute if score timer genericCounter matches 58.. if score animCount genericCounter matches 6 as @e[type=marker,tag=girl] at @s run clone 7 -47 -39 17 -32 -36 ~ ~-19 ~15
execute if score timer genericCounter matches 58.. if score animCount genericCounter matches 7 as @e[type=marker,tag=girl] at @s run clone -5 -47 -39 5 -32 -36 ~ ~-19 ~15
scoreboard players add animCount genericCounter 1
scoreboard players add timer genericCounter 1
execute if score animCount genericCounter matches 8.. run scoreboard players set animCount genericCounter 0
execute if score timer genericCounter matches 30 run setblock -53 -48 -25 redstone_wire
execute if score timer genericCounter matches 80.. as @e[type=marker,tag=girl] at @s run clone -17 -47 -34 -7 -32 -31 -10 -24 -92
execute if score timer genericCounter matches 80.. as @e[type=marker,tag=girl] at @s run clone -17 -47 -39 -7 -32 -36 -10 -43 -77
execute if score timer genericCounter matches 80.. as @e[type=marker,tag=girl] at @s run fill ~ ~ ~ ~10 ~15 ~3 air
execute if score timer genericCounter matches 80.. as @e[type=marker,tag=girl] at @s run fill ~ ~-19 ~15 ~10 ~-4 ~18 air
execute if score timer genericCounter matches 80.. as @e[type=marker,tag=dog] at @s run clone 9 -47 -24 24 -39 -21 -1 -24 -92
execute if score timer genericCounter matches 80.. as @e[type=marker,tag=dog] at @s run clone 9 -47 -19 24 -39 -16 -1 -36 -77
execute if score timer genericCounter matches 80.. as @e[type=marker,tag=dog] at @s run fill ~ ~ ~ ~15 ~8 ~3 air
execute if score timer genericCounter matches 80.. as @e[type=marker,tag=dog] at @s run fill ~ ~-12 ~15 ~14 ~-4 ~18 air
execute if score timer genericCounter matches 80.. run kill @e[type=marker]
execute if score timer genericCounter matches 80.. run setblock -54 -48 -23 air
execute if score timer genericCounter matches 80.. run setblock -53 -48 -25 air
execute if score timer genericCounter matches 80.. run setblock -55 -48 -16 minecraft:gold_block
execute if score timer genericCounter matches ..41 as @e[type=marker,tag=girl] at @s run tp ^ ^ ^1
execute if score timer genericCounter matches 58.. as @e[type=marker,tag=girl] at @s run tp ^ ^ ^1
スコアボードでタイミングを計りながら、マーカーを前進させて、その位置にクローンし続けます。力 is power なごり押しのコマンドになってますね!詰めれば半分くらいでやれる感じのする案件なので、(真似を)してはいけない(戒め)
execute if score timer genericCounter matches ..50 if score animCountDog genericCounter matches 0 as @e[type=marker,tag=dog] at @s run clone 26 -47 -24 41 -39 -21 ~ ~ ~
execute if score timer genericCounter matches ..50 if score animCountDog genericCounter matches 1 as @e[type=marker,tag=dog] at @s run clone 9 -47 -24 24 -39 -21 ~ ~ ~
execute if score timer genericCounter matches ..50 if score animCountDog genericCounter matches 2 as @e[type=marker,tag=dog] at @s run clone -8 -47 -24 7 -39 -21 ~ ~ ~
execute if score timer genericCounter matches ..50 if score animCountDog genericCounter matches 3 as @e[type=marker,tag=dog] at @s run clone 9 -47 -24 24 -39 -21 ~ ~ ~
execute if score timer genericCounter matches ..50 if score animCountDog genericCounter matches 0 as @e[type=marker,tag=dog] at @s run clone 26 -47 -19 41 -39 -16 ~ ~-12 ~15
execute if score timer genericCounter matches ..50 if score animCountDog genericCounter matches 1 as @e[type=marker,tag=dog] at @s run clone 9 -47 -19 24 -39 -16 ~ ~-12 ~15
execute if score timer genericCounter matches ..50 if score animCountDog genericCounter matches 2 as @e[type=marker,tag=dog] at @s run clone 9 -47 -19 24 -39 -16 ~ ~-12 ~15
execute if score timer genericCounter matches ..50 if score animCountDog genericCounter matches 3 as @e[type=marker,tag=dog] at @s run clone 9 -47 -19 24 -39 -16 ~ ~-12 ~15
execute if score timer genericCounter matches 58.. if score animCountDog genericCounter matches 0 as @e[type=marker,tag=dog] at @s run clone 26 -47 -24 41 -39 -21 ~ ~ ~
execute if score timer genericCounter matches 58.. if score animCountDog genericCounter matches 1 as @e[type=marker,tag=dog] at @s run clone 9 -47 -24 24 -39 -21 ~ ~ ~
execute if score timer genericCounter matches 58.. if score animCountDog genericCounter matches 2 as @e[type=marker,tag=dog] at @s run clone -8 -47 -24 7 -39 -21 ~ ~ ~
execute if score timer genericCounter matches 58.. if score animCountDog genericCounter matches 3 as @e[type=marker,tag=dog] at @s run clone 9 -47 -24 24 -39 -21 ~ ~ ~
execute if score timer genericCounter matches 58.. if score animCountDog genericCounter matches 0 as @e[type=marker,tag=dog] at @s run clone 26 -47 -19 41 -39 -16 ~ ~-12 ~15
execute if score timer genericCounter matches 58.. if score animCountDog genericCounter matches 1 as @e[type=marker,tag=dog] at @s run clone 9 -47 -19 24 -39 -16 ~ ~-12 ~15
execute if score timer genericCounter matches 58.. if score animCountDog genericCounter matches 2 as @e[type=marker,tag=dog] at @s run clone 9 -47 -19 24 -39 -16 ~ ~-12 ~15
execute if score timer genericCounter matches 58.. if score animCountDog genericCounter matches 3 as @e[type=marker,tag=dog] at @s run clone 9 -47 -19 24 -39 -16 ~ ~-12 ~15
execute if score timer genericCounter matches 51 as @e[type=marker,tag=dog] at @s run clone -25 -47 -24 -10 -39 -21 ~ ~ ~
execute if score timer genericCounter matches 52 as @e[type=marker,tag=dog] at @s run clone -42 -47 -24 -27 -39 -21 ~ ~ ~
execute if score timer genericCounter matches 54 as @e[type=marker,tag=dog] at @s run clone -25 -47 -24 -10 -39 -21 ~ ~ ~
execute if score timer genericCounter matches 51 as @e[type=marker,tag=dog] at @s run clone -25 -47 -19 -10 -39 -16 ~ ~-12 ~15
execute if score timer genericCounter matches 52 as @e[type=marker,tag=dog] at @s run clone -42 -47 -19 -27 -39 -16 ~ ~-12 ~15
execute if score timer genericCounter matches 54 as @e[type=marker,tag=dog] at @s run clone -25 -47 -19 -10 -39 -16 ~ ~-12 ~15
scoreboard players add animCountDog genericCounter 1
execute if score animCountDog genericCounter matches 3.. run scoreboard players set animCountDog genericCounter 0
execute if score timer genericCounter matches ..50 as @e[type=marker,tag=dog] at @s run tp ^ ^ ^2
execute if score timer genericCounter matches 58.. as @e[type=marker,tag=dog] at @s run tp ^ ^ ^1
わんこ側のコマンドです。これもなかなかのごり押し具合で、見てて目が潰れそうですね、わかります。
動画!
これらを鍋にほり込んで、グチャグチャかき混ぜて最終的にできたのが↓
よきよき(・∀・)
あぁもう、何かちゃんとやらな!っていう強迫観念みたいなんに追いかけられて、ブログの内容もちゃんとさせようと考えすぎて手につかん!悪い癖が抜けないまま死ぬのは嫌なので、肩の力抜いてクソブログやりたい!のでやる!
この雑な感じで再開できるようにやってこうと思います。それではこの辺で、お帰りの際はお気を付けて~(・∀・)ノシ
コメント