About

位置 (-1920,11,-143)

呼び出し元 毎tick実行するコマンド群13

忍者のスキルの1つである手裏剣の攻撃処理や演出などを行う。スキルの攻撃力をスキルのレベルと、スキル実行者が投げてから0.5秒経った雪玉の個数によって変動させる。

コマンド群

No. コマンド 状態
1 /scoreboard players tag @e[tag=SurikenIn10] remove SurikenIn10 {PortalCooldown:0} リピート
動力が必要
2 /scoreboard players test #EntityCount Global 2 * 動力が必要
3 /execute @e[tag=ProjectileHit] ~ ~ ~ /scoreboard players add @e[dx=0,tag=ProjectileHit,score_PotentialSkill_min=2200,score_PotentialSkill=2208,c=1] PotentialSkill 1 条件付き
4 /scoreboard players test #EntityCount Global 4 * 条件付き
5 /execute @e[tag=ProjectileHit] ~ ~ ~ /scoreboard players add @e[dx=0,tag=ProjectileHit,score_PotentialSkill_min=2200,score_PotentialSkill=2208,c=1] PotentialSkill 1 条件付き
6 /execute @e[tag=ProjectileHit] ~ ~ ~ /scoreboard players tag @e[dx=0,tag=ProjectileHit,score_PotentialSkill_min=2200,score_PotentialSkill=2209,c=1] add SkillTarget 動力が必要
7 /execute @e[tag=ProjectileHit] ~ ~ ~ /execute @e[dx=0,tag=ProjectileHit,score_PotentialSkill_min=2200,score_PotentialSkill=2209,c=1] ~ ~ ~ /playsound entity.endermite.step master @a[r=32] ~ ~ ~ 2 0.7 1 条件付き
8 /execute @e[tag=ProjectileHit] ~ ~ ~ /execute @e[dx=0,tag=ProjectileHit,score_PotentialSkill_min=2200,score_PotentialSkill=2209,c=1] ~ ~ ~ /particle iconcrack ~ ~1 ~ 0.2 0.3 0.2 0.25 60 force @e[type=Player,r=80] 372 条件付き
9 /execute @e[tag=ProjectileHit] ~ ~ ~ /execute @e[dx=0,tag=ProjectileHit,score_PotentialSkill_min=2200,score_PotentialSkill=2200,c=1] ~ ~ ~ /summon Arrow ~ ~0.02 ~ {CustomName:”スリケン”,damage:30d,Motion:[0d,1d,0d],Silent:true,life:1200s,Tags:[Garbage,TypeChecked]} 動力が必要
10 /execute @e[tag=ProjectileHit] ~ ~ ~ /execute @e[dx=0,tag=ProjectileHit,score_PotentialSkill_min=2201,score_PotentialSkill=2201,c=1] ~ ~ ~ /summon Arrow ~ ~0.02 ~ {CustomName:”スリケン”,damage:45d,Motion:[0d,1d,0d],Silent:true,life:1200s,Tags:[Garbage,TypeChecked]} 動力が必要
11 /execute @e[tag=ProjectileHit] ~ ~ ~ /execute @e[dx=0,tag=ProjectileHit,score_PotentialSkill_min=2202,score_PotentialSkill=2202,c=1] ~ ~ ~ /summon Arrow ~ ~0.02 ~ {CustomName:”スリケン”,damage:60d,Motion:[0d,1d,0d],Silent:true,life:1200s,Tags:[Garbage,TypeChecked]} 動力が必要
12 /execute @e[tag=ProjectileHit] ~ ~ ~ /execute @e[dx=0,tag=ProjectileHit,score_PotentialSkill_min=2203,score_PotentialSkill=2203,c=1] ~ ~ ~ /summon Arrow ~ ~0.02 ~ {CustomName:”スリケン”,damage:75d,Motion:[0d,1d,0d],Silent:true,life:1200s,Tags:[Garbage,TypeChecked]} 動力が必要
13 /execute @e[tag=ProjectileHit] ~ ~ ~ /execute @e[dx=0,tag=ProjectileHit,score_PotentialSkill_min=2204,score_PotentialSkill=2204,c=1] ~ ~ ~ /summon Arrow ~ ~0.02 ~ {CustomName:”スリケン”,damage:105d,Motion:[0d,1d,0d],Silent:true,life:1200s,Tags:[Garbage,TypeChecked]} 動力が必要
14 /execute @e[tag=ProjectileHit] ~ ~ ~ /execute @e[dx=0,tag=ProjectileHit,score_PotentialSkill_min=2205,score_PotentialSkill=2209,c=1] ~ ~ ~ /summon Arrow ~ ~0.02 ~ {CustomName:”スリケン”,damage:150d,Motion:[0d,1d,0d],Silent:true,life:1200s,Tags:[Garbage,TypeChecked]} 動力が必要
15 /fill ~-13 ~1 ~ ~ ~1 ~ minecraft:lapis_block 0 replace minecraft:redstone_block 0 動力が必要
16 /execute @e[tag=Suriken] ~ ~ ~ /playsound entity.witch.throw master @a[r=16] ~ ~ ~ 0.8 1.2 0  
17 /execute @e[tag=Suriken] ~ ~ ~ /playsound entity.mooshroom.shear master @a[r=32] ~ ~ ~ 1 1.2 0.1  
18 /execute @e[tag=Suriken] ~ ~ ~ /particle sweepAttack ~ ~-0.3 ~ 0 0 0 0 1 force 条件付き
19 /scoreboard players test #EntityCount Global * 0  
20 /fill -1921 ~ ~ -1921 ~ ~ minecraft:lapis_block 0 replace minecraft:redstone_block 0 ###ストップ 条件付き

No.1のコマンドブロックについて

No.1のコマンドブロックには以下のタグが付与されている。

CommandStats:{AffectedEntitiesObjective:"Global",AffectedEntitiesName:"#EntityCount"}

詳細

  1. SurikenIn10を持ち、PortalCooldownが0であるすべてのエンティティからSurikenIn10を削除し、その数を#EntityCountGlobalに代入
  2. 手裏剣HIT処理部が起動されている場合、それを実行
  3. Surikenを持つすべてのエンティティから半径16m以内のすべてのプレイヤーに効果音を鳴らす
  4. Surikenを持つすべてのエンティティから半径32m以内のすべてのプレイヤーに効果音を鳴らし、実行出来たら以下の事柄を実行
    • Surikenを持つすべてのエンティティの座標上にパーティクルを表示
  5. #EntityCountGlobalが0以下であるとき、手裏剣クロック処理を停止

手裏剣HIT処理部

  1. #EntityCountGlobalが2以上であるとき、以下の事柄を実行
    1. ProjectileHitを持つエンティティと同座標上にあり、ProjectileHitを持ち、PotentialSkillが2200 ~ 2208であるエンティティのPotnetialSkillに1を足す
    2. #EntityCountGlobalが4以上であるとき、以下の事柄を実行
      • ProjectileHitを持つエンティティと同座標上にあり、ProjectileHitを持ち、PotentialSkillが2200 ~ 2208であるエンティティのPotnetialSkillに1を足す
  2. ProjectileHitを持つエンティティと同座標上にあり、ProjectileHitを持ち、PotentialSkillが2200 ~ 2209であるエンティティが存在するとき、以下の事柄を実行
    1. 対象エンティティにSkillTargetを付与
    2. 対象エンティティから半径32m以内のすべてのプレイヤーに効果音を鳴らす
    3. 対象エンティティから半径80m以内のすべてのプレイヤーにパーティクルを表示
  3. ProjectileHitを持つエンティティと同座標上にあり、ProjectileHitを持つエンティティの座標上に、PotentialSkillの値に応じたdamageを持つスリケンを召喚(手裏剣の攻撃力についてを参照)
  4. 手裏剣HIT処理部を停止

手裏剣の攻撃力について

手裏剣の攻撃力はPotentialSkillの値によって変動する。

PotentialSkill damage スリケンの種類
2200 30 スリケン1
2201 45 スリケン2
2202 60 スリケン3
2203 75 スリケン4
2204 105 スリケン5
2205 ~ 2209 150 スリケン6

まず、PotentialSkill毎tick実行するコマンド群13の手裏剣実行部にてActivatedSkillの値が代入され、スキルレベルに合わせてで2200 ~ 2203と変動する。次に、スキル実行者が投げて0.5秒経った雪玉の個数(どこかしらに着弾してしまった雪玉は含まれない)が2 ~ 3個であれば+1、4個以上であれば+2がPotentialSkillに足される。
例えばスキルレベルがLv.1でも投げてから0.5秒経った雪玉が4個であればPotentialSkillが2204となり、75ダメージ与えることができる。
要は、遠距離から雪玉を投げまくればそれだけ攻撃力が上がるということである。

スリケン

スリケン1 ~ スリケン6damageのみしか変化しない。

+展開

スリケン1

Name スリケン
Type Arrow
Tags Garbage,TypeChecked
damage 30
life 1200(即消滅)
/summon Arrow ~ ~0.02 ~ {CustomName:”スリケン”,damage:30d,Motion:[0d,1d,0d],Silent:true,life:1200s,Tags:[Garbage,TypeChecked]}

スリケン2

Name スリケン
Type Arrow
Tags Garbage,TypeChecked
damage 45
life 1200(即消滅)
/summon Arrow ~ ~0.02 ~ {CustomName:”スリケン”,damage:45d,Motion:[0d,1d,0d],Silent:true,life:1200s,Tags:[Garbage,TypeChecked]}

スリケン3

Name スリケン
Type Arrow
Tags Garbage,TypeChecked
damage 60
life 1200(即消滅)
/summon Arrow ~ ~0.02 ~ {CustomName:”スリケン”,damage:60d,Motion:[0d,1d,0d],Silent:true,life:1200s,Tags:[Garbage,TypeChecked]}

スリケン4

Name スリケン
Type Arrow
Tags Garbage,TypeChecked
damage 75
life 1200(即消滅)
/summon Arrow ~ ~0.02 ~ {CustomName:”スリケン”,damage:75d,Motion:[0d,1d,0d],Silent:true,life:1200s,Tags:[Garbage,TypeChecked]}

スリケン5

Name スリケン
Type Arrow
Tags Garbage,TypeChecked
damage 105
life 1200(即消滅)
/summon Arrow ~ ~0.02 ~ {CustomName:”スリケン”,damage:105d,Motion:[0d,1d,0d],Silent:true,life:1200s,Tags:[Garbage,TypeChecked]}

スリケン6

Name スリケン
Type Arrow
Tags Garbage,TypeChecked
damage 150
life 1200(即消滅)
/summon Arrow ~ ~0.02 ~ {CustomName:”スリケン”,damage:150d,Motion:[0d,1d,0d],Silent:true,life:1200s,Tags:[Garbage,TypeChecked]}