text:
#> asset:mob/0159.freeze_guardian/summon/2.summon
#
# Mobの召喚時の処理
#
# @within function asset:mob/0159.freeze_guardian/summon/1.trigger

# 元となるMobを召喚する
    summon skeleton ~ ~ ~ {Silent:1b,Tags:["MobInit","AlwaysInvisible"],DeathLootTable:"asset:mob/death/0159.freeze_guardian"}
# ID (int)
    data modify storage asset:mob ID set value 159
# Type (string) Wikiを参照
    data modify storage asset:mob Type set value "Enemy"
# 干渉可能か否か (boolean)
    data modify storage asset:mob Interferable set value true
# 名前 (TextComponentString) (オプション)
    data modify storage asset:mob Name set value '{"text":"氷結ノ守護","color":"#B3FCFF"}'
# 武器
    # メインハンド (Compound(Item)) (オプション)
        data modify storage asset:mob Weapon.Mainhand set value {id:"stick",Count:1b,tag:{CustomModelData:20051}}
    # オフハンド (Compound(Item)) (オプション)
        # data modify storage asset:mob Weapon.Offhand set value
# 武器ドロップ率 ([float, float]) (オプション)
    data modify storage asset:mob WeaponDropChances set value [0.0f,0.0f]
# 防具
    # 頭 (Compound(Item)) (オプション)
        data modify storage asset:mob Armor.Head set value {id:"packed_ice",Count:1b}
    # 胴 (Compound(Item)) (オプション)
        data modify storage asset:mob Armor.Chest set value {id:"minecraft:leather_chestplate",Count:1b,tag:{display:{color:11795711}}}
    # 脚 (Compound(Item)) (オプション)
        data modify storage asset:mob Armor.Legs set value {id:"minecraft:leather_leggings",Count:1b,tag:{display:{color:11795711}}}
    # 足 (Compound(Item)) (オプション)
        # data modify storage asset:mob Armor.Feet set value
# 防具ドロップ率 ([float, float]) (オプション)
    data modify storage asset:mob ArmorDropChances set value [0.0f,0.0f,0.0f,0.0f]
# 体力 (double) (オプション)
    data modify storage asset:mob Health set value 2900
# 攻撃力 (double) (オプション)
    data modify storage asset:mob AttackDamage set value 1
# 防御力 (double) (オプション) // 被ダメージがある程度大きい場合1ptにつき0.8%カット、小さい場合1ptにつき約4%カット 20pt以上は頭打ち
    data modify storage asset:mob Defense set value -5
# 特殊防御力 (double) (オプション) // 4pointにつきダメージを大きく減らす
    # data modify storage asset:mob SpecialDefense set value
# 移動速度 (double) (オプション)
    data modify storage asset:mob Speed set value 0.25
# 索敵範囲 (double) (オプション)
    data modify storage asset:mob FollowRange set value 32
# ノックバック耐性 (double) (オプション)
    # data modify storage asset:mob KnockBackResist set value
# 属性倍率 // 1.0fで100% 最低でも25%は軽減されずに入る
    # 物理倍率 (float) (オプション)
        data modify storage asset:mob Resist.Physical set value 1
    # 魔法倍率 (float) (オプション)
        data modify storage asset:mob Resist.Magic set value 1
    # 火倍率 (float) (オプション)
        data modify storage asset:mob Resist.Fire set value 1
    # 水倍率 (float) (オプション)
        data modify storage asset:mob Resist.Water set value 0.25
    # 雷倍率 (float) (オプション)
        data modify storage asset:mob Resist.Thunder set value 1
# MobInitタグ持ちを対象にして召喚関数呼び出し
    execute as @e[type=skeleton,tag=MobInit,distance=..0.01] run function asset:mob/common/summon


text:
#> asset:mob/0159.freeze_guardian/summon/1.trigger
#
# Mob召喚処理の呼び出し時に実行されるfunction
#
# @within tag/function asset:mob/summon

execute if data storage asset:context {id:159} run function asset:mob/0159.freeze_guardian/summon/2.summon

repo_name: ProjectTSB/TheSkyBlessing

repo_language: mcfunction

mime_type: text/plain


text:
#> asset:mob/0159.freeze_guardian/attack/1.trigger
#
# Mobの攻撃時に実行されるfunction
#
# @within tag/function asset:mob/attack

execute if data storage asset:context {id:159} run function asset:mob/0159.freeze_guardian/attack/2.attack


text:
#> asset:mob/0159.freeze_guardian/attack/2.attack
#
# Mobの攻撃時の処理
#
# @within function asset:mob/0159.freeze_guardian/attack/1.trigger

# 演出
    execute at @p[tag=Victim,distance=..6] run particle dust 1 1000000000 1000000000 1 ~ ~1.2 ~ 0.5 0.4 0.5 1 40 normal @a
    execute at @p[tag=Victim,distance=..6] run playsound block.glass.break hostile @a ~ ~ ~ 0.7 2

# 鈍足付与
    effect give @p[tag=Victim,distance=..6] slowness 3 2 true

# 与えるダメージ
    data modify storage lib: Argument.Damage set value 30f
# 属性
    data modify storage lib: Argument.AttackType set value "Physical"
    data modify storage lib: Argument.ElementType set value "Water"
# デスログ
    data modify storage lib: Argument.DeathMessage append value '{"translate": "%1$sは%2$sによって氷像にされた","with":[{"selector":"@s"},{"nbt":"Return.AttackerName","storage":"lib:","interpret":true}]}'
    data modify storage lib: Argument.DeathMessage append value '{"translate": "%1$sは%2$sによって凍り付き、斬り裂かれた","with":[{"selector":"@s"},{"nbt":"Return.AttackerName","storage":"lib:","interpret":true}]}'
# 補正functionを実行
    function lib:damage/modifier
# 対象
    execute as @p[tag=Victim,distance=..6] run function lib:damage/
# リセット
    function lib:damage/reset


text:
#> asset:mob/0228.frost_eye/death/2.death
#
# Mobの死亡時の処理
#
# @within function asset:mob/0228.frost_eye/death/1.trigger

# 演出
    particle block ice ~ ~1.6 ~ 0.3 0.3 0.3 0 50 normal @a
    particle block snow_block ~ ~1.6 ~ 0.3 0.3 0.3 0 50 normal @a
    playsound block.glass.break hostile @a ~ ~ ~ 1 1.2 0

# 低確率で頭をドロップ
    execute if predicate lib:random_pass_per/5 run summon item ~ ~ ~ {Item:{id:"minecraft:player_head",Count:1b,tag:{display:{Name:'[{"text":"フロストアイ","color":"#C9FFF8"},{"text":"の目","color":"white"}]'},SkullOwner:{Id:[I;1725447404,-1135126882,-2079282470,1109833247],Properties:{textures:[{Value:"e3RleHR1cmVzOntTS0lOOnt1cmw6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDc5Y2Q1MDkxMjljNGY1NjllNWRiY2ViZTYxMjY4MjJjYmY0YjU0ZjEwYWEyOTY5ODU1OTk0MTdmYWJjMjJlMCJ9fX0="}]}}}}}


text:
#> asset:mob/0228.frost_eye/death/1.trigger
#
# Mobの死亡時に実行されるfunction
#
# @within tag/function asset:mob/death

execute if data storage asset:context {id:228} run function asset:mob/0228.frost_eye/death/2.death


text:
#> asset:mob/0228.frost_eye/summon/2.summon
#
# Mobの召喚時の処理
#
# @within function asset:mob/0228.frost_eye/summon/1.trigger

# 元となるMobを召喚する
    summon stray ~ ~ ~ {Silent:1b,Tags:["MobInit","AlwaysInvisible","AlwaysSlowFall"],DeathLootTable:"asset:mob/death/0228.frost_eye"}
# ID (int)
    data modify storage asset:mob ID set value 228
# Type (string) Wikiを参照
    data modify storage asset:mob Type set value "Enemy"
# 干渉可能か否か (boolean)
    data modify storage asset:mob Interferable set value true
# 名前 (TextComponentString) (オプション)
    data modify storage asset:mob Name set value '{"text":"フロストアイ","color":"#C9FFF8"}'
# 武器
    # メインハンド (Compound(Item)) (オプション)
        # data modify storage asset:mob Weapon.Mainhand set value
    # オフハンド (Compound(Item)) (オプション)
        # data modify storage asset:mob Weapon.Offhand set value
# 武器ドロップ率 ([float, float]) (オプション)
    # data modify storage asset:mob WeaponDropChances set value
# 防具
    # 頭 (Compound(Item)) (オプション)
        data modify storage asset:mob Armor.Head set value {id:"player_head",Count:1b,tag:{SkullOwner:{Id:[I;268439076,1076846006,-1848192271,-351679216],Properties:{textures:[{Value:"e3RleHR1cmVzOntTS0lOOnt1cmw6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDc5Y2Q1MDkxMjljNGY1NjllNWRiY2ViZTYxMjY4MjJjYmY0YjU0ZjEwYWEyOTY5ODU1OTk0MTdmYWJjMjJlMCJ9fX0="}]}}}}
    # 胴 (Compound(Item)) (オプション)
        # data modify storage asset:mob Armor.Chest set value
    # 脚 (Compound(Item)) (オプション)
        # data modify storage asset:mob Armor.Legs set value
    # 足 (Compound(Item)) (オプション)
        # data modify storage asset:mob Armor.Feet set value
# 防具ドロップ率 ([float, float]) (オプション)
    # data modify storage asset:mob ArmorDropChances set value
# 体力 (double) (オプション)
    data modify storage asset:mob Health set value 320
# 攻撃力 (double) (オプション)
    data modify storage asset:mob AttackDamage set value 1
# 防御力 (double) (オプション) // 被ダメージがある程度大きい場合1ptにつき0.8%カット、小さい場合1ptにつき約4%カット 20pt以上は頭打ち
    data modify storage asset:mob Defense set value 0
# 特殊防御力 (double) (オプション) // 4pointにつきダメージを大きく減らす
    # data modify storage asset:mob SpecialDefense set value
# 移動速度 (double) (オプション)
    data modify storage asset:mob Speed set value 0.25
# 索敵範囲 (double) (オプション)
    data modify storage asset:mob FollowRange set value 32
# ノックバック耐性 (double) (オプション)
    data modify storage asset:mob KnockBackResist set value 0.6
# 属性倍率 // 1.0fで100% 最低でも25%は軽減されずに入る
    # 物理倍率 (float) (オプション)
        data modify storage asset:mob Resist.Physical set value 0.75
    # 魔法倍率 (float) (オプション)
        # data modify storage asset:mob Resist.Magic set value
    # 火倍率 (float) (オプション)
        # data modify storage asset:mob Resist.Fire set value
    # 水倍率 (float) (オプション)
        data modify storage asset:mob Resist.Water set value 0.4
    # 雷倍率 (float) (オプション)
        # data modify storage asset:mob Resist.Thunder set value

# MobInitタグ持ちを対象にして召喚関数呼び出し
    execute as @e[type=stray,tag=MobInit,distance=..0.01] run function asset:mob/common/summon


text:
#> asset:mob/0228.frost_eye/summon/1.trigger
#
# Mob召喚処理の呼び出し時に実行されるfunction
#
# @within tag/function asset:mob/summon

execute if data storage asset:context {id:228} run function asset:mob/0228.frost_eye/summon/2.summon


text:
#> asset:mob/0228.frost_eye/hurt/2.hurt
#
# Mobの被ダメージ時の処理
#
# @within function asset:mob/0228.frost_eye/hurt/1.trigger

# 演出
    particle snowflake ~ ~1.7 ~ 1.2 0.1 1.2 0 70 normal @a
    playsound block.glass.break hostile @a ~ ~ ~ 1 2 0

# 周囲に鈍足
    effect give @a[gamemode=!spectator,distance=..3] slowness 4 3 true


text:
#> asset:mob/0228.frost_eye/hurt/1.trigger
#
# Mobの被ダメージに実行されるfunction
#
# @within tag/function asset:mob/hurt

execute if data storage asset:context {id:228} run function asset:mob/0228.frost_eye/hurt/2.hurt


text:
#> asset:mob/0228.frost_eye/attack/1.trigger
#
# Mobの攻撃時に実行されるfunction
#
# @within tag/function asset:mob/attack

execute if data storage asset:context {id:228} run function asset:mob/0228.frost_eye/attack/2.attack


text:
#> asset:mob/0228.frost_eye/attack/2.attack
#
# Mobの攻撃時の処理
#
# @within function asset:mob/0228.frost_eye/attack/1.trigger

# 演出
    execute at @p[tag=Victim,distance=..6] run particle snowflake ~ ~1.6 ~ 0.5 0.3 0.5 0 30 normal @a
    execute at @p[tag=Victim,distance=..6] run playsound block.glass.break hostile @a ~ ~ ~ 1 2 0

# 与えるダメージ
        data modify storage lib: Argument.Damage set value 12f
# 対象が鈍足状態ならダメージ増加
        execute if entity @p[tag=Victim,predicate=asset:mob/0228.frost_eye/slowness,distance=..6] run data modify storage lib: Argument.Damage set value 18f
# 属性
    data modify storage lib: Argument.AttackType set value "Physical"
    data modify storage lib: Argument.ElementType set value "Water"
# デスログ
    data modify storage lib: Argument.DeathMessage append value '[{"translate": "%1$sは%2$sによって凍り付いた","with":[{"selector":"@s"},{"nbt":"Return.AttackerName","storage":"lib:","interpret":true}]}]'
    data modify storage lib: Argument.DeathMessage append value '[{"translate": "%1$sは%2$sによって全身が霜に覆われ、凍死した","with":[{"selector":"@s"},{"nbt":"Return.AttackerName","storage":"lib:","interpret":true}]}]'
# 補正functionを実行
    function lib:damage/modifier
# 対象
    execute as @p[tag=Victim,distance=..6] run function lib:damage/
# リセット
    function lib:damage/reset

# 鈍足を付与
    effect give @p[tag=Victim,distance=..6] slowness 4 3 true


text:
#> asset:mob/0228.frost_eye/tick/2.tick
#
# Mobのtick時の処理
#
# @within function asset:mob/0228.frost_eye/tick/1.trigger

# 演出
    execute positioned ^ ^ ^-0.5 run particle snowflake ~ ~1.7 ~ 0.2 0.2 0.2 0 1 normal @a

# 氷渡り
    execute if block ~ ~-0.5 ~ #asset:mob/0228.frost_eye/freezable run fill ~1 ~-0.5 ~1 ~-1 ~-0.5 ~-1 frosted_ice replace #asset:mob/0228.frost_eye/freezable

# 粉雪対策で追尾能力
    execute if block ~ ~ ~ powder_snow if entity @p[gamemode=!spectator,distance=2..32] facing entity @p[gamemode=!spectator,distance=..32] feet positioned ^ ^ ^-100 rotated as @s positioned ^ ^ ^-500 facing entity @s eyes positioned as @s run tp @s ^ ^ ^0.2 ~ ~
    execute if block ~ ~ ~ powder_snow run effect give @s speed 1 4 true

# なんか埋まることがあるのでtp
    execute unless block ~ ~ ~ #lib:no_collision_without_fluid run tp @s ~ ~0.1 ~


text:
#> asset:mob/0228.frost_eye/tick/1.trigger
#
# Mobが生きている間毎tick実行されるfunction
#
# @within tag/function asset:mob/tick

execute if data storage asset:context {id:228} run function asset:mob/0228.frost_eye/tick/2.tick


text:
#> asset:mob/0037.fire_spreader/death/2.death
#
# Mobの死亡時の処理
#
# @within function asset:mob/0037.fire_spreader/death/1.trigger

# 演出
    particle flame ~ ~1 ~ 0.3 0.4 0.3 0 10 normal @a
    particle smoke ~ ~1 ~ 0.3 0.5 0.3 0 10 normal @a


text:
#> asset:mob/0037.fire_spreader/death/1.trigger
#
# Mobの死亡時に実行されるfunction
#
# @within tag/function asset:mob/death

execute if data storage asset:context {id:37} run function asset:mob/0037.fire_spreader/death/2.death


text:
#> asset:mob/0037.fire_spreader/summon/2.summon
#
# Mobの召喚時の処理
#
# @within function asset:mob/0037.fire_spreader/summon/1.trigger

# 元となるMobを召喚する
    summon skeleton ~ ~ ~ {Silent:1b,ActiveEffects:[{Id:12,Amplifier:0b,Duration:200000,ShowParticles:0b}],Tags:["MobInit","AlwaysInvisible"],DeathLootTable:"asset:mob/death/0037.fire_spreader",}
# ID (int)
    data modify storage asset:mob ID set value 37
# Type (string) Wikiを参照
    data modify storage asset:mob Type set value "Enemy"
# 干渉可能か否か (boolean)
    data modify storage asset:mob Interferable set value true
# 名前 (TextComponentString) (オプション)
    data modify storage asset:mob Name set value '{"text":"炎延者","color":"dark_red"}'
# 武器
    # メインハンド (Compound(Item)) (オプション)
    data modify storage asset:mob Weapon.Mainhand set value {id:"minecraft:golden_sword",Count:1b,tag:{Enchantments:[{id:"minecraft:fire_aspect",lvl:2s}]}}
    # オフハンド (Compound(Item)) (オプション)
    # data modify storage asset:mob Weapon.Offhand set value
# 武器ドロップ率 ([float, float]) (オプション)
    # data modify storage asset:mob WeaponDropChances set value
# 防具
    # 頭 (Compound(Item)) (オプション)
    data modify storage asset:mob Armor.Head set value {id:"minecraft:magma_block",Count:1b}
    # 胴 (Compound(Item)) (オプション)
    data modify storage asset:mob Armor.Chest set value {id:"minecraft:leather_chestplate",Count:1b,tag:{display:{color:6029569}}}
    # 脚 (Compound(Item)) (オプション)
    data modify storage asset:mob Armor.Legs set value {id:"minecraft:leather_leggings",Count:1b,tag:{display:{color:6029569}}}
    # 足 (Compound(Item)) (オプション)
    data modify storage asset:mob Armor.Feet set value {id:"minecraft:leather_boots",Count:1b,tag:{display:{color:6029569}}}
# 防具ドロップ率 ([float, float]) (オプション)
    # data modify storage asset:mob ArmorDropChances set value
# 体力 (double) (オプション)
    data modify storage asset:mob Health set value 290
# 攻撃力 (double) (オプション)
    data modify storage asset:mob AttackDamage set value -2
# 防御力 (double) (オプション) // 被ダメージがある程度大きい場合1ptにつき0.8%カット、小さい場合1ptにつき約4%カット 20pt以上は頭打ち
    # data modify storage asset:mob Defense set value
# 特殊防御力 (double) (オプション) // 4pointにつきダメージを大きく減らす
    # data modify storage asset:mob SpecialDefense set value
# 移動速度 (double) (オプション)
    data modify storage asset:mob Speed set value 0.25
# 索敵範囲 (double) (オプション)
    data modify storage asset:mob FollowRange set value 15
# ノックバック耐性 (double) (オプション)
    data modify storage asset:mob KnockBackResist set value 0.2
# 属性倍率 // 1.0fで100% 最低でも25%は軽減されずに入る
    # 物理倍率 (float) (オプション)
    data modify storage asset:mob Resist.Physical set value 0.75
    # 魔法倍率 (float) (オプション)
    data modify storage asset:mob Resist.Magic set value 1.0
    # 火倍率 (float) (オプション)
    data modify storage asset:mob Resist.Fire set value 0.25
    # 水倍率 (float) (オプション)
    data modify storage asset:mob Resist.Water set value 1.0
    # 雷倍率 (float) (オプション)
    data modify storage asset:mob Resist.Thunder set value 0.75

# MobInitタグ持ちを対象にして召喚関数呼び出し
    execute as @e[type=skeleton,tag=MobInit,distance=..0.01] run function asset:mob/common/summon


text:
#> asset:mob/0037.fire_spreader/summon/1.trigger
#
# Mob召喚処理の呼び出し時に実行されるfunction
#
# @within tag/function asset:mob/summon

execute if data storage asset:context {id:37} run function asset:mob/0037.fire_spreader/summon/2.summon


text:
#> asset:mob/0037.fire_spreader/hurt/2.hurt
#
# Mobの被ダメージ時の処理
#
# @within function asset:mob/0037.fire_spreader/hurt/1.trigger

# 演出
    playsound minecraft:entity.blaze.ambient hostile @a ~ ~ ~ 0.5 0 0
    particle smoke ~ ~1 ~ 0.6 0.6 0.6 0.025 15 normal @a


text:
#> asset:mob/0037.fire_spreader/hurt/1.trigger
#
# Mobの被ダメージに実行されるfunction
#
# @within tag/function asset:mob/hurt

execute if data storage asset:context {id:37} run function asset:mob/0037.fire_spreader/hurt/2.hurt


text:
#> asset:mob/0037.fire_spreader/attack/1.trigger
#
# Mobの攻撃時に実行されるfunction
#
# @within tag/function asset:mob/attack

execute if data storage asset:context {id:37} run function asset:mob/0037.fire_spreader/attack/2.attack


text:
#> asset:mob/0037.fire_spreader/attack/2.attack
#
# Mobの攻撃時の処理
#
# @within function asset:mob/0037.fire_spreader/attack/1.trigger

# 演出
    execute at @p[gamemode=survival,tag=Victim,distance=..6] run particle flame ~ ~1.5 ~ 0.5 0.5 0.5 0.1 40 normal @a
    execute at @p[gamemode=survival,tag=Victim,distance=..6] run playsound entity.blaze.shoot hostile @a ~ ~ ~ 0.4 1.2 0

# 延焼能力
    execute at @p[gamemode=survival,tag=Victim,distance=..6] run fill ~1.5 ~1.5 ~1.5 ~-1.5 ~-1.5 ~-1.5 fire replace #lib:air

# 引数の設定
    # 与えるダメージ
        data modify storage lib: Argument.Damage set value 5.0
    # 第一属性
        data modify storage lib: Argument.AttackType set value "Physical"
    # 第二属性
        data modify storage lib: Argument.ElementType set value "Fire"
# デスログ
    data modify storage lib: Argument.DeathMessage append value '[{"translate": "%1$sは%2$sによって炎の中で燃え尽きた","with":[{"selector":"@s"},{"nbt":"Return.AttackerName","storage":"lib:","interpret":true}]}]'
    data modify storage lib: Argument.DeathMessage append value '[{"translate": "%1$sは%2$sの炎の延焼で灰となった","with":[{"selector":"@s"},{"nbt":"Return.AttackerName","storage":"lib:","interpret":true}]}]'
# 補正functionを実行
    function lib:damage/modifier
# 対象
    execute at @p[tag=Victim,distance=..6] as @a[gamemode=!spectator,predicate=lib:is_burning,distance=..4.0] run function lib:damage/
# リセット
    function lib:damage/reset


text:
#> asset:mob/0292.trample_bot/0.load
#
# MOBに利用するスコアボード等の初期化処理
#
# @within tag/function asset:mob/load

#> 定義類はここに
# @within function asset:mob/0292.trample_bot/**
    scoreboard objectives add 84.MoveTime dummy


text:
#> asset:mob/0292.trample_bot/death/2.death
#
# Mobの死亡時の処理
#
# @within function asset:mob/0292.trample_bot/death/1.trigger

    playsound entity.generic.explode hostile @a ~ ~ ~ 1 2
    particle explosion ~ ~1 ~ 0.5 0.5 0.5 1 1 normal @a


text:
#> asset:mob/0292.trample_bot/death/1.trigger
#
# Mobの死亡時に実行されるfunction
#
# @within tag/function asset:mob/death

execute if data storage asset:context {id:292} run function asset:mob/0292.trample_bot/death/2.death


text:
#> asset:mob/0292.trample_bot/summon/2.summon
#
# Mobの召喚時の処理
#
# @within function asset:mob/0292.trample_bot/summon/1.trigger

# 元となるMobを召喚する
    summon skeleton ~ ~ ~ {Silent:1b,CustomNameVisible:0b,Tags:["MobInit","AlwaysInvisible","AntiFallDamage"],DeathLootTable:"asset:mob/death/0292.trample_bot"}
# ID (int)
    data modify storage asset:mob ID set value 292
# Type (string) Wikiを参照
    data modify storage asset:mob Type set value "Enemy"
# 干渉可能か否か (boolean)
    data modify storage asset:mob Interferable set value True
# 名前 (TextComponentString) (オプション)
    data modify storage asset:mob Name set value '{"text":"トランプルボット","color":"yellow"}'
# 防具
    # 頭 (Compound(Item)) (オプション)
        #data modify storage asset:mob Armor.Head set value {id:"minecraft:player_head",Count:1b,tag:{SkullOwner:{Id:[I;-672593164,1073039141,-1481174912,860659466],Properties:{textures:[{Value:"eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvM2JjYmJmOTRkNjAzNzQzYTFlNzE0NzAyNmUxYzEyNDBiZDk4ZmU4N2NjNGVmMDRkY2FiNTFhMzFjMzA5MTRmZCJ9fX0="}]}}}}
        data modify storage asset:mob Armor.Head set value {id:"minecraft:stick",Count:1b,tag:{CustomModelData:20211}}
    # 脚 (Compound(Item)) (オプション)
        #data modify storage asset:mob Armor.Legs set value {id:"minecraft:leather_leggings",Count:1b,tag:{display:{color:7015424}}}
    # 足 (Compound(Item)) (オプション)
        #data modify storage asset:mob Armor.Feet set value {id:"minecraft:diamond_boots",Count:1b,tag:{Enchantments:[{id:"minecraft:blast_protection",lvl:1s}]}}
# 体力 (double) (オプション)
    data modify storage asset:mob Health set value 2800
# 攻撃力 (double) (オプション)
    data modify storage asset:mob AttackDamage set value 0
# 防御力 (double) (オプション) // 被ダメージがある程度大きい場合1ptにつき0.8%カット、小さい場合1ptにつき約4%カット 20pt以上は頭打ち
    # data modify storage asset:mob Defense set value
# 特殊防御力 (double) (オプション) // 4pointにつきダメージを大きく減らす
    # data modify storage asset:mob SpecialDefense set value
# 移動速度 (double) (オプション)
    data modify storage asset:mob Speed set value 0
# 索敵範囲 (double) (オプション)
    #data modify storage asset:mob FollowRange set value 0
# ノックバック耐性 (double) (オプション)
    data modify storage asset:mob KnockBackResist set value 1
# 属性倍率 // 1.0fで100% 最低でも25%は軽減されずに入る
    # 物理倍率 (float) (オプション)
        data modify storage asset:mob Resist.Physical set value 0.9f
    # 魔法倍率 (float) (オプション)
        data modify storage asset:mob Resist.Magic set value 1.0f
    # 火倍率 (float) (オプション)
        data modify storage asset:mob Resist.Fire set value 1.0f
    # 水倍率 (float) (オプション)
        data modify storage asset:mob Resist.Water set value 1.0f
    # 雷倍率 (float) (オプション)
        data modify storage asset:mob Resist.Thunder set value 0.8f

# MobInitタグ持ちを対象にして召喚関数呼び出し
    execute as @e[type=skeleton,tag=MobInit,distance=..0.01] run function asset:mob/common/summon


text:
#> asset:mob/0292.trample_bot/summon/1.trigger
#
# Mob召喚処理の呼び出し時に実行されるfunction
#
# @within tag/function asset:mob/summon

execute if data storage asset:context {id:292} run function asset:mob/0292.trample_bot/summon/2.summon


text:
#> asset:mob/0292.trample_bot/hurt/2.hurt
#
# Mobの被ダメージ時の処理
#
# @within function asset:mob/0292.trample_bot/hurt/1.trigger

playsound minecraft:entity.blaze.hurt hostile @a ~ ~ ~ 1 1.5
playsound minecraft:block.note_block.bit hostile @a ~ ~ ~ 1 0.5


text:
#> asset:mob/0292.trample_bot/hurt/1.trigger
#
# Mobの被ダメージに実行されるfunction
#
# @within tag/function asset:mob/hurt

execute if data storage asset:context {id:292} run function asset:mob/0292.trample_bot/hurt/2.hurt


text:
#> asset:mob/0292.trample_bot/tick/2.tick
#
# Mobのtick時の処理
#
# @within function asset:mob/0292.trample_bot/tick/1.trigger

# スコア加算
    execute if entity @a[gamemode=!spectator,distance=..30] run scoreboard players add @s 84.MoveTime 1

# 付近に対象がいないならスコアリセット
    execute if entity @a[gamemode=!spectator,distance=30..40] run scoreboard players reset @s 84.MoveTime

# 飛び上がる
    execute if entity @s[scores={84.MoveTime=30},nbt={OnGround:1b}] run function asset:mob/0292.trample_bot/tick/event/jump

# 着地で爆発
    execute if entity @s[scores={84.MoveTime=31..},nbt={OnGround:1b}] run function asset:mob/0292.trample_bot/tick/event/stomp

# 首固定
    data modify entity @s Rotation[1] set value 0.0f


text:
#> asset:mob/0292.trample_bot/tick/1.trigger
#
# Mobが生きている間毎tick実行されるfunction
#
# @within tag/function asset:mob/tick

execute if data storage asset:context {id:292} run function asset:mob/0292.trample_bot/tick/2.tick


text:
#> asset:mob/0292.trample_bot/tick/event/shape
#
#
#
# @within function asset:mob/0292.trample_bot/tick/event/stomp

# [ImportKey]: NobwRALgngDgpmAXGAxgSwE4oDYIDRgCuhaAJkmAMwAMArJQJwAsT1AtAEwBmAbCm00pcAjGwY9KAdjalKADlIAjBnGGlhTRWAIA7AIYBbBMnRZc2sDD0ZDAZyTgUAe0I6ISDtQIo4buBgcwADc9bEJjcAAPJC8wKBiAXwSCG1I0QntEDgJbCGt3RFi4bGw0GFtjYWpYjCc8iGNYtFsAURKyipaAR0JQ7CgAZSsfckQuUIqkvHBoeApTHHwiElGwLklKUmpSWnZhFA5RJkPaNj1JRTkzpgvKA9pL0kkLfSN5jDR3AisbA0zHFxuDyxHx+AKIcAhMIRMDRQoEeKFKZgVLpTLZMC5fIxAjFUrlSrVFJ1PQNHFgZptfGdHp9QbDOCjcbYSbJGawYyoTCLCzEMgUBiXOSKJgMBhsDbUI60OTixQbOBsRSKah6agoHiKXjCDgvQyclAfCC677WOyBZyuAqeby+BrgyGhcKBOGxRHUZGojIeHJ5DAFIrtAlIKo1Elk+EU1pBmm9Er0vQjJDM1kAXSAA_3
# circle
particle firework ~0 ~ ~-2 0 0 0 1 0 force @a[distance=..30]
particle firework ~0.61803 ~ ~-1.90211 0 0 0 1 0 force @a[distance=..30]
particle firework ~1.17557 ~ ~-1.61803 0 0 0 1 0 force @a[distance=..30]
particle firework ~1.61803 ~ ~-1.17557 0 0 0 1 0 force @a[distance=..30]
particle firework ~1.90211 ~ ~-0.61803 0 0 0 1 0 force @a[distance=..30]
particle firework ~2 ~ ~0 0 0 0 1 0 force @a[distance=..30]
particle firework ~1.90211 ~ ~0.61803 0 0 0 1 0 force @a[distance=..30]
particle firework ~1.61803 ~ ~1.17557 0 0 0 1 0 force @a[distance=..30]
particle firework ~1.17557 ~ ~1.61803 0 0 0 1 0 force @a[distance=..30]
particle firework ~0.61803 ~ ~1.90211 0 0 0 1 0 force @a[distance=..30]
particle firework ~0 ~ ~2 0 0 0 1 0 force @a[distance=..30]
particle firework ~-0.61803 ~ ~1.90211 0 0 0 1 0 force @a[distance=..30]
particle firework ~-1.17557 ~ ~1.61803 0 0 0 1 0 force @a[distance=..30]
particle firework ~-1.61803 ~ ~1.17557 0 0 0 1 0 force @a[distance=..30]
particle firework ~-1.90211 ~ ~0.61803 0 0 0 1 0 force @a[distance=..30]
particle firework ~-2 ~ ~0 0 0 0 1 0 force @a[distance=..30]
particle firework ~-1.90211 ~ ~-0.61803 0 0 0 1 0 force @a[distance=..30]
particle firework ~-1.61803 ~ ~-1.17557 0 0 0 1 0 force @a[distance=..30]
particle firework ~-1.17557 ~ ~-1.61803 0 0 0 1 0 force @a[distance=..30]
particle firework ~-0.61803 ~ ~-1.90211 0 0 0 1 0 force @a[distance=..30]
# crit
particle crit ~0 ~ ~-2 0 1 0 2 0 normal @a
particle crit ~0.61803 ~ ~-1.90211 0 1 0 2 0 normal @a
particle crit ~1.17557 ~ ~-1.61803 0 1 0 2 0 normal @a
particle crit ~1.61803 ~ ~-1.17557 0 1 0 2 0 normal @a
particle crit ~1.90211 ~ ~-0.61803 0 1 0 2 0 normal @a
particle crit ~2 ~ ~0 0 1 0 2 0 normal @a
particle crit ~1.90211 ~ ~0.61803 0 1 0 2 0 normal @a
particle crit ~1.61803 ~ ~1.17557 0 1 0 2 0 normal @a
particle crit ~1.17557 ~ ~1.61803 0 1 0 2 0 normal @a
particle crit ~0.61803 ~ ~1.90211 0 1 0 2 0 normal @a
particle crit ~0 ~ ~2 0 1 0 2 0 normal @a
particle crit ~-0.61803 ~ ~1.90211 0 1 0 2 0 normal @a
particle crit ~-1.17557 ~ ~1.61803 0 1 0 2 0 normal @a
particle crit ~-1.61803 ~ ~1.17557 0 1 0 2 0 normal @a
particle crit ~-1.90211 ~ ~0.61803 0 1 0 2 0 normal @a
particle crit ~-2 ~ ~0 0 1 0 2 0 normal @a
particle crit ~-1.90211 ~ ~-0.61803 0 1 0 2 0 normal @a
particle crit ~-1.61803 ~ ~-1.17557 0 1 0 2 0 normal @a
particle crit ~-1.17557 ~ ~-1.61803 0 1 0 2 0 normal @a
particle crit ~-0.61803 ~ ~-1.90211 0 1 0 2 0 normal @a
# crit2
particle crit ~0 ~ ~-2 0 1 0 1 0 normal @a
particle crit ~0.61803 ~ ~-1.90211 0 1 0 1 0 normal @a
particle crit ~1.17557 ~ ~-1.61803 0 1 0 1 0 normal @a
particle crit ~1.61803 ~ ~-1.17557 0 1 0 1 0 normal @a
particle crit ~1.90211 ~ ~-0.61803 0 1 0 1 0 normal @a
particle crit ~2 ~ ~0 0 1 0 1 0 normal @a
particle crit ~1.90211 ~ ~0.61803 0 1 0 1 0 normal @a
particle crit ~1.61803 ~ ~1.17557 0 1 0 1 0 normal @a
particle crit ~1.17557 ~ ~1.61803 0 1 0 1 0 normal @a
particle crit ~0.61803 ~ ~1.90211 0 1 0 1 0 normal @a
particle crit ~0 ~ ~2 0 1 0 1 0 normal @a
particle crit ~-0.61803 ~ ~1.90211 0 1 0 1 0 normal @a
particle crit ~-1.17557 ~ ~1.61803 0 1 0 1 0 normal @a
particle crit ~-1.61803 ~ ~1.17557 0 1 0 1 0 normal @a
particle crit ~-1.90211 ~ ~0.61803 0 1 0 1 0 normal @a
particle crit ~-2 ~ ~0 0 1 0 1 0 normal @a
particle crit ~-1.90211 ~ ~-0.61803 0 1 0 1 0 normal @a
particle crit ~-1.61803 ~ ~-1.17557 0 1 0 1 0 normal @a
particle crit ~-1.17557 ~ ~-1.61803 0 1 0 1 0 normal @a
particle crit ~-0.61803 ~ ~-1.90211 0 1 0 1 0 normal @a


text:
#> asset:mob/0292.trample_bot/tick/event/jump
#
#
#
# @within function asset:mob/0292.trample_bot/tick/2.tick

# 演出
    particle minecraft:poof ~ ~0.2 ~ 0.25 0 0.25 0 20
    playsound minecraft:entity.iron_golem.attack hostile @a ~ ~ ~ 0.7 1
    playsound minecraft:entity.iron_golem.hurt hostile @a ~ ~ ~ 0.7 1.5

# こっちを向く
    execute facing entity @p eyes run tp @s ~ ~ ~ ~ ~

# モデル変更
    item replace entity @s armor.head with stick{CustomModelData:20212}

# こっちに対してMotionで飛ぶ 近いやつを優先
    execute if entity @a[distance=14..30] run data modify storage lib: Argument.VectorMagnitude set value 2.2
    execute if entity @a[distance=7..14] run data modify storage lib: Argument.VectorMagnitude set value 1.7
    execute if entity @a[distance=..7] run data modify storage lib: Argument.VectorMagnitude set value 0.7
    execute facing entity @p feet run function lib:motion/
    data remove storage lib: Argument

# 最後に上方向に飛ぶ
    data modify entity @s Motion[1] set value 0.7d


text:
#> asset:mob/0292.trample_bot/tick/event/stomp
#
#
#
# @within function asset:mob/0292.trample_bot/tick/2.tick

# 演出
    playsound minecraft:entity.iron_golem.hurt hostile @a ~ ~ ~ 1 1.5
    playsound minecraft:entity.zombie.break_wooden_door hostile @a ~ ~ ~ 0.5 2
    playsound minecraft:entity.zombie_villager.cure hostile @a ~ ~ ~ 0.5 2
    scoreboard players reset @s 84.MoveTime

# モデル変更
    item replace entity @s armor.head with stick{CustomModelData:20211}

# ダメージ設定
    data modify storage lib: Argument.Damage set value 35f
    data modify storage lib: Argument.AttackType set value "Physical"
    data modify storage lib: Argument.ElementType set value "Thunder"

# 補正実行
    function lib:damage/modifier

# ダメージを与える
    execute as @a[tag=!PlayerShouldInvulnerable,distance=..2] run function lib:damage/

# 吹き飛ばし
    execute at @a[gamemode=!spectator,distance=..2] run summon area_effect_cloud ~ ~ ~ {Radius:0.1f,Duration:6,Age:4,Effects:[{Id:25,Amplifier:20b,Duration:5,ShowParticles:0b}]}

# リセット
    function lib:damage/reset

# パーティクル
    particle smoke ~ ~0.1 ~ 1 0.1 1 0.02 100
    particle dust 1000000000 1 0 1.5 ~ ~0.1 ~ 1 0.1 1 0.02 30
    particle dust 1 1 0 1 ~ ~0.1 ~ 1 0.1 1 0.02 30
    execute positioned ~ ~0.1 ~ run function asset:mob/0292.trample_bot/tick/event/shape


text:
#> asset:mob/0262.frestchika/0.load
#
# MOBに利用するスコアボード等の初期化処理
#
# @within tag/function asset:mob/load

#> 定義類はここに
# @within function asset:mob/0262.frestchika/**
    scoreboard objectives add 7A.Tick dummy
    scoreboard objectives add 7A.Heat dummy


text:
#> asset:mob/0262.frestchika/rejoin_process
#
# 使い方は必ずwikiを見ること
#
# @within tag/function asset:rejoin

# Schedule
    execute if entity @e[type=armor_stand,tag=7A.ArmorStandDeath,limit=1] run schedule function asset:mob/0262.frestchika/death/schedule 1t


text:
#> asset:mob/0262.frestchika/_index.d
# @private

#> tag
# @within function asset:mob/0262.frestchika/**
    #declare tag 7A.This
    #
    #declare tag 7A.Angel
    #declare tag 7A.ArmorStand
    #declare tag 7A.ArmorStandThis
    #declare tag 7A.ArmorStandDeath
    #
    #declare tag 7A.SkillThunder
    #declare tag 7A.SkillMelee
    #declare tag 7A.SkillMelee2
    #declare tag 7A.SkillGun
    #declare tag 7A.SkillOverHeat
    #
    #declare tag SpreadMarker
    #declare tag Landing
    #declare tag LandingTarget
    #declare tag PlayerCheck
    #declare tag CanTeleport


text:
#> asset:mob/0262.frestchika/death/schedule
#
#
#
# @within function
#        asset:mob/0262.frestchika/death/2.death
#        asset:mob/0262.frestchika/death/schedule
#        asset:mob/0262.frestchika/rejoin_process
# ファンクション
    execute as @e[type=armor_stand,tag=7A.ArmorStandDeath] at @s run function asset:mob/0262.frestchika/death/3.death_animation

# Schedule
    execute if entity @e[type=armor_stand,tag=7A.ArmorStandDeath,limit=1] run schedule function asset:mob/0262.frestchika/death/schedule 1t


text:
#> asset:mob/0262.frestchika/death/2.death
#
# Mobの死亡時の処理
#
# @within function asset:mob/0262.frestchika/death/1.trigger

# 死亡アニメーションをするためのアマスタを召喚する
    summon armor_stand ~ ~ ~ {Marker:1b,Invisible:1b,Tags:["7A.ArmorStandDeath","7A.ArmorStandThis","Object","Uninterferable"],Pose:{LeftArm:[15f,0f,-15f],RightArm:[15f,0f,15f]},HandItems:[{id:"minecraft:stick",Count:1b,tag:{CustomModelData:20144}},{id:"minecraft:stick",Count:1b,tag:{CustomModelData:20143}}],ArmorItems:[{},{},{},{id:"minecraft:stick",Count:1b,tag:{CustomModelData:20147}}]}
# アマスタに位置をあわせる
    execute at @e[type=armor_stand,tag=7A.ArmorStand,distance=..3,sort=nearest,limit=1] run tp @e[type=armor_stand,tag=7A.ArmorStandThis,distance=..3] @s
# タグを消す
    tag @e[type=armor_stand,tag=7A.ArmorStandThis] remove 7A.ArmorStandThis

# もともといるアマスタには死んでもらう(複数召喚されてる場合、もし巻き込まれても大丈夫)
    kill @e[type=armor_stand,tag=7A.ArmorStand]

# ボスドロ
    data modify storage api: Argument.ID set value 613
    data modify storage api: Argument.Important set value true
    function api:artifact/spawn/from_id

# ボスドロ
    data modify storage api: Argument.ID set value 948
    data modify storage api: Argument.Important set value true
    function api:artifact/spawn/from_id

# スケジュールループを開始する
    schedule function asset:mob/0262.frestchika/death/schedule 1t


text:
#> asset:mob/0262.frestchika/death/3.death_animation
#
#
#
# @within function asset:mob/0262.frestchika/death/schedule

# スコアを増やしていく
    scoreboard players add @s 7A.Tick 1

# 以下アニメーション

# 地面につくまで落下する
    execute if block ~ ~-0.1 ~ #lib:air run tp ~ ~-0.25 ~
# 埋まった場合上に上がる
    execute unless block ~ ~ ~ #lib:air run tp ~ ~0.2 ~

# 文字いっぱいだす
    execute if score @s 7A.Tick matches 1..50 run function asset:mob/0262.frestchika/death/text_summon

# オーバーヒート化する
    execute if score @s 7A.Tick matches 10 run item replace entity @s weapon.mainhand with stick{CustomModelData:20153}
    execute if score @s 7A.Tick matches 10 run item replace entity @s weapon.offhand with stick{CustomModelData:20152}
    execute if score @s 7A.Tick matches 10 run item replace entity @s armor.head with stick{CustomModelData:20154}

# ぶっ倒れる
    execute if score @s 7A.Tick matches 40 run playsound minecraft:block.grass.break hostile @a ~ ~ ~ 1 0
    execute if score @s 7A.Tick matches 40 run item replace entity @s weapon.mainhand with air
    execute if score @s 7A.Tick matches 40 run item replace entity @s weapon.offhand with air
    execute if score @s 7A.Tick matches 40 run item replace entity @s armor.head with stick{CustomModelData:20155}

# 演出
    execute if score @s 7A.Tick matches 40.. run particle smoke ^ ^ ^1 0.3 0.3 0.3 0 5
    execute if score @s 7A.Tick matches 40.. if predicate lib:random_pass_per/10 run particle lava ^ ^ ^1 0.3 0.3 0.3 0 5

# うめき声
    execute if score @s 7A.Tick matches 70 run playsound minecraft:entity.strider.ambient hostile @a ~ ~ ~ 1 0.8

# 爆発
    execute if score @s 7A.Tick matches 160 run particle minecraft:explosion_emitter ~ ~ ~ 0 0 0 0 1 normal
    execute if score @s 7A.Tick matches 160 run playsound entity.generic.explode hostile @a ~ ~ ~ 1 1

    execute if score @s 7A.Tick matches 160 run kill @s


text:
#> asset:mob/0262.frestchika/death/text_summon
#
#
#
# @within function asset:mob/0262.frestchika/death/3.death_animation

# マーカー召喚
    summon marker ~ ~0.5 ~ {Tags:["Object","7A.This"]}

# 拡散する
    data modify storage lib: Argument.Bounds set value [[2d,2d],[2d,2d],[2d,2d]]
    execute as @e[type=marker,tag=7A.This,distance=..10] at @s run function lib:spread_entity/

# 疑似乱数取得
    execute store result score $Random Temporary run function lib:random/
# ほしい範囲に剰余算
    scoreboard players operation $Random Temporary %= $9 Const
# メッセージ
    execute if score $Random Temporary matches 0 at @e[type=marker,tag=7A.This,distance=..3.5] run summon area_effect_cloud ^ ^ ^ {CustomNameVisible:1b,Particle:"block air",Duration:40,Tags:["Object"],CustomName:'[{"text":"0110110","font":"mob/262/01"},{"text":"#","font":"invisible_bg"}]'}
    execute if score $Random Temporary matches 1 at @e[type=marker,tag=7A.This,distance=..3.5] run summon area_effect_cloud ^ ^ ^ {CustomNameVisible:1b,Particle:"block air",Duration:40,Tags:["Object"],CustomName:'[{"text":"0110001","font":"mob/262/01"},{"text":"#","font":"invisible_bg"}]'}
    execute if score $Random Temporary matches 2 at @e[type=marker,tag=7A.This,distance=..3.5] run summon area_effect_cloud ^ ^ ^ {CustomNameVisible:1b,Particle:"block air",Duration:40,Tags:["Object"],CustomName:'[{"text":"0110101","font":"mob/262/01"},{"text":"#","font":"invisible_bg"}]'}
    execute if score $Random Temporary matches 3 at @e[type=marker,tag=7A.This,distance=..3.5] run summon area_effect_cloud ^ ^ ^ {CustomNameVisible:1b,Particle:"block air",Duration:40,Tags:["Object"],CustomName:'[{"text":"0110110","font":"mob/262/01"},{"text":"#","font":"invisible_bg"}]'}
    execute if score $Random Temporary matches 4 at @e[type=marker,tag=7A.This,distance=..3.5] run summon area_effect_cloud ^ ^ ^ {CustomNameVisible:1b,Particle:"block air",Duration:40,Tags:["Object"],CustomName:'[{"text":"0110101","font":"mob/262/01"},{"text":"#","font":"invisible_bg"}]'}
    execute if score $Random Temporary matches 5 at @e[type=marker,tag=7A.This,distance=..3.5] run summon area_effect_cloud ^ ^ ^ {CustomNameVisible:1b,Particle:"block air",Duration:40,Tags:["Object"],CustomName:'[{"text":"0110","font":"mob/262/01"},{"text":"#","font":"invisible_bg"}]'}
    execute if score $Random Temporary matches 6 at @e[type=marker,tag=7A.This,distance=..3.5] run summon area_effect_cloud ^ ^ ^ {CustomNameVisible:1b,Particle:"block air",Duration:40,Tags:["Object"],CustomName:'[{"text":"faild","font":"mob/262/01","obfuscated":true},{"text":"#","font":"invisible_bg","obfuscated":false}]'}
    execute if score $Random Temporary matches 7 at @e[type=marker,tag=7A.This,distance=..3.5] run summon area_effect_cloud ^ ^ ^ {CustomNameVisible:1b,Particle:"block air",Duration:40,Tags:["Object"],CustomName:'[{"text":"error","font":"mob/262/01","obfuscated":true},{"text":"#","font":"invisible_bg","obfuscated":false}]'}
    execute if score $Random Temporary matches 8 at @e[type=marker,tag=7A.This,distance=..3.5] run summon area_effect_cloud ^ ^ ^ {CustomNameVisible:1b,Particle:"block air",Duration:40,Tags:["Object"],CustomName:'[{"text":"shutdown","font":"mob/262/01","obfuscated":true},{"text":"#","font":"invisible_bg","obfuscated":false}]'}
# リセット
    scoreboard players reset $Random Temporary

# リセット
    kill @e[type=marker,tag=7A.This,distance=..10]


text:
#> asset:mob/0262.frestchika/death/1.trigger
#
# Mobの死亡時に実行されるfunction
#
# @within tag/function asset:mob/death

execute if data storage asset:context {id:262} run function asset:mob/0262.frestchika/death/2.death


text:
#> asset:mob/0262.frestchika/summon/2.summon
#
# Mobの召喚時の処理
#
# @within function asset:mob/0262.frestchika/summon/1.trigger

# 元となるMobを召喚する
    summon wither_skeleton ~ ~ ~ {Tags:["MobInit","AlwaysInvisible","7A.Angel"],PersistenceRequired:1b,Silent:1b,NoAI:1b,DeathLootTable:"asset:mob/death/0262.frestchika"}
# ID (int)
    data modify storage asset:mob ID set value 262
# Type (string) Wikiを参照
    data modify storage asset:mob Type set value "Enemy.Boss"
# 干渉可能か否か (boolean)
    data modify storage asset:mob Interferable set value true
# 名前 (TextComponentString) (オプション)
    data modify storage asset:mob Name set value '{"text":"フレストチカ"}'
# 武器
    # メインハンド (Compound(Item)) (オプション)
        # data modify storage asset:mob Weapon.Mainhand set value
    # オフハンド (Compound(Item)) (オプション)
        # data modify storage asset:mob Weapon.Offhand set value
# 武器ドロップ率 ([float, float]) (オプション)
    # data modify storage asset:mob WeaponDropChances set value
# 防具
    # 頭 (Compound(Item)) (オプション)
        # data modify storage asset:mob Armor.Head set value
    # 胴 (Compound(Item)) (オプション)
        # data modify storage asset:mob Armor.Chest set value
    # 脚 (Compound(Item)) (オプション)
        # data modify storage asset:mob Armor.Legs set value
    # 足 (Compound(Item)) (オプション)
        # data modify storage asset:mob Armor.Feet set value
# 防具ドロップ率 ([float, float]) (オプション)
    # data modify storage asset:mob ArmorDropChances set value
# 体力 (double) (オプション)
    data modify storage asset:mob Health set value 32850
# 攻撃力 (double) (オプション)
    # data modify storage asset:mob AttackDamage set value
# 防御力 (double) (オプション) // 被ダメージがある程度大きい場合1ptにつき0.8%カット、小さい場合1ptにつき約4%カット 20pt以上は頭打ち
    # data modify storage asset:mob Defense set value
# 特殊防御力 (double) (オプション) // 4pointにつきダメージを大きく減らす
    # data modify storage asset:mob SpecialDefense set value
# 移動速度 (double) (オプション)
    # data modify storage asset:mob Speed set value
# 索敵範囲 (double) (オプション)
    # data modify storage asset:mob FollowRange set value
# ノックバック耐性 (double) (オプション)
    # data modify storage asset:mob KnockBackResist set value
# 属性倍率 // 1.0fで100% 最低でも25%は軽減されずに入る
    # 物理倍率 (float) (オプション)
        data modify storage asset:mob Resist.Physical set value 0.7
    # 魔法倍率 (float) (オプション)
        data modify storage asset:mob Resist.Magic set value 0.8
    # 火倍率 (float) (オプション)
        data modify storage asset:mob Resist.Fire set value 0.5
    # 水倍率 (float) (オプション)
        data modify storage asset:mob Resist.Water set value 1
    # 雷倍率 (float) (オプション)
        data modify storage asset:mob Resist.Thunder set value 0.5

# 見た目用のアマスタを召喚
    summon armor_stand ~ ~ ~ {NoGravity:1b,Invisible:1b,Tags:["7A.ArmorStand","7A.ArmorStandThis","Object","Uninterferable"],Pose:{LeftArm:[15f,0f,-15f],RightArm:[15f,0f,15f]},HandItems:[{id:"minecraft:stick",Count:1b,tag:{CustomModelData:20144}},{id:"minecraft:stick",Count:1b,tag:{CustomModelData:20143}}],ArmorItems:[{},{},{},{id:"minecraft:stick",Count:1b,tag:{CustomModelData:20147}}]}
# 位置をあわせる
    execute as @e[type=wither_skeleton,tag=MobInit,distance=..0.01] at @s run tp @e[type=armor_stand,tag=7A.ArmorStandThis,distance=..0.01] @s
# タグを消す
    tag @e[type=armor_stand,tag=7A.ArmorStandThis,distance=..0.01] remove 7A.ArmorStandThis
# スコアをセットする
    scoreboard players set @e[type=wither_skeleton,tag=MobInit,distance=..0.01] 7A.Tick -30

# MobInitタグ持ちを対象にして召喚関数呼び出し
    execute as @e[type=wither_skeleton,tag=MobInit,distance=..0.01] run function asset:mob/common/summon


text:
#> asset:mob/0262.frestchika/summon/1.trigger
#
# Mob召喚処理の呼び出し時に実行されるfunction
#
# @within tag/function asset:mob/summon

execute if data storage asset:context {id:262} run function asset:mob/0262.frestchika/summon/2.summon


text:
#> asset:mob/0262.frestchika/hurt/2.hurt
#
# Mobの被ダメージ時の処理
#
# @within function asset:mob/0262.frestchika/hurt/1.trigger

# 演出
    playsound minecraft:entity.player.hurt hostile @a ~ ~ ~ 1 1


text:
#> asset:mob/0262.frestchika/hurt/1.trigger
#
# Mobの被ダメージに実行されるfunction
#
# @within tag/function asset:mob/hurt

execute if data storage asset:context {id:262} run function asset:mob/0262.frestchika/hurt/2.hurt


text:
#> asset:mob/0262.frestchika/remove/2.remove
#
#
#
# @within function asset:mob/0262.frestchika/remove/1.trigger

# アマスタ削除
    kill @e[type=armor_stand,tag=7A.ArmorStand]


text:
#> asset:mob/0262.frestchika/remove/1.trigger
#
#
#
# @within tag/function asset:mob/remove

execute if data storage asset:context {id:262} run function asset:mob/0262.frestchika/remove/2.remove


text:
#> asset:mob/0262.frestchika/tick/armorstand_respawn
#
#
#
# @within function asset:mob/0262.frestchika/tick/2.tick

# どっかいったアマスタを殺す
    execute as @e[type=armor_stand,tag=7A.ArmorStand] at @s unless entity @e[type=wither_skeleton,tag=7A.Angel,distance=..0.1] run kill @s
# 見た目用のアマスタを召喚
    summon armor_stand ~ ~ ~ {NoGravity:1b,Invisible:1b,Tags:["7A.ArmorStand","7A.ArmorStandThis","Object","Uninterferable"],Pose:{LeftArm:[15f,0f,-15f],RightArm:[15f,0f,15f]},HandItems:[{id:"minecraft:stick",Count:1b,tag:{CustomModelData:20144}},{id:"minecraft:stick",Count:1b,tag:{CustomModelData:20143}}],ArmorItems:[{},{},{},{id:"minecraft:stick",Count:1b,tag:{CustomModelData:20147}}]}
# 位置をあわせる
    tp @e[type=armor_stand,tag=7A.ArmorStandThis,distance=..0.01] @s
# タグを消す
    tag @e[type=armor_stand,tag=7A.ArmorStandThis,distance=..0.01] remove 7A.ArmorStandThis
# スコアも一応戻す
    scoreboard players set @s 7A.Tick -2
# ヒートをもどす
    tag @s remove 7A.SkillOverHeat
    scoreboard players set @s 7A.Heat 0

# スキル発動中に移動した場合困るので消す
    function asset:mob/0262.frestchika/tick/skill_tag_remove

# 強制的にテレポする
    execute at @s run function asset:mob/0262.frestchika/tick/move/spread


text:
#> asset:mob/0262.frestchika/tick/2.tick
#
# Mobのtick時の処理
#
# @within function asset:mob/0262.frestchika/tick/1.trigger
#> private
# @private
    #declare score_holder $Count
    #declare score_holder $4tInterval

# オーバーヒートしていない限り常時耐性4がつく
    effect give @s[tag=!7A.SkillOverHeat] resistance 1 3 true

# スコアを増やす
    scoreboard players add @s 7A.Tick 1

# プレイヤーを見る
    execute if score @s 7A.Tick matches 0 at @s facing entity @p feet run function asset:mob/0262.frestchika/tick/move/teleport

# プレイヤーが周囲にいないのに時間が着てしまった場合。スコアを戻す
    execute if score @s 7A.Tick matches 0 unless entity @p[gamemode=!spectator,distance=..100] run scoreboard players set @s 7A.Tick -5

# その後発動するスキル
# プレイヤーが周囲にいたらスキル選択
    execute if score @s 7A.Tick matches 0 run function asset:mob/0262.frestchika/tick/3.skill_select

# 選択したスキル発動
    execute if score @s 7A.Tick matches 0.. run function asset:mob/0262.frestchika/tick/4.skill_active

# 以下エラー時の処理
# もし同一座標に2体存在した場合瞬時にteleportする
    # 数のカウント
        execute store result score $Count Temporary if entity @e[type=armor_stand,tag=7A.ArmorStand,distance=..0.01]
    # もしいたらテレポ
        execute if score $Count Temporary matches 2.. run data modify storage lib: Argument.Bounds set value [[8d,8d],[0d,0d],[8d,8d]]
        execute if score $Count Temporary matches 2.. run function asset:mob/0262.frestchika/tick/move/spread
    # スコアも一応戻す
        execute if score $Count Temporary matches 2.. run scoreboard players reset @s 7A.Tick
    # リセット
        scoreboard players reset $Count

# もしアマスタがどっかいってしまったら(tpの関係でatが無いと死ぬ)
    execute at @s unless entity @e[type=armor_stand,tag=7A.ArmorStand,distance=..0.01] run function asset:mob/0262.frestchika/tick/armorstand_respawn


text:
#> asset:mob/0262.frestchika/tick/skill_tag_remove
#
# スキルタグを消す場合に使う
#
# @within function asset:mob/0262.frestchika/tick/**

# スキル消す
    tag @s remove 7A.SkillThunder
    tag @s remove 7A.SkillMelee
    tag @s remove 7A.SkillMelee2
    tag @s remove 7A.SkillGun


text:
#> asset:mob/0262.frestchika/tick/1.trigger
#
# Mobが生きている間毎tick実行されるfunction
#
# @within tag/function asset:mob/tick

execute if data storage asset:context {id:262} run function asset:mob/0262.frestchika/tick/2.tick


text:
#> asset:mob/0262.frestchika/tick/4.skill_active
#
#
#
# @within function asset:mob/0262.frestchika/tick/2.tick

# 雷
    execute if entity @s[tag=7A.SkillThunder] run function asset:mob/0262.frestchika/tick/1.thunder/1.thunder
# 剣
    execute if entity @s[tag=7A.SkillMelee] run function asset:mob/0262.frestchika/tick/2.melee/1.melee
# 剣2
    execute if entity @s[tag=7A.SkillMelee2] run function asset:mob/0262.frestchika/tick/3.melee2/1.melee2
# 銃
    execute if entity @s[tag=7A.SkillGun] run function asset:mob/0262.frestchika/tick/4.gun/1.gun

# オーバーヒート
    execute if entity @s[tag=7A.SkillOverHeat] run function asset:mob/0262.frestchika/tick/999.overheat/1.overheat


text:
#> asset:mob/0262.frestchika/tick/3.skill_select
#
#
#
# @within function asset:mob/0262.frestchika/tick/2.tick
#> private
# @private
    #declare score_holder $Random

# 疑似乱数取得
    execute store result score $Random Temporary run function lib:random/
# ほしい範囲に剰余算するやーつ
    scoreboard players operation $Random Temporary %= $4 Const

# デバッグのコマンド
    #scoreboard players set $Random Temporary 3
# スキル選択
    execute if score $Random Temporary matches 0 run tag @s add 7A.SkillThunder
    execute if score $Random Temporary matches 1 run tag @s add 7A.SkillMelee
    execute if score $Random Temporary matches 2 run tag @s add 7A.SkillMelee2
    execute if score $Random Temporary matches 3 run tag @s add 7A.SkillGun
# リセット
    scoreboard players reset $Random Temporary

# ヒート値が一定以上だった場合強制的にスキルをオーバーヒートにする。ヒート値はスキルによって異なる
    execute if score @s 7A.Heat matches 10.. run function asset:mob/0262.frestchika/tick/skill_tag_remove
    execute if score @s 7A.Heat matches 10.. run tag @s add 7A.SkillOverHeat


text:
#> asset:mob/0262.frestchika/tick/reset
#
#
#
# @within function asset:mob/0262.frestchika/tick/**

# 腕を戻す
    data modify entity @e[type=armor_stand,tag=7A.ArmorStand,distance=..0.01,sort=nearest,limit=1] Pose.LeftArm set value [0f,0f,340f]
    data modify entity @e[type=armor_stand,tag=7A.ArmorStand,distance=..0.01,sort=nearest,limit=1] Pose.RightArm set value [0f,0f,20f]
# アイテムも戻す
    item replace entity @e[type=armor_stand,tag=7A.ArmorStand,distance=..0.01,sort=nearest,limit=1] weapon.mainhand with stick{CustomModelData:20144}
    item replace entity @e[type=armor_stand,tag=7A.ArmorStand,distance=..0.01,sort=nearest,limit=1] weapon.offhand with stick{CustomModelData:20143}
    item replace entity @e[type=armor_stand,tag=7A.ArmorStand,distance=..0.01,sort=nearest,limit=1] armor.head with stick{CustomModelData:20147}

# タグをリセットする
    function asset:mob/0262.frestchika/tick/skill_tag_remove
# スコアを戻す
    scoreboard players set @s 7A.Tick -10

# 条件でテレポートする
    function asset:mob/0262.frestchika/tick/move/teleport_check


text:
#> asset:mob/0262.frestchika/tick/particle/thunder_particle
#
#
#
# @within function asset:mob/0262.frestchika/tick/**

# [ImportKey]: NobwRALgngDgpmAXGGB7ANlA5qgdmAGjAFdiBLAEyTAHYBjARgA4AGCgJgEMBaGigNgBG3ACwBWTiO4BOESzjc4dfgwDMgzvyYMGVIrk4BbBMkBYmoCXIwEb6AAgaEUnAE5GAzknB1UxXBCTsWRHRwPnCO7mAAbpzoxCbgAB5IAWBQSQC+aUTOFGTEbohiRC4QTr6IyXDo6GQwLiYMLMmOqCUQJsmejrihSPxEAFbEhjBIDESCcABeZD3lRGQuAKJVNXWLAI7E0ZgAyjCcQVSIAGbRdfMuAEJTM44bW1VQewdwR6fodRkAukA_3
# 多角形 1
particle minecraft:soul_fire_flame ~ ~ ~ 0 0 -5 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 0.21651 0 -4.875 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 0.43301 0 -4.75 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 0.64952 0 -4.625 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 0.86603 0 -4.5 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 1.08253 0 -4.375 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 1.29904 0 -4.25 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 1.51554 0 -4.125 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 1.73205 0 -4 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 1.94856 0 -3.875 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 2.16506 0 -3.75 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 2.38157 0 -3.625 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 2.59808 0 -3.5 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 2.81458 0 -3.375 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 3.03109 0 -3.25 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 3.2476 0 -3.125 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 3.4641 0 -3 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 3.68061 0 -2.875 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 3.89711 0 -2.75 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 4.11362 0 -2.625 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 4.33013 0 -2.5 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 4.33013 0 -2.25 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 4.33013 0 -2 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 4.33013 0 -1.75 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 4.33013 0 -1.5 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 4.33013 0 -1.25 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 4.33013 0 -1 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 4.33013 0 -0.75 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 4.33013 0 -0.5 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 4.33013 0 -0.25 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 4.33013 0 0 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 4.33013 0 0.25 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 4.33013 0 0.5 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 4.33013 0 0.75 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 4.33013 0 1 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 4.33013 0 1.25 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 4.33013 0 1.5 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 4.33013 0 1.75 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 4.33013 0 2 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 4.33013 0 2.25 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 4.33013 0 2.5 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 4.11362 0 2.625 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 3.89711 0 2.75 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 3.68061 0 2.875 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 3.4641 0 3 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 3.2476 0 3.125 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 3.03109 0 3.25 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 2.81458 0 3.375 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 2.59808 0 3.5 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 2.38157 0 3.625 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 2.16506 0 3.75 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 1.94856 0 3.875 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 1.73205 0 4 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 1.51554 0 4.125 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 1.29904 0 4.25 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 1.08253 0 4.375 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 0.86603 0 4.5 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 0.64952 0 4.625 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 0.43301 0 4.75 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 0.21651 0 4.875 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ 0 0 5 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -0.21651 0 4.875 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -0.43301 0 4.75 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -0.64952 0 4.625 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -0.86603 0 4.5 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -1.08253 0 4.375 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -1.29904 0 4.25 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -1.51554 0 4.125 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -1.73205 0 4 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -1.94856 0 3.875 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -2.16506 0 3.75 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -2.38157 0 3.625 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -2.59808 0 3.5 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -2.81458 0 3.375 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -3.03109 0 3.25 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -3.2476 0 3.125 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -3.4641 0 3 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -3.68061 0 2.875 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -3.89711 0 2.75 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -4.11362 0 2.625 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -4.33013 0 2.5 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -4.33013 0 2.25 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -4.33013 0 2 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -4.33013 0 1.75 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -4.33013 0 1.5 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -4.33013 0 1.25 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -4.33013 0 1 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -4.33013 0 0.75 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -4.33013 0 0.5 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -4.33013 0 0.25 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -4.33013 0 0 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -4.33013 0 -0.25 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -4.33013 0 -0.5 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -4.33013 0 -0.75 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -4.33013 0 -1 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -4.33013 0 -1.25 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -4.33013 0 -1.5 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -4.33013 0 -1.75 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -4.33013 0 -2 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -4.33013 0 -2.25 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -4.33013 0 -2.5 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -4.11362 0 -2.625 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -3.89711 0 -2.75 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -3.68061 0 -2.875 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -3.4641 0 -3 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -3.2476 0 -3.125 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -3.03109 0 -3.25 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -2.81458 0 -3.375 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -2.59808 0 -3.5 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -2.38157 0 -3.625 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -2.16506 0 -3.75 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -1.94856 0 -3.875 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -1.73205 0 -4 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -1.51554 0 -4.125 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -1.29904 0 -4.25 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -1.08253 0 -4.375 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -0.86603 0 -4.5 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -0.64952 0 -4.625 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -0.43301 0 -4.75 0.08 0
particle minecraft:soul_fire_flame ~ ~ ~ -0.21651 0 -4.875 0.08 0


text:
#> asset:mob/0262.frestchika/tick/particle/thunder_particle2
#
#
#
# @within function asset:mob/0262.frestchika/tick/**

# [ImportKey]: NobwRALgngDgpmAXGGB7ANlA5qgdgWgENcBjAC1QCcwAaMAV3oEsATJMATgFYAjQgBhIB2ACz4WQgBwl8IoT0n4O8wkSEcRguJMKEWAZlphchALYJkgLE1AS5GAjfUBFDIGeGQNUMgH4YABAEYjMQpTMAzkjgJKj0uBBInnQkcBFw1IjgAG6E6PQW4AAeSPx0ULkAvoV0-ixM9EGIXHQBEH6RiHlgcOjoTDABFp78zZSo9RAWzaGUuAlIAGx0AFb0pjC5dDxwAF5ME0109ZRYcI3gO3uNYITKPAYcnvhC+iQAZrL6AEyT+JL6-M-ikq+Skp4uIRPJ4OEY-Fh2LF4tQSmAmAEAKJtDpdREAR3oaUwAGVfLE2Ih7mkunQEQAhNYbSgYrFtKB4wgEpDE9BdYo0Q6wCwoDDYPBGRisdhneSXa63B5PV7vT7fFi-Sb-QHA0FGEzmdg2WzuZ4+PyBYJgULhRoiGJxIaJcCmYgdejoQhDJAQSgZOj3fqmdjcPiCUTiKQyOQKJQqNQaLQ6PSGOipdIWUDwwmcXgCYRiCTSWTyRTnVSEdSaWLRgzvFiEHiTIT3IT4fhwASybj6d6SfgscT8Pj6FgkZX6HhGHJbMAFRD4LglcDC5C+9MBrPB3NhvgR4vaXRl-hcZQkDiTGS1lhwWQiTzfPSSOu6EiELivQccSRDugjkQAOn0nwvQn4nkkDhnmeUF9HyJB8GeD8uF6WC4PgkRp2TH0039TMgxzUN83XKMt1bDg4H0TR9HuTt+A4XpZEEN5CBEQhTy+M4REkatJk8QhYzAd8vx-Z4-wAoCQI0cDECgkQOAkySpKkpDZ1TP0M0DbMQzzcNC0jEs8PwOASH4eQSHY-BJjgL5ZF4GQeF6RR+A4h5JDgTweBWSZhymD8Lxeb8JK4W5WOM-BPGmMckCnTlkLnVDFKXTDVLXdSN1LVt5A4EguF3OtCPuRQ5HvIg4EmTt7geSY7nve4eF4VyJ0-b9-z4-9AOA0CRKgmD4Par5ZJTec0KU5csLUotcJjfBYn3CsCpuA8xHPeiiE8e5TwImz2yA-QX0IKrZB4ur+MaoSwOCidWo6jrEIAXToDBCWyJYjv4DkwDKCoqk8aDah2RpmladpOm6XpSgGJ1hhiKhxkSc0wDmBYomWKlNmaBFkV+tFMWxBl8TgQlWVJeEAkpdYElpdHGWZIkSTgYpzqAA_3
# 多角形 2
particle soul_fire_flame ^0 ^ ^-6.5 0 0.5 0 0.6 0
particle soul_fire_flame ^0.375 ^ ^-6.125 0 0.5 0 0.6 0
particle soul_fire_flame ^0.75 ^ ^-5.75 0 0.5 0 0.6 0
particle soul_fire_flame ^1.125 ^ ^-5.375 0 0.5 0 0.6 0
particle soul_fire_flame ^1.5 ^ ^-5 0 0.5 0 0.6 0
particle soul_fire_flame ^1.125 ^ ^-4.625 0 0.5 0 0.6 0
particle soul_fire_flame ^0.75 ^ ^-4.25 0 0.5 0 0.6 0
particle soul_fire_flame ^0.375 ^ ^-3.875 0 0.5 0 0.6 0
particle soul_fire_flame ^0 ^ ^-3.5 0 0.5 0 0.6 0
particle soul_fire_flame ^-0.375 ^ ^-3.875 0 0.5 0 0.6 0
particle soul_fire_flame ^-0.75 ^ ^-4.25 0 0.5 0 0.6 0
particle soul_fire_flame ^-1.125 ^ ^-4.625 0 0.5 0 0.6 0
particle soul_fire_flame ^-1.5 ^ ^-5 0 0.5 0 0.6 0
particle soul_fire_flame ^-1.125 ^ ^-5.375 0 0.5 0 0.6 0
particle soul_fire_flame ^-0.75 ^ ^-5.75 0 0.5 0 0.6 0
particle soul_fire_flame ^-0.375 ^ ^-6.125 0 0.5 0 0.6 0
particle soul_fire_flame ^4.33013 ^ ^-4 0 0.5 0 0.6 0
particle soul_fire_flame ^4.70513 ^ ^-3.625 0 0.5 0 0.6 0
particle soul_fire_flame ^5.08013 ^ ^-3.25 0 0.5 0 0.6 0
particle soul_fire_flame ^5.45513 ^ ^-2.875 0 0.5 0 0.6 0
particle soul_fire_flame ^5.83013 ^ ^-2.5 0 0.5 0 0.6 0
particle soul_fire_flame ^5.45513 ^ ^-2.125 0 0.5 0 0.6 0
particle soul_fire_flame ^5.08013 ^ ^-1.75 0 0.5 0 0.6 0
particle soul_fire_flame ^4.70513 ^ ^-1.375 0 0.5 0 0.6 0
particle soul_fire_flame ^4.33013 ^ ^-1 0 0.5 0 0.6 0
particle soul_fire_flame ^3.95513 ^ ^-1.375 0 0.5 0 0.6 0
particle soul_fire_flame ^3.58013 ^ ^-1.75 0 0.5 0 0.6 0
particle soul_fire_flame ^3.20513 ^ ^-2.125 0 0.5 0 0.6 0
particle soul_fire_flame ^2.83013 ^ ^-2.5 0 0.5 0 0.6 0
particle soul_fire_flame ^3.20513 ^ ^-2.875 0 0.5 0 0.6 0
particle soul_fire_flame ^3.58013 ^ ^-3.25 0 0.5 0 0.6 0
particle soul_fire_flame ^3.95513 ^ ^-3.625 0 0.5 0 0.6 0
particle soul_fire_flame ^4.33013 ^ ^1 0 0.5 0 0.6 0
particle soul_fire_flame ^4.70513 ^ ^1.375 0 0.5 0 0.6 0
particle soul_fire_flame ^5.08013 ^ ^1.75 0 0.5 0 0.6 0
particle soul_fire_flame ^5.45513 ^ ^2.125 0 0.5 0 0.6 0
particle soul_fire_flame ^5.83013 ^ ^2.5 0 0.5 0 0.6 0
particle soul_fire_flame ^5.45513 ^ ^2.875 0 0.5 0 0.6 0
particle soul_fire_flame ^5.08013 ^ ^3.25 0 0.5 0 0.6 0
particle soul_fire_flame ^4.70513 ^ ^3.625 0 0.5 0 0.6 0
particle soul_fire_flame ^4.33013 ^ ^4 0 0.5 0 0.6 0
particle soul_fire_flame ^3.95513 ^ ^3.625 0 0.5 0 0.6 0
particle soul_fire_flame ^3.58013 ^ ^3.25 0 0.5 0 0.6 0
particle soul_fire_flame ^3.20513 ^ ^2.875 0 0.5 0 0.6 0
particle soul_fire_flame ^2.83013 ^ ^2.5 0 0.5 0 0.6 0
particle soul_fire_flame ^3.20513 ^ ^2.125 0 0.5 0 0.6 0
particle soul_fire_flame ^3.58013 ^ ^1.75 0 0.5 0 0.6 0
particle soul_fire_flame ^3.95513 ^ ^1.375 0 0.5 0 0.6 0
particle soul_fire_flame ^0 ^ ^3.5 0 0.5 0 0.6 0
particle soul_fire_flame ^0.375 ^ ^3.875 0 0.5 0 0.6 0
particle soul_fire_flame ^0.75 ^ ^4.25 0 0.5 0 0.6 0
particle soul_fire_flame ^1.125 ^ ^4.625 0 0.5 0 0.6 0
particle soul_fire_flame ^1.5 ^ ^5 0 0.5 0 0.6 0
particle soul_fire_flame ^1.125 ^ ^5.375 0 0.5 0 0.6 0
particle soul_fire_flame ^0.75 ^ ^5.75 0 0.5 0 0.6 0
particle soul_fire_flame ^0.375 ^ ^6.125 0 0.5 0 0.6 0
particle soul_fire_flame ^0 ^ ^6.5 0 0.5 0 0.6 0
particle soul_fire_flame ^-0.375 ^ ^6.125 0 0.5 0 0.6 0
particle soul_fire_flame ^-0.75 ^ ^5.75 0 0.5 0 0.6 0
particle soul_fire_flame ^-1.125 ^ ^5.375 0 0.5 0 0.6 0
particle soul_fire_flame ^-1.5 ^ ^5 0 0.5 0 0.6 0
particle soul_fire_flame ^-1.125 ^ ^4.625 0 0.5 0 0.6 0
particle soul_fire_flame ^-0.75 ^ ^4.25 0 0.5 0 0.6 0
particle soul_fire_flame ^-0.375 ^ ^3.875 0 0.5 0 0.6 0
particle soul_fire_flame ^-4.33013 ^ ^1 0 0.5 0 0.6 0
particle soul_fire_flame ^-3.95513 ^ ^1.375 0 0.5 0 0.6 0
particle soul_fire_flame ^-3.58013 ^ ^1.75 0 0.5 0 0.6 0
particle soul_fire_flame ^-3.20513 ^ ^2.125 0 0.5 0 0.6 0
particle soul_fire_flame ^-2.83013 ^ ^2.5 0 0.5 0 0.6 0
particle soul_fire_flame ^-3.20513 ^ ^2.875 0 0.5 0 0.6 0
particle soul_fire_flame ^-3.58013 ^ ^3.25 0 0.5 0 0.6 0
particle soul_fire_flame ^-3.95513 ^ ^3.625 0 0.5 0 0.6 0
particle soul_fire_flame ^-4.33013 ^ ^4 0 0.5 0 0.6 0
particle soul_fire_flame ^-4.70513 ^ ^3.625 0 0.5 0 0.6 0
particle soul_fire_flame ^-5.08013 ^ ^3.25 0 0.5 0 0.6 0
particle soul_fire_flame ^-5.45513 ^ ^2.875 0 0.5 0 0.6 0
particle soul_fire_flame ^-5.83013 ^ ^2.5 0 0.5 0 0.6 0
particle soul_fire_flame ^-5.45513 ^ ^2.125 0 0.5 0 0.6 0
particle soul_fire_flame ^-5.08013 ^ ^1.75 0 0.5 0 0.6 0
particle soul_fire_flame ^-4.70513 ^ ^1.375 0 0.5 0 0.6 0
particle soul_fire_flame ^-4.33013 ^ ^-4 0 0.5 0 0.6 0
particle soul_fire_flame ^-3.95513 ^ ^-3.625 0 0.5 0 0.6 0
particle soul_fire_flame ^-3.58013 ^ ^-3.25 0 0.5 0 0.6 0
particle soul_fire_flame ^-3.20513 ^ ^-2.875 0 0.5 0 0.6 0
particle soul_fire_flame ^-2.83013 ^ ^-2.5 0 0.5 0 0.6 0
particle soul_fire_flame ^-3.20513 ^ ^-2.125 0 0.5 0 0.6 0
particle soul_fire_flame ^-3.58013 ^ ^-1.75 0 0.5 0 0.6 0
particle soul_fire_flame ^-3.95513 ^ ^-1.375 0 0.5 0 0.6 0
particle soul_fire_flame ^-4.33013 ^ ^-1 0 0.5 0 0.6 0
particle soul_fire_flame ^-4.70513 ^ ^-1.375 0 0.5 0 0.6 0
particle soul_fire_flame ^-5.08013 ^ ^-1.75 0 0.5 0 0.6 0
particle soul_fire_flame ^-5.45513 ^ ^-2.125 0 0.5 0 0.6 0
particle soul_fire_flame ^-5.83013 ^ ^-2.5 0 0.5 0 0.6 0
particle soul_fire_flame ^-5.45513 ^ ^-2.875 0 0.5 0 0.6 0
particle soul_fire_flame ^-5.08013 ^ ^-3.25 0 0.5 0 0.6 0
particle soul_fire_flame ^-4.70513 ^ ^-3.625 0 0.5 0 0.6 0


text:
#> asset:mob/0262.frestchika/tick/1.thunder/2.first_tick
#
#
#
# @within function asset:mob/0262.frestchika/tick/1.thunder/1.thunder

# 腕を変える
    data modify entity @e[type=armor_stand,tag=7A.ArmorStand,distance=..0.01,sort=nearest,limit=1] Pose.RightArm set value [177f,0f,0f]
# パーティクルを出す
    function asset:mob/0262.frestchika/tick/particle/thunder_particle
    execute rotated ~ 0 run function asset:mob/0262.frestchika/tick/particle/thunder_particle2

# ヒート値を上げる
    scoreboard players add @s 7A.Heat 1

# 演出
    playsound minecraft:entity.puffer_fish.death hostile @a ~ ~ ~ 1 0.3


text:
#> asset:mob/0262.frestchika/tick/1.thunder/3.thunder_summon
#
#
#
# @within function asset:mob/0262.frestchika/tick/1.thunder/1.thunder

# 演出
    particle soul_fire_flame ~ ~3 ~ 0.3 3 0.3 0 50
    particle dust 0 0.733 1 1 ~ ~3 ~ 0.3 3 0.3 0 50
    particle dust 0 0.733 1 1 ~ ~5 ~ 0.7 5 0.7 1 250
    particle minecraft:explosion ~ ~ ~ 0.3 0 0.3 0 8
    particle minecraft:large_smoke ~ ~ ~ 0.3 0 0.3 0.4 50

    playsound entity.lightning_bolt.thunder hostile @a ~ ~ ~ 0.7 2
    playsound entity.lightning_bolt.thunder hostile @a ~ ~ ~ 0.7 2
    playsound entity.lightning_bolt.impact hostile @a ~ ~ ~ 0.7 0

# ダメージ設定
    # 与えるダメージ
        data modify storage lib: Argument.Damage set value 32f
    # 魔法属性
        data modify storage lib: Argument.AttackType set value "Magic"
    # 雷属性
        data modify storage lib: Argument.ElementType set value "Thunder"
    # ダメージ
        function lib:damage/modifier
        execute as @a[tag=!PlayerShouldInvulnerable,distance=..3] at @s run function lib:damage/
# リセット
    function lib:damage/reset

# 当たり判定的な演出
    particle soul_fire_flame ~0 ~0.3 ~-2 0 0 0 0 1
    particle soul_fire_flame ~0.81347 ~0.3 ~-1.82709 0 0 0 0 1
    particle soul_fire_flame ~1.48629 ~0.3 ~-1.33826 0 0 0 0 1
    particle soul_fire_flame ~1.90211 ~0.3 ~-0.61803 0 0 0 0 1
    particle soul_fire_flame ~1.98904 ~0.3 ~0.20906 0 0 0 0 1
    particle soul_fire_flame ~1.73205 ~0.3 ~1 0 0 0 0 1
    particle soul_fire_flame ~1.17557 ~0.3 ~1.61803 0 0 0 0 1
    particle soul_fire_flame ~0.41582 ~0.3 ~1.9563 0 0 0 0 1
    particle soul_fire_flame ~-0.41582 ~0.3 ~1.9563 0 0 0 0 1
    particle soul_fire_flame ~-1.17557 ~0.3 ~1.61803 0 0 0 0 1
    particle soul_fire_flame ~-1.73205 ~0.3 ~1 0 0 0 0 1
    particle soul_fire_flame ~-1.98904 ~0.3 ~0.20906 0 0 0 0 1
    particle soul_fire_flame ~-1.90211 ~0.3 ~-0.61803 0 0 0 0 1
    particle soul_fire_flame ~-1.48629 ~0.3 ~-1.33826 0 0 0 0 1
    particle soul_fire_flame ~-0.81347 ~0.3 ~-1.82709 0 0 0 0 1


text:
#> asset:mob/0262.frestchika/tick/1.thunder/1.thunder
#
#
#
# @within function asset:mob/0262.frestchika/tick/4.skill_active

# 最初に実行するの
    execute if score @s 7A.Tick matches 0 run function asset:mob/0262.frestchika/tick/1.thunder/2.first_tick

# 腕を変える
    execute if score @s 7A.Tick matches 10 if entity @s run data modify entity @e[type=armor_stand,tag=7A.ArmorStand,distance=..0.01,sort=nearest,limit=1] Pose.RightArm set value [265f,340f,0f]

# 雷召喚
    execute if score @s 7A.Tick matches 15 rotated ~ 0 positioned ^0 ^ ^-5 run function asset:mob/0262.frestchika/tick/1.thunder/3.thunder_summon
    execute if score @s 7A.Tick matches 17 rotated ~ 0 positioned ^4.33013 ^ ^-2.5 run function asset:mob/0262.frestchika/tick/1.thunder/3.thunder_summon
    execute if score @s 7A.Tick matches 19 rotated ~ 0 positioned ^4.33013 ^ ^2.5 run function asset:mob/0262.frestchika/tick/1.thunder/3.thunder_summon
    execute if score @s 7A.Tick matches 21 rotated ~ 0 positioned ^0 ^ ^5 run function asset:mob/0262.frestchika/tick/1.thunder/3.thunder_summon
    execute if score @s 7A.Tick matches 23 rotated ~ 0 positioned ^-4.33013 ^ ^2.5 run function asset:mob/0262.frestchika/tick/1.thunder/3.thunder_summon
    execute if score @s 7A.Tick matches 25 rotated ~ 0 positioned ^-4.33013 ^ ^-2.5 run function asset:mob/0262.frestchika/tick/1.thunder/3.thunder_summon

# リセット
    execute if score @s 7A.Tick matches 30 run function asset:mob/0262.frestchika/tick/reset


text:
#> asset:mob/0262.frestchika/tick/move/block_check
#
# プレイヤーが直線上にいるか確認
#
# @within function
#        asset:mob/0262.frestchika/tick/move/teleport_check
#        asset:mob/0262.frestchika/tick/move/block_check

execute positioned ~-1 ~-1 ~-1 if entity @p[dx=0,dy=0,dz=0] run tag @s add PlayerCheck
execute unless entity @s[tag=PlayerCheck] positioned ^ ^ ^0.15 if entity @s[distance=..8] if block ~ ~ ~ #lib:no_collision run function asset:mob/0262.frestchika/tick/move/block_check


text:
#> asset:mob/0262.frestchika/tick/move/teleport_check
#
# このモブがテレポートするにふさわしい条件かみる
#
# @within function asset:mob/0262.frestchika/tick/**

# 30%で確定でテレポートタグを付与
    execute if predicate lib:random_pass_per/30 run tag @s add CanTeleport
# プレイヤーがブロックの向こう側にいる場合テレポートタグを付与、また距離でも付与
    execute positioned ~ ~1 ~ facing entity @p feet run function asset:mob/0262.frestchika/tick/move/block_check
    execute unless entity @s[tag=PlayerCheck] run tag @s add CanTeleport

# 上記のいずれかい当てはまった場合テレポート
    execute if entity @s[tag=CanTeleport] run function asset:mob/0262.frestchika/tick/move/spread
    execute if entity @s[tag=CanTeleport] at @s run function asset:mob/0262.frestchika/tick/move/vfx
# タグ消し
    tag @s remove PlayerCheck
    tag @s remove CanTeleport


text:
#> asset:mob/0262.frestchika/tick/move/vfx
#
#
#
# @within function asset:mob/0262.frestchika/tick/**

# 演出
    particle dragon_breath ~ ~1 ~ 0.5 0.5 0.5 0 25 normal @a
    particle dust 0.7 0 1 1 ~ ~1 ~ 0.5 0.5 0.5 0 25 normal @a
    playsound minecraft:entity.enderman.teleport hostile @a ~ ~ ~ 2 0.9
    playsound minecraft:entity.enderman.teleport hostile @a ~ ~ ~ 2 1.2


text:
#> asset:mob/0262.frestchika/tick/move/spread
#
# 拡散してテレポートするやつ
#
# @within function asset:mob/0262.frestchika/tick/**

# 実行前に拡散値がされていない場合、デフォルト値を入れる
    execute unless data storage lib: Argument.Bounds run data modify storage lib: Argument.Bounds set value [[8d,8d],[0d,0d],[8d,8d]]
# タグをつける
    tag @e[type=armor_stand,tag=7A.ArmorStand,distance=..0.01,sort=nearest,limit=1] add 7A.ArmorStandThis
# 拡散する
    execute at @a[gamemode=!spectator,distance=..100,sort=random,limit=1] run function lib:spread_entity/
# アマスタを持ってくる
    tp @e[type=armor_stand,tag=7A.ArmorStandThis] @s
# タグを消す
    tag @e[type=armor_stand,tag=7A.ArmorStandThis,distance=..100] remove 7A.ArmorStandThis


text:
#> asset:mob/0262.frestchika/tick/move/teleport
#
# 彼女をテレポートする時はコレを使う。アマスタ死ぬからね
#
# @within function asset:mob/0262.frestchika/tick/**

# タグをつける
    execute at @s run tag @e[type=armor_stand,tag=7A.ArmorStand,distance=..0.01,sort=nearest,limit=1] add 7A.ArmorStandThis
# テレポする
    tp @s ~ ~ ~ ~ ~
# 位置をあわせる
    tp @e[type=armor_stand,tag=7A.ArmorStandThis] @s
# タグを消す
    tag @e[type=armor_stand,tag=7A.ArmorStandThis,distance=..0.01] remove 7A.ArmorStandThis


text:
#> asset:mob/0262.frestchika/tick/2.melee/2.first_tick
#
#
#
# @within function asset:mob/0262.frestchika/tick/2.melee/1.melee

# 頭変更
    item replace entity @s armor.head with stick{CustomModelData:20148}
# 武器変更
    item replace entity @s weapon.mainhand with stick{CustomModelData:20145}
# 腕変更
    data modify entity @s Pose.RightArm set value [38f,197f,296f]
    data modify entity @s Pose.LeftArm set value [48f,16f,0f]

# ヒート値を上げる
    scoreboard players add @e[type=wither_skeleton,tag=this,distance=..0.01] 7A.Heat 3


text:
#> asset:mob/0262.frestchika/tick/2.melee/1.melee
#
#
#
# @within function asset:mob/0262.frestchika/tick/4.skill_active

# 最初に実行するの
    execute if score @s 7A.Tick matches 0 as @e[type=armor_stand,tag=7A.ArmorStand,distance=..0.01,sort=nearest,limit=1] run function asset:mob/0262.frestchika/tick/2.melee/2.first_tick

# 突進をしてあたったらスコアを飛ばす
    execute if score @s 7A.Tick matches 10..13 run function asset:mob/0262.frestchika/tick/2.melee/3.tackle
    execute if score @s 7A.Tick matches 10..13 at @s run function asset:mob/0262.frestchika/tick/2.melee/3.tackle
    execute if score @s 7A.Tick matches 10..13 at @s run function asset:mob/0262.frestchika/tick/2.melee/3.tackle
# 演出
    execute if score @s 7A.Tick matches 10 run playsound minecraft:entity.wither.shoot hostile @a ~ ~ ~ 1 0.7
# 向き転換
    execute if score @s 7A.Tick matches 15 facing entity @p feet run function asset:mob/0262.frestchika/tick/move/teleport
# 再突進
    execute if score @s 7A.Tick matches 20..23 at @s run function asset:mob/0262.frestchika/tick/2.melee/3.tackle
    execute if score @s 7A.Tick matches 20..23 at @s run function asset:mob/0262.frestchika/tick/2.melee/3.tackle
    execute if score @s 7A.Tick matches 20..23 at @s run function asset:mob/0262.frestchika/tick/2.melee/3.tackle
# 演出
    execute if score @s 7A.Tick matches 20 run playsound minecraft:entity.wither.shoot hostile @a ~ ~ ~ 1 0.7
# 突進で見つからなかった場合、スコアを飛ばす
    execute if score @s 7A.Tick matches 41 run scoreboard players set @s 7A.Tick 2000

# 突進でプレイヤーが見つかってスコアが飛んだ先
    execute if score @s 7A.Tick matches 1001 positioned ^ ^ ^1 run function asset:mob/0262.frestchika/tick/2.melee/4.slash
    execute if score @s 7A.Tick matches 1001 run item replace entity @e[type=armor_stand,tag=7A.ArmorStand,distance=..0.01,sort=nearest,limit=1] armor.head with stick{CustomModelData:20147}
    execute if score @s 7A.Tick matches 1001 run data modify entity @e[type=armor_stand,tag=7A.ArmorStand,distance=..0.01,sort=nearest,limit=1] Pose.RightArm set value [197f,197f,296f]

    execute if score @s 7A.Tick matches 1004 facing entity @p feet run function asset:mob/0262.frestchika/tick/move/teleport
    execute if score @s 7A.Tick matches 1004 run data modify entity @e[type=armor_stand,tag=7A.ArmorStand,distance=..0.01,sort=nearest,limit=1] Pose.RightArm set value [201f,0f,314f]
    execute if score @s 7A.Tick matches 1006 run data modify entity @e[type=armor_stand,tag=7A.ArmorStand,distance=..0.01,sort=nearest,limit=1] Pose.RightArm set value [332f,0f,302f]
    execute if score @s 7A.Tick matches 1006 positioned ^ ^ ^1 run function asset:mob/0262.frestchika/tick/2.melee/4.slash
    execute if score @s 7A.Tick matches 1006 at @s rotated ~-40 ~ run function asset:mob/0262.frestchika/tick/move/teleport

    execute if score @s 7A.Tick matches 1009 run data modify entity @e[type=armor_stand,tag=7A.ArmorStand,distance=..0.01,sort=nearest,limit=1] Pose.RightArm set value [34f,163f,302f]
    execute if score @s 7A.Tick matches 1012 run data modify entity @e[type=armor_stand,tag=7A.ArmorStand,distance=..0.01,sort=nearest,limit=1] Pose.RightArm set value [56f,0f,74f]
    execute if score @s 7A.Tick matches 1012 at @s rotated ~40 ~ run function asset:mob/0262.frestchika/tick/move/teleport
    execute if score @s 7A.Tick matches 1012 at @s positioned ^ ^ ^1 run function asset:mob/0262.frestchika/tick/2.melee/4.slash

    execute if score @s 7A.Tick matches 1020 run scoreboard players set @s 7A.Tick 2000
# 共通リセット
    execute if score @s 7A.Tick matches 2000 at @s run function asset:mob/0262.frestchika/tick/reset


text:
#> asset:mob/0262.frestchika/tick/2.melee/3.tackle
#
#
#
# @within function asset:mob/0262.frestchika/tick/2.melee/1.melee

# 自身を前進させる
    execute positioned ^ ^ ^1 run function asset:mob/0262.frestchika/tick/move/teleport

# 前進した先にプレイヤーがいたらスコアを飛ばす
    execute at @s if entity @p[distance=..1] run scoreboard players set @s 7A.Tick 1000


text:
#> asset:mob/0262.frestchika/tick/2.melee/4.slash
#
#
#
# @within function asset:mob/0262.frestchika/tick/2.melee/1.melee

# ダメージ設定
    # 与えるダメージ
        data modify storage lib: Argument.Damage set value 27.0f
    # 魔法属性
        data modify storage lib: Argument.AttackType set value "Physical"
    # 無属性
        data modify storage lib: Argument.ElementType set value "Thunder"
    # ダメージ
        function lib:damage/modifier
        execute as @a[tag=!PlayerShouldInvulnerable,distance=..1] at @s run function lib:damage/
# リセット
    function lib:damage/reset

# 演出
    playsound minecraft:item.trident.return hostile @a ~ ~ ~ 1 2
    execute as @a[gamemode=!spectator,distance=..1] at @s run particle dust 0.224 0.69 1 2 ~ ~1 ~ 0.6 0.6 0.6 0 50 normal @a


text:
#> asset:mob/0262.frestchika/tick/999.overheat/2.fitst_tick
#
#
#
# @within function asset:mob/0262.frestchika/tick/999.overheat/1.overheat

# 腕を変える
    item replace entity @e[type=armor_stand,tag=7A.ArmorStand,distance=..0.01,sort=nearest,limit=1] weapon.mainhand with stick{CustomModelData:20153}
    item replace entity @e[type=armor_stand,tag=7A.ArmorStand,distance=..0.01,sort=nearest,limit=1] weapon.offhand with stick{CustomModelData:20152}
    data modify entity @e[type=armor_stand,tag=7A.ArmorStand,distance=..0.01,sort=nearest,limit=1] Pose.RightArm set value [326f,315f,0f]
    data modify entity @e[type=armor_stand,tag=7A.ArmorStand,distance=..0.01,sort=nearest,limit=1] Pose.LeftArm set value [326f,45f,0f]
# 頭も
    item replace entity @e[type=armor_stand,tag=7A.ArmorStand,distance=..0.01,sort=nearest,limit=1] armor.head with stick{CustomModelData:20151}

# ヒートを下げる
    scoreboard players set @s 7A.Heat 0

# あと少ししたに下げる
    execute at @s positioned ~ ~-0.5 ~ run function asset:mob/0262.frestchika/tick/move/teleport

# 耐性を消す
    effect clear @s resistance


text:
#> asset:mob/0262.frestchika/tick/999.overheat/1.overheat
#
#
#
# @within function asset:mob/0262.frestchika/tick/4.skill_active

# 最初に実行
    execute if score @s 7A.Tick matches 0 run function asset:mob/0262.frestchika/tick/999.overheat/2.fitst_tick

# 演出
    particle smoke ~ ~1 ~ 0.3 0.3 0.3 0 2
    execute if score @s 7A.Tick matches 0 run function asset:mob/0262.frestchika/tick/999.overheat/vfx
    execute if score @s 7A.Tick matches 20 run function asset:mob/0262.frestchika/tick/999.overheat/vfx
    execute if score @s 7A.Tick matches 40 run function asset:mob/0262.frestchika/tick/999.overheat/vfx
    execute if score @s 7A.Tick matches 60 run function asset:mob/0262.frestchika/tick/999.overheat/vfx
    execute if score @s 7A.Tick matches 80 run function asset:mob/0262.frestchika/tick/999.overheat/vfx
    execute if score @s 7A.Tick matches 100 run function asset:mob/0262.frestchika/tick/999.overheat/vfx

# リセット7
    execute if score @s 7A.Tick matches 140 run tag @s remove 7A.SkillOverHeat
    execute if score @s 7A.Tick matches 140 positioned ~ ~0.5 ~ run function asset:mob/0262.frestchika/tick/move/teleport
    execute if score @s 7A.Tick matches 140 at @s run function asset:mob/0262.frestchika/tick/reset


text:
#> asset:mob/0262.frestchika/tick/999.overheat/vfx
#
#
#
# @within function asset:mob/0262.frestchika/tick/999.overheat/1.overheat

# 冷却演出
    particle minecraft:cloud ~ ~1 ~ 0.2 0.2 0.2 0.1 30
    playsound block.fire.extinguish hostile @a ~ ~ ~ 1 1


text:
#> asset:mob/0262.frestchika/tick/4.gun/1.gun
#
#
#
# @within function asset:mob/0262.frestchika/tick/4.skill_active

# 最初に実行
    execute if score @s 7A.Tick matches 0 as @e[type=armor_stand,tag=7A.ArmorStand,distance=..0.01,sort=nearest,limit=1] run function asset:mob/0262.frestchika/tick/4.gun/2.first_tick

# 発砲
    execute if score @s 7A.Tick matches 15..30 run function asset:mob/0262.frestchika/tick/4.gun/3.ready

# 向き転換
    execute if score @s 7A.Tick matches 30 facing entity @p feet run function asset:mob/0262.frestchika/tick/move/teleport

# 発砲
    execute if score @s 7A.Tick matches 45..60 run function asset:mob/0262.frestchika/tick/4.gun/3.ready

# # リセット
    execute if score @s 7A.Tick matches 80 at @s run function asset:mob/0262.frestchika/tick/reset


text:
#> asset:mob/0262.frestchika/tick/4.gun/2.first_tick
#
#
#
# @within function asset:mob/0262.frestchika/tick/4.gun/1.gun

# 腕を変える
    data modify entity @s Pose.RightArm set value [270f,0f,0f]
    data modify entity @s Pose.LeftArm set value [267f,46f,0f]
    item replace entity @s weapon.mainhand with stick{CustomModelData:20146}
# 頭も
    item replace entity @s armor.head with stick{CustomModelData:20149}
# ヒート値を上げる
    scoreboard players add @e[type=wither_skeleton,tag=this,distance=..0.01] 7A.Heat 2


text:
#> asset:mob/0262.frestchika/tick/4.gun/3.ready
#
#
#
# @within function asset:mob/0262.frestchika/tick/4.gun/1.gun

# 前方拡散設定
    summon marker ~ ~ ~ {Tags:["SpreadMarker"]}
    data modify storage lib: Argument.Distance set value 4.0
    data modify storage lib: Argument.Spread set value 3

# 前方拡散を実行する
    execute rotated ~ 0 as @e[type=marker,tag=SpreadMarker,limit=1] run function lib:forward_spreader/circle

# 発砲
    execute rotated ~ 0 positioned ^-0.4 ^ ^1.4 facing entity @e[type=marker,tag=SpreadMarker,limit=1] feet positioned ~ ~-0.425 ~ anchored eyes positioned ^ ^ ^ run function asset:mob/0262.frestchika/tick/4.gun/4.shot

# 演出
    playsound minecraft:entity.shulker.shoot hostile @a ~ ~ ~ 1 1.6
    playsound minecraft:block.respawn_anchor.deplete hostile @a ~ ~ ~ 1 2

# リセット
    data remove storage lib: Argument
    kill @e[type=marker,tag=SpreadMarker,limit=1]
    tag @s remove Landing


text:
#> asset:mob/0262.frestchika/tick/4.gun/5.hit
#
#
#
# @within function asset:mob/0262.frestchika/tick/4.gun/4.shot

# ダメージ設定
    # 与えるダメージ
        data modify storage lib: Argument.Damage set value 15f
    # 第一属性
        data modify storage lib: Argument.AttackType set value "Magic"
    # 第二属性
        data modify storage lib: Argument.ElementType set value "Thunder"
    # ダメージ
        function lib:damage/modifier
        execute as @p[tag=LandingTarget,tag=!PlayerShouldInvulnerable,distance=..20,limit=1] run function lib:damage/
# リセット
    function lib:damage/reset

# 着弾タグを消す
    tag @p[tag=LandingTarget,distance=..50,limit=1] remove LandingTarget


text:
#> asset:mob/0262.frestchika/tick/4.gun/4.shot
#
#
#
# @within function
#       asset:mob/0262.frestchika/tick/4.gun/3.ready
#       asset:mob/0262.frestchika/tick/4.gun/4.shot

# 着弾検知
    execute if entity @a[gamemode=!spectator,distance=..2] run tag @s add Landing
    execute unless block ^ ^ ^0.5 #lib:no_collision run tag @s add Landing

# ターゲットにタグ付与
    execute if entity @a[gamemode=!spectator,distance=..2] run tag @p[gamemode=!spectator,distance=..2] add LandingTarget

# 演出
    particle dust 0 0.733 1 0.5 ~ ~ ~ 0 0 0 0 6

# 着弾
    execute if entity @s[tag=Landing] run function asset:mob/0262.frestchika/tick/4.gun/5.hit

# 再起
    execute positioned ^ ^ ^0.5 if entity @s[tag=!Landing,distance=..30] run function asset:mob/0262.frestchika/tick/4.gun/4.shot


text:
#> asset:mob/0262.frestchika/tick/3.melee2/2.first_tick
#
#
#
# @within function asset:mob/0262.frestchika/tick/3.melee2/1.melee2

# 武器変更
    item replace entity @s weapon.mainhand with stick{CustomModelData:20145}
# 腕変更
    data modify entity @s Pose.LeftArm set value [342f,217f,0f]
    data modify entity @s Pose.RightArm set value [179f,326f,332f]

# 演出
    playsound minecraft:entity.arrow.hit_player hostile @a ~ ~ ~ 1 1.6

# ヒート値を上げる
    scoreboard players add @e[type=wither_skeleton,tag=this,distance=..0.01] 7A.Heat 1


text:
#> asset:mob/0262.frestchika/tick/3.melee2/3.thunder
#
#
#
# @within function asset:mob/0262.frestchika/tick/3.melee2/1.melee2

# 演出
    particle soul_fire_flame ~ ~3 ~ 0.3 3 0.3 0 50
    particle dust 0 0.733 1 1 ~ ~3 ~ 0.3 3 0.3 0 50
    particle dust 0 0.733 1 1 ~ ~5 ~ 0.7 5 0.7 1 250
    particle minecraft:explosion ~ ~ ~ 0.3 0 0.3 0 8
    particle minecraft:large_smoke ~ ~ ~ 0.3 0 0.3 0.4 50

    playsound entity.lightning_bolt.thunder hostile @a ~ ~ ~ 0.7 2
    playsound entity.lightning_bolt.thunder hostile @a ~ ~ ~ 0.7 2
    playsound entity.lightning_bolt.impact hostile @a ~ ~ ~ 0.7 0

# ダメージ設定
    # 与えるダメージ
        data modify storage lib: Argument.Damage set value 32f
    # 魔法属性
        data modify storage lib: Argument.AttackType set value "Magic"
    # 雷属性
        data modify storage lib: Argument.ElementType set value "Thunder"
    # ダメージ
        function lib:damage/modifier
        execute as @a[tag=!PlayerShouldInvulnerable,distance=..2] at @s run function lib:damage/
# リセット
    function lib:damage/reset


text:
#> asset:mob/0262.frestchika/tick/3.melee2/1.melee2
#
#
#
# @within function asset:mob/0262.frestchika/tick/4.skill_active

# 最初に実行するの
    execute if score @s 7A.Tick matches 0 as @e[type=armor_stand,tag=7A.ArmorStand,distance=..0.01,sort=nearest,limit=1] run function asset:mob/0262.frestchika/tick/3.melee2/2.first_tick

# 腕変える
    execute if score @s 7A.Tick matches 10 run item replace entity @e[type=armor_stand,tag=7A.ArmorStand,distance=..0.01,sort=nearest,limit=1] armor.head with stick{CustomModelData:20149}
    execute if score @s 7A.Tick matches 10 run data modify entity @e[type=armor_stand,tag=7A.ArmorStand,distance=..0.01,sort=nearest,limit=1] Pose.LeftArm set value [342f,217f,0f]
    execute if score @s 7A.Tick matches 10 run data modify entity @e[type=armor_stand,tag=7A.ArmorStand,distance=..0.01,sort=nearest,limit=1] Pose.RightArm set value [326f,0f,324f]
# 数m先にTPする
    execute if score @s 7A.Tick matches 10 positioned ^ ^ ^10 run function asset:mob/0262.frestchika/tick/move/teleport

# 攻撃した後間にいる敵にダメ
    execute if score @s 7A.Tick matches 10 at @s positioned ^ ^ ^-1 if entity @a[distance=..1] run function asset:mob/0262.frestchika/tick/3.melee2/4.slash
    execute if score @s 7A.Tick matches 10 at @s positioned ^ ^ ^-2 if entity @a[distance=..1] run function asset:mob/0262.frestchika/tick/3.melee2/4.slash
    execute if score @s 7A.Tick matches 10 at @s positioned ^ ^ ^-3 if entity @a[distance=..1] run function asset:mob/0262.frestchika/tick/3.melee2/4.slash
    execute if score @s 7A.Tick matches 10 at @s positioned ^ ^ ^-4 if entity @a[distance=..1] run function asset:mob/0262.frestchika/tick/3.melee2/4.slash
    execute if score @s 7A.Tick matches 10 at @s positioned ^ ^ ^-5 if entity @a[distance=..1] run function asset:mob/0262.frestchika/tick/3.melee2/4.slash
    execute if score @s 7A.Tick matches 10 at @s positioned ^ ^ ^-6 if entity @a[distance=..1] run function asset:mob/0262.frestchika/tick/3.melee2/4.slash
    execute if score @s 7A.Tick matches 10 at @s positioned ^ ^ ^-7 if entity @a[distance=..1] run function asset:mob/0262.frestchika/tick/3.melee2/4.slash
    execute if score @s 7A.Tick matches 10 at @s positioned ^ ^ ^-8 if entity @a[distance=..1] run function asset:mob/0262.frestchika/tick/3.melee2/4.slash
    execute if score @s 7A.Tick matches 10 at @s positioned ^ ^ ^-9 if entity @a[distance=..1] run function asset:mob/0262.frestchika/tick/3.melee2/4.slash
    execute if score @s 7A.Tick matches 10 at @s positioned ^ ^ ^-10 if entity @a[distance=..1] run function asset:mob/0262.frestchika/tick/3.melee2/4.slash

# 演出
    execute if score @s 7A.Tick matches 10 at @s run playsound minecraft:item.trident.return hostile @a ~ ~ ~ 1 2
# 少し間を置いて雷を連続で出す
    execute if score @s 7A.Tick matches 17 rotated ~ 0 positioned ^ ^ ^-10 run function asset:mob/0262.frestchika/tick/3.melee2/3.thunder
    execute if score @s 7A.Tick matches 18 rotated ~ 0 positioned ^ ^ ^-8 run function asset:mob/0262.frestchika/tick/3.melee2/3.thunder
    execute if score @s 7A.Tick matches 19 rotated ~ 0 positioned ^ ^ ^-6 run function asset:mob/0262.frestchika/tick/3.melee2/3.thunder
    execute if score @s 7A.Tick matches 20 rotated ~ 0 positioned ^ ^ ^-4 run function asset:mob/0262.frestchika/tick/3.melee2/3.thunder
    execute if score @s 7A.Tick matches 21 rotated ~ 0 positioned ^ ^ ^-2 run function asset:mob/0262.frestchika/tick/3.melee2/3.thunder

# リセット
    execute if score @s 7A.Tick matches 30 at @s run function asset:mob/0262.frestchika/tick/reset


text:
#> asset:mob/0262.frestchika/tick/3.melee2/4.slash
#
#
#
# @within function asset:mob/0262.frestchika/tick/3.melee2/1.melee2

# ダメージ設定
    # 与えるダメージ
        data modify storage lib: Argument.Damage set value 20.0f
    # 魔法属性
        data modify storage lib: Argument.AttackType set value "Physical"
    # 無属性
        data modify storage lib: Argument.ElementType set value "Thunder"
    # ダメージ
        function lib:damage/modifier
        execute as @a[tag=!PlayerShouldInvulnerable,distance=..1] at @s run function lib:damage/
# リセット
    function lib:damage/reset

# 演出
    execute as @a[gamemode=!spectator,distance=..1] at @s run particle dust 0.224 0.69 1 2 ~ ~1 ~ 0.6 0.6 0.6 0 50 normal @a


text:
#> asset:mob/0147.prismarine_slayer/summon/2.summon
#
# Mobの召喚時の処理
#
# @within function asset:mob/0147.prismarine_slayer/summon/1.trigger

# 元となるMobを召喚する
    summon skeleton ~ ~ ~ {Silent:1b,Tags:["MobInit","AlwaysInvisible"],DeathLootTable:"asset:mob/death/0147.prismarine_slayer"}
# ID (int)
    data modify storage asset:mob ID set value 147
# Type (string) Wikiを参照
    data modify storage asset:mob Type set value "Enemy"
# 干渉可能か否か (boolean)
    data modify storage asset:mob Interferable set value true
# 名前 (TextComponentString) (オプション)
    data modify storage asset:mob Name set value '{"text":"プリズマリンスレイヤー","color":"#48DAD6"}'
# 武器
    # メインハンド (Compound(Item)) (オプション)
        data modify storage asset:mob Weapon.Mainhand set value {id:"stick",Count:1b,tag:{CustomModelData:20048}}
    # オフハンド (Compound(Item)) (オプション)
        # data modify storage asset:mob Weapon.Offhand set value
# 武器ドロップ率 ([float, float]) (オプション)
    data modify storage asset:mob WeaponDropChances set value [0.0f,0.0f]
# 防具
    # 頭 (Compound(Item)) (オプション)
        data modify storage asset:mob Armor.Head set value {id:"dark_prismarine",Count:1b}
    # 胴 (Compound(Item)) (オプション)
        data modify storage asset:mob Armor.Chest set value {id:"minecraft:leather_chestplate",Count:1b,tag:{display:{color:5231080}}}
    # 脚 (Compound(Item)) (オプション)
        data modify storage asset:mob Armor.Legs set value {id:"minecraft:leather_leggings",Count:1b,tag:{display:{color:5035234}}}
    # 足 (Compound(Item)) (オプション)
        data modify storage asset:mob Armor.Feet set value {id:"minecraft:leather_boots",Count:1b,tag:{display:{color:4904924}}}
# 防具ドロップ率 ([float, float]) (オプション)
    data modify storage asset:mob ArmorDropChances set value [0.0f,0.0f,0.0f,0.0f]
# 体力 (double) (オプション)
    data modify storage asset:mob Health set value 2900
# 攻撃力 (double) (オプション)
    data modify storage asset:mob AttackDamage set value 1
# 防御力 (double) (オプション) // 被ダメージがある程度大きい場合1ptにつき0.8%カット、小さい場合1ptにつき約4%カット 20pt以上は頭打ち
    data modify storage asset:mob Defense set value -6
# 特殊防御力 (double) (オプション) // 4pointにつきダメージを大きく減らす
    # data modify storage asset:mob SpecialDefense set value
# 移動速度 (double) (オプション)
    data modify storage asset:mob Speed set value 0.25
# 索敵範囲 (double) (オプション)
    data modify storage asset:mob FollowRange set value 32.0
# ノックバック耐性 (double) (オプション)
    data modify storage asset:mob KnockBackResist set value 1
# 属性倍率 // 1.0fで100% 最低でも25%は軽減されずに入る
    # 物理倍率 (float) (オプション)
        data modify storage asset:mob Resist.Physical set value 1
    # 魔法倍率 (float) (オプション)
        data modify storage asset:mob Resist.Magic set value 1
    # 火倍率 (float) (オプション)
        data modify storage asset:mob Resist.Fire set value 0.75
    # 水倍率 (float) (オプション)
        data modify storage asset:mob Resist.Water set value 0.5
    # 雷倍率 (float) (オプション)
        data modify storage asset:mob Resist.Thunder set value 1

# MobInitタグ持ちを対象にして召喚関数呼び出し
    execute as @e[type=skeleton,tag=MobInit,distance=..0.01] run function asset:mob/common/summon


text:
#> asset:mob/0147.prismarine_slayer/summon/1.trigger
#
# Mob召喚処理の呼び出し時に実行されるfunction
#
# @within tag/function asset:mob/summon

execute if data storage asset:context {id:147} run function asset:mob/0147.prismarine_slayer/summon/2.summon


text:
#> asset:mob/0147.prismarine_slayer/hurt/2.hurt
#
# Mobの被ダメージ時の処理
#
# @within function asset:mob/0147.prismarine_slayer/hurt/1.trigger

# 演出
    particle dust 0.078 0.471 0.486 1.3 ~ ~1.2 ~ 0.5 0.4 0.5 1 20 normal @a
    playsound minecraft:entity.guardian.hurt hostile @a ~ ~ ~ 0.6 1 0
    playsound minecraft:entity.generic.swim hostile @a ~ ~ ~ 0.5 0.7 0

# バフ
    effect give @s speed 2 1 true
    effect give @s jump_boost 2 1 true


text:
#> asset:mob/0147.prismarine_slayer/hurt/1.trigger
#
# Mobの被ダメージに実行されるfunction
#
# @within tag/function asset:mob/hurt

execute if data storage asset:context {id:147} run function asset:mob/0147.prismarine_slayer/hurt/2.hurt


text:
#> asset:mob/0147.prismarine_slayer/attack/1.trigger
#
# Mobの攻撃時に実行されるfunction
#
# @within tag/function asset:mob/attack

execute if data storage asset:context {id:147} run function asset:mob/0147.prismarine_slayer/attack/2.attack


text:
#> asset:mob/0147.prismarine_slayer/attack/2.attack
#
# Mobの攻撃時の処理
#
# @within function asset:mob/0147.prismarine_slayer/attack/1.trigger

# 自身に移動速度上昇
    effect give @s speed 2 1 true

# プレイヤーと同じ剣(鎌)の振り方
    item replace entity @s weapon.mainhand with stick{CustomModelData:20048}

# 演出
    execute at @p[tag=Victim,distance=..6] run particle splash ~ ~1.2 ~ 0.6 0.5 0.6 0 50 normal @a
    execute at @p[tag=Victim,distance=..6] run particle dust 0.078 0.471 0.486 1.3 ~ ~1.2 ~ 0.5 0.4 0.5 1 30 normal @a
    execute at @p[tag=Victim,distance=..6] run playsound minecraft:entity.guardian.attack hostile @a ~ ~ ~ 0.8 1.5 0
    execute at @p[tag=Victim,distance=..6] run playsound entity.player.splash.high_speed hostile @a ~ ~ ~ 0.4 1.7 0
    execute at @p[tag=Victim,distance=..6] run playsound entity.player.attack.sweep hostile @a ~ ~ ~ 0.4 1.4 0

# バフを解除
    effect clear @p[tag=Victim,distance=..6] water_breathing
    effect clear @p[tag=Victim,distance=..6] regeneration
    effect clear @p[tag=Victim,distance=..6] dolphins_grace

# 与えるダメージ
    data modify storage lib: Argument.Damage set value 28f
# 属性
    data modify storage lib: Argument.AttackType set value "Physical"
    data modify storage lib: Argument.ElementType set value "Water"
# デスログ
    data modify storage lib: Argument.DeathMessage append value '{"translate": "%1$sは%2$sによって水底に沈んだ","with":[{"selector":"@s"},{"nbt":"Return.AttackerName","storage":"lib:","interpret":true}]}'
    data modify storage lib: Argument.DeathMessage append value '{"translate": "%1$sは%2$sによって斬り裂かれ海の藻屑となった","with":[{"selector":"@s"},{"nbt":"Return.AttackerName","storage":"lib:","interpret":true}]}'
# 補正functionを実行
    function lib:damage/modifier
# 対象
    execute as @p[tag=Victim,distance=..6] run function lib:damage/
# リセット
    function lib:damage/reset


text:
#> asset:trader/0003.brewing_merchant/register/register
#
#
#
# @within function asset:trader/0003.brewing_merchant/register/

# 重複防止レジストリに登録
    data modify storage asset:trader DPR append value {D:overworld,X:11,Y:21,Z:-75}

# ID (int)
    data modify storage asset:trader ID set value 3
# 名前 (TextComponent) (オプション)
    data modify storage asset:trader Name set value '{"text":"醸造商人"}'
# 方向 (float) (オプション)
    data modify storage asset:trader Rotation set value 0f

# 取引 醸造台
    data modify storage asset:trader Trades append value {}
    data modify storage asset:trader Trades[-1].BuyA set value {PresetItem:"currency/",Count:10b}
    data modify storage asset:trader Trades[-1].Sell set value {id:"minecraft:brewing_stand",Count:1b}

# 取引 ネザーウォート
    data modify storage asset:trader Trades append value {}
    data modify storage asset:trader Trades[-1].BuyA set value {PresetItem:"currency/",Count:2b}
    data modify storage asset:trader Trades[-1].Sell set value {id:"minecraft:nether_wart",Count:1b}

# 取引 グロウストーン
    data modify storage asset:trader Trades append value {}
    data modify storage asset:trader Trades[-1].BuyA set value {PresetItem:"currency/",Count:2b}
    data modify storage asset:trader Trades[-1].Sell set value {id:"minecraft:glowstone_dust",Count:1b}

# 取引 レッドストーン
    data modify storage asset:trader Trades append value {}
    data modify storage asset:trader Trades[-1].BuyA set value {PresetItem:"currency/",Count:2b}
    data modify storage asset:trader Trades[-1].Sell set value {id:"minecraft:redstone",Count:1b}

# 取引 ウサギの足
    data modify storage asset:trader Trades append value {}
    data modify storage asset:trader Trades[-1].BuyA set value {PresetItem:"currency/",Count:2b}
    data modify storage asset:trader Trades[-1].Sell set value {id:"minecraft:rabbit_foot",Count:1b}

# 取引 発酵したクモの目
    data modify storage asset:trader Trades append value {}
    data modify storage asset:trader Trades[-1].BuyA set value {PresetItem:"currency/",Count:2b}
    data modify storage asset:trader Trades[-1].Sell set value {id:"minecraft:fermented_spider_eye",Count:1b}

# 取引 きらめくスイカ
    data modify storage asset:trader Trades append value {}
    data modify storage asset:trader Trades[-1].BuyA set value {PresetItem:"currency/",Count:2b}
    data modify storage asset:trader Trades[-1].Sell set value {id:"minecraft:glistering_melon_slice",Count:1b}

# 取引 マグマクリーム
    data modify storage asset:trader Trades append value {}
    data modify storage asset:trader Trades[-1].BuyA set value {PresetItem:"currency/",Count:2b}
    data modify storage asset:trader Trades[-1].Sell set value {id:"minecraft:magma_cream",Count:1b}

# 取引 ブレイズパウダー
    data modify storage asset:trader Trades append value {}
    data modify storage asset:trader Trades[-1].BuyA set value {PresetItem:"currency/",Count:2b}
    data modify storage asset:trader Trades[-1].Sell set value {id:"minecraft:blaze_powder",Count:1b}

# 取引 ガラス瓶
    data modify storage asset:trader Trades append value {}
    data modify storage asset:trader Trades[-1].BuyA set value {PresetItem:"currency/",Count:2b}
    data modify storage asset:trader Trades[-1].Sell set value {id:"minecraft:glass_bottle",Count:3b}

# 登録
    function asset:trader/common/register