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

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

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

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


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

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

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

repo_name: ProjectTSB/TheSkyBlessing

repo_language: mcfunction

mime_type: text/plain


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

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

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

# 引数の設定
    # UUID
        data modify storage api: Argument.UUID set value [I;1,1,634,4]
    # 補正値
        data modify storage api: Argument.Amount set value 0.03
    # 補正方法
        data modify storage api: Argument.Operation set value "multiply_base"
# 補正の追加
    function api:modifier/defense/thunder/add

#ちょっとした演出
    particle dust 1 1 0 1 ~ ~0.4 ~ 0.4 0.3 0.4 0 6 normal @a
    particle firework ~ ~0.4 ~ 0.4 0.3 0.4 0 6 normal @a
    playsound minecraft:entity.firework_rocket.twinkle player @a ~ ~ ~ 0.4 1.5 0

# 一式効果
    execute if data storage asset:context id.all{head:632,chest:633,legs:634,feet:635} run function asset:artifact/0633.elec_armor/trigger/4.fullset


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

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


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

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

# 演出
    playsound minecraft:entity.firework_rocket.twinkle player @a ~ ~ ~ 0.4 1.1 0

# 一式効果削除
    execute if entity @s[tag=HL.Fullset] run function asset:artifact/0633.elec_armor/trigger/5.fullset_dis_equip


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

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


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

execute if data storage asset:context {id:266} run function asset:artifact/0266.angel_ray_lv.5/give/2.give


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

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

# 神器のID (int) スプレッドシートの値を入れる
    data modify storage asset:artifact ID set value 266
# 神器のベースアイテム
    data modify storage asset:artifact Item set value "minecraft:carrot_on_a_stick"
# 神器の名前 (TextComponentString)
    data modify storage asset:artifact Name set value '{"text":"エンジェルレイ レベル5"}'
# 神器の説明文 (TextComponentString[])
    data modify storage asset:artifact Lore set value ['{"text":"聖霊のオーラに満ちた強烈な光芒を前方に放ち、"}','{"text":"対象にダメージを与え、味方は回復させる。"}','""','{"text":"[詳細]","color":"#ffde6e"}','[{"text":"対象:攻撃が命中すると","color":"white"},{"text":"439.2","color":"#6e99ff"},{"text":"の魔法ダメージを与える。","color":"white"}]','[{"text":"味方:体力を","color":"white"},{"text":"28.3","color":"#6e99ff"},{"text":"回復する。","color":"white"}]']
# MP以外の消費物 (TextComponentString) (オプション)
    # data modify storage asset:artifact CostText set value
# 使用回数 (int) (オプション)
    # data modify storage asset:artifact RemainingCount set value
# 神器を発動できるスロット (string) Wikiを参照
    data modify storage asset:artifact Slot set value "auto"
# 神器のトリガー (string) Wikiを参照
    data modify storage asset:artifact Trigger set value "onClick"
# 神器の発動条件 (TextComponentString) (オプション)
    # data modify storage asset:artifact Condition set value
# 攻撃に関する情報 -Damage量 (literal[]/literal) Wikiを参照 (オプション)
    data modify storage asset:artifact AttackInfo.Damage set value ["439.2"]
# 攻撃に関する情報 -攻撃タイプ (string[]) Wikiを参照 (オプション)
    data modify storage asset:artifact AttackInfo.AttackType set value [Magic]
# 攻撃に関する情報 -攻撃属性 (string[]) Wikiを参照 (オプション)
    data modify storage asset:artifact AttackInfo.ElementType set value [None]
# 攻撃に関する情報 -防御無視 (boolean) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.BypassResist set value
# 攻撃に関する情報 -範囲攻撃 (string) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.IsRangeAttack set value
# 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.AttackRange set value
# MP消費量 (int)
    data modify storage asset:artifact MPCost set value 30
# MP必要量 (int) (オプション)
    # data modify storage asset:artifact MPRequire set value
# 神器のクールダウン (int) (オプション)
    data modify storage asset:artifact LocalCooldown set value 600
# グローバルクールダウン (int) (オプション)
    # data modify storage asset:artifact SpecialCooldown set value
# クールダウンによる使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    # data modify storage asset:artifact DisableCooldownMessage set value
# MP不足による使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    # data modify storage asset:artifact DisableMPMessage set value
# 扱える神 (string[]) Wikiを参照
    data modify storage asset:artifact CanUsedGod set value ["Flora", "Nyaptov", "Wi-ki", "Rumor"]
# カスタムNBT (NBTCompound) 追加で指定したいNBT (オプション)
    # data modify storage asset:artifact CustomNBT set value {}

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


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

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

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


text:
#> asset:artifact/0266.angel_ray_lv.5/trigger/ray
#
#
#
# @within function
#   asset:artifact/0266.angel_ray_lv.5/trigger/3.main
#   asset:artifact/0266.angel_ray_lv.5/trigger/recursive

# 経過tickの加算
    scoreboard players add @s 7E.HolySymbol 1
# VFX
    function asset:artifact/0266.angel_ray_lv.5/trigger/vfx/
# 10tickで消える
    execute if score @s 7E.HolySymbol matches 8.. run kill @s


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

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

# ここから先は神器側の効果の処理を書く
# レイ用Entityの初期化
    summon minecraft:area_effect_cloud ~ ~1.4 ~ {Age:-2147483648,Duration:-1,WaitTime:-2147483648,Tags:["7E.HolySymbol","Init","Object","Uninterferable"]}
    execute positioned ~ ~1.4 ~ run tp @e[type=area_effect_cloud,tag=Init,distance=..0.01] ~ ~ ~ ~ ~
# 初回演出
    summon area_effect_cloud ~ ~ ~ {Duration:6,Age:4,Effects:[{Id:2,Amplifier:5b,Duration:13,ShowParticles:0b}]}
    playsound entity.blaze.shoot player @a ~ ~ ~ 1 0.7
# レイ処理
    # 処理
        execute positioned ~ ~1.4 ~ as @e[type=area_effect_cloud,tag=Init,distance=..0.01] run function asset:artifact/0266.angel_ray_lv.5/trigger/ray
    # 次tick以降用にschedule予約
        schedule function asset:artifact/0266.angel_ray_lv.5/trigger/recursive 1t
# 効果処理
    execute positioned ~ ~1.4 ~ run function asset:artifact/0266.angel_ray_lv.5/trigger/effect/
# リセット
    execute positioned ~ ~1.4 ~ run tag @e[type=area_effect_cloud,tag=Init,distance=..0.01] remove Init


text:
#> asset:artifact/0266.angel_ray_lv.5/trigger/0.load
#
# 神器に利用するスコアボード等の初期化処理
#
# @within tag/function asset:artifact/load

#> 定義類はここに
# @within function asset:artifact/0266.angel_ray_lv.5/trigger/**
    scoreboard objectives add 7E.HolySymbol dummy


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

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


text:
#> asset:artifact/0266.angel_ray_lv.5/trigger/_index.d
# @private

#> 定義類はここに
# @within function asset:artifact/0266.angel_ray_lv.5/trigger/**
    #declare tag 7E.HolySymbol
    #declare tag Init
    #declare tag TargetCandidate


text:
#> asset:artifact/0266.angel_ray_lv.5/trigger/recursive
#
#
#
# @within function
#   asset:artifact/0266.angel_ray_lv.5/trigger/3.main
#   asset:artifact/0266.angel_ray_lv.5/trigger/recursive

# 処理
    execute as @e[type=area_effect_cloud,tag=7E.HolySymbol] at @s run function asset:artifact/0266.angel_ray_lv.5/trigger/ray
# Entityが残ってるならループ予約
    execute if entity @e[type=area_effect_cloud,tag=7E.HolySymbol,limit=1] run schedule function asset:artifact/0266.angel_ray_lv.5/trigger/recursive 1t


text:
#> asset:artifact/0266.angel_ray_lv.5/trigger/effect/find_target
#
#
#
# @within function asset:artifact/0266.angel_ray_lv.5/trigger/effect/*

execute positioned ~-0.5 ~-0.5 ~-0.5 run tag @e[type=#lib:living,tag=!Uninterferable,dx=0] add TargetCandidate
execute if entity @s[distance=..12] positioned ^ ^ ^0.5 run function asset:artifact/0266.angel_ray_lv.5/trigger/effect/find_target


text:
#> asset:artifact/0266.angel_ray_lv.5/trigger/vfx/ripple_small
#
#
#
# @within function asset:artifact/0266.angel_ray_lv.5/trigger/vfx/

particle electric_spark ^0 ^-0.2 ^ ^0 ^-250 ^ 0.02 0
particle electric_spark ^0.021 ^-0.199 ^ ^26.132 ^-248.63 ^ 0.02 0
particle electric_spark ^0.042 ^-0.196 ^ ^51.978 ^-244.537 ^ 0.02 0
particle electric_spark ^0.062 ^-0.19 ^ ^77.254 ^-237.764 ^ 0.02 0
particle electric_spark ^0.081 ^-0.183 ^ ^101.684 ^-228.386 ^ 0.02 0
particle electric_spark ^0.1 ^-0.173 ^ ^125 ^-216.506 ^ 0.02 0
particle electric_spark ^0.118 ^-0.162 ^ ^146.946 ^-202.254 ^ 0.02 0
particle electric_spark ^0.134 ^-0.149 ^ ^167.283 ^-185.786 ^ 0.02 0
particle electric_spark ^0.149 ^-0.134 ^ ^185.786 ^-167.283 ^ 0.02 0
particle electric_spark ^0.162 ^-0.118 ^ ^202.254 ^-146.946 ^ 0.02 0
particle electric_spark ^0.173 ^-0.1 ^ ^216.506 ^-125 ^ 0.02 0
particle electric_spark ^0.183 ^-0.081 ^ ^228.386 ^-101.684 ^ 0.02 0
particle electric_spark ^0.19 ^-0.062 ^ ^237.764 ^-77.254 ^ 0.02 0
particle electric_spark ^0.196 ^-0.042 ^ ^244.537 ^-51.978 ^ 0.02 0
particle electric_spark ^0.199 ^-0.021 ^ ^248.63 ^-26.132 ^ 0.02 0
particle electric_spark ^0.2 ^0 ^ ^250 ^0 ^ 0.02 0
particle electric_spark ^0.199 ^0.021 ^ ^248.63 ^26.132 ^ 0.02 0
particle electric_spark ^0.196 ^0.042 ^ ^244.537 ^51.978 ^ 0.02 0
particle electric_spark ^0.19 ^0.062 ^ ^237.764 ^77.254 ^ 0.02 0
particle electric_spark ^0.183 ^0.081 ^ ^228.386 ^101.684 ^ 0.02 0
particle electric_spark ^0.173 ^0.1 ^ ^216.506 ^125 ^ 0.02 0
particle electric_spark ^0.162 ^0.118 ^ ^202.254 ^146.946 ^ 0.02 0
particle electric_spark ^0.149 ^0.134 ^ ^185.786 ^167.283 ^ 0.02 0
particle electric_spark ^0.134 ^0.149 ^ ^167.283 ^185.786 ^ 0.02 0
particle electric_spark ^0.118 ^0.162 ^ ^146.946 ^202.254 ^ 0.02 0
particle electric_spark ^0.1 ^0.173 ^ ^125 ^216.506 ^ 0.02 0
particle electric_spark ^0.081 ^0.183 ^ ^101.684 ^228.386 ^ 0.02 0
particle electric_spark ^0.062 ^0.19 ^ ^77.254 ^237.764 ^ 0.02 0
particle electric_spark ^0.042 ^0.196 ^ ^51.978 ^244.537 ^ 0.02 0
particle electric_spark ^0.021 ^0.199 ^ ^26.132 ^248.63 ^ 0.02 0
particle electric_spark ^0 ^0.2 ^ ^0 ^250 ^ 0.02 0
particle electric_spark ^-0.021 ^0.199 ^ ^-26.132 ^248.63 ^ 0.02 0
particle electric_spark ^-0.042 ^0.196 ^ ^-51.978 ^244.537 ^ 0.02 0
particle electric_spark ^-0.062 ^0.19 ^ ^-77.254 ^237.764 ^ 0.02 0
particle electric_spark ^-0.081 ^0.183 ^ ^-101.684 ^228.386 ^ 0.02 0
particle electric_spark ^-0.1 ^0.173 ^ ^-125 ^216.506 ^ 0.02 0
particle electric_spark ^-0.118 ^0.162 ^ ^-146.946 ^202.254 ^ 0.02 0
particle electric_spark ^-0.134 ^0.149 ^ ^-167.283 ^185.786 ^ 0.02 0
particle electric_spark ^-0.149 ^0.134 ^ ^-185.786 ^167.283 ^ 0.02 0
particle electric_spark ^-0.162 ^0.118 ^ ^-202.254 ^146.946 ^ 0.02 0
particle electric_spark ^-0.173 ^0.1 ^ ^-216.506 ^125 ^ 0.02 0
particle electric_spark ^-0.183 ^0.081 ^ ^-228.386 ^101.684 ^ 0.02 0
particle electric_spark ^-0.19 ^0.062 ^ ^-237.764 ^77.254 ^ 0.02 0
particle electric_spark ^-0.196 ^0.042 ^ ^-244.537 ^51.978 ^ 0.02 0
particle electric_spark ^-0.199 ^0.021 ^ ^-248.63 ^26.132 ^ 0.02 0
particle electric_spark ^-0.2 ^0 ^ ^-250 ^0 ^ 0.02 0
particle electric_spark ^-0.199 ^-0.021 ^ ^-248.63 ^-26.132 ^ 0.02 0
particle electric_spark ^-0.196 ^-0.042 ^ ^-244.537 ^-51.978 ^ 0.02 0
particle electric_spark ^-0.19 ^-0.062 ^ ^-237.764 ^-77.254 ^ 0.02 0
particle electric_spark ^-0.183 ^-0.081 ^ ^-228.386 ^-101.684 ^ 0.02 0
particle electric_spark ^-0.173 ^-0.1 ^ ^-216.506 ^-125 ^ 0.02 0
particle electric_spark ^-0.162 ^-0.118 ^ ^-202.254 ^-146.946 ^ 0.02 0
particle electric_spark ^-0.149 ^-0.134 ^ ^-185.786 ^-167.283 ^ 0.02 0
particle electric_spark ^-0.134 ^-0.149 ^ ^-167.283 ^-185.786 ^ 0.02 0
particle electric_spark ^-0.118 ^-0.162 ^ ^-146.946 ^-202.254 ^ 0.02 0
particle electric_spark ^-0.1 ^-0.173 ^ ^-125 ^-216.506 ^ 0.02 0
particle electric_spark ^-0.081 ^-0.183 ^ ^-101.684 ^-228.386 ^ 0.02 0
particle electric_spark ^-0.062 ^-0.19 ^ ^-77.254 ^-237.764 ^ 0.02 0
particle electric_spark ^-0.042 ^-0.196 ^ ^-51.978 ^-244.537 ^ 0.02 0
particle electric_spark ^-0.021 ^-0.199 ^ ^-26.132 ^-248.63 ^ 0.02 0


text:
#> asset:artifact/0266.angel_ray_lv.5/trigger/vfx/line_2
#
#
#
# @within function asset:artifact/0266.angel_ray_lv.5/trigger/vfx/

particle dust 1 0.7 0.4 0.7 ^ ^ ^00.2 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^00.4 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^00.6 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^00.8 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^01.0 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^01.2 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^01.4 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^01.6 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^01.8 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^02.0 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^02.2 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^02.4 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^02.6 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^02.8 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^03.0 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^03.2 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^03.4 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^03.6 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^03.8 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^04.0 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^04.2 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^04.4 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^04.6 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^04.8 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^05.0 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^05.2 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^05.4 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^05.6 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^05.8 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^06.0 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^06.2 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^06.4 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^06.6 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^06.8 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^07.0 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^07.2 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^07.4 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^07.6 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^07.8 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^08.0 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^08.2 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^08.4 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^08.6 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^08.8 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^09.0 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^09.2 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^09.4 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^09.6 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^09.8 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^10.0 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^10.2 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^10.4 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^10.6 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^10.8 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^11.0 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^11.2 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^11.4 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^11.6 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^11.8 0.19 0.19 0.19 0 1
particle dust 1 0.7 0.4 0.7 ^ ^ ^12.0 0.19 0.19 0.19 0 1


text:
#> asset:artifact/0266.angel_ray_lv.5/trigger/vfx/ripple_large
#
#
#
# @within function asset:artifact/0266.angel_ray_lv.5/trigger/vfx/

particle electric_spark ^0 ^-0.2 ^ ^0 ^-500 ^ 0.01 0
particle electric_spark ^0.016 ^-0.199 ^ ^39.23 ^-498.459 ^ 0.01 0
particle electric_spark ^0.031 ^-0.198 ^ ^78.217 ^-493.844 ^ 0.01 0
particle electric_spark ^0.047 ^-0.194 ^ ^116.723 ^-486.185 ^ 0.01 0
particle electric_spark ^0.062 ^-0.19 ^ ^154.508 ^-475.528 ^ 0.01 0
particle electric_spark ^0.077 ^-0.185 ^ ^191.342 ^-461.94 ^ 0.01 0
particle electric_spark ^0.091 ^-0.178 ^ ^226.995 ^-445.503 ^ 0.01 0
particle electric_spark ^0.104 ^-0.171 ^ ^261.249 ^-426.32 ^ 0.01 0
particle electric_spark ^0.118 ^-0.162 ^ ^293.893 ^-404.508 ^ 0.01 0
particle electric_spark ^0.13 ^-0.152 ^ ^324.724 ^-380.203 ^ 0.01 0
particle electric_spark ^0.141 ^-0.141 ^ ^353.553 ^-353.553 ^ 0.01 0
particle electric_spark ^0.152 ^-0.13 ^ ^380.203 ^-324.724 ^ 0.01 0
particle electric_spark ^0.162 ^-0.118 ^ ^404.508 ^-293.893 ^ 0.01 0
particle electric_spark ^0.171 ^-0.104 ^ ^426.32 ^-261.249 ^ 0.01 0
particle electric_spark ^0.178 ^-0.091 ^ ^445.503 ^-226.995 ^ 0.01 0
particle electric_spark ^0.185 ^-0.077 ^ ^461.94 ^-191.342 ^ 0.01 0
particle electric_spark ^0.19 ^-0.062 ^ ^475.528 ^-154.508 ^ 0.01 0
particle electric_spark ^0.194 ^-0.047 ^ ^486.185 ^-116.723 ^ 0.01 0
particle electric_spark ^0.198 ^-0.031 ^ ^493.844 ^-78.217 ^ 0.01 0
particle electric_spark ^0.199 ^-0.016 ^ ^498.459 ^-39.23 ^ 0.01 0
particle electric_spark ^0.2 ^0 ^ ^500 ^0 ^ 0.01 0
particle electric_spark ^0.199 ^0.016 ^ ^498.459 ^39.23 ^ 0.01 0
particle electric_spark ^0.198 ^0.031 ^ ^493.844 ^78.217 ^ 0.01 0
particle electric_spark ^0.194 ^0.047 ^ ^486.185 ^116.723 ^ 0.01 0
particle electric_spark ^0.19 ^0.062 ^ ^475.528 ^154.508 ^ 0.01 0
particle electric_spark ^0.185 ^0.077 ^ ^461.94 ^191.342 ^ 0.01 0
particle electric_spark ^0.178 ^0.091 ^ ^445.503 ^226.995 ^ 0.01 0
particle electric_spark ^0.171 ^0.104 ^ ^426.32 ^261.249 ^ 0.01 0
particle electric_spark ^0.162 ^0.118 ^ ^404.508 ^293.893 ^ 0.01 0
particle electric_spark ^0.152 ^0.13 ^ ^380.203 ^324.724 ^ 0.01 0
particle electric_spark ^0.141 ^0.141 ^ ^353.553 ^353.553 ^ 0.01 0
particle electric_spark ^0.13 ^0.152 ^ ^324.724 ^380.203 ^ 0.01 0
particle electric_spark ^0.118 ^0.162 ^ ^293.893 ^404.508 ^ 0.01 0
particle electric_spark ^0.104 ^0.171 ^ ^261.249 ^426.32 ^ 0.01 0
particle electric_spark ^0.091 ^0.178 ^ ^226.995 ^445.503 ^ 0.01 0
particle electric_spark ^0.077 ^0.185 ^ ^191.342 ^461.94 ^ 0.01 0
particle electric_spark ^0.062 ^0.19 ^ ^154.508 ^475.528 ^ 0.01 0
particle electric_spark ^0.047 ^0.194 ^ ^116.723 ^486.185 ^ 0.01 0
particle electric_spark ^0.031 ^0.198 ^ ^78.217 ^493.844 ^ 0.01 0
particle electric_spark ^0.016 ^0.199 ^ ^39.23 ^498.459 ^ 0.01 0
particle electric_spark ^0 ^0.2 ^ ^0 ^500 ^ 0.01 0
particle electric_spark ^-0.016 ^0.199 ^ ^-39.23 ^498.459 ^ 0.01 0
particle electric_spark ^-0.031 ^0.198 ^ ^-78.217 ^493.844 ^ 0.01 0
particle electric_spark ^-0.047 ^0.194 ^ ^-116.723 ^486.185 ^ 0.01 0
particle electric_spark ^-0.062 ^0.19 ^ ^-154.508 ^475.528 ^ 0.01 0
particle electric_spark ^-0.077 ^0.185 ^ ^-191.342 ^461.94 ^ 0.01 0
particle electric_spark ^-0.091 ^0.178 ^ ^-226.995 ^445.503 ^ 0.01 0
particle electric_spark ^-0.104 ^0.171 ^ ^-261.249 ^426.32 ^ 0.01 0
particle electric_spark ^-0.118 ^0.162 ^ ^-293.893 ^404.508 ^ 0.01 0
particle electric_spark ^-0.13 ^0.152 ^ ^-324.724 ^380.203 ^ 0.01 0
particle electric_spark ^-0.141 ^0.141 ^ ^-353.553 ^353.553 ^ 0.01 0
particle electric_spark ^-0.152 ^0.13 ^ ^-380.203 ^324.724 ^ 0.01 0
particle electric_spark ^-0.162 ^0.118 ^ ^-404.508 ^293.893 ^ 0.01 0
particle electric_spark ^-0.171 ^0.104 ^ ^-426.32 ^261.249 ^ 0.01 0
particle electric_spark ^-0.178 ^0.091 ^ ^-445.503 ^226.995 ^ 0.01 0
particle electric_spark ^-0.185 ^0.077 ^ ^-461.94 ^191.342 ^ 0.01 0
particle electric_spark ^-0.19 ^0.062 ^ ^-475.528 ^154.508 ^ 0.01 0
particle electric_spark ^-0.194 ^0.047 ^ ^-486.185 ^116.723 ^ 0.01 0
particle electric_spark ^-0.198 ^0.031 ^ ^-493.844 ^78.217 ^ 0.01 0
particle electric_spark ^-0.199 ^0.016 ^ ^-498.459 ^39.23 ^ 0.01 0
particle electric_spark ^-0.2 ^0 ^ ^-500 ^0 ^ 0.01 0
particle electric_spark ^-0.199 ^-0.016 ^ ^-498.459 ^-39.23 ^ 0.01 0
particle electric_spark ^-0.198 ^-0.031 ^ ^-493.844 ^-78.217 ^ 0.01 0
particle electric_spark ^-0.194 ^-0.047 ^ ^-486.185 ^-116.723 ^ 0.01 0
particle electric_spark ^-0.19 ^-0.062 ^ ^-475.528 ^-154.508 ^ 0.01 0
particle electric_spark ^-0.185 ^-0.077 ^ ^-461.94 ^-191.342 ^ 0.01 0
particle electric_spark ^-0.178 ^-0.091 ^ ^-445.503 ^-226.995 ^ 0.01 0
particle electric_spark ^-0.171 ^-0.104 ^ ^-426.32 ^-261.249 ^ 0.01 0
particle electric_spark ^-0.162 ^-0.118 ^ ^-404.508 ^-293.893 ^ 0.01 0
particle electric_spark ^-0.152 ^-0.13 ^ ^-380.203 ^-324.724 ^ 0.01 0
particle electric_spark ^-0.141 ^-0.141 ^ ^-353.553 ^-353.553 ^ 0.01 0
particle electric_spark ^-0.13 ^-0.152 ^ ^-324.724 ^-380.203 ^ 0.01 0
particle electric_spark ^-0.118 ^-0.162 ^ ^-293.893 ^-404.508 ^ 0.01 0
particle electric_spark ^-0.104 ^-0.171 ^ ^-261.249 ^-426.32 ^ 0.01 0
particle electric_spark ^-0.091 ^-0.178 ^ ^-226.995 ^-445.503 ^ 0.01 0
particle electric_spark ^-0.077 ^-0.185 ^ ^-191.342 ^-461.94 ^ 0.01 0
particle electric_spark ^-0.062 ^-0.19 ^ ^-154.508 ^-475.528 ^ 0.01 0
particle electric_spark ^-0.047 ^-0.194 ^ ^-116.723 ^-486.185 ^ 0.01 0
particle electric_spark ^-0.031 ^-0.198 ^ ^-78.217 ^-493.844 ^ 0.01 0
particle electric_spark ^-0.016 ^-0.199 ^ ^-39.23 ^-498.459 ^ 0.01 0


text:
#> asset:artifact/0266.angel_ray_lv.5/trigger/vfx/line
#
#
#
# @within function asset:artifact/0266.angel_ray_lv.5/trigger/vfx/
particle dust 1 0.9 0.6 0.7 ^ ^ ^00.2 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^00.4 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^00.6 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^00.8 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^01.0 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^01.2 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^01.4 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^01.6 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^01.8 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^02.0 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^02.2 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^02.4 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^02.6 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^02.8 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^03.0 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^03.2 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^03.4 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^03.6 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^03.8 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^04.0 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^04.2 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^04.4 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^04.6 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^04.8 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^05.0 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^05.2 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^05.4 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^05.6 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^05.8 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^06.0 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^06.2 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^06.4 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^06.6 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^06.8 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^07.0 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^07.2 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^07.4 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^07.6 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^07.8 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^08.0 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^08.2 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^08.4 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^08.6 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^08.8 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^09.0 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^09.2 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^09.4 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^09.6 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^09.8 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^10.0 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^10.2 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^10.4 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^10.6 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^10.8 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^11.0 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^11.2 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^11.4 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^11.6 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^11.8 0.1 0.1 0.1 0 1
particle dust 1 0.9 0.6 0.7 ^ ^ ^12.0 0.1 0.1 0.1 0 1


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

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


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

execute if data storage asset:context {id:917} run function asset:artifact/0917.flame_hunter_clothes/give/2.give


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

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

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

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


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

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

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


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

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

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

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

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


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

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


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

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


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

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


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

execute if data storage asset:context {id:187} run function asset:artifact/0187.chloranthy_wand/give/2.give


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

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

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

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


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

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

# プレイヤーのゲームモードがサバイバル・クリエイティブの時にのみ使用可能
    execute if entity @s[gamemode=!survival,gamemode=!creative] run tag @s remove CanUsed

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


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

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

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

# 演出
    particle minecraft:end_rod ~ ~ ~ 1 1 1 0.1 100 force @a[distance=..30]
    playsound minecraft:entity.evoker.prepare_summon player @s ~ ~ ~ 20 2

# 土系ブロックを草ブロックに置換する
    fill ~-3 ~-3 ~-3 ~3 ~3 ~3 minecraft:grass_block replace #lib:dirts


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

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


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

execute if data storage asset:context {id:145} run function asset:artifact/0145.aure_nectar/give/2.give


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

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

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

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


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

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

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


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

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

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

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

# HP回復
    execute store result storage lib: Argument.Heal double 0.0023 run attribute @s generic.max_health get 100
    function lib:heal/modifier
    function lib:heal/

# リセット
    function lib:heal/reset


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

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


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

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


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

execute if data storage asset:context {id:17} run function asset:artifact/0017.harmful_books/give/2.give


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

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

# 神器のID (int) スプレッドシートの値を入れる
    data modify storage asset:artifact ID set value 17
# 神器のベースアイテム
    data modify storage asset:artifact Item set value "minecraft:book"
# 神器の名前 (TextComponentString)
    data modify storage asset:artifact Name set value '{"text":"有害図書","color":"light_purple"}'
# 神器の説明文 (TextComponentString[])
    data modify storage asset:artifact Lore set value ['{"text":"毒素を含んだ書物"}','{"text":"攻撃対象に見せると不定のデバフを与える。"}']
# MP以外の消費物 (TextComponentString) (オプション)
    # data modify storage asset:artifact CostText set value
# 使用回数 (int) (オプション)
    # data modify storage asset:artifact RemainingCount set value
# 神器を発動できるスロット (string) Wikiを参照
    data modify storage asset:artifact Slot set value "mainhand"
# 神器のトリガー (string) Wikiを参照
    data modify storage asset:artifact Trigger set value "onAttackByMelee"
# 神器の発動条件 (TextComponentString) (オプション)
    # data modify storage asset:artifact Condition set value
# 攻撃に関する情報 -Damage量 (literal[]/literal) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.Damage set value [0,0]
# 攻撃に関する情報 -攻撃タイプ (string[]) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.AttackType set value [Physical,Magic]
# 攻撃に関する情報 -攻撃属性 (string[]) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.ElementType set value [Fire,Water,Thunder,None]
# 攻撃に関する情報 -防御無視 (boolean) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.BypassResist set value
# 攻撃に関する情報 -範囲攻撃 (string) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.IsRangeAttack set value
# 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.AttackRange set value
# MP消費量 (int)
    data modify storage asset:artifact MPCost set value 5
# MP必要量 (int) (オプション)
    # data modify storage asset:artifact MPRequire set value
# 神器のクールダウン (int) (オプション)
    # data modify storage asset:artifact LocalCooldown set value
# グローバルクールダウン (int) (オプション)
    # data modify storage asset:artifact SpecialCooldown set value
# クールダウンによる使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    # data modify storage asset:artifact DisableCooldownMessage set value
# MP不足による使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    # data modify storage asset:artifact DisableMPMessage set value
# 扱える神 (string[]) Wikiを参照
    data modify storage asset:artifact CanUsedGod set value ["Flora", "Wi-ki", "Rumor"]
# カスタムNBT (NBTCompound) 追加で指定したいNBT (オプション)
    # data modify storage asset:artifact CustomNBT set value {}

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


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

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

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


text:
#> asset:artifact/0017.harmful_books/trigger/3.1.add_effect
#
# 効果の付与とParticle
#
# @within function asset:artifact/0017.harmful_books/trigger/3.main

execute if predicate lib:random_pass_per/40 run effect give @s slowness 30 5 true
execute if predicate lib:random_pass_per/40 run effect give @s weakness 300 10 true
execute if predicate lib:random_pass_per/20 run effect give @s levitation 10 3 true
execute if predicate lib:random_pass_per/10 run effect give @s wither 10 50 true
execute if predicate lib:random_pass_per/10 run effect give @s speed 10 255 true
execute if predicate lib:random_pass_per/10 run effect give @s poison 30 5 false
particle witch ~ ~ ~ 1 1 1 0.1 100 force @a[distance=..10]


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

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

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

execute as @e[type=#lib:living,type=!player,tag=Victim,distance=..10] at @s run function asset:artifact/0017.harmful_books/trigger/3.1.add_effect

playsound minecraft:entity.witch.ambient player @a[distance=..10] ~ ~ ~ 1 1.2


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

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


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

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


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

execute if data storage asset:context {id:5} run function asset:artifact/0005.musket_matchlock/give/2.give


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

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

# 神器のID (int) スプレッドシートの値を入れる
    data modify storage asset:artifact ID set value 5
# 神器のベースアイテム
    data modify storage asset:artifact Item set value "minecraft:carrot_on_a_stick"
# 神器の名前 (TextComponentString)
    data modify storage asset:artifact Name set value '{"text":"マスケット銃(マッチロック)","color":"red"}'
# 神器の説明文 (TextComponentString[])
    data modify storage asset:artifact Lore set value ['{"text":"マッチロック式の銃、俗に言う火縄銃。"}','{"text":"命中精度は悪い。"}']
# MP以外の消費物 (TextComponentString) (オプション)
    data modify storage asset:artifact CostText set value '[{"translate":"item.minecraft.gunpowder"},{"text":" x1"}]'
# 使用回数 (int) (オプション)
    # data modify storage asset:artifact RemainingCount set value
# 神器を発動できるスロット (string) Wikiを参照
    data modify storage asset:artifact Slot set value "auto"
# 神器のトリガー (string) Wikiを参照
    data modify storage asset:artifact Trigger set value "onClick"
# 神器の発動条件 (TextComponentString) (オプション)
    data modify storage asset:artifact Condition set value '{"text":"右クリック"}'
# 攻撃に関する情報 -Damage量 (literal[]/literal) Wikiを参照 (オプション)
    data modify storage asset:artifact AttackInfo.Damage set value [400]
# 攻撃に関する情報 -攻撃タイプ (string[]) Wikiを参照 (オプション)
    data modify storage asset:artifact AttackInfo.AttackType set value [Physical]
# 攻撃に関する情報 -攻撃属性 (string[]) Wikiを参照 (オプション)
    data modify storage asset:artifact AttackInfo.ElementType set value [None]
# 攻撃に関する情報 -防御無視 (boolean) Wikiを参照 (オプション)
    data modify storage asset:artifact AttackInfo.BypassResist set value 0b
# 攻撃に関する情報 -範囲攻撃 (string) Wikiを参照 (オプション)
    data modify storage asset:artifact AttackInfo.IsRangeAttack set value "never"
# 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.AttackRange set value
# MP消費量 (int)
    data modify storage asset:artifact MPCost set value 0
# MP必要量 (int) (オプション)
    # data modify storage asset:artifact MPRequire set value
# 神器のクールダウン (int) (オプション)
    data modify storage asset:artifact LocalCooldown set value 600
# グローバルクールダウン (int) (オプション)
    # data modify storage asset:artifact SpecialCooldown set value
# クールダウンによる使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    # data modify storage asset:artifact DisableCooldownMessage set value
# MP不足による使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    # data modify storage asset:artifact DisableMPMessage set value
# 扱える神 (string[]) Wikiを参照
    data modify storage asset:artifact CanUsedGod set value ["Urban", "Wi-ki", "Rumor"]
# カスタムNBT (NBTCompound) 追加で指定したいNBT (オプション)
    # data modify storage asset:artifact CustomNBT set value {}

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


text:
#> asset:artifact/0005.musket_matchlock/trigger/3.1.entity_manager
#
# エンダーパールがヒットしたかどうかを確認
#
# @within function
#   asset:artifact/0005.musket_matchlock/trigger/3.main
#   asset:artifact/0005.musket_matchlock/trigger/3.1.entity_manager

#アーマースタンドがエンダーパールの上に乗っていない状態なら命中処理
    execute as @e[type=marker,tag=5.MatchlockIndicator] unless predicate lib:is_vehicle at @s run function asset:artifact/0005.musket_matchlock/trigger/3.1.2.damage

#アーマースタンドがエンダーパールの上に乗っている状態なら飛翔処理
    execute as @e[type=marker,tag=5.MatchlockIndicator] if predicate lib:is_vehicle at @s run function asset:artifact/0005.musket_matchlock/trigger/3.1.1.flying

# 次tickのmanager実行予約
    execute if entity @e[type=marker,tag=5.MatchlockIndicator,predicate=lib:is_vehicle,limit=1] run schedule function asset:artifact/0005.musket_matchlock/trigger/3.1.entity_manager 1t replace


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

#> prv
# @private
    #declare score_holder $5.GunpowderCount

# 神器の基本的な条件の確認を行うfunction、成功している場合CanUsedタグが付く
    function asset:artifact/common/check_condition/auto
# 他にアイテム等確認する場合はここに書く
    # 火薬を持ってるかチェック
        execute store result score $5.GunpowderCount Temporary run clear @s gunpowder 0
        execute if score $5.GunpowderCount Temporary matches 0 run tag @s remove CanUsed
        execute if score $5.GunpowderCount Temporary matches 0 run function lib:message/artifact/dont_have_require_items
        scoreboard players reset $5.GunpowderCount Temporary

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


text:
#> asset:artifact/0005.musket_matchlock/trigger/3.1.1.flying
#
# 銃弾の速度を維持する
#
# @within function asset:artifact/0005.musket_matchlock/trigger/3.1.entity_manager

# motionセット
    data modify storage lib: Argument.VectorMagnitude set value 5.0
    execute at @s as @e[type=snowball,tag=5.MatchlockEntity,distance=..2,sort=nearest,limit=1] run function lib:motion/

# 飛翔時間減少
    scoreboard players remove @s[scores={5.FlyingDuration=1..}] 5.FlyingDuration 1

# 飛翔時間を超過したエンティティを削除
    execute if score @s 5.FlyingDuration matches 0 run kill @e[type=snowball,tag=5.MatchlockEntity,distance=..2,sort=nearest,limit=1]
    execute if score @s 5.FlyingDuration matches 0 run kill @s

# reset
    data remove storage lib: Argument


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

#> private
# @private
    #declare tag 5.MatchlockInit
    #declare tag 5.SpreadMarker

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

# ここから先は神器側の効果の処理を書く
# 火薬消費
    clear @s gunpowder 1

# エンダーパールwithアーマースタンド召喚
    execute anchored eyes run summon snowball ^ ^ ^1 {Tags:["5.MatchlockInit","5.MatchlockEntity"],Item:{Count:1b,id:"minecraft:blackstone"},Passengers:[{id:"minecraft:marker",Tags:["5.MatchlockIndicator","5.MatchlockInit"]}]}

# Ownerセット
    scoreboard players operation @e[type=marker,tag=5.MatchlockInit,distance=..3,limit=1] 5.OwnerId = @s UserID

# 5.SpreadMarkerを視点50m先の0.86m以内のランダムな位置に移動させる
    summon marker ^ ^ ^1 {Tags:["5.SpreadMarker"]}
    data modify storage lib: Argument.Distance set value 20f
    data modify storage lib: Argument.Spread set value 0.35f
    execute as @e[type=marker,tag=5.SpreadMarker,limit=1] run function lib:forward_spreader/circle

# 5.MatchlockIndicatorを進行方向に向ける
    execute as @e[type=marker,tag=5.MatchlockInit,distance=..3,limit=1] at @s facing entity @e[type=marker,tag=5.SpreadMarker,limit=1] feet run tp @s ~ ~ ~ ~ ~

# 雪玉のmotionセット
    data modify storage lib: Argument.VectorMagnitude set value 5.0
    execute as @e[type=snowball,tag=5.MatchlockInit,distance=..3] at @s facing entity @e[type=marker,tag=5.SpreadMarker,limit=1] feet run function lib:motion/

# 命中したことを管理するscheduleをセット
    schedule function asset:artifact/0005.musket_matchlock/trigger/3.1.entity_manager 1t replace

# 反動
    tp @s ~ ~ ~ ~ ~-10

# 飛翔時間スコアセット
    scoreboard players set @e[type=marker,tag=5.MatchlockInit,distance=..3,limit=1] 5.FlyingDuration 10

# 音/particle
    playsound minecraft:entity.zombie.break_wooden_door player @a ~ ~ ~ 1
    execute anchored eyes run particle cloud ^ ^ ^1 0.2 0.2 0.2 0.2 15 normal

# reset
    tag @e[tag=5.MatchlockInit,distance=..3] remove 5.MatchlockInit
    data remove storage lib: Argument
    kill @e[type=marker,tag=5.SpreadMarker]


text:
#> asset:artifact/0005.musket_matchlock/trigger/3.1.2.damage
#
# 着弾地点にいるmarkerを起点として、ダメージ処理を行う
#
# @within function asset:artifact/0005.musket_matchlock/trigger/3.1.entity_manager

#> private
# @private
    #declare tag 5.BulletHit
    #declare tag 5.HitPosition
    #declare tag 5.Owner
    #declare tag 5.BlockChecker
    #declare score_holder $5.OwnerId

# 命中判定用AEC召喚
    summon area_effect_cloud ~ ~-0.1875 ~ {Duration:1,Tags:["5.HitPosition"]}

# ブロック検知用のdummyエンティティ召喚
    execute rotated as @s run tp 0-0-0-0-0 0.0 0.0 0.0 ~ ~
    tag 0-0-0-0-0 add 5.BlockChecker
    summon area_effect_cloud 0.0 0.01 0.0 {Duration:1,Tags:["5.BlockChecker"]}
    execute rotated as @s facing ^ ^ ^-1 as @e[type=area_effect_cloud,tag=5.BlockChecker] run tp @s 0.0 0.01 0.0 ~ ~

# 使用者取得
    scoreboard players operation $5.OwnerId Temporary = @s 5.OwnerId
    execute as @a if score @s UserID = $5.OwnerId Temporary run tag @s add 5.Owner

# Damage計算(40*FlyingDuration)
    execute store result storage lib: Argument.Damage float 40 run scoreboard players get @s 5.FlyingDuration

# 属性セット
    data modify storage lib: Argument.AttackType set value "Physical"

# 自分の視線上の1番手前の通過不可のブロック位置に攻撃発生地点AECを移動、ブロックがなかったら6.4ブロック先に移動
    execute as @e[type=area_effect_cloud,tag=5.HitPosition,distance=..1,limit=1] anchored eyes at @s positioned ^ ^ ^3.2 rotated as @e[tag=5.BlockChecker,distance=..0.1,x=0.0,y=0.0,z=0.0,sort=furthest,limit=2] positioned ^ ^ ^1.6 rotated as @e[tag=5.BlockChecker,distance=..0.1,x=0.0,y=0.0,z=0.0,sort=furthest,limit=2] positioned ^ ^ ^0.8 rotated as @e[tag=5.BlockChecker,distance=..0.1,x=0.0,y=0.0,z=0.0,sort=furthest,limit=2] positioned ^ ^ ^0.4 rotated as @e[tag=5.BlockChecker,distance=..0.1,x=0.0,y=0.0,z=0.0,sort=furthest,limit=2] positioned ^ ^ ^0.2 unless block ~ ~ ~ #lib:no_collision run tp @e[type=area_effect_cloud,tag=5.BlockChecker,distance=..0.1,x=0.0,y=0.0,z=0.0] ~ ~ ~
    execute as @e[type=area_effect_cloud,tag=5.HitPosition,distance=..1,limit=1] anchored eyes at @s positioned ^ ^ ^6.4 run tp @e[type=area_effect_cloud,tag=5.BlockChecker,distance=..0.1,x=0.0,y=0.0,z=0.0] ~ ~ ~

# MatchlockIndicatorの前方かつ、MatchlockIndicatorの視線の直線上かつブロック検知用のdummyの手前にいる敵にダメージ
    execute as @e[type=#lib:living,type=!player,distance=..6] anchored eyes positioned as @s positioned ^ ^ ^1000 facing entity @e[type=area_effect_cloud,tag=5.HitPosition] eyes positioned ^ ^ ^1000 positioned ~-0.5 ~-0.5 ~-0.5 if entity @s[dx=0,dy=0,dz=0] run tag @s add 5.BulletHit
    execute as @e[type=#lib:living,tag=5.BulletHit,distance=..6] positioned as @s positioned ^ ^ ^-5 if entity @e[type=area_effect_cloud,tag=5.BlockChecker,distance=..4] run tag @s remove 5.BulletHit
    execute as @p[tag=5.Owner] run function lib:damage/modifier
    execute as @e[type=#lib:living,tag=5.BulletHit,distance=..6,sort=nearest,limit=1] run function lib:damage/

# Indicator削除
    kill @s

# reset
    function lib:damage/reset
    tag @a[tag=5.Owner] remove 5.Owner
    tag @e[type=#lib:living,tag=5.BulletHit,distance=..6] remove 5.BulletHit
    tag 0-0-0-0-0 remove 5.BlockChecker
    kill @e[type=area_effect_cloud,tag=5.BlockChecker,distance=..7]
    kill @e[type=area_effect_cloud,tag=5.HitPosition,distance=..1]
    scoreboard players reset $5.OwnerId Temporary
    execute in overworld run tp 0-0-0-0-0 0.0 0.0 0.0


text:
#> asset:artifact/0005.musket_matchlock/trigger/0.load
#
# 神器に利用するスコアボード等の初期化処理
#
# @within tag/function asset:artifact/load

#> 定義類はここに
# @within function asset:artifact/0005.musket_matchlock/trigger/**
    scoreboard objectives add 5.OwnerId dummy
    scoreboard objectives add 5.FlyingDuration dummy


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

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


text:
#> asset:artifact/0005.musket_matchlock/trigger/_index.d
# @private

#> tag
# @within function asset:artifact/0005.musket_matchlock/trigger/**
    #declare

#> main
# @within function asset:artifact/0005.musket_matchlock/trigger/**
    #declare tag 5.MatchlockIndicator
    #declare tag 5.MatchlockEntity


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

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


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

execute if data storage asset:context {id:273} run function asset:artifact/0273.tonbo_gaeri/give/2.give


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

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

# 神器のID (int) スプレッドシートの値を入れる
    data modify storage asset:artifact ID set value 273
# 神器のベースアイテム
    data modify storage asset:artifact Item set value "minecraft:stick"
# 神器の名前 (TextComponentString)
    data modify storage asset:artifact Name set value '{"text":"とんぼがえり","color":"green"}'
# 神器の説明文 (TextComponentString[])
    data modify storage asset:artifact Lore set value ['{"text":"攻撃したあと ものすごい スピードで","color":"white"}','{"text":"最初の島に もどっていく。","color":"white"}']
# MP以外の消費物 (TextComponentString) (オプション)
    # data modify storage asset:artifact CostText set value
# 使用回数 (int) (オプション)
    data modify storage asset:artifact RemainingCount set value 10
# 神器を発動できるスロット (string) Wikiを参照
    data modify storage asset:artifact Slot set value "mainhand"
# 神器のトリガー (string) Wikiを参照
    data modify storage asset:artifact Trigger set value "onAttackByMelee"
# 神器の発動条件 (TextComponentString) (オプション)
    # data modify storage asset:artifact Condition set value
# 攻撃に関する情報 -Damage量 (literal[]/literal) Wikiを参照 (オプション)
    data modify storage asset:artifact AttackInfo.Damage set value [555]
# 攻撃に関する情報 -攻撃タイプ (string[]) Wikiを参照 (オプション)
    data modify storage asset:artifact AttackInfo.AttackType set value [Physical]
# 攻撃に関する情報 -攻撃属性 (string[]) Wikiを参照 (オプション)
    data modify storage asset:artifact AttackInfo.ElementType set value [None]
# 攻撃に関する情報 -防御無視 (boolean) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.BypassResist set value
# 攻撃に関する情報 -範囲攻撃 (string) Wikiを参照 (オプション)
    data modify storage asset:artifact AttackInfo.IsRangeAttack set value "never"
# 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.AttackRange set value
# MP消費量 (int)
    data modify storage asset:artifact MPCost set value 99999
# MP必要量 (int) (オプション)
    data modify storage asset:artifact MPRequire set value 100
# 神器のクールダウン (int) (オプション)
    # data modify storage asset:artifact LocalCooldown set value
# グローバルクールダウン (int) (オプション)
    # data modify storage asset:artifact SpecialCooldown set value
# クールダウンによる使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    # data modify storage asset:artifact DisableCooldownMessage set value
# MP不足による使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    # data modify storage asset:artifact DisableMPMessage set value
# 扱える神 (string[]) Wikiを参照
    data modify storage asset:artifact CanUsedGod set value ["Flora", "Urban", "Nyaptov"]
# カスタムNBT (NBTCompound) 追加で指定したいNBT (オプション)
    # data modify storage asset:artifact CustomNBT set value {}

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


text:
#> asset:artifact/0273.tonbo_gaeri/trigger/3.1.warp_effect
#
# ワープ時のパーティクルと音 ワープ前の位置とワープ後の位置で実行される
#
# @within function asset:artifact/0273.tonbo_gaeri/trigger/3.main

# ワープのエフェクト
    particle explosion ~ ~1 ~ 0 0 0 0 0
    particle sweep_attack ~ ~1 ~ 0 0 0 0 0
    particle dust 0 1 0.5 1 ~ ~1 ~ 0.25 0.5 0.25 0 20
    playsound minecraft:entity.silverfish.death player @a ~ ~ ~ 2 1.5
    playsound minecraft:entity.player.attack.sweep player @a ~ ~ ~ 2 1


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

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

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


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

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

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

# 移動前の地点にパーティクルと音を残す
    function asset:artifact/0273.tonbo_gaeri/trigger/3.1.warp_effect

# ぶん殴ったやつに物理、無属性のダメージをぶちかます
    data modify storage lib: Argument.Damage set value 555.0f
    data modify storage lib: Argument.AttackType set value "Physical"
    data modify storage lib: Argument.ElementType set value "None"
    function lib:damage/modifier
    execute as @e[type=#lib:living,type=!player,tag=Victim,distance=..150] run function lib:damage/
# リセット
    function lib:damage/reset

# 低速落下を付与する
    effect give @s slow_falling 1 1

# 初期島に行くぞ！
    execute in minecraft:overworld run tp @s 23 3 24

# 移動前の地点にパーティクルと音を残す
    execute at @s run function asset:artifact/0273.tonbo_gaeri/trigger/3.1.warp_effect


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

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


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

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


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

execute if data storage asset:context {id:355} run function asset:artifact/0355.barrel/give/2.give


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

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

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

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


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

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

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


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

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

# ここから先は神器側の効果の処理を書く
    # 樽召喚
        execute at @e[type=#lib:living,type=!player,tag=Enemy,tag=!Uninterferable,distance=..8] run summon armor_stand ~ ~1.8 ~ {Tags:["9V.Barrel","Projectile","Uninterferable"],Marker:1b,Invisible:1b,ArmorItems:[{},{},{},{id:"minecraft:barrel",Count:1b}]}
    # tick予約
        schedule function asset:artifact/0355.barrel/trigger/3.1.tick_base 1t replace
    # 演出
        particle happy_villager ~ ~ ~ 0.5 0.5 0.5 1 30
        playsound entity.experience_orb.pickup player @a ~ ~ ~ 1.0 1.5


text:
#> asset:artifact/0355.barrel/trigger/3.1.tick_base
#
# 全体のtick
#
# @within function asset:artifact/0355.barrel/trigger/3.*

# 樽ごとに実行
    execute as @e[type=armor_stand,tag=9V.Barrel] at @s run function asset:artifact/0355.barrel/trigger/barrel/tick

# 樽が存在するとき次のtickを予約
    execute if entity @e[type=armor_stand,tag=9V.Barrel,limit=1] run schedule function asset:artifact/0355.barrel/trigger/3.1.tick_base 1t replace


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

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


text:
#> asset:artifact/0355.barrel/trigger/_index.d
#
# @private

#> Temp
#
# @within function asset:artifact/0355.barrel/trigger/**
    #declare tag 9V.Barrel


text:
#> asset:artifact/0355.barrel/trigger/barrel/break
#
# 樽が壊れたときに実行される
#
# @within function asset:artifact/0355.barrel/trigger/barrel/*

# 壊す
    kill @s
# 演出
    particle block barrel ~ ~ ~ 0.3 0.3 0.3 1 20
    playsound block.wood.break neutral @a ~ ~ ~ 1.0 1.0
    playsound block.fence_gate.close neutral @a ~ ~ ~ 1.0 1.3


text:
#> asset:artifact/0355.barrel/trigger/barrel/hit
#
# 樽がエンティティに当たった時に実行される
#
# @within asset:artifact/0355.barrel/trigger/barrel/tick

# ダメージ処理
    # 引数の設定
        data modify storage lib: Argument.Damage set value 70.0f
        data modify storage lib: Argument.AttackType set value "Physical"
    # 補正
        function lib:damage/modifier
    # 実行
        execute as @e[type=#lib:living,type=!player,tag=!Uninterferable,dx=0,dy=0.02,dz=0,sort=nearest,limit=1] run function lib:damage/
    # 開放
        function lib:damage/reset
# 壊れる
    function asset:artifact/0355.barrel/trigger/barrel/break


text:
#> asset:artifact/0355.barrel/trigger/barrel/tick
#
# 樽ごとに実行されるファンクション
#
# @within function asset:artifact/0355.barrel/trigger/3.1.tick_base

# 樽の落下
    tp ~ ~-0.5 ~
# エンティティに当たる
    execute positioned ~-0.5 ~1.8 ~-0.5 if entity @e[type=#lib:living,type=!player,tag=!Uninterferable,dx=0,dy=0.02,dz=0,sort=nearest,limit=1] run function asset:artifact/0355.barrel/trigger/barrel/hit
# 地面に当たる
    execute positioned ~ ~1.8 ~ unless block ~ ~0.2 ~ #lib:no_collision run function asset:artifact/0355.barrel/trigger/barrel/break
# 奈落に落ちる
    execute if entity @s[y=-25,dy=-225] run function asset:artifact/0355.barrel/trigger/barrel/break


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

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


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

execute if data storage asset:context {id:261} run function asset:artifact/0261.holy_symbol_lv.1/give/2.give


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

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

# 神器のID (int) スプレッドシートの値を入れる
    data modify storage asset:artifact ID set value 261
# 神器のベースアイテム
    data modify storage asset:artifact Item set value "minecraft:carrot_on_a_stick"
# 神器の名前 (TextComponentString)
    data modify storage asset:artifact Name set value '{"text":"ホーリーシンボル レベル1"}'
# 神器の説明文 (TextComponentString[])
    data modify storage asset:artifact Lore set value ['{"text":"聖なる魔法陣を生成し"}','{"text":"発動者および味方の精神を浄化する。"}','""','{"text":"[詳細]","color":"#ffde6e"}','[{"text":"1秒ごとにMPを","color":"white"},{"text":"1","color":"#6e99ff"},{"text":"回復する。","color":"white"}]','{"text":"10秒間、物理/魔法ダメージ、攻撃速度が","color":"white"}','[{"text":"1","color":"#6e99ff"},{"text":"%増加する。","color":"white"}]']
# MP以外の消費物 (TextComponentString) (オプション)
    # data modify storage asset:artifact CostText set value
# 使用回数 (int) (オプション)
    # data modify storage asset:artifact RemainingCount set value
# 神器を発動できるスロット (string) Wikiを参照
    data modify storage asset:artifact Slot set value "auto"
# 神器のトリガー (string) Wikiを参照
    data modify storage asset:artifact Trigger set value "onClick"
# 神器の発動条件 (TextComponentString) (オプション)
    # data modify storage asset:artifact Condition set value
# 攻撃に関する情報 -Damage量 (literal[]/literal) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.Damage set value [0,0]
# 攻撃に関する情報 -攻撃タイプ (string[]) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.AttackType set value [Physical,Magic]
# 攻撃に関する情報 -攻撃属性 (string[]) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.ElementType set value [Fire,Water,Thunder,None]
# 攻撃に関する情報 -防御無視 (boolean) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.BypassResist set value
# 攻撃に関する情報 -範囲攻撃 (string) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.IsRangeAttack set value
# 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.AttackRange set value
# MP消費量 (int)
    data modify storage asset:artifact MPCost set value 0
# MP必要量 (int) (オプション)
    # data modify storage asset:artifact MPRequire set value
# 神器のクールダウン (int) (オプション)
    # data modify storage asset:artifact LocalCooldown set value
# グローバルクールダウン (int) (オプション)
    data modify storage asset:artifact SpecialCooldown set value 3600
# クールダウンによる使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    # data modify storage asset:artifact DisableCooldownMessage set value
# MP不足による使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    # data modify storage asset:artifact DisableMPMessage set value
# 扱える神 (string[]) Wikiを参照
    data modify storage asset:artifact CanUsedGod set value ["Flora", "Urban", "Nyaptov", "Wi-ki", "Rumor"]
# カスタムNBT (NBTCompound) 追加で指定したいNBT (オプション)
    # data modify storage asset:artifact CustomNBT set value {}

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


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

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

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


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

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

# ここから先は神器側の効果の処理を書く
    summon minecraft:area_effect_cloud ~ ~ ~ {Age:-2147483648,Duration:-1,WaitTime:-2147483648,Tags:["79.HolySymbol","Object","Uninterferable"]}
    function asset:artifact/0261.holy_symbol_lv.1/trigger/recursive


text:
#> asset:artifact/0261.holy_symbol_lv.1/trigger/0.load
#
# 神器に利用するスコアボード等の初期化処理
#
# @within tag/function asset:artifact/load

#> 定義類はここに
# @within function asset:artifact/0261.holy_symbol_lv.1/trigger/**
    scoreboard objectives add 79.HolySymbol dummy


text:
#> asset:artifact/0261.holy_symbol_lv.1/trigger/rejoin_process
#
# 使い方は必ずwikiを見ること
#
# @within tag/function asset:rejoin

execute if entity @a[scores={79.HolySymbol=0..}] run schedule function asset:artifact/0261.holy_symbol_lv.1/trigger/recursive 1t


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

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


text:
#> asset:artifact/0261.holy_symbol_lv.1/trigger/_index.d
# @private

#> 定義類はここに
# @within function asset:artifact/0261.holy_symbol_lv.1/trigger/**
#declare tag 79.HolySymbol


text:
#> asset:artifact/0261.holy_symbol_lv.1/trigger/recursive
#
#
#
# @within function
#   asset:artifact/0261.holy_symbol_lv.1/trigger/3.main
#   asset:artifact/0261.holy_symbol_lv.1/trigger/rejoin_process
#   asset:artifact/0261.holy_symbol_lv.1/trigger/symbol/
#   asset:artifact/0261.holy_symbol_lv.1/trigger/effect/

execute as @e[type=area_effect_cloud,tag=79.HolySymbol] at @s run function asset:artifact/0261.holy_symbol_lv.1/trigger/symbol/

execute as @a[scores={79.HolySymbol=0..}] at @s run function asset:artifact/0261.holy_symbol_lv.1/trigger/effect/


text:
#> asset:artifact/0261.holy_symbol_lv.1/trigger/effect/start
#
#
#
# @within function asset:artifact/0261.holy_symbol_lv.1/trigger/symbol/

# 処理化
    scoreboard players set @s 79.HolySymbol 0
# ステータス強化
    # 攻撃速度
        attribute @s generic.attack_speed modifier add 1-0-1-0-10500000000 "HolySymbol-Modifier" 0.01 multiply
    # 物理ダメージ
        data modify storage api: Argument.UUID set value [I;1,1,261,0]
        data modify storage api: Argument.Amount set value 0.01
        data modify storage api: Argument.Operation set value "multiply"
        function api:modifier/attack/physical/add
    # 魔法ダメージ
        data modify storage api: Argument.UUID set value [I;1,1,261,0]
        data modify storage api: Argument.Amount set value 0.01
        data modify storage api: Argument.Operation set value "multiply"
        function api:modifier/attack/magic/add


text:
#> asset:artifact/0261.holy_symbol_lv.1/trigger/effect/end
#
#
#
# @within function asset:artifact/0261.holy_symbol_lv.1/trigger/effect/

# 効果時間削除
    scoreboard players reset @s 79.HolySymbol
# ステータス強化削除
    # 攻撃速度
        attribute @s generic.attack_speed modifier remove 1-0-1-0-10500000000
    # 物理ダメージ
        data modify storage api: Argument.UUID set value [I;1,1,261,0]
        function api:modifier/attack/physical/remove
    # 魔法ダメージ
        data modify storage api: Argument.UUID set value [I;1,1,261,0]
        function api:modifier/attack/magic/remove


text:
#> asset:artifact/0261.holy_symbol_lv.1/trigger/symbol/add_mp
#
#
#
# @within function asset:artifact/0261.holy_symbol_lv.1/trigger/symbol/

scoreboard players set $Fluctuation Lib 1
function lib:mp/fluctuation