diff --git a/Asset/data/asset/functions/artifact/1144.cradle_of_azure_moon/give/1.trigger.mcfunction b/Asset/data/asset/functions/artifact/1144.cradle_of_azure_moon/give/1.trigger.mcfunction new file mode 100644 index 00000000000..bd7d0418098 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1144.cradle_of_azure_moon/give/1.trigger.mcfunction @@ -0,0 +1,7 @@ +#> asset:artifact/1144.cradle_of_azure_moon/give/1.trigger +# +# 神器の取得処理の呼び出し時に実行されるfunction +# +# @within tag/function asset:artifact/give + +execute if data storage asset:context {id:1144} run function asset:artifact/1144.cradle_of_azure_moon/give/2.give \ No newline at end of file diff --git a/Asset/data/asset/functions/artifact/1144.cradle_of_azure_moon/give/2.give.mcfunction b/Asset/data/asset/functions/artifact/1144.cradle_of_azure_moon/give/2.give.mcfunction new file mode 100644 index 00000000000..9bf817b2ffb --- /dev/null +++ b/Asset/data/asset/functions/artifact/1144.cradle_of_azure_moon/give/2.give.mcfunction @@ -0,0 +1,71 @@ +#> asset:artifact/1144.cradle_of_azure_moon/give/2.give +# +# 神器の作成部 ここでID等を定義する +# +# @user +# @within function asset:artifact/1144.cradle_of_azure_moon/give/1.trigger + +# 神器の説明や消費MPなどをここで設定する。 +# 最後にasset:artifact/common/giveを実行することで入手可能。 + +# 神器のID (int) スプレッドシートの値を入れる + data modify storage asset:artifact ID set value 1144 +# 神器のベースアイテム + data modify storage asset:artifact Item set value "minecraft:carrot_on_a_stick" +# 神器の名前 (TextComponentString) + data modify storage asset:artifact Name set value '[{"text":"蒼","color":"#6a9cff"},{"text":"き","color":"#69a1ff"},{"text":"月","color":"#68a7ff"},{"text":"の","color":"#66acff"},{"text":"揺","color":"#65b2ff"},{"text":"り","color":"#64b7ff"},{"text":"籠","color":"#63bdff"}]' +# 神器の説明文 (TextComponentString[]) + data modify storage asset:artifact Lore set value ['{"text":"周囲の敵に攻撃するクラゲを召喚する","color":"white"}','{"text":"蒼い海月を抱いた水の揺り籠","color":"gray"}','{"text":"月は水面に揺らめき、静寂に漂う","color":"gray"}'] +# 消費アイテム ({Item: TextComponent, Count: int, Extra?: TextComponent}) (オプション) + # data modify storage asset:artifact ConsumeItem.Item set value '{"translate":"item.minecraft.stick"}' + # data modify storage asset:artifact ConsumeItem.Count set value 1 + # data modify storage asset:artifact ConsumeItem.Extra set value +# 使用回数 (int) (オプション) + # data modify storage asset:artifact RemainingCount set value +# 神器を発動できるスロット (string) Wikiを参照 + data modify storage asset:artifact Slot set value "auto" +# 神器のトリガー (string) Wikiを参照 + data modify storage asset:artifact Trigger set value "onClick" +# 神器の発動条件 (TextComponentString) (オプション) + # data modify storage asset:artifact Condition set value +# 攻撃に関する情報 -Damage量 (literal[]/literal) Wikiを参照 (オプション) + data modify storage asset:artifact AttackInfo.Damage set value [300,500] +# 攻撃に関する情報 -攻撃タイプ (string[]) Wikiを参照 (オプション) + data modify storage asset:artifact AttackInfo.AttackType set value [Magic] +# 攻撃に関する情報 -攻撃属性 (string[]) Wikiを参照 (オプション) + data modify storage asset:artifact AttackInfo.ElementType set value [Water] +# 攻撃に関する情報 -防御無視 (boolean) Wikiを参照 (オプション) + # data modify storage asset:artifact AttackInfo.BypassResist set value +# 攻撃に関する情報 -範囲攻撃 (string) Wikiを参照 (オプション) + data modify storage asset:artifact AttackInfo.IsRangeAttack set value "every" +# 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション) + data modify storage asset:artifact AttackInfo.AttackRange set value "4.5" +# MP消費量 (int) + data modify storage asset:artifact MPCost set value 200 +# MP必要量 (int) (オプション) + # data modify storage asset:artifact MPRequire set value +# MP回復量 (int) + # data modify storage asset:artifact MPHealWhenHit set value +# 神器のクールダウン (int) (オプション) + # data modify storage asset:artifact LocalCooldown set value +# 種別クールダウン ({Type: string, Duration: int}) (オプション) + data modify storage asset:artifact TypeCooldown.Type set value "summon" + data modify storage asset:artifact TypeCooldown.Duration set value 550 +# 第二種別クールダウン ({Type: string, Duration: int}) (オプション) + data modify storage asset:artifact SecondaryTypeCooldown.Type set value "longRange" + data modify storage asset:artifact SecondaryTypeCooldown.Duration set value 100 +# グローバルクールダウン (int) (オプション) + # data modify storage asset:artifact SpecialCooldown set value +# クールダウンによる使用不可のメッセージを非表示にするか否か (boolean) (オプション) + # data modify storage asset:artifact DisableCooldownMessage set value +# MP不足による使用不可のメッセージを非表示にするか否か (boolean) (オプション) + # data modify storage asset:artifact DisableMPMessage set value +# 破壊時の音を鳴らさないかどうか (boolean) (オプション) + # data modify storage asset:artifact DisableBreakSound set value +# 扱える神 (string[]) Wikiを参照 + data modify storage asset:artifact CanUsedGod set value ["Flora", "Wi-ki", "Rumor"] +# カスタムNBT (NBTCompound) 追加で指定したいNBT (オプション) + # data modify storage asset:artifact CustomNBT set value {} + +# 神器の入手用function + function asset:artifact/common/give diff --git a/Asset/data/asset/functions/artifact/1144.cradle_of_azure_moon/register.mcfunction b/Asset/data/asset/functions/artifact/1144.cradle_of_azure_moon/register.mcfunction new file mode 100644 index 00000000000..a240ee8cf9b --- /dev/null +++ b/Asset/data/asset/functions/artifact/1144.cradle_of_azure_moon/register.mcfunction @@ -0,0 +1,8 @@ +#> asset:artifact/1144.cradle_of_azure_moon/register +# +# 神器プールへの登録処理 +# +# @within tag/function asset:artifact/register + +data modify storage asset:artifact RarityRegistry[4] append value [1144] +data modify storage asset:artifact RarityRegistryWithColor.Red[4] append value [1144] diff --git a/Asset/data/asset/functions/artifact/1144.cradle_of_azure_moon/trigger/1.trigger.mcfunction b/Asset/data/asset/functions/artifact/1144.cradle_of_azure_moon/trigger/1.trigger.mcfunction new file mode 100644 index 00000000000..1fdbc5f395d --- /dev/null +++ b/Asset/data/asset/functions/artifact/1144.cradle_of_azure_moon/trigger/1.trigger.mcfunction @@ -0,0 +1,8 @@ +#> asset:artifact/1144.cradle_of_azure_moon/trigger/1.trigger +# +# 指定したイベントタイミングで実行されるfunction +# +# @within tag/function asset:artifact/** + +# storage asset:idのautoに装備している神器のIDが入っているので比較し、~/2.check_condition.mcfunctionを実行する + execute if data storage asset:context id{auto:1144} run function asset:artifact/1144.cradle_of_azure_moon/trigger/2.check_condition \ No newline at end of file diff --git a/Asset/data/asset/functions/artifact/1144.cradle_of_azure_moon/trigger/2.check_condition.mcfunction b/Asset/data/asset/functions/artifact/1144.cradle_of_azure_moon/trigger/2.check_condition.mcfunction new file mode 100644 index 00000000000..d8ab55f3a79 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1144.cradle_of_azure_moon/trigger/2.check_condition.mcfunction @@ -0,0 +1,12 @@ +#> asset:artifact/1144.cradle_of_azure_moon/trigger/2.check_condition +# +# 神器の発動条件をチェックします +# +# @within function asset:artifact/1144.cradle_of_azure_moon/trigger/1.trigger + +# 神器の基本的な条件の確認を行うfunction、成功している場合CanUsedタグが付く + function asset:artifact/common/check_condition/auto +# 他にアイテム等確認する場合はここに書く + +# CanUsedタグをチェックして3.main.mcfunctionを実行する + execute if entity @s[tag=CanUsed] run function asset:artifact/1144.cradle_of_azure_moon/trigger/3.main \ No newline at end of file diff --git a/Asset/data/asset/functions/artifact/1144.cradle_of_azure_moon/trigger/3.main.mcfunction b/Asset/data/asset/functions/artifact/1144.cradle_of_azure_moon/trigger/3.main.mcfunction new file mode 100644 index 00000000000..b3c6932ce95 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1144.cradle_of_azure_moon/trigger/3.main.mcfunction @@ -0,0 +1,18 @@ +#> asset:artifact/1144.cradle_of_azure_moon/trigger/3.main +# +# 神器のメイン処理部 +# +# @within function asset:artifact/1144.cradle_of_azure_moon/trigger/2.check_condition + +# 基本的な使用時の処理(MP消費や使用回数の処理など)を行う + function asset:artifact/common/use/auto + +# ここから先は神器側の効果の処理を書く + +# Object召喚 + data modify storage api: Argument.ID set value 1061 + data modify storage api: Argument.FieldOverride.Damage set value {Min:300,Max:500} + data modify storage api: Argument.FieldOverride.Tick set value 750 + data modify storage api: Argument.FieldOverride.AttackCD.Max set value 45 + execute store result storage api: Argument.FieldOverride.UserID int 1 run scoreboard players get @s UserID + execute anchored eyes rotated ~ 0 positioned ^ ^-1 ^1.5 run function api:object/summon diff --git a/Asset/data/asset/functions/object/1061.azure_jelly/_index.d.mcfunction b/Asset/data/asset/functions/object/1061.azure_jelly/_index.d.mcfunction new file mode 100644 index 00000000000..e23a4f9bdf1 --- /dev/null +++ b/Asset/data/asset/functions/object/1061.azure_jelly/_index.d.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/1061.azure_jelly/_index.d +# @private + +#> tag +# @within function asset:object/1061.azure_jelly/** + #declare tag 1061.Owner + #declare score_holder $Interval + #declare score_holder $Recursive diff --git a/Asset/data/asset/functions/object/1061.azure_jelly/init/.mcfunction b/Asset/data/asset/functions/object/1061.azure_jelly/init/.mcfunction new file mode 100644 index 00000000000..5655504d908 --- /dev/null +++ b/Asset/data/asset/functions/object/1061.azure_jelly/init/.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/1061.azure_jelly/init/ +# +# Objectのinit時の処理 +# +# @within asset:object/alias/1061/init + +# 初期化 + scoreboard players set @s General.Object.Tick -1 diff --git a/Asset/data/asset/functions/object/1061.azure_jelly/load.mcfunction b/Asset/data/asset/functions/object/1061.azure_jelly/load.mcfunction new file mode 100644 index 00000000000..5e87b0332fc --- /dev/null +++ b/Asset/data/asset/functions/object/1061.azure_jelly/load.mcfunction @@ -0,0 +1,9 @@ +#> asset:object/1061.azure_jelly/load +# +# Objectに利用するスコアボード等の初期化処理 +# +# @within tag/function asset:object/load + +#> 定義類はここに +# @within function asset:object/1061.azure_jelly/** + scoreboard objectives add 1061.Pitch dummy diff --git a/Asset/data/asset/functions/object/1061.azure_jelly/predicate/far_player.mcfunction b/Asset/data/asset/functions/object/1061.azure_jelly/predicate/far_player.mcfunction new file mode 100644 index 00000000000..baf70ac2b6a --- /dev/null +++ b/Asset/data/asset/functions/object/1061.azure_jelly/predicate/far_player.mcfunction @@ -0,0 +1,11 @@ +#> asset:object/1061.azure_jelly/predicate/far_player +# +# +# +# @within function asset:object/1061.azure_jelly/tick/turn/ + +# プレイヤーが近くにいたらfail + execute positioned ~-6 ~-1 ~-6 if entity @p[tag=1061.Owner,dx=11,dy=1,dz=11] run return 0 + +# 成功 + return 1 diff --git a/Asset/data/asset/functions/object/1061.azure_jelly/predicate/near_enemy.mcfunction b/Asset/data/asset/functions/object/1061.azure_jelly/predicate/near_enemy.mcfunction new file mode 100644 index 00000000000..edb06fd106e --- /dev/null +++ b/Asset/data/asset/functions/object/1061.azure_jelly/predicate/near_enemy.mcfunction @@ -0,0 +1,11 @@ +#> asset:object/1061.azure_jelly/predicate/near_enemy +# +# +# +# @within function asset:object/1061.azure_jelly/tick/turn/ + +# 敵が近くにいるかを判定 + execute positioned ~-8 ~-8 ~-8 unless entity @e[type=#lib:living_without_player,tag=Enemy,dx=15,dy=15,dz=15,limit=1] run return 0 + +# 成功 + return 1 diff --git a/Asset/data/asset/functions/object/1061.azure_jelly/predicate/near_player.mcfunction b/Asset/data/asset/functions/object/1061.azure_jelly/predicate/near_player.mcfunction new file mode 100644 index 00000000000..2065d7a1c8c --- /dev/null +++ b/Asset/data/asset/functions/object/1061.azure_jelly/predicate/near_player.mcfunction @@ -0,0 +1,11 @@ +#> asset:object/1061.azure_jelly/predicate/near_player +# +# +# +# @within function asset:object/1061.azure_jelly/tick/turn/ + +# プレイヤーが近くにいないならfail + execute positioned ~-6 ~-1 ~-6 unless entity @p[tag=1061.Owner,dx=11,dy=1,dz=11] run return 0 + +# 成功 + return 1 diff --git a/Asset/data/asset/functions/object/1061.azure_jelly/predicate/no_collision.mcfunction b/Asset/data/asset/functions/object/1061.azure_jelly/predicate/no_collision.mcfunction new file mode 100644 index 00000000000..481ff5cf9d4 --- /dev/null +++ b/Asset/data/asset/functions/object/1061.azure_jelly/predicate/no_collision.mcfunction @@ -0,0 +1,17 @@ +#> asset:object/1061.azure_jelly/predicate/no_collision +# +# +# +# @within function asset:object/1061.azure_jelly/tick/move/** + +# 判定 + execute unless block ~ ~-0.75 ~ #lib:no_collision/ run return 0 + execute unless block ~ ~-0.5 ~ #lib:no_collision/ run return 0 + execute unless block ~ ~0.0 ~ #lib:no_collision/ run return 0 + execute unless block ~0.35 ~1.0 ~0.35 #lib:no_collision/ run return 0 + execute unless block ~0.35 ~1.0 ~-0.35 #lib:no_collision/ run return 0 + execute unless block ~-0.35 ~1.0 ~0.35 #lib:no_collision/ run return 0 + execute unless block ~-0.35 ~1.0 ~-0.35 #lib:no_collision/ run return 0 + +# 成功 + return 1 diff --git a/Asset/data/asset/functions/object/1061.azure_jelly/register.mcfunction b/Asset/data/asset/functions/object/1061.azure_jelly/register.mcfunction new file mode 100644 index 00000000000..348ed2f9c94 --- /dev/null +++ b/Asset/data/asset/functions/object/1061.azure_jelly/register.mcfunction @@ -0,0 +1,28 @@ +#> asset:object/1061.azure_jelly/register +# +# Objectのデータを指定 +# +# @within function asset:object/alias/1061/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 1061 +# フィールド(オプション) + data modify storage asset:object Field.Tick set value 750 + data modify storage asset:object Field.IsFirst set value true + data modify storage asset:object Field.IsUpper set value true + data modify storage asset:object Field.WaveLeftRotate set value true + data modify storage asset:object Field.AttackCD._ set value 0 + data modify storage asset:object Field.AttackCD.Max set value 45 + data modify storage asset:object Field.SpeedMultiplier set value 1 + data modify storage asset:object Field.Damage set value {Min:1,Max:10} + data modify storage asset:object Field.UserID set value -1 diff --git a/Asset/data/asset/functions/object/1061.azure_jelly/summon/.mcfunction b/Asset/data/asset/functions/object/1061.azure_jelly/summon/.mcfunction new file mode 100644 index 00000000000..50e1cac88db --- /dev/null +++ b/Asset/data/asset/functions/object/1061.azure_jelly/summon/.mcfunction @@ -0,0 +1,11 @@ +#> asset:object/1061.azure_jelly/summon/ +# +# Object召喚処理の呼び出し時に実行されるfunction +# +# @within asset:object/alias/1061/summon + +# 元となるEntityを召喚する + execute as 0-0-0-0-0 in minecraft:overworld positioned as @s run tp @s ~ ~ ~ ~ 0 + data modify storage asset:temp Args.Rotation set from entity 0-0-0-0-0 Rotation + function asset:object/1061.azure_jelly/summon/m with storage asset:temp Args + data remove storage asset:temp Args diff --git a/Asset/data/asset/functions/object/1061.azure_jelly/summon/m.mcfunction b/Asset/data/asset/functions/object/1061.azure_jelly/summon/m.mcfunction new file mode 100644 index 00000000000..0dab6ea8843 --- /dev/null +++ b/Asset/data/asset/functions/object/1061.azure_jelly/summon/m.mcfunction @@ -0,0 +1,7 @@ +#> asset:object/1061.azure_jelly/summon/m +# +# +# +# @within function asset:object/1061.azure_jelly/summon/ + +$summon armor_stand ~ ~ ~ {Tags:["ObjectInit","Friend"],Rotation:$(Rotation),Marker:1b,Invisible:1b,Passengers:[{id:"minecraft:item_display",Rotation:[90f,0f],Tags:["ProcessCommonTag","AutoKillWhenDieVehicle"],teleport_duration:1,brightness:{sky:10,block:10},item:{id:"minecraft:stick",Count:1b,tag:{CustomModelData:20578}},transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],scale:[1f,1f,1f],translation:[0f,-0.5f,0f]}}]} diff --git a/Asset/data/asset/functions/object/1061.azure_jelly/tick/.mcfunction b/Asset/data/asset/functions/object/1061.azure_jelly/tick/.mcfunction new file mode 100644 index 00000000000..c7edfadcd00 --- /dev/null +++ b/Asset/data/asset/functions/object/1061.azure_jelly/tick/.mcfunction @@ -0,0 +1,50 @@ +#> asset:object/1061.azure_jelly/tick/ +# +# Objectのtick時の処理 +# +# @within asset:object/alias/1061/tick + +#> Private +# @private + #declare score_holder $UserID + +# 存在時間フィールド減算 + execute store result storage asset:context this.Tick int 0.9999999999 run data get storage asset:context this.Tick + +# 常時演出 + particle dust 0.267 0.729 0.945 0.9 ~ ~ ~ 0.4 0.6 0.4 0 1 normal @a + execute if predicate lib:random_pass_per/40 run particle scrape ~ ~ ~ 0.4 0.6 0.4 0 1 normal @a + +# 召喚演出 その間はreturnする + execute if data storage asset:context this{IsFirst:true} run return run function asset:object/1061.azure_jelly/tick/summon_effect/ + +# OwnerにTag付与 + execute store result score $UserID Temporary run data get storage asset:context this.UserID + execute as @a if score @s UserID = $UserID Temporary run tag @s add 1061.Owner + +# インターバル + execute store result score $Interval Temporary run data get storage asset:context this.Tick + scoreboard players operation $Interval Temporary %= $50 Const + +# 移動方向設定 + execute if score $Interval Temporary matches 0 run function asset:object/1061.azure_jelly/tick/turn/ + +# 角度 + execute if score $Interval Temporary matches 0 at @s run function asset:object/1061.azure_jelly/tick/pitch/init + execute at @s run function asset:object/1061.azure_jelly/tick/pitch/ + +# 移動 + execute at @s run function asset:object/1061.azure_jelly/tick/move/ + +# 攻撃関連の処理 + execute at @s run function asset:object/1061.azure_jelly/tick/attack/ + + #execute at @s run particle flame ^ ^ ^ 0 0 0 0 1 + +# リセット + scoreboard players reset $UserID Temporary + scoreboard players reset $Interval Temporary + tag @p[tag=1061.Owner] remove 1061.Owner + +# 消滅処理 + execute if data storage asset:context this{Tick:0} run function asset:object/1061.azure_jelly/tick/kill diff --git a/Asset/data/asset/functions/object/1061.azure_jelly/tick/attack/.mcfunction b/Asset/data/asset/functions/object/1061.azure_jelly/tick/attack/.mcfunction new file mode 100644 index 00000000000..afa0d9fec24 --- /dev/null +++ b/Asset/data/asset/functions/object/1061.azure_jelly/tick/attack/.mcfunction @@ -0,0 +1,14 @@ +#> asset:object/1061.azure_jelly/tick/attack/ +# +# 攻撃関連の処理 +# +# @within function asset:object/1061.azure_jelly/tick/ + +# クールダウンをデクリメント + execute store result storage asset:context this.AttackCD._ int 0.9999999999 run data get storage asset:context this.AttackCD._ + +# CDが0でなければreturn + execute unless data storage asset:context this.AttackCD{_:0} run return fail + +# 敵が近くにいたら攻撃 + execute positioned ~-3 ~-3 ~-3 if entity @e[type=#lib:living_without_player,tag=Enemy,tag=!Uninterferable,dx=5,dy=5,dz=5] at @s run function asset:object/1061.azure_jelly/tick/attack/attack diff --git a/Asset/data/asset/functions/object/1061.azure_jelly/tick/attack/attack.mcfunction b/Asset/data/asset/functions/object/1061.azure_jelly/tick/attack/attack.mcfunction new file mode 100644 index 00000000000..bc6c30db9e9 --- /dev/null +++ b/Asset/data/asset/functions/object/1061.azure_jelly/tick/attack/attack.mcfunction @@ -0,0 +1,29 @@ +#> asset:object/1061.azure_jelly/tick/attack/attack +# +# +# +# @within function asset:object/1061.azure_jelly/tick/attack/ + +# 演出 + execute rotated ~ 0 positioned ~ ~-0.3 ~ run function asset:object/1061.azure_jelly/tick/vfx/circle1 + execute rotated ~ 0 positioned ~ ~-0.3 ~ run function asset:object/1061.azure_jelly/tick/vfx/circle2 + +# 波Objectの演出 + function asset:object/1061.azure_jelly/tick/attack/summon_wave/ + +# 円柱Libを用いて判定する + data modify storage lib: Argument.BoundingCylinder.Radius set value 4.5d + data modify storage lib: Argument.BoundingCylinder.Height set value 7.0d + data modify storage lib: Argument.BoundingCylinder.Selector set value "@e[type=#lib:living_without_player,tag=Enemy,tag=!Uninterferable,distance=..7]" + execute positioned ~ ~-3 ~ run function lib:bounding_cylinder/ + +# 壁貫通していない敵にダメージ + function api:damage/single_damage_session/open + execute as @e[type=#lib:living_without_player,tag=Enemy,tag=BoundingCylinder,tag=!Uninterferable,distance=..7] if function asset:object/1061.azure_jelly/tick/attack/check_block/ run function asset:object/1061.azure_jelly/tick/attack/damage.m with storage asset:context this.Damage + function api:damage/single_damage_session/close + +# リセット + tag @e[type=#lib:living_without_player,tag=BoundingCylinder,distance=..7] remove BoundingCylinder + +# AttackCD初期化 + data modify storage asset:context this.AttackCD._ set from storage asset:context this.AttackCD.Max diff --git a/Asset/data/asset/functions/object/1061.azure_jelly/tick/attack/check_block/.mcfunction b/Asset/data/asset/functions/object/1061.azure_jelly/tick/attack/check_block/.mcfunction new file mode 100644 index 00000000000..b3d613e9c92 --- /dev/null +++ b/Asset/data/asset/functions/object/1061.azure_jelly/tick/attack/check_block/.mcfunction @@ -0,0 +1,20 @@ +#> asset:object/1061.azure_jelly/tick/attack/check_block/ +# +# +# +# @within function asset:object/1061.azure_jelly/tick/attack/attack + +# 自身の方を見て再帰 + execute facing entity @s feet run function asset:object/1061.azure_jelly/tick/attack/check_block/recursive + +# リセット + scoreboard players reset $Recursive Temporary + +# 失敗 + execute unless data storage asset:temp 1061{Success:true} run return fail + +# storageをリセット + data remove storage asset:temp 1061 + +# 成功 + return 1 diff --git a/Asset/data/asset/functions/object/1061.azure_jelly/tick/attack/check_block/recursive.mcfunction b/Asset/data/asset/functions/object/1061.azure_jelly/tick/attack/check_block/recursive.mcfunction new file mode 100644 index 00000000000..1c206b8404d --- /dev/null +++ b/Asset/data/asset/functions/object/1061.azure_jelly/tick/attack/check_block/recursive.mcfunction @@ -0,0 +1,16 @@ +#> asset:object/1061.azure_jelly/tick/attack/check_block/recursive +# +# +# +# @within function +# asset:object/1061.azure_jelly/tick/attack/check_block/ +# asset:object/1061.azure_jelly/tick/attack/check_block/recursive + +# 再帰防止スコアをインクリメント + scoreboard players add $Recursive Temporary 1 + +# 成功 + execute positioned ~-0.5 ~-0.5 ~-0.5 if entity @s[dx=0] run data modify storage asset:temp 1061.Success set value true + +# 0.5ブロックずつ再帰 + execute if score $Recursive Temporary matches ..14 positioned ^ ^ ^0.5 if block ~ ~ ~ #lib:no_collision/ run function asset:object/1061.azure_jelly/tick/attack/check_block/recursive diff --git a/Asset/data/asset/functions/object/1061.azure_jelly/tick/attack/damage.m.mcfunction b/Asset/data/asset/functions/object/1061.azure_jelly/tick/attack/damage.m.mcfunction new file mode 100644 index 00000000000..c901db9be98 --- /dev/null +++ b/Asset/data/asset/functions/object/1061.azure_jelly/tick/attack/damage.m.mcfunction @@ -0,0 +1,12 @@ +#> asset:object/1061.azure_jelly/tick/attack/damage.m +# +# +# +# @within function asset:object/1061.azure_jelly/tick/attack/attack + + $execute store result storage api: Argument.Damage int 1 run random value $(Min)..$(Max) + data modify storage api: Argument.AttackType set value "Magic" + data modify storage api: Argument.ElementType set value "Water" + execute as @p[tag=1061.Owner] run function api:damage/modifier + function api:damage/ + function api:damage/reset diff --git a/Asset/data/asset/functions/object/1061.azure_jelly/tick/attack/summon_wave/.mcfunction b/Asset/data/asset/functions/object/1061.azure_jelly/tick/attack/summon_wave/.mcfunction new file mode 100644 index 00000000000..34301c4e31a --- /dev/null +++ b/Asset/data/asset/functions/object/1061.azure_jelly/tick/attack/summon_wave/.mcfunction @@ -0,0 +1,13 @@ +#> asset:object/1061.azure_jelly/tick/attack/summon_wave/ +# +# +# +# @within function asset:object/1061.azure_jelly/tick/attack/attack + +# トグルで切替 + function asset:object/1061.azure_jelly/tick/attack/summon_wave/switch + +# 召喚 + data modify storage api: Argument.ID set value 1062 + data modify storage api: Argument.FieldOverride.LeftRotate set from storage asset:context this.WaveLeftRotate + execute positioned ~ ~-0.3 ~ run function api:object/summon diff --git a/Asset/data/asset/functions/object/1061.azure_jelly/tick/attack/summon_wave/switch.mcfunction b/Asset/data/asset/functions/object/1061.azure_jelly/tick/attack/summon_wave/switch.mcfunction new file mode 100644 index 00000000000..a4d2b7bc2d1 --- /dev/null +++ b/Asset/data/asset/functions/object/1061.azure_jelly/tick/attack/summon_wave/switch.mcfunction @@ -0,0 +1,9 @@ +#> asset:object/1061.azure_jelly/tick/attack/summon_wave/switch +# +# +# +# @within function asset:object/1061.azure_jelly/tick/attack/summon_wave/ + +# トグル + execute if data storage asset:context this{WaveLeftRotate:true} run return run data modify storage asset:context this.WaveLeftRotate set value false + execute unless data storage asset:context this{WaveLeftRotate:true} run data modify storage asset:context this.WaveLeftRotate set value true diff --git a/Asset/data/asset/functions/object/1061.azure_jelly/tick/kill.mcfunction b/Asset/data/asset/functions/object/1061.azure_jelly/tick/kill.mcfunction new file mode 100644 index 00000000000..3aa5022058c --- /dev/null +++ b/Asset/data/asset/functions/object/1061.azure_jelly/tick/kill.mcfunction @@ -0,0 +1,21 @@ +#> asset:object/1061.azure_jelly/tick/kill +# +# +# +# @within function asset:object/1061.azure_jelly/tick/ + +# 演出 + particle scrape ~ ~1 ~ 0 0 0 6 50 normal @a + particle dust 0.267 0.729 0.945 0.9 ~ ~1 ~ 0.5 0.6 0.4 0 50 normal @a + + playsound ogg:ambient.nether.crimson_forest.shine1 neutral @a[distance=..12] ~ ~ ~ 0.05 1.3 + playsound entity.dolphin.jump neutral @a ~ ~ ~ 0.25 0.8 + playsound entity.dolphin.jump neutral @a ~ ~ ~ 0.25 0.85 + playsound entity.dolphin.jump neutral @a ~ ~ ~ 0.25 0.9 + + playsound ogg:block.amethyst.shimmer neutral @a ~ ~ ~ 1 2 + playsound ogg:block.amethyst.shimmer neutral @a ~ ~ ~ 1 1.6 + +# 消滅 + execute on passengers run kill @s + kill @s diff --git a/Asset/data/asset/functions/object/1061.azure_jelly/tick/move/.mcfunction b/Asset/data/asset/functions/object/1061.azure_jelly/tick/move/.mcfunction new file mode 100644 index 00000000000..774e27cfd5b --- /dev/null +++ b/Asset/data/asset/functions/object/1061.azure_jelly/tick/move/.mcfunction @@ -0,0 +1,24 @@ +#> asset:object/1061.azure_jelly/tick/move/ +# +# +# +# @within function asset:object/1061.azure_jelly/tick/ + +# そもそも: 完全に埋まってたら少しずつ上に行ってreturn + execute unless function asset:object/1061.azure_jelly/predicate/no_collision run return run tp @s ~ ~0.1 ~ + +# 速度付きで前方が安全か判定してから進む +# ちょっとでも軽くしたいな~ってことでreturnで実行数がそんなに増えないようにする + execute if score $Interval Temporary matches 00..03 run return run function asset:object/1061.azure_jelly/tick/move/speed_multiplier.m {Speed:0.08} + execute if score $Interval Temporary matches 04..08 run return run function asset:object/1061.azure_jelly/tick/move/speed_multiplier.m {Speed:0.10} + execute if score $Interval Temporary matches 09..13 run return run function asset:object/1061.azure_jelly/tick/move/speed_multiplier.m {Speed:0.15} + execute if score $Interval Temporary matches 14..18 run return run function asset:object/1061.azure_jelly/tick/move/speed_multiplier.m {Speed:0.20} + execute if score $Interval Temporary matches 19..22 run return run function asset:object/1061.azure_jelly/tick/move/speed_multiplier.m {Speed:0.25} + execute if score $Interval Temporary matches 23..24 run return run function asset:object/1061.azure_jelly/tick/move/speed_multiplier.m {Speed:0.30} + + execute if score $Interval Temporary matches 25..26 run return run function asset:object/1061.azure_jelly/tick/move/speed_multiplier.m {Speed:0.30} + execute if score $Interval Temporary matches 27..30 run return run function asset:object/1061.azure_jelly/tick/move/speed_multiplier.m {Speed:0.25} + execute if score $Interval Temporary matches 31..35 run return run function asset:object/1061.azure_jelly/tick/move/speed_multiplier.m {Speed:0.20} + execute if score $Interval Temporary matches 36..40 run return run function asset:object/1061.azure_jelly/tick/move/speed_multiplier.m {Speed:0.15} + execute if score $Interval Temporary matches 41..45 run return run function asset:object/1061.azure_jelly/tick/move/speed_multiplier.m {Speed:0.10} + execute if score $Interval Temporary matches 46..49 run function asset:object/1061.azure_jelly/tick/move/speed_multiplier.m {Speed:0.08} diff --git a/Asset/data/asset/functions/object/1061.azure_jelly/tick/move/move.m.mcfunction b/Asset/data/asset/functions/object/1061.azure_jelly/tick/move/move.m.mcfunction new file mode 100644 index 00000000000..27fa696a39b --- /dev/null +++ b/Asset/data/asset/functions/object/1061.azure_jelly/tick/move/move.m.mcfunction @@ -0,0 +1,13 @@ +#> asset:object/1061.azure_jelly/tick/move/move.m +# +# args: +# Speed : float +# +# @within function +# asset:object/1061.azure_jelly/tick/move/speed_multiplier.m +# asset:object/1061.azure_jelly/tick/summon_effect/ + +# 壁貫通のないように移動 + $data modify storage lib: Argument.SlideMove.Speed set value $(Speed) + data modify storage lib: Argument.SlideMove.Conditions set value "unless function asset:object/1061.azure_jelly/predicate/no_collision" + function lib:slide_move/ diff --git a/Asset/data/asset/functions/object/1061.azure_jelly/tick/move/speed_multiplier.m.mcfunction b/Asset/data/asset/functions/object/1061.azure_jelly/tick/move/speed_multiplier.m.mcfunction new file mode 100644 index 00000000000..cb06e829c8f --- /dev/null +++ b/Asset/data/asset/functions/object/1061.azure_jelly/tick/move/speed_multiplier.m.mcfunction @@ -0,0 +1,30 @@ +#> asset:object/1061.azure_jelly/tick/move/speed_multiplier.m +# +# +# +# @within function asset:object/1061.azure_jelly/tick/move/ + +#> Private +# @private + #declare score_holder $Speed + #declare score_holder $SpeedMultiplier + +#tellraw @a {"storage":"asset:context","nbt":"this.SpeedMultiplier"} + +# SpeedMultiplier:1ならそのまま実行してreturn + $execute if data storage asset:context this{SpeedMultiplier:1} run return run function asset:object/1061.azure_jelly/tick/move/move.m {Speed:$(Speed)} + +# 設定された速度と倍率を取得 + $data modify storage asset:temp 1061.Speed set value $(Speed) + execute store result score $Speed Temporary run data get storage asset:temp 1061.Speed 100 + execute store result score $SpeedMultiplier Temporary run data get storage asset:context this.SpeedMultiplier 100 + + +# 速度をstorageに入れてマクロで実行 + execute store result storage asset:temp 1061.Speed float 0.0001 run scoreboard players operation $Speed Temporary *= $SpeedMultiplier Temporary + function asset:object/1061.azure_jelly/tick/move/move.m with storage asset:temp 1061 + +# リセット + scoreboard players reset $Speed Temporary + scoreboard players reset $SpeedMultiplier Temporary + data remove storage asset:temp 1061 diff --git a/Asset/data/asset/functions/object/1061.azure_jelly/tick/pitch/.mcfunction b/Asset/data/asset/functions/object/1061.azure_jelly/tick/pitch/.mcfunction new file mode 100644 index 00000000000..dfc528ce70a --- /dev/null +++ b/Asset/data/asset/functions/object/1061.azure_jelly/tick/pitch/.mcfunction @@ -0,0 +1,14 @@ +#> asset:object/1061.azure_jelly/tick/pitch/ +# +# +# +# @within function asset:object/1061.azure_jelly/tick/ + +# trueなら+ + execute if data storage asset:context this{IsUpper:true} run scoreboard players add @s 1061.Pitch 250 + +# falseなら- + execute if data storage asset:context this{IsUpper:false} run scoreboard players remove @s 1061.Pitch 50 + +# -9000..9000ならRotation[1]へ代入 + execute if score @s 1061.Pitch matches -9000..9000 store result entity @s Rotation[1] float 0.01 run scoreboard players get @s 1061.Pitch diff --git a/Asset/data/asset/functions/object/1061.azure_jelly/tick/pitch/init.mcfunction b/Asset/data/asset/functions/object/1061.azure_jelly/tick/pitch/init.mcfunction new file mode 100644 index 00000000000..d5fc4d0a41b --- /dev/null +++ b/Asset/data/asset/functions/object/1061.azure_jelly/tick/pitch/init.mcfunction @@ -0,0 +1,17 @@ +#> asset:object/1061.azure_jelly/tick/pitch/init +# +# +# +# @within function asset:object/1061.azure_jelly/tick/ + +# 現在のRotation[1](e2)を取得 + execute store result score @s 1061.Pitch run data get entity @s Rotation[1] 100 + +# 上下どちらの移動をするかトグルで切り替える + function asset:object/1061.azure_jelly/tick/pitch/switch_up_down + +# trueなら少し減らして保存しておく + execute if data storage asset:context this{IsUpper:true} run scoreboard players remove @s 1061.Pitch 6000 + +# falseなら少し増やす + execute if data storage asset:context this{IsUpper:false} run scoreboard players add @s 1061.Pitch 1500 diff --git a/Asset/data/asset/functions/object/1061.azure_jelly/tick/pitch/switch_up_down.mcfunction b/Asset/data/asset/functions/object/1061.azure_jelly/tick/pitch/switch_up_down.mcfunction new file mode 100644 index 00000000000..119e3cb74b6 --- /dev/null +++ b/Asset/data/asset/functions/object/1061.azure_jelly/tick/pitch/switch_up_down.mcfunction @@ -0,0 +1,10 @@ +#> asset:object/1061.azure_jelly/tick/pitch/switch_up_down +# +# トグルで上下どちらかにいるかを切り替える +# +# @within function asset:object/1061.azure_jelly/tick/pitch/init + +# トグルでtrue/falseを切り替え + execute if data storage asset:context this{IsUpper:true} run return run data modify storage asset:context this.IsUpper set value false + + execute unless data storage asset:context this{IsUpper:true} run data modify storage asset:context this.IsUpper set value true diff --git a/Asset/data/asset/functions/object/1061.azure_jelly/tick/summon_effect/.mcfunction b/Asset/data/asset/functions/object/1061.azure_jelly/tick/summon_effect/.mcfunction new file mode 100644 index 00000000000..61b2db510c5 --- /dev/null +++ b/Asset/data/asset/functions/object/1061.azure_jelly/tick/summon_effect/.mcfunction @@ -0,0 +1,36 @@ +#> asset:object/1061.azure_jelly/tick/summon_effect/ +# +# +# +# @within function asset:object/1061.azure_jelly/tick/ + +# Tick加算 + scoreboard players add @s General.Object.Tick 1 + +# メモ +# -80スタートで、0まで行きたいから合計加算角度は80くらいである必要がある + +# 召喚時演出 + execute if score @s General.Object.Tick matches 0 run function asset:object/1061.azure_jelly/tick/summon_effect/vfx + +# 角度初期化 + execute if score @s General.Object.Tick matches 0 run tp @s ~ ~ ~ ~ -80 + +# 角度 + execute if score @s General.Object.Tick matches 00..7 at @s run tp @s ~ ~ ~ ~ ~2 + execute if score @s General.Object.Tick matches 08..12 at @s run tp @s ~ ~ ~ ~ ~3 + execute if score @s General.Object.Tick matches 13..18 at @s run tp @s ~ ~ ~ ~ ~4 + execute if score @s General.Object.Tick matches 19..25 at @s run tp @s ~ ~ ~ ~ ~5 + execute if score @s General.Object.Tick matches 26..31 at @s run tp @s ~ ~ ~ ~ ~4 + execute if score @s General.Object.Tick matches 32..39 at @s run tp @s ~ ~ ~ ~ ~3 + +# 移動 + execute if score @s General.Object.Tick matches 00..05 at @s run function asset:object/1061.azure_jelly/tick/move/move.m {Speed:0.1} + execute if score @s General.Object.Tick matches 06..12 at @s run function asset:object/1061.azure_jelly/tick/move/move.m {Speed:0.15} + execute if score @s General.Object.Tick matches 13..22 at @s run function asset:object/1061.azure_jelly/tick/move/move.m {Speed:0.2} + execute if score @s General.Object.Tick matches 23..30 at @s run function asset:object/1061.azure_jelly/tick/move/move.m {Speed:0.15} + execute if score @s General.Object.Tick matches 31..35 at @s run function asset:object/1061.azure_jelly/tick/move/move.m {Speed:0.12} + execute if score @s General.Object.Tick matches 36..39 at @s run function asset:object/1061.azure_jelly/tick/move/move.m {Speed:0.1} + +# 召喚演出終了 + execute if score @s General.Object.Tick matches 40.. run function asset:object/1061.azure_jelly/tick/summon_effect/end diff --git a/Asset/data/asset/functions/object/1061.azure_jelly/tick/summon_effect/end.mcfunction b/Asset/data/asset/functions/object/1061.azure_jelly/tick/summon_effect/end.mcfunction new file mode 100644 index 00000000000..3d5014bdb38 --- /dev/null +++ b/Asset/data/asset/functions/object/1061.azure_jelly/tick/summon_effect/end.mcfunction @@ -0,0 +1,9 @@ +#> asset:object/1061.azure_jelly/tick/summon_effect/end +# +# +# +# @within function asset:object/1061.azure_jelly/tick/summon_effect/ + +# 終了 + data modify storage asset:context this.IsFirst set value false + scoreboard players set @s General.Object.Tick -1 diff --git a/Asset/data/asset/functions/object/1061.azure_jelly/tick/summon_effect/vfx.mcfunction b/Asset/data/asset/functions/object/1061.azure_jelly/tick/summon_effect/vfx.mcfunction new file mode 100644 index 00000000000..446889610f5 --- /dev/null +++ b/Asset/data/asset/functions/object/1061.azure_jelly/tick/summon_effect/vfx.mcfunction @@ -0,0 +1,15 @@ +#> asset:object/1061.azure_jelly/tick/summon_effect/vfx +# +# +# +# @within function asset:object/1061.azure_jelly/tick/summon_effect/ + +# 演出 + particle scrape ~ ~1 ~ 0 0.3 0 4.5 50 normal @a + + playsound ogg:ambient.nether.crimson_forest.shine1 neutral @a[distance=..12] ~ ~ ~ 0.05 1.3 + playsound entity.dolphin.jump neutral @a ~ ~ ~ 0.40 0.8 + playsound entity.dolphin.jump neutral @a ~ ~ ~ 0.40 0.85 + playsound ogg:block.amethyst.shimmer neutral @a ~ ~ ~ 0.5 2 + playsound ogg:block.amethyst.shimmer neutral @a ~ ~ ~ 0.5 1.2 + playsound ogg:block.amethyst.shimmer neutral @a ~ ~ ~ 0.5 0.6 diff --git a/Asset/data/asset/functions/object/1061.azure_jelly/tick/turn/.mcfunction b/Asset/data/asset/functions/object/1061.azure_jelly/tick/turn/.mcfunction new file mode 100644 index 00000000000..53a8111dd54 --- /dev/null +++ b/Asset/data/asset/functions/object/1061.azure_jelly/tick/turn/.mcfunction @@ -0,0 +1,29 @@ +#> asset:object/1061.azure_jelly/tick/turn/ +# +# +# +# @within function asset:object/1061.azure_jelly/tick/ + +# 敵がいなければ +# - 使用者の近くならテキトーに移動する +# - 使用者が遠ければそっちへ移動する + +# 敵がいれば +# - プレイヤーから「離れていないなら」最寄りの敵の方へ移動する +# - プレイヤーから「離れているなら」プレイヤーの方へ戻る + +# 音 + function asset:object/1061.azure_jelly/tick/turn/sound + +# 敵がいないなら + # Ownerが近くならテキトーな方向へ + execute unless function asset:object/1061.azure_jelly/predicate/near_enemy if function asset:object/1061.azure_jelly/predicate/near_player run return run function asset:object/1061.azure_jelly/tick/turn/random_rotate + + # Ownerが遠いならOwnerの方へ + execute unless function asset:object/1061.azure_jelly/predicate/near_enemy unless function asset:object/1061.azure_jelly/predicate/near_player run return run function asset:object/1061.azure_jelly/tick/turn/chase_player/ + +# 敵がいるなら + # Ownerが遠くなければ敵の方へ + execute if function asset:object/1061.azure_jelly/predicate/near_enemy unless function asset:object/1061.azure_jelly/predicate/far_player run return run function asset:object/1061.azure_jelly/tick/turn/chase_enemy + # Ownerが遠いならOwnerの方へ + execute if function asset:object/1061.azure_jelly/predicate/near_enemy if function asset:object/1061.azure_jelly/predicate/far_player run return run function asset:object/1061.azure_jelly/tick/turn/chase_player/ diff --git a/Asset/data/asset/functions/object/1061.azure_jelly/tick/turn/chase_enemy.mcfunction b/Asset/data/asset/functions/object/1061.azure_jelly/tick/turn/chase_enemy.mcfunction new file mode 100644 index 00000000000..4a136fafa57 --- /dev/null +++ b/Asset/data/asset/functions/object/1061.azure_jelly/tick/turn/chase_enemy.mcfunction @@ -0,0 +1,20 @@ +#> asset:object/1061.azure_jelly/tick/turn/chase_enemy +# +# +# +# @within function asset:object/1061.azure_jelly/tick/turn/ + +# 最も近くの敵のy座標が近いかを判定 + execute as @e[type=#lib:living_without_player,tag=Enemy,tag=!Uninterferable,distance=..30,sort=nearest,limit=1] at @s positioned ~-8 ~ ~-8 if entity @e[type=armor_stand,tag=this,dx=15,dy=0,dz=15,sort=nearest,limit=1] run data modify storage asset:temp 1061.Success set value true + +# 近いならrotated ~ 0で敵の方を向く + execute if data storage asset:temp 1061{Success:true} facing entity @e[type=#lib:living_without_player,tag=Enemy,tag=!Uninterferable,distance=..30,sort=nearest,limit=1] feet rotated ~ 0 run tp @s ~ ~ ~ ~ ~ + +# 近くなければそのままfacingする + # execute unless data storage asset:temp 1061{Success:true} facing entity @e[type=#lib:living_without_player,tag=Enemy,tag=!Uninterferable,distance=..30,sort=nearest,limit=1] feet run tp @s ~ ~ ~ ~ ~ + +# リセット + data remove storage asset:temp 1061 + +# 敵との距離に応じて速度倍率を設定する + function asset:object/1061.azure_jelly/tick/turn/set_speed_multiplier/enemy diff --git a/Asset/data/asset/functions/object/1061.azure_jelly/tick/turn/chase_player/.mcfunction b/Asset/data/asset/functions/object/1061.azure_jelly/tick/turn/chase_player/.mcfunction new file mode 100644 index 00000000000..b612cb7f394 --- /dev/null +++ b/Asset/data/asset/functions/object/1061.azure_jelly/tick/turn/chase_player/.mcfunction @@ -0,0 +1,11 @@ +#> asset:object/1061.azure_jelly/tick/turn/chase_player/ +# +# +# +# @within function asset:object/1061.azure_jelly/tick/turn/ + +# プレイヤーの近くのランダムな位置へ向かう + execute at @p[tag=1061.Owner] run function asset:object/1061.azure_jelly/tick/turn/chase_player/spread + +# プレイヤーとの距離に応じて速度倍率を設定する + function asset:object/1061.azure_jelly/tick/turn/set_speed_multiplier/player diff --git a/Asset/data/asset/functions/object/1061.azure_jelly/tick/turn/chase_player/spread.mcfunction b/Asset/data/asset/functions/object/1061.azure_jelly/tick/turn/chase_player/spread.mcfunction new file mode 100644 index 00000000000..c2707ede0eb --- /dev/null +++ b/Asset/data/asset/functions/object/1061.azure_jelly/tick/turn/chase_player/spread.mcfunction @@ -0,0 +1,20 @@ +#> asset:object/1061.azure_jelly/tick/turn/chase_player/spread +# +# +# +# @within function asset:object/1061.azure_jelly/tick/turn/chase_player/ + +#> Private +# @private + #declare tag SpreadMarker + +# マーカーを拡散し、そのMarkerにfacingする + summon marker ~ ~ ~ {Tags:["SpreadMarker"]} + data modify storage lib: Argument.Bounds set value [[3d,3d],[0d,0d],[3d,3d]] + execute as @e[type=marker,tag=SpreadMarker,distance=..0.01,limit=1] at @s run function lib:spread_entity/ + +# SpreadMarkerを見る + execute at @s facing entity @e[type=marker,tag=SpreadMarker,distance=..100] feet run tp @s ~ ~ ~ ~ ~ + +# リセット + kill @e[type=marker,tag=SpreadMarker,distance=..10] diff --git a/Asset/data/asset/functions/object/1061.azure_jelly/tick/turn/random_rotate.mcfunction b/Asset/data/asset/functions/object/1061.azure_jelly/tick/turn/random_rotate.mcfunction new file mode 100644 index 00000000000..838ad4d6f7c --- /dev/null +++ b/Asset/data/asset/functions/object/1061.azure_jelly/tick/turn/random_rotate.mcfunction @@ -0,0 +1,17 @@ +#> asset:object/1061.azure_jelly/tick/turn/random_rotate +# +# +# +# @within function asset:object/1061.azure_jelly/tick/turn/ + +# Rotation:[*,0f]にする + data modify storage asset:temp 1061.Rotation set value [0f,0f] + execute store result storage asset:temp 1061.Rotation[0] float 0.01 run random value 0..35999 + data modify entity @s Rotation set from storage asset:temp 1061.Rotation + +# リセット + data remove storage asset:temp 1061 + +# プレイヤーとの距離に応じて速度倍率を設定する +# この関数が呼び出されてる時点で近いはずだが、一応共通処理として、ね + function asset:object/1061.azure_jelly/tick/turn/set_speed_multiplier/player diff --git a/Asset/data/asset/functions/object/1061.azure_jelly/tick/turn/set_speed_multiplier/enemy.mcfunction b/Asset/data/asset/functions/object/1061.azure_jelly/tick/turn/set_speed_multiplier/enemy.mcfunction new file mode 100644 index 00000000000..2bc37558f94 --- /dev/null +++ b/Asset/data/asset/functions/object/1061.azure_jelly/tick/turn/set_speed_multiplier/enemy.mcfunction @@ -0,0 +1,11 @@ +#> asset:object/1061.azure_jelly/tick/turn/set_speed_multiplier/enemy +# +# +# +# @within function asset:object/1061.azure_jelly/tick/turn/chase_enemy + +# 敵との距離に応じて速度倍率を設定する + execute if entity @e[type=#lib:living_without_player,tag=Enemy,tag=!Uninterferable,distance=..30] run data modify storage asset:context this.SpeedMultiplier set value 3 + execute if entity @e[type=#lib:living_without_player,tag=Enemy,tag=!Uninterferable,distance=..20] run data modify storage asset:context this.SpeedMultiplier set value 2 + execute if entity @e[type=#lib:living_without_player,tag=Enemy,tag=!Uninterferable,distance=..10] run data modify storage asset:context this.SpeedMultiplier set value 1 + execute if entity @e[type=#lib:living_without_player,tag=Enemy,tag=!Uninterferable,distance=..5] run data modify storage asset:context this.SpeedMultiplier set value 0.5 diff --git a/Asset/data/asset/functions/object/1061.azure_jelly/tick/turn/set_speed_multiplier/player.mcfunction b/Asset/data/asset/functions/object/1061.azure_jelly/tick/turn/set_speed_multiplier/player.mcfunction new file mode 100644 index 00000000000..5a08d6b1943 --- /dev/null +++ b/Asset/data/asset/functions/object/1061.azure_jelly/tick/turn/set_speed_multiplier/player.mcfunction @@ -0,0 +1,11 @@ +#> asset:object/1061.azure_jelly/tick/turn/set_speed_multiplier/player +# +# +# +# @within function +# asset:object/1061.azure_jelly/tick/turn/chase_player/ +# asset:object/1061.azure_jelly/tick/turn/random_rotate + + execute if entity @p[tag=1061.Owner,distance=..40] run data modify storage asset:context this.SpeedMultiplier set value 3 + execute if entity @p[tag=1061.Owner,distance=..20] run data modify storage asset:context this.SpeedMultiplier set value 2 + execute if entity @p[tag=1061.Owner,distance=..10] run data modify storage asset:context this.SpeedMultiplier set value 1 diff --git a/Asset/data/asset/functions/object/1061.azure_jelly/tick/turn/sound.mcfunction b/Asset/data/asset/functions/object/1061.azure_jelly/tick/turn/sound.mcfunction new file mode 100644 index 00000000000..a0e478f1fc3 --- /dev/null +++ b/Asset/data/asset/functions/object/1061.azure_jelly/tick/turn/sound.mcfunction @@ -0,0 +1,10 @@ +#> asset:object/1061.azure_jelly/tick/turn/sound +# +# +# +# @within function asset:object/1061.azure_jelly/tick/turn/ + + playsound ogg:ambient.nether.crimson_forest.shine1 neutral @a[distance=..12] ~ ~ ~ 0.05 1.3 + playsound ogg:block.amethyst.shimmer neutral @a ~ ~ ~ 0.5 2 + playsound ogg:block.amethyst.shimmer neutral @a ~ ~ ~ 0.5 1.2 + playsound ogg:block.amethyst.shimmer neutral @a ~ ~ ~ 0.5 0.6 diff --git a/Asset/data/asset/functions/object/1061.azure_jelly/tick/vfx/circle1.mcfunction b/Asset/data/asset/functions/object/1061.azure_jelly/tick/vfx/circle1.mcfunction new file mode 100644 index 00000000000..ccfa3a77759 --- /dev/null +++ b/Asset/data/asset/functions/object/1061.azure_jelly/tick/vfx/circle1.mcfunction @@ -0,0 +1,86 @@ +#> asset:object/1061.azure_jelly/tick/vfx/circle1 +# +# +# +# @within function asset:object/1061.azure_jelly/tick/*/** + +particle scrape ~ ~ ~ ^0 ^ ^-1000000 0.00003 0 +particle scrape ~ ~ ~ ^78459.09573 ^ ^-996917.33373 0.00003 0 +particle scrape ~ ~ ~ ^156434.46504 ^ ^-987688.3406 0.00003 0 +particle scrape ~ ~ ~ ^233445.36386 ^ ^-972369.9204 0.00003 0 +particle scrape ~ ~ ~ ^309016.99437 ^ ^-951056.5163 0.00003 0 +particle scrape ~ ~ ~ ^382683.43237 ^ ^-923879.53251 0.00003 0 +particle scrape ~ ~ ~ ^453990.49974 ^ ^-891006.52419 0.00003 0 +particle scrape ~ ~ ~ ^522498.56472 ^ ^-852640.16435 0.00003 0 +particle scrape ~ ~ ~ ^587785.25229 ^ ^-809016.99437 0.00003 0 +particle scrape ~ ~ ~ ^649448.04833 ^ ^-760405.9656 0.00003 0 +particle scrape ~ ~ ~ ^707106.78119 ^ ^-707106.78119 0.00003 0 +particle scrape ~ ~ ~ ^760405.9656 ^ ^-649448.04833 0.00003 0 +particle scrape ~ ~ ~ ^809016.99437 ^ ^-587785.25229 0.00003 0 +particle scrape ~ ~ ~ ^852640.16435 ^ ^-522498.56472 0.00003 0 +particle scrape ~ ~ ~ ^891006.52419 ^ ^-453990.49974 0.00003 0 +particle scrape ~ ~ ~ ^923879.53251 ^ ^-382683.43237 0.00003 0 +particle scrape ~ ~ ~ ^951056.5163 ^ ^-309016.99437 0.00003 0 +particle scrape ~ ~ ~ ^972369.9204 ^ ^-233445.36386 0.00003 0 +particle scrape ~ ~ ~ ^987688.3406 ^ ^-156434.46504 0.00003 0 +particle scrape ~ ~ ~ ^996917.33373 ^ ^-78459.09573 0.00003 0 +particle scrape ~ ~ ~ ^1000000 ^ ^0 0.00003 0 +particle scrape ~ ~ ~ ^996917.33373 ^ ^78459.09573 0.00003 0 +particle scrape ~ ~ ~ ^987688.3406 ^ ^156434.46504 0.00003 0 +particle scrape ~ ~ ~ ^972369.9204 ^ ^233445.36386 0.00003 0 +particle scrape ~ ~ ~ ^951056.5163 ^ ^309016.99437 0.00003 0 +particle scrape ~ ~ ~ ^923879.53251 ^ ^382683.43237 0.00003 0 +particle scrape ~ ~ ~ ^891006.52419 ^ ^453990.49974 0.00003 0 +particle scrape ~ ~ ~ ^852640.16435 ^ ^522498.56472 0.00003 0 +particle scrape ~ ~ ~ ^809016.99437 ^ ^587785.25229 0.00003 0 +particle scrape ~ ~ ~ ^760405.9656 ^ ^649448.04833 0.00003 0 +particle scrape ~ ~ ~ ^707106.78119 ^ ^707106.78119 0.00003 0 +particle scrape ~ ~ ~ ^649448.04833 ^ ^760405.9656 0.00003 0 +particle scrape ~ ~ ~ ^587785.25229 ^ ^809016.99437 0.00003 0 +particle scrape ~ ~ ~ ^522498.56472 ^ ^852640.16435 0.00003 0 +particle scrape ~ ~ ~ ^453990.49974 ^ ^891006.52419 0.00003 0 +particle scrape ~ ~ ~ ^382683.43237 ^ ^923879.53251 0.00003 0 +particle scrape ~ ~ ~ ^309016.99437 ^ ^951056.5163 0.00003 0 +particle scrape ~ ~ ~ ^233445.36386 ^ ^972369.9204 0.00003 0 +particle scrape ~ ~ ~ ^156434.46504 ^ ^987688.3406 0.00003 0 +particle scrape ~ ~ ~ ^78459.09573 ^ ^996917.33373 0.00003 0 +particle scrape ~ ~ ~ ^0 ^ ^1000000 0.00003 0 +particle scrape ~ ~ ~ ^-78459.09573 ^ ^996917.33373 0.00003 0 +particle scrape ~ ~ ~ ^-156434.46504 ^ ^987688.3406 0.00003 0 +particle scrape ~ ~ ~ ^-233445.36386 ^ ^972369.9204 0.00003 0 +particle scrape ~ ~ ~ ^-309016.99437 ^ ^951056.5163 0.00003 0 +particle scrape ~ ~ ~ ^-382683.43237 ^ ^923879.53251 0.00003 0 +particle scrape ~ ~ ~ ^-453990.49974 ^ ^891006.52419 0.00003 0 +particle scrape ~ ~ ~ ^-522498.56472 ^ ^852640.16435 0.00003 0 +particle scrape ~ ~ ~ ^-587785.25229 ^ ^809016.99437 0.00003 0 +particle scrape ~ ~ ~ ^-649448.04833 ^ ^760405.9656 0.00003 0 +particle scrape ~ ~ ~ ^-707106.78119 ^ ^707106.78119 0.00003 0 +particle scrape ~ ~ ~ ^-760405.9656 ^ ^649448.04833 0.00003 0 +particle scrape ~ ~ ~ ^-809016.99437 ^ ^587785.25229 0.00003 0 +particle scrape ~ ~ ~ ^-852640.16435 ^ ^522498.56472 0.00003 0 +particle scrape ~ ~ ~ ^-891006.52419 ^ ^453990.49974 0.00003 0 +particle scrape ~ ~ ~ ^-923879.53251 ^ ^382683.43237 0.00003 0 +particle scrape ~ ~ ~ ^-951056.5163 ^ ^309016.99437 0.00003 0 +particle scrape ~ ~ ~ ^-972369.9204 ^ ^233445.36386 0.00003 0 +particle scrape ~ ~ ~ ^-987688.3406 ^ ^156434.46504 0.00003 0 +particle scrape ~ ~ ~ ^-996917.33373 ^ ^78459.09573 0.00003 0 +particle scrape ~ ~ ~ ^-1000000 ^ ^0 0.00003 0 +particle scrape ~ ~ ~ ^-996917.33373 ^ ^-78459.09573 0.00003 0 +particle scrape ~ ~ ~ ^-987688.3406 ^ ^-156434.46504 0.00003 0 +particle scrape ~ ~ ~ ^-972369.9204 ^ ^-233445.36386 0.00003 0 +particle scrape ~ ~ ~ ^-951056.5163 ^ ^-309016.99437 0.00003 0 +particle scrape ~ ~ ~ ^-923879.53251 ^ ^-382683.43237 0.00003 0 +particle scrape ~ ~ ~ ^-891006.52419 ^ ^-453990.49974 0.00003 0 +particle scrape ~ ~ ~ ^-852640.16435 ^ ^-522498.56472 0.00003 0 +particle scrape ~ ~ ~ ^-809016.99437 ^ ^-587785.25229 0.00003 0 +particle scrape ~ ~ ~ ^-760405.9656 ^ ^-649448.04833 0.00003 0 +particle scrape ~ ~ ~ ^-707106.78119 ^ ^-707106.78119 0.00003 0 +particle scrape ~ ~ ~ ^-649448.04833 ^ ^-760405.9656 0.00003 0 +particle scrape ~ ~ ~ ^-587785.25229 ^ ^-809016.99437 0.00003 0 +particle scrape ~ ~ ~ ^-522498.56472 ^ ^-852640.16435 0.00003 0 +particle scrape ~ ~ ~ ^-453990.49974 ^ ^-891006.52419 0.00003 0 +particle scrape ~ ~ ~ ^-382683.43237 ^ ^-923879.53251 0.00003 0 +particle scrape ~ ~ ~ ^-309016.99437 ^ ^-951056.5163 0.00003 0 +particle scrape ~ ~ ~ ^-233445.36386 ^ ^-972369.9204 0.00003 0 +particle scrape ~ ~ ~ ^-156434.46504 ^ ^-987688.3406 0.00003 0 +particle scrape ~ ~ ~ ^-78459.09573 ^ ^-996917.33373 0.00003 0 diff --git a/Asset/data/asset/functions/object/1061.azure_jelly/tick/vfx/circle2.mcfunction b/Asset/data/asset/functions/object/1061.azure_jelly/tick/vfx/circle2.mcfunction new file mode 100644 index 00000000000..4e069b6417a --- /dev/null +++ b/Asset/data/asset/functions/object/1061.azure_jelly/tick/vfx/circle2.mcfunction @@ -0,0 +1,86 @@ +#> asset:object/1061.azure_jelly/tick/vfx/circle2 +# +# +# +# @within function asset:object/1061.azure_jelly/tick/*/** + +particle scrape ~ ~ ~ ^0 ^ ^-1000000 0.00002 0 +particle scrape ~ ~ ~ ^78459.09573 ^ ^-996917.33373 0.00002 0 +particle scrape ~ ~ ~ ^156434.46504 ^ ^-987688.3406 0.00002 0 +particle scrape ~ ~ ~ ^233445.36386 ^ ^-972369.9204 0.00002 0 +particle scrape ~ ~ ~ ^309016.99437 ^ ^-951056.5163 0.00002 0 +particle scrape ~ ~ ~ ^382683.43237 ^ ^-923879.53251 0.00002 0 +particle scrape ~ ~ ~ ^453990.49974 ^ ^-891006.52419 0.00002 0 +particle scrape ~ ~ ~ ^522498.56472 ^ ^-852640.16435 0.00002 0 +particle scrape ~ ~ ~ ^587785.25229 ^ ^-809016.99437 0.00002 0 +particle scrape ~ ~ ~ ^649448.04833 ^ ^-760405.9656 0.00002 0 +particle scrape ~ ~ ~ ^707106.78119 ^ ^-707106.78119 0.00002 0 +particle scrape ~ ~ ~ ^760405.9656 ^ ^-649448.04833 0.00002 0 +particle scrape ~ ~ ~ ^809016.99437 ^ ^-587785.25229 0.00002 0 +particle scrape ~ ~ ~ ^852640.16435 ^ ^-522498.56472 0.00002 0 +particle scrape ~ ~ ~ ^891006.52419 ^ ^-453990.49974 0.00002 0 +particle scrape ~ ~ ~ ^923879.53251 ^ ^-382683.43237 0.00002 0 +particle scrape ~ ~ ~ ^951056.5163 ^ ^-309016.99437 0.00002 0 +particle scrape ~ ~ ~ ^972369.9204 ^ ^-233445.36386 0.00002 0 +particle scrape ~ ~ ~ ^987688.3406 ^ ^-156434.46504 0.00002 0 +particle scrape ~ ~ ~ ^996917.33373 ^ ^-78459.09573 0.00002 0 +particle scrape ~ ~ ~ ^1000000 ^ ^0 0.00002 0 +particle scrape ~ ~ ~ ^996917.33373 ^ ^78459.09573 0.00002 0 +particle scrape ~ ~ ~ ^987688.3406 ^ ^156434.46504 0.00002 0 +particle scrape ~ ~ ~ ^972369.9204 ^ ^233445.36386 0.00002 0 +particle scrape ~ ~ ~ ^951056.5163 ^ ^309016.99437 0.00002 0 +particle scrape ~ ~ ~ ^923879.53251 ^ ^382683.43237 0.00002 0 +particle scrape ~ ~ ~ ^891006.52419 ^ ^453990.49974 0.00002 0 +particle scrape ~ ~ ~ ^852640.16435 ^ ^522498.56472 0.00002 0 +particle scrape ~ ~ ~ ^809016.99437 ^ ^587785.25229 0.00002 0 +particle scrape ~ ~ ~ ^760405.9656 ^ ^649448.04833 0.00002 0 +particle scrape ~ ~ ~ ^707106.78119 ^ ^707106.78119 0.00002 0 +particle scrape ~ ~ ~ ^649448.04833 ^ ^760405.9656 0.00002 0 +particle scrape ~ ~ ~ ^587785.25229 ^ ^809016.99437 0.00002 0 +particle scrape ~ ~ ~ ^522498.56472 ^ ^852640.16435 0.00002 0 +particle scrape ~ ~ ~ ^453990.49974 ^ ^891006.52419 0.00002 0 +particle scrape ~ ~ ~ ^382683.43237 ^ ^923879.53251 0.00002 0 +particle scrape ~ ~ ~ ^309016.99437 ^ ^951056.5163 0.00002 0 +particle scrape ~ ~ ~ ^233445.36386 ^ ^972369.9204 0.00002 0 +particle scrape ~ ~ ~ ^156434.46504 ^ ^987688.3406 0.00002 0 +particle scrape ~ ~ ~ ^78459.09573 ^ ^996917.33373 0.00002 0 +particle scrape ~ ~ ~ ^0 ^ ^1000000 0.00002 0 +particle scrape ~ ~ ~ ^-78459.09573 ^ ^996917.33373 0.00002 0 +particle scrape ~ ~ ~ ^-156434.46504 ^ ^987688.3406 0.00002 0 +particle scrape ~ ~ ~ ^-233445.36386 ^ ^972369.9204 0.00002 0 +particle scrape ~ ~ ~ ^-309016.99437 ^ ^951056.5163 0.00002 0 +particle scrape ~ ~ ~ ^-382683.43237 ^ ^923879.53251 0.00002 0 +particle scrape ~ ~ ~ ^-453990.49974 ^ ^891006.52419 0.00002 0 +particle scrape ~ ~ ~ ^-522498.56472 ^ ^852640.16435 0.00002 0 +particle scrape ~ ~ ~ ^-587785.25229 ^ ^809016.99437 0.00002 0 +particle scrape ~ ~ ~ ^-649448.04833 ^ ^760405.9656 0.00002 0 +particle scrape ~ ~ ~ ^-707106.78119 ^ ^707106.78119 0.00002 0 +particle scrape ~ ~ ~ ^-760405.9656 ^ ^649448.04833 0.00002 0 +particle scrape ~ ~ ~ ^-809016.99437 ^ ^587785.25229 0.00002 0 +particle scrape ~ ~ ~ ^-852640.16435 ^ ^522498.56472 0.00002 0 +particle scrape ~ ~ ~ ^-891006.52419 ^ ^453990.49974 0.00002 0 +particle scrape ~ ~ ~ ^-923879.53251 ^ ^382683.43237 0.00002 0 +particle scrape ~ ~ ~ ^-951056.5163 ^ ^309016.99437 0.00002 0 +particle scrape ~ ~ ~ ^-972369.9204 ^ ^233445.36386 0.00002 0 +particle scrape ~ ~ ~ ^-987688.3406 ^ ^156434.46504 0.00002 0 +particle scrape ~ ~ ~ ^-996917.33373 ^ ^78459.09573 0.00002 0 +particle scrape ~ ~ ~ ^-1000000 ^ ^0 0.00002 0 +particle scrape ~ ~ ~ ^-996917.33373 ^ ^-78459.09573 0.00002 0 +particle scrape ~ ~ ~ ^-987688.3406 ^ ^-156434.46504 0.00002 0 +particle scrape ~ ~ ~ ^-972369.9204 ^ ^-233445.36386 0.00002 0 +particle scrape ~ ~ ~ ^-951056.5163 ^ ^-309016.99437 0.00002 0 +particle scrape ~ ~ ~ ^-923879.53251 ^ ^-382683.43237 0.00002 0 +particle scrape ~ ~ ~ ^-891006.52419 ^ ^-453990.49974 0.00002 0 +particle scrape ~ ~ ~ ^-852640.16435 ^ ^-522498.56472 0.00002 0 +particle scrape ~ ~ ~ ^-809016.99437 ^ ^-587785.25229 0.00002 0 +particle scrape ~ ~ ~ ^-760405.9656 ^ ^-649448.04833 0.00002 0 +particle scrape ~ ~ ~ ^-707106.78119 ^ ^-707106.78119 0.00002 0 +particle scrape ~ ~ ~ ^-649448.04833 ^ ^-760405.9656 0.00002 0 +particle scrape ~ ~ ~ ^-587785.25229 ^ ^-809016.99437 0.00002 0 +particle scrape ~ ~ ~ ^-522498.56472 ^ ^-852640.16435 0.00002 0 +particle scrape ~ ~ ~ ^-453990.49974 ^ ^-891006.52419 0.00002 0 +particle scrape ~ ~ ~ ^-382683.43237 ^ ^-923879.53251 0.00002 0 +particle scrape ~ ~ ~ ^-309016.99437 ^ ^-951056.5163 0.00002 0 +particle scrape ~ ~ ~ ^-233445.36386 ^ ^-972369.9204 0.00002 0 +particle scrape ~ ~ ~ ^-156434.46504 ^ ^-987688.3406 0.00002 0 +particle scrape ~ ~ ~ ^-78459.09573 ^ ^-996917.33373 0.00002 0 diff --git a/Asset/data/asset/functions/object/1062.azure_wave/register.mcfunction b/Asset/data/asset/functions/object/1062.azure_wave/register.mcfunction new file mode 100644 index 00000000000..087091d6d5b --- /dev/null +++ b/Asset/data/asset/functions/object/1062.azure_wave/register.mcfunction @@ -0,0 +1,20 @@ +#> asset:object/1062.azure_wave/register +# +# Objectのデータを指定 +# +# @within function asset:object/alias/1062/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 1062 +# フィールド(オプション) + data modify storage asset:object Field.LeftRotate set value false diff --git a/Asset/data/asset/functions/object/1062.azure_wave/summon/.mcfunction b/Asset/data/asset/functions/object/1062.azure_wave/summon/.mcfunction new file mode 100644 index 00000000000..642c4189ce8 --- /dev/null +++ b/Asset/data/asset/functions/object/1062.azure_wave/summon/.mcfunction @@ -0,0 +1,7 @@ +#> asset:object/1062.azure_wave/summon/ +# +# Object召喚処理の呼び出し時に実行されるfunction +# +# @within asset:object/alias/1062/summon + + summon item_display ~ ~ ~ {Tags:["ObjectInit"],Rotation:[90f,0f],teleport_duration:1,interpolation_duration:30,brightness:{sky:10,block:10},item:{id:"minecraft:stick",Count:1b,tag:{CustomModelData:20579}},transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],scale:[0f,5f,0f],translation:[0f,2.5f,0f]}} diff --git a/Asset/data/asset/functions/object/1062.azure_wave/tick/.mcfunction b/Asset/data/asset/functions/object/1062.azure_wave/tick/.mcfunction new file mode 100644 index 00000000000..524a4682e9a --- /dev/null +++ b/Asset/data/asset/functions/object/1062.azure_wave/tick/.mcfunction @@ -0,0 +1,20 @@ +#> asset:object/1062.azure_wave/tick/ +# +# Objectのtick時の処理 +# +# @within asset:object/alias/1062/tick + +# Tick加算 + scoreboard players add @s General.Object.Tick 1 + +# 音 + function asset:object/1062.azure_wave/tick/sound + +# 拡大 + execute if score @s General.Object.Tick matches 3 run function asset:object/1062.azure_wave/tick/expand + +# 見えなくなる + execute if score @s General.Object.Tick matches 29 run function asset:object/1062.azure_wave/tick/disappear + +# 消滅処理 + kill @s[scores={General.Object.Tick=38..}] diff --git a/Asset/data/asset/functions/object/1062.azure_wave/tick/disappear.mcfunction b/Asset/data/asset/functions/object/1062.azure_wave/tick/disappear.mcfunction new file mode 100644 index 00000000000..bb8ced096a5 --- /dev/null +++ b/Asset/data/asset/functions/object/1062.azure_wave/tick/disappear.mcfunction @@ -0,0 +1,15 @@ +#> asset:object/1062.azure_wave/tick/disappear +# +# +# +# @within function asset:object/1062.azure_wave/tick/ + +# start_interpolation + data modify entity @s start_interpolation set value 0 + +# interpolation_duration + data modify entity @s interpolation_duration set value 8 + +# デカくなる + data modify entity @s transformation.scale set value [12f,0.1f,12f] + data modify entity @s transformation.translation set value [0f,-0.5f,0f] diff --git a/Asset/data/asset/functions/object/1062.azure_wave/tick/expand.mcfunction b/Asset/data/asset/functions/object/1062.azure_wave/tick/expand.mcfunction new file mode 100644 index 00000000000..287e6cd5aa6 --- /dev/null +++ b/Asset/data/asset/functions/object/1062.azure_wave/tick/expand.mcfunction @@ -0,0 +1,14 @@ +#> asset:object/1062.azure_wave/tick/expand +# +# +# +# @within function asset:object/1062.azure_wave/tick/ + +# start_interpolation + data modify entity @s start_interpolation set value 0 + +# 拡大しながら回転 + execute if data storage asset:context this{LeftRotate:true} run data modify entity @s transformation.left_rotation set value [0f,0.7071f,0f,0.7071f] + execute unless data storage asset:context this{LeftRotate:true} run data modify entity @s transformation.left_rotation set value [0f,-0.7071f,0f,0.7071f] + data modify entity @s transformation.scale set value [9f,6f,9f] + #data modify entity @s transformation.translation set value [0f,3f,0f] diff --git a/Asset/data/asset/functions/object/1062.azure_wave/tick/sound.mcfunction b/Asset/data/asset/functions/object/1062.azure_wave/tick/sound.mcfunction new file mode 100644 index 00000000000..f6a2e90ec2a --- /dev/null +++ b/Asset/data/asset/functions/object/1062.azure_wave/tick/sound.mcfunction @@ -0,0 +1,14 @@ +#> asset:object/1062.azure_wave/tick/sound +# +# +# +# @within function asset:object/1062.azure_wave/tick/ + + execute if score @s General.Object.Tick matches 3 run playsound ogg:ambient.nether.crimson_forest.shine1 neutral @a[distance=..12] ~ ~ ~ 0.05 1.3 + execute if score @s General.Object.Tick matches 3 run playsound entity.dolphin.jump neutral @a ~ ~ ~ 0.20 0.8 + execute if score @s General.Object.Tick matches 4 run playsound entity.dolphin.jump neutral @a ~ ~ ~ 0.25 0.85 + execute if score @s General.Object.Tick matches 5 run playsound entity.dolphin.jump neutral @a ~ ~ ~ 0.30 0.9 + + execute if score @s General.Object.Tick matches 3 run playsound ogg:block.amethyst.shimmer neutral @a ~ ~ ~ 0.5 2 + execute if score @s General.Object.Tick matches 3 run playsound ogg:block.amethyst.shimmer neutral @a ~ ~ ~ 0.5 1.2 + execute if score @s General.Object.Tick matches 3 run playsound ogg:block.amethyst.shimmer neutral @a ~ ~ ~ 0.5 0.6 diff --git a/Asset/data/asset/functions/object/alias/1061/init.mcfunction b/Asset/data/asset/functions/object/alias/1061/init.mcfunction new file mode 100644 index 00000000000..ccea1651c17 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1061/init.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1061/init +# +# Init処理のエイリアス +# +# @within asset_manager:object/init/init.m + +# 元のInit処理を呼び出す + function asset:object/1061.azure_jelly/init/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/1061/register.mcfunction b/Asset/data/asset/functions/object/alias/1061/register.mcfunction new file mode 100644 index 00000000000..2e0eb2f934d --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1061/register.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1061/register +# +# Objectのデータ指定処理のエイリアス +# +# @within asset_manager:object/summon/register.m + +# 元の登録処理を呼び出す + function asset:object/1061.azure_jelly/register \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/1061/summon.mcfunction b/Asset/data/asset/functions/object/alias/1061/summon.mcfunction new file mode 100644 index 00000000000..2e34a9ec92b --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1061/summon.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1061/summon +# +# Object召喚処理のエイリアス +# +# @within asset_manager:object/summon/summon.m + +# 元の召喚処理を呼び出す + function asset:object/1061.azure_jelly/summon/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/1061/tick.mcfunction b/Asset/data/asset/functions/object/alias/1061/tick.mcfunction new file mode 100644 index 00000000000..55098310478 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1061/tick.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1061/tick +# +# Tick時処理のエイリアス +# +# @within asset_manager:object/tick/tick.m + +# 元のTick処理を呼び出す + function asset:object/1061.azure_jelly/tick/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/1062/register.mcfunction b/Asset/data/asset/functions/object/alias/1062/register.mcfunction new file mode 100644 index 00000000000..0d437cc48a2 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1062/register.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1062/register +# +# Objectのデータ指定処理のエイリアス +# +# @within asset_manager:object/summon/register.m + +# 元の登録処理を呼び出す + function asset:object/1062.azure_wave/register \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/1062/summon.mcfunction b/Asset/data/asset/functions/object/alias/1062/summon.mcfunction new file mode 100644 index 00000000000..1c6610fa6ff --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1062/summon.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1062/summon +# +# Object召喚処理のエイリアス +# +# @within asset_manager:object/summon/summon.m + +# 元の召喚処理を呼び出す + function asset:object/1062.azure_wave/summon/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/1062/tick.mcfunction b/Asset/data/asset/functions/object/alias/1062/tick.mcfunction new file mode 100644 index 00000000000..efc5a4a1c14 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1062/tick.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1062/tick +# +# Tick時処理のエイリアス +# +# @within asset_manager:object/tick/tick.m + +# 元のTick処理を呼び出す + function asset:object/1062.azure_wave/tick/ \ No newline at end of file diff --git a/Asset/data/asset/tags/functions/artifact/click.carrot_on_a_stick.json b/Asset/data/asset/tags/functions/artifact/click.carrot_on_a_stick.json index 5864dbd3668..f2ea17bddf0 100644 --- a/Asset/data/asset/tags/functions/artifact/click.carrot_on_a_stick.json +++ b/Asset/data/asset/tags/functions/artifact/click.carrot_on_a_stick.json @@ -1,5 +1,6 @@ { "values": [ + "asset:artifact/1144.cradle_of_azure_moon/trigger/1.trigger", "asset:artifact/0005.musket_matchlock/trigger/1.trigger", "asset:artifact/0017.harmful_books/trigger/1.trigger", "asset:artifact/0075.whirlpool_wand/trigger/1.trigger", @@ -90,7 +91,6 @@ "asset:artifact/1265.thunder_ray/trigger/1.trigger", "asset:artifact/1270.raging_passion_pickaxe/trigger/1.trigger", "asset:artifact/1272.big_water_launcher/trigger/1.trigger", - "asset:artifact/0001.book_of_all-seeing/trigger/1.trigger", "asset:artifact/0002.blessing/trigger/1.trigger", "asset:artifact/0007.nitrogen_fixater/trigger/1.trigger", @@ -175,8 +175,6 @@ "asset:artifact/1284.quiver/trigger/1.trigger", "asset:artifact/1285.torch_bag/trigger/1.trigger", "asset:artifact/2001.staff_of_the_willless/trigger/1.trigger", - "asset:artifact/0019.scripture/trigger/1.trigger" - ] -} +} \ No newline at end of file diff --git a/Asset/data/asset/tags/functions/artifact/give.json b/Asset/data/asset/tags/functions/artifact/give.json index 674563b4ade..6d62d7b3800 100644 --- a/Asset/data/asset/tags/functions/artifact/give.json +++ b/Asset/data/asset/tags/functions/artifact/give.json @@ -1,5 +1,6 @@ { "values": [ + "asset:artifact/1144.cradle_of_azure_moon/give/1.trigger", "asset:artifact/1317.oblivious_feather/give/1.trigger", "asset:artifact/1324.balance_star/give/1.trigger", "asset:artifact/1140.over_pulse_booster/give/1.trigger", diff --git a/Asset/data/asset/tags/functions/artifact/register.json b/Asset/data/asset/tags/functions/artifact/register.json index a1bc5c70b51..cbb226dca86 100644 --- a/Asset/data/asset/tags/functions/artifact/register.json +++ b/Asset/data/asset/tags/functions/artifact/register.json @@ -1,5 +1,6 @@ { "values": [ + "asset:artifact/1144.cradle_of_azure_moon/register", "asset:artifact/1317.oblivious_feather/register", "asset:artifact/1324.balance_star/register", "asset:artifact/1137.over_pulse_headgear/register", diff --git a/Asset/data/asset/tags/functions/object/load.json b/Asset/data/asset/tags/functions/object/load.json index 7046352e616..e2c220e15ff 100644 --- a/Asset/data/asset/tags/functions/object/load.json +++ b/Asset/data/asset/tags/functions/object/load.json @@ -1,5 +1,6 @@ { "values": [ + "asset:object/1061.azure_jelly/load", "asset:object/2251.wall_laser_clock/load", "asset:object/2212.eclael_upper_shot/load", "asset:object/2187.heiloang_ff_main/load",