text:
#> asset:artifact/0985.ark_of_the_sanctuary/trigger/skill/skill3
#
#
#
# @within function asset:artifact/0985.ark_of_the_sanctuary/trigger/skill/skill_active

# スコアを増やす
    execute if score @s RD.Time matches 1.. run scoreboard players add @s RD.Time 1

# 剣を振る
    execute if score @s RD.Time matches 2 anchored eyes positioned ~ ~ ~ run function asset:artifact/0985.ark_of_the_sanctuary/trigger/slash/slash3
    execute if score @s RD.Time matches 2 run function asset:artifact/0985.ark_of_the_sanctuary/trigger/slash

# 剣を振る
    execute if score @s RD.Time matches 4 anchored eyes positioned ~ ~ ~ run function asset:artifact/0985.ark_of_the_sanctuary/trigger/slash/slash4
    execute if score @s RD.Time matches 4 run function asset:artifact/0985.ark_of_the_sanctuary/trigger/slash

# 剣を振る
    execute if score @s RD.Time matches 6 anchored eyes positioned ~ ~ ~ run function asset:artifact/0985.ark_of_the_sanctuary/trigger/slash/slash5
    execute if score @s RD.Time matches 6 run function asset:artifact/0985.ark_of_the_sanctuary/trigger/slash

# 剣を振る
    execute if score @s RD.Time matches 8 anchored eyes positioned ~ ~ ~ run function asset:artifact/0985.ark_of_the_sanctuary/trigger/slash/slash6
    execute if score @s RD.Time matches 8 run function asset:artifact/0985.ark_of_the_sanctuary/trigger/slash

# スコアを消す
    execute if score @s RD.Time matches 10 run scoreboard players reset @s RD.Time


text:
#> asset:artifact/0985.ark_of_the_sanctuary/trigger/skill/skill_active
#
#
#
# @within function asset:artifact/0985.ark_of_the_sanctuary/trigger/schedule_loop

# スキル1(1度しか実行しない)
    execute if score @s RD.Turn matches 1 run function asset:artifact/0985.ark_of_the_sanctuary/trigger/skill/skill1
# スキル2(1度しか実行しない)
    execute if score @s RD.Turn matches 2 run function asset:artifact/0985.ark_of_the_sanctuary/trigger/skill/skill2
# スキル3
    execute if score @s RD.Turn matches 3 run function asset:artifact/0985.ark_of_the_sanctuary/trigger/skill/skill3
# スキル4
    execute if score @s RD.Turn matches 4 run function asset:artifact/0985.ark_of_the_sanctuary/trigger/skill/skill4

repo_name: ProjectTSB/TheSkyBlessing

repo_language: mcfunction

mime_type: text/plain


text:
#> asset:artifact/0985.ark_of_the_sanctuary/trigger/skill/skill2
#
#
#
# @within function asset:artifact/0985.ark_of_the_sanctuary/trigger/skill/skill_active

# 剣を振る
    execute anchored eyes positioned ~ ~ ~ run function asset:artifact/0985.ark_of_the_sanctuary/trigger/slash/slash2
    function asset:artifact/0985.ark_of_the_sanctuary/trigger/slash
# スコアを消す
    scoreboard players reset @s RD.Time


text:
#> asset:artifact/0985.ark_of_the_sanctuary/trigger/skill/skill1
#
#
#
# @within function asset:artifact/0985.ark_of_the_sanctuary/trigger/skill/skill_active

# 剣を振る
    execute anchored eyes positioned ~ ~ ~ run function asset:artifact/0985.ark_of_the_sanctuary/trigger/slash/slash1
    function asset:artifact/0985.ark_of_the_sanctuary/trigger/slash
    scoreboard players reset @s RD.Time


text:
#> asset:artifact/0985.ark_of_the_sanctuary/trigger/slash/slash_anime
#
#
#
# @within function asset:artifact/0985.ark_of_the_sanctuary/trigger/slash/slash_schedule

# スコア加算
    scoreboard players add @s RD.SwordTime 1

# アニメ
    item replace entity @s[scores={RD.SwordTime=2}] weapon.mainhand with potion{CustomModelData:20242}
    item replace entity @s[scores={RD.SwordTime=3}] weapon.mainhand with potion{CustomModelData:20243}
    item replace entity @s[scores={RD.SwordTime=4}] weapon.mainhand with potion{CustomModelData:20244}

# キル
    kill @s[scores={RD.SwordTime=5..}]


text:
#> asset:artifact/0985.ark_of_the_sanctuary/trigger/slash/slash4
#
#
#
# @within function asset:artifact/0985.ark_of_the_sanctuary/trigger/**

# 斬撃
    execute if entity @s[y_rotation=-22.5..22.4] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[-90F,0F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,-45.0f,0.1f]},DisabledSlots:4144959}
    execute if entity @s[y_rotation=22.5..67.4] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[-45F,0F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,-45.0f,0.1f]},DisabledSlots:4144959}
    execute if entity @s[y_rotation=67.5..114.9] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[0F,0F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,-45.0f,0.1f]},DisabledSlots:4144959}
    execute if entity @s[y_rotation=115..157.4] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[45F,0F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,-45.0f,0.1f]},DisabledSlots:4144959}
    execute if entity @s[y_rotation=157.5..-157.4] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[90F,0F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,-45.0f,0.1f]},DisabledSlots:4144959}
    execute if entity @s[y_rotation=-157.5..-114.9] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[135F,0F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,-45.0f,0.1f]},DisabledSlots:4144959}
    execute if entity @s[y_rotation=-115..-67.4] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[180F,0F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,-45.0f,0.1f]},DisabledSlots:4144959}
    execute if entity @s[y_rotation=-67.5..-22.4] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[-135F,0F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,-45.0f,0.1f]},DisabledSlots:4144959}

# ストレージに突っ込む
    function api:data_get/rotation

# 向きを揃える
    data modify entity @e[type=armor_stand,tag=RD.SlashInit,distance=..10,sort=nearest,limit=1] Rotation set from storage api: Rotation

# 向き
    execute store result score @e[type=armor_stand,tag=RD.SlashInit,distance=..10,sort=nearest,limit=1] Temporary run data get storage api: Rotation[1] 1
    execute store result entity @e[type=armor_stand,tag=RD.SlashInit,distance=..10,sort=nearest,limit=1] Pose.RightArm[2] float -1 run scoreboard players remove @e[type=armor_stand,tag=RD.SlashInit,distance=..10,sort=nearest,limit=1] Temporary 95
    scoreboard players reset @e[type=armor_stand,tag=RD.SlashInit,distance=..10,sort=nearest,limit=1] Temporary
    tag @e[type=armor_stand,tag=RD.SlashInit,distance=..10,sort=nearest,limit=1] remove RD.SlashInit

# アニメーション開始
    execute unless entity @e[type=armor_stand,tag=RD.SlashSweep,distance=..100,limit=1] run function asset:artifact/0985.ark_of_the_sanctuary/trigger/slash/slash_schedule
    execute if entity @e[type=armor_stand,tag=RD.SlashSweep,distance=..100,limit=1] run schedule function asset:artifact/0985.ark_of_the_sanctuary/trigger/slash/slash_schedule 1t


text:
#> asset:artifact/0985.ark_of_the_sanctuary/trigger/slash/slash1
#
#
#
# @within function asset:artifact/0985.ark_of_the_sanctuary/trigger/**

# 斬撃
    execute if entity @s[y_rotation=-22.5..22.4] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[-90F,0F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,180.0f,0.1f]},DisabledSlots:4144959}
    execute if entity @s[y_rotation=22.5..67.4] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[-45F,0F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,180.0f,0.1f]},DisabledSlots:4144959}
    execute if entity @s[y_rotation=67.5..114.9] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[0F,0F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,180.0f,0.1f]},DisabledSlots:4144959}
    execute if entity @s[y_rotation=115..157.4] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[45F,0F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,180.0f,0.1f]},DisabledSlots:4144959}
    execute if entity @s[y_rotation=157.5..-157.4] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[90F,0F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,180.0f,0.1f]},DisabledSlots:4144959}
    execute if entity @s[y_rotation=-157.5..-114.9] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[135F,0F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,180.0f,0.1f]},DisabledSlots:4144959}
    execute if entity @s[y_rotation=-115..-67.4] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[180F,0F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,180.0f,0.1f]},DisabledSlots:4144959}
    execute if entity @s[y_rotation=-67.5..-22.4] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[-135F,0F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,180.0f,0.1f]},DisabledSlots:4144959}

# ストレージに突っ込む
    function api:data_get/rotation

# 向きを揃える
    data modify entity @e[type=armor_stand,tag=RD.SlashInit,distance=..10,sort=nearest,limit=1] Rotation set from storage api: Rotation

# 向き
    execute store result score @e[type=armor_stand,tag=RD.SlashInit,distance=..10,sort=nearest,limit=1] Temporary run data get storage api: Rotation[1] 1
    execute store result entity @e[type=armor_stand,tag=RD.SlashInit,distance=..10,sort=nearest,limit=1] Pose.RightArm[2] float -1 run scoreboard players remove @e[type=armor_stand,tag=RD.SlashInit,distance=..10,sort=nearest,limit=1] Temporary 95
    scoreboard players reset @e[type=armor_stand,tag=RD.SlashInit,distance=..10,sort=nearest,limit=1] Temporary
    tag @e[type=armor_stand,tag=RD.SlashInit,distance=..10,sort=nearest,limit=1] remove RD.SlashInit

# アニメーション開始(もし斬撃アマスタがいないならすぐに実行したいからこうなってる。妥当な処理ではないかも？)
    execute unless entity @e[type=armor_stand,tag=RD.SlashSweep,distance=..100,limit=1] run function asset:artifact/0985.ark_of_the_sanctuary/trigger/slash/slash_schedule
    execute if entity @e[type=armor_stand,tag=RD.SlashSweep,distance=..100,limit=1] run schedule function asset:artifact/0985.ark_of_the_sanctuary/trigger/slash/slash_schedule 1t


text:
#> asset:artifact/0985.ark_of_the_sanctuary/trigger/slash/slash3
#
#
#
# @within function asset:artifact/0985.ark_of_the_sanctuary/trigger/**

# 斬撃
    execute if entity @s[y_rotation=-22.5..22.4] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[-90F,0F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,45.0f,0.1f]},DisabledSlots:4144959}
    execute if entity @s[y_rotation=22.5..67.4] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[-45F,0F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,45.0f,0.1f]},DisabledSlots:4144959}
    execute if entity @s[y_rotation=67.5..114.9] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[0F,0F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,45.0f,0.1f]},DisabledSlots:4144959}
    execute if entity @s[y_rotation=115..157.4] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[45F,0F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,45.0f,0.1f]},DisabledSlots:4144959}
    execute if entity @s[y_rotation=157.5..-157.4] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[90F,0F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,45.0f,0.1f]},DisabledSlots:4144959}
    execute if entity @s[y_rotation=-157.5..-114.9] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[135F,0F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,45.0f,0.1f]},DisabledSlots:4144959}
    execute if entity @s[y_rotation=-115..-67.4] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[180F,0F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,45.0f,0.1f]},DisabledSlots:4144959}
    execute if entity @s[y_rotation=-67.5..-22.4] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[-135F,0F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,45.0f,0.1f]},DisabledSlots:4144959}

# ストレージに突っ込む
    function api:data_get/rotation

# 向きを揃える
    data modify entity @e[type=armor_stand,tag=RD.SlashInit,distance=..10,sort=nearest,limit=1] Rotation set from storage api: Rotation

# 向き
    execute store result score @e[type=armor_stand,tag=RD.SlashInit,distance=..10,sort=nearest,limit=1] Temporary run data get storage api: Rotation[1] 1
    execute store result entity @e[type=armor_stand,tag=RD.SlashInit,distance=..10,sort=nearest,limit=1] Pose.RightArm[2] float -1 run scoreboard players remove @e[type=armor_stand,tag=RD.SlashInit,distance=..10,sort=nearest,limit=1] Temporary 95
    scoreboard players reset @e[type=armor_stand,tag=RD.SlashInit,distance=..10,sort=nearest,limit=1] Temporary
    tag @e[type=armor_stand,tag=RD.SlashInit,distance=..10,sort=nearest,limit=1] remove RD.SlashInit

# アニメーション開始
    execute unless entity @e[type=armor_stand,tag=RD.SlashSweep,distance=..100,limit=1] run function asset:artifact/0985.ark_of_the_sanctuary/trigger/slash/slash_schedule
    execute if entity @e[type=armor_stand,tag=RD.SlashSweep,distance=..100,limit=1] run schedule function asset:artifact/0985.ark_of_the_sanctuary/trigger/slash/slash_schedule 1t


text:
#> asset:artifact/0985.ark_of_the_sanctuary/trigger/slash/slash_schedule
#
#
#
# @within function
#       asset:artifact/0985.ark_of_the_sanctuary/trigger/slash/slash?
#       asset:artifact/0985.ark_of_the_sanctuary/trigger/slash/slash_schedule
#       asset:artifact/0985.ark_of_the_sanctuary/trigger/rejoin_process

# エンティティに実行させる
    execute as @e[type=armor_stand,tag=RD.SlashSweep] at @s run function asset:artifact/0985.ark_of_the_sanctuary/trigger/slash/slash_anime

# エンティティがいればループ
    execute if entity @e[type=armor_stand,tag=RD.SlashSweep,limit=1] run schedule function asset:artifact/0985.ark_of_the_sanctuary/trigger/slash/slash_schedule 1t


text:
#> asset:artifact/0985.ark_of_the_sanctuary/trigger/slash/slash5
#
#
#
# @within function asset:artifact/0985.ark_of_the_sanctuary/trigger/**

# 斬撃
    execute if entity @s[y_rotation=-22.5..22.4] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[-90F,90F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,25.5f,0.1f]},DisabledSlots:4144959}
    execute if entity @s[y_rotation=22.5..67.4] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[-45F,90F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,25.5f,0.1f]},DisabledSlots:4144959}
    execute if entity @s[y_rotation=67.5..114.9] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[0F,90F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,25.5f,0.1f]},DisabledSlots:4144959}
    execute if entity @s[y_rotation=115..157.4] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[45F,90F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,25.5f,0.1f]},DisabledSlots:4144959}
    execute if entity @s[y_rotation=157.5..-157.4] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[90F,90F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,25.5f,0.1f]},DisabledSlots:4144959}
    execute if entity @s[y_rotation=-157.5..-114.9] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[135F,90F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,25.5f,0.1f]},DisabledSlots:4144959}
    execute if entity @s[y_rotation=-115..-67.4] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[180F,90F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,25.5f,0.1f]},DisabledSlots:4144959}
    execute if entity @s[y_rotation=-67.5..-22.4] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[-135F,90F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,25.5f,0.1f]},DisabledSlots:4144959}

# ストレージに突っ込む
    function api:data_get/rotation

# 向きを揃える
    data modify entity @e[type=armor_stand,tag=RD.SlashInit,distance=..10,sort=nearest,limit=1] Rotation set from storage api: Rotation

# 向き
    execute store result score @e[type=armor_stand,tag=RD.SlashInit,distance=..10,sort=nearest,limit=1] Temporary run data get storage api: Rotation[1] 1
    execute store result entity @e[type=armor_stand,tag=RD.SlashInit,distance=..10,sort=nearest,limit=1] Pose.RightArm[2] float -1 run scoreboard players remove @e[type=armor_stand,tag=RD.SlashInit,distance=..10,sort=nearest,limit=1] Temporary 95
    scoreboard players reset @e[type=armor_stand,tag=RD.SlashInit,distance=..10,sort=nearest,limit=1] Temporary
    tag @e[type=armor_stand,tag=RD.SlashInit,distance=..10,sort=nearest,limit=1] remove RD.SlashInit

# アニメーション開始
    execute unless entity @e[type=armor_stand,tag=RD.SlashSweep,distance=..100,limit=1] run function asset:artifact/0985.ark_of_the_sanctuary/trigger/slash/slash_schedule
    execute if entity @e[type=armor_stand,tag=RD.SlashSweep,distance=..100,limit=1] run schedule function asset:artifact/0985.ark_of_the_sanctuary/trigger/slash/slash_schedule 1t


text:
#> asset:artifact/0985.ark_of_the_sanctuary/trigger/slash/slash2
#
#
#
# @within function asset:artifact/0985.ark_of_the_sanctuary/trigger/**

# 斬撃
    execute if entity @s[y_rotation=-22.5..22.4] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[90F,0F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,180.0f,0.1f]},DisabledSlots:4144959}
    execute if entity @s[y_rotation=22.5..67.4] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[135F,0F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,180.0f,0.1f]},DisabledSlots:4144959}
    execute if entity @s[y_rotation=67.5..114.9] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[180F,0F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,180.0f,0.1f]},DisabledSlots:4144959}
    execute if entity @s[y_rotation=115..157.4] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[-135F,0F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,180.0f,0.1f]},DisabledSlots:4144959}
    execute if entity @s[y_rotation=157.5..-157.4] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[-90F,0F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,180.0f,0.1f]},DisabledSlots:4144959}
    execute if entity @s[y_rotation=-157.5..-114.9] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[-45F,0F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,180.0f,0.1f]},DisabledSlots:4144959}
    execute if entity @s[y_rotation=-115..-67.4] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[0F,0F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,180.0f,0.1f]},DisabledSlots:4144959}
    execute if entity @s[y_rotation=-67.5..-22.4] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[45F,0F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,180.0f,0.1f]},DisabledSlots:4144959}

# ストレージに突っ込む
    function api:data_get/rotation

# 向きを揃える
    data modify entity @e[type=armor_stand,tag=RD.SlashInit,distance=..10,sort=nearest,limit=1] Rotation set from storage api: Rotation

# 向き
    execute store result score @e[type=armor_stand,tag=RD.SlashInit,distance=..10,sort=nearest,limit=1] Temporary run data get storage api: Rotation[1] 1
    execute store result entity @e[type=armor_stand,tag=RD.SlashInit,distance=..10,sort=nearest,limit=1] Pose.RightArm[2] float 1 run scoreboard players remove @e[type=armor_stand,tag=RD.SlashInit,distance=..10,sort=nearest,limit=1] Temporary 95
    scoreboard players reset @e[type=armor_stand,tag=RD.SlashInit,distance=..10,sort=nearest,limit=1] Temporary
    tag @e[type=armor_stand,tag=RD.SlashInit,distance=..10,sort=nearest,limit=1] remove RD.SlashInit

# アニメーション開始
    execute unless entity @e[type=armor_stand,tag=RD.SlashSweep,distance=..100,limit=1] run function asset:artifact/0985.ark_of_the_sanctuary/trigger/slash/slash_schedule
    execute if entity @e[type=armor_stand,tag=RD.SlashSweep,distance=..100,limit=1] run schedule function asset:artifact/0985.ark_of_the_sanctuary/trigger/slash/slash_schedule 1t


text:
#> asset:artifact/0985.ark_of_the_sanctuary/trigger/slash/slash6
#
#
#
# @within function asset:artifact/0985.ark_of_the_sanctuary/trigger/**

# 斬撃
    execute if entity @s[y_rotation=-22.5..22.4] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[-90F,90F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,-25.5f,0.1f]},DisabledSlots:4144959}
    execute if entity @s[y_rotation=22.5..67.4] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[-45F,90F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,-25.5f,0.1f]},DisabledSlots:4144959}
    execute if entity @s[y_rotation=67.5..114.9] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[0F,90F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,-25.5f,0.1f]},DisabledSlots:4144959}
    execute if entity @s[y_rotation=115..157.4] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[45F,90F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,-25.5f,0.1f]},DisabledSlots:4144959}
    execute if entity @s[y_rotation=157.5..-157.4] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[90F,90F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,-25.5f,0.1f]},DisabledSlots:4144959}
    execute if entity @s[y_rotation=-157.5..-114.9] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[135F,90F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,-25.5f,0.1f]},DisabledSlots:4144959}
    execute if entity @s[y_rotation=-115..-67.4] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[180F,90F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,-25.5f,0.1f]},DisabledSlots:4144959}
    execute if entity @s[y_rotation=-67.5..-22.4] rotated ~ 0 anchored eyes run summon armor_stand ^ ^-1.8 ^ {Rotation:[-135F,90F],Tags:["RD.SlashSweep","RD.SlashInit","Object"],NoGravity:1b,Invisible:1b,Pose:{RightArm:[0.1f,-25.5f,0.1f]},DisabledSlots:4144959}

# ストレージに突っ込む
    function api:data_get/rotation

# 向きを揃える
    data modify entity @e[type=armor_stand,tag=RD.SlashInit,distance=..10,sort=nearest,limit=1] Rotation set from storage api: Rotation

# 向き
    execute store result score @e[type=armor_stand,tag=RD.SlashInit,distance=..10,sort=nearest,limit=1] Temporary run data get storage api: Rotation[1] 1
    execute store result entity @e[type=armor_stand,tag=RD.SlashInit,distance=..10,sort=nearest,limit=1] Pose.RightArm[2] float -1 run scoreboard players remove @e[type=armor_stand,tag=RD.SlashInit,distance=..10,sort=nearest,limit=1] Temporary 95
    scoreboard players reset @e[type=armor_stand,tag=RD.SlashInit,distance=..10,sort=nearest,limit=1] Temporary
    tag @e[type=armor_stand,tag=RD.SlashInit,distance=..10,sort=nearest,limit=1] remove RD.SlashInit

# アニメーション開始
    execute unless entity @e[type=armor_stand,tag=RD.SlashSweep,distance=..100,limit=1] run function asset:artifact/0985.ark_of_the_sanctuary/trigger/slash/slash_schedule
    execute if entity @e[type=armor_stand,tag=RD.SlashSweep,distance=..100,limit=1] run schedule function asset:artifact/0985.ark_of_the_sanctuary/trigger/slash/slash_schedule 1t


text:
#> asset:artifact/0471.stone_cutter_chainsaw/register
#
# 神器プールへの登録処理
#
# @within tag/function asset:artifact/register

data modify storage asset:artifact RarityRegistry[2] append value 471


text:
#> asset:artifact/0471.stone_cutter_chainsaw/give/1.trigger
#
# 神器の取得処理の呼び出し時に実行されるfunction
#
# @within tag/function asset:artifact/give

execute if data storage asset:context {id:471} run function asset:artifact/0471.stone_cutter_chainsaw/give/2.give


text:
#> asset:artifact/0471.stone_cutter_chainsaw/give/2.give
#
# 神器の作成部 ここでID等を定義する
#
# @user
# @within function asset:artifact/0471.stone_cutter_chainsaw/give/1.trigger

# 神器の説明や消費MPなどをここで設定する。
# 最後にasset:artifact/common/giveを実行することで入手可能。

# 神器のID (int) スプレッドシートの値を入れる
    data modify storage asset:artifact ID set value 471
# 神器のベースアイテム
    data modify storage asset:artifact Item set value "minecraft:carrot_on_a_stick"
# 神器の名前 (TextComponentString)
    data modify storage asset:artifact Name set value '[{"text":"イシキリチェンソー","color":"dark_red","bold":"true"}]'
# 神器の説明文 (TextComponentString[])
    data modify storage asset:artifact Lore set value ['[{"text":"前方の敵全体を切り刻む"},{"text":"石切台","strikethrough":"true","italic":"true"},{"text":"チェンソー"}]','""','[{"text":"魔力を注ぎ込みエンジンをふかせ","color":"dark_purple","italic":"true"}]']
# MP以外の消費物 (TextComponentString) (オプション)
    # data modify storage asset:artifact CostText set value
# 使用回数 (int) (オプション)
    data modify storage asset:artifact RemainingCount set value 1800
# 神器を発動できるスロット (string) Wikiを参照
    data modify storage asset:artifact Slot set value "mainhand"
# 神器のトリガー (string) Wikiを参照
    data modify storage asset:artifact Trigger set value "onClick"
# 神器の発動条件 (TextComponentString) (オプション)
    # data modify storage asset:artifact Condition set value
# 攻撃に関する情報 -Damage量 (literal[]/literal) Wikiを参照 (オプション)
    data modify storage asset:artifact AttackInfo.Damage set value [11,16]
# 攻撃に関する情報 -攻撃タイプ (string[]) Wikiを参照 (オプション)
    data modify storage asset:artifact AttackInfo.AttackType set value [Physical]
# 攻撃に関する情報 -攻撃属性 (string[]) Wikiを参照 (オプション)
    data modify storage asset:artifact AttackInfo.ElementType set value [None]
# 攻撃に関する情報 -防御無視 (boolean) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.BypassResist set value
# 攻撃に関する情報 -範囲攻撃 (string) Wikiを参照 (オプション)
    data modify storage asset:artifact AttackInfo.IsRangeAttack set value "never"
# 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション)
    data modify storage asset:artifact AttackInfo.AttackRange set value 2
# MP消費量 (int)
    data modify storage asset:artifact MPCost set value 1
# MP必要量 (int) (オプション)
    # data modify storage asset:artifact MPRequire set value
# 神器のクールダウン (int) (オプション)
    # data modify storage asset:artifact LocalCooldown set value
# グローバルクールダウン (int) (オプション)
    # data modify storage asset:artifact SpecialCooldown set value
# クールダウンによる使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    # data modify storage asset:artifact DisableCooldownMessage set value
# MP不足による使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    # data modify storage asset:artifact DisableMPMessage set value
# 扱える神 (string[]) Wikiを参照
    data modify storage asset:artifact CanUsedGod set value ["Flora", "Urban", "Rumor"]
# カスタムNBT (NBTCompound) 追加で指定したいNBT (オプション)
    data modify storage asset:artifact CustomNBT set value {AttributeModifiers:[{AttributeName:"generic.attack_damage",Amount:7,Operation:0,UUID:[I;1,1,471,1],Slot:mainhand,Name:"generic.attack_damage"},{AttributeName:"generic.movement_speed",Amount:-0.02,Operation:0,UUID:[I;1,1,471,1],Slot:mainhand,Name:"generic.movement_speed"},{AttributeName:"generic.attack_speed",Amount:-3,Operation:0,UUID:[I;1,1,471,1],Slot:mainhand,Name:"generic.attack_speed"}]}

# 神器の入手用function
    function asset:artifact/common/give


text:
#> asset:artifact/0471.stone_cutter_chainsaw/trigger/2.check_condition
#
# 神器の発動条件をチェックします
#
# @within function asset:artifact/0471.stone_cutter_chainsaw/trigger/1.trigger

# 神器の基本的な条件の確認を行うfunction、成功している場合CanUsedタグが付く auto/feet/legs/chest/head/mainhand/offhandを記載してね
    function asset:artifact/common/check_condition/mainhand
# 他にアイテム等確認する場合はここに書く

# CanUsedタグをチェックして3.main.mcfunctionを実行する
    execute if entity @s[tag=CanUsed] run function asset:artifact/0471.stone_cutter_chainsaw/trigger/3.main


text:
#> asset:artifact/0471.stone_cutter_chainsaw/trigger/3.main
#
# 神器のメイン処理部
#
# @within function asset:artifact/0471.stone_cutter_chainsaw/trigger/2.check_condition

# 基本的な使用時の処理(MP消費や使用回数の処理など)を行う auto/feet/legs/chest/head/mainhand/offhandを記載してね
    function asset:artifact/common/use/auto

# ここから先は神器側の効果の処理を書く

    # 初期化
        scoreboard players set $7n.Count Temporary 0

    # 演出
        execute positioned ~ ~1 ~ run particle block stone ^ ^ ^0.8 0.1 0.1 0.1 1.0 20
        playsound entity.wandering_trader.drink_potion player @p ~ ~ ~ 0.8 0.3
        playsound block.soul_sand.place player @p ~ ~ ~ 1.0 0.8
        playsound item.totem.use player @a ~ ~ ~ 0.1 2.0

    # クリティカルヒット判定
        execute anchored eyes positioned ^ ^ ^0.1 run function asset:artifact/0471.stone_cutter_chainsaw/trigger/3.1.check_critical

    # ヒット
        execute positioned ^ ^ ^2 as @e[type=#lib:living,type=!player,tag=!Uninterferable,distance=..2] at @s if entity @p[tag=this, distance=..4] run function asset:artifact/0471.stone_cutter_chainsaw/trigger/3.2.entity

    # 開放
        scoreboard players reset $7n.Count Temporary


text:
#> asset:artifact/0471.stone_cutter_chainsaw/trigger/3.1.check_critical
#
# クリティカルヒット判定のモブを取得
#
# @within function
#   asset:artifact/0471.stone_cutter_chainsaw/trigger/3.main
#   asset:artifact/0471.stone_cutter_chainsaw/trigger/3.1.check_critical
#   asset:artifact/0471.stone_cutter_chainsaw/trigger/3.2.entity

# タグつける
    tag @e[type=#lib:living,type=!player,tag=!Uninterferable,dx=0,limit=1] add D3.Critical

# 加算
    scoreboard players add $7n.Count Temporary 1

# 3.5マスまで再帰
    execute unless entity @e[type=#lib:living,type=!player,tag=D3.Critical,tag=!Uninterferable,dx=0] if score $7n.Count Temporary matches ..35 positioned ^ ^ ^0.1 run function asset:artifact/0471.stone_cutter_chainsaw/trigger/3.1.check_critical


text:
#> asset:artifact/0471.stone_cutter_chainsaw/trigger/3.2.entity
#
# 攻撃先のエンティティに対する処理
#
# @within function asset:artifact/0471.stone_cutter_chainsaw/trigger/3.main

# 演出など
    particle block red_wool ~ ~1 ~ 0.1 0 0.1 1 30
    execute if entity @s[tag=D3.Critical] run particle block redstone_block ~ ~1 ~ 0 0 0 1 50
    playsound entity.blaze.hurt player @a ~ ~ ~ 0.2 0.1
    playsound block.sand.step player @p ~ ~ ~ 1.0 0.8
    execute if entity @s[tag=D3.Critical] run playsound item.totem.use player @p ~ ~ ~ 0.3 2.0

# ダメージ処理
    # 引数の設定
        # 与えるダメージ: 11
            data modify storage lib: Argument.Damage set value 11.0f
        # クリティカル時のダメージ: 16
            execute if entity @s[tag=D3.Critical] run data modify storage lib: Argument.Damage set value 16.0f
        # 第一属性
            data modify storage lib: Argument.AttackType set value "Physical"
    # 補正
        execute as @p[tag=this,distance=..5] run function lib:damage/modifier
    # 実行
        function lib:damage/
    # 開放
        function lib:damage/reset

# タグの開放
    tag @s remove D3.Critical


text:
#> asset:artifact/0471.stone_cutter_chainsaw/trigger/1.trigger
#
# 指定したイベントタイミングで実行されるfunction
#
# @within tag/function asset:artifact/**

# storage asset:idのauto/feet/legs/chest/head/mainhand/offhandに装備している神器のIDが入っているので比較し、~/2.check_condition.mcfunctionを実行する
    execute if data storage asset:context id{mainhand:471} run function asset:artifact/0471.stone_cutter_chainsaw/trigger/2.check_condition


text:
#> asset:artifact/0471.stone_cutter_chainsaw/trigger/_index.d
#
# @private

#> Temp
#
# クリティカルヒットの判定用のスコアホルダー、タグ
#
# @within function
#   asset:artifact/0471.stone_cutter_chainsaw/trigger/3.main
#   asset:artifact/0471.stone_cutter_chainsaw/trigger/3.1.check_critical
#   asset:artifact/0471.stone_cutter_chainsaw/trigger/3.2.entity
#
    #declare score_holder $7n.Count
    #declare tag D3.Critical


text:
#> asset:artifact/0932.equal_speed_charlie_london/register
#
# 神器プールへの登録処理
#
# @within tag/function asset:artifact/register

data modify storage asset:artifact RarityRegistry[3] append value 932


text:
#> asset:artifact/0932.equal_speed_charlie_london/give/1.trigger
#
# 神器の取得処理の呼び出し時に実行されるfunction
#
# @within tag/function asset:artifact/give

execute if data storage asset:context {id:932} run function asset:artifact/0932.equal_speed_charlie_london/give/2.give


text:
#> asset:artifact/0932.equal_speed_charlie_london/give/2.give
#
# 神器の作成部 ここでID等を定義する
#
# @user
# @within function asset:artifact/0932.equal_speed_charlie_london/give/1.trigger

# 神器の説明や消費MPなどをここで設定する。
# 最後にasset:artifact/common/giveを実行することで入手可能。

# 神器のID (int) スプレッドシートの値を入れる
    data modify storage asset:artifact ID set value 932
# 神器のベースアイテム
    data modify storage asset:artifact Item set value "minecraft:stick"
# 神器の名前 (TextComponentString)
    data modify storage asset:artifact Name set value '[{"text":"Equal Speed Charlie London","color":"dark_aqua","italic":false}]'
# 神器の説明文 (TextComponentString[])
    data modify storage asset:artifact Lore set value ['{"text":"装備時移動速度が上昇する。"}']
# MP以外の消費物 (TextComponentString) (オプション)
    # data modify storage asset:artifact CostText set value
# 使用回数 (int) (オプション)
    # data modify storage asset:artifact RemainingCount set value
# 神器を発動できるスロット (string) Wikiを参照
    data modify storage asset:artifact Slot set value "hotbar"
# 神器のトリガー (string) Wikiを参照
    data modify storage asset:artifact Trigger set value "equipping"
# 神器の発動条件 (TextComponentString) (オプション)
    # data modify storage asset:artifact Condition set value
# 攻撃に関する情報 -Damage量 (literal[]/literal) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.Damage set value [0,0]
# 攻撃に関する情報 -攻撃タイプ (string[]) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.AttackType set value [Physical,Magic]
# 攻撃に関する情報 -攻撃属性 (string[]) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.ElementType set value [Fire,Water,Thunder,None]
# 攻撃に関する情報 -防御無視 (boolean) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.BypassResist set value
# 攻撃に関する情報 -範囲攻撃 (string) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.IsRangeAttack set value
# 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.AttackRange set value
# MP消費量 (int)
    data modify storage asset:artifact MPCost set value 0
# MP必要量 (int) (オプション)
    # data modify storage asset:artifact MPRequire set value
# 神器のクールダウン (int) (オプション)
    # data modify storage asset:artifact LocalCooldown set value
# グローバルクールダウン (int) (オプション)
    # data modify storage asset:artifact SpecialCooldown set value
# クールダウンによる使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    # data modify storage asset:artifact DisableCooldownMessage set value
# MP不足による使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    # data modify storage asset:artifact DisableMPMessage set value
# 扱える神 (string[]) Wikiを参照
    data modify storage asset:artifact CanUsedGod set value ["Flora", "Urban", "Nyaptov", "Wi-ki", "Rumor"]
# カスタムNBT (NBTCompound) 追加で指定したいNBT (オプション)
    # data modify storage asset:artifact CustomNBT set value {}

# 神器の入手用function
    function asset:artifact/common/give


text:
#> asset:artifact/0932.equal_speed_charlie_london/trigger/2.check_condition
#
# 神器の発動条件をチェックします
#
# @within function asset:artifact/0932.equal_speed_charlie_london/trigger/1.trigger

# ID指定する
    data modify storage asset:artifact TargetID set value 932
# 神器の基本的な条件の確認を行うfunction、成功している場合CanUsedタグが付く
    function asset:artifact/common/check_condition/hotbar
# 他にアイテム等確認する場合はここに書く

# CanUsedタグをチェックして3.main.mcfunctionを実行する
    execute if entity @s[tag=CanUsed] run function asset:artifact/0932.equal_speed_charlie_london/trigger/3.main


text:
#> asset:artifact/0932.equal_speed_charlie_london/trigger/3.main
#
# 神器のメイン処理部
#
# @within function asset:artifact/0932.equal_speed_charlie_london/trigger/2.check_condition

# 基本的な使用時の処理(MP消費や使用回数の処理など)を行う
    function asset:artifact/common/use/hotbar

# ここから先は神器側の効果の処理を書く
    effect give @s speed 1000000 1 true


text:
#> asset:artifact/0932.equal_speed_charlie_london/trigger/1.trigger
#
# 指定したイベントタイミングで実行されるfunction
#
# @within tag/function asset:artifact/**

# storage asset:idのautoに装備している神器のIDが入っているので比較し、~/2.check_condition.mcfunctionを実行する
    execute if data storage asset:context id{hotbar:[932]} run function asset:artifact/0932.equal_speed_charlie_london/trigger/2.check_condition


text:
#> asset:artifact/0932.equal_speed_charlie_london/trigger/dis_equip/main
#
# 装備を外した時のメイン処理
#
# @within function asset:artifact/0932.equal_speed_charlie_london/trigger/dis_equip/

#> prv
# @private
    #declare score_holder $PW.ItemNumber

# 神器ID932がホットバー内にあるか確認する。
    execute store result score $PW.ItemNumber Temporary if data storage asset:context New.Items.hotbar[{tag:{TSB:{ID:932}}}]

# ホットバー内に残ってない場合（$PW.ItemNumber<=0)effectを消す
    execute if score $PW.ItemNumber Temporary matches ..0 run effect clear @s speed

# reset
    scoreboard players reset $PW.ItemNumber Temporary


text:
#> asset:artifact/0899.flame_ring/register
#
# 神器プールへの登録処理
#
# @within tag/function asset:artifact/register

data modify storage asset:artifact RarityRegistry[2] append value 899


text:
#> asset:artifact/0899.flame_ring/give/1.trigger
#
# 神器の取得処理の呼び出し時に実行されるfunction
#
# @within tag/function asset:artifact/give

execute if data storage asset:context {id:899} run function asset:artifact/0899.flame_ring/give/2.give


text:
#> asset:artifact/0899.flame_ring/give/2.give
#
# 神器の作成部 ここでID等を定義する
#
# @user
# @within function asset:artifact/0899.flame_ring/give/1.trigger

# 神器の説明や消費MPなどをここで設定する。
# 最後にasset:artifact/common/giveを実行することで入手可能。

# 神器のID (int) スプレッドシートの値を入れる
    data modify storage asset:artifact ID set value 899
# 神器のベースアイテム
    data modify storage asset:artifact Item set value "minecraft:stick"
# 神器の名前 (TextComponentString)
    data modify storage asset:artifact Name set value '{"text":"火炎のリング","color":"red"}'
# 神器の説明文 (TextComponentString[])
    data modify storage asset:artifact Lore set value ['{"text":"火炎の力を蓄えた指輪"}','{"text":"付けると力が湧いてくる"}']
# MP以外の消費物 (TextComponentString) (オプション)
    # data modify storage asset:artifact CostText set value
# 使用回数 (int) (オプション)
    # data modify storage asset:artifact RemainingCount set value
# 神器を発動できるスロット (string) Wikiを参照
    data modify storage asset:artifact Slot set value "hotbar"
# 神器のトリガー (string) Wikiを参照
    data modify storage asset:artifact Trigger set value "equipping"
# 神器の発動条件 (TextComponentString) (オプション)
    # data modify storage asset:artifact Condition set value
# 攻撃に関する情報 -Damage量 (literal[]/literal) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.Damage set value [0,0]
# 攻撃に関する情報 -攻撃タイプ (string[]) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.AttackType set value [Physical,Magic]
# 攻撃に関する情報 -攻撃属性 (string[]) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.ElementType set value [Fire,Water,Thunder,None]
# 攻撃に関する情報 -防御無視 (boolean) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.BypassResist set value
# 攻撃に関する情報 -範囲攻撃 (string) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.IsRangeAttack set value
# 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.AttackRange set value
# MP消費量 (int)
    data modify storage asset:artifact MPCost set value 0
# MP必要量 (int) (オプション)
    # data modify storage asset:artifact MPRequire set value
# 神器のクールダウン (int) (オプション)
    # data modify storage asset:artifact LocalCooldown set value
# グローバルクールダウン (int) (オプション)
    # data modify storage asset:artifact SpecialCooldown set value
# クールダウンによる使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    # data modify storage asset:artifact DisableCooldownMessage set value
# MP不足による使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    # data modify storage asset:artifact DisableMPMessage set value
# 扱える神 (string[]) Wikiを参照
    data modify storage asset:artifact CanUsedGod set value ["Urban", "Rumor"]
# カスタムNBT (NBTCompound) 追加で指定したいNBT (オプション)
    # data modify storage asset:artifact CustomNBT set value {}

# 神器の入手用function
    function asset:artifact/common/give


text:
#> asset:artifact/0899.flame_ring/trigger/2.check_condition
#
# 神器の発動条件をチェックします
#
# @within function
#   asset:artifact/0899.flame_ring/trigger/1.trigger
#   asset:artifact/0899.flame_ring/trigger/dis_equip/main

# 神器IDの設定
    data modify storage asset:artifact TargetID set value 899
# 神器の基本的な条件の確認を行うfunction、成功している場合CanUsedタグが付く
    function asset:artifact/common/check_condition/hotbar
# CanUsedタグをチェックして3.main.mcfunctionを実行する
    execute if entity @s[tag=CanUsed] run function asset:artifact/0899.flame_ring/trigger/3.main


text:
#> asset:artifact/0899.flame_ring/trigger/3.main
#
# 神器のメイン処理部
#
# @within function asset:artifact/0899.flame_ring/trigger/2.check_condition

#> 個数
# @private
#declare score_holder $Count

# 基本的な使用時の処理(MP消費や使用回数の処理など)を行う
    function asset:artifact/common/use/hotbar

# ここから先は神器側の効果の処理を書く

# VFX
    playsound entity.blaze.shoot player @a ~ ~ ~ 1 0.7
    particle flame ~ ~1 ~ 0.5 0.8 0.5 0.1 100
# 補正を追加
    function asset:artifact/0899.flame_ring/trigger/add_modifier


text:
#> asset:artifact/0899.flame_ring/trigger/1.trigger
#
# 指定したイベントタイミングで実行されるfunction
# ここで自身の神器が判定をしてmain処理を呼び出す
#
# @within tag/function asset:artifact/**

# storage asset:context idのfeet/legs/chest/head/mainhand/offhandに装備している神器のIDが入っているので比較し、~/2.check_condition.mcfunctionを実行する
    execute if data storage asset:context id{hotbar:[899]} run function asset:artifact/0899.flame_ring/trigger/2.check_condition


text:
#> asset:artifact/0899.flame_ring/trigger/add_modifier
#
#
#
# @within function asset:artifact/0899.flame_ring/trigger/**main

#> 個数
# @private
#declare score_holder $Count

# 補正を削除
    attribute @s generic.attack_damage modifier remove 1-0-1-0-38300000007
    data modify storage api: Argument.UUID set value [I;1,1,899,7]
    function api:modifier/attack/base/remove
# 個数を取得
    execute store result score $Count Temporary if data storage asset:context New.Items.hotbar[{tag:{TSB:{ID:899}}}]
# 攻撃力増加を付与する
    execute if score $Count Temporary matches 1 run attribute @s generic.attack_damage modifier add 1-0-1-0-38300000007 "899" 0.03 multiply_base
    execute if score $Count Temporary matches 2 run attribute @s generic.attack_damage modifier add 1-0-1-0-38300000007 "899" 0.06 multiply_base
    execute if score $Count Temporary matches 3 run attribute @s generic.attack_damage modifier add 1-0-1-0-38300000007 "899" 0.09 multiply_base
    execute if score $Count Temporary matches 4 run attribute @s generic.attack_damage modifier add 1-0-1-0-38300000007 "899" 0.12 multiply_base
    execute if score $Count Temporary matches 5 run attribute @s generic.attack_damage modifier add 1-0-1-0-38300000007 "899" 0.15 multiply_base
    execute if score $Count Temporary matches 6 run attribute @s generic.attack_damage modifier add 1-0-1-0-38300000007 "899" 0.18 multiply_base
    execute if score $Count Temporary matches 7 run attribute @s generic.attack_damage modifier add 1-0-1-0-38300000007 "899" 0.21 multiply_base
    execute if score $Count Temporary matches 8 run attribute @s generic.attack_damage modifier add 1-0-1-0-38300000007 "899" 0.24 multiply_base
    execute if score $Count Temporary matches 9 run attribute @s generic.attack_damage modifier add 1-0-1-0-38300000007 "899" 0.27 multiply_base

    data modify storage api: Argument.UUID set value [I;1,1,899,7]
    execute store result storage api: Argument.Amount double 0.03 run scoreboard players get $Count Temporary
    data modify storage api: Argument.Operation set value "multiply_base"
    function api:modifier/attack/base/add

# リセット
    scoreboard players reset $Count Temporary


text:
#> asset:artifact/0899.flame_ring/trigger/dis_equip/main
#
# 装備を外した時のメイン処理
#
# @within function asset:artifact/0899.flame_ring/trigger/dis_equip/

# 補正を削除
    attribute @s generic.attack_damage modifier remove 1-0-1-0-38300000007
    data modify storage api: Argument.UUID set value [I;1,1,899,7]
    function api:modifier/attack/base/remove
# 補正を追加
    execute unless entity @s[tag=!DevPrivilege,predicate=!player_manager:is_believe/urban,predicate=!player_manager:is_believe/rumor] run function asset:artifact/0899.flame_ring/trigger/add_modifier


text:
#> asset:artifact/0144.hi_nectar/give/1.trigger
#
# 神器の取得処理の呼び出し時に実行されるfunction
#
# @within tag/function asset:artifact/give

execute if data storage asset:context {id:144} run function asset:artifact/0144.hi_nectar/give/2.give


text:
#> asset:artifact/0144.hi_nectar/give/2.give
#
# 神器の作成部 ここでID等を定義する
#
# @user
# @within function asset:artifact/0144.hi_nectar/give/1.trigger

# 神器の説明や消費MPなどをここで設定する。
# 最後にasset:artifact/common/giveを実行することで入手可能。

# 神器のID (int) スプレッドシートの値を入れる
    data modify storage asset:artifact ID set value 144
# 神器のベースアイテム
    data modify storage asset:artifact Item set value "minecraft:potion"
# 神器の名前 (TextComponentString)
    data modify storage asset:artifact Name set value '{"text":"ハイネクター","color":"red"}'
# 神器の説明文 (TextComponentString[])
    data modify storage asset:artifact Lore set value ['{"text":"HPを20回復する"}']
# MP以外の消費物 (TextComponentString) (オプション)
    # data modify storage asset:artifact CostText set value
# 使用回数 (int) (オプション)
    data modify storage asset:artifact RemainingCount set value 1
# 神器を発動できるスロット (string) Wikiを参照
    data modify storage asset:artifact Slot set value "auto"
# 神器のトリガー (string) Wikiを参照
    data modify storage asset:artifact Trigger set value "itemUse"
# 神器の発動条件 (TextComponentString) (オプション)
    # data modify storage asset:artifact Condition set value
# 攻撃に関する情報 -Damage量 (literal[]/literal) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.Damage set value [0,0]
# 攻撃に関する情報 -攻撃タイプ (string[]) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.AttackType set value [Physical,Magic]
# 攻撃に関する情報 -攻撃属性 (string[]) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.ElementType set value [Fire,Water,Thunder,None]
# 攻撃に関する情報 -防御無視 (boolean) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.BypassResist set value
# 攻撃に関する情報 -範囲攻撃 (string) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.IsRangeAttack set value
# 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.AttackRange set value
# MP消費量 (int)
    data modify storage asset:artifact MPCost set value 0
# MP必要量 (int) (オプション)
    # data modify storage asset:artifact MPRequire set value
# 神器のクールダウン (int) (オプション)
    # data modify storage asset:artifact LocalCooldown set value
# グローバルクールダウン (int) (オプション)
    # data modify storage asset:artifact SpecialCooldown set value
# クールダウンによる使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    # data modify storage asset:artifact DisableCooldownMessage set value
# MP不足による使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    # data modify storage asset:artifact DisableMPMessage set value
# 扱える神 (string[]) Wikiを参照
    data modify storage asset:artifact CanUsedGod set value "ALL"
# カスタムNBT (NBTCompound) 追加で指定したいNBT (オプション)
    data modify storage asset:artifact CustomNBT set value {HideFlags:32,CustomPotionColor:15220575}

# 神器の入手用function
    function asset:artifact/common/give


text:
#> asset:artifact/0144.hi_nectar/trigger/2.check_condition
#
# 神器の発動条件をチェックします
#
# @within function asset:artifact/0144.hi_nectar/trigger/1.trigger

# 神器の基本的な条件の確認を行うfunction、成功している場合CanUsedタグが付く
    function asset:artifact/common/check_condition/auto
# 他にアイテム等確認する場合はここに書く

# CanUsedタグをチェックして3.main.mcfunctionを実行する
    execute if entity @s[tag=CanUsed] run function asset:artifact/0144.hi_nectar/trigger/3.main


text:
#> asset:artifact/0144.hi_nectar/trigger/3.main
#
# 神器のメイン処理部
#
# @within function asset:artifact/0144.hi_nectar/trigger/2.check_condition

# 基本的な使用時の処理(MP消費や使用回数の処理など)を行う
    function asset:artifact/common/use/auto

# ここから先は神器側の効果の処理を書く

# 演出
    particle minecraft:heart ~ ~0.5 ~ 0.3 0.5 0.3 1 5 force @s
    playsound minecraft:entity.arrow.hit_player player @s ~ ~ ~ 1 1

# HP回復
    data modify storage lib: Argument.Heal set value 20
    function lib:heal/modifier
    function lib:heal/

# リセット
    function lib:heal/reset


text:
#> asset:artifact/0144.hi_nectar/trigger/1.trigger
#
# 指定したイベントタイミングで実行されるfunction
#
# @within tag/function asset:artifact/**

# storage asset:idのautoに装備している神器のIDが入っているので比較し、~/2.check_condition.mcfunctionを実行する
    execute if data storage asset:context id{auto:144} run function asset:artifact/0144.hi_nectar/trigger/2.check_condition


text:
#> asset:artifact/0667.soul_fire_armor/register
#
# 神器プールへの登録処理
#
# @within tag/function asset:artifact/register

data modify storage asset:artifact RarityRegistry[4] append value 667


text:
#> asset:artifact/0667.soul_fire_armor/give/1.trigger
#
# 神器の取得処理の呼び出し時に実行されるfunction
#
# @within tag/function asset:artifact/give

execute if data storage asset:context {id:667} run function asset:artifact/0667.soul_fire_armor/give/2.give


text:
#> asset:artifact/0667.soul_fire_armor/give/2.give
#
# 神器の作成部 ここでID等を定義する
#
# @user
# @within function asset:artifact/0667.soul_fire_armor/give/1.trigger

# 神器の説明や消費MPなどをここで設定する。
# 最後にasset:artifact/common/giveを実行することで入手可能。

# 神器のID (int) スプレッドシートの値を入れる
    data modify storage asset:artifact ID set value 667
# 神器のベースアイテム
    data modify storage asset:artifact Item set value "minecraft:leather_boots"
# 神器の名前 (TextComponentString)
    data modify storage asset:artifact Name set value '{"text":"魂炎纏","color":"#01A7AC","bold":true}'
# 神器の説明文 (TextComponentString[])
    data modify storage asset:artifact Lore set value ['{"text":"魂炎を纏う者に代償を。","color":"aqua"}','{"text":"代償背負いし者へ力を。","color":"aqua"}','[{"text":"物理攻撃+5% ","color":"dark_green"},{"text":"火耐性+10% 火攻撃+10% ","color":"red"}]','[{"text":"MP回復量+8% ","color":"green"},{"text":"最大体力-10%","color":"dark_red"}]']
# MP以外の消費物 (TextComponentString) (オプション)
    # data modify storage asset:artifact CostText set value
# 使用回数 (int) (オプション)
    # data modify storage asset:artifact RemainingCount set value
# 神器を発動できるスロット (string) Wikiを参照
    data modify storage asset:artifact Slot set value "feet"
# 神器のトリガー (string) Wikiを参照
    data modify storage asset:artifact Trigger set value "equipping"
# 神器の発動条件 (TextComponentString) (オプション)
    # data modify storage asset:artifact Condition set value
# 攻撃に関する情報 -Damage量 (literal[]/literal) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.Damage set value [0,0]
# 攻撃に関する情報 -攻撃タイプ (string[]) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.AttackType set value [Physical,Magic]
# 攻撃に関する情報 -攻撃属性 (string[]) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.ElementType set value [Fire,Water,Thunder,None]
# 攻撃に関する情報 -防御無視 (boolean) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.BypassResist set value
# 攻撃に関する情報 -範囲攻撃 (string) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.IsRangeAttack set value
# 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.AttackRange set value
# MP消費量 (int)
    data modify storage asset:artifact MPCost set value 0
# MP必要量 (int) (オプション)
    # data modify storage asset:artifact MPRequire set value
# 神器のクールダウン (int) (オプション)
    # data modify storage asset:artifact LocalCooldown set value
# グローバルクールダウン (int) (オプション)
    # data modify storage asset:artifact SpecialCooldown set value
# クールダウンによる使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    # data modify storage asset:artifact DisableCooldownMessage set value
# MP不足による使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    # data modify storage asset:artifact DisableMPMessage set value
# 扱える神 (string[]) Wikiを参照
    data modify storage asset:artifact CanUsedGod set value ["Urban", "Nyaptov", "Rumor"]
# カスタムNBT (NBTCompound) 追加で指定したいNBT (オプション)
    data modify storage asset:artifact CustomNBT set value {HideFlags:68,display:{color:3071974},Unbreakable:1b,AttributeModifiers:[{AttributeName:"generic.armor",Name:"generic.armor",Amount:5,Operation:0,UUID:[I;1,1,667,3],Slot:"feet"},{AttributeName:"generic.armor_toughness",Name:"generic.armor_toughness",Amount:2.5,Operation:0,UUID:[I;1,1,667,3],Slot:"feet"}]}

# 神器の入手用function
    function asset:artifact/common/give


text:
#> asset:artifact/0667.soul_fire_armor/trigger/2.check_condition
#
# 神器の発動条件をチェックします
#
# @within function asset:artifact/0667.soul_fire_armor/trigger/1.trigger

# 神器の基本的な条件の確認を行うfunction、成功している場合CanUsedタグが付く
    function asset:artifact/common/check_condition/feet
# 他にアイテム等確認する場合はここに書く

# CanUsedタグをチェックして3.main.mcfunctionを実行する
    execute if entity @s[tag=CanUsed] run function asset:artifact/0667.soul_fire_armor/trigger/3.main


text:
#> asset:artifact/0667.soul_fire_armor/trigger/3.main
#
# 神器のメイン処理部
#
# @within function asset:artifact/0667.soul_fire_armor/trigger/2.check_condition

# 基本的な使用時の処理(MP消費や使用回数の処理など)を行う
    function asset:artifact/common/use/feet

# ここから先は神器側の効果の処理を書く

# 演出
    execute unless data storage asset:context id.all{head:664,chest:665,legs:666,feet:667} positioned ~ ~0.2 ~ facing entity @s eyes rotated ~ 0 run function asset:artifact/0664.soul_fire_armor/trigger/particle
    playsound block.fire.ambient player @a ~ ~ ~ 1.5 0.8 0
    playsound particle.soul_escape player @a ~ ~ ~ 2 0 0
    playsound block.sculk_sensor.clicking player @a ~ ~ ~ 0.8 0 0
    playsound ogg:mob.vex.idle1 player @a ~ ~ ~ 1 0 0

# 物理攻撃+5%
    data modify storage api: Argument.UUID set value [I;1,1,667,3]
    data modify storage api: Argument.Amount set value 0.05
    data modify storage api: Argument.Operation set value "multiply_base"
    function api:modifier/attack/physical/add

# 火耐性+10%
    data modify storage api: Argument.UUID set value [I;1,1,667,3]
    data modify storage api: Argument.Amount set value 0.1
    data modify storage api: Argument.Operation set value "multiply_base"
    function api:modifier/defense/fire/add

# 火攻撃+10%
    data modify storage api: Argument.UUID set value [I;1,1,667,3]
    data modify storage api: Argument.Amount set value 0.1
    data modify storage api: Argument.Operation set value "multiply_base"
    function api:modifier/attack/fire/add

# MP回復量+8%
    data modify storage api: Argument.UUID set value [I;1,1,667,3]
    data modify storage api: Argument.Amount set value 0.08
    data modify storage api: Argument.Operation set value "multiply_base"
    function api:modifier/mp_regen/add

# 最大体力-10%
    attribute @s generic.max_health modifier add 00000001-0000-0001-0000-029b00000003 "MaxHealthDown" -0.1 multiply_base

# 最大体力を反映するための即時回復
    effect give @s instant_health 1 0

# フルセット検知
    execute if data storage asset:context id.all{head:664,chest:665,legs:666,feet:667} run function asset:artifact/0664.soul_fire_armor/trigger/fullset/


text:
#> asset:artifact/0667.soul_fire_armor/trigger/1.trigger
#
# 指定したイベントタイミングで実行されるfunction
#
# @within tag/function asset:artifact/**

# storage asset:idのfeetに装備している神器のIDが入っているので比較し、~/2.check_condition.mcfunctionを実行する
    execute if data storage asset:context id{feet:667} run function asset:artifact/0667.soul_fire_armor/trigger/2.check_condition


text:
#> asset:artifact/0667.soul_fire_armor/trigger/dis_equip/main
#
# 装備を外した時のメイン処理
#
# @within function asset:artifact/0667.soul_fire_armor/trigger/dis_equip/

# 演出
    execute if entity @s[tag=!IG.Fullset] positioned ~ ~0.2 ~ run function asset:artifact/0664.soul_fire_armor/trigger/particle2
    playsound block.fire.ambient player @a ~ ~ ~ 1.5 0.8 0
    playsound particle.soul_escape player @a ~ ~ ~ 2 0 0
    playsound ogg:mob.vex.idle1 player @a ~ ~ ~ 1 0 0

# 物理攻撃
    data modify storage api: Argument.UUID set value [I;1,1,667,3]
    function api:modifier/attack/physical/remove

# 火耐性
    data modify storage api: Argument.UUID set value [I;1,1,667,3]
    function api:modifier/defense/fire/remove

# 火攻撃
    data modify storage api: Argument.UUID set value [I;1,1,667,3]
    function api:modifier/attack/fire/remove

# MP回復
    data modify storage api: Argument.UUID set value [I;1,1,667,3]
    function api:modifier/mp_regen/remove

# 最大体力
    attribute @s generic.max_health modifier remove 00000001-0000-0001-0000-029b00000003

# フルセット解除
    execute if entity @s[tag=IG.Fullset] run function asset:artifact/0664.soul_fire_armor/trigger/fullset/fullset_dis_equip


text:
#> asset:artifact/0710.mage_boots/register
#
# 神器プールへの登録処理
#
# @within tag/function asset:artifact/register

data modify storage asset:artifact RarityRegistry[3] append value 710


text:
#> asset:artifact/0710.mage_boots/give/1.trigger
#
# 神器の取得処理の呼び出し時に実行されるfunction
#
# @within tag/function asset:artifact/give

execute if data storage asset:context {id:710} run function asset:artifact/0710.mage_boots/give/2.give


text:
#> asset:artifact/0710.mage_boots/give/2.give
#
# 神器の作成部 ここでID等を定義する
#
# @user
# @within function asset:artifact/0710.mage_boots/give/1.trigger

# 神器の説明や消費MPなどをここで設定する。
# 最後にasset:artifact/common/giveを実行することで入手可能。

# 神器のID (int) スプレッドシートの値を入れる
    data modify storage asset:artifact ID set value 710
# 神器のベースアイテム
    data modify storage asset:artifact Item set value "minecraft:leather_boots"
# 神器の名前 (TextComponentString)
    data modify storage asset:artifact Name set value '{"text":"魔導士の靴","color":"#360F57"}'
# 神器の説明文 (TextComponentString[])
    data modify storage asset:artifact Lore set value ['[{"text":"魔導士が普段身に着けている靴。","color":"gray"}]','[{"text":"魔法耐性+5% 魔法攻撃+5%","color":"dark_purple"}]','[{"text":"MP回復量+5%","color":"green"}]','[{"text":"物理耐性-5% 物理攻撃-5%","color":"dark_red"}]']
# MP以外の消費物 (TextComponentString) (オプション)
    # data modify storage asset:artifact CostText set value
# 使用回数 (int) (オプション)
    # data modify storage asset:artifact RemainingCount set value
# 神器を発動できるスロット (string) Wikiを参照
    data modify storage asset:artifact Slot set value "feet"
# 神器のトリガー (string) Wikiを参照
    data modify storage asset:artifact Trigger set value "equipping"
# 神器の発動条件 (TextComponentString) (オプション)
    # data modify storage asset:artifact Condition set value
# 攻撃に関する情報 -Damage量 (literal[]/literal) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.Damage set value [0,0]
# 攻撃に関する情報 -攻撃タイプ (string[]) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.AttackType set value [Physical,Magic]
# 攻撃に関する情報 -攻撃属性 (string[]) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.ElementType set value [Fire,Water,Thunder,None]
# 攻撃に関する情報 -防御無視 (boolean) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.BypassResist set value
# 攻撃に関する情報 -範囲攻撃 (string) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.IsRangeAttack set value
# 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.AttackRange set value
# MP消費量 (int)
    data modify storage asset:artifact MPCost set value 0
# MP必要量 (int) (オプション)
    # data modify storage asset:artifact MPRequire set value
# 神器のクールダウン (int) (オプション)
    # data modify storage asset:artifact LocalCooldown set value
# グローバルクールダウン (int) (オプション)
    # data modify storage asset:artifact SpecialCooldown set value
# クールダウンによる使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    # data modify storage asset:artifact DisableCooldownMessage set value
# MP不足による使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    # data modify storage asset:artifact DisableMPMessage set value
# 扱える神 (string[]) Wikiを参照
    data modify storage asset:artifact CanUsedGod set value ["Flora", "Nyaptov", "Wi-ki", "Rumor"]
# カスタムNBT (NBTCompound) 追加で指定したいNBT (オプション)
    data modify storage asset:artifact CustomNBT set value {HideFlags:68,display:{color:3542871},Unbreakable:1b,AttributeModifiers:[{AttributeName:"generic.armor",Name:"generic.armor",Amount:3.5,Operation:0,UUID:[I;1,1,710,3],Slot:"feet"},{AttributeName:"generic.armor_toughness",Name:"generic.armor_toughness",Amount:1,Operation:0,UUID:[I;1,1,710,3],Slot:"feet"}]}

# 神器の入手用function
    function asset:artifact/common/give


text:
#> asset:artifact/0710.mage_boots/trigger/2.check_condition
#
# 神器の発動条件をチェックします
#
# @within function asset:artifact/0710.mage_boots/trigger/1.trigger

# 神器の基本的な条件の確認を行うfunction、成功している場合CanUsedタグが付く
    function asset:artifact/common/check_condition/feet
# 他にアイテム等確認する場合はここに書く

# CanUsedタグをチェックして3.main.mcfunctionを実行する
    execute if entity @s[tag=CanUsed] run function asset:artifact/0710.mage_boots/trigger/3.main


text:
#> asset:artifact/0710.mage_boots/trigger/3.main
#
# 神器のメイン処理部
#
# @within function asset:artifact/0710.mage_boots/trigger/2.check_condition

# 基本的な使用時の処理(MP消費や使用回数の処理など)を行う
    function asset:artifact/common/use/feet

# ここから先は神器側の効果の処理を書く

# 魔法耐性+5%
    data modify storage api: Argument.UUID set value [I;1,1,710,3]
    data modify storage api: Argument.Amount set value 0.05
    data modify storage api: Argument.Operation set value "multiply_base"
    function api:modifier/defense/magic/add

# 魔法攻撃+7.5%
    data modify storage api: Argument.UUID set value [I;1,1,710,3]
    data modify storage api: Argument.Amount set value 0.05
    data modify storage api: Argument.Operation set value "multiply_base"
    function api:modifier/attack/magic/add

# MP回復量+5%
    data modify storage api: Argument.UUID set value [I;1,1,710,3]
    data modify storage api: Argument.Amount set value 0.05
    data modify storage api: Argument.Operation set value "multiply_base"
    function api:modifier/mp_regen/add

# 物理耐性-5%
    data modify storage api: Argument.UUID set value [I;1,1,710,3]
    data modify storage api: Argument.Amount set value -0.05
    data modify storage api: Argument.Operation set value "multiply_base"
    function api:modifier/defense/physical/add

# 物理攻撃-7.5%
    data modify storage api: Argument.UUID set value [I;1,1,710,3]
    data modify storage api: Argument.Amount set value -0.05
    data modify storage api: Argument.Operation set value "multiply_base"
    function api:modifier/attack/physical/add

# 演出
    particle witch ~ ~0.3 ~ 0.3 0.1 0.3 1 10 normal @a
    particle enchant ~ ~0.3 ~ 0.4 0.1 0.4 0 30 normal @a
    playsound minecraft:block.enchantment_table.use player @a ~ ~ ~ 0.8 0 0


text:
#> asset:artifact/0710.mage_boots/trigger/1.trigger
#
# 指定したイベントタイミングで実行されるfunction
#
# @within tag/function asset:artifact/**

# storage asset:idのfeetに装備している神器のIDが入っているので比較し、~/2.check_condition.mcfunctionを実行する
    execute if data storage asset:context id{feet:710} run function asset:artifact/0710.mage_boots/trigger/2.check_condition


text:
#> asset:artifact/0710.mage_boots/trigger/dis_equip/main
#
# 装備を外した時のメイン処理
#
# @within function asset:artifact/0710.mage_boots/trigger/dis_equip/

# 魔法耐性、魔法攻撃、MP回復量、物理耐性、物理攻撃の削除

# UUID
    data modify storage api: Argument.UUID set value [I;1,1,710,3]
# 補正の削除
    function api:modifier/defense/magic/remove

# UUID
    data modify storage api: Argument.UUID set value [I;1,1,710,3]
# 補正の削除
    function api:modifier/attack/magic/remove

# UUID
    data modify storage api: Argument.UUID set value [I;1,1,710,3]
# 補正の削除
    function api:modifier/mp_regen/remove

# UUID
    data modify storage api: Argument.UUID set value [I;1,1,710,3]
# 補正の削除
    function api:modifier/defense/physical/remove

# UUID
    data modify storage api: Argument.UUID set value [I;1,1,710,3]
# 補正の削除
    function api:modifier/attack/physical/remove


text:
#> asset:artifact/0961.light_charm/register
#
# 神器プールへの登録処理
#
# @within tag/function asset:artifact/register

data modify storage asset:artifact RarityRegistry[1] append value 961


text:
#> asset:artifact/0961.light_charm/give/1.trigger
#
# 神器の取得処理の呼び出し時に実行されるfunction
#
# @within tag/function asset:artifact/give

execute if data storage asset:context {id:961} run function asset:artifact/0961.light_charm/give/2.give


text:
#> asset:artifact/0961.light_charm/give/2.give
#
# 神器の作成部 ここでID等を定義する
#
# @user
# @within function asset:artifact/0961.light_charm/give/1.trigger

# 神器の説明や消費MPなどをここで設定する。
# 最後にasset:artifact/common/giveを実行することで入手可能。

# 神器のID (int) スプレッドシートの値を入れる
    data modify storage asset:artifact ID set value 961
# 神器のベースアイテム
    data modify storage asset:artifact Item set value "minecraft:stick"
# 神器の名前 (TextComponentString)
    data modify storage asset:artifact Name set value '{"text":"軽装のチャーム"}'
# 神器の説明文 (TextComponentString[])
    data modify storage asset:artifact Lore set value ['{"text":"移動速度が上がるが、防御力が下がる"}','{"text":"\\"耐えられないなら避ければいい\\"","color":"gray"}']
# MP以外の消費物 (TextComponentString) (オプション)
    # data modify storage asset:artifact CostText set value
# 使用回数 (int) (オプション)
    # data modify storage asset:artifact RemainingCount set value
# 神器を発動できるスロット (string) Wikiを参照
    data modify storage asset:artifact Slot set value "hotbar"
# 神器のトリガー (string) Wikiを参照
    data modify storage asset:artifact Trigger set value "equipping"
# 神器の発動条件 (TextComponentString) (オプション)
    # data modify storage asset:artifact Condition set value
# 攻撃に関する情報 -Damage量 (literal[]/literal) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.Damage set value [0,0]
# 攻撃に関する情報 -攻撃タイプ (string[]) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.AttackType set value [Physical,Magic]
# 攻撃に関する情報 -攻撃属性 (string[]) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.ElementType set value [Fire,Water,Thunder,None]
# 攻撃に関する情報 -防御無視 (boolean) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.BypassResist set value
# 攻撃に関する情報 -範囲攻撃 (string) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.IsRangeAttack set value
# 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.AttackRange set value
# MP消費量 (int)
    data modify storage asset:artifact MPCost set value 0
# MP必要量 (int) (オプション)
    # data modify storage asset:artifact MPRequire set value
# 神器のクールダウン (int) (オプション)
    # data modify storage asset:artifact LocalCooldown set value
# グローバルクールダウン (int) (オプション)
    # data modify storage asset:artifact SpecialCooldown set value
# クールダウンによる使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    # data modify storage asset:artifact DisableCooldownMessage set value
# MP不足による使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    # data modify storage asset:artifact DisableMPMessage set value
# 扱える神 (string[]) Wikiを参照
    data modify storage asset:artifact CanUsedGod set value "ALL"
# カスタムNBT (NBTCompound) 追加で指定したいNBT (オプション)
    # data modify storage asset:artifact CustomNBT set value {}

# 神器の入手用function
    function asset:artifact/common/give


text:
#> asset:artifact/0961.light_charm/trigger/2.check_condition
#
# 神器の発動条件をチェックします
#
# @within function asset:artifact/0961.light_charm/trigger/1.trigger

# 神器IDの設定
    data modify storage asset:artifact TargetID set value 961
# 神器の基本的な条件の確認を行うfunction、成功している場合CanUsedタグが付く
    function asset:artifact/common/check_condition/hotbar
# 他にアイテム等確認する場合はここに書く

# CanUsedタグをチェックして3.main.mcfunctionを実行する
    execute if entity @s[tag=CanUsed] run function asset:artifact/0961.light_charm/trigger/3.main


text:
#> asset:artifact/0961.light_charm/trigger/3.main
#
# 神器のメイン処理部
#
# @within function asset:artifact/0961.light_charm/trigger/2.check_condition

# 基本的な使用時の処理(MP消費や使用回数の処理など)を行う
    function asset:artifact/common/use/hotbar

# ここから先は神器側の効果の処理を書く
    playsound ogg:block.smithing_table.smithing_table2 player @a ~ ~ ~ 1 1.6
    playsound minecraft:item.armor.equip_iron player @a ~ ~ ~ 1 1
    particle crit ~ ~1 ~ 0 0 0 0.5 10

# 補正を追加
    function asset:artifact/0961.light_charm/trigger/add_modifier


text:
#> asset:artifact/0961.light_charm/trigger/1.trigger
#
# 指定したイベントタイミングで実行されるfunction
#
# @within tag/function asset:artifact/**

# storage asset:idのheadに装備している神器のIDが入っているので比較し、~/2.check_condition.mcfunctionを実行する
    execute if data storage asset:context id{hotbar:[961]} run function asset:artifact/0961.light_charm/trigger/2.check_condition


text:
#> asset:artifact/0961.light_charm/trigger/add_modifier
#
#
#
# @within function asset:artifact/0961.light_charm/trigger/**main

# 補正を削除
    attribute @s minecraft:generic.armor modifier remove 1-0-1-0-03c100000007
    attribute @s minecraft:generic.movement_speed modifier remove 1-0-1-0-03c100000007

# 個数を取得
    execute store result score $Count Temporary if data storage asset:context New.Items.hotbar[{tag:{TSB:{ID:961}}}]
# 防御が上がるが重くなる
    execute if score $Count Temporary matches 1 run attribute @s minecraft:generic.armor modifier add 1-0-1-0-03c100000007 "961" -1 add
    execute if score $Count Temporary matches 1 run attribute @s minecraft:generic.movement_speed modifier add 1-0-1-0-03c100000007 "961" 0.015 add

    execute if score $Count Temporary matches 2 run attribute @s minecraft:generic.armor modifier add 1-0-1-0-03c100000007 "961" -2 add
    execute if score $Count Temporary matches 2 run attribute @s minecraft:generic.movement_speed modifier add 1-0-1-0-03c100000007 "961" 0.03 add

    execute if score $Count Temporary matches 3 run attribute @s minecraft:generic.armor modifier add 1-0-1-0-03c100000007 "961" -3 add
    execute if score $Count Temporary matches 3 run attribute @s minecraft:generic.movement_speed modifier add 1-0-1-0-03c100000007 "961" 0.045 add

    execute if score $Count Temporary matches 4 run attribute @s minecraft:generic.armor modifier add 1-0-1-0-03c100000007 "961" -4 add
    execute if score $Count Temporary matches 4 run attribute @s minecraft:generic.movement_speed modifier add 1-0-1-0-03c100000007 "961" 0.06 add

    execute if score $Count Temporary matches 5 run attribute @s minecraft:generic.armor modifier add 1-0-1-0-03c100000007 "961" -5 add
    execute if score $Count Temporary matches 5 run attribute @s minecraft:generic.movement_speed modifier add 1-0-1-0-03c100000007 "961" 0.075 add

    execute if score $Count Temporary matches 6 run attribute @s minecraft:generic.armor modifier add 1-0-1-0-03c100000007 "961" -6 add
    execute if score $Count Temporary matches 6 run attribute @s minecraft:generic.movement_speed modifier add 1-0-1-0-03c100000007 "961" 0.09 add

    execute if score $Count Temporary matches 7 run attribute @s minecraft:generic.armor modifier add 1-0-1-0-03c100000007 "961" -7 add
    execute if score $Count Temporary matches 7 run attribute @s minecraft:generic.movement_speed modifier add 1-0-1-0-03c100000007 "961" 0.105 add

    execute if score $Count Temporary matches 8 run attribute @s minecraft:generic.armor modifier add 1-0-1-0-03c100000007 "961" -8 add
    execute if score $Count Temporary matches 8 run attribute @s minecraft:generic.movement_speed modifier add 1-0-1-0-03c100000007 "961" 0.13 add

    execute if score $Count Temporary matches 9 run attribute @s minecraft:generic.armor modifier add 1-0-1-0-03c100000007 "961" -9 add
    execute if score $Count Temporary matches 9 run attribute @s minecraft:generic.movement_speed modifier add 1-0-1-0-03c100000007 "961" 0.145 add

# リセット
    scoreboard players reset $Count Temporary


text:
#> asset:artifact/0961.light_charm/trigger/dis_equip/main
#
# 装備を外した時のメイン処理
#
# @within function asset:artifact/0961.light_charm/trigger/dis_equip/

# 音
    playsound minecraft:item.armor.equip_generic player @a ~ ~ ~ 1 0.8

# 補正を削除
    attribute @s minecraft:generic.armor modifier remove 1-0-1-0-03c100000007
    attribute @s minecraft:generic.movement_speed modifier remove 1-0-1-0-03c100000007

# 補正を追加
    execute unless entity @s[tag=!DevPrivilege,predicate=player_manager:is_believe/null] run function asset:artifact/0961.light_charm/trigger/add_modifier


text:
#> asset:artifact/0290.carefully_collector/register
#
# 神器プールへの登録処理
#
# @within tag/function asset:artifact/register

data modify storage asset:artifact RarityRegistry[3] append value 290


text:
#> asset:artifact/0290.carefully_collector/give/1.trigger
#
# 神器の取得処理の呼び出し時に実行されるfunction
#
# @within tag/function asset:artifact/give

execute if data storage asset:context {id:290} run function asset:artifact/0290.carefully_collector/give/2.give


text:
#> asset:artifact/0290.carefully_collector/give/2.give
#
# 神器の作成部 ここでID等を定義する
#
# @user
# @within function asset:artifact/0290.carefully_collector/give/1.trigger

# 神器の説明や消費MPなどをここで設定する。
# 最後にasset:artifact/common/giveを実行することで入手可能。

# 神器のID (int) スプレッドシートの値を入れる
    data modify storage asset:artifact ID set value 290
# 神器のベースアイテム
    data modify storage asset:artifact Item set value "minecraft:carrot_on_a_stick"
# 神器の名前 (TextComponentString)
    data modify storage asset:artifact Name set value '[{"text":"チェストそのまま回収君","color":"green"}]'
# 神器の説明文 (TextComponentString[])
    data modify storage asset:artifact Lore set value ['[{"text":"丁寧丁寧丁寧に"}]']
# MP以外の消費物 (TextComponentString) (オプション)
    # data modify storage asset:artifact CostText set value
# 使用回数 (int) (オプション)
    # data modify storage asset:artifact RemainingCount set value
# 神器を発動できるスロット (string) Wikiを参照
    data modify storage asset:artifact Slot set value "auto"
# 神器のトリガー (string) Wikiを参照
    data modify storage asset:artifact Trigger set value "onClick"
# 神器の発動条件 (TextComponentString) (オプション)
    # data modify storage asset:artifact Condition set value
# 攻撃に関する情報 -Damage量 (literal[]/literal) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.Damage set value [0,0]
# 攻撃に関する情報 -攻撃タイプ (string[]) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.AttackType set value [Physical,Magic]
# 攻撃に関する情報 -攻撃属性 (string[]) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.ElementType set value [Fire,Water,Thunder,None]
# 攻撃に関する情報 -防御無視 (boolean) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.BypassResist set value
# 攻撃に関する情報 -範囲攻撃 (string) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.IsRangeAttack set value
# 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.AttackRange set value
# MP消費量 (int)
    data modify storage asset:artifact MPCost set value 50
# MP必要量 (int) (オプション)
    # data modify storage asset:artifact MPRequire set value
# 神器のクールダウン (int) (オプション)
    # data modify storage asset:artifact LocalCooldown set value
# グローバルクールダウン (int) (オプション)
    # data modify storage asset:artifact SpecialCooldown set value
# クールダウンによる使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    # data modify storage asset:artifact DisableCooldownMessage set value
# MP不足による使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    # data modify storage asset:artifact DisableMPMessage set value
# 扱える神 (string[]) Wikiを参照
    data modify storage asset:artifact CanUsedGod set value ["Urban", "Nyaptov", "Wi-ki", "Rumor"]
# カスタムNBT (NBTCompound) 追加で指定したいNBT (オプション)
    # data modify storage asset:artifact CustomNBT set value {}

# 神器の入手用function
    function asset:artifact/common/give


text:
#> asset:artifact/0290.carefully_collector/trigger/2.check_condition
#
# 神器の発動条件をチェックします
#
# @within function asset:artifact/0290.carefully_collector/trigger/1.trigger

# 神器の基本的な条件の確認を行うfunction、成功している場合CanUsedタグが付く auto/feet/legs/chest/head/mainhand/offhandを記載してね
    function asset:artifact/common/check_condition/auto
# 他にアイテム等確認する場合はここに書く
    tellraw @s[gamemode=!survival,gamemode=!creative] [{"text": "サバイバルエリアでのみ使用可能です"}]
    tag @s[gamemode=!survival,gamemode=!creative] remove CanUsed

    execute if block ~ ~ ~ chest run scoreboard players set @s Temporary 1
    execute if block ~ ~ ~ trapped_chest run scoreboard players set @s Temporary 1
    execute unless score @s Temporary matches 1 run tellraw @s ["足元が[",{"translate":"block.minecraft.chest"},"/",{"translate":"block.minecraft.trapped_chest"},"]である必要があります"]
    execute unless score @s Temporary matches 1 run tag @s remove CanUsed
    scoreboard players reset @s Temporary
# CanUsedタグをチェックして3.main.mcfunctionを実行する
    execute if entity @s[tag=CanUsed] run function asset:artifact/0290.carefully_collector/trigger/3.main


text:
#> asset:artifact/0290.carefully_collector/trigger/3.main
#
# 神器のメイン処理部
#
# @within function asset:artifact/0290.carefully_collector/trigger/2.check_condition
#> private
# @private
#declare tag CarefullyCollect

# 基本的な使用時の処理(MP消費や使用回数の処理など)を行う auto/feet/legs/chest/head/mainhand/offhandを記載してね
    function asset:artifact/common/use/auto

# ここから先は神器側の効果の処理を書く
    # 判定
        execute if block ~ ~ ~ chest run scoreboard players set @s Temporary 1
        execute if block ~ ~ ~ trapped_chest run scoreboard players set @s Temporary 2
    # summon
        summon item ~ ~ ~ {Tags:[CarefullyCollect],Item:{id:"minecraft:barrier",Count:1b}}

    # データ処理
        data modify storage asset:temp block set from block ~ ~ ~

        data modify storage asset:temp chest.Count set value 1b
        data modify storage asset:temp chest.id set from storage asset:temp block.id
        data modify storage asset:temp chest.tag.BlockEntityTag.Items set from storage asset:temp block.Items
        data modify storage asset:temp chest.tag.BlockEntityTag.Lock set from storage asset:temp block.Lock
        data modify storage asset:temp chest.tag.display.Name set from storage asset:temp block.CustomName
        # //反映
        data modify entity @e[type=item,tag=CarefullyCollect,distance=..0,limit=1] Item set from storage asset:temp chest

    # 演出
        execute align xyz positioned ~0.5 ~0.5 ~0.5 run particle dust 0.408 0.894 0.29 0.5 ~ ~ ~ 0.4 0.4 0.4 0 250 normal @a
        playsound entity.arrow.hit_player player @a ~ ~ ~ 1 1.5 1

    # リセット
        setblock ~ ~ ~ air
        scoreboard players reset @s Temporary
        data remove storage asset:temp block
        data remove storage asset:temp chest
        tag @e[type=item,tag=CarefullyCollect,distance=..0] remove CarefullyCollect


text:
#> asset:artifact/0290.carefully_collector/trigger/1.trigger
#
# 指定したイベントタイミングで実行されるfunction
#
# @within tag/function asset:artifact/**

# storage asset:idのauto/feet/legs/chest/head/mainhand/offhandに装備している神器のIDが入っているので比較し、~/2.check_condition.mcfunctionを実行する
    execute if data storage asset:context id{auto:290} run function asset:artifact/0290.carefully_collector/trigger/2.check_condition


text:
#> asset:artifact/0529.safety_helmet/register
#
# 神器プールへの登録処理
#
# @within tag/function asset:artifact/register

data modify storage asset:artifact RarityRegistry[1] append value 529


text:
#> asset:artifact/0529.safety_helmet/give/1.trigger
#
# 神器の取得処理の呼び出し時に実行されるfunction
#
# @within tag/function asset:artifact/give

execute if data storage asset:context {id:529} run function asset:artifact/0529.safety_helmet/give/2.give


text:
#> asset:artifact/0529.safety_helmet/give/2.give
#
# 神器の作成部 ここでID等を定義する
#
# @user
# @within function asset:artifact/0529.safety_helmet/give/1.trigger

# 神器の説明や消費MPなどをここで設定する。
# 最後にasset:artifact/common/giveを実行することで入手可能。

# 神器のID (int) スプレッドシートの値を入れる
    data modify storage asset:artifact ID set value 529
# 神器のベースアイテム
    data modify storage asset:artifact Item set value "minecraft:golden_helmet"
# 神器の名前 (TextComponentString)
    data modify storage asset:artifact Name set value '{"text":"保護帽","color":"yellow"}'
# 神器の説明文 (TextComponentString[])
    data modify storage asset:artifact Lore set value ['[{"text":"被ダメ時","color":"red"},{"text":"に少しの間","color":"white"},{"text":"耐性","color":"dark_gray"},{"text":"が付与される","color":"white"}]','{}','{"text":"安全確認よし！","color":"yellow"}']
# MP以外の消費物 (TextComponentString) (オプション)
    # data modify storage asset:artifact CostText set value
# 使用回数 (int) (オプション)
    # data modify storage asset:artifact RemainingCount set value
# 神器を発動できるスロット (string) Wikiを参照
    data modify storage asset:artifact Slot set value "head"
# 神器のトリガー (string) Wikiを参照
    data modify storage asset:artifact Trigger set value "onDamage"
# 神器の発動条件 (TextComponentString) (オプション)
    # data modify storage asset:artifact Condition set value
# 攻撃に関する情報 -Damage量 (literal[]/literal) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.Damage set value [0,0]
# 攻撃に関する情報 -攻撃タイプ (string[]) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.AttackType set value [Physical,Magic]
# 攻撃に関する情報 -攻撃属性 (string[]) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.ElementType set value [Fire,Water,Thunder,None]
# 攻撃に関する情報 -防御無視 (boolean) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.BypassResist set value
# 攻撃に関する情報 -範囲攻撃 (string) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.IsRangeAttack set value
# 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.AttackRange set value
# MP消費量 (int)
    data modify storage asset:artifact MPCost set value 0
# MP必要量 (int) (オプション)
    # data modify storage asset:artifact MPRequire set value
# 神器のクールダウン (int) (オプション)
    # data modify storage asset:artifact LocalCooldown set value
# グローバルクールダウン (int) (オプション)
    # data modify storage asset:artifact SpecialCooldown set value
# クールダウンによる使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    # data modify storage asset:artifact DisableCooldownMessage set value
# MP不足による使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    # data modify storage asset:artifact DisableMPMessage set value
# 扱える神 (string[]) Wikiを参照
    data modify storage asset:artifact CanUsedGod set value ["Flora", "Urban", "Nyaptov", "Rumor"]
# カスタムNBT (NBTCompound) 追加で指定したいNBT (オプション)
    # data modify storage asset:artifact CustomNBT set value {}

# 神器の入手用function
    function asset:artifact/common/give


text:
#> asset:artifact/0529.safety_helmet/trigger/2.check_condition
#
# 神器の発動条件をチェックします
#
# @within function asset:artifact/0529.safety_helmet/trigger/1.trigger

# 神器の基本的な条件の確認を行うfunction、成功している場合CanUsedタグが付く
    function asset:artifact/common/check_condition/head
# 他にアイテム等確認する場合はここに書く

# CanUsedタグをチェックして3.main.mcfunctionを実行する
    execute if entity @s[tag=CanUsed] run function asset:artifact/0529.safety_helmet/trigger/3.main


text:
#> asset:artifact/0529.safety_helmet/trigger/3.main
#
# 神器のメイン処理部
#
# @within function asset:artifact/0529.safety_helmet/trigger/2.check_condition

# 基本的な使用時の処理(MP消費や使用回数の処理など)を行う
    function asset:artifact/common/use/head

# ここから先は神器側の効果の処理を書く

# 演出
    playsound entity.ender_eye.death player @p ~ ~ ~ 1.0 1.0

# 耐性付与
    effect give @s resistance 3 1


text:
#> asset:artifact/0529.safety_helmet/trigger/1.trigger
#
# 指定したイベントタイミングで実行されるfunction
#
# @within tag/function asset:artifact/**

# storage asset:idのheadに装備している神器のIDが入っているので比較し、~/2.check_condition.mcfunctionを実行する
    execute if data storage asset:context id{head:529} run function asset:artifact/0529.safety_helmet/trigger/2.check_condition


text:
#> asset:artifact/0103.necronomicon/register
#
# 神器プールへの登録処理
#
# @within tag/function asset:artifact/register

data modify storage asset:artifact RarityRegistry[3] append value 103


text:
#> asset:artifact/0103.necronomicon/give/1.trigger
#
# 神器の取得処理の呼び出し時に実行されるfunction
#
# @within tag/function asset:artifact/give

execute if data storage asset:context {id:103} run function asset:artifact/0103.necronomicon/give/2.give


text:
#> asset:artifact/0103.necronomicon/give/2.give
#
# 神器の作成部 ここでID等を定義する
#
# @user
# @within function asset:artifact/0103.necronomicon/give/1.trigger

# 神器の説明や消費MPなどをここで設定する。
# 最後にasset:artifact/common/giveを実行することで入手可能。

# 神器のID (int) スプレッドシートの値を入れる
    data modify storage asset:artifact ID set value 103
# 神器のベースアイテム
    data modify storage asset:artifact Item set value "minecraft:carrot_on_a_stick"
# 神器の名前 (TextComponentString)
    data modify storage asset:artifact Name set value '{"text":"ネクロノミコン","color":"dark_purple"}'
# 神器の説明文 (TextComponentString[])
    data modify storage asset:artifact Lore set value ['{"text":"異界から魔神を召喚する禁術書"}']
# MP以外の消費物 (TextComponentString) (オプション)
    # data modify storage asset:artifact CostText set value
# 使用回数 (int) (オプション)
    # data modify storage asset:artifact RemainingCount set value
# 神器を発動できるスロット (string) Wikiを参照
    data modify storage asset:artifact Slot set value "auto"
# 神器のトリガー (string) Wikiを参照
    data modify storage asset:artifact Trigger set value "onClick"
# 神器の発動条件 (TextComponentString) (オプション)
    # data modify storage asset:artifact Condition set value
# 攻撃に関する情報 -Damage量 (literal[]/literal) Wikiを参照 (オプション)
    data modify storage asset:artifact AttackInfo.Damage set value [380]
# 攻撃に関する情報 -攻撃タイプ (string[]) Wikiを参照 (オプション)
    data modify storage asset:artifact AttackInfo.AttackType set value [Magic]
# 攻撃に関する情報 -攻撃属性 (string[]) Wikiを参照 (オプション)
    data modify storage asset:artifact AttackInfo.ElementType set value [None]
# 攻撃に関する情報 -防御無視 (boolean) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.BypassResist set value
# 攻撃に関する情報 -範囲攻撃 (string) Wikiを参照 (オプション)
    data modify storage asset:artifact AttackInfo.IsRangeAttack set value "every"
# 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション)
    data modify storage asset:artifact AttackInfo.AttackRange set value 10
# MP消費量 (int)
    data modify storage asset:artifact MPCost set value 90
# MP必要量 (int) (オプション)
    # data modify storage asset:artifact MPRequire set value
# 神器のクールダウン (int) (オプション)
    data modify storage asset:artifact LocalCooldown set value 60
# グローバルクールダウン (int) (オプション)
    # data modify storage asset:artifact SpecialCooldown set value
# クールダウンによる使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    # data modify storage asset:artifact DisableCooldownMessage set value
# MP不足による使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    # data modify storage asset:artifact DisableMPMessage set value
# 扱える神 (string[]) Wikiを参照
    data modify storage asset:artifact CanUsedGod set value ["Nyaptov", "Wi-ki"]
# カスタムNBT (NBTCompound) 追加で指定したいNBT (オプション)
    # data modify storage asset:artifact CustomNBT set value {}

# 神器の入手用function
    function asset:artifact/common/give


text:
#> asset:artifact/0103.necronomicon/trigger/2.check_condition
#
# 神器の発動条件をチェックします
#
# @within function asset:artifact/0103.necronomicon/trigger/1.trigger

# 神器の基本的な条件の確認を行うfunction、成功している場合CanUsedタグが付く auto/feet/legs/chest/head/mainhand/offhandを記載してね
    function asset:artifact/common/check_condition/auto
# 他にアイテム等確認する場合はここに書く

# CanUsedタグをチェックして3.main.mcfunctionを実行する
    execute if entity @s[tag=CanUsed] run function asset:artifact/0103.necronomicon/trigger/3.main


text:
#> asset:artifact/0103.necronomicon/trigger/3.main
#
# 神器のメイン処理部
#
# @within function asset:artifact/0103.necronomicon/trigger/2.check_condition

# 基本的な使用時の処理(MP消費や使用回数の処理など)を行う auto/feet/legs/chest/head/mainhand/offhandを記載してね
    function asset:artifact/common/use/auto

# ここから先は神器側の効果の処理を書く

# 演出
    particle minecraft:dragon_breath ~ ~0.8 ~ 2 0.5 2 0.01 100
    particle minecraft:enchant ~ ~1 ~ 0.8 0.3 0.8 0.1 100
    playsound minecraft:entity.elder_guardian.death player @a ~ ~ ~ 1 2

    # 盲目
        effect give @a[distance=..10] minecraft:blindness 3 1

# ダメージ
    # 与えるダメージ = 380
        data modify storage lib: Argument.Damage set value 380f
    # 第一属性 (第二属性なし)
        data modify storage lib: Argument.AttackType set value "Magic"
    # ダメージを与える
        function lib:damage/modifier
        execute as @e[type=#lib:living,type=!player,tag=!Uninterferable,distance=..10] run function lib:damage/
# リセット
    function lib:damage/reset


text:
#> asset:artifact/0103.necronomicon/trigger/1.trigger
#
# 指定したイベントタイミングで実行されるfunction
#
# @within tag/function asset:artifact/**

# storage asset:idのauto/feet/legs/chest/head/mainhand/offhandに装備している神器のIDが入っているので比較し、~/2.check_condition.mcfunctionを実行する
    execute if data storage asset:context id{auto:103} run function asset:artifact/0103.necronomicon/trigger/2.check_condition


text:
#> asset:artifact/0139.soma/give/1.trigger
#
# 神器の取得処理の呼び出し時に実行されるfunction
#
# @within tag/function asset:artifact/give

execute if data storage asset:context {id:139} run function asset:artifact/0139.soma/give/2.give


text:
#> asset:artifact/0139.soma/give/2.give
#
# 神器の作成部 ここでID等を定義する
#
# @user
# @within function asset:artifact/0139.soma/give/1.trigger

# 神器の説明や消費MPなどをここで設定する。
# 最後にasset:artifact/common/giveを実行することで入手可能。

# 神器のID (int) スプレッドシートの値を入れる
    data modify storage asset:artifact ID set value 139
# 神器のベースアイテム
    data modify storage asset:artifact Item set value "minecraft:potion"
# 神器の名前 (TextComponentString)
    data modify storage asset:artifact Name set value '{"text":"ソーマ","color":"aqua"}'
# 神器の説明文 (TextComponentString[])
    data modify storage asset:artifact Lore set value ['{"text":"HPを6、MPを30回復する"}']
# MP以外の消費物 (TextComponentString) (オプション)
    # data modify storage asset:artifact CostText set value
# 使用回数 (int) (オプション)
    data modify storage asset:artifact RemainingCount set value 1
# 神器を発動できるスロット (string) Wikiを参照
    data modify storage asset:artifact Slot set value "auto"
# 神器のトリガー (string) Wikiを参照
    data modify storage asset:artifact Trigger set value "itemUse"
# 神器の発動条件 (TextComponentString) (オプション)
    # data modify storage asset:artifact Condition set value
# 攻撃に関する情報 -Damage量 (literal[]/literal) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.Damage set value [0,0]
# 攻撃に関する情報 -攻撃タイプ (string[]) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.AttackType set value [Physical,Magic]
# 攻撃に関する情報 -攻撃属性 (string[]) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.ElementType set value [Fire,Water,Thunder,None]
# 攻撃に関する情報 -防御無視 (boolean) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.BypassResist set value
# 攻撃に関する情報 -範囲攻撃 (string) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.IsRangeAttack set value
# 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.AttackRange set value
# MP消費量 (int)
    data modify storage asset:artifact MPCost set value 0
# MP必要量 (int) (オプション)
    # data modify storage asset:artifact MPRequire set value
# 神器のクールダウン (int) (オプション)
    # data modify storage asset:artifact LocalCooldown set value
# グローバルクールダウン (int) (オプション)
    # data modify storage asset:artifact SpecialCooldown set value
# クールダウンによる使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    # data modify storage asset:artifact DisableCooldownMessage set value
# MP不足による使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    # data modify storage asset:artifact DisableMPMessage set value
# 扱える神 (string[]) Wikiを参照
    data modify storage asset:artifact CanUsedGod set value "ALL"
# カスタムNBT (NBTCompound) 追加で指定したいNBT (オプション)
    data modify storage asset:artifact CustomNBT set value {CustomPotionColor:697855,HideFlags:32}

# 神器の入手用function
    function asset:artifact/common/give


text:
#> asset:artifact/0139.soma/trigger/2.check_condition
#
# 神器の発動条件をチェックします
#
# @within function asset:artifact/0139.soma/trigger/1.trigger

# 神器の基本的な条件の確認を行うfunction、成功している場合CanUsedタグが付く auto/feet/legs/chest/head/mainhand/offhandを記載してね
    function asset:artifact/common/check_condition/auto
# 他にアイテム等確認する場合はここに書く

# CanUsedタグをチェックして3.main.mcfunctionを実行する
    execute if entity @s[tag=CanUsed] run function asset:artifact/0139.soma/trigger/3.main


text:
#> asset:artifact/0139.soma/trigger/3.main
#
# 神器のメイン処理部
#
# @within function asset:artifact/0139.soma/trigger/2.check_condition

#> private
# @private
    #declare score_holder $Fluctuation

# 基本的な使用時の処理(MP消費や使用回数の処理など)を行う auto/feet/legs/chest/head/mainhand/offhandを記載してね
    function asset:artifact/common/use/auto

# ここから先は神器側の効果の処理を書く

# 演出
    particle minecraft:composter ~ ~1 ~ 0.5 0.5 0.5 1 20 force @s
    particle minecraft:heart ~ ~0.5 ~ 0.3 0.5 0.3 1 5 force @s
    playsound minecraft:entity.arrow.hit_player player @s ~ ~ ~ 1 1

# MP回復
    scoreboard players set $Fluctuation Lib 30
    function lib:mp/fluctuation

# HP回復
    data modify storage lib: Argument.Heal set value 6
    function lib:heal/modifier
    function lib:heal/

# リセット
    function lib:heal/reset


text:
#> asset:artifact/0139.soma/trigger/1.trigger
#
# 指定したイベントタイミングで実行されるfunction
#
# @within tag/function asset:artifact/**

# storage asset:idのauto/feet/legs/chest/head/mainhand/offhandに装備している神器のIDが入っているので比較し、~/2.check_condition.mcfunctionを実行する
    execute if data storage asset:context id{auto:139} run function asset:artifact/0139.soma/trigger/2.check_condition


text:
#> asset:artifact/0918.flame_hunter_boots/register
#
# 神器プールへの登録処理
#
# @within tag/function asset:artifact/register

data modify storage asset:artifact RarityRegistry[3] append value 918


text:
#> asset:artifact/0918.flame_hunter_boots/give/1.trigger
#
# 神器の取得処理の呼び出し時に実行されるfunction
#
# @within tag/function asset:artifact/give

execute if data storage asset:context {id:918} run function asset:artifact/0918.flame_hunter_boots/give/2.give


text:
#> asset:artifact/0918.flame_hunter_boots/give/2.give
#
# 神器の作成部 ここでID等を定義する
#
# @user
# @within function asset:artifact/0918.flame_hunter_boots/give/1.trigger

# 神器の説明や消費MPなどをここで設定する。
# 最後にasset:artifact/common/giveを実行することで入手可能。

# 神器のID (int) スプレッドシートの値を入れる
    data modify storage asset:artifact ID set value 918
# 神器のベースアイテム
    data modify storage asset:artifact Item set value "minecraft:leather_boots"
# 神器の名前 (TextComponentString)
    data modify storage asset:artifact Name set value '{"text":"炎を追う狩人の靴","color":"red"}'
# 神器の説明文 (TextComponentString[])
    data modify storage asset:artifact Lore set value ['[{"text":"2部位装備:","color":"white"}]','[{"text":"火耐性+10% 火攻撃+10% ","color":"red"},{"text":"水耐性-10% ","color":"dark_red"},{"text":"移動速度+5%","color":"white"}]','[{"text":"4部位装備:","color":"white"}]','[{"text":"火耐性+15% 火攻撃+15% ","color":"red"},{"text":"水耐性-10% ","color":"dark_red"},{"text":"移動速度+10%","color":"white"}]','[{"text":"「狩人は炎の原因を狩った。","color":"white","italic":"true"}]','[{"text":"そして彼は怨嗟の炎の一部となった。」","color":"white","italic":"true"}]']
# MP以外の消費物 (TextComponentString) (オプション)
    # data modify storage asset:artifact CostText set value
# 使用回数 (int) (オプション)
    # data modify storage asset:artifact RemainingCount set value
# 神器を発動できるスロット (string) Wikiを参照
    data modify storage asset:artifact Slot set value "feet"
# 神器のトリガー (string) Wikiを参照
    data modify storage asset:artifact Trigger set value "equipping"
# 神器の発動条件 (TextComponentString) (オプション)
    # data modify storage asset:artifact Condition set value
# 攻撃に関する情報 -Damage量 (literal[]/literal) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.Damage set value [0,0]
# 攻撃に関する情報 -攻撃タイプ (string[]) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.AttackType set value [Physical,Magic]
# 攻撃に関する情報 -攻撃属性 (string[]) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.ElementType set value [Fire,Water,Thunder,None]
# 攻撃に関する情報 -防御無視 (boolean) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.BypassResist set value
# 攻撃に関する情報 -範囲攻撃 (string) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.IsRangeAttack set value
# 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.AttackRange set value
# MP消費量 (int)
    data modify storage asset:artifact MPCost set value 0
# MP必要量 (int) (オプション)
    # data modify storage asset:artifact MPRequire set value
# 神器のクールダウン (int) (オプション)
    # data modify storage asset:artifact LocalCooldown set value
# グローバルクールダウン (int) (オプション)
    # data modify storage asset:artifact SpecialCooldown set value
# クールダウンによる使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    # data modify storage asset:artifact DisableCooldownMessage set value
# MP不足による使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    # data modify storage asset:artifact DisableMPMessage set value
# 扱える神 (string[]) Wikiを参照
    data modify storage asset:artifact CanUsedGod set value ["Urban", "Nyaptov", "Rumor"]
# カスタムNBT (NBTCompound) 追加で指定したいNBT (オプション)
    data modify storage asset:artifact CustomNBT set value {HideFlags:68,display:{color:10691106},Unbreakable:1b,AttributeModifiers:[{AttributeName:"generic.armor",Name:"generic.armor",Amount:6,Operation:0,UUID:[I;1,1,918,3],Slot:"feet"},{AttributeName:"generic.armor_toughness",Name:"generic.armor_toughness",Amount:1,Operation:0,UUID:[I;1,1,918,3],Slot:"feet"}]}

# 神器の入手用function
    function asset:artifact/common/give


text:
#> asset:artifact/0918.flame_hunter_boots/trigger/2.check_condition
#
# 神器の発動条件をチェックします
#
# @within function asset:artifact/0918.flame_hunter_boots/trigger/1.trigger

# 神器の基本的な条件の確認を行うfunction、成功している場合CanUsedタグが付く
    function asset:artifact/common/check_condition/feet
# 他にアイテム等確認する場合はここに書く

# CanUsedタグをチェックして3.main.mcfunctionを実行する
    execute if entity @s[tag=CanUsed] run function asset:artifact/0918.flame_hunter_boots/trigger/3.main


text:
#> asset:artifact/0918.flame_hunter_boots/trigger/3.main
#
# 神器のメイン処理部
#
# @within function asset:artifact/0918.flame_hunter_boots/trigger/2.check_condition

# 基本的な使用時の処理(MP消費や使用回数の処理など)を行う
    function asset:artifact/common/use/feet

# ここから先は神器側の効果の処理を書く

# 演出
    particle flame ~ ~0.2 ~ 0.3 0.1 0.3 0 30 normal @a
    particle block azalea ~ ~0.2 ~ 0.3 0.1 0.3 0 60 normal @a
    playsound block.grass.break player @a ~ ~ ~ 0.4 1.2 0
    playsound block.grass.break player @a ~ ~ ~ 0.4 1.4 0
    playsound block.fire.ambient player @a ~ ~ ~ 0.8 1 0

# 装備時の共通処理
    function asset:artifact/0915.flame_hunter_hat/trigger/common/equip


text:
#> asset:artifact/0918.flame_hunter_boots/trigger/1.trigger
#
# 指定したイベントタイミングで実行されるfunction
#
# @within tag/function asset:artifact/**

# storage asset:idのfeetに装備している神器のIDが入っているので比較し、~/2.check_condition.mcfunctionを実行する
    execute if data storage asset:context id{feet:918} run function asset:artifact/0918.flame_hunter_boots/trigger/2.check_condition


text:
#> asset:artifact/0918.flame_hunter_boots/trigger/dis_equip/main
#
# 装備を外した時のメイン処理
#
# @within function asset:artifact/0918.flame_hunter_boots/trigger/dis_equip/

# 装備を外したときの共通処理
    function asset:artifact/0915.flame_hunter_hat/trigger/common/dis_equip


text:
#> asset:artifact/0672.aurora_blade/register
#
# 神器プールへの登録処理
#
# @within tag/function asset:artifact/register

data modify storage asset:artifact RarityRegistry[3] append value 672


text:
#> asset:artifact/0672.aurora_blade/give/1.trigger
#
# 神器の取得処理の呼び出し時に実行されるfunction
#
# @within tag/function asset:artifact/give

execute if data storage asset:context {id:672} run function asset:artifact/0672.aurora_blade/give/2.give