text:
#> asset:artifact/0371.water_spell/trigger/2.check_condition
#
# 神器の発動条件をチェックします
#
# @within function asset:artifact/0371.water_spell/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/0371.water_spell/trigger/3.main


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

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

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

# 敵が居ない場合
    execute positioned ^ ^ ^5 unless entity @e[type=#lib:living,type=!player,tag=Enemy,tag=!Uninterferable,distance=..5] run function asset:artifact/0371.water_spell/trigger/3.1.attack

# 前方に敵が居た場合
    execute positioned ^ ^ ^5 as @e[type=#lib:living,type=!player,tag=Enemy,tag=!Uninterferable,distance=..5,sort=nearest,limit=1] at @s run function asset:artifact/0371.water_spell/trigger/3.1.attack

repo_name: ProjectTSB/TheSkyBlessing

repo_language: mcfunction

mime_type: text/plain


text:
#> asset:artifact/0371.water_spell/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:371} run function asset:artifact/0371.water_spell/trigger/2.check_condition


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

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


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

execute if data storage asset:context {id:57} run function asset:artifact/0057.elemental_sword/give/2.give


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

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

# 神器のID (int) スプレッドシートの値を入れる
    data modify storage asset:artifact ID set value 57
# 神器のベースアイテム
    data modify storage asset:artifact Item set value "minecraft:stick"
# 神器の名前 (TextComponentString)
    data modify storage asset:artifact Name set value '[{"text":"X","color":"red","bold":true,"obfuscated":true},{"text":"x","color":"blue","obfuscated":true},{"text":"_","color":"gold","obfuscated":true},{"text":"エレメンタルソード","color":"yellow","obfuscated":false},{"text":"_","color":"gold","obfuscated":true},{"text":"x","color":"blue","obfuscated":true},{"text":"X","color":"red","obfuscated":true}]'
# 神器の説明文 (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 250
# 神器を発動できるスロット (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 [80]
# 攻撃に関する情報 -攻撃タイプ (string[]) Wikiを参照 (オプション)
    data modify storage asset:artifact AttackInfo.AttackType set value [Physical]
# 攻撃に関する情報 -攻撃属性 (string[]) Wikiを参照 (オプション)
    data modify storage asset:artifact AttackInfo.ElementType set value [Fire,Water,Thunder]
# 攻撃に関する情報 -防御無視 (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 15
# 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 {Enchantments:[{}]}

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


text:
#> asset:artifact/0057.elemental_sword/trigger/3.2.waterattack
#
# 水属性
#
# @within function asset:artifact/0057.elemental_sword/trigger/3.main

# 演出
    particle minecraft:falling_water ~ ~1 ~ 0.4 1 0.4 1 100
    particle minecraft:bubble_pop ~ ~0.5 ~ 0 0 0 0.2 100
    playsound minecraft:item.bucket.fill player @a ~ ~ ~ 1 1
    playsound minecraft:entity.generic.swim player @a ~ ~ ~ 1 1

# ダメージ設定
    # 与えるダメージ = 30
        data modify storage lib: Argument.Damage set value 80.0f
    # 第一属性
        data modify storage lib: Argument.AttackType set value "Physical"
    # 第二属性
        data modify storage lib: Argument.ElementType set value "Water"
    # ダメージ
        function lib:damage/modifier
        function lib:damage/
# リセット
    function lib:damage/reset


text:
#> asset:artifact/0057.elemental_sword/trigger/2.check_condition
#
# 神器の発動条件をチェックします
#
# @within function asset:artifact/0057.elemental_sword/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/0057.elemental_sword/trigger/3.main


text:
#> asset:artifact/0057.elemental_sword/trigger/3.1.fireattack
#
# 火属性
#
# @within function asset:artifact/0057.elemental_sword/trigger/3.main

# 演出
    particle minecraft:flame ~ ~0.5 ~ 0 0.5 0 0.1 100
    playsound minecraft:entity.blaze.shoot player @a ~ ~ ~ 1 0.6

# ダメージ設定
    # 与えるダメージ = 30
        data modify storage lib: Argument.Damage set value 80.0f
    # 第一属性
        data modify storage lib: Argument.AttackType set value "Physical"
    # 第二属性
        data modify storage lib: Argument.ElementType set value "Fire"
    # ダメージ
        function lib:damage/modifier
        function lib:damage/
# リセット
    function lib:damage/reset


text:
#> asset:artifact/0057.elemental_sword/trigger/3.main
#
# 神器のメイン処理部
#
# @within function asset:artifact/0057.elemental_sword/trigger/2.check_condition
#> private
# @private
    #declare score_holder $ElementalSwordAttack

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

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

# 攻撃の度に属性を変えるヤツ
    # 使用回数を取る
        execute store result score $ElementalSwordAttack Temporary run data get storage asset:context Items.mainhand.tag.TSB.RemainingCount
    # 使用回数を3で剰余算
        scoreboard players operation $ElementalSwordAttack Temporary %= $3 Const
    # 属性を変える
        execute if score $ElementalSwordAttack Temporary matches 0 as @e[type=#lib:living,type=!player,tag=Victim,distance=..10] at @s run function asset:artifact/0057.elemental_sword/trigger/3.1.fireattack
        execute if score $ElementalSwordAttack Temporary matches 1 as @e[type=#lib:living,type=!player,tag=Victim,distance=..10] at @s run function asset:artifact/0057.elemental_sword/trigger/3.2.waterattack
        execute if score $ElementalSwordAttack Temporary matches 2 as @e[type=#lib:living,type=!player,tag=Victim,distance=..10] at @s run function asset:artifact/0057.elemental_sword/trigger/3.3.thunderattack
    # リセット
        scoreboard players reset $ElementalSwordAttack Temporary


text:
#> asset:artifact/0057.elemental_sword/trigger/3.3.thunderattack
#
# 雷属性
#
# @within function asset:artifact/0057.elemental_sword/trigger/3.main

    # 演出
        particle crit ~ ~3 ~ 0.025 3 0.025 0 100 normal @a
        playsound entity.lightning_bolt.thunder player @a ~ ~ ~ 1 2

# ダメージ設定
    # 与えるダメージ = 30
        data modify storage lib: Argument.Damage set value 80.0f
    # 第一属性
        data modify storage lib: Argument.AttackType set value "Physical"
    # 第二属性
        data modify storage lib: Argument.ElementType set value "Thunder"
    # ダメージ
        function lib:damage/modifier
        function lib:damage/
# リセット
    function lib:damage/reset


text:
#> asset:artifact/0057.elemental_sword/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:57} run function asset:artifact/0057.elemental_sword/trigger/2.check_condition


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

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


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

execute if data storage asset:context {id:844} run function asset:artifact/0844.closed_eyes_of_love/give/2.give


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

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

# 神器のID (int) スプレッドシートの値を入れる
    data modify storage asset:artifact ID set value 844
# 神器のベースアイテム
    data modify storage asset:artifact Item set value "minecraft:heart_of_the_sea"
# 神器の名前 (TextComponentString)
    data modify storage asset:artifact Name set value '{"text":"閉じた恋の瞳","color":"green"}'
# 神器の説明文 (TextComponentString[])
    data modify storage asset:artifact Lore set value ['{"text":"頭上の敵を無意識の内に攻撃する。","color":"green"}']
# MP以外の消費物 (TextComponentString) (オプション)
    # data modify storage asset:artifact CostText set value
# 使用回数 (int) (オプション)
    # data modify storage asset:artifact RemainingCount set value
# 神器を発動できるスロット (string) Wikiを参照
    data modify storage asset:artifact Slot set value "hotbar"
# 神器のトリガー (string) Wikiを参照
    data modify storage asset:artifact Trigger set value "passive"
# 神器の発動条件 (TextComponentString) (オプション)
    data modify storage asset:artifact Condition set value '{"text":"頭上に敵Mobが来たとき。"}'
# 攻撃に関する情報 -Damage量 (literal[]/literal) Wikiを参照 (オプション)
    data modify storage asset:artifact AttackInfo.Damage set value 600
# 攻撃に関する情報 -攻撃タイプ (string[]) Wikiを参照 (オプション)
    data modify storage asset:artifact AttackInfo.AttackType set value [Magic]
# 攻撃に関する情報 -攻撃属性 (string[]) Wikiを参照 (オプション)
    data modify storage asset:artifact AttackInfo.ElementType set value [Thunder]
# 攻撃に関する情報 -防御無視 (boolean) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.BypassResist set value
# 攻撃に関する情報 -範囲攻撃 (string) Wikiを参照 (オプション)
    data modify storage asset:artifact AttackInfo.IsRangeAttack set value "every"
# 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション)
    data modify storage asset:artifact AttackInfo.AttackRange set value 3
# MP消費量 (int)
    data modify storage asset:artifact MPCost set value 45
# MP必要量 (int) (オプション)
    # data modify storage asset:artifact MPRequire set value
# 神器のクールダウン (int) (オプション)
    data modify storage asset:artifact LocalCooldown set value 300
# グローバルクールダウン (int) (オプション)
    # data modify storage asset:artifact SpecialCooldown set value
# クールダウンによる使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    data modify storage asset:artifact DisableCooldownMessage set value true
# MP不足による使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    data modify storage asset:artifact DisableMPMessage set value true
# 扱える神 (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/0844.closed_eyes_of_love/trigger/2.check_condition
#
# 神器の発動条件をチェックします
#
# @within function asset:artifact/0844.closed_eyes_of_love/trigger/1.trigger

# ID指定する
    data modify storage asset:artifact TargetID set value 844
# 神器の基本的な条件の確認を行うfunction、成功している場合CanUsedタグが付く
    function asset:artifact/common/check_condition/hotbar
# 他にアイテム等確認する場合はここに書く
#範囲内に敵がいるか確認
    execute positioned ~-1 ~2 ~-1 unless entity @e[type=#lib:living,tag=Enemy,dx=1,dy=1,dz=1] run tag @s remove CanUsed

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


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

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

# ここから先は神器側の効果の処理を書く
# vfx
    function asset:artifact/0844.closed_eyes_of_love/trigger/3.1.vfx

# damage
    function asset:artifact/0844.closed_eyes_of_love/trigger/3.1.damage


text:
#> asset:artifact/0844.closed_eyes_of_love/trigger/3.1.vfx
#
# vfx
#
# @within function asset:artifact/0844.closed_eyes_of_love/trigger/3.main

# 音
    playsound minecraft:item.trident.return player @a[distance=..16] ~ ~ ~ 1 2 1
    playsound ogg:random.levelup player @a[distance=..16] ~ ~ ~ 1 2 1

# パーティクル
    execute positioned ~ ~2.5 ~ run particle block_marker light ^0.15 ^ ^ 0 0 0 0 1


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

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


text:
#> asset:artifact/0844.closed_eyes_of_love/trigger/3.1.damage
#
#
#
# @within function asset:artifact/0844.closed_eyes_of_love/trigger/3.main

# ダメージ
    # 与えるダメージ
        data modify storage lib: Argument.Damage set value 600.0f
    # 魔法属性
        data modify storage lib: Argument.AttackType set value "Magic"
    # 無属性
        data modify storage lib: Argument.ElementType set value "Thunder"
    # ダメージ
        function lib:damage/modifier
        execute positioned ~-1 ~2 ~-1 as @e[type=#lib:living,tag=Enemy,dx=1,dy=1,dz=1] run function lib:damage/
# リセット
    function lib:damage/reset


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

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


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

execute if data storage asset:context {id:218} run function asset:artifact/0218.iron_storm/give/2.give


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

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

# 神器のID (int) スプレッドシートの値を入れる
    data modify storage asset:artifact ID set value 218
# 神器のベースアイテム
    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":"40ブロック先に天からの砲撃支援を行う。"}']
# MP以外の消費物 (TextComponentString) (オプション)
    # data modify storage asset:artifact CostText set value
# 使用回数 (int) (オプション)
    data modify storage asset:artifact RemainingCount set value 135
# 神器を発動できるスロット (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 "???"
# 攻撃に関する情報 -攻撃タイプ (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
# 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.AttackRange set value
# MP消費量 (int)
    data modify storage asset:artifact MPCost set value 120
# 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"]
# カスタムNBT (NBTCompound) 追加で指定したいNBT (オプション)
    # data modify storage asset:artifact CustomNBT set value {}

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


text:
#> asset:artifact/0218.iron_storm/trigger/3.1.entity_manager
#
# 処理対象エンティティに対して着地判定function実行、scheduleを再実行
#
# @within function
#   asset:artifact/0218.iron_storm/trigger/3.main
#   asset:artifact/0218.iron_storm/trigger/3.1.entity_manager

# 処理対象エンティティに対してfunction実行
    execute as @e[type=iron_golem,tag=DA.InAir] run function asset:artifact/0218.iron_storm/trigger/3.2.check_entity

# 次tickのmanager実行予約
    execute if entity @e[type=iron_golem,tag=DA.InAir,limit=1] run schedule function asset:artifact/0218.iron_storm/trigger/3.1.entity_manager 1t replace


text:
#> asset:artifact/0218.iron_storm/trigger/2.check_condition
#
# 神器の発動条件をチェックします
#
# @within function asset:artifact/0218.iron_storm/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/0218.iron_storm/trigger/3.main


text:
#> asset:artifact/0218.iron_storm/trigger/3.3.blast
#
# ダメージ、音、パーティクルを出したあと処理対象タグを剥がす
#
# @within function asset:artifact/0218.iron_storm/trigger/3.2.check_entity

#> private
#
# @private
    #declare score_holder $70
    #declare score_holder $DamageCoefficient
    #declare score_holder $DA.OwnerID
    #declare tag DA.Owner

# 実行者取得
    scoreboard players operation $DA.OwnerID Temporary = @s DA.OwnerID
    execute as @a if score @s UserID = $DA.OwnerID Temporary run tag @s add DA.Owner

# ダメージ係数計算(最大ダメージの30%~100%),計算結果: 係数[%]
    execute store result score $DamageCoefficient Temporary run function lib:random/
    scoreboard players operation $DamageCoefficient Temporary %= $70 Const
    scoreboard players add $DamageCoefficient Temporary 30

# 敵へのダメージ(最大500)
    execute store result storage lib: Argument.Damage float 5 run scoreboard players get $DamageCoefficient Temporary
    data modify storage lib: Argument.AttackType set value "Physical"
    execute as @p[tag=DA.Owner] run function lib:damage/modifier
    execute as @e[type=#lib:living,tag=!Friend,distance=..5] run function lib:damage/
    function lib:damage/reset

# 味方へのダメージ(最大100)
    execute store result storage lib: Argument.Damage float 1 run scoreboard players get $DamageCoefficient Temporary
    data modify storage lib: Argument.AttackType set value "Physical"
    data modify storage lib: Argument.DeathMessage set value ['[{"translate": "%1$sは鉄の雨に巻き込まれた。","with":[{"selector":"@s"}]}]']
    execute as @p[tag=DA.Owner] run function lib:damage/modifier
    execute as @e[type=#lib:living,tag=Friend,distance=..5] run function lib:damage/
    function lib:damage/reset

# 音
    playsound entity.generic.explode player @a[distance=..100] ~ ~ ~ 1 1 1

# パーティクル
    particle explosion ~ ~1 ~ 1.5 1 1.5 0 15 force

# 空中判定タグ削除
    tag @s remove DA.InAir

# reset
    scoreboard players reset $DA.OwnerID Temporary
    scoreboard players reset $DamageCoefficient Temporary
    tag @a[tag=DA.Owner] remove DA.Owner


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

#> private
#
# @private
    #declare tag DA.Number1
    #declare tag DA.Number2
    #declare tag DA.Number3
    #declare tag DA.Number4
    #declare tag DA.Number5
    #declare tag DA.Number6
    #declare tag DA.Number7
    #declare tag DA.Number8
    #declare tag DA.Number9
    #declare tag IronStormInit

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

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

# アイアンゴーレム召喚
    summon iron_golem 0 0 0 {Tags:["IronStormInit","DA.Number1","DA.InAir","Friend"],OnGround:0b}
    summon iron_golem 0 0 0 {Tags:["IronStormInit","DA.Number2","DA.InAir","Friend"],OnGround:0b}
    summon iron_golem 0 0 0 {Tags:["IronStormInit","DA.Number3","DA.InAir","Friend"],OnGround:0b}
    summon iron_golem 0 0 0 {Tags:["IronStormInit","DA.Number4","DA.InAir","Friend"],OnGround:0b}
    summon iron_golem 0 0 0 {Tags:["IronStormInit","DA.Number5","DA.InAir","Friend"],OnGround:0b}
    summon iron_golem 0 0 0 {Tags:["IronStormInit","DA.Number6","DA.InAir","Friend"],OnGround:0b}
    summon iron_golem 0 0 0 {Tags:["IronStormInit","DA.Number7","DA.InAir","Friend"],OnGround:0b}
    summon iron_golem 0 0 0 {Tags:["IronStormInit","DA.Number8","DA.InAir","Friend"],OnGround:0b}
    summon iron_golem 0 0 0 {Tags:["IronStormInit","DA.Number9","DA.InAir","Friend"],OnGround:0b}

# アイアンゴーレムに使用者のID保存
    scoreboard players operation @e[type=iron_golem,tag=IronStormInit,distance=..1,x=0,y=0,z=0] DA.OwnerID = @s UserID

# アイアンゴーレム拡散
    execute rotated ~ 0 positioned ^ ^ ^40 run spreadplayers ~ ~ 0 15 false @e[type=iron_golem,tag=IronStormInit,distance=..1,x=0,y=0,z=0]

# 高高度へ移動
    execute rotated ~ 0 positioned ^ ^ ^40 positioned ~-20 0 ~-20 as @e[type=iron_golem,tag=IronStormInit,tag=DA.Number1,dx=40,dy=320,dz=40] at @s run tp @s ~ 320 ~
    execute rotated ~ 0 positioned ^ ^ ^40 positioned ~-20 0 ~-20 as @e[type=iron_golem,tag=IronStormInit,tag=DA.Number2,dx=40,dy=320,dz=40] at @s run tp @s ~ 325 ~
    execute rotated ~ 0 positioned ^ ^ ^40 positioned ~-20 0 ~-20 as @e[type=iron_golem,tag=IronStormInit,tag=DA.Number3,dx=40,dy=320,dz=40] at @s run tp @s ~ 330 ~
    execute rotated ~ 0 positioned ^ ^ ^40 positioned ~-20 0 ~-20 as @e[type=iron_golem,tag=IronStormInit,tag=DA.Number4,dx=40,dy=320,dz=40] at @s run tp @s ~ 400 ~
    execute rotated ~ 0 positioned ^ ^ ^40 positioned ~-20 0 ~-20 as @e[type=iron_golem,tag=IronStormInit,tag=DA.Number5,dx=40,dy=320,dz=40] at @s run tp @s ~ 405 ~
    execute rotated ~ 0 positioned ^ ^ ^40 positioned ~-20 0 ~-20 as @e[type=iron_golem,tag=IronStormInit,tag=DA.Number6,dx=40,dy=320,dz=40] at @s run tp @s ~ 410 ~
    execute rotated ~ 0 positioned ^ ^ ^40 positioned ~-20 0 ~-20 as @e[type=iron_golem,tag=IronStormInit,tag=DA.Number7,dx=40,dy=320,dz=40] at @s run tp @s ~ 480 ~
    execute rotated ~ 0 positioned ^ ^ ^40 positioned ~-20 0 ~-20 as @e[type=iron_golem,tag=IronStormInit,tag=DA.Number8,dx=40,dy=320,dz=40] at @s run tp @s ~ 485 ~
    execute rotated ~ 0 positioned ^ ^ ^40 positioned ~-20 0 ~-20 as @e[type=iron_golem,tag=IronStormInit,tag=DA.Number9,dx=40,dy=320,dz=40] at @s run tp @s ~ 490 ~

# 初期化タグ削除
    execute rotated ~ 0 positioned ^ ^ ^40 positioned ~-20 0 ~-20 as @e[type=iron_golem,tag=IronStormInit,dx=40,dy=500,dz=40] run tag @s remove IronStormInit

# 音
    playsound minecraft:entity.iron_golem.death player @s ~ ~ ~ 1 0.75 1

# エンティティ管理スケジュール実行
    schedule function asset:artifact/0218.iron_storm/trigger/3.1.entity_manager 1t replace


text:
#> asset:artifact/0218.iron_storm/trigger/3.2.check_entity
#
# 神器のメイン処理部
#
# @within function asset:artifact/0218.iron_storm/trigger/3.1.entity_manager

#> private
#
# @private
    #declare score_holder $IsOnGround

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

# 着地しているか判定
    execute store result score $IsOnGround Temporary run data get entity @s OnGround

# 着地していないなら速度代入
    execute if score $IsOnGround Temporary matches 0 run data modify entity @s Motion set value [0d,-5d,0d]

# 着地していたら爆風function実行
    execute if score $IsOnGround Temporary matches 1 at @s if entity @s[y=256,dy=-256] run function asset:artifact/0218.iron_storm/trigger/3.3.blast


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

#> 定義類はここに
# @within function asset:artifact/0218.iron_storm/trigger/**
    scoreboard objectives add DA.OwnerID dummy


text:
#> asset:artifact/0218.iron_storm/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:218} run function asset:artifact/0218.iron_storm/trigger/2.check_condition


text:
#> asset:artifact/0218.iron_storm/trigger/_index.d
# @private
#
#> tag
# @within function
#   asset:artifact/0218.iron_storm/trigger/**
    #declare tag DA.InAir


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

execute if data storage asset:context {id:159} run function asset:artifact/0159.extracted_mp_bottle/give/2.give


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

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

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

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


text:
#> asset:artifact/0159.extracted_mp_bottle/trigger/2.check_condition
#
# 神器の発動条件をチェックします
#
# @within function asset:artifact/0159.extracted_mp_bottle/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/0159.extracted_mp_bottle/trigger/3.main


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

#> Private
# @private
    #declare score_holder $Random

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

# ここから先は神器側の効果の処理を書く
    execute store result score $Random Temporary run function lib:random/
    scoreboard players operation $Random Temporary %= $6 Const
    scoreboard players set $Fluctuation Lib 30
    scoreboard players operation $Fluctuation Lib -= $Random Temporary
    tellraw @s ["[ ",{"score": {"name": "$Random","objective": "Temporary"},"color": "light_purple"},{"text": " ] MPが天使の取り分となり、[ ","color": "white"},{"score": {"name": "$Fluctuation","objective": "Lib"},"color": "green"},{"text": " ] MPが回復した！","color": "white"}]
    function lib:mp/fluctuation
    scoreboard players reset $Random
    execute anchored eyes run particle dust 1 0.31 0.91 0.3 ^ ^ ^ 0.4 0.4 0.4 0 20 normal @s


text:
#> asset:artifact/0159.extracted_mp_bottle/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:159} run function asset:artifact/0159.extracted_mp_bottle/trigger/2.check_condition


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

execute if data storage asset:context {id:608} run function asset:artifact/0608.u_and_w_06_empty/give/2.give


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

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

# 神器のID (int) スプレッドシートの値を入れる
    data modify storage asset:artifact ID set value 608
# 神器のベースアイテム
    data modify storage asset:artifact Item set value "minecraft:stick"
# 神器の名前 (TextComponentString)
    data modify storage asset:artifact Name set value '{"text":"U&W-06<Empty>","color":"gray","bold":true,"italic":false,"underlined":true}'
# 神器の説明文 (TextComponentString[])
    data modify storage asset:artifact Lore set value ['{"text":"とある神が協力をして作り上げた神器 "}','{"text":"しかし、お互い馬が合わなかったのか "}','[{"text":"少し"},{"text":"歪な性能","color":"gray","italic":true},{"text":"をしている"}]','{"text":" "}','{"text":"弾が入っていない","bold":true,"underlined":true}']
# 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 "mainhand"
# 神器のトリガー (string) Wikiを参照
    data modify storage asset:artifact Trigger set value "sneak1s"
# 神器の発動条件 (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 40
# 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", "Wi-ki"]
# カスタムNBT (NBTCompound) 追加で指定したいNBT (オプション)
    # data modify storage asset:artifact CustomNBT set value {}

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


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

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

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


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

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

# ここから先は神器側の効果の処理を書く
    stopsound @a * entity.item.break
    playsound block.iron_trapdoor.close player @a ~ ~ ~ 1 0.5
    playsound entity.horse.armor player @p ~ ~ ~ 0.6 0.6
    data modify storage api: Argument.ID set value 607
    function api:artifact/give/from_id


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

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


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

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


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

execute if data storage asset:context {id:253} run function asset:artifact/0253.holy_barrier/give/2.give


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

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

# 神器のID (int) スプレッドシートの値を入れる
    data modify storage asset:artifact ID set value 253
# 神器のベースアイテム
    data modify storage asset:artifact Item set value "minecraft:glass_pane"
# 神器の名前 (TextComponentString)
    data modify storage asset:artifact Name set value '{"text":"ホーリー・バリア","color":"white"}'
# 神器の説明文 (TextComponentString[])
    data modify storage asset:artifact Lore set value ['{"text":"罠カード","color":"light_purple"}','{"text":"(1)相手モンスターの攻撃時に発動する。"}','{"text":"発動プレイヤーを攻撃対象に"}','{"text":"しているモンスターを全て破壊する。"}']
# 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 "hotbar"
# 神器のトリガー (string) Wikiを参照
    data modify storage asset:artifact Trigger set value "onDamageFromEntity"
# 神器の発動条件 (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 [Magic]
# 攻撃に関する情報 -攻撃属性 (string[]) Wikiを参照 (オプション)
    data modify storage asset:artifact AttackInfo.ElementType set value [None]
# 攻撃に関する情報 -防御無視 (boolean) Wikiを参照 (オプション)
    data modify storage asset:artifact AttackInfo.BypassResist set value 1b
# 攻撃に関する情報 -範囲攻撃 (string) Wikiを参照 (オプション)
    data modify storage asset:artifact AttackInfo.IsRangeAttack set value "every"
# 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.AttackRange set value 30
# 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 16000
# クールダウンによる使用不可のメッセージを非表示にするか否か (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/0253.holy_barrier/trigger/3.1.particle_barrier
#
#
#
# @within function asset:artifact/0253.holy_barrier/trigger/3.main

# バリアのパーティクル
    particle block_marker white_stained_glass_pane ^-0.5 ^1 ^2 0 0 0 1 1 normal @s
    particle block_marker white_stained_glass_pane ^0.5 ^1 ^2 0 0 0 1 1 normal @s
    particle block_marker white_stained_glass_pane ^ ^ ^2 0 0 0 1 1 normal @s
    particle block_marker white_stained_glass_pane ^1 ^ ^2 0 0 0 1 1 normal @s
    particle block_marker white_stained_glass_pane ^-1 ^ ^2 0 0 0 1 1 normal @s
    particle block_marker white_stained_glass_pane ^-0.5 ^-1 ^2 0 0 0 1 1 normal @s
    particle block_marker white_stained_glass_pane ^0.5 ^-1 ^2 0 0 0 1 1 normal @s


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

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

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


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

#> prv
# @private
    #declare tag 71.Target

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

# ここから先は神器側の効果の処理を書く
# 攻撃対象にタグ付け
    tag @e[type=#lib:living,tag=!Enemy.Boss,tag=!Uninterferable,predicate=asset:artifact/0253.holy_barrier/is_angry] add 71.Target

#音
    playsound minecraft:block.respawn_anchor.deplete player @a[distance=..16] ~ ~ ~ 1 1 1
    playsound entity.experience_orb.pickup player @a[distance=..16] ~ ~ ~ 1 1.2 1

# particle
    execute anchored eyes rotated ~ 0 positioned ^ ^ ^0.2 run function asset:artifact/0253.holy_barrier/trigger/3.1.particle_barrier
    execute at @e[type=#lib:living,tag=71.Target] run function asset:artifact/0253.holy_barrier/trigger/3.2.particle_reflect

# ダメージ
    execute as @e[type=#lib:living,tag=71.Target] run function asset:artifact/0253.holy_barrier/trigger/3.3.damage


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

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


text:
#> asset:artifact/0253.holy_barrier/trigger/3.2.particle_reflect
#
#
#
# @within function asset:artifact/0253.holy_barrier/trigger/3.main

# 攻撃対象へ発生するパーティクル
    particle end_rod ~ ~ ~ 0.5 0.25 0.5 0.05 20
    particle end_rod ~ ~0.5 ~ 0.5 0.25 0.5 0.05 20
    particle end_rod ~ ~1 ~ 0.4 0.25 0.4 0.05 10
    particle end_rod ~ ~1.5 ~ 0.25 0.25 0.25 0.05 10
    particle end_rod ~ ~2 ~ 0.25 0.25 0.25 0.05 10
    particle end_rod ~ ~2.5 ~ 0.25 0.25 0.25 0.05 10
    particle end_rod ~ ~3 ~ 0.2 0.25 0.2 0.05 5
    particle end_rod ~ ~3.5 ~ 0.2 0.25 0.2 0.05 5
    particle end_rod ~ ~4 ~ 0.1 0.1 0.1 0.05 5
    particle end_rod ~ ~4.5 ~ 0.1 0.25 0.1 0.05 5


text:
#> asset:artifact/0253.holy_barrier/trigger/3.3.damage
#
#
#
# @within function
#   asset:artifact/0253.holy_barrier/trigger/3.main
#   asset:artifact/0253.holy_barrier/trigger/3.3.damage

# ダメージを与える
    data modify storage lib: Argument.Damage set value 9999f
    data modify storage lib: Argument.AttackType set value "Magic"
    data modify storage lib: Argument.FixedDamage set value true
    function lib:damage/modifier
    function lib:damage/
    function lib:damage/reset

# まだ息があるようならもう一度ダメージを与える
    execute if entity @s[tag=!Death] run function asset:artifact/0253.holy_barrier/trigger/3.3.damage


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

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


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

execute if data storage asset:context {id:317} run function asset:artifact/0317.sea_storm_sword/give/2.give


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

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

# 神器のID (int) スプレッドシートの値を入れる
    data modify storage asset:artifact ID set value 317
# 神器のベースアイテム
    data modify storage asset:artifact Item set value "minecraft:stick"
# 神器の名前 (TextComponentString)
    data modify storage asset:artifact Name set value '{"text":"荒波の剣","color":"dark_blue"}'
# 神器の説明文 (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 [280,320]
# 攻撃に関する情報 -攻撃タイプ (string[]) Wikiを参照 (オプション)
    data modify storage asset:artifact AttackInfo.AttackType set value [Physical]
# 攻撃に関する情報 -攻撃属性 (string[]) Wikiを参照 (オプション)
    data modify storage asset:artifact AttackInfo.ElementType set value [Water]
# 攻撃に関する情報 -防御無視 (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 10
# MP必要量 (int) (オプション)
    # data modify storage asset:artifact MPRequire set value
# 神器のクールダウン (int) (オプション)
    data modify storage asset:artifact LocalCooldown set value 8
# グローバルクールダウン (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"]
# カスタムNBT (NBTCompound) 追加で指定したいNBT (オプション)
    # data modify storage asset:artifact CustomNBT set value {}

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


text:
#> asset:artifact/0317.sea_storm_sword/trigger/2.check_condition
#
# 神器の発動条件をチェックします
#
# @within function asset:artifact/0317.sea_storm_sword/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/0317.sea_storm_sword/trigger/3.main


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

#> Private
# @private
    #declare score_holder $RandomDamage

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

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

# 演出
    execute at @e[type=#lib:living,type=!player,tag=Victim,distance=..10] run function asset:artifact/0317.sea_storm_sword/trigger/vfx
    playsound item.trident.throw player @a ~ ~ ~ 0.8 0.7

# ダメージ
    #ダメージブレのための処理
        # 疑似乱数取得
            execute store result score $RandomDamage Temporary run function lib:random/
        # 剰余算する。0~40の追加ダメージ
            scoreboard players operation $RandomDamage Temporary %= $41 Const
        # 最低ダメージ設定
            scoreboard players add $RandomDamage Temporary 280
    #ダメージセット
        execute store result storage lib: Argument.Damage float 1 run scoreboard players get $RandomDamage Temporary
    # 第一属性
        data modify storage lib: Argument.AttackType set value "Physical"
    # 第二属性
        data modify storage lib: Argument.ElementType set value "Water"
# 補正functionを実行
    function lib:damage/modifier
# ダメージを与える
    execute as @e[type=#lib:living,type=!player,tag=Victim,distance=..10] run function lib:damage/

# リセット
    function lib:damage/reset
    scoreboard players reset $RandomDamage Temporary
    scoreboard players reset $Rotate Temporary


text:
#> asset:artifact/0317.sea_storm_sword/trigger/vfx
#
# 演出の処理を実行
#
# @within function asset:artifact/0317.sea_storm_sword/trigger/3.main

# 演出
    particle dolphin ~ ~1 ~ 0.4 0.5 0.4 0 200 normal @a
    particle cloud ~ ~1 ~ 0.5 0.5 0.5 0.1 20
    particle block water ~ ~ ~ 0.4 1.4 0.4 0 100
    playsound entity.dolphin.jump player @a ~ ~ ~ 1 2
    playsound entity.dolphin.splash player @a ~ ~ ~ 1.2 1
    playsound block.glass.break player @a ~ ~ ~ 1.2 1


text:
#> asset:artifact/0317.sea_storm_sword/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:317} run function asset:artifact/0317.sea_storm_sword/trigger/2.check_condition


text:
#> asset:artifact/0317.sea_storm_sword/trigger/_index.d
# @private

#> tag
# @within function
#   asset:artifact/0317.sea_storm_sword/trigger/**
    #declare score_holder $Rotate


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

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


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

execute if data storage asset:context {id:260} run function asset:artifact/0260.heal_lv.1/give/2.give


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

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

# 神器のID (int) スプレッドシートの値を入れる
    data modify storage asset:artifact ID set value 260
# 神器のベースアイテム
    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":"体力を","color":"white"},{"text":"5.7","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 "mainhand"
# 神器のトリガー (string) Wikiを参照
    data modify storage asset:artifact Trigger set value "onClick"
# 神器の発動条件 (TextComponentString) (オプション)
    # data modify storage asset:artifact Condition set value
# 攻撃に関する情報 -Damage量 (literal[]/literal) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.Damage set value [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 15
# MP必要量 (int) (オプション)
    # data modify storage asset:artifact MPRequire set value
# 神器のクールダウン (int) (オプション)
    data modify storage asset:artifact LocalCooldown set value 20
# グローバルクールダウン (int) (オプション)
    # data modify storage asset:artifact SpecialCooldown set value
# クールダウンによる使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    data modify storage asset:artifact DisableCooldownMessage set value true
# 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/0260.heal_lv.1/trigger/2.check_condition
#
# 神器の発動条件をチェックします
#
# @within function asset:artifact/0260.heal_lv.1/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/0260.heal_lv.1/trigger/3.main


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

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

# ここから先は神器側の効果の処理を書く
# 演出
    playsound minecraft:entity.evoker.cast_spell player @a ~ ~ ~ 0.6 0.8
    playsound minecraft:entity.evoker.cast_spell player @a ~ ~ ~ 0.8 1.8
    playsound minecraft:entity.evoker.prepare_summon player @a ~ ~ ~ 0.6 1.17
    playsound minecraft:block.enchantment_table.use player @a ~ ~ ~ 1.0 1.4
    summon minecraft:area_effect_cloud ~ ~0.3 ~ {Age:0,Duration:5,WaitTime:0,Radius:3f,Tags:[],Particle:"dust 1 1 0.5 1"}
    summon minecraft:area_effect_cloud ~ ~0.0 ~ {Age:0,Duration:5,WaitTime:0,Radius:3f,Tags:[],Particle:"dust 1 1 0.5 1"}
    summon minecraft:area_effect_cloud ~ ~0.2 ~ {Age:0,Duration:1,WaitTime:0,Radius:3f,Tags:[],Particle:"totem_of_undying"}
# 回復
    data modify storage lib: Argument.Heal set value 5.7f
    function lib:heal/modifier
    execute as @a[distance=..3,sort=nearest,limit=6] run function lib:heal/
# リセット
    function lib:heal/reset


text:
#> asset:artifact/0260.heal_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{mainhand:260} run function asset:artifact/0260.heal_lv.1/trigger/2.check_condition


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

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


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

execute if data storage asset:context {id:71} run function asset:artifact/0071.ariadne_thread/give/2.give


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

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

# 神器のID (int) スプレッドシートの値を入れる
    data modify storage asset:artifact ID set value 71
# 神器のベースアイテム
    data modify storage asset:artifact Item set value "minecraft:carrot_on_a_stick"
# 神器の名前 (TextComponentString)
    data modify storage asset:artifact Name set value '{"text":"アリアドネの糸","color":"white"}'
# 神器の説明文 (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 1
# 神器を発動できるスロット (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 10000
# 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", "Wi-ki", "Rumor"]
# カスタムNBT (NBTCompound) 追加で指定したいNBT (オプション)
    # data modify storage asset:artifact CustomNBT set value {}

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


text:
#> asset:artifact/0071.ariadne_thread/trigger/2.check_condition
#
# 神器の発動条件をチェックします
#
# @within function asset:artifact/0071.ariadne_thread/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/0071.ariadne_thread/trigger/3.main


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

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

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

# 落下速度低下付与
    effect give @s minecraft:slow_falling 1 1

# テレポート
    execute in minecraft:overworld run tp @s 23 3 24

# 演出
    particle portal 23 3 24 0 0 0 2 250 force @a
    particle effect 23 3 24 0 10 0 0.1 250 force @a
    playsound entity.illusioner.prepare_blindness player @s 23 3 24 1 0 1


text:
#> asset:artifact/0071.ariadne_thread/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:71} run function asset:artifact/0071.ariadne_thread/trigger/2.check_condition


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

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


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

execute if data storage asset:context {id:125} run function asset:artifact/0125.storm_bow/give/2.give


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

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

# 神器のID (int) スプレッドシートの値を入れる
    data modify storage asset:artifact ID set value 125
# 神器のベースアイテム
    data modify storage asset:artifact Item set value "minecraft:carrot_on_a_stick"
# 神器の名前 (TextComponentString)
    data modify storage asset:artifact Name set value '{"text":"ストームボウ","color":"dark_blue","bold":true,"italic":false,"underlined":true}'
# 神器の説明文 (TextComponentString[])
    data modify storage asset:artifact Lore set value ['{"text":"周囲のモブの上から矢を降らす"}']
# MP以外の消費物 (TextComponentString) (オプション)
    data modify storage asset:artifact CostText set value '[{"translate":"item.minecraft.arrow"},{"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
# 攻撃に関する情報 -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", "Urban", "Rumor"]
# カスタムNBT (NBTCompound) 追加で指定したいNBT (オプション)
    # data modify storage asset:artifact CustomNBT set value {}

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


text:
#> asset:artifact/0125.storm_bow/trigger/2.check_condition
#
# 神器の発動条件をチェックします
#
# @within function asset:artifact/0125.storm_bow/trigger/1.trigger
#> Private
# @private
    #declare score_holder $ArrowCount

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

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


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

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

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

# 不発処理
    execute unless entity @e[type=#lib:living,type=!player,tag=!Uninterferable,distance=..15,limit=1] run playsound minecraft:block.dispenser.fail player @a ~ ~ ~ 1 2
    execute unless entity @e[type=#lib:living,type=!player,tag=!Uninterferable,distance=..15,limit=1] run particle minecraft:smoke ~ ~1 ~ 0 0 0 0.1 30

# 成功時の処理
    execute if entity @e[type=#lib:living,type=!player,tag=!Uninterferable,distance=..15,limit=1] run clear @s minecraft:arrow 1
    execute if entity @e[type=#lib:living,type=!player,tag=!Uninterferable,distance=..15,limit=1] run playsound minecraft:entity.arrow.shoot player @a ~ ~ ~ 1 1

# 矢を降らす
    tag @e[type=#lib:living,type=!player,tag=!Uninterferable,distance=..15,sort=random,limit=1] add ArrowTarget
    execute at @e[type=#lib:living,type=!player,tag=ArrowTarget,distance=..15,limit=1] run summon arrow ~-0.4 ~7 ~ {pickup:0b,damage:10d,crit:1b,Motion:[0.2,-1.0,0.0]}
    execute at @e[type=#lib:living,type=!player,tag=ArrowTarget,distance=..15,limit=1] run particle minecraft:cloud ~-0.4 ~7 ~ 0.1 0 0.1 0.01 10
    tag @e[tag=ArrowTarget,limit=1] remove ArrowTarget

# 2回目
    tag @e[type=#lib:living,type=!player,tag=!Uninterferable,distance=..15,sort=random,limit=1] add ArrowTarget
    execute at @e[type=#lib:living,type=!player,tag=ArrowTarget,distance=..15,limit=1] run summon arrow ~ ~6 ~1 {pickup:0b,damage:10d,crit:1b,Motion:[0.0,-1.0,-0.3]}
    execute at @e[type=#lib:living,type=!player,tag=ArrowTarget,distance=..15,limit=1] run particle minecraft:cloud ~ ~6 ~1 0.1 0 0.1 0.01 10
    tag @e[tag=ArrowTarget,limit=1] remove ArrowTarget

# 3回目
    tag @e[type=#lib:living,type=!player,tag=!Uninterferable,distance=..15,sort=random,limit=1] add ArrowTarget
    execute at @e[type=#lib:living,type=!player,tag=ArrowTarget,distance=..15,limit=1] run summon arrow ~ ~6 ~1 {pickup:0b,damage:10d,crit:1b,Motion:[0.0,-1.0,-0.3]}
    execute at @e[type=#lib:living,type=!player,tag=ArrowTarget,distance=..15,limit=1] run particle minecraft:cloud ~ ~6 ~1 0.1 0 0.1 0.01 10
    tag @e[tag=ArrowTarget,limit=1] remove ArrowTarget

# 4回目
    tag @e[type=#lib:living,type=!player,tag=!Uninterferable,distance=..15,sort=random,limit=1] add ArrowTarget
    execute at @e[type=#lib:living,type=!player,tag=ArrowTarget,distance=..15,limit=1] run summon arrow ~0.4 ~4 ~1.6 {pickup:0b,damage:10d,crit:1b,Motion:[-0.2,-1.0,-0.8]}
    execute at @e[type=#lib:living,type=!player,tag=ArrowTarget,distance=..15,limit=1] run particle minecraft:cloud ~0.4 ~4 ~1.6 0.1 0 0.1 0.01 10
    tag @e[tag=ArrowTarget,limit=1] remove ArrowTarget

# 5回目
    tag @e[type=#lib:living,type=!player,tag=!Uninterferable,distance=..15,sort=random,limit=1] add ArrowTarget
    execute at @e[type=#lib:living,type=!player,tag=ArrowTarget,distance=..15,limit=1] run summon arrow ~0.4 ~7 ~ {pickup:0b,damage:10d,crit:1b,Motion:[-0.2,-1.0,0.0]}
    execute at @e[type=#lib:living,type=!player,tag=ArrowTarget,distance=..15,limit=1] run particle minecraft:cloud ~0.4 ~7 ~ 0.1 0 0.1 0.01 10
    tag @e[tag=ArrowTarget,limit=1] remove ArrowTarget


text:
#> asset:artifact/0125.storm_bow/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:125} run function asset:artifact/0125.storm_bow/trigger/2.check_condition


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

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


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

execute if data storage asset:context {id:373} run function asset:artifact/0373.ice_sorcery/give/2.give


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

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

# 神器のID (int) スプレッドシートの値を入れる
    data modify storage asset:artifact ID set value 373
# 神器のベースアイテム
    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"}'
# 神器の説明文 (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 "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 [100]
# 攻撃に関する情報 -攻撃タイプ (string[]) Wikiを参照 (オプション)
    data modify storage asset:artifact AttackInfo.AttackType set value [Magic]
# 攻撃に関する情報 -攻撃属性 (string[]) Wikiを参照 (オプション)
    data modify storage asset:artifact AttackInfo.ElementType set value [Water]
# 攻撃に関する情報 -防御無視 (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 30
# MP消費量 (int)
    data modify storage asset:artifact MPCost set value 12
# MP必要量 (int) (オプション)
    # data modify storage asset:artifact MPRequire set value
# 神器のクールダウン (int) (オプション)
    data modify storage asset:artifact LocalCooldown set value 20
# グローバルクールダウン (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"]
# カスタムNBT (NBTCompound) 追加で指定したいNBT (オプション)
    # data modify storage asset:artifact CustomNBT set value {}

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


text:
#> asset:artifact/0373.ice_sorcery/trigger/3.3.beam
#
# ビーム部
#
# @within function asset:artifact/0373.ice_sorcery/trigger/**

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

# 着弾検知
    execute if entity @e[type=#lib:living,type=!player,tag=!Uninterferable,distance=..2] run tag @s add AD.Hit
    execute unless block ^ ^ ^0.5 #lib:no_collision run tag @s add AD.Hit

# ターゲットにタグ付与
    execute if entity @e[type=#lib:living,type=!player,tag=!Uninterferable,distance=..2] run tag @e[type=#lib:living,type=!player,tag=!Uninterferable,distance=..2,limit=1] add AD.HitTarget

# 演出
    particle minecraft:block blue_ice ~ ~ ~ 0 0 0 2 1 force
    particle minecraft:dolphin ~ ~ ~ 0 0 0 2 1 force
    execute if predicate lib:random_pass_per/10 run particle minecraft:firework ~ ~ ~ 0 0 0 0 1

# 着弾
    execute if entity @s[tag=AD.Hit] run function asset:artifact/0373.ice_sorcery/trigger/3.4.hit

# 再起
    execute positioned ^ ^ ^0.5 if entity @s[tag=!AD.Hit,distance=..30] run function asset:artifact/0373.ice_sorcery/trigger/3.3.beam


text:
#> asset:artifact/0373.ice_sorcery/trigger/2.check_condition
#
# 神器の発動条件をチェックします
#
# @within function asset:artifact/0373.ice_sorcery/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/0373.ice_sorcery/trigger/3.main


text:
#> asset:artifact/0373.ice_sorcery/trigger/3.2.beamshot2
#
# ビーム部
#
# @within function
#    asset:artifact/0373.ice_sorcery/trigger/3.main
#    asset:artifact/0373.ice_sorcery/trigger/3.1.beamshot

#> SpreadLib
# @private
#declare tag SpreadMarker

# 前方拡散事前準備
    summon marker ~ ~ ~ {Tags:["SpreadMarker"]}
    data modify storage lib: Argument.Distance set value 10.0
    data modify storage lib: Argument.Spread set value 2.5
# 前方拡散を実行する
    execute as @e[type=marker,tag=SpreadMarker,limit=1] run function lib:forward_spreader/circle

# ビームを飛ばす
    playsound minecraft:block.glass.break player @a ~ ~ ~ 1 1.3
    execute as @s facing entity @e[type=marker,tag=SpreadMarker,limit=1] feet anchored eyes positioned ^ ^ ^ run function asset:artifact/0373.ice_sorcery/trigger/3.3.beam
    tag @s remove AD.Hit

# リセット
    kill @e[type=marker,tag=SpreadMarker]


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

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

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

# 演出
    playsound minecraft:entity.guardian.death player @a ~ ~ ~ 1 1
    playsound minecraft:entity.guardian.death player @a ~ ~ ~ 1 1

# スコアを付与する。スコア分の時間ビームする
    scoreboard players add @s AD.BeamTime 5

# ビーム発射
    schedule function asset:artifact/0373.ice_sorcery/trigger/3.1.beamshot 1t replace


text:
#> asset:artifact/0373.ice_sorcery/trigger/3.4.hit
#
# ビーム部
#
# @within function asset:artifact/0373.ice_sorcery/trigger/**

# 演出
    particle minecraft:block ice ~ ~ ~ 0.2 0.2 0.2 1 100 force
    particle dust 0 0.733 1 1 ~ ~ ~ 0.3 0.3 0.3 0 50
    playsound minecraft:block.glass.break neutral @a ~ ~ ~ 1 1.3

# ダメージ設定
    # 与えるダメージ = 10
        data modify storage lib: Argument.Damage set value 100f
    # 魔法属性
        data modify storage lib: Argument.AttackType set value "Magic"
    # 水属性
        data modify storage lib: Argument.ElementType set value "Water"
    # ダメージ
        function lib:damage/modifier
        execute as @e[type=#lib:living,type=!player,tag=AD.HitTarget,tag=!Uninterferable,distance=..50,limit=1] run function lib:damage/
# リセット
    function lib:damage/reset

# 着弾タグを消す
    tag @e[type=#lib:living,type=!player,tag=AD.HitTarget,tag=!Uninterferable,distance=..50,limit=1] remove AD.HitTarget


text:
#> asset:artifact/0373.ice_sorcery/trigger/3.1.beamshot
#
# ビーム部
#
# @within function
#    asset:artifact/0373.ice_sorcery/trigger/3.main
#    asset:artifact/0373.ice_sorcery/trigger/3.1.beamshot
#    asset:artifact/0373.ice_sorcery/trigger/rejoin_process

# またファンクション分岐
    execute as @a[scores={AD.BeamTime=1..}] at @s run function asset:artifact/0373.ice_sorcery/trigger/3.2.beamshot2

# スコアをへらす
    scoreboard players remove @a[scores={AD.BeamTime=1..}] AD.BeamTime 1
    scoreboard players reset @a[scores={AD.BeamTime=0}] AD.BeamTime

# 次tickも実行
    execute as @p[scores={AD.BeamTime=1..}] run schedule function asset:artifact/0373.ice_sorcery/trigger/3.1.beamshot 1t replace


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

#> 定義類はここに
# @within function asset:artifact/0373.ice_sorcery/trigger/**
    scoreboard objectives add AD.BeamTime dummy


text:
#> asset:artifact/0373.ice_sorcery/trigger/rejoin_process
#
# 使い方は必ずwikiを見ること
#
# @within tag/function asset:rejoin
# リログ処理
    execute as @p[scores={AD.BeamTime=1..}] run schedule function asset:artifact/0373.ice_sorcery/trigger/3.1.beamshot 1t replace


text:
#> asset:artifact/0373.ice_sorcery/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:373} run function asset:artifact/0373.ice_sorcery/trigger/2.check_condition


text:
#> asset:artifact/0373.ice_sorcery/trigger/_index.d
#
# @private

#> Temp
#
# @within function asset:artifact/0373.ice_sorcery/trigger/**
    #declare tag AD.Hit
    #declare tag AD.HitTarget


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

execute if data storage asset:context {id:837} run function asset:artifact/0837.the_world_knife/give/2.give


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

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

# 神器のID (int) スプレッドシートの値を入れる
    data modify storage asset:artifact ID set value 837
# 神器のベースアイテム
    data modify storage asset:artifact Item set value "minecraft:carrot_on_a_stick"
# 神器の名前 (TextComponentString)
    data modify storage asset:artifact Name set value '{"text":"『世界』のナイフ","color":"yellow","bold":true}'
# 神器の説明文 (TextComponentString[])
    data modify storage asset:artifact Lore set value ['[{"text":"20本","color":"gold"},{"text":"の超高速のナイフを放つ","color":"white"}]','[{"text":"近くの敵に使うと、"},{"text":"とっておきの処刑","color":"red"},{"text":"を発動する"}]','[{"text":"もっと恐ろしいものの片鱗を味わったぜ…","color":"gray","strikethrough":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 "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 ["141*20"]
# 攻撃に関する情報 -攻撃タイプ (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 180
# MP必要量 (int) (オプション)
    # data modify storage asset:artifact MPRequire set value
# 神器のクールダウン (int) (オプション)
    data modify storage asset:artifact LocalCooldown set value 200
# グローバルクールダウン (int) (オプション)
    # data modify storage asset:artifact SpecialCooldown set value
# クールダウンによる使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    data modify storage asset:artifact DisableCooldownMessage set value false
# 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 {}

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


text:
#> asset:artifact/0837.the_world_knife/trigger/6.knife_move
#
#
#
# @within function asset:artifact/0837.the_world_knife/trigger/4.tick

#> private
# @private
    #declare tag Landing

# スコアを増やし続ける
    scoreboard players add @s N9.Time 1

# 着弾検知
    execute if entity @e[type=#lib:living,type=!player,tag=!Uninterferable,distance=..2] run tag @s add Landing
    execute unless block ^ ^ ^1 #lib:no_collision run tag @s add Landing

# 演出
    particle crit ~ ~ ~ 0 0 0 0 0

# 着弾処理
    execute if entity @s[tag=Landing] run function asset:artifact/0837.the_world_knife/trigger/7.knife_damage

# 進ませる
    tp @s ^ ^ ^1 ~ ~

# スコアが一定以上なら死
    execute if score @s N9.Time matches 60.. run kill @s


text:
#> asset:artifact/0837.the_world_knife/trigger/2.check_condition
#
# 神器の発動条件をチェックします
#
# @within function asset:artifact/0837.the_world_knife/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/0837.the_world_knife/trigger/3.main


text:
#> asset:artifact/0837.the_world_knife/trigger/knife_summon_forward
#
#
#
# @within function asset:artifact/0837.the_world_knife/trigger/3.main

# 前に飛ばす
    function asset:artifact/0837.the_world_knife/trigger/knife_summon
    function asset:artifact/0837.the_world_knife/trigger/knife_summon
    function asset:artifact/0837.the_world_knife/trigger/knife_summon
    function asset:artifact/0837.the_world_knife/trigger/knife_summon
    function asset:artifact/0837.the_world_knife/trigger/knife_summon
    function asset:artifact/0837.the_world_knife/trigger/knife_summon
    function asset:artifact/0837.the_world_knife/trigger/knife_summon
    function asset:artifact/0837.the_world_knife/trigger/knife_summon
    function asset:artifact/0837.the_world_knife/trigger/knife_summon
    function asset:artifact/0837.the_world_knife/trigger/knife_summon
    function asset:artifact/0837.the_world_knife/trigger/knife_summon
    function asset:artifact/0837.the_world_knife/trigger/knife_summon
    function asset:artifact/0837.the_world_knife/trigger/knife_summon
    function asset:artifact/0837.the_world_knife/trigger/knife_summon
    function asset:artifact/0837.the_world_knife/trigger/knife_summon
    function asset:artifact/0837.the_world_knife/trigger/knife_summon
    function asset:artifact/0837.the_world_knife/trigger/knife_summon
    function asset:artifact/0837.the_world_knife/trigger/knife_summon
    function asset:artifact/0837.the_world_knife/trigger/knife_summon
    function asset:artifact/0837.the_world_knife/trigger/knife_summon


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

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

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

# 演出
    playsound minecraft:entity.witch.throw player @a ~ ~ ~ 1 0
    playsound minecraft:entity.witch.throw player @a ~ ~ ~ 1 1
    playsound minecraft:entity.witch.throw player @a ~ ~ ~ 1 0
    playsound minecraft:entity.witch.throw player @a ~ ~ ~ 1 1

# 敵を狙う処理
    execute anchored eyes positioned ^ ^ ^2 run tag @e[type=#lib:living,tag=Enemy,tag=!Uninterferable,distance=..4,sort=random,limit=1] add N9.Target

# 弾を召喚(敵がいない場合)
    execute anchored eyes positioned ^ ^ ^2 if entity @e[type=#lib:living,tag=N9.Target,distance=..4,limit=1] at @e[type=#lib:living,tag=N9.Target,distance=..4,limit=1] run function asset:artifact/0837.the_world_knife/trigger/knife_summon_execute

# 弾を召喚（敵がいる場合）
    execute anchored eyes positioned ^ ^ ^2 unless entity @e[type=#lib:living,tag=N9.Target,distance=..4,limit=1] positioned ^ ^ ^-2 run function asset:artifact/0837.the_world_knife/trigger/knife_summon_forward
    execute unless entity @e[type=#lib:living,tag=N9.Target,distance=..30,limit=1] run playsound item.trident.throw player @a[distance=..20] ~ ~ ~ 1 1 1
    execute unless entity @e[type=#lib:living,tag=N9.Target,distance=..30,limit=1] run playsound item.trident.throw player @a[distance=..20] ~ ~ ~ 1 1 1

# タグついたやつに鈍足
    effect give @e[type=#lib:living,tag=N9.Target,distance=..30,limit=1] slowness 2 50 true

# タグを消す
    tag @e[type=#lib:living,tag=N9.Target,distance=..30,limit=1] remove N9.Target

# Scheduleループ
    schedule function asset:artifact/0837.the_world_knife/trigger/4.tick 1t replace


text:
#> asset:artifact/0837.the_world_knife/trigger/knife_summon
#
#
#
# @within function asset:artifact/0837.the_world_knife/trigger/**

#> Private
# @private
    #declare tag SpreadMarker

# 前方拡散設定
    summon marker ~ ~ ~ {Tags:["SpreadMarker"]}
    data modify storage lib: Argument.Distance set value 1
    execute if entity @e[type=#lib:living,tag=N9.Target,distance=..30,limit=1] run data modify storage lib: Argument.Spread set value 0.3
    execute unless entity @e[type=#lib:living,tag=N9.Target,distance=..30,limit=1] run data modify storage lib: Argument.Spread set value 0.6
# 前方拡散を実行する
    execute as @e[type=marker,tag=SpreadMarker,distance=..10,limit=1] run function lib:forward_spreader/circle

# 弾を召喚
    summon armor_stand ~ ~-100 ~ {Silent:1b,Invulnerable:1b,Marker:1b,Invisible:1b,Small:1b,Pose:{Head:[10f,0f,0f]},Tags:["N9.First","N9.Knife","Projectile"],ArmorItems:[{},{},{},{id:"minecraft:carrot_on_a_stick",Count:1b,tag:{CustomModelData:837}}]}
    execute facing entity @e[type=marker,tag=SpreadMarker,limit=1] eyes anchored eyes positioned ^ ^ ^2 run tp @e[type=armor_stand,tag=N9.First] ~ ~-1 ~ facing ^ ^ ^10
    data modify entity @e[type=armor_stand,tag=N9.First,distance=..10,sort=nearest,limit=1] Pose.Head[0] set from entity @e[type=armor_stand,tag=N9.First,distance=..10,sort=nearest,limit=1] Rotation[1]
# ユーザーID適応
    scoreboard players operation @e[type=armor_stand,tag=N9.First,distance=..10] N9.UserID = @s UserID
# 特定条件ですぐ投げるように
    execute unless entity @e[type=#lib:living,tag=N9.Target,distance=..30,limit=1] run scoreboard players add @e[type=armor_stand,tag=N9.First,distance=..10] N9.Time 30
# タグを消す
    tag @e[type=armor_stand,tag=N9.First,distance=..10] remove N9.First

# 前方拡散をキル
    kill @e[type=marker,tag=SpreadMarker,distance=..10]


text:
#> asset:artifact/0837.the_world_knife/trigger/knife_summon_execute
#
#
#
# @within function asset:artifact/0837.the_world_knife/trigger/3.main

# 敵の周囲で発
# [ImportKey]: NobwRALgngDgpmAXGAxgSwE4oDYIDRgCuhaAJkmAAwCscAjKQIZwoC0cAHKdawCwCcvNow4B2AGasARr3GVGKfnEakposAQB2jALYJkgMMUABHQ1gYjDLoDOScCgD2hTRCQAmSgRRwXcDHbAAN0ZsQn1wAA8kTzAoaIBfeIIrUjRCW0QANgA6TIJrCEtXRBi4bGw0GGt9OkoYjAdCiH0YtGsAUXLK6vaAR0IQ7CgAZQtvckRxEOrEgF0gA_3
# 円 1
execute positioned ~0 ~4 ~-6.6 facing entity @e[type=#lib:living,tag=N9.Target,distance=..20,limit=1] feet run function asset:artifact/0837.the_world_knife/trigger/knife_summon
execute positioned ~2.03951 ~4 ~-6.27697 facing entity @e[type=#lib:living,tag=N9.Target,distance=..20,limit=1] feet run function asset:artifact/0837.the_world_knife/trigger/knife_summon
execute positioned ~3.87938 ~4 ~-5.33951 facing entity @e[type=#lib:living,tag=N9.Target,distance=..20,limit=1] feet run function asset:artifact/0837.the_world_knife/trigger/knife_summon
execute positioned ~5.33951 ~4 ~-3.87938 facing entity @e[type=#lib:living,tag=N9.Target,distance=..20,limit=1] feet run function asset:artifact/0837.the_world_knife/trigger/knife_summon
execute positioned ~6.27697 ~4 ~-2.03951 facing entity @e[type=#lib:living,tag=N9.Target,distance=..20,limit=1] feet run function asset:artifact/0837.the_world_knife/trigger/knife_summon
execute positioned ~6.6 ~4 ~0 facing entity @e[type=#lib:living,tag=N9.Target,distance=..20,limit=1] feet run function asset:artifact/0837.the_world_knife/trigger/knife_summon
execute positioned ~6.27697 ~4 ~2.03951 facing entity @e[type=#lib:living,tag=N9.Target,distance=..20,limit=1] feet run function asset:artifact/0837.the_world_knife/trigger/knife_summon
execute positioned ~5.33951 ~4 ~3.87938 facing entity @e[type=#lib:living,tag=N9.Target,distance=..20,limit=1] feet run function asset:artifact/0837.the_world_knife/trigger/knife_summon
execute positioned ~3.87938 ~4 ~5.33951 facing entity @e[type=#lib:living,tag=N9.Target,distance=..20,limit=1] feet run function asset:artifact/0837.the_world_knife/trigger/knife_summon
execute positioned ~2.03951 ~4 ~6.27697 facing entity @e[type=#lib:living,tag=N9.Target,distance=..20,limit=1] feet run function asset:artifact/0837.the_world_knife/trigger/knife_summon
execute positioned ~0 ~4 ~6.6 facing entity @e[type=#lib:living,tag=N9.Target,distance=..20,limit=1] feet run function asset:artifact/0837.the_world_knife/trigger/knife_summon
execute positioned ~-2.03951 ~4 ~6.27697 facing entity @e[type=#lib:living,tag=N9.Target,distance=..20,limit=1] feet run function asset:artifact/0837.the_world_knife/trigger/knife_summon
execute positioned ~-3.87938 ~4 ~5.33951 facing entity @e[type=#lib:living,tag=N9.Target,distance=..20,limit=1] feet run function asset:artifact/0837.the_world_knife/trigger/knife_summon
execute positioned ~-5.33951 ~4 ~3.87938 facing entity @e[type=#lib:living,tag=N9.Target,distance=..20,limit=1] feet run function asset:artifact/0837.the_world_knife/trigger/knife_summon
execute positioned ~-6.27697 ~4 ~2.03951 facing entity @e[type=#lib:living,tag=N9.Target,distance=..20,limit=1] feet run function asset:artifact/0837.the_world_knife/trigger/knife_summon
execute positioned ~-6.6 ~4 ~0 facing entity @e[type=#lib:living,tag=N9.Target,distance=..20,limit=1] feet run function asset:artifact/0837.the_world_knife/trigger/knife_summon
execute positioned ~-6.27697 ~4 ~-2.03951 facing entity @e[type=#lib:living,tag=N9.Target,distance=..20,limit=1] feet run function asset:artifact/0837.the_world_knife/trigger/knife_summon
execute positioned ~-5.33951 ~4 ~-3.87938 facing entity @e[type=#lib:living,tag=N9.Target,distance=..20,limit=1] feet run function asset:artifact/0837.the_world_knife/trigger/knife_summon
execute positioned ~-3.87938 ~4 ~-5.33951 facing entity @e[type=#lib:living,tag=N9.Target,distance=..20,limit=1] feet run function asset:artifact/0837.the_world_knife/trigger/knife_summon
execute positioned ~-2.03951 ~4 ~-6.27697 facing entity @e[type=#lib:living,tag=N9.Target,distance=..20,limit=1] feet run function asset:artifact/0837.the_world_knife/trigger/knife_summon


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

#> 定義類はここに
# @within function asset:artifact/0837.the_world_knife/trigger/**
    scoreboard objectives add N9.UserID dummy
    scoreboard objectives add N9.Time dummy


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

# Scheduleループ
    execute if entity @e[type=armor_stand,tag=N9.Knife,limit=1] run schedule function asset:artifact/0837.the_world_knife/trigger/4.tick 1t replace


text:
#> asset:artifact/0837.the_world_knife/trigger/5.knife_tick
#
#
#
# @within function asset:artifact/0837.the_world_knife/trigger/4.tick

# スコアを増やし続ける
    scoreboard players add @s N9.Time 1

# 一定時間になったらナイフに動くタグを付与する
    execute if score @s N9.Time matches 30 run playsound item.trident.throw player @a[distance=..20] ~ ~ ~ 1 1 1
    execute if score @s N9.Time matches 30.. run tag @s add N9.Start


text:
#> asset:artifact/0837.the_world_knife/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:837} run function asset:artifact/0837.the_world_knife/trigger/2.check_condition


text:
#> asset:artifact/0837.the_world_knife/trigger/7.knife_damage
#
#
#
# @within function asset:artifact/0837.the_world_knife/trigger/6.knife_move

#> private
# @private
    #declare tag N9.This
    #declare tag N9.Target

# 自身にタグ付与
    tag @s add N9.This

# 周囲2mから最寄りの敵にタグを付与
    tag @e[type=#lib:living,type=!player,tag=!Friend,tag=!N9.Knife,distance=..2,sort=nearest,limit=1] add N9.Target

# 演出
    playsound item.trident.hit_ground player @a ~ ~ ~ 1 1
    particle dust 1 1 1 1 ~ ~ ~ 0.2 0.2 0.2 0 20
    particle end_rod ~ ~ ~ 0 0 0 0.5 7
# 攻撃を与える
    # 与えるダメージ
        data modify storage lib: Argument.Damage set value 141f
    # 属性
        data modify storage lib: Argument.AttackType set value "Physical"
# 補正functionを実行
    execute as @a if score @s UserID = @e[type=armor_stand,tag=N9.This,distance=..0.1,limit=1] N9.UserID run function lib:damage/modifier
# 攻撃した対象に実行
    execute as @e[type=#lib:living,tag=N9.Target,distance=..2] run function lib:damage/
# リセット
    function lib:damage/reset
    tag @e[type=#lib:living,type=!player,tag=N9.Target,distance=..2,sort=nearest,limit=1] remove N9.Target
#自身を殺す
    kill @s


text:
#> asset:artifact/0837.the_world_knife/trigger/_index.d
# @private

#> tag
# @within function asset:artifact/0837.the_world_knife/trigger/**
    #declare tag N9.First
    #declare tag N9.Knife
    #declare tag N9.Start
    #declare tag N9.Target


text:
#> asset:artifact/0837.the_world_knife/trigger/4.tick
#
#
#
# @within function
#      asset:artifact/0837.the_world_knife/trigger/3.main
#      asset:artifact/0837.the_world_knife/trigger/4.tick
#      asset:artifact/0837.the_world_knife/trigger/rejoin_process

# 動いていないナイフが実行する処理
    execute as @e[type=armor_stand,tag=N9.Knife,tag=!N9.Start] at @s run function asset:artifact/0837.the_world_knife/trigger/5.knife_tick

# 稼働中のナイフが実行する処理
    execute as @e[type=armor_stand,tag=N9.Start] at @s run function asset:artifact/0837.the_world_knife/trigger/6.knife_move
    execute as @e[type=armor_stand,tag=N9.Start] at @s run function asset:artifact/0837.the_world_knife/trigger/6.knife_move
    execute as @e[type=armor_stand,tag=N9.Start] at @s run function asset:artifact/0837.the_world_knife/trigger/6.knife_move
    execute as @e[type=armor_stand,tag=N9.Start] at @s run function asset:artifact/0837.the_world_knife/trigger/6.knife_move

# Scheduleループ
    execute if entity @e[type=armor_stand,tag=N9.Knife,limit=1] run schedule function asset:artifact/0837.the_world_knife/trigger/4.tick 1t replace


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

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


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

execute if data storage asset:context {id:456} run function asset:artifact/0456.potion_of_stalling_power/give/2.give


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

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

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

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


text:
#> asset:artifact/0456.potion_of_stalling_power/trigger/2.check_condition
#
# 神器の発動条件をチェックします
#
# @within function asset:artifact/0456.potion_of_stalling_power/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/0456.potion_of_stalling_power/trigger/3.main


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

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

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

# 時間内にもう一度つかった愚か者へのダメージ
    # ダメージセット
        data modify storage lib: Argument.Damage set value 10.0f
        data modify storage lib: Argument.AttackType set value "Physical"
        data modify storage lib: Argument.FixedDamage set value true
    # ダメージを与える
        execute as @s[scores={CO.Tick=1..}] run function lib:damage/
    # リセット
        function lib:damage/reset

# 演出
    execute if entity @s[scores={CO.Tick=1..}] run particle minecraft:dragon_breath ~ ~1 ~ 0.1 0.1 0.1 0.03 100
    execute if entity @s[scores={CO.Tick=1..}] run playsound minecraft:entity.evoker.prepare_summon player @a

# 一回エフェクトを消す
    effect clear @s speed
    effect clear @s slowness
    effect clear @s[scores={CO.Tick=..400}] blindness

# セットする
    scoreboard players set @s CO.Tick 2400

# スタート
    schedule function asset:artifact/0456.potion_of_stalling_power/trigger/3.1.effect 1t


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

#> Objective
# @within function asset:artifact/0456.potion_of_stalling_power/trigger/**
    scoreboard objectives add CO.Tick dummy


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

#リログ処理
    execute if entity @s[scores={CO.Tick=1..}] run function asset:artifact/0456.potion_of_stalling_power/trigger/3.1.effect


text:
#> asset:artifact/0456.potion_of_stalling_power/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:456} run function asset:artifact/0456.potion_of_stalling_power/trigger/2.check_condition