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

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

# 神器のID (int) スプレッドシートの値を入れる
    data modify storage asset:artifact ID set value 236
# 神器のベースアイテム
    data modify storage asset:artifact Item set value "minecraft:carrot_on_a_stick"
# 神器の名前 (TextComponentString)
    data modify storage asset:artifact Name set value '[{"text":"Health Exchanger","color":"light_purple"}]'
# 神器の説明文 (TextComponentString[])
    data modify storage asset:artifact Lore set value ['[{"text":"サーバーで最も体力が多いプレイヤーと体力を交換する"}]']
# MP以外の消費物 (TextComponentString) (オプション)
    # data modify storage asset:artifact CostText set value
# 使用回数 (int) (オプション)
    data modify storage asset:artifact RemainingCount set value 5
# 神器を発動できるスロット (string) Wikiを参照
    data modify storage asset:artifact Slot set value "auto"
# 神器のトリガー (string) Wikiを参照
    data modify storage asset:artifact Trigger set value "onClick"
# 神器の発動条件 (TextComponentString) (オプション)
    # data modify storage asset:artifact Condition set value
# 攻撃に関する情報 -Damage量 (literal[]/literal) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.Damage set value [0,0]
# 攻撃に関する情報 -攻撃タイプ (string[]) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.AttackType set value [Physical,Magic]
# 攻撃に関する情報 -攻撃属性 (string[]) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.ElementType set value [Fire,Water,Thunder,None]
# 攻撃に関する情報 -防御無視 (boolean) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.BypassResist set value
# 攻撃に関する情報 -範囲攻撃 (string) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.IsRangeAttack set value
# 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.AttackRange set value
# MP消費量 (int)
    data modify storage asset:artifact MPCost set value 0
# MP必要量 (int) (オプション)
    # data modify storage asset:artifact MPRequire set value
# 神器のクールダウン (int) (オプション)
    # data modify storage asset:artifact LocalCooldown set value
# グローバルクールダウン (int) (オプション)
    # data modify storage asset:artifact SpecialCooldown set value
# クールダウンによる使用不可のメッセージを非表示にするか否か (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/0236.health_exchanger/trigger/changed_my_health
#
# 体力を@s
#
# Scoreのリセットの実装上分離
#
# @within function asset:artifact/0236.health_exchanger/trigger/3.main

#> private
# @private
    #declare tag HasMaxHealth
    #declare score_holder $UserHealthDecimal 神器使用者の体力整数部分が代入されています
    #declare score_holder $UserHealthInt 神器使用者の体力小数部分が代入されています
    #declare score_holder $TargetHealthDecimal 体力交換先(このfunction実行者)の体力整数部分を代入します
    #declare score_holder $TargetHealthInt 体力交換先(このfunction実行者)の体力小数部分を代入します
    #declare score_holder $SCUserHealth

    # 表示用体力演算
        # //下のy.yy部分
        scoreboard players operation $TargetHealthInt Temporary = @s Temporary
        scoreboard players operation $TargetHealthDecimal Temporary = $TargetHealthInt Temporary

        scoreboard players operation $TargetHealthInt Temporary /= $100 Const
        scoreboard players operation $TargetHealthDecimal Temporary %= $100 Const

    # 表示 「A と体力が交換された！ x.xx => y.yy」
        tellraw @s [{"text":"","color": "red"},{"selector":"@a[tag=this,limit=1]","color":"red"},{"text": " と体力が交換された！ "},{"score":{"name": "$TargetHealthInt","objective": "Temporary"}},".",{"score":{"name": "$TargetHealthDecimal","objective": "Temporary"}},{"text": " => "},{"score":{"name": "$UserHealthInt","objective": "Temporary"}},".",{"score":{"name": "$UserHealthDecimal","objective": "Temporary"}}]

    # 体力設定
        scoreboard players operation $Set Lib = $SCUserHealth Temporary
        function lib:score_to_health_wrapper/set

repo_name: ProjectTSB/TheSkyBlessing

repo_language: mcfunction

mime_type: text/plain


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

#> private
# @private
    #declare score_holder $SCUserHealth
    #declare score_holder $MaxHealth
    #declare tag HasMaxHealth

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

    # //まず全員の体力をscoreに代入
    execute as @a run function asset:artifact/0236.health_exchanger/trigger/own_data_put
    # //自分の体力も比較用に代入
    function api:data_get/health
    execute store result score $SCUserHealth Temporary run data get storage api: Health 100
    # //鯖民の最大体力を求める
    execute as @a run scoreboard players operation $MaxHealth Temporary > @s Temporary
    execute as @a if score @s Temporary = $MaxHealth Temporary run tag @s add HasMaxHealth
    # //Maxが自分と同じだったらTag削除
    execute if entity @s[tag=HasMaxHealth] run tag @s remove CanUsed
    execute if entity @s[tag=HasMaxHealth] run tellraw @s [{"text": "-☆既に体力が鯖で一番多いです☆-"}]
    # //そもそも他人がいるか
    execute unless entity @a[tag=!this] run tag @s remove CanUsed
    execute unless entity @a[tag=!this] run tellraw @s [{"text": "なんなら今はボッチです☆","color": "gray"}]

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

# リセット //3.mainでも使用するため最後に
    scoreboard players reset @a Temporary
    scoreboard players reset $SCUserHealth Temporary
    scoreboard players reset $MaxHealth Temporary
    tag @a[tag=HasMaxHealth] remove HasMaxHealth


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

#> private
# @private
    #declare tag HasMaxHealth
    #declare score_holder $MaxHealth 鯖民の最大体力が代入されています
    #declare score_holder $UserHealthDecimal 神器使用者の体力整数部分が代入されています
    #declare score_holder $UserHealthInt 神器使用者の体力小数部分が代入されています
    #declare score_holder $TargetHealthDecimal 体力交換先の体力整数部分をが代入されています
    #declare score_holder $TargetHealthInt 体力交換先の体力小数部分が代入されています
    #declare score_holder $SCUserHealth

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

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

    # //この時点で $SCUserHealthと$MaxHealth,@a のTemporaryに体力が代入済み & hasMaxHealthTag付与済み
    # 処理
        # 演算
            # //神器使用者の体力
            scoreboard players operation $UserHealthInt Temporary = $SCUserHealth Temporary
            scoreboard players operation $UserHealthDecimal Temporary = $SCUserHealth Temporary

            scoreboard players operation $UserHealthInt Temporary /= $100 Const
            scoreboard players operation $UserHealthDecimal Temporary %= $100 Const

        # 神器使用者の体力をMaxHealthに変更
            scoreboard players operation $Set Lib = $MaxHealth Temporary
            function lib:score_to_health_wrapper/set
        # @a[tag=HasMaxHealth] の体力を変更
            execute as @a[tag=HasMaxHealth] at @s run function asset:artifact/0236.health_exchanger/trigger/changed_my_health

    # 演出
        # 演算
            # //交換先の体力
            scoreboard players operation $TargetHealthInt Temporary = $MaxHealth Temporary
            scoreboard players operation $TargetHealthDecimal Temporary = $MaxHealth Temporary

            scoreboard players operation $TargetHealthInt Temporary /= $100 Const
            scoreboard players operation $TargetHealthDecimal Temporary %= $100 Const
        # メッセージ「A と体力を交換した！ x.xx => y.yy」
            tellraw @s [{"text":"","color": "yellow"},{"selector":"@a[tag=HasMaxHealth]","color": "yellow"},{"text": " と体力を交換した！ "},{"score":{"name": "$UserHealthInt","objective": "Temporary"}},".",{"score":{"name": "$UserHealthDecimal","objective": "Temporary"}},{"text": " => "},{"score":{"name": "$TargetHealthInt","objective": "Temporary"}},".",{"score":{"name": "$TargetHealthDecimal","objective": "Temporary"}}]

        #パーティクル & 音
            particle totem_of_undying ~ ~ ~ 1 1 1 0 30 force @a
            execute as @a[tag=HasMaxHealth] at @s run particle totem_of_undying ~ ~ ~ 1 1 1 0 30 force @a

            playsound ui.button.click player @s ~ ~ ~ 1 1 1
            execute as @a[tag=HasMaxHealth] at @s run playsound ui.button.click player @s ~ ~ ~ 1 1 1

    # リセット
        scoreboard players reset $UserHealthInt Temporary
        scoreboard players reset $UserHealthDecimal Temporary
        scoreboard players reset $TargetHealthInt Temporary
        scoreboard players reset $TargetHealthDecimal Temporary


text:
#> asset:artifact/0236.health_exchanger/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:236} run function asset:artifact/0236.health_exchanger/trigger/2.check_condition


text:
#> asset:artifact/0236.health_exchanger/trigger/own_data_put
#
# Healthを自身のTemporaryに代入します
#
# @within function asset:artifact/0236.health_exchanger/trigger/2.check_condition

# 取得&代入
    function api:data_get/health
    execute store result score @s Temporary run data get storage api: Health 100


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

execute if data storage asset:context {id:515} run function asset:artifact/0515.time_medicine/give/2.give


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

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

# 神器のID (int) スプレッドシートの値を入れる
    data modify storage asset:artifact ID set value 515
# 神器のベースアイテム
    data modify storage asset:artifact Item set value "minecraft:potion"
# 神器の名前 (TextComponentString)
    data modify storage asset:artifact Name set value '[{"text":"時刻みの薬","color":"white"}]'
# 神器の説明文 (TextComponentString[])
    data modify storage asset:artifact Lore set value ['[{"text":"時間を封じ込めた薬"}]','[{"text":"朝と夜で効果が違う"}]','[{"text":"朝：火炎耐性、移動速度、採掘速度上昇","color":"yellow"}]','[{"text":"夜：低速落下、跳躍、暗視","color":"yellow"}]']
# MP以外の消費物 (TextComponentString) (オプション)
    # data modify storage asset:artifact CostText set value
# 使用回数 (int) (オプション)
    data modify storage asset:artifact RemainingCount set value 10
# 神器を発動できるスロット (string) Wikiを参照
    data modify storage asset:artifact Slot set value "auto"
# 神器のトリガー (string) Wikiを参照
    data modify storage asset:artifact Trigger set value "itemUse"
# 神器の発動条件 (TextComponentString) (オプション)
    # data modify storage asset:artifact Condition set value
# 攻撃に関する情報 -Damage量 (literal[]/literal) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.Damage set value [0,0]
# 攻撃に関する情報 -攻撃タイプ (string[]) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.AttackType set value [Physical,Magic]
# 攻撃に関する情報 -攻撃属性 (string[]) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.ElementType set value [Fire,Water,Thunder,None]
# 攻撃に関する情報 -防御無視 (boolean) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.BypassResist set value
# 攻撃に関する情報 -範囲攻撃 (string) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.IsRangeAttack set value
# 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.AttackRange set value
# MP消費量 (int)
    data modify storage asset:artifact MPCost set value 0
# MP必要量 (int) (オプション)
    # data modify storage asset:artifact MPRequire set value
# 神器のクールダウン (int) (オプション)
    # data modify storage asset:artifact LocalCooldown set value
# グローバルクールダウン (int) (オプション)
    # data modify storage asset:artifact SpecialCooldown set value
# クールダウンによる使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    # data modify storage asset:artifact DisableCooldownMessage set value
# MP不足による使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    # data modify storage asset:artifact DisableMPMessage set value
# 扱える神 (string[]) Wikiを参照
    data modify storage asset:artifact CanUsedGod set value "ALL"
# カスタムNBT (NBTCompound) 追加で指定したいNBT (オプション)
    data modify storage asset:artifact CustomNBT set value {HideFlags:63,CustomPotionColor:16777215}

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


text:
#> asset:artifact/0515.time_medicine/trigger/night
#
#
#
# @within function asset:artifact/0515.time_medicine/trigger/3.main

# エフェクト
    effect give @s night_vision 120 0
    effect give @s slow_falling 120 0
    effect give @s jump_boost 120 2


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


text:
#> asset:artifact/0515.time_medicine/trigger/day
#
#
#
# @within function asset:artifact/0515.time_medicine/trigger/3.main

# エフェクト
    effect give @s fire_resistance 120 0
    effect give @s speed 120 1
    effect give @s haste 120 1


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

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

# ここから先は神器側の効果の処理を書く
# 朝
    execute if predicate lib:is_day run function asset:artifact/0515.time_medicine/trigger/day
# 夜
    execute unless predicate lib:is_day run function asset:artifact/0515.time_medicine/trigger/night


text:
#> asset:artifact/0515.time_medicine/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:515} run function asset:artifact/0515.time_medicine/trigger/2.check_condition


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

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


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

execute if data storage asset:context {id:722} run function asset:artifact/0722.heavy_steel_leggings/give/2.give


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

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

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

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


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

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


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

execute if data storage asset:context {id:295} run function asset:artifact/0295.call_elemental_familiar/give/2.give


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

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

# 神器のID (int) スプレッドシートの値を入れる
    data modify storage asset:artifact ID set value 295
# 神器のベースアイテム
    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":"魔法攻撃を行う眷属を3体召喚する。","color":"white"}','{"text":"既に召喚した状態では使用できない。","color":"white"}','{"text":"\\"ふよふよ漂う、ふしぎなヤツ\\"","color":"gray"}']
# MP以外の消費物 (TextComponentString) (オプション)
    # data modify storage asset:artifact CostText set value
# 使用回数 (int) (オプション)
    # data modify storage asset:artifact RemainingCount set value
# 神器を発動できるスロット (string) Wikiを参照
    data modify storage asset:artifact Slot set value "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 [40]
# 攻撃に関する情報 -攻撃タイプ (string[]) Wikiを参照 (オプション)
    data modify storage asset:artifact AttackInfo.AttackType set value [Magic]
# 攻撃に関する情報 -攻撃属性 (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 100
# 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 false
# MP不足による使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    # data modify storage asset:artifact DisableMPMessage set value
# 扱える神 (string[]) Wikiを参照
    data modify storage asset:artifact CanUsedGod set value ["Nyaptov", "Wi-ki", "Rumor"]
# カスタムNBT (NBTCompound) 追加で指定したいNBT (オプション)
    # data modify storage asset:artifact CustomNBT set value {}

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


text:
#> asset:artifact/0295.call_elemental_familiar/trigger/_index.d.mcfunction
# @private

#> tags
# @within function asset:artifact/0295.call_elemental_familiar/trigger/**
    #declare tag 87.Familiar
    #declare tag 87.FamiliarInit
    #declare tag 87.FamiliarFire
    #declare tag 87.FamiliarWater
    #declare tag 87.FamiliarThunder
    #declare tag 87.Shot
    #declare tag 87.ShotInit
    #declare tag 87.ShotFire
    #declare tag 87.ShotWater
    #declare tag 87.ShotThunder
    #declare tag 87.IDCopyBase
    #declare tag 87.CannotUse


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

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

# 既に召喚済みなら使えない。タグ付与じゃないと残ってるファミリアの数だけコマンドが実行されてしまう。つまりめっちゃうるさい。
    execute at @e[type=armor_stand,tag=87.Familiar] if score @s UserID = @e[type=armor_stand,tag=87.Familiar,distance=..0.01,sort=nearest,limit=1] 87.UserID run tag @s add 87.CannotUse
    execute if entity @s[tag=87.CannotUse] run tag @s remove CanUsed
    execute if entity @s[tag=87.CannotUse] run function asset:artifact/0295.call_elemental_familiar/trigger/3.cannot_use

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


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

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

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

# 精霊召喚
    execute rotated ~ 0 run summon armor_stand ^2 ^ ^ {Pose:{Head:[0.1f,0.1f,0.1f]},DisabledSlots:4144959,Invisible:1b,NoGravity:1b,Small:1b,Tags:["87.FamiliarInit","Friend"]}
    execute rotated ~ 0 run summon armor_stand ^ ^ ^-2 {Pose:{Head:[0.1f,0.1f,0.1f]},DisabledSlots:4144959,Invisible:1b,NoGravity:1b,Small:1b,Tags:["87.FamiliarInit","Friend"]}
    execute rotated ~ 0 run summon armor_stand ^-2 ^ ^ {Pose:{Head:[0.1f,0.1f,0.1f]},DisabledSlots:4144959,Invisible:1b,NoGravity:1b,Small:1b,Tags:["87.FamiliarInit","Friend"]}

# 精霊Init
    execute as @e[type=armor_stand,tag=87.FamiliarInit,distance=..5] at @s run function asset:artifact/0295.call_elemental_familiar/trigger/fairy/1.init

# 音とパーティクル　neutralになってるのは妖精側の音だから
    playsound minecraft:item.bottle.fill_dragonbreath player @a ~ ~ ~ 2 2
    playsound minecraft:entity.experience_orb.pickup player @a ~ ~ ~ 2 1.75
    playsound minecraft:entity.ender_eye.death player @a ~ ~ ~ 2 2
    playsound minecraft:entity.vex.ambient neutral @a ~ ~ ~ 1 1.75
    playsound minecraft:entity.vex.ambient neutral @a ~ ~ ~ 1 2

# 精霊さんを動かす
    schedule function asset:artifact/0295.call_elemental_familiar/trigger/fairy/2.tick 1t replace


text:
#> asset:artifact/0295.call_elemental_familiar/trigger/3.cannot_use
#
#
#
# @within function
#   asset:artifact/0295.call_elemental_familiar/trigger/2.check_condition

# 効果音
    playsound minecraft:block.note_block.bass player @s ~ ~ ~ 5 1
    playsound minecraft:block.stone_button.click_on player @s ~ ~ ~ 2 1.5

# メッセージ
    tellraw @s [{"text":"既に召喚しています。","color":"red"}]

# 使用不可に
    tag @s remove 87.CannotUse


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

#> Objective
# @within asset:artifact/0295.call_elemental_familiar/trigger/**
    scoreboard objectives add 87.Tick dummy
    scoreboard objectives add 87.LifeTime dummy
    scoreboard objectives add 87.UserID dummy


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

# このfunctionをループさせる
    execute if entity @e[type=armor_stand,tag=87.Familiar,limit=1] run schedule function asset:artifact/0295.call_elemental_familiar/trigger/fairy/2.tick 1t
    execute if entity @e[type=armor_stand,tag=87.Shot,limit=1] run schedule function asset:artifact/0295.call_elemental_familiar/trigger/shot/2.tick 1t


text:
#> asset:artifact/0295.call_elemental_familiar/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:295} run function asset:artifact/0295.call_elemental_familiar/trigger/2.check_condition


text:
#> asset:artifact/0295.call_elemental_familiar/trigger/fairy/2.tick
#
# scheduleでループする、妖精を動かすコマンド。
#
# @within function
#   asset:artifact/0295.call_elemental_familiar/trigger/fairy/2.tick
#   asset:artifact/0295.call_elemental_familiar/trigger/3.main
#   asset:artifact/0295.call_elemental_familiar/trigger/rejoin_process

# エンティティに実行させる
    execute as @e[type=armor_stand,tag=87.Familiar] at @s run function asset:artifact/0295.call_elemental_familiar/trigger/fairy/3.main

# エンティティがいればループ
    execute if entity @e[type=armor_stand,tag=87.Familiar,limit=1] run schedule function asset:artifact/0295.call_elemental_familiar/trigger/fairy/2.tick 1t


text:
#> asset:artifact/0295.call_elemental_familiar/trigger/fairy/3.main
#
# ファミリアの動作部分
#
# @within asset:artifact/0295.call_elemental_familiar/trigger/fairy/2.tick

#> 移動先を決定するマーカーのタグ
# @private
    #declare tag 87.MoveMarker
    #declare tag 87.MoveMarkerInit
    #declare tag 87.OwnerMarker
    #declare tag 87.OwnerPlayer

# 同IDのプレイヤーを特定
    execute at @a[distance=..30] if score @s 87.UserID = @p UserID run tag @p add 87.OwnerPlayer

# マスターにMarkerを召喚する
    execute at @p[tag=87.OwnerPlayer] rotated ~ 0 run summon marker ^-1 ^1 ^-1 {Tags:[87.MoveMarker,87.MoveMarkerInit]}

# MarkerにID付与
    scoreboard players operation @e[type=marker,tag=87.MoveMarkerInit,sort=nearest,limit=1] 87.UserID = @s 87.UserID
    tag @e[type=marker,tag=87.MoveMarkerInit,sort=nearest,limit=1] remove 87.MoveMarkerInit

# 同IDのマーカーを特定
    execute at @e[type=marker,tag=87.MoveMarker] if score @s 87.UserID = @e[type=marker,tag=87.MoveMarker,sort=nearest,limit=1] 87.UserID run tag @e[type=marker,tag=87.MoveMarker,sort=nearest,limit=1] add 87.OwnerMarker

# マスターのマーカーに誘導移動
    execute facing entity @e[type=marker,tag=87.OwnerMarker,distance=..30,limit=1] eyes positioned ^ ^ ^-100 rotated as @s positioned ^ ^ ^-2000 facing entity @s eyes positioned as @s run tp @s ^ ^ ^0.2 ~ ~

# 頭の向き
    execute store result entity @s Pose.Head[0] float 1 run data get entity @s Rotation[1]

# 接地で上を向く
    execute positioned ~ ~1 ~ unless block ~ ~-1 ~ #lib:no_collision at @s run tp @s ~ ~ ~ ~ ~-35
    execute positioned ~ ~1 ~ unless block ~ ~1 ~ #lib:no_collision at @s run tp @s ~ ~ ~ ~ ~80

# カベにぶつかった際の処理
    execute positioned ~ ~1.5 ~ unless block ^ ^ ^0.5 #lib:no_collision at @s run tp @s ~ ~ ~ ~20 ~-20

# パーティクル
    execute if entity @s[tag=87.FamiliarFire] positioned ^ ^ ^-0.3 run particle dust 1 0 0 0.5 ~ ~0.8 ~ 0.1 0.1 0.1 0 1 force @a[distance=..40]
    execute if entity @s[tag=87.FamiliarFire] positioned ^ ^ ^-0.3 run particle dust 1 0.5 0 0.7 ~ ~0.8 ~ 0.1 0.1 0.1 0 1 force @a[distance=..40]

    execute if entity @s[tag=87.FamiliarThunder] positioned ^ ^ ^-0.3 run particle dust 1 1 0 0.5 ~ ~0.8 ~ 0.1 0.1 0.1 0 1 force @a[distance=..40]
    execute if entity @s[tag=87.FamiliarThunder] positioned ^ ^ ^-0.3 run particle dust 1 1 0.7 0.7 ~ ~0.8 ~ 0.1 0.1 0.1 0 1 force @a[distance=..40]

    execute if entity @s[tag=87.FamiliarWater] positioned ^ ^ ^-0.3 run particle dust 0 0.267 1 0.5 ~ ~0.8 ~ 0.1 0.1 0.1 0 1 force @a[distance=..40]
    execute if entity @s[tag=87.FamiliarWater] positioned ^ ^ ^-0.3 run particle dust 0 0.667 1 0.7 ~ ~0.8 ~ 0.1 0.1 0.1 0 1 force @a[distance=..40]

# 付近に敵がいるならスコア増やす
    execute if entity @e[tag=Enemy,distance=..15] run scoreboard players add @s 87.Tick 1

# 魔法攻撃
    execute if entity @s[scores={87.Tick=20..}] rotated ~ 0 positioned ^0.1 ^0.4 ^0.5 run function asset:artifact/0295.call_elemental_familiar/trigger/fairy/4.shoot

# 付近に敵がいないならスコアリセット
    execute unless entity @e[tag=Enemy,distance=..15] run scoreboard players reset @s 87.Tick

# 存在時間
    scoreboard players remove @s 87.LifeTime 1
    execute if score @s 87.LifeTime matches 0 run function asset:artifact/0295.call_elemental_familiar/trigger/fairy/5.disapper

# 離れ過ぎると消える
    execute unless entity @e[type=marker,tag=87.OwnerMarker,distance=..30,limit=1] run function asset:artifact/0295.call_elemental_familiar/trigger/fairy/5.disapper

# リセット
    tag @a[tag=87.OwnerPlayer] remove 87.OwnerPlayer
    kill @e[type=marker,tag=87.MoveMarker]


text:
#> asset:artifact/0295.call_elemental_familiar/trigger/fairy/5.disapper
#
# 消滅処理
#
# @within function asset:artifact/0295.call_elemental_familiar/trigger/fairy/3.main

# 演出
    playsound minecraft:entity.vex.ambient neutral @a ~ ~ ~ 1.5 1.5
    playsound minecraft:block.amethyst_cluster.break neutral @a ~ ~ ~ 1.5 1.5
    particle minecraft:end_rod ~ ~0.5 ~ 0 0 0 0.02 10

# キル
    kill @s


text:
#> asset:artifact/0295.call_elemental_familiar/trigger/fairy/4.shoot
#
# ショット発射！
#
# @within asset:artifact/0295.call_elemental_familiar/trigger/fairy/3.main

# タグ付与
    tag @s add 87.IDCopyBase

# 属性弾を放つ 無属性弾は現状撃たない
    execute if entity @s[tag=87.FamiliarFire] run summon armor_stand ~ ~ ~ {Marker:1b,Invisible:1b,Tags:["87.ShotInit","87.ShotFire"]}
    execute if entity @s[tag=87.FamiliarThunder] run summon armor_stand ~ ~ ~ {Marker:1b,Invisible:1b,Tags:["87.ShotInit","87.ShotThunder"]}
    execute if entity @s[tag=87.FamiliarWater] run summon armor_stand ~ ~ ~ {Marker:1b,Invisible:1b,Tags:["87.ShotInit","87.ShotWater"]}

# ショットのInit発動
    execute as @e[type=armor_stand,tag=87.ShotInit,distance=..0.01] at @s run function asset:artifact/0295.call_elemental_familiar/trigger/shot/1.init

# scheduleループ開始
    schedule function asset:artifact/0295.call_elemental_familiar/trigger/shot/2.tick 1t replace

# サウンド
    playsound minecraft:entity.shulker_bullet.hurt neutral @a ~ ~ ~ 1.5 2
    playsound minecraft:block.amethyst_cluster.break neutral @a ~ ~ ~ 1.5 1.5
    playsound minecraft:entity.vex.ambient neutral @a ~ ~ ~ 1.5 2

# リセット
    scoreboard players reset @s 87.Tick
    tag @s remove 87.IDCopyBase


text:
#> asset:artifact/0295.call_elemental_familiar/trigger/fairy/1.init
#
#
#
# @within function asset:artifact/0295.call_elemental_familiar/trigger/3.main

# パーティクル
    particle poof ~ ~0.5 ~ 0.1 0.1 0.1 0.05 5

# 体力設定
    scoreboard players set @s 87.LifeTime 400

# 疑似乱数取得
    execute store result score $Random Temporary run function lib:random/

# ほしい範囲に剰余算
    scoreboard players operation $Random Temporary %= $3 Const

# 自身の属性を定義する
    execute if score $Random Temporary matches 0 run tag @s add 87.FamiliarFire
    execute if score $Random Temporary matches 1 run tag @s add 87.FamiliarThunder
    execute if score $Random Temporary matches 2 run tag @s add 87.FamiliarWater

# 頭防具
    item replace entity @s[tag=87.FamiliarFire] armor.head with stick{CustomModelData:20230}
    item replace entity @s[tag=87.FamiliarThunder] armor.head with stick{CustomModelData:20231}
    item replace entity @s[tag=87.FamiliarWater] armor.head with stick{CustomModelData:20232}

# 使用者のユーザーIDをコピー
    scoreboard players operation @s 87.UserID = @p[tag=this] UserID

# 近くの誰かを見る
    execute facing entity @p eyes run tp @s ~ ~ ~ ~ ~

# タグ整備
    tag @s remove 87.FamiliarInit
    tag @s add 87.Familiar

# リセット
    scoreboard players reset $Random Temporary


text:
#> asset:artifact/0295.call_elemental_familiar/trigger/shot/2.tick
#
# ショット動かすやつ
#
# @within function
#   asset:artifact/0295.call_elemental_familiar/trigger/fairy/4.shoot
#   asset:artifact/0295.call_elemental_familiar/trigger/shot/2.tick
#   asset:artifact/0295.call_elemental_familiar/trigger/rejoin_process

# エンティティに実行させる
    execute as @e[type=armor_stand,tag=87.Shot] at @s run function asset:artifact/0295.call_elemental_familiar/trigger/shot/3.main

# エンティティがいればループ
    execute if entity @e[type=armor_stand,tag=87.Shot,limit=1] run schedule function asset:artifact/0295.call_elemental_familiar/trigger/shot/2.tick 1t


text:
#> asset:artifact/0295.call_elemental_familiar/trigger/shot/3.main
#
# ショットが飛んでいく！
#
# @within function asset:artifact/0295.call_elemental_familiar/trigger/shot/2.tick

# 移動とパーティクル
    tp @s ^ ^ ^0.8

    # 火属性
        execute if entity @s[tag=87.ShotFire] run particle minecraft:dust 1 0.451 0 1 ~ ~0.5 ~ 0 0 0 0 1 force @a[distance=..30]
        execute if entity @s[tag=87.ShotFire] run particle minecraft:flame ~ ~0.5 ~ 0 0 0 0 1 force @a[distance=..30]
    # 水属性
        execute if entity @s[tag=87.ShotWater] run particle minecraft:dust 0.298 0.471 0.945 1 ~ ~0.5 ~ 0 0 0 0 1 force @a[distance=..30]
        execute if entity @s[tag=87.ShotWater] run particle minecraft:scrape ~ ~0.5 ~ 0 0 0 0 1 force @a[distance=..30]
    # 雷属性
        execute if entity @s[tag=87.ShotThunder] run particle minecraft:dust 0.878 1 0.333 1 ~ ~0.5 ~ 0 0 0 0 1 force @a[distance=..30]
        execute if entity @s[tag=87.ShotThunder] run particle minecraft:wax_on ~ ~0.5 ~ 0 0 0 0 1 force @a[distance=..30]

# 正面が地形なら消滅
    execute unless block ^ ^ ^0.8 #lib:no_collision run kill @s

# モブに接触
    execute positioned ~-0.5 ~-0.5 ~-0.5 if entity @e[tag=Enemy,tag=!Uninterferable,dx=0,sort=nearest,limit=1] positioned ~0.5 ~0.5 ~0.5 run function asset:artifact/0295.call_elemental_familiar/trigger/shot/4.hit


text:
#> asset:artifact/0295.call_elemental_familiar/trigger/shot/1.init
#
# 付近の敵へと向きを変える
#
# @within function asset:artifact/0295.call_elemental_familiar/trigger/fairy/4.shoot

# IDコピー
    scoreboard players operation @s 87.UserID = @e[type=armor_stand,tag=87.IDCopyBase,sort=nearest,limit=1] 87.UserID

# 敵の方を向き、タグを変更
    execute facing entity @e[tag=Enemy,tag=!Uninterferable,distance=..20,sort=nearest,limit=1] feet run tp @s ~ ~ ~ ~ ~-2
    tag @s remove 87.ShotInit
    tag @s add 87.Shot

# 付近に敵がいないなら消える
    execute unless entity @e[tag=Enemy,tag=!Uninterferable,distance=..20,sort=nearest,limit=1] run kill @s


text:
#> asset:artifact/0295.call_elemental_familiar/trigger/shot/4.hit
#
#
#
# @within function asset:artifact/0295.call_elemental_familiar/trigger/shot/3.main

# 魔法、火属性のダメージをぶちかます
    data modify storage lib: Argument.Damage set value 40.0f
    data modify storage lib: Argument.AttackType set value "Magic"
    execute if entity @s[tag=87.ShotFire] run data modify storage lib: Argument.ElementType set value "Fire"
    execute if entity @s[tag=87.ShotThunder] run data modify storage lib: Argument.ElementType set value "Thunder"
    execute if entity @s[tag=87.ShotWater] run data modify storage lib: Argument.ElementType set value "Water"
    function lib:damage/

# 演出
    particle minecraft:crit ~ ~ ~ 0 0 0 0.5 5

# マスターとして補正functionを実行
    execute at @a if score @s 87.UserID = @p UserID as @p run function lib:damage/modifier

# ダメージ実行
    execute as @e[tag=Enemy,tag=!Uninterferable,distance=..3,sort=nearest,limit=1] run function lib:damage/

# リセット
    function lib:damage/reset

# ショットを消す
    kill @s


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

execute if data storage asset:context {id:138} run function asset:artifact/0138.mystica_amrita/give/2.give


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

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

# 神器のID (int) スプレッドシートの値を入れる
    data modify storage asset:artifact ID set value 138
# 神器のベースアイテム
    data modify storage asset:artifact Item set value "minecraft:potion"
# 神器の名前 (TextComponentString)
    data modify storage asset:artifact Name set value '{"text":"ミスティカアムリタ","color":"yellow"}'
# 神器の説明文 (TextComponentString[])
    data modify storage asset:artifact Lore set value ['{"text":"MPを75%回復する"}']
# 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:16318239,HideFlags:32}

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


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


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

#> private
# @private
    #declare score_holder $Fluctuation

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

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

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

# MP回復
    execute store result storage asset:temp 3U.Temp double 0.75 run function lib:mp/get_max
    execute store result score $Fluctuation Lib run data get storage asset:temp 3U.Temp
    function lib:mp/fluctuation

# リセット
    data remove storage asset:temp 3U.Temp


text:
#> asset:artifact/0138.mystica_amrita/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:138} run function asset:artifact/0138.mystica_amrita/trigger/2.check_condition


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

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


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

execute if data storage asset:context {id:315} run function asset:artifact/0315.water_sword/give/2.give


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

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

# 神器のID (int) スプレッドシートの値を入れる
    data modify storage asset:artifact ID set value 315
# 神器のベースアイテム
    data modify storage asset:artifact Item set value "minecraft: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 "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 [40,50]
# 攻撃に関する情報 -攻撃タイプ (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 5
# 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 "ALL"
# カスタムNBT (NBTCompound) 追加で指定したいNBT (オプション)
    # data modify storage asset:artifact CustomNBT set value {}

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


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


text:
#> asset:artifact/0315.water_sword/trigger/3.main
#
# 神器のメイン処理部
#
# @within function asset:artifact/0315.water_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 as @e[type=#lib:living,type=!player,tag=Victim,distance=..10] at @s run particle minecraft:rain ~ ~1 ~ 0.2 0.2 0.2 0 200
    playsound minecraft:entity.dolphin.jump player @a ~ ~ ~ 1 2
    playsound minecraft:entity.dolphin.splash player @a ~ ~ ~ 1 1

# ダメージ
    #ダメージブレのための処理
        # 疑似乱数取得
            execute store result score $RandomDamage Temporary run function lib:random/
        # 剰余算する。0~10の追加ダメージ
          scoreboard players operation $RandomDamage Temporary %= $11 Const
        # 最低ダメージ設定
            scoreboard players add $RandomDamage Temporary 40
    #ダメージセット
        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


text:
#> asset:artifact/0315.water_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:315} run function asset:artifact/0315.water_sword/trigger/2.check_condition


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

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


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

execute if data storage asset:context {id:107} run function asset:artifact/0107.dispenser_canon/give/2.give


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

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

# 神器のID (int) スプレッドシートの値を入れる
    data modify storage asset:artifact ID set value 107
# 神器のベースアイテム
    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"}]'
# 神器の説明文 (TextComponentString[])
    data modify storage asset:artifact Lore set value ['{"text":"TNTをぶっ飛ばすキャノン"}','{"text":"そのキレイな顔をフッ飛ばしてやる！！","color":"red"}']
# MP以外の消費物 (TextComponentString) (オプション)
    # data modify storage asset:artifact CostText set value
# 使用回数 (int) (オプション)
    # data modify storage asset:artifact RemainingCount set value
# 神器を発動できるスロット (string) Wikiを参照
    data modify storage asset:artifact Slot set value "auto"
# 神器のトリガー (string) Wikiを参照
    data modify storage asset:artifact Trigger set value "onClick"
# 神器の発動条件 (TextComponentString) (オプション)
    data modify storage asset:artifact Condition set value '{"text":"サバイバルのみで使用可能"}'
# 攻撃に関する情報 -Damage量 (literal[]/literal) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.Damage set value [0,0]
# 攻撃に関する情報 -攻撃タイプ (string[]) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.AttackType set value [Physical,Magic]
# 攻撃に関する情報 -攻撃属性 (string[]) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.ElementType set value [Fire,Water,Thunder,None]
# 攻撃に関する情報 -防御無視 (boolean) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.BypassResist set value
# 攻撃に関する情報 -範囲攻撃 (string) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.IsRangeAttack set value
# 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.AttackRange set value
# MP消費量 (int)
    data modify storage asset:artifact MPCost set value 50
# MP必要量 (int) (オプション)
    # data modify storage asset:artifact MPRequire set value
# 神器のクールダウン (int) (オプション)
    data modify storage asset:artifact LocalCooldown set value 10
# グローバルクールダウン (int) (オプション)
    # data modify storage asset:artifact SpecialCooldown set value
# クールダウンによる使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    # data modify storage asset:artifact DisableCooldownMessage set value
# MP不足による使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    # data modify storage asset:artifact DisableMPMessage set value
# 扱える神 (string[]) Wikiを参照
    data modify storage asset:artifact CanUsedGod set value ["Urban", "Nyaptov", "Rumor"]
# カスタムNBT (NBTCompound) 追加で指定したいNBT (オプション)
    # data modify storage asset:artifact CustomNBT set value {}

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


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

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

# アドベンチャーなら発動しない
    execute if entity @s[gamemode=adventure] run function lib:message/artifact/can_not_use_here
    execute if entity @s[gamemode=adventure] run tag @s remove CanUsed

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


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

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

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

# 演出
    playsound minecraft:entity.tnt.primed player @a

# TNT召喚
    summon endermite ~ ~1.5 ~ {Silent:1b,Team:"NoCollision",FallDistance:99f,DeathTime:15s,Tags:["TNTStick"],Passengers:[{id:"minecraft:tnt",Fuse:40s}],ActiveEffects:[{Id:14,Amplifier:1b,Duration:2147483647}]}

# TNTを飛ばす
    data modify storage lib: Argument.VectorMagnitude set value 2
    execute as @e[type=endermite,tag=TNTStick,distance=..2] facing ^ ^ ^10 run function lib:motion/
    data remove storage lib: Argument
# スケジュール
    schedule function asset:artifact/0107.dispenser_canon/trigger/3.1.sticky 1t


text:
#> asset:artifact/0107.dispenser_canon/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:107} run function asset:artifact/0107.dispenser_canon/trigger/2.check_condition


text:
#> asset:artifact/0107.dispenser_canon/trigger/3.1.sticky
#
# 神器のメイン処理部
#
# @within
#   function asset:artifact/0107.dispenser_canon/trigger/3.main
#   function asset:artifact/0107.dispenser_canon/trigger/3.1.sticky

# 粘着する
    execute as @e[type=endermite,tag=TNTStick] at @s run tp @e[type=#lib:living,type=!player,tag=!Uninterferable,tag=!TNTStick,distance=..2,sort=nearest,limit=1]

# ループさせる
    execute as @e[type=endermite,tag=TNTStick,limit=1] run schedule function asset:artifact/0107.dispenser_canon/trigger/3.1.sticky 1t


text:
#> asset:artifact/0107.dispenser_canon/trigger/_index.d
# @private

#> tag
# @within
#   function asset:artifact/0107.dispenser_canon/trigger/3.main
#   function asset:artifact/0107.dispenser_canon/trigger/3.1.sticky
    #declare tag TNTStick


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

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


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

execute if data storage asset:context {id:8} run function asset:artifact/0008.mysterious_tambourine/give/2.give


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

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

# 神器のID (int) スプレッドシートの値を入れる
    data modify storage asset:artifact ID set value 8
# 神器のベースアイテム
    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"}'
# 神器の説明文 (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 80
# 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", "Wi-ki", "Rumor"]
# カスタムNBT (NBTCompound) 追加で指定したいNBT (オプション)
    # data modify storage asset:artifact CustomNBT set value {}

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


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


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

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

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

# 効果
    effect give @a[distance=..10] strength 300 15
    effect give @e[type=#lib:living,type=!player,tag=Friend,tag=!Uninterferable,distance=..10] strength 300 1
# 演出
    tellraw @a[distance=..10] [{"text":"不思議なタンバリン","color":"yellow"},{"text":"の音が聞こえた。\n不思議と力がみなぎってくる。","color":"white"}]
    playsound minecraft:block.chain.place player @a ~ ~ ~ 1 1
    playsound minecraft:block.chain.place player @a ~ ~ ~ 1 0.6
    playsound minecraft:block.iron_door.open player @a ~ ~ ~ 0.7 1.5
    playsound minecraft:entity.arrow.hit_player player @a ~ ~ ~ 0.8 0.8
    playsound ogg:random.levelup player @a ~ ~ ~ 0.5 1.2
    playsound ogg:random.levelup player @a ~ ~ ~ 0.7 1.5
    playsound ogg:random.levelup player @a ~ ~ ~ 0.7 2
    particle minecraft:crit ~ ~1 ~ 0.25 0.1 0.25 0.7 20


text:
#> asset:artifact/0008.mysterious_tambourine/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:8} run function asset:artifact/0008.mysterious_tambourine/trigger/2.check_condition


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

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


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

execute if data storage asset:context {id:776} run function asset:artifact/0776.jade_armor/give/2.give


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

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

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

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


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

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

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


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

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

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

# 演出
    particle dust 0.220 0.706 0.545 1 ~ ~1.3 ~ 0.4 0.2 0.4 1 50 normal
    particle rain ~ ~1.3 ~ 0.4 0.2 0.4 0 60 normal @a
    playsound entity.player.splash player @a ~ ~ ~ 0.8 1.7 0
    playsound block.amethyst_block.hit player @a ~ ~ ~ 0.7 1.5 0

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

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

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

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


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

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


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

# 補正削除

# 水耐性+5%
    data modify storage api: Argument.UUID set value [I;1,1,776,5]
    function api:modifier/defense/water/remove

# 水攻撃+5%
    data modify storage api: Argument.UUID set value [I;1,1,776,5]
    function api:modifier/attack/water/remove

# 雷耐性-5%
    data modify storage api: Argument.UUID set value [I;1,1,776,5]
    function api:modifier/defense/thunder/remove

# MP回復量+4%
    data modify storage api: Argument.UUID set value [I;1,1,776,5]
    function api:modifier/mp_regen/remove


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

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


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

execute if data storage asset:context {id:986} run function asset:artifact/0986.order_of_healing/give/2.give


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

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

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

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


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

# ID指定する
    data modify storage asset:artifact TargetID set value 986
# 神器の基本的な条件の確認を行うfunction、成功している場合CanUsedタグが付く
    function asset:artifact/common/check_condition/hotbar
# 他にアイテム等確認する場合はここに書く
    execute if entity @s[tag=RE.Modifier] run tag @s remove CanUsed
# CanUsedタグをチェックして3.main.mcfunctionを実行する
    execute if entity @s[tag=CanUsed] run function asset:artifact/0986.order_of_healing/trigger/3.main


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

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

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

# VFX
    particle heart ~ ~1 ~ 0.4 0.4 0.4 1 8

# 体力回復量+20%
    data modify storage api: Argument.UUID set value [I;1,1,986,7]
    data modify storage api: Argument.Amount set value 0.20
    data modify storage api: Argument.Operation set value "multiply_base"
    function api:modifier/heal/add

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

# 攻撃力-35%
    data modify storage api: Argument.UUID set value [I;1,1,986,7]
    data modify storage api: Argument.Amount set value -0.35
    data modify storage api: Argument.Operation set value "multiply_base"
    function api:modifier/attack/base/add

# 効果付与のフラグ設定
    tag @s add RE.Modifier


text:
#> asset:artifact/0986.order_of_healing/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:[986]} run function asset:artifact/0986.order_of_healing/trigger/2.check_condition


text:
#> asset:artifact/0986.order_of_healing/trigger/_index.d
# @private

#> tag
# @within function asset:artifact/0986.order_of_healing/trigger/**
    #declare tag RE.Modifier


text:
#> asset:artifact/0986.order_of_healing/trigger/dis_equip/remove_modifier
#
#
#
# @within function asset:artifact/0986.order_of_healing/trigger/dis_equip/main

# MP消費
    scoreboard players set $Fluctuation Lib -150
    function lib:mp/fluctuation

# 体力回復量
    data modify storage api: Argument.UUID set value [I;1,1,986,7]
    function api:modifier/heal/remove

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

# 攻撃力
    data modify storage api: Argument.UUID set value [I;1,1,986,7]
    function api:modifier/attack/base/remove

tag @s remove RE.Modifier


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

#> prv
# @private
    #declare score_holder $RE.ItemCount

# まだ持ってるか確認する
    execute store result score $RE.ItemCount Temporary if data storage asset:context New.Items.hotbar[{tag:{TSB:{ID:986}}}]

# なければ削除
    execute if score $RE.ItemCount Temporary matches ..0 run function asset:artifact/0986.order_of_healing/trigger/dis_equip/remove_modifier

# リセット
    scoreboard players reset $RE.ItemCount Temporary


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

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


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

execute if data storage asset:context {id:934} run function asset:artifact/0934.ideal_helmet/give/2.give


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

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

# 神器のID (int) スプレッドシートの値を入れる
    data modify storage asset:artifact ID set value 934
# 神器のベースアイテム
    data modify storage asset:artifact Item set value "minecraft:leather_helmet"
# 神器の名前 (TextComponentString)
    data modify storage asset:artifact Name set value '{"text":"アイディアル","color":"#E6FFF4","underlined":true}'
# 神器の説明文 (TextComponentString[])
    data modify storage asset:artifact Lore set value ['{"text":"最も理想的な装備","color":"#FF78ED"}','{"text":"全ての耐性を持ちあらゆる状況に","color":"#FF78ED"}','{"text":"対応出来る万能な防具","color":"#FF78ED"}','{"text":"全耐性+5%","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 "head"
# 神器のトリガー (string) Wikiを参照
    data modify storage asset:artifact Trigger set value "equipping"
# 神器の発動条件 (TextComponentString) (オプション)
    # data modify storage asset:artifact Condition set value
# 攻撃に関する情報 -Damage量 (literal[]/literal) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.Damage set value [0,0]
# 攻撃に関する情報 -攻撃タイプ (string[]) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.AttackType set value [Physical,Magic]
# 攻撃に関する情報 -攻撃属性 (string[]) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.ElementType set value [Fire,Water,Thunder,None]
# 攻撃に関する情報 -防御無視 (boolean) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.BypassResist set value
# 攻撃に関する情報 -範囲攻撃 (string) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.IsRangeAttack set value
# 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション)
    # data modify storage asset:artifact AttackInfo.AttackRange set value
# MP消費量 (int)
    data modify storage asset:artifact MPCost set value 0
# MP必要量 (int) (オプション)
    # data modify storage asset:artifact MPRequire set value
# 神器のクールダウン (int) (オプション)
    # data modify storage asset:artifact LocalCooldown set value
# グローバルクールダウン (int) (オプション)
    # data modify storage asset:artifact SpecialCooldown set value
# クールダウンによる使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    # data modify storage asset:artifact DisableCooldownMessage set value
# MP不足による使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    # data modify storage asset:artifact DisableMPMessage set value
# 扱える神 (string[]) Wikiを参照
    data modify storage asset:artifact CanUsedGod set value "ALL"
# カスタムNBT (NBTCompound) 追加で指定したいNBT (オプション)
    data modify storage asset:artifact CustomNBT set value {display:{color:16777215},HideFlags:69,Unbreakable:1b,Enchantments:[{id:"minecraft:fortune",lvl:1s}],AttributeModifiers:[{AttributeName:"generic.armor",Name:"generic.armor",Amount:5,Operation:0,UUID:[I;1,1,934,6],Slot:"head"},{AttributeName:"generic.armor_toughness",Name:"generic.armor_toughness",Amount:2.5,Operation:0,UUID:[I;1,1,934,6],Slot:"head"}]}

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


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

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

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


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

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

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

# 全耐性+5%
    data modify storage api: Argument.UUID set value [I;1,1,934,6]
    data modify storage api: Argument.Amount set value 0.05
    data modify storage api: Argument.Operation set value "multiply_base"
    function api:modifier/defense/base/add

# 演出
    playsound minecraft:block.beacon.power_select player @a ~ ~ ~ 1 2
# [ImportKey]: NobwRALgngDgpmAXGGB7ANlA5qgdmAGjAFdiBLAEyTAHYAzOgVgGYBOVxgWgCYaBDAAycALHTg1OrZgDYu06XWZ9ujBgEYAHGsJhcfALYJkgLE1AS5GAjfQAE2ojD4AnAwGck4AMapiuCEjWMibnDecPauYABufOjERuAAHkgCRFCJAL6pRI4UZMQuiNxEThAOPohJYHDo6GQwTkZqAuX2qMUQRuUe9rghSNJEAFbE+jBIBWAARnAAXmQ9ZURkTgCiVTV1SwCOxFGYAMp2gVSIdFF1C04AQtOz9pvbVVD7fIdIJ+h16QC6QA_3
# 多角形 1
    particle minecraft:end_rod ~ ~ ~ 0 0 -2 1 0
    particle minecraft:end_rod ~ ~ ~ 0.11547 0 -1.8 1 0
    particle minecraft:end_rod ~ ~ ~ 0.23094 0 -1.6 1 0
    particle minecraft:end_rod ~ ~ ~ 0.34641 0 -1.4 1 0
    particle minecraft:end_rod ~ ~ ~ 0.46188 0 -1.2 1 0
    particle minecraft:end_rod ~ ~ ~ 0.57735 0 -1 1 0
    particle minecraft:end_rod ~ ~ ~ 0.69282 0 -0.8 1 0
    particle minecraft:end_rod ~ ~ ~ 0.80829 0 -0.6 1 0
    particle minecraft:end_rod ~ ~ ~ 0.92376 0 -0.4 1 0
    particle minecraft:end_rod ~ ~ ~ 1.03923 0 -0.2 1 0
    particle minecraft:end_rod ~ ~ ~ 1.1547 0 0 1 0
    particle minecraft:end_rod ~ ~ ~ 1.27017 0 0.2 1 0
    particle minecraft:end_rod ~ ~ ~ 1.38564 0 0.4 1 0
    particle minecraft:end_rod ~ ~ ~ 1.50111 0 0.6 1 0
    particle minecraft:end_rod ~ ~ ~ 1.61658 0 0.8 1 0
    particle minecraft:end_rod ~ ~ ~ 1.73205 0 -1 1 0
    particle minecraft:end_rod ~ ~ ~ 1.61658 0 -0.8 1 0
    particle minecraft:end_rod ~ ~ ~ 1.50111 0 -0.6 1 0
    particle minecraft:end_rod ~ ~ ~ 1.38564 0 -0.4 1 0
    particle minecraft:end_rod ~ ~ ~ 1.27017 0 -0.2 1 0
    particle minecraft:end_rod ~ ~ ~ 1.1547 0 0 1 0
    particle minecraft:end_rod ~ ~ ~ 1.03923 0 0.2 1 0
    particle minecraft:end_rod ~ ~ ~ 0.92376 0 0.4 1 0
    particle minecraft:end_rod ~ ~ ~ 0.80829 0 0.6 1 0
    particle minecraft:end_rod ~ ~ ~ 0.69282 0 0.8 1 0
    particle minecraft:end_rod ~ ~ ~ 0.57735 0 1 1 0
    particle minecraft:end_rod ~ ~ ~ 0.46188 0 1.2 1 0
    particle minecraft:end_rod ~ ~ ~ 0.34641 0 1.4 1 0
    particle minecraft:end_rod ~ ~ ~ 0.23094 0 1.6 1 0
    particle minecraft:end_rod ~ ~ ~ 0.11547 0 1.8 1 0
    particle minecraft:end_rod ~ ~ ~ 1.73205 0 1 1 0
    particle minecraft:end_rod ~ ~ ~ 1.50111 0 1 1 0
    particle minecraft:end_rod ~ ~ ~ 1.27017 0 1 1 0
    particle minecraft:end_rod ~ ~ ~ 1.03923 0 1 1 0
    particle minecraft:end_rod ~ ~ ~ 0.80829 0 1 1 0
    particle minecraft:end_rod ~ ~ ~ 0.57735 0 1 1 0
    particle minecraft:end_rod ~ ~ ~ 0.34641 0 1 1 0
    particle minecraft:end_rod ~ ~ ~ 0.11547 0 1 1 0
    particle minecraft:end_rod ~ ~ ~ -0.11547 0 1 1 0
    particle minecraft:end_rod ~ ~ ~ -0.34641 0 1 1 0
    particle minecraft:end_rod ~ ~ ~ -0.57735 0 1 1 0
    particle minecraft:end_rod ~ ~ ~ -0.80829 0 1 1 0
    particle minecraft:end_rod ~ ~ ~ -1.03923 0 1 1 0
    particle minecraft:end_rod ~ ~ ~ -1.27017 0 1 1 0
    particle minecraft:end_rod ~ ~ ~ -1.50111 0 1 1 0
    particle minecraft:end_rod ~ ~ ~ 0 0 2 1 0
    particle minecraft:end_rod ~ ~ ~ -0.11547 0 1.8 1 0
    particle minecraft:end_rod ~ ~ ~ -0.23094 0 1.6 1 0
    particle minecraft:end_rod ~ ~ ~ -0.34641 0 1.4 1 0
    particle minecraft:end_rod ~ ~ ~ -0.46188 0 1.2 1 0
    particle minecraft:end_rod ~ ~ ~ -0.57735 0 1 1 0
    particle minecraft:end_rod ~ ~ ~ -0.69282 0 0.8 1 0
    particle minecraft:end_rod ~ ~ ~ -0.80829 0 0.6 1 0
    particle minecraft:end_rod ~ ~ ~ -0.92376 0 0.4 1 0
    particle minecraft:end_rod ~ ~ ~ -1.03923 0 0.2 1 0
    particle minecraft:end_rod ~ ~ ~ -1.1547 0 0 1 0
    particle minecraft:end_rod ~ ~ ~ -1.27017 0 -0.2 1 0
    particle minecraft:end_rod ~ ~ ~ -1.38564 0 -0.4 1 0
    particle minecraft:end_rod ~ ~ ~ -1.50111 0 -0.6 1 0
    particle minecraft:end_rod ~ ~ ~ -1.61658 0 -0.8 1 0
    particle minecraft:end_rod ~ ~ ~ -1.73205 0 1 1 0
    particle minecraft:end_rod ~ ~ ~ -1.61658 0 0.8 1 0
    particle minecraft:end_rod ~ ~ ~ -1.50111 0 0.6 1 0
    particle minecraft:end_rod ~ ~ ~ -1.38564 0 0.4 1 0
    particle minecraft:end_rod ~ ~ ~ -1.27017 0 0.2 1 0
    particle minecraft:end_rod ~ ~ ~ -1.1547 0 0 1 0
    particle minecraft:end_rod ~ ~ ~ -1.03923 0 -0.2 1 0
    particle minecraft:end_rod ~ ~ ~ -0.92376 0 -0.4 1 0
    particle minecraft:end_rod ~ ~ ~ -0.80829 0 -0.6 1 0
    particle minecraft:end_rod ~ ~ ~ -0.69282 0 -0.8 1 0
    particle minecraft:end_rod ~ ~ ~ -0.57735 0 -1 1 0
    particle minecraft:end_rod ~ ~ ~ -0.46188 0 -1.2 1 0
    particle minecraft:end_rod ~ ~ ~ -0.34641 0 -1.4 1 0
    particle minecraft:end_rod ~ ~ ~ -0.23094 0 -1.6 1 0
    particle minecraft:end_rod ~ ~ ~ -0.11547 0 -1.8 1 0
    particle minecraft:end_rod ~ ~ ~ -1.73205 0 -1 1 0
    particle minecraft:end_rod ~ ~ ~ -1.50111 0 -1 1 0
    particle minecraft:end_rod ~ ~ ~ -1.27017 0 -1 1 0
    particle minecraft:end_rod ~ ~ ~ -1.03923 0 -1 1 0
    particle minecraft:end_rod ~ ~ ~ -0.80829 0 -1 1 0
    particle minecraft:end_rod ~ ~ ~ -0.57735 0 -1 1 0
    particle minecraft:end_rod ~ ~ ~ -0.34641 0 -1 1 0
    particle minecraft:end_rod ~ ~ ~ -0.11547 0 -1 1 0
    particle minecraft:end_rod ~ ~ ~ 0.11547 0 -1 1 0
    particle minecraft:end_rod ~ ~ ~ 0.34641 0 -1 1 0
    particle minecraft:end_rod ~ ~ ~ 0.57735 0 -1 1 0
    particle minecraft:end_rod ~ ~ ~ 0.80829 0 -1 1 0
    particle minecraft:end_rod ~ ~ ~ 1.03923 0 -1 1 0
    particle minecraft:end_rod ~ ~ ~ 1.27017 0 -1 1 0
    particle minecraft:end_rod ~ ~ ~ 1.50111 0 -1 1 0


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

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


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

# 全耐性+5%削除
    data modify storage api: Argument.UUID set value [I;1,1,934,6]
    function api:modifier/defense/base/remove


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

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


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

execute if data storage asset:context {id:642} run function asset:artifact/0642.raimei_helmet/give/2.give


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

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

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

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


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

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

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


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

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

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

# 演出
    playsound minecraft:block.respawn_anchor.charge player @s ~ ~ ~ 1 2

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

#セット効果用のファンクション実行（実行はチェストプレートの方へ）
    execute if data storage asset:context id.all{head:642,chest:643,legs:644,feet:645} run function asset:artifact/0643.raimei_chestplate/trigger/3.1.armorfullset


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

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


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

#> Private
# @private
    #declare tag HV.Full

# タグを消す(チェストプレート側で実行)
    execute if entity @s[tag=HV.Full] run function asset:artifact/0643.raimei_chestplate/trigger/3.3.tag_delete

# 引数の設定
    # UUID
    data modify storage api: Argument.UUID set value [I;1,1,642,6]
# 補正の削除
    function api:modifier/defense/thunder/remove


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

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


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

execute if data storage asset:context {id:288} run function asset:artifact/0288.lamentation_sword/give/2.give


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

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

# 神器のID (int) スプレッドシートの値を入れる
    data modify storage asset:artifact ID set value 288
# 神器のベースアイテム
    data modify storage asset:artifact Item set value "minecraft:stick"
# 神器の名前 (TextComponentString)
    data modify storage asset:artifact Name set value '[{"text":"Help","color":"dark_purple","obfuscated":true},{"text":"嘆きの剣","obfuscated":false},{"text":"Help","obfuscated":true}]'
# 神器の説明文 (TextComponentString[])
    data modify storage asset:artifact Lore set value ['[{"text":"嘆く狂人を"},{"text":"助","color":"dark_red","bold":true,"obfuscated":true},{"text":"すり潰し、型に流し込んで作ら"},{"text":"け","color":"dark_red","bold":true,"obfuscated":true},{"text":"れた剣。"},{"text":"て","color":"dark_red","bold":true,"obfuscated":true}]','[{"text":"未だに嘆"},{"text":"痛","color":"dark_red","bold":true,"obfuscated":true},{"text":"き続"},{"text":"い","color":"dark_red","bold":true,"obfuscated":true},{"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 [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 0
# MP必要量 (int) (オプション)
    # data modify storage asset:artifact MPRequire set value
# 神器のクールダウン (int) (オプション)
    data modify storage asset:artifact LocalCooldown set value 100
# グローバルクールダウン (int) (オプション)
    # data modify storage asset:artifact SpecialCooldown set value
# クールダウンによる使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    # data modify storage asset:artifact DisableCooldownMessage set value
# MP不足による使用不可のメッセージを非表示にするか否か (boolean) (オプション)
    # data modify storage asset:artifact DisableMPMessage set value
# 扱える神 (string[]) Wikiを参照
    data modify storage asset:artifact CanUsedGod set value ["Urban", "Rumor"]
# カスタムNBT (NBTCompound) 追加で指定したいNBT (オプション)
    # data modify storage asset:artifact CustomNBT set value {}

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


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


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

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

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

# 演出
    playsound minecraft:entity.ghast.hurt player @a ~ ~ ~ 0.3 1.6
    playsound minecraft:entity.enderman.death player @a ~ ~ ~ 0.4 2
    execute as @e[type=#lib:living,type=!player,tag=Victim,distance=..10] at @s run particle minecraft:soul ~ ~1 ~ 0.1 0.1 0.1 0.02 10
    execute as @e[type=#lib:living,type=!player,tag=Victim,distance=..10] run effect give @s minecraft:weakness 10 0

# ダメージ設定
    # 与えるダメージ = 80
        data modify storage lib: Argument.Damage set value 80.0f
    # 第一属性
        data modify storage lib: Argument.AttackType set value "Physical"

# ダメージ
    function lib:damage/modifier
    execute as @e[type=#lib:living,type=!player,tag=Victim,distance=..10] run function lib:damage/
# リセット
    function lib:damage/reset


text:
#> asset:artifact/0288.lamentation_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:288} run function asset:artifact/0288.lamentation_sword/trigger/2.check_condition


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

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


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

execute if data storage asset:context {id:702} run function asset:artifact/0702.bright_lamp/give/2.give


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

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

# 神器のID (int) スプレッドシートの値を入れる
    data modify storage asset:artifact ID set value 702
# 神器のベースアイテム
    data modify storage asset:artifact Item set value "minecraft:stick"
# 神器の名前 (TextComponentString)
    data modify storage asset:artifact Name set value '{"text":"光照のランプ","color":"gold"}'
# 神器の説明文 (TextComponentString[])
    data modify storage asset:artifact Lore set value ['{"text":"周囲を明るく照らすランプ。","color":"white"}','{"text":"自身と周囲のプレイヤーに対して","color":"white"}','{"text":"暗視を付与し、盲目と暗闇を解除する。","color":"white"}']
# MP以外の消費物 (TextComponentString) (オプション)
    # data modify storage asset:artifact CostText set value
# 使用回数 (int) (オプション)
    # data modify storage asset:artifact RemainingCount set value
# 神器を発動できるスロット (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
# 攻撃に関する情報 -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 200
# グローバルクールダウン (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 "ALL"
# カスタムNBT (NBTCompound) 追加で指定したいNBT (オプション)
    # data modify storage asset:artifact CustomNBT set value {}

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


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

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

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


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

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

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

# 演出
    #playsound ogg:block.respawn_anchor.charge3 player @a ~ ~ ~ 0.25 2
    execute positioned ~ ~1 ~ run function asset:artifact/0702.bright_lamp/trigger/vfx
    scoreboard players reset $RecursiveLimit Temporary

# 暗視を付与
    effect give @a[distance=..8] night_vision 21 0 true

# 盲目とダークネスを解除
    effect clear @a[distance=..8] blindness
    effect clear @a[distance=..8] darkness


text:
#> asset:artifact/0702.bright_lamp/trigger/vfx
#
#
#
# @within function
#   asset:artifact/0702.bright_lamp/trigger/3.main
#   asset:artifact/0702.bright_lamp/trigger/vfx

# 演出
    execute rotated ~00 0 run particle end_rod ^ ^ ^2 ^ ^ ^100000000 0.000000005 0
    execute rotated ~04 0 run particle end_rod ^ ^ ^2 ^ ^ ^100000000 0.000000005 0
    execute rotated ~08 0 run particle end_rod ^ ^ ^2 ^ ^ ^100000000 0.000000005 0
    execute rotated ~12 0 run particle end_rod ^ ^ ^2 ^ ^ ^100000000 0.000000005 0
    execute rotated ~16 0 run particle end_rod ^ ^ ^2 ^ ^ ^100000000 0.000000005 0

# スコア
    scoreboard players add $RecursiveLimit Temporary 1

# 一周するまで再帰
    execute if score $RecursiveLimit Temporary matches ..17 rotated ~20 ~ run function asset:artifact/0702.bright_lamp/trigger/vfx


text:
#> asset:artifact/0702.bright_lamp/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:[702]} run function asset:artifact/0702.bright_lamp/trigger/2.check_condition


text:
#> asset:artifact/0702.bright_lamp/trigger/_index.d
# @private

#> tag
# @within function asset:artifact/0702.bright_lamp/trigger/**
    #declare score_holder $RecursiveLimit


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

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


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

execute if data storage asset:context {id:703} run function asset:artifact/0703.wizard_hat/give/2.give