text:
#> asset_manager:teleporter/tick/tp/find_target_star
#
#
#
# @within function
#   asset_manager:teleporter/tick/tp/
#   asset_manager:teleporter/tick/tp/find_target_star

# 付近に星がいる場合
    execute as @e[type=marker,tag=TPStar,distance=..0.1,limit=1] run function oh_my_dat:please
    execute if entity @e[type=marker,tag=TPStar,distance=..0.1,limit=1] run data modify storage asset:teleporter TargetPos set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].TPStarData.TargetPos
# 居ない場合の再帰
    execute unless data storage asset:teleporter TargetPos positioned ^ ^ ^0.05 if entity @s[distance=..2.5] run function asset_manager:teleporter/tick/tp/find_target_star


repo_name: ProjectTSB/TheSkyBlessing

repo_language: mcfunction

mime_type: text/plain


text:
#> asset_manager:teleporter/tick/vfx/teleporter/deactive/nearby_player
#
#
#
# @within function asset_manager:teleporter/tick/vfx/teleporter/deactive/

particle dust 0.4 0.4 0.4 0.6 ^0 ^ ^-1 0 0 0 0 1 normal @s
particle dust 0.4 0.4 0.4 0.6 ^0.86603 ^ ^-0.5 0 0 0 0 1 normal @s
particle dust 0.4 0.4 0.4 0.6 ^0.86603 ^ ^0.5 0 0 0 0 1 normal @s
particle dust 0.4 0.4 0.4 0.6 ^0 ^ ^1 0 0 0 0 1 normal @s
particle dust 0.4 0.4 0.4 0.6 ^-0.86603 ^ ^0.5 0 0 0 0 1 normal @s
particle dust 0.4 0.4 0.4 0.6 ^-0.86603 ^ ^-0.5 0 0 0 0 1 normal @s
# 多角形 2
particle dust 0.3 0.4 0.3 0.2 ^0 ^ ^-1.3 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.06495 ^ ^-1.2625 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.1299 ^ ^-1.225 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.19486 ^ ^-1.1875 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.25981 ^ ^-1.15 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.25981 ^ ^-1.075 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.25981 ^ ^-1 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.25981 ^ ^-0.925 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.25981 ^ ^-0.85 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.19486 ^ ^-0.8125 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.1299 ^ ^-0.775 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.06495 ^ ^-0.7375 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0 ^ ^-0.7 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.06495 ^ ^-0.7375 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.1299 ^ ^-0.775 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.19486 ^ ^-0.8125 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.25981 ^ ^-0.85 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.25981 ^ ^-0.925 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.25981 ^ ^-1 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.25981 ^ ^-1.075 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.25981 ^ ^-1.15 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.19486 ^ ^-1.1875 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.1299 ^ ^-1.225 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.06495 ^ ^-1.2625 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.86603 ^ ^-0.8 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.93098 ^ ^-0.7625 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.99593 ^ ^-0.725 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^1.06088 ^ ^-0.6875 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^1.12583 ^ ^-0.65 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^1.12583 ^ ^-0.575 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^1.12583 ^ ^-0.5 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^1.12583 ^ ^-0.425 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^1.12583 ^ ^-0.35 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^1.06088 ^ ^-0.3125 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.99593 ^ ^-0.275 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.93098 ^ ^-0.2375 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.86603 ^ ^-0.2 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.80107 ^ ^-0.2375 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.73612 ^ ^-0.275 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.67117 ^ ^-0.3125 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.60622 ^ ^-0.35 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.60622 ^ ^-0.425 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.60622 ^ ^-0.5 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.60622 ^ ^-0.575 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.60622 ^ ^-0.65 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.67117 ^ ^-0.6875 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.73612 ^ ^-0.725 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.80107 ^ ^-0.7625 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.86603 ^ ^0.2 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.93098 ^ ^0.2375 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.99593 ^ ^0.275 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^1.06088 ^ ^0.3125 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^1.12583 ^ ^0.35 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^1.12583 ^ ^0.425 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^1.12583 ^ ^0.5 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^1.12583 ^ ^0.575 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^1.12583 ^ ^0.65 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^1.06088 ^ ^0.6875 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.99593 ^ ^0.725 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.93098 ^ ^0.7625 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.86603 ^ ^0.8 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.80107 ^ ^0.7625 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.73612 ^ ^0.725 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.67117 ^ ^0.6875 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.60622 ^ ^0.65 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.60622 ^ ^0.575 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.60622 ^ ^0.5 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.60622 ^ ^0.425 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.60622 ^ ^0.35 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.67117 ^ ^0.3125 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.73612 ^ ^0.275 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.80107 ^ ^0.2375 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0 ^ ^0.7 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.06495 ^ ^0.7375 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.1299 ^ ^0.775 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.19486 ^ ^0.8125 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.25981 ^ ^0.85 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.25981 ^ ^0.925 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.25981 ^ ^1 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.25981 ^ ^1.075 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.25981 ^ ^1.15 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.19486 ^ ^1.1875 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.1299 ^ ^1.225 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.06495 ^ ^1.2625 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0 ^ ^1.3 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.06495 ^ ^1.2625 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.1299 ^ ^1.225 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.19486 ^ ^1.1875 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.25981 ^ ^1.15 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.25981 ^ ^1.075 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.25981 ^ ^1 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.25981 ^ ^0.925 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.25981 ^ ^0.85 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.19486 ^ ^0.8125 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.1299 ^ ^0.775 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.06495 ^ ^0.7375 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.86603 ^ ^0.2 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.80107 ^ ^0.2375 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.73612 ^ ^0.275 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.67117 ^ ^0.3125 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.60622 ^ ^0.35 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.60622 ^ ^0.425 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.60622 ^ ^0.5 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.60622 ^ ^0.575 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.60622 ^ ^0.65 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.67117 ^ ^0.6875 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.73612 ^ ^0.725 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.80107 ^ ^0.7625 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.86603 ^ ^0.8 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.93098 ^ ^0.7625 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.99593 ^ ^0.725 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-1.06088 ^ ^0.6875 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-1.12583 ^ ^0.65 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-1.12583 ^ ^0.575 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-1.12583 ^ ^0.5 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-1.12583 ^ ^0.425 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-1.12583 ^ ^0.35 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-1.06088 ^ ^0.3125 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.99593 ^ ^0.275 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.93098 ^ ^0.2375 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.86603 ^ ^-0.8 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.80107 ^ ^-0.7625 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.73612 ^ ^-0.725 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.67117 ^ ^-0.6875 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.60622 ^ ^-0.65 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.60622 ^ ^-0.575 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.60622 ^ ^-0.5 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.60622 ^ ^-0.425 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.60622 ^ ^-0.35 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.67117 ^ ^-0.3125 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.73612 ^ ^-0.275 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.80107 ^ ^-0.2375 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.86603 ^ ^-0.2 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.93098 ^ ^-0.2375 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.99593 ^ ^-0.275 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-1.06088 ^ ^-0.3125 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-1.12583 ^ ^-0.35 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-1.12583 ^ ^-0.425 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-1.12583 ^ ^-0.5 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-1.12583 ^ ^-0.575 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-1.12583 ^ ^-0.65 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-1.06088 ^ ^-0.6875 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.99593 ^ ^-0.725 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.93098 ^ ^-0.7625 0 0 0 0 1 normal @s
# 多角形 3
particle dust 0.3 0.4 0.3 0.2 ^0.33113 ^ ^-1.10882 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.39735 ^ ^-1.07059 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.46358 ^ ^-1.03235 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.5298 ^ ^-0.99412 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.59603 ^ ^-0.95588 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.66225 ^ ^-0.91765 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.72848 ^ ^-0.87941 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.79471 ^ ^-0.84118 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^1.12583 ^ ^-0.26765 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^1.12583 ^ ^-0.19118 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^1.12583 ^ ^-0.11471 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^1.12583 ^ ^-0.03824 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^1.12583 ^ ^0.03824 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^1.12583 ^ ^0.11471 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^1.12583 ^ ^0.19118 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^1.12583 ^ ^0.26765 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.79471 ^ ^0.84118 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.72848 ^ ^0.87941 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.66225 ^ ^0.91765 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.59603 ^ ^0.95588 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.5298 ^ ^0.99412 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.46358 ^ ^1.03235 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.39735 ^ ^1.07059 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.33113 ^ ^1.10882 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.33113 ^ ^1.10882 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.39735 ^ ^1.07059 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.46358 ^ ^1.03235 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.5298 ^ ^0.99412 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.59603 ^ ^0.95588 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.66225 ^ ^0.91765 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.72848 ^ ^0.87941 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.79471 ^ ^0.84118 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-1.12583 ^ ^0.26765 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-1.12583 ^ ^0.19118 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-1.12583 ^ ^0.11471 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-1.12583 ^ ^0.03824 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-1.12583 ^ ^-0.03824 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-1.12583 ^ ^-0.11471 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-1.12583 ^ ^-0.19118 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-1.12583 ^ ^-0.26765 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.79471 ^ ^-0.84118 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.72848 ^ ^-0.87941 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.66225 ^ ^-0.91765 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.59603 ^ ^-0.95588 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.5298 ^ ^-0.99412 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.46358 ^ ^-1.03235 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.39735 ^ ^-1.07059 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.33113 ^ ^-1.10882 0 0 0 0 1 normal @s
# 多角形 4
particle dust 0.3 0.4 0.3 0.2 ^0.06736 ^ ^-0.66111 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.13472 ^ ^-0.62222 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.20207 ^ ^-0.58333 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.26943 ^ ^-0.54444 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.33679 ^ ^-0.50556 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.40415 ^ ^-0.46667 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.4715 ^ ^-0.42778 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.53886 ^ ^-0.38889 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.60622 ^ ^-0.27222 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.60622 ^ ^-0.19444 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.60622 ^ ^-0.11667 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.60622 ^ ^-0.03889 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.60622 ^ ^0.03889 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.60622 ^ ^0.11667 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.60622 ^ ^0.19444 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.60622 ^ ^0.27222 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.53886 ^ ^0.38889 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.4715 ^ ^0.42778 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.40415 ^ ^0.46667 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.33679 ^ ^0.50556 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.26943 ^ ^0.54444 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.20207 ^ ^0.58333 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.13472 ^ ^0.62222 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^0.06736 ^ ^0.66111 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.06736 ^ ^0.66111 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.13472 ^ ^0.62222 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.20207 ^ ^0.58333 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.26943 ^ ^0.54444 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.33679 ^ ^0.50556 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.40415 ^ ^0.46667 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.4715 ^ ^0.42778 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.53886 ^ ^0.38889 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.60622 ^ ^0.27222 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.60622 ^ ^0.19444 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.60622 ^ ^0.11667 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.60622 ^ ^0.03889 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.60622 ^ ^-0.03889 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.60622 ^ ^-0.11667 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.60622 ^ ^-0.19444 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.60622 ^ ^-0.27222 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.53886 ^ ^-0.38889 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.4715 ^ ^-0.42778 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.40415 ^ ^-0.46667 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.33679 ^ ^-0.50556 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.26943 ^ ^-0.54444 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.20207 ^ ^-0.58333 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.13472 ^ ^-0.62222 0 0 0 0 1 normal @s
particle dust 0.3 0.4 0.3 0.2 ^-0.06736 ^ ^-0.66111 0 0 0 0 1 normal @s


text:
#> asset_manager:teleporter/tick/vfx/teleporter/active/nearby_player
#
#
#
# @within function asset_manager:teleporter/tick/vfx/teleporter/active/

particle dust 1 1 1 0.6 ^0 ^ ^-1 0 0 0 0 1 normal @s
particle dust 1 1 1 0.6 ^0.86603 ^ ^-0.5 0 0 0 0 1 normal @s
particle dust 1 1 1 0.6 ^0.86603 ^ ^0.5 0 0 0 0 1 normal @s
particle dust 1 1 1 0.6 ^0 ^ ^1 0 0 0 0 1 normal @s
particle dust 1 1 1 0.6 ^-0.86603 ^ ^0.5 0 0 0 0 1 normal @s
particle dust 1 1 1 0.6 ^-0.86603 ^ ^-0.5 0 0 0 0 1 normal @s
# 多角形 2
particle dust 0 0.9 0.7 0.2 ^0 ^ ^-1.3 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.06495 ^ ^-1.2625 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.1299 ^ ^-1.225 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.19486 ^ ^-1.1875 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.25981 ^ ^-1.15 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.25981 ^ ^-1.075 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.25981 ^ ^-1 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.25981 ^ ^-0.925 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.25981 ^ ^-0.85 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.19486 ^ ^-0.8125 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.1299 ^ ^-0.775 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.06495 ^ ^-0.7375 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0 ^ ^-0.7 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.06495 ^ ^-0.7375 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.1299 ^ ^-0.775 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.19486 ^ ^-0.8125 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.25981 ^ ^-0.85 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.25981 ^ ^-0.925 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.25981 ^ ^-1 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.25981 ^ ^-1.075 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.25981 ^ ^-1.15 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.19486 ^ ^-1.1875 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.1299 ^ ^-1.225 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.06495 ^ ^-1.2625 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.86603 ^ ^-0.8 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.93098 ^ ^-0.7625 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.99593 ^ ^-0.725 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^1.06088 ^ ^-0.6875 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^1.12583 ^ ^-0.65 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^1.12583 ^ ^-0.575 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^1.12583 ^ ^-0.5 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^1.12583 ^ ^-0.425 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^1.12583 ^ ^-0.35 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^1.06088 ^ ^-0.3125 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.99593 ^ ^-0.275 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.93098 ^ ^-0.2375 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.86603 ^ ^-0.2 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.80107 ^ ^-0.2375 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.73612 ^ ^-0.275 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.67117 ^ ^-0.3125 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.60622 ^ ^-0.35 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.60622 ^ ^-0.425 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.60622 ^ ^-0.5 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.60622 ^ ^-0.575 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.60622 ^ ^-0.65 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.67117 ^ ^-0.6875 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.73612 ^ ^-0.725 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.80107 ^ ^-0.7625 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.86603 ^ ^0.2 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.93098 ^ ^0.2375 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.99593 ^ ^0.275 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^1.06088 ^ ^0.3125 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^1.12583 ^ ^0.35 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^1.12583 ^ ^0.425 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^1.12583 ^ ^0.5 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^1.12583 ^ ^0.575 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^1.12583 ^ ^0.65 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^1.06088 ^ ^0.6875 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.99593 ^ ^0.725 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.93098 ^ ^0.7625 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.86603 ^ ^0.8 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.80107 ^ ^0.7625 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.73612 ^ ^0.725 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.67117 ^ ^0.6875 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.60622 ^ ^0.65 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.60622 ^ ^0.575 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.60622 ^ ^0.5 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.60622 ^ ^0.425 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.60622 ^ ^0.35 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.67117 ^ ^0.3125 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.73612 ^ ^0.275 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.80107 ^ ^0.2375 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0 ^ ^0.7 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.06495 ^ ^0.7375 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.1299 ^ ^0.775 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.19486 ^ ^0.8125 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.25981 ^ ^0.85 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.25981 ^ ^0.925 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.25981 ^ ^1 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.25981 ^ ^1.075 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.25981 ^ ^1.15 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.19486 ^ ^1.1875 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.1299 ^ ^1.225 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.06495 ^ ^1.2625 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0 ^ ^1.3 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.06495 ^ ^1.2625 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.1299 ^ ^1.225 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.19486 ^ ^1.1875 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.25981 ^ ^1.15 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.25981 ^ ^1.075 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.25981 ^ ^1 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.25981 ^ ^0.925 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.25981 ^ ^0.85 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.19486 ^ ^0.8125 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.1299 ^ ^0.775 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.06495 ^ ^0.7375 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.86603 ^ ^0.2 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.80107 ^ ^0.2375 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.73612 ^ ^0.275 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.67117 ^ ^0.3125 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.60622 ^ ^0.35 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.60622 ^ ^0.425 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.60622 ^ ^0.5 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.60622 ^ ^0.575 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.60622 ^ ^0.65 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.67117 ^ ^0.6875 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.73612 ^ ^0.725 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.80107 ^ ^0.7625 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.86603 ^ ^0.8 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.93098 ^ ^0.7625 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.99593 ^ ^0.725 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-1.06088 ^ ^0.6875 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-1.12583 ^ ^0.65 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-1.12583 ^ ^0.575 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-1.12583 ^ ^0.5 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-1.12583 ^ ^0.425 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-1.12583 ^ ^0.35 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-1.06088 ^ ^0.3125 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.99593 ^ ^0.275 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.93098 ^ ^0.2375 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.86603 ^ ^-0.8 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.80107 ^ ^-0.7625 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.73612 ^ ^-0.725 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.67117 ^ ^-0.6875 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.60622 ^ ^-0.65 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.60622 ^ ^-0.575 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.60622 ^ ^-0.5 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.60622 ^ ^-0.425 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.60622 ^ ^-0.35 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.67117 ^ ^-0.3125 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.73612 ^ ^-0.275 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.80107 ^ ^-0.2375 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.86603 ^ ^-0.2 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.93098 ^ ^-0.2375 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.99593 ^ ^-0.275 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-1.06088 ^ ^-0.3125 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-1.12583 ^ ^-0.35 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-1.12583 ^ ^-0.425 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-1.12583 ^ ^-0.5 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-1.12583 ^ ^-0.575 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-1.12583 ^ ^-0.65 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-1.06088 ^ ^-0.6875 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.99593 ^ ^-0.725 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.93098 ^ ^-0.7625 0 0 0 0 1 normal @s
# 多角形 3
particle dust 0 0.9 0.7 0.2 ^0.33113 ^ ^-1.10882 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.39735 ^ ^-1.07059 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.46358 ^ ^-1.03235 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.5298 ^ ^-0.99412 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.59603 ^ ^-0.95588 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.66225 ^ ^-0.91765 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.72848 ^ ^-0.87941 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.79471 ^ ^-0.84118 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^1.12583 ^ ^-0.26765 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^1.12583 ^ ^-0.19118 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^1.12583 ^ ^-0.11471 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^1.12583 ^ ^-0.03824 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^1.12583 ^ ^0.03824 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^1.12583 ^ ^0.11471 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^1.12583 ^ ^0.19118 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^1.12583 ^ ^0.26765 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.79471 ^ ^0.84118 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.72848 ^ ^0.87941 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.66225 ^ ^0.91765 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.59603 ^ ^0.95588 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.5298 ^ ^0.99412 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.46358 ^ ^1.03235 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.39735 ^ ^1.07059 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.33113 ^ ^1.10882 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.33113 ^ ^1.10882 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.39735 ^ ^1.07059 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.46358 ^ ^1.03235 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.5298 ^ ^0.99412 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.59603 ^ ^0.95588 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.66225 ^ ^0.91765 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.72848 ^ ^0.87941 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.79471 ^ ^0.84118 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-1.12583 ^ ^0.26765 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-1.12583 ^ ^0.19118 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-1.12583 ^ ^0.11471 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-1.12583 ^ ^0.03824 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-1.12583 ^ ^-0.03824 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-1.12583 ^ ^-0.11471 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-1.12583 ^ ^-0.19118 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-1.12583 ^ ^-0.26765 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.79471 ^ ^-0.84118 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.72848 ^ ^-0.87941 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.66225 ^ ^-0.91765 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.59603 ^ ^-0.95588 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.5298 ^ ^-0.99412 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.46358 ^ ^-1.03235 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.39735 ^ ^-1.07059 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.33113 ^ ^-1.10882 0 0 0 0 1 normal @s
# 多角形 4
particle dust 0 0.9 0.7 0.2 ^0.06736 ^ ^-0.66111 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.13472 ^ ^-0.62222 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.20207 ^ ^-0.58333 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.26943 ^ ^-0.54444 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.33679 ^ ^-0.50556 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.40415 ^ ^-0.46667 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.4715 ^ ^-0.42778 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.53886 ^ ^-0.38889 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.60622 ^ ^-0.27222 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.60622 ^ ^-0.19444 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.60622 ^ ^-0.11667 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.60622 ^ ^-0.03889 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.60622 ^ ^0.03889 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.60622 ^ ^0.11667 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.60622 ^ ^0.19444 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.60622 ^ ^0.27222 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.53886 ^ ^0.38889 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.4715 ^ ^0.42778 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.40415 ^ ^0.46667 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.33679 ^ ^0.50556 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.26943 ^ ^0.54444 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.20207 ^ ^0.58333 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.13472 ^ ^0.62222 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^0.06736 ^ ^0.66111 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.06736 ^ ^0.66111 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.13472 ^ ^0.62222 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.20207 ^ ^0.58333 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.26943 ^ ^0.54444 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.33679 ^ ^0.50556 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.40415 ^ ^0.46667 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.4715 ^ ^0.42778 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.53886 ^ ^0.38889 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.60622 ^ ^0.27222 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.60622 ^ ^0.19444 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.60622 ^ ^0.11667 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.60622 ^ ^0.03889 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.60622 ^ ^-0.03889 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.60622 ^ ^-0.11667 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.60622 ^ ^-0.19444 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.60622 ^ ^-0.27222 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.53886 ^ ^-0.38889 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.4715 ^ ^-0.42778 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.40415 ^ ^-0.46667 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.33679 ^ ^-0.50556 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.26943 ^ ^-0.54444 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.20207 ^ ^-0.58333 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.13472 ^ ^-0.62222 0 0 0 0 1 normal @s
particle dust 0 0.9 0.7 0.2 ^-0.06736 ^ ^-0.66111 0 0 0 0 1 normal @s


text:
#> asset_manager:teleporter/tick/vfx/teleport/to
#
#
#
# @within function asset_manager:teleporter/tick/tp/move

playsound entity.enderman.teleport player @a ~ ~ ~
particle portal ~ ~1 ~ 0 0 0 1 150 force @a[distance=..15]


text:
#> asset_manager:teleporter/tick/vfx/teleport/from
#
#
#
# @within function asset_manager:teleporter/tick/tp/move

playsound entity.enderman.teleport player @a ~ ~ ~
particle reverse_portal ~ ~1 ~ 0 0 0 1 150 force @a[distance=..15]


text:
#> asset_manager:artifact/give
#
#
#
# @within function api:artifact/*/from_rarity

#> For calc
# @private
    #declare score_holder $CandidateLength
    #declare score_holder $Argument.Index

# セッション開ける
    function lib:array/session/open
# 該当レアリティのデータを取得
    execute if data storage api: Argument{Rarity:1} run data modify storage lib: Array set from storage asset:artifact RarityRegistry[1]
    execute if data storage api: Argument{Rarity:2} run data modify storage lib: Array set from storage asset:artifact RarityRegistry[2]
    execute if data storage api: Argument{Rarity:3} run data modify storage lib: Array set from storage asset:artifact RarityRegistry[3]
    execute if data storage api: Argument{Rarity:4} run data modify storage lib: Array set from storage asset:artifact RarityRegistry[4]
# データサイズを取得
    execute store result score $CandidateLength Temporary if data storage lib: Array[]
# 対象Indexを決定
    execute store result score $Argument.Index Lib run function lib:random/
    scoreboard players operation $Argument.Index Lib %= $CandidateLength Temporary
# 候補データを操作して対象Indexを-1に持ってくる
    function lib:array/move
# asset:context idがある場合は退避
    function asset_manager:common/context_id/stash
# 取得してそのまま引数に代入
    data modify storage asset:context id set from storage lib: Array[-1]
# 呼び出し
    function #asset:artifact/give
# asset:context idを戻す
    function asset_manager:common/context_id/pop
# リセット
    function lib:array/session/close
    scoreboard players reset $CandidateLength Temporary
    data remove storage lib: Array


text:
#> asset_manager:artifact/load
#
#
#
# @within function core:load

# 定義データを吹き飛ばす
    data modify storage asset:artifact RarityRegistry set value [["UNUSED"], [], [], [], []]
# 読み込み
    function #asset:artifact/register


text:
#> asset_manager:artifact/_index.d
# @private

#> storage
# @within *
#   asset_manager:artifact/**
#   asset:artifact/*/register
#   asset:artifact/*/give/2.give
#   asset:artifact/*/trigger/2.check_condition
#   asset:artifact/*/trigger/3.main
#   asset:artifact/common/**
    #declare storage asset:artifact

#> 特殊クールダウン
# @within function
#   asset_manager:artifact/check/check_special_cooldown
#   asset_manager:artifact/use/
#   asset_manager:artifact/tick/
#   core:tick/
    #declare score_holder $ArtifactSpecialCooldown

#> Trigger検知用
# @within function
#   asset_manager:artifact/triggers/**
#   api:damage/core/trigger_on_**
#   core:handler/**
    #declare tag TriggerFlag.Rejoin
    #declare tag TriggerFlag.Attack
    #declare tag TriggerFlag.ClickCarrot
    #declare tag TriggerFlag.UseItem
    #declare tag TriggerFlag.Damage
    #declare tag TriggerFlag.Killed
    #declare tag TriggerFlag.Sneak
    #declare tag TriggerFlag.UsingItem

#> check用の失敗フラグ
# @within function
#   asset_manager:artifact/check/**
    #declare tag CheckFailed

#> スニークの閾値用スコアホルダー
# @within function asset_manager:artifact/triggers/sneak/*
    #declare score_holder $SneakThreshold

#> use_itemの誤検知対策タグ
# @within function
#   core:handler/drop
#   asset_manager:artifact/triggers/use_item/check_item_drop
    #declare tag StrictCheckMainhand

#> 神器側にさらすタグ
# @within *
#   asset_manager:artifact/triggers/**
#   asset:artifact/**
    #declare tag Attacker
    #declare tag Victim
    #declare tag Equip
    #declare tag DisEquip

#> セレクターテンプレート
# @within * asset:artifact/**
    #alias entity selectorTemplate @e[type=#lib:living,type=!player,tag=!Uninterferable,distance=..n]

#> クールダウン表示用
# @within function asset_manager:artifact/cooldown/**
    #declare score_holder $Cooldown
    #declare score_holder $Value
    #declare score_holder $NormalizedValue
    #declare score_holder $Max

#> リセット用
# @within function asset_manager:artifact/triggers/equipments/update_cooldown/*
    #declare score_holder $Tick
    #declare score_holder $LatestUsedTick


text:
#> asset_manager:artifact/use/remove_mp
#
# MPを減少させます
#
# @input
#   as player
#   storage asset:artifact TargetItems : ItemData
# @within function asset_manager:artifact/use/

#> val
# @private
    #declare score_holder $Fluctuation
    #declare score_holder $Length

# 取得
    execute store result score $Fluctuation Lib run data get storage asset:artifact TargetItems[0].tag.TSB.MPCost
# アイテム数だけ増やす
    # execute store result score $Length Temporary if data storage asset:artifact TargetItems[]
    # scoreboard players operation $Fluctuation Lib *= $Length Temporary
# 反転して減算
    scoreboard players operation $Fluctuation Lib *= $-1 Const
    data modify storage lib: Argument.DisableLog set value true
    function lib:mp/fluctuation
# リセット
    scoreboard players reset $Length Temporary


text:
#> asset_manager:artifact/use/item/break
#
# アイテムを破壊します
#
# @within function asset_manager:artifact/use/item/has_remain

# 音
    playsound entity.item.break player @a
# そのスロットを消し飛ばす
    execute if data storage asset:artifact {TargetDefaultSlot:"mainhand"} run data modify storage api: SelectedItemSlot set from storage asset:context SelectedItemSlot
    execute if data storage asset:artifact {TargetDefaultSlot:"mainhand"} run function api:inventory/refer_selected_item_slot/replace_air
    execute if data storage asset:artifact {TargetDefaultSlot:"offhand"} run item replace entity @s weapon.offhand with air
    execute if data storage asset:artifact {TargetDefaultSlot:"feet"} run item replace entity @s armor.feet with air
    execute if data storage asset:artifact {TargetDefaultSlot:"legs"} run item replace entity @s armor.legs with air
    execute if data storage asset:artifact {TargetDefaultSlot:"chest"} run item replace entity @s armor.chest with air
    execute if data storage asset:artifact {TargetDefaultSlot:"head"} run item replace entity @s armor.head with air
    execute if data storage asset:artifact {TargetDefaultSlot:"hotbar"} store result storage api: SelectedItemSlot int 1 run data get storage asset:artifact TargetItems[-1].Slot
    execute if data storage asset:artifact {TargetDefaultSlot:"hotbar"} run function api:inventory/refer_selected_item_slot/replace_air
# current更新
    function asset_manager:artifact/data/current/update/


text:
#> asset_manager:artifact/use/item/has_remain
#
# 耐久値を減少させます
#
# @input
#   as player
#   storage asset:artifact TargetItems : [ItemData]
# @within function
#   asset_manager:artifact/check/
#   asset_manager:artifact/use/item/

#> ScoreHolder
# @private
#declare score_holder $Remain

# 対象スロットの残り使用回数取得
    execute store result score $Remain Temporary run data get storage asset:artifact TargetItems[-1].tag.TSB.RemainingCount
# 減算
    scoreboard players remove $Remain Temporary 1
# アイテム更新処理
    execute store result storage asset:artifact TargetItems[-1].tag.TSB.RemainingCount int 1 run scoreboard players get $Remain Temporary
    execute if score $Remain Temporary matches 1.. run function asset_manager:artifact/use/item/update
# 破壊処理
    execute if score $Remain Temporary matches ..0 run function asset_manager:artifact/use/item/break
# リセット
    scoreboard players reset $Remain Temporary


text:
#> asset_manager:artifact/use/item/update
#
# アイテムを更新します
#
# @within function
#   asset_manager:artifact/use/item/*
#   asset_manager:artifact/use/item/has_remain

# CT設定
    function asset_manager:artifact/use/item/update_local_cooldown/
# データ更新処理
    data modify storage asset:artifact Name set from storage asset:artifact TargetItems[-1].tag.TSB.rawName
    # 残り回数が存在する場合
        execute if data storage asset:artifact TargetItems[-1].tag.TSB.RemainingCount run data modify storage asset:artifact Item set from storage asset:artifact TargetItems[-1]
        execute if data storage asset:artifact TargetItems[-1].tag.TSB.RemainingCount run loot replace block 10000 0 10000 container.0 loot asset_manager:artifact/get_name/has_remain
        execute if data storage asset:artifact TargetItems[-1].tag.TSB.RemainingCount run data remove storage asset:artifact Item
    # 残り回数が存在しない場合
        execute unless data storage asset:artifact TargetItems[-1].tag.TSB.RemainingCount run loot replace block 10000 0 10000 container.0 loot asset_manager:artifact/get_name/
    # スロットをコピーしておく
        data modify storage asset:artifact CopiedSlot set from storage asset:artifact TargetItems[-1].Slot
    # shulker boxでデータを完成させる
        data remove storage asset:artifact TargetItems[-1].tag.display.Name
        data remove storage asset:artifact TargetItems[-1].Slot
        data modify block 10000 0 10000 Items[0] merge from storage asset:artifact TargetItems[-1]
    # storage側データ更新
        data modify storage asset:artifact TargetItems[-1] set from block 10000 0 10000 Items[0]
        execute if data storage asset:artifact CopiedSlot run data modify storage asset:artifact TargetItems[-1].Slot set from storage asset:artifact CopiedSlot
        execute unless data storage asset:artifact CopiedSlot run data remove storage asset:artifact TargetItems[-1].Slot
# 新しい神器で上書きする
    execute if data storage asset:artifact {TargetDefaultSlot:"mainhand"} run data modify storage api: SelectedItemSlot set from storage asset:context SelectedItemSlot
    execute if data storage asset:artifact {TargetDefaultSlot:"mainhand"} run function api:inventory/refer_selected_item_slot/replace_from_shulker_box
    execute if data storage asset:artifact {TargetDefaultSlot:"offhand"} run loot replace entity @s weapon.offhand 1 mine 10000 0 10000 debug_stick
    execute if data storage asset:artifact {TargetDefaultSlot:"feet"} run loot replace entity @s armor.feet 1 mine 10000 0 10000 debug_stick
    execute if data storage asset:artifact {TargetDefaultSlot:"legs"} run loot replace entity @s armor.legs 1 mine 10000 0 10000 debug_stick
    execute if data storage asset:artifact {TargetDefaultSlot:"chest"} run loot replace entity @s armor.chest 1 mine 10000 0 10000 debug_stick
    execute if data storage asset:artifact {TargetDefaultSlot:"head"} run loot replace entity @s armor.head 1 mine 10000 0 10000 debug_stick
    execute if data storage asset:artifact {TargetDefaultSlot:"hotbar"} store result storage api: SelectedItemSlot int 1 run data get storage asset:artifact TargetItems[-1].Slot
    execute if data storage asset:artifact {TargetDefaultSlot:"hotbar"} run function api:inventory/refer_selected_item_slot/replace_from_shulker_box
# current更新
    data modify storage asset:artifact ProcessedItem set from storage asset:artifact TargetItems[-1]
    function asset_manager:artifact/data/current/update/
# リセット
    data remove storage asset:artifact Name
    data remove storage asset:artifact CopiedSlot


text:
#> asset_manager:artifact/use/item/update_local_cooldown/non-hotbar
#
#
#
# @within function asset_manager:artifact/use/item/update_local_cooldown/

execute if data storage asset:artifact {TargetDefaultSlot:"mainhand"} store result storage asset:artifact SpecificTargetSlot byte 1 run data get storage asset:context SelectedItemSlot
execute if data storage asset:artifact {TargetDefaultSlot:"mainhand"} run function asset_manager:artifact/use/item/update_local_cooldown/hotbar
execute if data storage asset:artifact {TargetDefaultSlot:"offhand"} store result storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].LocalCoolDown[0].Value int 1 store result storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].LocalCoolDown[0].Max int 1 run data get storage asset:artifact TargetItems[-1].tag.TSB.LocalCooldown
execute if data storage asset:artifact {TargetDefaultSlot:"feet"} store result storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].LocalCoolDown[1].Value int 1 store result storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].LocalCoolDown[1].Max int 1 run data get storage asset:artifact TargetItems[-1].tag.TSB.LocalCooldown
execute if data storage asset:artifact {TargetDefaultSlot:"legs"} store result storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].LocalCoolDown[2].Value int 1 store result storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].LocalCoolDown[2].Max int 1 run data get storage asset:artifact TargetItems[-1].tag.TSB.LocalCooldown
execute if data storage asset:artifact {TargetDefaultSlot:"chest"} store result storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].LocalCoolDown[3].Value int 1 store result storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].LocalCoolDown[3].Max int 1 run data get storage asset:artifact TargetItems[-1].tag.TSB.LocalCooldown
execute if data storage asset:artifact {TargetDefaultSlot:"head"} store result storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].LocalCoolDown[4].Value int 1 store result storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].LocalCoolDown[4].Max int 1 run data get storage asset:artifact TargetItems[-1].tag.TSB.LocalCooldown


text:
#> asset_manager:artifact/use/item/update_local_cooldown/hotbar
#
#
#
# @within function
#   asset_manager:artifact/use/item/update_local_cooldown/
#   asset_manager:artifact/use/item/update_local_cooldown/non-hotbar

# 設定
    execute if data storage asset:artifact {SpecificTargetSlot:0b} store result storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].LocalCoolDown[05].Value int 1 store result storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].LocalCoolDown[05].Max int 1 run data get storage asset:artifact TargetItems[-1].tag.TSB.LocalCooldown
    execute if data storage asset:artifact {SpecificTargetSlot:1b} store result storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].LocalCoolDown[06].Value int 1 store result storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].LocalCoolDown[06].Max int 1 run data get storage asset:artifact TargetItems[-1].tag.TSB.LocalCooldown
    execute if data storage asset:artifact {SpecificTargetSlot:2b} store result storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].LocalCoolDown[07].Value int 1 store result storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].LocalCoolDown[07].Max int 1 run data get storage asset:artifact TargetItems[-1].tag.TSB.LocalCooldown
    execute if data storage asset:artifact {SpecificTargetSlot:3b} store result storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].LocalCoolDown[08].Value int 1 store result storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].LocalCoolDown[08].Max int 1 run data get storage asset:artifact TargetItems[-1].tag.TSB.LocalCooldown
    execute if data storage asset:artifact {SpecificTargetSlot:4b} store result storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].LocalCoolDown[09].Value int 1 store result storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].LocalCoolDown[09].Max int 1 run data get storage asset:artifact TargetItems[-1].tag.TSB.LocalCooldown
    execute if data storage asset:artifact {SpecificTargetSlot:5b} store result storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].LocalCoolDown[10].Value int 1 store result storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].LocalCoolDown[10].Max int 1 run data get storage asset:artifact TargetItems[-1].tag.TSB.LocalCooldown
    execute if data storage asset:artifact {SpecificTargetSlot:6b} store result storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].LocalCoolDown[11].Value int 1 store result storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].LocalCoolDown[11].Max int 1 run data get storage asset:artifact TargetItems[-1].tag.TSB.LocalCooldown
    execute if data storage asset:artifact {SpecificTargetSlot:7b} store result storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].LocalCoolDown[12].Value int 1 store result storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].LocalCoolDown[12].Max int 1 run data get storage asset:artifact TargetItems[-1].tag.TSB.LocalCooldown
    execute if data storage asset:artifact {SpecificTargetSlot:8b} store result storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].LocalCoolDown[13].Value int 1 store result storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].LocalCoolDown[13].Max int 1 run data get storage asset:artifact TargetItems[-1].tag.TSB.LocalCooldown
# リセット
    data remove storage asset:artifact SpecificTargetSlot


text:
#> asset_manager:artifact/data/old/set_to_current
#
# Oldをcurrentデータにsetします
#
# @within function asset_manager:artifact/triggers/**

# リセット
    function asset_manager:artifact/data/current/reset
# 新しいデータを一つ上の階層に上げる
    data modify storage asset:context id set from storage asset:context Old.id
    data modify storage asset:context Items set from storage asset:context Old.Items
    data modify storage asset:context Inventory set from storage asset:context Old.Inventory
    data modify storage asset:context SelectedItemSlot set from storage asset:context Old.SelectedItemSlot
# autoの処理
    # 初期化
        data modify storage asset:context id.auto set value -1
    # idのputとAutoSlotの設定
        data modify storage asset:context Items.AutoSlot set from storage asset:artifact Argument.AutoSlot
        execute if data storage asset:artifact Argument{AutoSlot:"mainhand"} run data modify storage asset:context id.auto set from storage asset:context id.mainhand
        execute if data storage asset:artifact Argument{AutoSlot:"offhand"} run data modify storage asset:context id.auto set from storage asset:context id.offhand
        execute if data storage asset:artifact Argument{AutoSlot:"feet"} run data modify storage asset:context id.auto set from storage asset:context id.feet
        execute if data storage asset:artifact Argument{AutoSlot:"legs"} run data modify storage asset:context id.auto set from storage asset:context id.legs
        execute if data storage asset:artifact Argument{AutoSlot:"chest"} run data modify storage asset:context id.auto set from storage asset:context id.chest
        execute if data storage asset:artifact Argument{AutoSlot:"head"} run data modify storage asset:context id.auto set from storage asset:context id.head
    # リセット
        data remove storage asset:artifact Argument.AutoSlot


text:
#> asset_manager:artifact/data/old/revert_from_current
#
# currentデータをOldに格納します
#
# @within function asset_manager:artifact/triggers/**

# 元配列
    function asset_manager:artifact/data/current/equips/init
    data modify storage asset:artifact MaskEquips set from storage asset:artifact Equipments

    data modify storage asset:context id set from storage asset:context Old.id
    function asset_manager:artifact/data/current/equips/init
# idのmerge (-1はトリガー的なトリガー処理による削除なので上書きしない)
    function asset_manager:artifact/data/current/equips/merge
# idの更新
    function asset_manager:artifact/data/current/equips/replace
# 新しいデータを一つ上の階層に上げる
    data modify storage asset:context Old.id set from storage asset:context id
    data modify storage asset:context Old.Items set from storage asset:context Items
    data modify storage asset:context Old.Inventory set from storage asset:context Inventory
    data modify storage asset:context Old.SelectedItemSlot set from storage asset:context SelectedItemSlot
# リセット
    data remove storage asset:artifact MaskEquips
    data remove storage asset:artifact Equipments
    function asset_manager:artifact/data/current/reset


text:
#> asset_manager:artifact/data/old/init
#
# EntityStorageに退避された1tick前のデータをOldに突っ込む
#
# @within function asset_manager:artifact/triggers/

# 初期化
    data remove storage asset:context Old
# EntityStorage呼び出し
    function oh_my_dat:please
# 突っ込む
    data modify storage asset:context Old.Inventory set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].ContextStash.Inventory
    data modify storage asset:context Old.SelectedItemSlot set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].ContextStash.SelectedItemSlot
    data modify storage asset:context Old.Items set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].ContextStash.Items
    data modify storage asset:context Old.id set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].ContextStash.id
# EntityStorageから削除
    data remove storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].ContextStash


text:
#> asset_manager:artifact/data/current/get
#
# TargetSlotを元にプレイヤーのデータを取得する
#
# @input
#   as player
#   storage asset:artifact TargetSlot : Slot
# @output storage asset:artifact
#   Item : [ItemData]
#   TargetDefaultSlot : Slot
# @within function
#   asset_manager:artifact/check/
#   asset_manager:artifact/use/

# autoで無い場合はそのままDefaultSlotに突っ込む
    execute unless data storage asset:artifact {TargetSlot:"auto"} run data modify storage asset:artifact TargetDefaultSlot set from storage asset:artifact TargetSlot
# autoの場合の処理
    execute if data storage asset:artifact {TargetSlot:"auto"} run data modify storage asset:artifact TargetDefaultSlot set from storage asset:context Items.AutoSlot
    execute if data storage asset:artifact {TargetSlot:"auto"} unless data storage asset:context Items.AutoSlot run tellraw @a [{"storage":"global","nbt":"Prefix.ERROR"},{"text":"autoはこのトリガーでは実行できません","color":"white"}]
    execute if data storage asset:artifact {TargetSlot:"auto"} unless data storage asset:context Items.AutoSlot run data modify storage asset:artifact TargetDefaultSlot set value 'mainhand'

# 取得
    execute if data storage asset:artifact {TargetDefaultSlot:"mainhand"} run data modify storage asset:artifact TargetItems append from storage asset:context Items.mainhand
    execute if data storage asset:artifact {TargetDefaultSlot:"offhand"} run data modify storage asset:artifact TargetItems append from storage asset:context Items.offhand
    execute if data storage asset:artifact {TargetDefaultSlot:"feet"} run data modify storage asset:artifact TargetItems append from storage asset:context Items.feet
    execute if data storage asset:artifact {TargetDefaultSlot:"legs"} run data modify storage asset:artifact TargetItems append from storage asset:context Items.legs
    execute if data storage asset:artifact {TargetDefaultSlot:"chest"} run data modify storage asset:artifact TargetItems append from storage asset:context Items.chest
    execute if data storage asset:artifact {TargetDefaultSlot:"head"} run data modify storage asset:artifact TargetItems append from storage asset:context Items.head

    execute if data storage asset:artifact {TargetDefaultSlot:"hotbar"} run data modify storage asset:artifact HotbarItems set from storage asset:context Items.hotbar
    execute if data storage asset:artifact {TargetDefaultSlot:"hotbar"} run function asset_manager:artifact/data/current/filter
    execute if data storage asset:artifact {TargetDefaultSlot:"hotbar"} run data remove storage asset:artifact HotbarItems


text:
#> asset_manager:artifact/data/current/filter
#
#
#
# @within function
#   asset_manager:artifact/data/current/get
#   asset_manager:artifact/data/current/filter

#> Private
# @private
#declare score_holder $nonIDEquals

# 比較
    data modify storage asset:artifact Temp set from storage asset:artifact TargetID
    execute store success score $nonIDEquals Temporary run data modify storage asset:artifact Temp set from storage asset:artifact HotbarItems[-1].tag.TSB.ID
# 一致してたら追加
    execute if score $nonIDEquals Temporary matches 0 run data modify storage asset:artifact TargetItems append from storage asset:artifact HotbarItems[-1]
# リセット
    scoreboard players reset $nonIDEquals Temporary
    data remove storage asset:artifact Temp
    data remove storage asset:artifact HotbarItems[-1]
# 要素が残ってたら再帰
    execute if data storage asset:artifact HotbarItems[0] run function asset_manager:artifact/data/current/filter


text:
#> asset_manager:artifact/data/current/reset
#
# currentデータをリセットします
#
# @within function
#   asset_manager:artifact/data/*/*_current
#   asset_manager:artifact/triggers/

# リセット
    data remove storage asset:context Inventory
    data remove storage asset:context SelectedItemSlot
    data remove storage asset:context Items
    data remove storage asset:context id


text:
#> asset_manager:artifact/data/current/equips/replace
#
#
#
# @within function
#   asset_manager:artifact/data/*/revert_from_current
#   asset_manager:artifact/triggers/equipments/mask_slot/

# 適用
    data modify storage asset:context id.hotbar[8] set from storage asset:artifact NewEquips[0]
    data modify storage asset:context id.hotbar[7] set from storage asset:artifact NewEquips[1]
    data modify storage asset:context id.hotbar[6] set from storage asset:artifact NewEquips[2]
    data modify storage asset:context id.hotbar[5] set from storage asset:artifact NewEquips[3]
    data modify storage asset:context id.hotbar[4] set from storage asset:artifact NewEquips[4]
    data modify storage asset:context id.hotbar[3] set from storage asset:artifact NewEquips[5]
    data modify storage asset:context id.hotbar[2] set from storage asset:artifact NewEquips[6]
    data modify storage asset:context id.hotbar[1] set from storage asset:artifact NewEquips[7]
    data modify storage asset:context id.hotbar[0] set from storage asset:artifact NewEquips[8]
    data modify storage asset:context id.head set from storage asset:artifact NewEquips[9]
    data modify storage asset:context id.chest set from storage asset:artifact NewEquips[10]
    data modify storage asset:context id.legs set from storage asset:artifact NewEquips[11]
    data modify storage asset:context id.feet set from storage asset:artifact NewEquips[12]
    data modify storage asset:context id.offhand set from storage asset:artifact NewEquips[13]
    data modify storage asset:context id.mainhand set from storage asset:artifact NewEquips[14]
# リセット
    data remove storage asset:artifact NewEquips


text:
#> asset_manager:artifact/data/current/equips/merge
#
# Equipments <- MaskEquips
#
# @within function
#   asset_manager:artifact/data/*/revert_from_current
#   asset_manager:artifact/data/current/equips/merge

# そのまま扱えないので取得
    execute store result storage asset:artifact LatestMaskEquipID int 1 run data get storage asset:artifact MaskEquips[-1]
# 末尾要素に応じて追加するものを変える
    execute if data storage asset:artifact {LatestMaskEquipID:-1} run data modify storage asset:artifact NewEquips append from storage asset:artifact Equipments[-1]
    execute unless data storage asset:artifact {LatestMaskEquipID:-1} run data modify storage asset:artifact NewEquips append from storage asset:artifact MaskEquips[-1]
# 末尾削除
    data remove storage asset:artifact MaskEquips[-1]
    data remove storage asset:artifact Equipments[-1]
# 要素がまだあるなら再帰
    execute if data storage asset:artifact MaskEquips[0] if data storage asset:artifact Equipments[0] run function asset_manager:artifact/data/current/equips/merge


text:
#> asset_manager:artifact/data/current/equips/init
#
#
#
# @within function
#   asset_manager:artifact/data/*/revert_from_current
#   asset_manager:artifact/triggers/equipments/mask_slot/

# 初期化
    data modify storage asset:artifact Equipments set value []
# 適用
    data modify storage asset:artifact Equipments append from storage asset:context id.mainhand
    data modify storage asset:artifact Equipments append from storage asset:context id.offhand
    data modify storage asset:artifact Equipments append from storage asset:context id.feet
    data modify storage asset:artifact Equipments append from storage asset:context id.legs
    data modify storage asset:artifact Equipments append from storage asset:context id.chest
    data modify storage asset:artifact Equipments append from storage asset:context id.head
    data modify storage asset:artifact Equipments append from storage asset:context id.hotbar[]


text:
#> asset_manager:artifact/data/current/update/when_modified/non-hotbar
#
# Itemが存在するときの更新処理
#
# @within function asset_manager:artifact/data/current/update/

execute if data storage asset:artifact {TargetDefaultSlot:"mainhand"} run data modify storage asset:context Items.mainhand set from storage asset:artifact ProcessedItem
execute if data storage asset:artifact {TargetDefaultSlot:"mainhand"} run function asset_manager:artifact/data/current/update/when_modified/hotbar
execute if data storage asset:artifact {TargetDefaultSlot:"offhand"} run data modify storage asset:context Items.offhand set from storage asset:artifact ProcessedItem
execute if data storage asset:artifact {TargetDefaultSlot:"feet"} run data modify storage asset:context Items.feet set from storage asset:artifact ProcessedItem
execute if data storage asset:artifact {TargetDefaultSlot:"legs"} run data modify storage asset:context Items.legs set from storage asset:artifact ProcessedItem
execute if data storage asset:artifact {TargetDefaultSlot:"chest"} run data modify storage asset:context Items.chest set from storage asset:artifact ProcessedItem
execute if data storage asset:artifact {TargetDefaultSlot:"head"} run data modify storage asset:context Items.head set from storage asset:artifact ProcessedItem


text:
#> asset_manager:artifact/data/current/update/when_modified/hotbar
#
#
#
# @within function
#   asset_manager:artifact/data/current/update/
#   asset_manager:artifact/data/current/update/when_modified/non-hotbar

# 設定
    execute if data storage asset:artifact {SpecificTargetSlot:0b} run data modify storage asset:context Items.hotbar[{Slot:0b}] set from storage asset:artifact ProcessedItem
    execute if data storage asset:artifact {SpecificTargetSlot:1b} run data modify storage asset:context Items.hotbar[{Slot:1b}] set from storage asset:artifact ProcessedItem
    execute if data storage asset:artifact {SpecificTargetSlot:2b} run data modify storage asset:context Items.hotbar[{Slot:2b}] set from storage asset:artifact ProcessedItem
    execute if data storage asset:artifact {SpecificTargetSlot:3b} run data modify storage asset:context Items.hotbar[{Slot:3b}] set from storage asset:artifact ProcessedItem
    execute if data storage asset:artifact {SpecificTargetSlot:4b} run data modify storage asset:context Items.hotbar[{Slot:4b}] set from storage asset:artifact ProcessedItem
    execute if data storage asset:artifact {SpecificTargetSlot:5b} run data modify storage asset:context Items.hotbar[{Slot:5b}] set from storage asset:artifact ProcessedItem
    execute if data storage asset:artifact {SpecificTargetSlot:6b} run data modify storage asset:context Items.hotbar[{Slot:6b}] set from storage asset:artifact ProcessedItem
    execute if data storage asset:artifact {SpecificTargetSlot:7b} run data modify storage asset:context Items.hotbar[{Slot:7b}] set from storage asset:artifact ProcessedItem
    execute if data storage asset:artifact {SpecificTargetSlot:8b} run data modify storage asset:context Items.hotbar[{Slot:8b}] set from storage asset:artifact ProcessedItem
# リセット
    data remove storage asset:artifact SpecificTargetSlot


text:
#> asset_manager:artifact/data/current/update/when_removed/non-hotbar
#
# Itemが削除されたときの更新処理
#
# @within function asset_manager:artifact/data/current/update/

execute if data storage asset:artifact {TargetSlot:"auto"} run data modify storage asset:context id.auto set value -2
execute if data storage asset:artifact {TargetSlot:"auto"} run data modify storage asset:context id.all.auto set value -2

execute if data storage asset:artifact {TargetDefaultSlot:"mainhand"} run data modify storage asset:context Items.mainhand set value {tag:{TSB:{ID:-2,UUID:-2,LocalCooldown:0}}}
execute if data storage asset:artifact {TargetDefaultSlot:"mainhand"} run data modify storage asset:context id.mainhand set value -2
execute if data storage asset:artifact {TargetDefaultSlot:"mainhand"} run data modify storage asset:context id.all.mainhand set value -2
execute if data storage asset:artifact {TargetDefaultSlot:"mainhand"} run function asset_manager:artifact/data/current/update/when_removed/hotbar

execute if data storage asset:artifact {TargetDefaultSlot:"offhand"} run data modify storage asset:context Items.offhand set value {tag:{TSB:{ID:-2,UUID:-2,LocalCooldown:0}}}
execute if data storage asset:artifact {TargetDefaultSlot:"offhand"} run data modify storage asset:context id.offhand set value -2
execute if data storage asset:artifact {TargetDefaultSlot:"offhand"} run data modify storage asset:context id.all.offhand set value -2

execute if data storage asset:artifact {TargetDefaultSlot:"feet"} run data modify storage asset:context Items.feet set value {tag:{TSB:{ID:-2,UUID:-2,LocalCooldown:0}}}
execute if data storage asset:artifact {TargetDefaultSlot:"feet"} run data modify storage asset:context id.feet set value -2
execute if data storage asset:artifact {TargetDefaultSlot:"feet"} run data modify storage asset:context id.all.feet set value -2

execute if data storage asset:artifact {TargetDefaultSlot:"legs"} run data modify storage asset:context Items.legs set value {tag:{TSB:{ID:-2,UUID:-2,LocalCooldown:0}}}
execute if data storage asset:artifact {TargetDefaultSlot:"legs"} run data modify storage asset:context id.legs set value -2
execute if data storage asset:artifact {TargetDefaultSlot:"legs"} run data modify storage asset:context id.all.legs set value -2

execute if data storage asset:artifact {TargetDefaultSlot:"chest"} run data modify storage asset:context Items.chest set value {tag:{TSB:{ID:-2,UUID:-2,LocalCooldown:0}}}
execute if data storage asset:artifact {TargetDefaultSlot:"chest"} run data modify storage asset:context id.chest set value -2
execute if data storage asset:artifact {TargetDefaultSlot:"chest"} run data modify storage asset:context id.all.chest set value -2

execute if data storage asset:artifact {TargetDefaultSlot:"head"} run data modify storage asset:context Items.head set value {tag:{TSB:{ID:-2,UUID:-2,LocalCooldown:0}}}
execute if data storage asset:artifact {TargetDefaultSlot:"head"} run data modify storage asset:context id.head set value -2
execute if data storage asset:artifact {TargetDefaultSlot:"head"} run data modify storage asset:context id.all.head set value -2


text:
#> asset_manager:artifact/data/current/update/when_removed/hotbar
#
#
#
# @within function
#   asset_manager:artifact/data/current/update/
#   asset_manager:artifact/data/current/update/when_removed/non-hotbar

execute if data storage asset:artifact {SpecificTargetSlot:0b} run data modify storage asset:context Items.hotbar[0] set value {tag:{TSB:{ID:-2,UUID:-2,LocalCooldown:0}}}
execute if data storage asset:artifact {SpecificTargetSlot:0b} run data modify storage asset:context id.hotbar[0] set value -2
execute if data storage asset:artifact {SpecificTargetSlot:0b} run data modify storage asset:context id.all.hotbar[0] set value -2

execute if data storage asset:artifact {SpecificTargetSlot:1b} run data modify storage asset:context Items.hotbar[1] set value {tag:{TSB:{ID:-2,UUID:-2,LocalCooldown:0}}}
execute if data storage asset:artifact {SpecificTargetSlot:1b} run data modify storage asset:context id.hotbar[1] set value -2
execute if data storage asset:artifact {SpecificTargetSlot:1b} run data modify storage asset:context id.all.hotbar[1] set value -2

execute if data storage asset:artifact {SpecificTargetSlot:2b} run data modify storage asset:context Items.hotbar[2] set value {tag:{TSB:{ID:-2,UUID:-2,LocalCooldown:0}}}
execute if data storage asset:artifact {SpecificTargetSlot:2b} run data modify storage asset:context id.hotbar[2] set value -2
execute if data storage asset:artifact {SpecificTargetSlot:2b} run data modify storage asset:context id.all.hotbar[2] set value -2

execute if data storage asset:artifact {SpecificTargetSlot:3b} run data modify storage asset:context Items.hotbar[3] set value {tag:{TSB:{ID:-2,UUID:-2,LocalCooldown:0}}}
execute if data storage asset:artifact {SpecificTargetSlot:3b} run data modify storage asset:context id.hotbar[3] set value -2
execute if data storage asset:artifact {SpecificTargetSlot:3b} run data modify storage asset:context id.all.hotbar[3] set value -2

execute if data storage asset:artifact {SpecificTargetSlot:4b} run data modify storage asset:context Items.hotbar[4] set value {tag:{TSB:{ID:-2,UUID:-2,LocalCooldown:0}}}
execute if data storage asset:artifact {SpecificTargetSlot:4b} run data modify storage asset:context id.hotbar[4] set value -2
execute if data storage asset:artifact {SpecificTargetSlot:4b} run data modify storage asset:context id.all.hotbar[4] set value -2

execute if data storage asset:artifact {SpecificTargetSlot:5b} run data modify storage asset:context Items.hotbar[5] set value {tag:{TSB:{ID:-2,UUID:-2,LocalCooldown:0}}}
execute if data storage asset:artifact {SpecificTargetSlot:5b} run data modify storage asset:context id.hotbar[5] set value -2
execute if data storage asset:artifact {SpecificTargetSlot:5b} run data modify storage asset:context id.all.hotbar[5] set value -2

execute if data storage asset:artifact {SpecificTargetSlot:6b} run data modify storage asset:context Items.hotbar[6] set value {tag:{TSB:{ID:-2,UUID:-2,LocalCooldown:0}}}
execute if data storage asset:artifact {SpecificTargetSlot:6b} run data modify storage asset:context id.hotbar[6] set value -2
execute if data storage asset:artifact {SpecificTargetSlot:6b} run data modify storage asset:context id.all.hotbar[6] set value -2

execute if data storage asset:artifact {SpecificTargetSlot:7b} run data modify storage asset:context Items.hotbar[7] set value {tag:{TSB:{ID:-2,UUID:-2,LocalCooldown:0}}}
execute if data storage asset:artifact {SpecificTargetSlot:7b} run data modify storage asset:context id.hotbar[7] set value -2
execute if data storage asset:artifact {SpecificTargetSlot:7b} run data modify storage asset:context id.all.hotbar[7] set value -2

execute if data storage asset:artifact {SpecificTargetSlot:8b} run data modify storage asset:context Items.hotbar[8] set value {tag:{TSB:{ID:-2,UUID:-2,LocalCooldown:0}}}
execute if data storage asset:artifact {SpecificTargetSlot:8b} run data modify storage asset:context id.hotbar[8] set value -2
execute if data storage asset:artifact {SpecificTargetSlot:8b} run data modify storage asset:context id.all.hotbar[8] set value -2

data remove storage asset:artifact SpecificTargetSlot


text:
#> asset_manager:artifact/data/new/set_to_current
#
# Newをcurrentデータにsetします
#
# @within function asset_manager:artifact/triggers/**

# リセット
    function asset_manager:artifact/data/current/reset
# 新しいデータを一つ上の階層に上げる
    data modify storage asset:context id set from storage asset:context New.id
    data modify storage asset:context Items set from storage asset:context New.Items
    data modify storage asset:context Inventory set from storage asset:context New.Inventory
    data modify storage asset:context SelectedItemSlot set from storage asset:context New.SelectedItemSlot
# autoの処理
    # 初期化
        data modify storage asset:context id.auto set value -1
    # idのputとAutoSlotの設定
        data modify storage asset:context Items.AutoSlot set from storage asset:artifact Argument.AutoSlot
        execute if data storage asset:artifact Argument{AutoSlot:"mainhand"} run data modify storage asset:context id.auto set from storage asset:context id.mainhand
        execute if data storage asset:artifact Argument{AutoSlot:"offhand"} run data modify storage asset:context id.auto set from storage asset:context id.offhand
        execute if data storage asset:artifact Argument{AutoSlot:"feet"} run data modify storage asset:context id.auto set from storage asset:context id.feet
        execute if data storage asset:artifact Argument{AutoSlot:"legs"} run data modify storage asset:context id.auto set from storage asset:context id.legs
        execute if data storage asset:artifact Argument{AutoSlot:"chest"} run data modify storage asset:context id.auto set from storage asset:context id.chest
        execute if data storage asset:artifact Argument{AutoSlot:"head"} run data modify storage asset:context id.auto set from storage asset:context id.head
    # リセット
        data remove storage asset:artifact Argument.AutoSlot


text:
#> asset_manager:artifact/data/new/revert_from_current
#
# currentデータをNewに格納します
#
# @within function asset_manager:artifact/triggers/**

# 元配列
    function asset_manager:artifact/data/current/equips/init
    data modify storage asset:artifact MaskEquips set from storage asset:artifact Equipments

    data modify storage asset:context id set from storage asset:context New.id
    function asset_manager:artifact/data/current/equips/init
# idのmerge (-1はトリガー的なトリガー処理による削除なので上書きしない)
    function asset_manager:artifact/data/current/equips/merge
# idの更新
    function asset_manager:artifact/data/current/equips/replace
# 新しいデータを一つ上の階層に上げる
    data modify storage asset:context New.id set from storage asset:context id
    data modify storage asset:context New.Items set from storage asset:context Items
    data modify storage asset:context New.Inventory set from storage asset:context Inventory
    data modify storage asset:context New.SelectedItemSlot set from storage asset:context SelectedItemSlot
# リセット
    data remove storage asset:artifact MaskEquips
    data remove storage asset:artifact Equipments
    function asset_manager:artifact/data/current/reset


text:
#> asset_manager:artifact/data/new/stash_to_entity_storage
#
# NewをEntityStorageに退避させる
#
# @within function asset_manager:artifact/triggers/

# EntityStorage呼び出し
    function oh_my_dat:please
# 突っ込む
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].ContextStash.Inventory set from storage asset:context New.Inventory
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].ContextStash.SelectedItemSlot set from storage asset:context New.SelectedItemSlot
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].ContextStash.Items set from storage asset:context New.Items
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].ContextStash.id set from storage asset:context New.id


text:
#> asset_manager:artifact/data/new/init
#
# プレイヤーデータから新しいcontextを生成してNewに突っ込む
#
# @within asset_manager:artifact/triggers/

# 初期化
    data remove storage asset:context New
# Inventory
    function api:data_get/inventory
    data modify storage asset:context New.Inventory set from storage api: Inventory
# SelectedItemSlot
    function api:data_get/selected_item_slot
    data modify storage asset:context New.SelectedItemSlot set from storage api: SelectedItemSlot
# Items
    function api:data_get/selected_item
    data modify storage asset:context New.Items.mainhand set from storage api: SelectedItem
    data modify storage asset:context New.Items.offhand set from storage asset:context New.Inventory[{Slot:-106b}]
    data modify storage asset:context New.Items.feet set from storage asset:context New.Inventory[{Slot:100b}]
    data modify storage asset:context New.Items.legs set from storage asset:context New.Inventory[{Slot:101b}]
    data modify storage asset:context New.Items.chest set from storage asset:context New.Inventory[{Slot:102b}]
    data modify storage asset:context New.Items.head set from storage asset:context New.Inventory[{Slot:103b}]

    execute if data storage asset:context New.Inventory[{Slot:0b}] run data modify storage asset:context New.Items.hotbar append from storage asset:context New.Inventory[{Slot:0b}]
    execute unless data storage asset:context New.Inventory[{Slot:0b}] run data modify storage asset:context New.Items.hotbar append value {id:"none",Slot:0b}
    execute if data storage asset:context New.Inventory[{Slot:1b}] run data modify storage asset:context New.Items.hotbar append from storage asset:context New.Inventory[{Slot:1b}]
    execute unless data storage asset:context New.Inventory[{Slot:1b}] run data modify storage asset:context New.Items.hotbar append value {id:"none",Slot:1b}
    execute if data storage asset:context New.Inventory[{Slot:2b}] run data modify storage asset:context New.Items.hotbar append from storage asset:context New.Inventory[{Slot:2b}]
    execute unless data storage asset:context New.Inventory[{Slot:2b}] run data modify storage asset:context New.Items.hotbar append value {id:"none",Slot:2b}
    execute if data storage asset:context New.Inventory[{Slot:3b}] run data modify storage asset:context New.Items.hotbar append from storage asset:context New.Inventory[{Slot:3b}]
    execute unless data storage asset:context New.Inventory[{Slot:3b}] run data modify storage asset:context New.Items.hotbar append value {id:"none",Slot:3b}
    execute if data storage asset:context New.Inventory[{Slot:4b}] run data modify storage asset:context New.Items.hotbar append from storage asset:context New.Inventory[{Slot:4b}]
    execute unless data storage asset:context New.Inventory[{Slot:4b}] run data modify storage asset:context New.Items.hotbar append value {id:"none",Slot:4b}
    execute if data storage asset:context New.Inventory[{Slot:5b}] run data modify storage asset:context New.Items.hotbar append from storage asset:context New.Inventory[{Slot:5b}]
    execute unless data storage asset:context New.Inventory[{Slot:5b}] run data modify storage asset:context New.Items.hotbar append value {id:"none",Slot:5b}
    execute if data storage asset:context New.Inventory[{Slot:6b}] run data modify storage asset:context New.Items.hotbar append from storage asset:context New.Inventory[{Slot:6b}]
    execute unless data storage asset:context New.Inventory[{Slot:6b}] run data modify storage asset:context New.Items.hotbar append value {id:"none",Slot:6b}
    execute if data storage asset:context New.Inventory[{Slot:7b}] run data modify storage asset:context New.Items.hotbar append from storage asset:context New.Inventory[{Slot:7b}]
    execute unless data storage asset:context New.Inventory[{Slot:7b}] run data modify storage asset:context New.Items.hotbar append value {id:"none",Slot:7b}
    execute if data storage asset:context New.Inventory[{Slot:8b}] run data modify storage asset:context New.Items.hotbar append from storage asset:context New.Inventory[{Slot:8b}]
    execute unless data storage asset:context New.Inventory[{Slot:8b}] run data modify storage asset:context New.Items.hotbar append value {id:"none",Slot:8b}
# NullCheck
    execute unless data storage asset:context New.Items.mainhand run data modify storage asset:context New.Items.mainhand set value {}
    execute unless data storage asset:context New.Items.offhand run data modify storage asset:context New.Items.offhand set value {}
    execute unless data storage asset:context New.Items.feet run data modify storage asset:context New.Items.feet set value {}
    execute unless data storage asset:context New.Items.legs run data modify storage asset:context New.Items.legs set value {}
    execute unless data storage asset:context New.Items.chest run data modify storage asset:context New.Items.chest set value {}
    execute unless data storage asset:context New.Items.head run data modify storage asset:context New.Items.head set value {}
# 非TSBアイテムのNullCheck
    execute unless data storage asset:context New.Items.mainhand.tag.TSB.ID run data modify storage asset:context New.Items.mainhand.tag.TSB set value {ID:-2,UUID:-2,LocalCooldown:0}
    execute unless data storage asset:context New.Items.offhand.tag.TSB.ID run data modify storage asset:context New.Items.offhand.tag.TSB set value {ID:-2,UUID:-2,LocalCooldown:0}
    execute unless data storage asset:context New.Items.feet.tag.TSB.ID run data modify storage asset:context New.Items.feet.tag.TSB set value {ID:-2,UUID:-2,LocalCooldown:0}
    execute unless data storage asset:context New.Items.legs.tag.TSB.ID run data modify storage asset:context New.Items.legs.tag.TSB set value {ID:-2,UUID:-2,LocalCooldown:0}
    execute unless data storage asset:context New.Items.chest.tag.TSB.ID run data modify storage asset:context New.Items.chest.tag.TSB set value {ID:-2,UUID:-2,LocalCooldown:0}
    execute unless data storage asset:context New.Items.head.tag.TSB.ID run data modify storage asset:context New.Items.head.tag.TSB set value {ID:-2,UUID:-2,LocalCooldown:0}
    execute unless data storage asset:context New.Items.hotbar[0].tag.TSB.ID run data modify storage asset:context New.Items.hotbar[0].tag.TSB set value {ID:-2,UUID:-2,LocalCooldown:0}
    execute unless data storage asset:context New.Items.hotbar[1].tag.TSB.ID run data modify storage asset:context New.Items.hotbar[1].tag.TSB set value {ID:-2,UUID:-2,LocalCooldown:0}
    execute unless data storage asset:context New.Items.hotbar[2].tag.TSB.ID run data modify storage asset:context New.Items.hotbar[2].tag.TSB set value {ID:-2,UUID:-2,LocalCooldown:0}
    execute unless data storage asset:context New.Items.hotbar[3].tag.TSB.ID run data modify storage asset:context New.Items.hotbar[3].tag.TSB set value {ID:-2,UUID:-2,LocalCooldown:0}
    execute unless data storage asset:context New.Items.hotbar[4].tag.TSB.ID run data modify storage asset:context New.Items.hotbar[4].tag.TSB set value {ID:-2,UUID:-2,LocalCooldown:0}
    execute unless data storage asset:context New.Items.hotbar[5].tag.TSB.ID run data modify storage asset:context New.Items.hotbar[5].tag.TSB set value {ID:-2,UUID:-2,LocalCooldown:0}
    execute unless data storage asset:context New.Items.hotbar[6].tag.TSB.ID run data modify storage asset:context New.Items.hotbar[6].tag.TSB set value {ID:-2,UUID:-2,LocalCooldown:0}
    execute unless data storage asset:context New.Items.hotbar[7].tag.TSB.ID run data modify storage asset:context New.Items.hotbar[7].tag.TSB set value {ID:-2,UUID:-2,LocalCooldown:0}
    execute unless data storage asset:context New.Items.hotbar[8].tag.TSB.ID run data modify storage asset:context New.Items.hotbar[8].tag.TSB set value {ID:-2,UUID:-2,LocalCooldown:0}
# id
    data modify storage asset:context New.id.mainhand set from storage asset:context New.Items.mainhand.tag.TSB.ID
    data modify storage asset:context New.id.offhand set from storage asset:context New.Items.offhand.tag.TSB.ID
    data modify storage asset:context New.id.feet set from storage asset:context New.Items.feet.tag.TSB.ID
    data modify storage asset:context New.id.legs set from storage asset:context New.Items.legs.tag.TSB.ID
    data modify storage asset:context New.id.chest set from storage asset:context New.Items.chest.tag.TSB.ID
    data modify storage asset:context New.id.head set from storage asset:context New.Items.head.tag.TSB.ID
    data modify storage asset:context New.id.hotbar append from storage asset:context New.Items.hotbar[].tag.TSB.ID


text:
#> asset_manager:artifact/check/check_believe
#
# 信仰をチェックします
#
# @within function asset_manager:artifact/check/

# タグの事前付与
    tag @s add CheckFailed
# チェックに成功してたらタグを外す
    execute if data storage asset:artifact TargetItems[0].tag.TSB{CanUsedGod:["Flora"]} if predicate player_manager:is_believe/flora run tag @s remove CheckFailed
    execute if data storage asset:artifact TargetItems[0].tag.TSB{CanUsedGod:["Nyaptov"]} if predicate player_manager:is_believe/nyaptov run tag @s remove CheckFailed
    execute if data storage asset:artifact TargetItems[0].tag.TSB{CanUsedGod:["Rumor"]} if predicate player_manager:is_believe/rumor run tag @s remove CheckFailed
    execute if data storage asset:artifact TargetItems[0].tag.TSB{CanUsedGod:["Urban"]} if predicate player_manager:is_believe/urban run tag @s remove CheckFailed
    execute if data storage asset:artifact TargetItems[0].tag.TSB{CanUsedGod:["Wi-ki"]} if predicate player_manager:is_believe/wi-ki run tag @s remove CheckFailed


text:
#> asset_manager:artifact/check/check_special_cooldown
#
# 特殊クールダウンをチェックします
#
# @within function asset_manager:artifact/check/

# 特殊クールダウンが存在する∧$ArtifactSpecialCooldownが1以上ならタグ付与 // Item.tag.TSB.SpecialCooldown && $ArtifactSpecialCooldown >= 1
    execute if data storage asset:artifact TargetItems[0].tag.TSB.SpecialCooldown if score $ArtifactSpecialCooldown Global matches 1.. run tag @s add CheckFailed


text:
#> asset_manager:artifact/check/check_mp
#
# MP必要量が足りているかをチェックします
#
# @within function asset_manager:artifact/check/

#> Private
# @private
    #declare score_holder $Length

# MP必要量を取得
    execute if data storage asset:artifact TargetItems[0].tag.TSB.MPRequire run data modify storage api: Argument.Threshold set from storage asset:artifact TargetItems[-1].tag.TSB.MPRequire
    execute unless data storage asset:artifact TargetItems[0].tag.TSB.MPRequire run data modify storage api: Argument.Threshold set from storage asset:artifact TargetItems[-1].tag.TSB.MPCost
# アイテム数だけ増やす
    # execute store result score $Length Temporary if data storage asset:artifact TargetItems[]
    # scoreboard players operation $CheckMP Lib *= $Length Temporary
# チェック
    function api:mp/check
# タグ付与
    execute unless data storage api: Return{IsThresholdOrMore:true} run tag @s add CheckFailed
# リセット
    scoreboard players reset $Length Temporary


text:
#> asset_manager:artifact/check/check_local_cooldown/foreach
#
#
#
# @within function asset_manager:artifact/check/check_local_cooldown/*

#> Private
# @private
    #declare score_holder $LatestUsedTick
    #declare score_holder $Cooldown

# 時間を取得
    execute store result score $Tick Temporary run time query gametime
# 最後に使用したtickとLocalCooldownを取得
    execute store result score $LatestUsedTick Temporary run data get storage asset:artifact CopiedItem[-1].tag.TSB.LatestUseTick
    execute store result score $Cooldown Temporary run data get storage asset:artifact CopiedItem[-1].tag.TSB.LocalCooldown
# 減算
    scoreboard players operation $Tick Temporary -= $LatestUsedTick Temporary
# 比較
    execute unless score $Tick Temporary >= $Cooldown Temporary run tag @s add CheckFailed
# 末尾削除
    data remove storage asset:artifact CopiedItem[-1]
# リセット
    scoreboard players reset $Cooldown Temporary
    scoreboard players reset $LatestUsedTick Temporary
    scoreboard players reset $Tick Temporary
# 要素がまだあるなら再帰
    execute if data storage asset:artifact CopiedItem[0] run function asset_manager:artifact/check/check_local_cooldown/foreach


text:
#> asset_manager:artifact/create/set_god
#
# 使用できる神を設定します
#
# @within function asset_manager:artifact/create/set_lore

# ベース文字列
    data modify storage asset:artifact Temp.CanUsedGod set value []
    data modify storage asset:artifact Temp.CanUsedGod append value '{"storage":"global","nbt":"GodIcon.Flora","color":"#333333","interpret":true}'
    data modify storage asset:artifact Temp.CanUsedGod append value '{"storage":"global","nbt":"GodIcon.Urban","color":"#333333","interpret":true}'
    data modify storage asset:artifact Temp.CanUsedGod append value '{"storage":"global","nbt":"GodIcon.Nyaptov","color":"#333333","interpret":true}'
    data modify storage asset:artifact Temp.CanUsedGod append value '{"storage":"global","nbt":"GodIcon.Wi-ki","color":"#333333","interpret":true}'
    data modify storage asset:artifact Temp.CanUsedGod append value '{"storage":"global","nbt":"GodIcon.Rumor","color":"#333333","interpret":true}'
# それぞれ
    execute if data storage asset:artifact {CanUsedGod:["Flora"]} run data modify storage asset:artifact Temp.CanUsedGod[0] set from storage global GodIcon.Flora
    execute if data storage asset:artifact {CanUsedGod:["Urban"]} run data modify storage asset:artifact Temp.CanUsedGod[1] set from storage global GodIcon.Urban
    execute if data storage asset:artifact {CanUsedGod:["Nyaptov"]} run data modify storage asset:artifact Temp.CanUsedGod[2] set from storage global GodIcon.Nyaptov
    execute if data storage asset:artifact {CanUsedGod:["Wi-ki"]} run data modify storage asset:artifact Temp.CanUsedGod[3] set from storage global GodIcon.Wi-ki
    execute if data storage asset:artifact {CanUsedGod:["Rumor"]} run data modify storage asset:artifact Temp.CanUsedGod[4] set from storage global GodIcon.Rumor
# 生成
    loot replace block 10000 0 10000 container.8 loot asset_manager:artifact/generate_lore/god
# リセット
    data remove storage asset:artifact Temp


text:
#> asset_manager:artifact/create/set_attack_info
#
# 攻撃に関する情報をLoreに追加します
#
# @within function asset_manager:artifact/create/set_lore

#> private
# @private
    #declare score_holder $IsList

    # 初期化
        data modify storage asset:artifact Line1 set value ['""','{"text":"???"}','[{"text":"範囲-"},{"text":"不明","color":"gray"}]','""']
        data modify storage asset:artifact Line2 set value ['{"text":"物理 ","color":"dark_gray"}','{"text":"魔法 ","color":"dark_gray"}','{"text":"火 ","color":"dark_gray"}','{"text":"水 ","color":"dark_gray"}','{"text":"雷 ","color":"dark_gray"}','{"text":"無 ","color":"dark_gray"}']

    # Line-1
        # 貫通/非貫通 軽減/非軽減を表示 //未設定-非表示
            execute if data storage asset:artifact {AttackInfo:{BypassResist:1b}} run data modify storage asset:artifact Line1[0] set value '{"text":"[防御無効] "}'

        # ダメージ量を表示 //未設定-???
            # Listかを確認
                execute if data storage asset:artifact AttackInfo.Damage[0] run scoreboard players set $IsList Temporary 1
                execute if data storage asset:artifact {AttackInfo:{Damage:[]}} run scoreboard players set $IsList Temporary 1
            # Literalのとき
                execute unless score $IsList Temporary matches 1.. if data storage asset:artifact AttackInfo.Damage run data modify storage asset:artifact Line1[1] set value '[{"storage":"asset:artifact","nbt":"AttackInfo.Damage"}]'
            # List(要素数1)のとき
                execute if score $IsList Temporary matches 1.. if data storage asset:artifact AttackInfo.Damage[0] run data modify storage asset:artifact Line1[1] set value '[{"storage":"asset:artifact","nbt":"AttackInfo.Damage[0]"}]'
            # List(要素数2)のとき
                execute if score $IsList Temporary matches 1.. if data storage asset:artifact AttackInfo.Damage[1] run data modify storage asset:artifact Line1[1] set value '[{"storage":"asset:artifact","nbt":"AttackInfo.Damage[0]"},{"text":"-"},{"storage":"asset:artifact","nbt":"AttackInfo.Damage[1]"}]'

        # 単体/確率範囲/条件範囲/常時範囲 を表示 //未設定-不明
            execute if data storage asset:artifact {AttackInfo:{IsRangeAttack:never}} run data modify storage asset:artifact Line1[2] set value '[{"text":"単体"}]'
            execute if data storage asset:artifact {AttackInfo:{IsRangeAttack:probability}} run data modify storage asset:artifact Line1[2] set value '[{"text":"範囲-"},{"text":"確率","color":"aqua"}]'
            execute if data storage asset:artifact {AttackInfo:{IsRangeAttack:condition}} run data modify storage asset:artifact Line1[2] set value '[{"text":"範囲-"},{"text":"条件","color":"green"}]'
            execute if data storage asset:artifact {AttackInfo:{IsRangeAttack:every}} run data modify storage asset:artifact Line1[2] set value '[{"text":"範囲-"},{"text":"常時","color":"gold"}]'

        # 攻撃範囲を表示 //未設定-非表示
            execute if data storage asset:artifact AttackInfo.AttackRange run data modify storage asset:artifact Line1[3] set value '[{"text":" 範囲:"},{"storage":"asset:artifact","nbt":"AttackInfo.AttackRange"},{"text":"m"}]'

    # Line-2
        # 物理/魔法を表示 //未設定-物理
            execute if data storage asset:artifact {AttackInfo:{AttackType:[Physical]}} run data modify storage asset:artifact Line2[0] set value '{"text":"物理 ","color":"dark_green"}'
            execute if data storage asset:artifact {AttackInfo:{AttackType:[Magic]}} run data modify storage asset:artifact Line2[1] set value '{"text":"魔法 ","color":"dark_purple"}'

            execute unless data storage asset:artifact AttackInfo.AttackType[0] run data modify storage asset:artifact Line2[0] set value '{"text":"物理 ","color":"dark_green"}'

        # 属性を表示 //未設定-無
            execute if data storage asset:artifact {AttackInfo:{ElementType:[Fire]}} run data modify storage asset:artifact Line2[2] set value '{"text":"火 ","color":"red"}'
            execute if data storage asset:artifact {AttackInfo:{ElementType:[Water]}} run data modify storage asset:artifact Line2[3] set value '{"text":"水 ","color":"aqua"}'
            execute if data storage asset:artifact {AttackInfo:{ElementType:[Thunder]}} run data modify storage asset:artifact Line2[4] set value '{"text":"雷 ","color":"yellow"}'
            execute if data storage asset:artifact {AttackInfo:{ElementType:[None]}} run data modify storage asset:artifact Line2[5] set value '{"text":"無 ","color":"white"}'

            execute unless data storage asset:artifact AttackInfo.ElementType[0] run data modify storage asset:artifact Line2[5] set value '{"text":"無 ","color":"white"}'

    # lootしてLoreに落とし込む
        loot replace block 10000 0 10000 container.2 loot asset_manager:artifact/generate_lore/attack_info

    # リセット
        data remove storage asset:artifact Line1
        data remove storage asset:artifact Line2
        scoreboard players reset $IsList Temporary


text:
#> asset_manager:artifact/create/lore_append
#
# Loreを追加する
#
# @input
#   as item
#   storage asset:artifact Lore : TextComponent[]
# @within function
#   asset_manager:artifact/create/lore_append
#   asset_manager:artifact/create/set_lore

loot replace block 10000 0 10000 container.0 loot asset_manager:artifact/get_lore
data modify storage asset:artifact Item.tag.display.Lore append from block 10000 0 10000 Items[0].tag.display.Lore[0]
data remove storage asset:artifact Lore[0]

execute if data storage asset:artifact Lore[0] run function asset_manager:artifact/create/lore_append