diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/_index.d.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/_index.d.mcfunction index d159ccf813f..414aa46a84b 100644 --- a/Asset/data/asset/functions/mob/0059.jack_o_lantern/_index.d.mcfunction +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/_index.d.mcfunction @@ -18,6 +18,7 @@ #declare tag 1N.GiantPumpkin2 #declare tag 1N.GiantPumpkin2.LeftRotate #declare tag 1N.Missile + #declare tag 1N.DPSCheck #declare tag 1N.Random #declare tag 1N.Random2 #declare tag 1N.Hurt diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/attack/.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/attack/.mcfunction deleted file mode 100644 index be644498a28..00000000000 --- a/Asset/data/asset/functions/mob/0059.jack_o_lantern/attack/.mcfunction +++ /dev/null @@ -1,27 +0,0 @@ -#> asset:mob/0059.jack_o_lantern/attack/ -# -# Mobの攻撃時の処理 -# -# @within function asset:mob/alias/59/attack - -# スーパーメソッド呼び出し - function asset:mob/super.attack - -# バニラの攻撃じゃなかったら return - execute unless data storage asset:context Attack{IsVanilla:true} run return fail - -# 演出 - playsound entity.witch.celebrate hostile @a ~ ~ ~ 0.8 1.8 0 - execute at @p[tag=Victim,distance=..6] run particle dust 1 0.651 0 1 ~ ~1.2 ~ 0.4 0.4 0.4 0 15 normal @a - execute at @p[tag=Victim,distance=..6] run particle dust 0.851 0 1 1 ~ ~1.2 ~ 0.4 0.4 0.4 0 15 normal @a - particle flame ~ ~1.5 ~ 0.5 0.5 0.5 0 10 normal @a - -# 火属性ダメージ - data modify storage api: Argument.Damage set from storage asset:context this.Damage.Vanilla - data modify storage api: Argument.AttackType set value "Magic" - data modify storage api: Argument.ElementType set value "Fire" - data modify storage api: Argument.DeathMessage append value '[{"translate": "%1$sは%2$sによりカボチャの怨念を受け、燃え尽きた","with":[{"selector":"@s"},{"nbt":"Return.AttackerName","storage":"lib:","interpret":true}]}]' - data modify storage api: Argument.DeathMessage append value '[{"translate": "%1$sは%2$sにより呪いの炎を受けた","with":[{"selector":"@s"},{"nbt":"Return.AttackerName","storage":"lib:","interpret":true}]}]' - function api:damage/modifier - execute as @p[tag=Victim,distance=..6] run function api:damage/ - function api:damage/reset diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/init/.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/init/.mcfunction index 6f57d05f3e2..ea2855a2e47 100644 --- a/Asset/data/asset/functions/mob/0059.jack_o_lantern/init/.mcfunction +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/init/.mcfunction @@ -22,4 +22,4 @@ tp @s ~ ~ ~ facing entity @p[gamemode=!spectator] # スコアをセットする - scoreboard players set @s General.Mob.Tick -30 + scoreboard players set @s General.Mob.Tick -80 diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/kill_objects/.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/kill_objects/.mcfunction index bd1a0421ac4..5357f3110cd 100644 --- a/Asset/data/asset/functions/mob/0059.jack_o_lantern/kill_objects/.mcfunction +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/kill_objects/.mcfunction @@ -10,7 +10,8 @@ execute as @e[type=zombie,scores={MobID=224},distance=..128] run function api:mob/remove # カボチャが召喚するオブジェクトも抹消する - kill @e[type=item_display,scores={ObjectID=2031..2036},distance=..50] + kill @e[type=item_display,scores={ObjectID=2031..2036},distance=..128] + kill @e[type=item_display,scores={ObjectID=2039},distance=..128] # スポーンマーカーをkill - kill @e[type=marker,tag=1N.SpawnMarker] + kill @e[type=marker,tag=1N.SpawnMarker,distance=..128] diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/register.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/register.mcfunction index db87d716343..e99e500588e 100644 --- a/Asset/data/asset/functions/mob/0059.jack_o_lantern/register.mcfunction +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/register.mcfunction @@ -44,7 +44,7 @@ # 体力 (double) (オプション) data modify storage asset:mob Health set value 32000 # 攻撃力 (double) (オプション) - # data modify storage asset:mob AttackDamage set value 1 + data modify storage asset:mob AttackDamage set value 0 # 防御力 (double) (オプション) // 被ダメージがある程度大きい場合1ptにつき0.8%カット、小さい場合1ptにつき約4%カット 20pt以上は頭打ち # data modify storage asset:mob Defense set value 0 # 特殊防御力 (double) (オプション) // 4pointにつきダメージを大きく減らす @@ -69,8 +69,15 @@ # フィールド # 各スキルのダメージ設定 - data modify storage asset:mob Field.Damage.Vanilla set value 14.0f data modify storage asset:mob Field.Damage.Giant.Neutral set value {Beginning:8f,Clash:15f} data modify storage asset:mob Field.Damage.Giant.Penalty set value {Beginning:8f,Clash:22.5f} data modify storage asset:mob Field.Damage.Missile set value 8.0f data modify storage asset:mob Field.Damage.Rain set value 12.0f + data modify storage asset:mob Field.Damage.DPSCheck set value 9999.9f + +# クイズの間隔 + data modify storage asset:mob Field.QuizInterval._ set value 3 + data modify storage asset:mob Field.QuizInterval.Max set value 4 + +# DPSチェックまでの猶予 + data modify storage asset:mob Field.DPSCheck set value 14400 diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/summon/.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/summon/.mcfunction index f150e2811b8..76c086877ea 100644 --- a/Asset/data/asset/functions/mob/0059.jack_o_lantern/summon/.mcfunction +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/summon/.mcfunction @@ -5,4 +5,4 @@ # @within asset:mob/alias/59/summon # 元となるMobを召喚する - summon zombie ~ ~ ~ {DeathTime:19s,Silent:1b,Tags:["MobInit","ProcessCommonTag","AlwaysInvisible","AntiBurn","AntiVoid"],DeathLootTable:"empty"} + summon zombie ~ ~ ~ {DeathTime:19s,Silent:1b,Tags:["MobInit","ProcessCommonTag","AlwaysInvisible","AntiBurn","AntiVoid","AntiFallDamage"],DeathLootTable:"empty"} diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/.mcfunction index fde289c3864..ac7f0572d95 100644 --- a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/.mcfunction +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/.mcfunction @@ -17,6 +17,9 @@ # クイズの時以外のみ表示する execute if entity @s[tag=!1N.DisableParticle] run particle falling_dust blue_terracotta ~ ~0.5 ~ 0.35 0 0.35 0 2 normal @a +# Blessless以上の場合のみDPSチェックのカウントダウンを進める + execute if predicate api:global_vars/difficulty/min/3_blessless store result storage asset:context this.DPSCheck int 0.9999999999 run data get storage asset:context this.DPSCheck + # スキル選択 execute if entity @s[scores={General.Mob.Tick=0}] run function asset:mob/0059.jack_o_lantern/tick/skill_select diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/common/invulnerable/end.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/common/invulnerable/end.mcfunction new file mode 100644 index 00000000000..2e257214a22 --- /dev/null +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/common/invulnerable/end.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/0059.jack_o_lantern/tick/skill/common/invulnerable/end +# +# +# +# @within function asset:mob/0059.jack_o_lantern/tick/skill/** + + data modify entity @s Invulnerable set value 0b + tag @s remove Uninterferable diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/common/invulnerable/start.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/common/invulnerable/start.mcfunction new file mode 100644 index 00000000000..639ad8143f0 --- /dev/null +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/common/invulnerable/start.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/0059.jack_o_lantern/tick/skill/common/invulnerable/start +# +# +# +# @within function asset:mob/0059.jack_o_lantern/tick/skill/** + + data modify entity @s Invulnerable set value 1b + tag @s add Uninterferable diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/dps_check/.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/dps_check/.mcfunction new file mode 100644 index 00000000000..8d7db610220 --- /dev/null +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/dps_check/.mcfunction @@ -0,0 +1,17 @@ +#> asset:mob/0059.jack_o_lantern/tick/skill/dps_check/ +# +# +# +# @within function asset:mob/0059.jack_o_lantern/tick/skill_branch + +# 1tick目にやること + execute if score @s General.Mob.Tick matches 0 run function asset:mob/0059.jack_o_lantern/tick/skill/dps_check/first_tick + +# 確率で笑う + execute if predicate lib:random_pass_per/1 if predicate lib:random_pass_per/30 run playsound entity.witch.celebrate hostile @a ~ ~ ~ 1 2 0 + +# 常に最寄りのプレイヤーを見る + execute at @s facing entity @p[gamemode=!spectator,distance=..64] feet rotated ~ 0 run tp @s ~ ~ ~ ~ ~ + +# 終了 + execute if score @s General.Mob.Tick matches 400.. run function asset:mob/0059.jack_o_lantern/tick/skill/reset diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/dps_check/first_tick.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/dps_check/first_tick.mcfunction new file mode 100644 index 00000000000..75bcd84e70a --- /dev/null +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/dps_check/first_tick.mcfunction @@ -0,0 +1,20 @@ +#> asset:mob/0059.jack_o_lantern/tick/skill/dps_check/first_tick +# +# +# +# @within function asset:mob/0059.jack_o_lantern/tick/skill/dps_check/ + +# 中央に戻る + execute positioned as @e[type=marker,tag=1N.SpawnMarker,distance=..64,limit=1] run tp @s ~ ~ ~ + +# 演出 + execute at @s run playsound entity.witch.celebrate hostile @a ~ ~ ~ 1 2 0 + +# カボチャ召喚 + execute at @s rotated 000 0 positioned ^ ^ ^-33 run function asset:mob/0059.jack_o_lantern/tick/skill/dps_check/summon + execute at @s rotated 090 0 positioned ^ ^ ^-33 run function asset:mob/0059.jack_o_lantern/tick/skill/dps_check/summon + execute at @s rotated 180 0 positioned ^ ^ ^-33 run function asset:mob/0059.jack_o_lantern/tick/skill/dps_check/summon + execute at @s rotated 270 0 positioned ^ ^ ^-33 run function asset:mob/0059.jack_o_lantern/tick/skill/dps_check/summon + +# NoAI化 + data modify entity @s NoAI set value 1b diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/dps_check/summon.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/dps_check/summon.mcfunction new file mode 100644 index 00000000000..31f6a0e5745 --- /dev/null +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/dps_check/summon.mcfunction @@ -0,0 +1,10 @@ +#> asset:mob/0059.jack_o_lantern/tick/skill/dps_check/summon +# +# +# +# @within function asset:mob/0059.jack_o_lantern/tick/skill/dps_check/first_tick + + data modify storage api: Argument.ID set value 2039 + data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage.DPSCheck + execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID + function api:object/summon diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin1/.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin1/.mcfunction index 82ea1a3e6eb..ad0fc52216a 100644 --- a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin1/.mcfunction +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin1/.mcfunction @@ -6,30 +6,38 @@ # 最初に鈍足を自身に付与し、プレイヤーの方を向く execute if entity @s[scores={General.Mob.Tick=0}] run function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin1/first_tick - execute if entity @s[scores={General.Mob.Tick=0..19}] facing entity @p[gamemode=!spectator] eyes rotated ~ 0 run tp @s ~ ~ ~ ~ ~ + +# NoAIになるまでRotation[0]固定 + execute if entity @s[scores={General.Mob.Tick=1..2}] run data modify entity @s Rotation[0] set from storage asset:context this.SavedRotation0 + +# 着地するまで絶対にスコアを1で固定する + execute if entity @s[scores={General.Mob.Tick=2}] if data entity @s {OnGround:0b} run scoreboard players set @s General.Mob.Tick 1 + +# 着地後はNoAIになる + execute if entity @s[scores={General.Mob.Tick=2}] run data modify entity @s NoAI set value 1b # 前方に巨大カボチャを召喚 # パターン1 中央スタート - execute if entity @s[tag=1N.GiantPumpkin1.Center,scores={General.Mob.Tick=20}] rotated ~ 0 positioned ^ ^ ^3.5 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral - execute if entity @s[tag=1N.GiantPumpkin1.Center,scores={General.Mob.Tick=30}] rotated ~ 0 positioned ^3 ^ ^3.5 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral - execute if entity @s[tag=1N.GiantPumpkin1.Center,scores={General.Mob.Tick=30}] rotated ~ 0 positioned ^-3 ^ ^3.5 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral - execute if entity @s[tag=1N.GiantPumpkin1.Center,scores={General.Mob.Tick=40}] rotated ~ 0 positioned ^6 ^ ^3.5 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral - execute if entity @s[tag=1N.GiantPumpkin1.Center,scores={General.Mob.Tick=40}] rotated ~ 0 positioned ^-6 ^ ^3.5 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral + execute if entity @s[tag=1N.GiantPumpkin1.Center,scores={General.Mob.Tick=10}] rotated ~ 0 positioned ^ ^ ^3.5 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral + execute if entity @s[tag=1N.GiantPumpkin1.Center,scores={General.Mob.Tick=20}] rotated ~ 0 positioned ^3 ^ ^3.5 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral + execute if entity @s[tag=1N.GiantPumpkin1.Center,scores={General.Mob.Tick=20}] rotated ~ 0 positioned ^-3 ^ ^3.5 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral + execute if entity @s[tag=1N.GiantPumpkin1.Center,scores={General.Mob.Tick=30}] rotated ~ 0 positioned ^6 ^ ^3.5 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral + execute if entity @s[tag=1N.GiantPumpkin1.Center,scores={General.Mob.Tick=30}] rotated ~ 0 positioned ^-6 ^ ^3.5 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral # パターン2 左スタート - execute if entity @s[tag=1N.GiantPumpkin1.Left,scores={General.Mob.Tick=20}] rotated ~ 0 positioned ^6 ^ ^3.5 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral - execute if entity @s[tag=1N.GiantPumpkin1.Left,scores={General.Mob.Tick=25}] rotated ~ 0 positioned ^3 ^ ^3.5 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral - execute if entity @s[tag=1N.GiantPumpkin1.Left,scores={General.Mob.Tick=30}] rotated ~ 0 positioned ^0 ^ ^3.5 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral - execute if entity @s[tag=1N.GiantPumpkin1.Left,scores={General.Mob.Tick=35}] rotated ~ 0 positioned ^-3 ^ ^3.5 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral - execute if entity @s[tag=1N.GiantPumpkin1.Left,scores={General.Mob.Tick=40}] rotated ~ 0 positioned ^-6 ^ ^3.5 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral + execute if entity @s[tag=1N.GiantPumpkin1.Left,scores={General.Mob.Tick=10}] rotated ~ 0 positioned ^6 ^ ^3.5 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral + execute if entity @s[tag=1N.GiantPumpkin1.Left,scores={General.Mob.Tick=15}] rotated ~ 0 positioned ^3 ^ ^3.5 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral + execute if entity @s[tag=1N.GiantPumpkin1.Left,scores={General.Mob.Tick=20}] rotated ~ 0 positioned ^0 ^ ^3.5 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral + execute if entity @s[tag=1N.GiantPumpkin1.Left,scores={General.Mob.Tick=25}] rotated ~ 0 positioned ^-3 ^ ^3.5 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral + execute if entity @s[tag=1N.GiantPumpkin1.Left,scores={General.Mob.Tick=30}] rotated ~ 0 positioned ^-6 ^ ^3.5 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral # パターン3 右スタート - execute if entity @s[tag=1N.GiantPumpkin1.Right,scores={General.Mob.Tick=20}] rotated ~ 0 positioned ^-6 ^ ^3.5 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral - execute if entity @s[tag=1N.GiantPumpkin1.Right,scores={General.Mob.Tick=25}] rotated ~ 0 positioned ^-3 ^ ^3.5 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral - execute if entity @s[tag=1N.GiantPumpkin1.Right,scores={General.Mob.Tick=30}] rotated ~ 0 positioned ^0 ^ ^3.5 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral - execute if entity @s[tag=1N.GiantPumpkin1.Right,scores={General.Mob.Tick=35}] rotated ~ 0 positioned ^3 ^ ^3.5 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral - execute if entity @s[tag=1N.GiantPumpkin1.Right,scores={General.Mob.Tick=40}] rotated ~ 0 positioned ^6 ^ ^3.5 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral + execute if entity @s[tag=1N.GiantPumpkin1.Right,scores={General.Mob.Tick=10}] rotated ~ 0 positioned ^-6 ^ ^3.5 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral + execute if entity @s[tag=1N.GiantPumpkin1.Right,scores={General.Mob.Tick=15}] rotated ~ 0 positioned ^-3 ^ ^3.5 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral + execute if entity @s[tag=1N.GiantPumpkin1.Right,scores={General.Mob.Tick=20}] rotated ~ 0 positioned ^0 ^ ^3.5 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral + execute if entity @s[tag=1N.GiantPumpkin1.Right,scores={General.Mob.Tick=25}] rotated ~ 0 positioned ^3 ^ ^3.5 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral + execute if entity @s[tag=1N.GiantPumpkin1.Right,scores={General.Mob.Tick=30}] rotated ~ 0 positioned ^6 ^ ^3.5 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral # リセット - execute if entity @s[scores={General.Mob.Tick=50..}] run function asset:mob/0059.jack_o_lantern/tick/skill/reset + execute if entity @s[scores={General.Mob.Tick=70..}] run function asset:mob/0059.jack_o_lantern/tick/skill/reset diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin1/check_no_wall_behind.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin1/check_no_wall_behind.mcfunction new file mode 100644 index 00000000000..3de2b616822 --- /dev/null +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin1/check_no_wall_behind.mcfunction @@ -0,0 +1,17 @@ +#> asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin1/check_no_wall_behind +# +# 後ろに壁がないなら成功とするif function +# +# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin1/motion + +# 後ろnブロックが壁なら0を返す + execute unless block ^ ^ ^-1 #lib:no_collision/ run return 0 + execute unless block ^ ^ ^-2 #lib:no_collision/ run return 0 + execute unless block ^ ^ ^-3 #lib:no_collision/ run return 0 + execute unless block ^ ^ ^-4 #lib:no_collision/ run return 0 + execute unless block ^ ^ ^-5 #lib:no_collision/ run return 0 + execute unless block ^ ^ ^-6 #lib:no_collision/ run return 0 + execute unless block ^ ^ ^-7 #lib:no_collision/ run return 0 + +# 成功 + return 1 diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin1/first_tick.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin1/first_tick.mcfunction index 6403e1b6fe0..8912358168e 100644 --- a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin1/first_tick.mcfunction +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin1/first_tick.mcfunction @@ -4,8 +4,14 @@ # # @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin1/ -# NoAIにする - data modify entity @s NoAI set value 1b +# 演出 + playsound entity.witch.celebrate hostile @a ~ ~ ~ 1 2 0 + +# プレイヤーが近くにいればmotion + execute if entity @p[gamemode=!spectator,distance=..10] run function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin1/motion + +# いなければ@pの方向のRotationを保存しておく + execute unless entity @p[gamemode=!spectator,distance=..10] facing entity @p[gamemode=!spectator,distance=..64] feet run function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin1/save_rotation # 攻撃パターン設定 execute store result score $Random Temporary run random value 0..2 diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin1/motion.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin1/motion.mcfunction new file mode 100644 index 00000000000..66471d30446 --- /dev/null +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin1/motion.mcfunction @@ -0,0 +1,24 @@ +#> asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin1/motion +# +# +# +# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin1/first_tick + +# 自身の後ろが壁か? + execute if function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin1/check_no_wall_behind run data modify storage asset:temp NoBlockBihind set value true + +# 後ろが壁でなければバックステップ + execute if data storage asset:temp {NoBlockBihind:true} run data modify storage lib: Argument.VectorMagnitude set value 2.5 + execute if data storage asset:temp {NoBlockBihind:true} facing entity @p[gamemode=!spectator,distance=..50] feet rotated ~180 -11.25 run function lib:motion/ + +# 壁なら前へステップ + execute unless data storage asset:temp {NoBlockBihind:true} run data modify storage lib: Argument.VectorMagnitude set value 3.0 + execute unless data storage asset:temp {NoBlockBihind:true} facing entity @p[gamemode=!spectator,distance=..50] feet rotated ~ -11.25 run function lib:motion/ + +# この時のrotationを記録しておく + execute if data storage asset:temp {NoBlockBihind:true} facing entity @p[gamemode=!spectator,distance=..50] feet run function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin1/save_rotation + execute unless data storage asset:temp {NoBlockBihind:true} facing entity @p[gamemode=!spectator,distance=..50] feet rotated ~180 ~ run function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin1/save_rotation + +# リセット + data remove storage lib: Argument + data remove storage asset:temp NoBlockBihind diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin1/save_rotation.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin1/save_rotation.mcfunction new file mode 100644 index 00000000000..d241c56219e --- /dev/null +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin1/save_rotation.mcfunction @@ -0,0 +1,16 @@ +#> asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin1/save_rotation +# +# +# +# @within function +# asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin1/first_tick +# asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin1/motion + +#> Private +# @private + #declare tag RotationMarker + + summon marker ~ ~ ~ {Tags:["RotationMarker"]} + execute as @e[type=marker,tag=RotationMarker,distance=..0.01] run tp @s ~ ~ ~ ~ ~ + data modify storage asset:context this.SavedRotation0 set from entity @e[type=marker,tag=RotationMarker,distance=..0.01,limit=1] Rotation[0] + kill @e[type=marker,tag=RotationMarker,distance=..0.01] diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/.mcfunction index a62542cda60..a01da8c7a33 100644 --- a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/.mcfunction +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/.mcfunction @@ -14,7 +14,7 @@ # 吸い込み関連 # 14x4x14より外のプレイヤーを吸い込む - execute as @a[gamemode=!spectator,distance=..20] positioned ~-7 ~ ~-7 unless entity @s[dx=13,dy=3,dz=13] at @s facing entity @e[type=marker,tag=1N.SpawnMarker] eyes run tp @s ^ ^ ^0.5 + execute as @a[gamemode=!spectator,distance=..20] positioned ~-7 ~ ~-7 unless entity @s[dx=13,dy=3,dz=13] at @s facing entity @e[type=marker,tag=1N.SpawnMarker,distance=..64] eyes run tp @s ^ ^ ^0.5 # 吸い込み範囲を視覚的に表示 scoreboard players operation $Interval Temporary = @s General.Mob.Tick @@ -22,30 +22,9 @@ execute if score $Interval Temporary matches 0 run function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/vfx scoreboard players reset $Interval Temporary -# スポーンマーカーを中心として巨大カボチャを召喚 +# 攻撃処理 + # Hard以下 + execute if predicate api:global_vars/difficulty/max/2_hard run function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/difficulty/max_hard -# 網目状にカボチャを転がす -# ノーマルなら1面ずつ転がす -# ハード以上なら2面ずつ転がす - - # ノーマル - # 0tick目に配列を初期化し、2回転がす - execute if entity @s[scores={General.Mob.Tick=0}] if predicate api:global_vars/difficulty/max/2_hard run data modify storage asset:context this.List set value [0,1,2,3] - execute if entity @s[scores={General.Mob.Tick=0}] if predicate api:global_vars/difficulty/max/2_hard run function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/select_cross - execute if entity @s[scores={General.Mob.Tick=50}] if predicate api:global_vars/difficulty/max/2_hard run function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/select_cross - - # ハード - execute if entity @s[scores={General.Mob.Tick=0..25}] if predicate api:global_vars/difficulty/min/3_blessless run function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/select_cross_hard - -# ハード以上なら70tickまで飛ばす - execute if entity @s[scores={General.Mob.Tick=50}] if predicate api:global_vars/difficulty/min/3_blessless run scoreboard players set @s General.Mob.Tick 70 - -# 直線に並んだやつを転がす - execute if entity @s[scores={General.Mob.Tick=130}] run function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/select_line - -# ハード以上で直線に並んでるけど、1つだけ空いてるやつを転がす - execute if entity @s[scores={General.Mob.Tick=200}] if predicate api:global_vars/difficulty/min/3_blessless run function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/select_line_with_space - -# リセット - execute if entity @s[scores={General.Mob.Tick=240..}] if predicate api:global_vars/difficulty/max/2_hard run function asset:mob/0059.jack_o_lantern/tick/skill/reset - execute if entity @s[scores={General.Mob.Tick=300..}] if predicate api:global_vars/difficulty/min/3_blessless run function asset:mob/0059.jack_o_lantern/tick/skill/reset + # Blessless + execute if predicate api:global_vars/difficulty/min/3_blessless run function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/difficulty/blessless diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/difficulty/blessless.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/difficulty/blessless.mcfunction new file mode 100644 index 00000000000..2c66c4dfffa --- /dev/null +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/difficulty/blessless.mcfunction @@ -0,0 +1,16 @@ +#> asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/difficulty/blessless +# +# +# +# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/ + +# 交差するカボチャ転がし + execute if entity @s[scores={General.Mob.Tick=0..25}] run function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/select_cross/blessless + +# 1方向からの転がし + execute if entity @s[scores={General.Mob.Tick=110}] run function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/select_line/ +# 2方向からの1マス空きの転がし + execute if entity @s[scores={General.Mob.Tick=180}] run function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/select_line/with_space + +# リセット + execute if entity @s[scores={General.Mob.Tick=280..}] run function asset:mob/0059.jack_o_lantern/tick/skill/reset diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/difficulty/max_hard.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/difficulty/max_hard.mcfunction new file mode 100644 index 00000000000..7bd4a8dd16e --- /dev/null +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/difficulty/max_hard.mcfunction @@ -0,0 +1,16 @@ +#> asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/difficulty/max_hard +# +# +# +# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/ + +# 0tick目に配列を初期化し、2回転がす + execute if entity @s[scores={General.Mob.Tick=0}] run data modify storage asset:context this.List set value [0,1,2,3] + execute if entity @s[scores={General.Mob.Tick=0}] run function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/select_cross/ + execute if entity @s[scores={General.Mob.Tick=50}] run function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/select_cross/ + +# 1方向からの横並び転がし + execute if entity @s[scores={General.Mob.Tick=130}] run function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/select_line/ + +# リセット + execute if entity @s[scores={General.Mob.Tick=240..}] run function asset:mob/0059.jack_o_lantern/tick/skill/reset diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/cross/1.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/cross/1.mcfunction index 17305e81cb7..84b07080975 100644 --- a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/cross/1.mcfunction +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/cross/1.mcfunction @@ -2,7 +2,7 @@ # # 網目状に転がす.1 # -# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/* +# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/** execute positioned ^0 ^0 ^-9 rotated 0 0 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/cross/2.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/cross/2.mcfunction index d95d2a96648..ad4e6f3fc46 100644 --- a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/cross/2.mcfunction +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/cross/2.mcfunction @@ -2,7 +2,7 @@ # # 網目状に転がす.2 # -# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/* +# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/** execute positioned ^9 ^0 ^0 rotated 90 0 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/cross/3.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/cross/3.mcfunction index 830d0db711b..89fa61fb96c 100644 --- a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/cross/3.mcfunction +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/cross/3.mcfunction @@ -2,7 +2,7 @@ # # # -# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/* +# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/** execute positioned ^0 ^0 ^9 rotated 180 0 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/cross/4.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/cross/4.mcfunction index d3a51015209..fce30c4e05b 100644 --- a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/cross/4.mcfunction +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/cross/4.mcfunction @@ -2,7 +2,7 @@ # # # -# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/* +# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/** execute positioned ^-9 ^0 ^0 rotated 270 0 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line/3/1.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line/3/1.mcfunction index 67d64d6aa79..5ede592bb3c 100644 --- a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line/3/1.mcfunction +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line/3/1.mcfunction @@ -2,7 +2,7 @@ # # # -# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/* +# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/** execute positioned ^0 ^0 ^-9 rotated 0 0 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line/3/2.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line/3/2.mcfunction index c316fb455c7..fe4fa863e92 100644 --- a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line/3/2.mcfunction +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line/3/2.mcfunction @@ -2,7 +2,7 @@ # # # -# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/* +# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/** execute positioned ^9 ^0 ^0 rotated 90 0 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line/3/3.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line/3/3.mcfunction index 6a1e075b46f..c3eef5c62b1 100644 --- a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line/3/3.mcfunction +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line/3/3.mcfunction @@ -2,7 +2,7 @@ # # # -# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/* +# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/** execute positioned ^0 ^0 ^9 rotated 180 0 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line/3/4.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line/3/4.mcfunction index 84b2d3fbcda..d926b6290ef 100644 --- a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line/3/4.mcfunction +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line/3/4.mcfunction @@ -2,7 +2,7 @@ # # # -# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/* +# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/** execute positioned ^-9 ^0 ^0 rotated 270 0 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line/4/1.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line/4/1.mcfunction index dd9f80a84f6..cf99bfac196 100644 --- a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line/4/1.mcfunction +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line/4/1.mcfunction @@ -2,7 +2,7 @@ # # 1直線に並べて転がす.1 # -# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/* +# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/** execute positioned ^4.5 ^0 ^-9 rotated 0 0 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line/4/2.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line/4/2.mcfunction index 0cac61180cd..d8fd12bf8b3 100644 --- a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line/4/2.mcfunction +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line/4/2.mcfunction @@ -2,7 +2,7 @@ # # 1直線に並べて転がす.2 # -# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/* +# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/** execute positioned ^9 ^0 ^4.5 rotated 90 0 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line/4/3.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line/4/3.mcfunction index 2e2665bd637..18542ac8d90 100644 --- a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line/4/3.mcfunction +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line/4/3.mcfunction @@ -2,7 +2,7 @@ # # 1直線に並べて転がす.3 # -# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/* +# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/** execute positioned ^4.5 ^0 ^9 rotated 180 0 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line/4/4.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line/4/4.mcfunction index f3ba3d9a072..dec331ad576 100644 --- a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line/4/4.mcfunction +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line/4/4.mcfunction @@ -2,7 +2,7 @@ # # 1直線に並べて転がす.4 # -# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/* +# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/** execute positioned ^-9 ^0 ^4.5 rotated 270 0 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line_with_space/1.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line_with_space/1.mcfunction index 4be3498b065..707da9565d8 100644 --- a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line_with_space/1.mcfunction +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line_with_space/1.mcfunction @@ -2,7 +2,7 @@ # # 1つ隙間を空けて1直線に転がす.1 # -# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/* +# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/** # 召喚 execute positioned ^7.5 ^0 ^-9 rotated 0 0 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line_with_space/2.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line_with_space/2.mcfunction index 2dab563cf17..8242ec380d4 100644 --- a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line_with_space/2.mcfunction +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line_with_space/2.mcfunction @@ -2,7 +2,7 @@ # # 1つ隙間を空けて1直線に転がす.2 # -# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/* +# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/** # Rotationを設定して召喚 execute positioned ^9 ^0 ^7.5 rotated 90 0 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line_with_space/3.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line_with_space/3.mcfunction index bbd7a622e1d..3b34d61dc83 100644 --- a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line_with_space/3.mcfunction +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line_with_space/3.mcfunction @@ -2,7 +2,7 @@ # # 1つ隙間を空けて1直線に転がす.3 # -# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/* +# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/** # Rotationを設定して召喚 execute positioned ^7.5 ^0 ^9 rotated 180 0 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line_with_space/4.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line_with_space/4.mcfunction index 4e744e21b25..afdd698015e 100644 --- a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line_with_space/4.mcfunction +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/pos_type/line_with_space/4.mcfunction @@ -2,7 +2,7 @@ # # 1つ隙間を空けて1直線に転がす.4 # -# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/* +# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/** # Rotationを設定して召喚 execute positioned ^-9 ^0 ^7.5 rotated 270 0 run function asset:mob/0059.jack_o_lantern/tick/skill/common/giant_pumpkin/neutral diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/select_cross.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/select_cross/.mcfunction similarity index 98% rename from Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/select_cross.mcfunction rename to Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/select_cross/.mcfunction index 5281d323738..259cc32ec53 100644 --- a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/select_cross.mcfunction +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/select_cross/.mcfunction @@ -1,8 +1,8 @@ -#> asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/select_cross +#> asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/select_cross/ # # 交差転がし(交差ナシ)の処理 # -# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/ +# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/difficulty/max_hard #> Private # @private diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/select_cross_hard.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/select_cross/blessless.mcfunction similarity index 97% rename from Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/select_cross_hard.mcfunction rename to Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/select_cross/blessless.mcfunction index 88ce0b8fc64..c0f32191776 100644 --- a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/select_cross_hard.mcfunction +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/select_cross/blessless.mcfunction @@ -1,8 +1,8 @@ -#> asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/select_cross_hard +#> asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/select_cross/blessless # # 交差転がし(交差アリ)の処理 # -# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/ +# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/difficulty/blessless # 最初に50%のTagを付与し、転がすのを2回繰り返す diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/select_line.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/select_line/.mcfunction similarity index 98% rename from Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/select_line.mcfunction rename to Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/select_line/.mcfunction index 8425b9c0c3a..630438fba24 100644 --- a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/select_line.mcfunction +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/select_line/.mcfunction @@ -1,8 +1,8 @@ -#> asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/select_line +#> asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/select_line/ # # ランダムな方向から1列に並べて転がす # -# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/ +# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/difficulty/* # ランダムな方向から召喚する execute store result score $Random Temporary run random value 0..3 diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/select_line_with_space.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/select_line/with_space.mcfunction similarity index 95% rename from Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/select_line_with_space.mcfunction rename to Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/select_line/with_space.mcfunction index 6641d7008f2..d9464ec5cb4 100644 --- a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/select_line_with_space.mcfunction +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/select_line/with_space.mcfunction @@ -1,8 +1,8 @@ -#> asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/select_line_with_space +#> asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/select_line/with_space # # 隙間を1箇所用意して転がす # -# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/ +# @within function asset:mob/0059.jack_o_lantern/tick/skill/giant_pumpkin2/difficulty/blessless #> Private # @private diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/pumpkin_rain/end.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/pumpkin_rain/end.mcfunction index 6538016d625..26cd257406a 100644 --- a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/pumpkin_rain/end.mcfunction +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/pumpkin_rain/end.mcfunction @@ -15,8 +15,8 @@ # 頭を変える #execute at @s run item replace entity @s armor.head with stick{CustomModelData:20394} +# 無敵化終了 + function asset:mob/0059.jack_o_lantern/tick/skill/common/invulnerable/end + # NoAI解除 data modify entity @s NoAI set value 0b - -# 耐性解除 - effect clear @s resistance diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/pumpkin_rain/first_tick.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/pumpkin_rain/first_tick.mcfunction index cc53840edfe..e0849d783a6 100644 --- a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/pumpkin_rain/first_tick.mcfunction +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/pumpkin_rain/first_tick.mcfunction @@ -12,5 +12,7 @@ # 自身は透明化して上空で待機する item replace entity @s armor.head with air execute at @e[type=marker,tag=1N.SpawnMarker,distance=..50] run tp @s ~ ~50 ~ - effect give @s resistance 20 10 true data modify entity @s NoAI set value 1b + +# 無敵化 + function asset:mob/0059.jack_o_lantern/tick/skill/common/invulnerable/start diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/quiz/end.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/quiz/end.mcfunction index caec07ff1e2..d44565ea8fd 100644 --- a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/quiz/end.mcfunction +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/quiz/end.mcfunction @@ -6,10 +6,9 @@ # asset:mob/0059.jack_o_lantern/tick/skill/quiz/ # asset:mob/0059.jack_o_lantern/tick/skill/quiz/quiz_clear -# 発光状態だったなら演出とバフ解除 +# 発光状態だったなら演出 execute if entity @s[tag=1N.Quiz.Glowing] run particle large_smoke ~ ~1.8 ~ 0 0 0 0.1 50 normal @a execute if entity @s[tag=1N.Quiz.Glowing] run playsound block.fire.extinguish hostile @a ~ ~ ~ 1 0.7 0 - execute if entity @s[tag=1N.Quiz.Glowing] run effect clear @s speed # 発光状態用Tagを削除 tag @s remove 1N.DisableParticle diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/quiz/quiz_clear.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/quiz/quiz_clear.mcfunction index 06ea52a29a2..8e1f7b6e1fa 100644 --- a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/quiz/quiz_clear.mcfunction +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/quiz/quiz_clear.mcfunction @@ -12,17 +12,14 @@ playsound ogg:mob.strider.retreat5 hostile @a ~ ~ ~ 1 1.5 playsound minecraft:entity.generic.explode hostile @a ~ ~ ~ 1 2 -# 自身に鈍足と弱化を付与 +# 自身に鈍足を付与 effect give @s slowness 3 10 true - effect give @s weakness 3 10 true # 自身に割合ダメージ - execute store result storage api: Argument.Damage float 0.08 run function api:mob/get_max_health - data modify storage api: Argument.AttackType set value "Physical" - data modify storage api: Argument.FixedDamage set value 1b - function api:damage/modifier - function api:damage/ - function api:damage/reset + function api:mob/get_max_health + execute store result storage api: Argument.Delta double -0.0008 run data get storage api: Return.MaxHealth 100 + function api:mob/modify_health + function asset:mob/call.m {method:"update_bossbar"} # クイズエンド function asset:mob/0059.jack_o_lantern/tick/skill/quiz/end diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/quiz/quiz_fail/glow.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/quiz/quiz_fail/glow.mcfunction index 45e1405121c..caf803351e9 100644 --- a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/quiz/quiz_fail/glow.mcfunction +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/quiz/quiz_fail/glow.mcfunction @@ -7,10 +7,8 @@ # 頭を取り換える item replace entity @s armor.head with stick{CustomModelData:20395} -# デバフを解除し移動速度上昇を得る +# デバフを解除 effect clear @s slowness - effect clear @s weakness - effect give @s speed 5 6 true # 発光状態用Tagを付与 tag @s add 1N.Quiz.Glowing diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/reset.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/reset.mcfunction index 8b39157b9fa..4eab4245d03 100644 --- a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/reset.mcfunction +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill/reset.mcfunction @@ -17,6 +17,7 @@ tag @s remove 1N.GiantPumpkin1.Right tag @s remove 1N.GiantPumpkin2 tag @s remove 1N.GiantPumpkin2.LeftRotate + tag @s remove 1N.DPSCheck tag @s remove 1N.Missile tag @s remove 1N.PumpkinRain diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill_branch.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill_branch.mcfunction index 01d703a2289..dfe4394e95e 100644 --- a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill_branch.mcfunction +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill_branch.mcfunction @@ -19,3 +19,6 @@ # 超巨大カボチャ execute if entity @s[tag=1N.PumpkinRain] run function asset:mob/0059.jack_o_lantern/tick/skill/pumpkin_rain/ + +# DPSチェック + execute if entity @s[tag=1N.DPSCheck] run function asset:mob/0059.jack_o_lantern/tick/skill/dps_check/ diff --git a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill_select.mcfunction b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill_select.mcfunction index eaabdacac7a..c269fd0d784 100644 --- a/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill_select.mcfunction +++ b/Asset/data/asset/functions/mob/0059.jack_o_lantern/tick/skill_select.mcfunction @@ -10,24 +10,33 @@ # 乱数によるスキル選択 data modify storage lib: Args.key set value "59.Skill" - data modify storage lib: Args.max set value 4 + data modify storage lib: Args.max set value 3 data modify storage lib: Args.scarcity_history_size set value 3 execute store result score $Random Temporary run function lib:random/with_biased/manual.m with storage lib: Args +# クイズのインターバルを-1し、0ならクイズにする + execute store result storage asset:context this.QuizInterval._ int 0.9999999999 run data get storage asset:context this.QuizInterval._ + execute if data storage asset:context this.QuizInterval{_:0} run scoreboard players set $Random Temporary 10 + execute if data storage asset:context this.QuizInterval{_:0} run data modify storage asset:context this.QuizInterval._ set from storage asset:context this.QuizInterval.Max + # 体力が40%以下かつ一度も大技を撃ってないなら大技を使用し、再使用防止Tagを付与 - execute if entity @s[tag=1N.HealthLess40Per,tag=!1N.AlreadySpecial] run scoreboard players set $Random Temporary 10 + execute if entity @s[tag=1N.HealthLess40Per,tag=!1N.AlreadySpecial] run scoreboard players set $Random Temporary 100 execute if entity @s[tag=1N.HealthLess40Per,tag=!1N.AlreadySpecial] run tag @s add 1N.AlreadySpecial +# DPSチェックの猶予が0ならDPSチェック発動 + execute if data storage asset:context this{DPSCheck:0} run scoreboard players set $Random Temporary 1000 + # デバッグ用 - # scoreboard players set $Random Temporary 2 + # scoreboard players set $Random Temporary 00 # スキルTagを付与 - execute if score $Random Temporary matches 0 run tag @s add 1N.Quiz - execute if score $Random Temporary matches 1 run tag @s add 1N.GiantPumpkin1 - execute if score $Random Temporary matches 2 run tag @s add 1N.GiantPumpkin2 - execute if score $Random Temporary matches 3 run tag @s add 1N.Missile + execute if score $Random Temporary matches 0 run tag @s add 1N.GiantPumpkin1 + execute if score $Random Temporary matches 1 run tag @s add 1N.GiantPumpkin2 + execute if score $Random Temporary matches 2 run tag @s add 1N.Missile - execute if score $Random Temporary matches 10 run tag @s add 1N.PumpkinRain + execute if score $Random Temporary matches 10 run tag @s add 1N.Quiz + execute if score $Random Temporary matches 100 run tag @s add 1N.PumpkinRain + execute if score $Random Temporary matches 1000 run tag @s add 1N.DPSCheck # リセット scoreboard players reset $Random Temporary diff --git a/Asset/data/asset/functions/mob/alias/59/attack.mcfunction b/Asset/data/asset/functions/mob/alias/59/attack.mcfunction deleted file mode 100644 index f5aadc62e57..00000000000 --- a/Asset/data/asset/functions/mob/alias/59/attack.mcfunction +++ /dev/null @@ -1,4 +0,0 @@ -#> asset:mob/alias/59/attack -# @within asset_manager:mob/attack/attack.m - -function asset:mob/0059.jack_o_lantern/attack/ diff --git a/Asset/data/asset/functions/object/2039.pumpkin_dps_check/init/.mcfunction b/Asset/data/asset/functions/object/2039.pumpkin_dps_check/init/.mcfunction new file mode 100644 index 00000000000..79dc529adce --- /dev/null +++ b/Asset/data/asset/functions/object/2039.pumpkin_dps_check/init/.mcfunction @@ -0,0 +1,40 @@ +#> asset:object/2039.pumpkin_dps_check/init/ +# +# Objectのinit時の処理 +# +# @within asset:object/alias/2039/init + +# セッション開ける + function lib:array/session/open + +# 回転用のデータを設定しておく + data modify storage lib: Array set value [] + data modify storage lib: Array append value {Interpolation:25,Pitch:0.6} + data modify storage lib: Array append value {Interpolation:24,Pitch:0.65} + data modify storage lib: Array append value {Interpolation:23,Pitch:0.7} + data modify storage lib: Array append value {Interpolation:22,Pitch:0.75} + data modify storage lib: Array append value {Interpolation:21,Pitch:0.8} + data modify storage lib: Array append value {Interpolation:20,Pitch:0.9} + data modify storage lib: Array append value {Interpolation:19,Pitch:1.0} + data modify storage lib: Array append value {Interpolation:18,Pitch:1.05} + data modify storage lib: Array append value {Interpolation:17,Pitch:1.1} + data modify storage lib: Array append value {Interpolation:16,Pitch:1.15} + data modify storage lib: Array append value {Interpolation:15,Pitch:1.2} + data modify storage lib: Array append value {Interpolation:14,Pitch:1.25} + data modify storage lib: Array append value {Interpolation:13,Pitch:1.3} + data modify storage lib: Array append value {Interpolation:12,Pitch:1.35} + data modify storage lib: Array append value {Interpolation:11,Pitch:1.4} + data modify storage lib: Array append value {Interpolation:10,Pitch:1.45} + data modify storage lib: Array append value {Interpolation:9,Pitch:1.5} + data modify storage lib: Array append value {Interpolation:8,Pitch:1.55} + data modify storage lib: Array append value {Interpolation:7,Pitch:1.7} + data modify storage lib: Array append value {Interpolation:6,Pitch:1.75} + data modify storage lib: Array append value {Interpolation:5,Pitch:1.8} + data modify storage lib: Array append value {Interpolation:4,Pitch:1.85} + +# 反転 + function lib:array/reverse +# フィールドに保存 + data modify storage asset:context this.InterpolationList set from storage lib: Array +# セッション閉じる + function lib:array/session/close diff --git a/Asset/data/asset/functions/object/2039.pumpkin_dps_check/register.mcfunction b/Asset/data/asset/functions/object/2039.pumpkin_dps_check/register.mcfunction new file mode 100644 index 00000000000..0262a4f7422 --- /dev/null +++ b/Asset/data/asset/functions/object/2039.pumpkin_dps_check/register.mcfunction @@ -0,0 +1,23 @@ +#> asset:object/2039.pumpkin_dps_check/register +# +# Objectのデータを指定 +# +# @within function asset:object/alias/2039/register + +# 継承(オプション) + # data modify storage asset:object Extends append value + # function asset:object/extends +# 他のObjectに継承されることを許可するか (boolean) (オプション) + # data modify storage asset:object ExtendsSafe set value +# 継承されることを前提とした、抽象的なObjectであるかどうか(boolean) + data modify storage asset:object IsAbstract set value false +# Tickするかどうか(boolean) (オプション) + # data modify storage asset:object IsTicking set value + +# ID (int) + data modify storage asset:object ID set value 2039 +# フィールド(オプション) + data modify storage asset:object Field.Spin set value 4 + data modify storage asset:object Field.SpinInterval set value 0 + data modify storage asset:object Field.Damage set value 9999.9f + data modify storage asset:object Field.MobUUID set value -1 diff --git a/Asset/data/asset/functions/object/2039.pumpkin_dps_check/summon/.mcfunction b/Asset/data/asset/functions/object/2039.pumpkin_dps_check/summon/.mcfunction new file mode 100644 index 00000000000..463a2aa4d26 --- /dev/null +++ b/Asset/data/asset/functions/object/2039.pumpkin_dps_check/summon/.mcfunction @@ -0,0 +1,11 @@ +#> asset:object/2039.pumpkin_dps_check/summon/ +# +# Object召喚処理の呼び出し時に実行されるfunction +# +# @within asset:object/alias/2039/summon + +# 元となるEntityを召喚する + execute as 0-0-0-0-0 in minecraft:overworld positioned as @s run tp @s ~ ~ ~ ~ ~ + data modify storage asset:temp Args.Rotation set from entity 0-0-0-0-0 Rotation[0] + function asset:object/2039.pumpkin_dps_check/summon/m with storage asset:temp Args + data remove storage asset:temp Args diff --git a/Asset/data/asset/functions/object/2039.pumpkin_dps_check/summon/m.mcfunction b/Asset/data/asset/functions/object/2039.pumpkin_dps_check/summon/m.mcfunction new file mode 100644 index 00000000000..710c5e18c62 --- /dev/null +++ b/Asset/data/asset/functions/object/2039.pumpkin_dps_check/summon/m.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/2039.pumpkin_dps_check/summon/m +# +# +# +# @within function asset:object/2039.pumpkin_dps_check/summon/ + +# 召喚する + $summon minecraft:item_display ~ ~ ~ {Rotation:[$(Rotation)f,0f],Tags:["ObjectInit"],interpolation_duration:16,teleport_duration:1,item:{id:"carved_pumpkin",Count:1b,tag:{CustomModelData:20016}},transformation:{left_rotation:[0.0f,0.0f,0.0f,1.0f],right_rotation:[0.0f,0.0f,0.0f,1.0f],translation:[0.0f,0.0f,0.0f],scale:[1.0f,1.0f,1.0f]}} diff --git a/Asset/data/asset/functions/object/2039.pumpkin_dps_check/tick/.mcfunction b/Asset/data/asset/functions/object/2039.pumpkin_dps_check/tick/.mcfunction new file mode 100644 index 00000000000..000c31707b7 --- /dev/null +++ b/Asset/data/asset/functions/object/2039.pumpkin_dps_check/tick/.mcfunction @@ -0,0 +1,20 @@ +#> asset:object/2039.pumpkin_dps_check/tick/ +# +# Objectのtick時の処理 +# +# @within asset:object/alias/2039/tick + +# Tick加算 + scoreboard players add @s General.Object.Tick 1 + +# めっちゃでかくなる + execute unless data storage asset:context this{BlowUpEnded:true} run function asset:object/2039.pumpkin_dps_check/tick/blow_up + +# 回転 + execute if data storage asset:context this{BlowUpEnded:true} if score @s General.Object.Tick matches 40.. run function asset:object/2039.pumpkin_dps_check/tick/beginning_spin + +# 迫ってくる + execute unless data storage asset:context this.InterpolationList[0] run function asset:object/2039.pumpkin_dps_check/tick/move/ + +# 消滅処理 + kill @s[scores={General.Object.Tick=390..}] diff --git a/Asset/data/asset/functions/object/2039.pumpkin_dps_check/tick/beginning_spin.mcfunction b/Asset/data/asset/functions/object/2039.pumpkin_dps_check/tick/beginning_spin.mcfunction new file mode 100644 index 00000000000..c7365c42695 --- /dev/null +++ b/Asset/data/asset/functions/object/2039.pumpkin_dps_check/tick/beginning_spin.mcfunction @@ -0,0 +1,11 @@ +#> asset:object/2039.pumpkin_dps_check/tick/beginning_spin +# +# +# +# @within function asset:object/2039.pumpkin_dps_check/tick/ + +# 徐々に加速する縦回転をする + data modify storage asset:temp Args set from storage asset:context this.InterpolationList[-1] + #tellraw @a {"storage":"asset:temp","nbt":"Args"} + function asset:object/2039.pumpkin_dps_check/tick/set_spin/beginning.m with storage asset:temp Args + data remove storage asset:temp Args diff --git a/Asset/data/asset/functions/object/2039.pumpkin_dps_check/tick/blow_up.mcfunction b/Asset/data/asset/functions/object/2039.pumpkin_dps_check/tick/blow_up.mcfunction new file mode 100644 index 00000000000..46c011a1696 --- /dev/null +++ b/Asset/data/asset/functions/object/2039.pumpkin_dps_check/tick/blow_up.mcfunction @@ -0,0 +1,32 @@ +#> asset:object/2039.pumpkin_dps_check/tick/blow_up +# +# +# +# @within function asset:object/2039.pumpkin_dps_check/tick/ + +# 膨らむ + execute if entity @s[scores={General.Object.Tick=3}] run playsound entity.puffer_fish.blow_up hostile @a[distance=..64] ~ ~ ~ 0.8 1 0.8 + execute if entity @s[scores={General.Object.Tick=3}] run data modify entity @s start_interpolation set value 0 + execute if entity @s[scores={General.Object.Tick=3}] run data modify entity @s interpolation_duration set value 5 + execute if entity @s[scores={General.Object.Tick=3}] run data modify entity @s transformation.scale set value [25f,25f,25f] + execute if entity @s[scores={General.Object.Tick=3}] run data modify entity @s transformation.translation[1] set value 12.5f + + execute if entity @s[scores={General.Object.Tick=8}] run data modify entity @s start_interpolation set value 0 + execute if entity @s[scores={General.Object.Tick=8}] run data modify entity @s interpolation_duration set value 2 + execute if entity @s[scores={General.Object.Tick=8}] run data modify entity @s transformation.scale set value [18f,18f,18f] + execute if entity @s[scores={General.Object.Tick=8}] run data modify entity @s transformation.translation[1] set value 9f + + execute if entity @s[scores={General.Object.Tick=13}] run playsound entity.puffer_fish.blow_up hostile @a[distance=..64] ~ ~ ~ 0.8 0.5 0.8 + execute if entity @s[scores={General.Object.Tick=13}] run data modify entity @s start_interpolation set value 0 + execute if entity @s[scores={General.Object.Tick=13}] run data modify entity @s interpolation_duration set value 5 + execute if entity @s[scores={General.Object.Tick=13}] run data modify entity @s transformation.scale set value [40f,40f,40f] + execute if entity @s[scores={General.Object.Tick=13}] run data modify entity @s transformation.translation[1] set value 20f + + execute if entity @s[scores={General.Object.Tick=18}] run data modify entity @s start_interpolation set value 0 + execute if entity @s[scores={General.Object.Tick=18}] run data modify entity @s interpolation_duration set value 3 + execute if entity @s[scores={General.Object.Tick=18}] run data modify entity @s transformation.scale set value [32f,32f,32f] + execute if entity @s[scores={General.Object.Tick=18}] run data modify entity @s transformation.translation[1] set value 16f + +# + execute if entity @s[scores={General.Object.Tick=18}] run data modify storage asset:context this.BlowUpEnded set value true + execute if entity @s[scores={General.Object.Tick=18}] run scoreboard players set @s General.Object.Tick 0 diff --git a/Asset/data/asset/functions/object/2039.pumpkin_dps_check/tick/move/.mcfunction b/Asset/data/asset/functions/object/2039.pumpkin_dps_check/tick/move/.mcfunction new file mode 100644 index 00000000000..54252b20492 --- /dev/null +++ b/Asset/data/asset/functions/object/2039.pumpkin_dps_check/tick/move/.mcfunction @@ -0,0 +1,17 @@ +#> asset:object/2039.pumpkin_dps_check/tick/move/ +# +# +# +# @within function asset:object/2039.pumpkin_dps_check/tick/ + +# 移動 + tp @s ^ ^ ^3 + +# 回転 + function asset:object/2039.pumpkin_dps_check/tick/set_spin/m {Interpolation:3} + +# 演出 + playsound entity.breeze.shoot hostile @a[distance=..64] ~ ~ ~ 0.4 2 0.8 + +# ダメージ + execute at @s run function asset:object/2039.pumpkin_dps_check/tick/move/damage diff --git a/Asset/data/asset/functions/object/2039.pumpkin_dps_check/tick/move/damage.mcfunction b/Asset/data/asset/functions/object/2039.pumpkin_dps_check/tick/move/damage.mcfunction new file mode 100644 index 00000000000..52a9a9c1fb3 --- /dev/null +++ b/Asset/data/asset/functions/object/2039.pumpkin_dps_check/tick/move/damage.mcfunction @@ -0,0 +1,26 @@ +#> asset:object/2039.pumpkin_dps_check/tick/move/damage +# +# +# +# @within function asset:object/2039.pumpkin_dps_check/tick/move/ + +# 回転するxyzLibを使ってヒット判定を行う + data modify storage lib: args.dx set value 16 + data modify storage lib: args.dy set value 16 + data modify storage lib: args.dz set value 16 + data modify storage lib: args.selector set value "@a[tag=!PlayerShouldInvulnerable,distance=..28]" + execute positioned ~ ~16 ~ run function lib:rotatable_dxyz/m with storage lib: args + +# ダメージ + data modify storage api: Argument.Damage set from storage asset:context this.Damage + data modify storage api: Argument.AttackType set value "Magic" + data modify storage api: Argument.ElementType set value "Fire" + data modify storage api: Argument.FixedDamage set value true + data modify storage api: Argument.DeathMessage append value '[{"translate": "%1$sは%2$sの超巨大カボチャに轢かれてしまった","with":[{"selector":"@s"},{"nbt":"Return.AttackerName","storage":"lib:","interpret":true}]}]' + data modify storage api: Argument.MobUUID set from storage asset:context this.MobUUID + function api:damage/modifier_manual + execute as @a[tag=DXYZ,distance=..28] run function api:damage/ + function api:damage/reset + +# リセット + tag @a[tag=DXYZ,distance=..28] remove DXYZ diff --git a/Asset/data/asset/functions/object/2039.pumpkin_dps_check/tick/set_spin/beginning.m.mcfunction b/Asset/data/asset/functions/object/2039.pumpkin_dps_check/tick/set_spin/beginning.m.mcfunction new file mode 100644 index 00000000000..49c4b4046f2 --- /dev/null +++ b/Asset/data/asset/functions/object/2039.pumpkin_dps_check/tick/set_spin/beginning.m.mcfunction @@ -0,0 +1,28 @@ +#> asset:object/2039.pumpkin_dps_check/tick/set_spin/beginning.m +# +# +# +# @within function +# asset:object/2039.pumpkin_dps_check/tick/move +# asset:object/2039.pumpkin_dps_check/tick/beginning_spin + +# メモ +# ふつう: [0f,0f,0f,1f] +# 下向き: [0.7071f,0f,0f,0.7071] +# ぎゃく: [1f,0f,0f,0f] +# 下向き: [-0.7071f,0f,0f,0.7071] + +# + execute unless function asset:object/2039.pumpkin_dps_check/tick/set_spin/check run return fail + +# 演出 + execute positioned ~ ~3 ~ run function asset:object/2039.pumpkin_dps_check/tick/set_spin/vfx + +# 音 + $playsound minecraft:entity.wither.shoot hostile @a[distance=..64] ~ ~ ~ 0.3 $(Pitch) 0.4 + +# Spinが2の際に顔を変更 + execute if data storage asset:context this{Spin:2} run function asset:object/2039.pumpkin_dps_check/tick/set_spin/change_face + +# + $function asset:object/2039.pumpkin_dps_check/tick/set_spin/spin.m {Interpolation:$(Interpolation)} diff --git a/Asset/data/asset/functions/object/2039.pumpkin_dps_check/tick/set_spin/change_face.mcfunction b/Asset/data/asset/functions/object/2039.pumpkin_dps_check/tick/set_spin/change_face.mcfunction new file mode 100644 index 00000000000..af6777959b0 --- /dev/null +++ b/Asset/data/asset/functions/object/2039.pumpkin_dps_check/tick/set_spin/change_face.mcfunction @@ -0,0 +1,32 @@ +#> asset:object/2039.pumpkin_dps_check/tick/set_spin/change_face +# +# +# +# @within function asset:object/2039.pumpkin_dps_check/tick/set_spin/beginning.m + +#> Private +# @private + #declare score_holder $CandidatesLength + #declare score_holder $Random + +# lib:array/picksを用いて、ランダムなIDを取得する + +# セッション開ける + function lib:array/session/open +# 定義 + data modify storage lib: Array set value [20016,20201,20202,20203,20204,20205,20206,20282,20284] + data modify storage lib: Picks set value [0] +# 候補リストの長さを取得 + execute store result score $CandidatesLength Temporary if data storage lib: Array[] +# 乱数 + execute store result score $Random Temporary run random value 0..65535 + execute store result storage lib: Picks[0] int 1 run scoreboard players operation $Random Temporary %= $CandidatesLength Temporary +# 抜き取り + function lib:array/picks +# 顔を置き換え + data modify entity @s item.tag.CustomModelData set from storage lib: Elements[0] + +# リセット + function lib:array/session/close + scoreboard players reset $Random Temporary + scoreboard players reset $CandidatesLength Temporary diff --git a/Asset/data/asset/functions/object/2039.pumpkin_dps_check/tick/set_spin/check.mcfunction b/Asset/data/asset/functions/object/2039.pumpkin_dps_check/tick/set_spin/check.mcfunction new file mode 100644 index 00000000000..5880b38c215 --- /dev/null +++ b/Asset/data/asset/functions/object/2039.pumpkin_dps_check/tick/set_spin/check.mcfunction @@ -0,0 +1,19 @@ +#> asset:object/2039.pumpkin_dps_check/tick/set_spin/check +# +# +# +# @within function +# asset:object/2039.pumpkin_dps_check/tick/set_spin/m +# asset:object/2039.pumpkin_dps_check/tick/set_spin/beginning.m + +# インターバルをデクリメント + execute store result storage asset:context this.SpinInterval int 0.9999999999 run data get storage asset:context this.SpinInterval + #tellraw @a {"storage":"asset:context","nbt":"this.SpinInterval"} +# インターバルが0でなければ失敗 + execute unless data storage asset:context this{SpinInterval:0} run return 0 + +# InterpolationListの最後尾のデータを削除 + data remove storage asset:context this.InterpolationList[-1] + +# 成功 + return 1 diff --git a/Asset/data/asset/functions/object/2039.pumpkin_dps_check/tick/set_spin/m.mcfunction b/Asset/data/asset/functions/object/2039.pumpkin_dps_check/tick/set_spin/m.mcfunction new file mode 100644 index 00000000000..ac2283350d9 --- /dev/null +++ b/Asset/data/asset/functions/object/2039.pumpkin_dps_check/tick/set_spin/m.mcfunction @@ -0,0 +1,10 @@ +#> asset:object/2039.pumpkin_dps_check/tick/set_spin/m +# +# +# +# @within function asset:object/2039.pumpkin_dps_check/tick/move/ + + execute unless function asset:object/2039.pumpkin_dps_check/tick/set_spin/check run return fail + +# + $function asset:object/2039.pumpkin_dps_check/tick/set_spin/spin.m {Interpolation:$(Interpolation)} diff --git a/Asset/data/asset/functions/object/2039.pumpkin_dps_check/tick/set_spin/spin.m.mcfunction b/Asset/data/asset/functions/object/2039.pumpkin_dps_check/tick/set_spin/spin.m.mcfunction new file mode 100644 index 00000000000..0d6cea37b22 --- /dev/null +++ b/Asset/data/asset/functions/object/2039.pumpkin_dps_check/tick/set_spin/spin.m.mcfunction @@ -0,0 +1,28 @@ +#> asset:object/2039.pumpkin_dps_check/tick/set_spin/spin.m +# +# +# +# @within function +# asset:object/2039.pumpkin_dps_check/tick/set_spin/m +# asset:object/2039.pumpkin_dps_check/tick/set_spin/with_sound.m + +# + $data modify storage asset:context this.SpinInterval set value $(Interpolation) + +# start_interpolationを設定 + data modify entity @s start_interpolation set value 0 + +# interpolation_durationを設定 + $data modify entity @s interpolation_duration set value $(Interpolation) + +# Spinのデクリメント + execute store result storage asset:context this.Spin int 0.9999999999 run data get storage asset:context this.Spin + +# スコアに応じてtransformationをセット + execute if data storage asset:context this{Spin:3} run data modify entity @s transformation.left_rotation set value [0.7071f,0f,0f,0.7071f] + execute if data storage asset:context this{Spin:2} run data modify entity @s transformation.left_rotation set value [1f,0f,0f,0f] + execute if data storage asset:context this{Spin:1} run data modify entity @s transformation.left_rotation set value [-0.7071f,0f,0f,0.7071f] + execute if data storage asset:context this{Spin:0} run data modify entity @s transformation.left_rotation set value [0f,0f,0f,1f] + +# スコアをリセット + execute if data storage asset:context this{Spin:0} run data modify storage asset:context this.Spin set value 4 diff --git a/Asset/data/asset/functions/object/2039.pumpkin_dps_check/tick/set_spin/vfx.mcfunction b/Asset/data/asset/functions/object/2039.pumpkin_dps_check/tick/set_spin/vfx.mcfunction new file mode 100644 index 00000000000..3c5adbc7a0f --- /dev/null +++ b/Asset/data/asset/functions/object/2039.pumpkin_dps_check/tick/set_spin/vfx.mcfunction @@ -0,0 +1,168 @@ +#> asset:object/2039.pumpkin_dps_check/tick/set_spin/vfx +# +# +# +# @within function asset:object/2039.pumpkin_dps_check/tick/set_spin/beginning.m + +# [ImportKey]: NobwRALgngDgpmAXGAxgSwE4oDYIDRgCuhaAJkmAKwAMATAOwCcAHAMzUC0cARtYxwBYAjHDgcAhrQBmUjkJTdKtAa3nUp3MAQB24gLYJkgMMUABEK1gY4jPoDOScCgD2hbRCRCAbNQIo4buAwHMAA3cWxCQ3AADyQfMCg4gF8kghtSNEJ7RCFqPPz42whrd0R4uGxsNBhbQ1z4jCdiiEN4tFsAUUrq2o6AR0Jw7CgAZSs-ckQpcNqUgF0gA_3 +# 円 1 +particle cloud ~ ~ ~ ^0 ^ ^-10000000 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^392598.15759 ^ ^-9992290.36241 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^784590.95728 ^ ^-9969173.33733 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^1175373.97458 ^ ^-9930684.56955 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^1564344.6504 ^ ^-9876883.40595 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^1950903.22016 ^ ^-9807852.80403 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^2334453.63856 ^ ^-9723699.20398 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^2714404.49865 ^ ^-9624552.36454 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^3090169.94375 ^ ^-9510565.16295 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^3461170.57077 ^ ^-9381913.35922 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^3826834.32365 ^ ^-9238795.32511 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^4186597.37537 ^ ^-9081431.73825 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^4539904.9974 ^ ^-8910065.24188 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^4886212.41497 ^ ^-8724960.07073 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^5224985.64716 ^ ^-8526401.64354 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^5555702.3302 ^ ^-8314696.12303 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^5877852.52292 ^ ^-8090169.94375 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^6190939.4931 ^ ^-7853169.30881 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^6494480.4833 ^ ^-7604059.656 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^6788007.45533 ^ ^-7343225.09436 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^7071067.81187 ^ ^-7071067.81187 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^7343225.09436 ^ ^-6788007.45533 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^7604059.656 ^ ^-6494480.4833 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^7853169.30881 ^ ^-6190939.4931 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^8090169.94375 ^ ^-5877852.52292 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^8314696.12303 ^ ^-5555702.3302 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^8526401.64354 ^ ^-5224985.64716 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^8724960.07073 ^ ^-4886212.41497 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^8910065.24188 ^ ^-4539904.9974 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^9081431.73825 ^ ^-4186597.37537 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^9238795.32511 ^ ^-3826834.32365 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^9381913.35922 ^ ^-3461170.57077 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^9510565.16295 ^ ^-3090169.94375 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^9624552.36454 ^ ^-2714404.49865 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^9723699.20398 ^ ^-2334453.63856 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^9807852.80403 ^ ^-1950903.22016 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^9876883.40595 ^ ^-1564344.6504 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^9930684.56955 ^ ^-1175373.97458 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^9969173.33733 ^ ^-784590.95728 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^9992290.36241 ^ ^-392598.15759 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^10000000 ^ ^0 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^9992290.36241 ^ ^392598.15759 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^9969173.33733 ^ ^784590.95728 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^9930684.56955 ^ ^1175373.97458 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^9876883.40595 ^ ^1564344.6504 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^9807852.80403 ^ ^1950903.22016 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^9723699.20398 ^ ^2334453.63856 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^9624552.36454 ^ ^2714404.49865 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^9510565.16295 ^ ^3090169.94375 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^9381913.35922 ^ ^3461170.57077 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^9238795.32511 ^ ^3826834.32365 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^9081431.73825 ^ ^4186597.37537 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^8910065.24188 ^ ^4539904.9974 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^8724960.07073 ^ ^4886212.41497 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^8526401.64354 ^ ^5224985.64716 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^8314696.12303 ^ ^5555702.3302 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^8090169.94375 ^ ^5877852.52292 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^7853169.30881 ^ ^6190939.4931 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^7604059.656 ^ ^6494480.4833 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^7343225.09436 ^ ^6788007.45533 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^7071067.81187 ^ ^7071067.81187 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^6788007.45533 ^ ^7343225.09436 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^6494480.4833 ^ ^7604059.656 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^6190939.4931 ^ ^7853169.30881 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^5877852.52292 ^ ^8090169.94375 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^5555702.3302 ^ ^8314696.12303 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^5224985.64716 ^ ^8526401.64354 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^4886212.41497 ^ ^8724960.07073 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^4539904.9974 ^ ^8910065.24188 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^4186597.37537 ^ ^9081431.73825 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^3826834.32365 ^ ^9238795.32511 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^3461170.57077 ^ ^9381913.35922 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^3090169.94375 ^ ^9510565.16295 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^2714404.49865 ^ ^9624552.36454 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^2334453.63856 ^ ^9723699.20398 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^1950903.22016 ^ ^9807852.80403 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^1564344.6504 ^ ^9876883.40595 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^1175373.97458 ^ ^9930684.56955 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^784590.95728 ^ ^9969173.33733 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^392598.15759 ^ ^9992290.36241 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^0 ^ ^10000000 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-392598.15759 ^ ^9992290.36241 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-784590.95728 ^ ^9969173.33733 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-1175373.97458 ^ ^9930684.56955 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-1564344.6504 ^ ^9876883.40595 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-1950903.22016 ^ ^9807852.80403 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-2334453.63856 ^ ^9723699.20398 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-2714404.49865 ^ ^9624552.36454 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-3090169.94375 ^ ^9510565.16295 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-3461170.57077 ^ ^9381913.35922 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-3826834.32365 ^ ^9238795.32511 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-4186597.37537 ^ ^9081431.73825 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-4539904.9974 ^ ^8910065.24188 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-4886212.41497 ^ ^8724960.07073 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-5224985.64716 ^ ^8526401.64354 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-5555702.3302 ^ ^8314696.12303 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-5877852.52292 ^ ^8090169.94375 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-6190939.4931 ^ ^7853169.30881 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-6494480.4833 ^ ^7604059.656 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-6788007.45533 ^ ^7343225.09436 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-7071067.81187 ^ ^7071067.81187 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-7343225.09436 ^ ^6788007.45533 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-7604059.656 ^ ^6494480.4833 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-7853169.30881 ^ ^6190939.4931 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-8090169.94375 ^ ^5877852.52292 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-8314696.12303 ^ ^5555702.3302 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-8526401.64354 ^ ^5224985.64716 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-8724960.07073 ^ ^4886212.41497 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-8910065.24188 ^ ^4539904.9974 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-9081431.73825 ^ ^4186597.37537 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-9238795.32511 ^ ^3826834.32365 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-9381913.35922 ^ ^3461170.57077 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-9510565.16295 ^ ^3090169.94375 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-9624552.36454 ^ ^2714404.49865 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-9723699.20398 ^ ^2334453.63856 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-9807852.80403 ^ ^1950903.22016 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-9876883.40595 ^ ^1564344.6504 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-9930684.56955 ^ ^1175373.97458 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-9969173.33733 ^ ^784590.95728 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-9992290.36241 ^ ^392598.15759 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-10000000 ^ ^0 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-9992290.36241 ^ ^-392598.15759 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-9969173.33733 ^ ^-784590.95728 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-9930684.56955 ^ ^-1175373.97458 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-9876883.40595 ^ ^-1564344.6504 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-9807852.80403 ^ ^-1950903.22016 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-9723699.20398 ^ ^-2334453.63856 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-9624552.36454 ^ ^-2714404.49865 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-9510565.16295 ^ ^-3090169.94375 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-9381913.35922 ^ ^-3461170.57077 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-9238795.32511 ^ ^-3826834.32365 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-9081431.73825 ^ ^-4186597.37537 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-8910065.24188 ^ ^-4539904.9974 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-8724960.07073 ^ ^-4886212.41497 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-8526401.64354 ^ ^-5224985.64716 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-8314696.12303 ^ ^-5555702.3302 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-8090169.94375 ^ ^-5877852.52292 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-7853169.30881 ^ ^-6190939.4931 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-7604059.656 ^ ^-6494480.4833 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-7343225.09436 ^ ^-6788007.45533 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-7071067.81187 ^ ^-7071067.81187 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-6788007.45533 ^ ^-7343225.09436 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-6494480.4833 ^ ^-7604059.656 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-6190939.4931 ^ ^-7853169.30881 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-5877852.52292 ^ ^-8090169.94375 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-5555702.3302 ^ ^-8314696.12303 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-5224985.64716 ^ ^-8526401.64354 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-4886212.41497 ^ ^-8724960.07073 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-4539904.9974 ^ ^-8910065.24188 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-4186597.37537 ^ ^-9081431.73825 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-3826834.32365 ^ ^-9238795.32511 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-3461170.57077 ^ ^-9381913.35922 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-3090169.94375 ^ ^-9510565.16295 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-2714404.49865 ^ ^-9624552.36454 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-2334453.63856 ^ ^-9723699.20398 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-1950903.22016 ^ ^-9807852.80403 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-1564344.6504 ^ ^-9876883.40595 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-1175373.97458 ^ ^-9930684.56955 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-784590.95728 ^ ^-9969173.33733 0.0000002 0 force @a[distance=..64] +particle cloud ~ ~ ~ ^-392598.15759 ^ ^-9992290.36241 0.0000002 0 force @a[distance=..64] diff --git a/Asset/data/asset/functions/object/alias/2039/init.mcfunction b/Asset/data/asset/functions/object/alias/2039/init.mcfunction new file mode 100644 index 00000000000..8b52b4bdc1d --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2039/init.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2039/init +# +# Init処理のエイリアス +# +# @within asset_manager:object/init/init.m + +# 元のInit処理を呼び出す + function asset:object/2039.pumpkin_dps_check/init/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2039/register.mcfunction b/Asset/data/asset/functions/object/alias/2039/register.mcfunction new file mode 100644 index 00000000000..697abdcdd4f --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2039/register.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2039/register +# +# Objectのデータ指定処理のエイリアス +# +# @within asset_manager:object/summon/register.m + +# 元の登録処理を呼び出す + function asset:object/2039.pumpkin_dps_check/register \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2039/summon.mcfunction b/Asset/data/asset/functions/object/alias/2039/summon.mcfunction new file mode 100644 index 00000000000..62049d2f948 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2039/summon.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2039/summon +# +# Object召喚処理のエイリアス +# +# @within asset_manager:object/summon/summon.m + +# 元の召喚処理を呼び出す + function asset:object/2039.pumpkin_dps_check/summon/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2039/tick.mcfunction b/Asset/data/asset/functions/object/alias/2039/tick.mcfunction new file mode 100644 index 00000000000..8631193514c --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2039/tick.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2039/tick +# +# Tick時処理のエイリアス +# +# @within asset_manager:object/tick/tick.m + +# 元のTick処理を呼び出す + function asset:object/2039.pumpkin_dps_check/tick/ \ No newline at end of file