diff --git a/Asset/data/asset/functions/artifact/1307.yumeori/give/1.trigger.mcfunction b/Asset/data/asset/functions/artifact/1307.yumeori/give/1.trigger.mcfunction new file mode 100644 index 0000000000..c77897caec --- /dev/null +++ b/Asset/data/asset/functions/artifact/1307.yumeori/give/1.trigger.mcfunction @@ -0,0 +1,7 @@ +#> asset:artifact/1307.yumeori/give/1.trigger +# +# 神器の取得処理の呼び出し時に実行されるfunction +# +# @within tag/function asset:artifact/give + +execute if data storage asset:context {id:1307} run function asset:artifact/1307.yumeori/give/2.give \ No newline at end of file diff --git a/Asset/data/asset/functions/artifact/1307.yumeori/give/2.give.mcfunction b/Asset/data/asset/functions/artifact/1307.yumeori/give/2.give.mcfunction new file mode 100644 index 0000000000..df27805c85 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1307.yumeori/give/2.give.mcfunction @@ -0,0 +1,68 @@ +#> asset:artifact/1307.yumeori/give/2.give +# +# 神器の作成部 ここでID等を定義する +# +# @user +# @within function asset:artifact/1307.yumeori/give/1.trigger + +# 神器の説明や消費MPなどをここで設定する。 +# 最後にasset:artifact/common/giveを実行することで入手可能。 + +# 神器のID (int) スプレッドシートの値を入れる + data modify storage asset:artifact ID set value 1307 +# 神器のベースアイテム + data modify storage asset:artifact Item set value "minecraft:bow" +# 神器の名前 (TextComponentString) + data modify storage asset:artifact Name set value '{"text":"極光弓 夢織","color":"#91f9ab"}' +# 神器の説明文 (TextComponentString[]) + data modify storage asset:artifact Lore set value ['{"text":"矢を3発命中させると曲射が可能になり"}','{"text":"その状態で上を向いて発射すると敵に矢の雨を降り注がせる"}','{"text":"オーロラの天使の持っていた弓","color":"gray"}','{"text":"その天衣の弦から放たれた矢は寒空を貫き降り注ぐ","color":"gray"}'] +# 消費アイテム ({Item: TextComponent, Count: int, Extra?: TextComponent}) (オプション) + data modify storage asset:artifact ConsumeItem.Item set value '{"translate":"item.minecraft.arrow"}' + 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 "mainhand" +# 神器のトリガー (string) Wikiを参照 + data modify storage asset:artifact Trigger set value "shot" +# 神器の発動条件 (TextComponentString) (オプション) + data modify storage asset:artifact Condition set value '{"text":"最大まで引き絞る"}' +# 攻撃に関する情報 -Damage量 (literal[]/literal) Wikiを参照 (オプション) + data modify storage asset:artifact AttackInfo.Damage set value "200 / 100x6" +# 攻撃に関する情報 -攻撃タイプ (string[]) Wikiを参照 (オプション) + data modify storage asset:artifact AttackInfo.AttackType set value [Magic] +# 攻撃に関する情報 -攻撃属性 (string[]) Wikiを参照 (オプション) + data modify storage asset:artifact AttackInfo.ElementType set value [Thunder] +# 攻撃に関する情報 -防御無視 (boolean) Wikiを参照 (オプション) + # data modify storage asset:artifact AttackInfo.BypassResist set value +# 攻撃に関する情報 -範囲攻撃 (string) Wikiを参照 (オプション) + data modify storage asset:artifact AttackInfo.IsRangeAttack set value "never" +# 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション) + data modify storage asset:artifact AttackInfo.AttackRange set value 25 +# MP消費量 (int) + # data modify storage asset:artifact MPCost set value +# MP必要量 (int) (オプション) + # data modify storage asset:artifact MPRequire set value +# MP回復量 (int) + data modify storage asset:artifact MPHealWhenHit set value 20 +# 神器のクールダウン (int) (オプション) + # data modify storage asset:artifact LocalCooldown set value +# 種別クールダウン ({Type: string, Duration: int}) (オプション) + data modify storage asset:artifact TypeCooldown.Type set value "longRange" + data modify storage asset:artifact TypeCooldown.Duration set value 20 +# グローバルクールダウン (int) (オプション) + # data modify storage asset:artifact SpecialCooldown set value +# クールダウンによる使用不可のメッセージを非表示にするか否か (boolean) (オプション) + # data modify storage asset:artifact DisableCooldownMessage set value +# MP不足による使用不可のメッセージを非表示にするか否か (boolean) (オプション) + # data modify storage asset:artifact DisableMPMessage set value +# 破壊時の音を鳴らさないかどうか (boolean) (オプション) + # data modify storage asset:artifact DisableBreakSound set value +# 扱える神 (string[]) Wikiを参照 + data modify storage asset:artifact CanUsedGod set value "ALL" +# カスタムNBT (NBTCompound) 追加で指定したいNBT (オプション) + # data modify storage asset:artifact CustomNBT set value {} + +# 神器の入手用function + function asset:artifact/common/give diff --git a/Asset/data/asset/functions/artifact/1307.yumeori/trigger/1.trigger.mcfunction b/Asset/data/asset/functions/artifact/1307.yumeori/trigger/1.trigger.mcfunction new file mode 100644 index 0000000000..60380a85ad --- /dev/null +++ b/Asset/data/asset/functions/artifact/1307.yumeori/trigger/1.trigger.mcfunction @@ -0,0 +1,8 @@ +#> asset:artifact/1307.yumeori/trigger/1.trigger +# +# 指定したイベントタイミングで実行されるfunction +# +# @within tag/function asset:artifact/** + +# storage asset:idのmainhandに装備している神器のIDが入っているので比較し、~/2.check_condition.mcfunctionを実行する + execute if data storage asset:context id{mainhand:1307} run function asset:artifact/1307.yumeori/trigger/2.check_condition \ No newline at end of file diff --git a/Asset/data/asset/functions/artifact/1307.yumeori/trigger/2.check_condition.mcfunction b/Asset/data/asset/functions/artifact/1307.yumeori/trigger/2.check_condition.mcfunction new file mode 100644 index 0000000000..683246e749 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1307.yumeori/trigger/2.check_condition.mcfunction @@ -0,0 +1,20 @@ +#> asset:artifact/1307.yumeori/trigger/2.check_condition +# +# 神器の発動条件をチェックします +# +# @within function asset:artifact/1307.yumeori/trigger/1.trigger + +# 神器の基本的な条件の確認を行うfunction、成功している場合CanUsedタグが付く + function asset:artifact/common/check_condition/mainhand +# 他にアイテム等確認する場合はここに書く + +# 矢がクリティカルでないならCanUsedを削除 + execute unless entity @e[type=#arrows,tag=ShotArrow,nbt={crit:1b},distance=..5,sort=nearest,limit=1] run tag @s remove CanUsed + kill @e[type=#arrows,tag=ShotArrow,distance=..5] + +# 発動しなかったら矢を返してreturn + execute if entity @s[tag=!CanUsed] run summon item ~ ~ ~ {PickupDelay:0s,Item:{id:"minecraft:arrow",Count:1b}} + execute if entity @s[tag=!CanUsed] run return fail + +# 3.main.mcfunctionを実行する + function asset:artifact/1307.yumeori/trigger/3.main diff --git a/Asset/data/asset/functions/artifact/1307.yumeori/trigger/3.main.mcfunction b/Asset/data/asset/functions/artifact/1307.yumeori/trigger/3.main.mcfunction new file mode 100644 index 0000000000..6d7c619fa7 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1307.yumeori/trigger/3.main.mcfunction @@ -0,0 +1,23 @@ +#> asset:artifact/1307.yumeori/trigger/3.main +# +# 神器のメイン処理部 +# +# @within function asset:artifact/1307.yumeori/trigger/2.check_condition + +# 基本的な使用時の処理(MP消費や使用回数の処理など)を行う + function asset:artifact/common/use/mainhand + +# ここから先は神器側の効果の処理を書く + +# 演出 + playsound entity.wither.shoot player @a ~ ~ ~ 1 1.8 + playsound item.trident.riptide_1 player @a ~ ~ ~ 1 1.8 + # particle flash ~ ~ ~ 0 0 0 0 1 + +# 曲射用バフがあるかつ、上を向いているなら曲射 + data modify storage api: Argument.ID set value 380 + function api:entity/mob/effect/get/from_id + execute if data storage api: Return.Effect if entity @s[x_rotation=-90..-35] run return run function asset:artifact/1307.yumeori/trigger/curved_shot + +# 何もなければ普通の矢を発射 + function asset:artifact/1307.yumeori/trigger/neutral_arrow diff --git a/Asset/data/asset/functions/artifact/1307.yumeori/trigger/curved_shot.mcfunction b/Asset/data/asset/functions/artifact/1307.yumeori/trigger/curved_shot.mcfunction new file mode 100644 index 0000000000..900a087c9e --- /dev/null +++ b/Asset/data/asset/functions/artifact/1307.yumeori/trigger/curved_shot.mcfunction @@ -0,0 +1,50 @@ +#> asset:artifact/1307.yumeori/trigger/curved_shot +# +# +# +# @within function asset:artifact/1307.yumeori/trigger/3.main + +# バフを消費 + data modify storage api: Argument.ID set value 380 + function api:entity/mob/effect/remove/from_id + function api:entity/mob/effect/reset + +# 調整班への曲射の仕様メモ +# 上向きに発射された矢が射程限界で消えると、曲射が発動し、周囲の敵に矢を降らす +# つまり、途中でブロックに当たると不発する +# ただし、上向きの矢はentityに対してはヒット判定がない +# 1発目は前方の敵を優先して狙うが、2発目以降は周囲のランダムな敵を狙う。要するに広域乱射 +# 使用位置の前方に巨大な箱型の判定があり、その中の敵1体に矢を落とす + +# 曲射のデータ設定 + # 1発辺りのダメージ + data modify storage api: Argument.FieldOverride.Damage set value 100 + # 本数 + data modify storage api: Argument.FieldOverride.Count set value 6 + # ディレイ + data modify storage api: Argument.FieldOverride.Delay set value 20 + + # 射程 + data modify storage api: Argument.FieldOverride.Range set value 50 + # 弾速 + data modify storage api: Argument.FieldOverride.Speed set value 8 + + # 攻撃範囲(各辺の長さ) + data modify storage api: Argument.FieldOverride.AttackRange.X set value 8 + data modify storage api: Argument.FieldOverride.AttackRange.Y set value 10 + data modify storage api: Argument.FieldOverride.AttackRange.Z set value 10 + + # 1発目のxはすぐ前方の敵を優先するのでXを狭めにする + data modify storage api: Argument.FieldOverride.AttackRange.FirstX set value 4 + + # 座標も入力しておく + function api:data_get/pos + data modify storage api: Argument.FieldOverride.Pos.X set from storage api: Pos[0] + data modify storage api: Argument.FieldOverride.Pos.Y set from storage api: Pos[1] + data modify storage api: Argument.FieldOverride.Pos.Z set from storage api: Pos[2] + +# 召喚 + data modify storage api: Argument.ID set value 1177 + execute store result storage api: Argument.FieldOverride.UserID int 1 run scoreboard players get @s UserID + data modify storage api: Argument.FieldOverride.AdditionalMPHeal set from storage api: PersistentArgument.AdditionalMPHeal + execute anchored eyes positioned ^ ^ ^ run function api:object/summon diff --git a/Asset/data/asset/functions/artifact/1307.yumeori/trigger/neutral_arrow.mcfunction b/Asset/data/asset/functions/artifact/1307.yumeori/trigger/neutral_arrow.mcfunction new file mode 100644 index 0000000000..ca4fc25717 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1307.yumeori/trigger/neutral_arrow.mcfunction @@ -0,0 +1,27 @@ +#> asset:artifact/1307.yumeori/trigger/neutral_arrow +# +# +# +# @within function asset:artifact/1307.yumeori/trigger/3.main + +# 矢を召喚する + # ダメージ + data modify storage api: Argument.FieldOverride.Damage set value 200 + # 射程 + data modify storage api: Argument.FieldOverride.Range set value 50 + # 弾速 + data modify storage api: Argument.FieldOverride.Speed set value 8 + + # 連続ヒットの猶予 + data modify storage api: Argument.FieldOverride.Effect.Count.Duration set value 80 + # 曲射するためには何連続のヒットが必要か? + data modify storage api: Argument.FieldOverride.Effect.Count.MaxStack set value 3 + + # 曲射バフの効果時間 + data modify storage api: Argument.FieldOverride.Effect.CurveShot.Duration set value 200 + + # 召喚 + data modify storage api: Argument.ID set value 1176 + execute store result storage api: Argument.FieldOverride.UserID int 1 run scoreboard players get @s UserID + data modify storage api: Argument.FieldOverride.AdditionalMPHeal set from storage api: PersistentArgument.AdditionalMPHeal + execute anchored eyes positioned ^ ^ ^ run function api:object/summon diff --git a/Asset/data/asset/functions/effect/0379.yumeori_count/_/register.mcfunction b/Asset/data/asset/functions/effect/0379.yumeori_count/_/register.mcfunction new file mode 100644 index 0000000000..b600eca597 --- /dev/null +++ b/Asset/data/asset/functions/effect/0379.yumeori_count/_/register.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0379.yumeori_count/_/register +# +# +# +# @within tag/function asset:effect/register + +execute if data storage asset:context {id:379} run function asset:effect/0379.yumeori_count/register \ No newline at end of file diff --git a/Asset/data/asset/functions/effect/0379.yumeori_count/register.mcfunction b/Asset/data/asset/functions/effect/0379.yumeori_count/register.mcfunction new file mode 100644 index 0000000000..d6c6d4aeed --- /dev/null +++ b/Asset/data/asset/functions/effect/0379.yumeori_count/register.mcfunction @@ -0,0 +1,39 @@ +#> asset:effect/0379.yumeori_count/register +# +# Effectのデータを指定 +# +# @within function asset:effect/0379.yumeori_count/_/register + +# ExtendsSafe (boolean) (default = false) + # data modify storage asset:effect ExtendsSafe set value true +# ID (int) + data modify storage asset:effect ID set value 379 +# 名前 (TextComponentString) + data modify storage asset:effect Name set value '{"text":"夢織・計測"}' +# 説明文 (TextComponentString[]) + data modify storage asset:effect Description set value [] +# 効果時間 (int) (default = API || error) + # data modify storage asset:effect Duration set value +# スタック (int) (default = API || 1) + # data modify storage asset:effect Stack set value +# 効果時間の操作方法 (default = API || "replace") + # data modify storage asset:effect DurationOperation set value +# スタックの操作方法 (default = API || "replace") + data modify storage asset:effect StackOperation set value "add" +# 最大効果時間 (int) (default = 2147483647) + # data modify storage asset:effect MaxDuration set value +# 最大スタック (int) (default = 2147483647) + # data modify storage asset:effect MaxStack set value +# 悪い効果か否か (boolean) + data modify storage asset:effect IsBadEffect set value false +# 死亡時のエフェクトの処理 (default = "remove") + # data modify storage asset:effect ProcessOnDied set value +# 消すのに必要なレベル (int) (default = 1) + data modify storage asset:effect RequireClearLv set value 3 +# エフェクトをUIに表示するか (boolean) (default = true) + data modify storage asset:effect Visible set value false +# エフェクトのスタックををUIに表示するか (boolean) (default = true) + # data modify storage asset:effect StackVisible set value + +# フィールド + # data modify storage asset:effect Field set value {} diff --git a/Asset/data/asset/functions/effect/0380.yumeori_falling/_/register.mcfunction b/Asset/data/asset/functions/effect/0380.yumeori_falling/_/register.mcfunction new file mode 100644 index 0000000000..b1e63d8026 --- /dev/null +++ b/Asset/data/asset/functions/effect/0380.yumeori_falling/_/register.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0380.yumeori_falling/_/register +# +# +# +# @within tag/function asset:effect/register + +execute if data storage asset:context {id:380} run function asset:effect/0380.yumeori_falling/register \ No newline at end of file diff --git a/Asset/data/asset/functions/effect/0380.yumeori_falling/register.mcfunction b/Asset/data/asset/functions/effect/0380.yumeori_falling/register.mcfunction new file mode 100644 index 0000000000..0e61bb6430 --- /dev/null +++ b/Asset/data/asset/functions/effect/0380.yumeori_falling/register.mcfunction @@ -0,0 +1,39 @@ +#> asset:effect/0380.yumeori_falling/register +# +# Effectのデータを指定 +# +# @within function asset:effect/0380.yumeori_falling/_/register + +# ExtendsSafe (boolean) (default = false) + # data modify storage asset:effect ExtendsSafe set value true +# ID (int) + data modify storage asset:effect ID set value 380 +# 名前 (TextComponentString) + data modify storage asset:effect Name set value '{"text":"降り注ぐ夢糸","color":"#91f9ab"}' +# 説明文 (TextComponentString[]) + data modify storage asset:effect Description set value ['{"text":"極光弓 夢織の曲射が使用可能になる","color":"white"}'] +# 効果時間 (int) (default = API || error) + # data modify storage asset:effect Duration set value +# スタック (int) (default = API || 1) + # data modify storage asset:effect Stack set value +# 効果時間の操作方法 (default = API || "replace") + # data modify storage asset:effect DurationOperation set value +# スタックの操作方法 (default = API || "replace") + # data modify storage asset:effect StackOperation set value +# 最大効果時間 (int) (default = 2147483647) + # data modify storage asset:effect MaxDuration set value +# 最大スタック (int) (default = 2147483647) + data modify storage asset:effect MaxStack set value 1 +# 悪い効果か否か (boolean) + data modify storage asset:effect IsBadEffect set value false +# 死亡時のエフェクトの処理 (default = "remove") + # data modify storage asset:effect ProcessOnDied set value +# 消すのに必要なレベル (int) (default = 1) + data modify storage asset:effect RequireClearLv set value 3 +# エフェクトをUIに表示するか (boolean) (default = true) + # data modify storage asset:effect Visible set value +# エフェクトのスタックををUIに表示するか (boolean) (default = true) + data modify storage asset:effect StackVisible set value false + +# フィールド + # data modify storage asset:effect Field set value {} diff --git a/Asset/data/asset/functions/object/1176.arrow_of_yumeori/pre_hit/.mcfunction b/Asset/data/asset/functions/object/1176.arrow_of_yumeori/pre_hit/.mcfunction new file mode 100644 index 0000000000..2ac8fc7eb8 --- /dev/null +++ b/Asset/data/asset/functions/object/1176.arrow_of_yumeori/pre_hit/.mcfunction @@ -0,0 +1,26 @@ +#> asset:object/1176.arrow_of_yumeori/pre_hit/ +# +# 継承先などから実行される処理 +# +# @within asset:object/alias/1176/pre_hit + +#> 継承元のtag +# @private + #declare tag 1009.Player + +# カウント用のエフェクトのスタックをチェック + data modify storage api: Argument.ID set value 379 + execute as @a[tag=1009.Player] run function api:entity/mob/effect/get/from_id + +# (Stack + 1 = MaxStack)か? + execute store result storage api: Return.Effect.Stack int -1 run data get storage api: Return.Effect.Stack -1.0000000001 + execute store result storage asset:temp Success byte 1 run data modify storage api: Return.Effect.Stack set from storage asset:context this.Effect.Count.MaxStack + +# 最大値なら曲射ができるようになるバフを付与 + execute if data storage asset:temp {Success:0b} as @a[tag=1009.Player] run function asset:object/1176.arrow_of_yumeori/pre_hit/give_buff + +# 最大値でないならカウント+1 + execute if data storage asset:temp {Success:1b} as @a[tag=1009.Player] run function asset:object/1176.arrow_of_yumeori/pre_hit/add_count + +# リセット + data remove storage asset:temp Success diff --git a/Asset/data/asset/functions/object/1176.arrow_of_yumeori/pre_hit/add_count.mcfunction b/Asset/data/asset/functions/object/1176.arrow_of_yumeori/pre_hit/add_count.mcfunction new file mode 100644 index 0000000000..da6ebb0a87 --- /dev/null +++ b/Asset/data/asset/functions/object/1176.arrow_of_yumeori/pre_hit/add_count.mcfunction @@ -0,0 +1,11 @@ +#> asset:object/1176.arrow_of_yumeori/pre_hit/add_count +# +# +# +# @within function asset:object/1176.arrow_of_yumeori/pre_hit/ + +# カウント用のバフを付与 + data modify storage api: Argument.ID set value 379 + data modify storage api: Argument.Duration set from storage asset:context this.Effect.Count.Duration + function api:entity/mob/effect/give + function api:entity/mob/effect/reset diff --git a/Asset/data/asset/functions/object/1176.arrow_of_yumeori/pre_hit/give_buff.mcfunction b/Asset/data/asset/functions/object/1176.arrow_of_yumeori/pre_hit/give_buff.mcfunction new file mode 100644 index 0000000000..bbb73f47a8 --- /dev/null +++ b/Asset/data/asset/functions/object/1176.arrow_of_yumeori/pre_hit/give_buff.mcfunction @@ -0,0 +1,16 @@ +#> asset:object/1176.arrow_of_yumeori/pre_hit/give_buff +# +# +# +# @within function asset:object/1176.arrow_of_yumeori/pre_hit/ + +# 曲射用のバフを付与 + data modify storage api: Argument.ID set value 380 + data modify storage api: Argument.Duration set from storage asset:context this.Effect.CurveShot.Duration + function api:entity/mob/effect/give + function api:entity/mob/effect/reset + +# カウント用バフを削除 + data modify storage api: Argument.ID set value 379 + function api:entity/mob/effect/remove/from_id + function api:entity/mob/effect/reset diff --git a/Asset/data/asset/functions/object/1176.arrow_of_yumeori/recursive/.mcfunction b/Asset/data/asset/functions/object/1176.arrow_of_yumeori/recursive/.mcfunction new file mode 100644 index 0000000000..7dbf23d5f9 --- /dev/null +++ b/Asset/data/asset/functions/object/1176.arrow_of_yumeori/recursive/.mcfunction @@ -0,0 +1,22 @@ +#> asset:object/1176.arrow_of_yumeori/recursive/ +# +# 継承先などから実行される処理 +# +# @within asset:object/alias/1176/recursive + +# インクリメント + execute store result storage asset:context this.StepCount int -1 run data get storage asset:context this.StepCount -1.00000000001 + +# 0なら1にする + execute if data storage asset:context this{StepCount:0} run data modify storage asset:context this.StepCount set value 1 + +# 軌跡 + particle dust 1 0.8 0.9 1.3 ~ ~ ~ 0 0 0 0 1 + particle dust 1 0.8 0.9 1.3 ^ ^ ^0.25 0 0 0 0 1 + +# 演出 (仮) + # execute if data storage asset:context this{StepCount: 0} run function asset:object/1176.arrow_of_yumeori/recursive/vfx/yellow + execute if data storage asset:context this{StepCount:10} run function asset:object/1176.arrow_of_yumeori/recursive/vfx/yellow + execute if data storage asset:context this{StepCount:20} run function asset:object/1176.arrow_of_yumeori/recursive/vfx/red + execute if data storage asset:context this{StepCount:30} run function asset:object/1176.arrow_of_yumeori/recursive/vfx/red + execute if data storage asset:context this{StepCount:40} run function asset:object/1176.arrow_of_yumeori/recursive/vfx/pink diff --git a/Asset/data/asset/functions/object/1176.arrow_of_yumeori/recursive/vfx/pink.mcfunction b/Asset/data/asset/functions/object/1176.arrow_of_yumeori/recursive/vfx/pink.mcfunction new file mode 100644 index 0000000000..a1af1b710f --- /dev/null +++ b/Asset/data/asset/functions/object/1176.arrow_of_yumeori/recursive/vfx/pink.mcfunction @@ -0,0 +1,10 @@ +#> asset:object/1176.arrow_of_yumeori/recursive/vfx/pink +# +# +# +# @within function asset:object/1176.arrow_of_yumeori/recursive/ + +# 演出用Object召喚 + data modify storage api: Argument.ID set value 1180 + data modify storage api: Argument.FieldOverride.Color set value "Pink" + function api:object/summon diff --git a/Asset/data/asset/functions/object/1176.arrow_of_yumeori/recursive/vfx/red.mcfunction b/Asset/data/asset/functions/object/1176.arrow_of_yumeori/recursive/vfx/red.mcfunction new file mode 100644 index 0000000000..171f5c9731 --- /dev/null +++ b/Asset/data/asset/functions/object/1176.arrow_of_yumeori/recursive/vfx/red.mcfunction @@ -0,0 +1,10 @@ +#> asset:object/1176.arrow_of_yumeori/recursive/vfx/red +# +# +# +# @within function asset:object/1176.arrow_of_yumeori/recursive/ + +# 演出用Object召喚 + data modify storage api: Argument.ID set value 1180 + data modify storage api: Argument.FieldOverride.Color set value "Red" + function api:object/summon diff --git a/Asset/data/asset/functions/object/1176.arrow_of_yumeori/recursive/vfx/yellow.mcfunction b/Asset/data/asset/functions/object/1176.arrow_of_yumeori/recursive/vfx/yellow.mcfunction new file mode 100644 index 0000000000..fc6dc9c9aa --- /dev/null +++ b/Asset/data/asset/functions/object/1176.arrow_of_yumeori/recursive/vfx/yellow.mcfunction @@ -0,0 +1,10 @@ +#> asset:object/1176.arrow_of_yumeori/recursive/vfx/yellow +# +# +# +# @within function asset:object/1176.arrow_of_yumeori/recursive/ + +# 演出用Object召喚 + data modify storage api: Argument.ID set value 1180 + data modify storage api: Argument.FieldOverride.Color set value "Yellow" + function api:object/summon diff --git a/Asset/data/asset/functions/object/1176.arrow_of_yumeori/register.mcfunction b/Asset/data/asset/functions/object/1176.arrow_of_yumeori/register.mcfunction new file mode 100644 index 0000000000..d341808577 --- /dev/null +++ b/Asset/data/asset/functions/object/1176.arrow_of_yumeori/register.mcfunction @@ -0,0 +1,30 @@ +#> asset:object/1176.arrow_of_yumeori/register +# +# Objectのデータを指定 +# +# @within function asset:object/alias/1176/register + +# 継承(オプション) + data modify storage asset:object Extends append value 1009 + function asset:object/extends +# 他のObjectに継承されることを許可するか (boolean) (オプション) + data modify storage asset:object ExtendsSafe set value true +# 継承されることを前提とした、抽象的な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 1176 +# フィールド(オプション) + # data modify storage asset:object Field.Color set value 16646013 + data modify storage asset:object Field.ShowCritParticle set value false + data modify storage asset:object Field.AttackType set value "Magic" + data modify storage asset:object Field.ElementType set value "Thunder" + data modify storage asset:object Field.Range set value 40 + data modify storage asset:object Field.Speed set value 4 + data modify storage asset:object Field.Damage set value 1 + data modify storage asset:object Field.AdditionalMPHeal set value 1 + +# 何回進んだかを計測する + data modify storage asset:object Field.StepCount set value 0 diff --git a/Asset/data/asset/functions/object/1176.arrow_of_yumeori/summon/.mcfunction b/Asset/data/asset/functions/object/1176.arrow_of_yumeori/summon/.mcfunction new file mode 100644 index 0000000000..0808c12809 --- /dev/null +++ b/Asset/data/asset/functions/object/1176.arrow_of_yumeori/summon/.mcfunction @@ -0,0 +1,11 @@ +#> asset:object/1176.arrow_of_yumeori/summon/ +# +# Object召喚処理の呼び出し時に実行されるfunction +# +# @within asset:object/alias/1176/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 + function asset:object/1176.arrow_of_yumeori/summon/m with storage asset:temp Args + data remove storage asset:temp Args diff --git a/Asset/data/asset/functions/object/1176.arrow_of_yumeori/summon/m.mcfunction b/Asset/data/asset/functions/object/1176.arrow_of_yumeori/summon/m.mcfunction new file mode 100644 index 0000000000..748dcd290f --- /dev/null +++ b/Asset/data/asset/functions/object/1176.arrow_of_yumeori/summon/m.mcfunction @@ -0,0 +1,7 @@ +#> asset:object/1176.arrow_of_yumeori/summon/m +# +# +# +# @within function asset:object/1176.arrow_of_yumeori/summon/ + +$summon item_display ~ ~ ~ {Rotation:$(Rotation),Tags:["ObjectInit"],item:{id:"minecraft:stick",Count:1b,tag:{CustomModelData:20636},teleport_duration:1}} diff --git a/Asset/data/asset/functions/object/1177.arrow_of_yumeori_upper/detect_hit_entity/.mcfunction b/Asset/data/asset/functions/object/1177.arrow_of_yumeori_upper/detect_hit_entity/.mcfunction new file mode 100644 index 0000000000..b09d2a999c --- /dev/null +++ b/Asset/data/asset/functions/object/1177.arrow_of_yumeori_upper/detect_hit_entity/.mcfunction @@ -0,0 +1,7 @@ +#> asset:object/1177.arrow_of_yumeori_upper/detect_hit_entity/ +# +# 継承先などから実行される処理 +# +# @within asset:object/alias/1177/detect_hit_entity + +# entityに対するヒット判定を消すために何もしない diff --git a/Asset/data/asset/functions/object/1177.arrow_of_yumeori_upper/range_over/.mcfunction b/Asset/data/asset/functions/object/1177.arrow_of_yumeori_upper/range_over/.mcfunction new file mode 100644 index 0000000000..c98ef5a67a --- /dev/null +++ b/Asset/data/asset/functions/object/1177.arrow_of_yumeori_upper/range_over/.mcfunction @@ -0,0 +1,11 @@ +#> asset:object/1177.arrow_of_yumeori_upper/range_over/ +# +# 継承先などから実行される処理 +# +# @within asset:object/alias/1177/range_over + +# 消滅 + function asset:object/call.m {method:"kill"} + +# 使用地点に矢を降らす用のentityを召喚 + function asset:object/1177.arrow_of_yumeori_upper/range_over/summon.m with storage asset:context this.Pos diff --git a/Asset/data/asset/functions/object/1177.arrow_of_yumeori_upper/range_over/summon.m.mcfunction b/Asset/data/asset/functions/object/1177.arrow_of_yumeori_upper/range_over/summon.m.mcfunction new file mode 100644 index 0000000000..95efa35da9 --- /dev/null +++ b/Asset/data/asset/functions/object/1177.arrow_of_yumeori_upper/range_over/summon.m.mcfunction @@ -0,0 +1,15 @@ +#> asset:object/1177.arrow_of_yumeori_upper/range_over/summon.m +# +# +# +# @within function asset:object/1177.arrow_of_yumeori_upper/range_over/ + +# 召喚 + data modify storage api: Argument.ID set value 1178 + data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage + data modify storage api: Argument.FieldOverride.AdditionalMPHeal set from storage asset:context this.AdditionalMPHeal + data modify storage api: Argument.FieldOverride.UserID set from storage asset:context this.UserID + data modify storage api: Argument.FieldOverride.Count set from storage asset:context this.Count + data modify storage api: Argument.FieldOverride.Delay set from storage asset:context this.Delay + data modify storage api: Argument.FieldOverride.AttackRange set from storage asset:context this.AttackRange + $execute positioned $(X) $(Y) $(Z) run function api:object/summon diff --git a/Asset/data/asset/functions/object/1177.arrow_of_yumeori_upper/register.mcfunction b/Asset/data/asset/functions/object/1177.arrow_of_yumeori_upper/register.mcfunction new file mode 100644 index 0000000000..f2b5fb68b1 --- /dev/null +++ b/Asset/data/asset/functions/object/1177.arrow_of_yumeori_upper/register.mcfunction @@ -0,0 +1,47 @@ +#> asset:object/1177.arrow_of_yumeori_upper/register +# +# Objectのデータを指定 +# +# @within function asset:object/alias/1177/register + +# 継承(オプション) + data modify storage asset:object Extends append value 1176 + 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 1177 +# フィールド(オプション) + +# ダメージ等 + data modify storage asset:object Field.Damage set value 1d + data modify storage asset:object Field.AdditionalMPHeal set value 1d + data modify storage asset:object Field.UserID set value -1 + +# 本数 + data modify storage asset:object Field.Count set value 6 +# ディレイ + data modify storage asset:object Field.Delay set value 20 + +# 射程 + data modify storage asset:object Field.Range set value 50 +# 弾速 + data modify storage asset:object Field.Speed set value 8 + +# 攻撃範囲(各辺の長さ) + data modify storage asset:object Field.AttackRange.X set value 8 + data modify storage asset:object Field.AttackRange.Y set value 10 + data modify storage asset:object Field.AttackRange.Z set value 10 + +# 1発目のxの範囲 + data modify storage asset:object Field.AttackRange.FirstX set value 4 + +# 座標 + data modify storage asset:object Field.Pos.X set value 0.0f + data modify storage asset:object Field.Pos.Y set value 0.0f + data modify storage asset:object Field.Pos.Z set value 0.0f diff --git a/Asset/data/asset/functions/object/1178.yumeori_falling_arrow_manager/init/.mcfunction b/Asset/data/asset/functions/object/1178.yumeori_falling_arrow_manager/init/.mcfunction new file mode 100644 index 0000000000..c7e43d93c1 --- /dev/null +++ b/Asset/data/asset/functions/object/1178.yumeori_falling_arrow_manager/init/.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/1178.yumeori_falling_arrow_manager/init/ +# +# Objectのinit時の処理 +# +# @within asset:object/alias/1178/init + +# 向き調整 + tp @s ~ ~ ~ ~ ~ diff --git a/Asset/data/asset/functions/object/1178.yumeori_falling_arrow_manager/register.mcfunction b/Asset/data/asset/functions/object/1178.yumeori_falling_arrow_manager/register.mcfunction new file mode 100644 index 0000000000..99c1ac826d --- /dev/null +++ b/Asset/data/asset/functions/object/1178.yumeori_falling_arrow_manager/register.mcfunction @@ -0,0 +1,45 @@ +#> asset:object/1178.yumeori_falling_arrow_manager/register +# +# Objectのデータを指定 +# +# @within function asset:object/alias/1178/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 1178 +# フィールド(オプション) + data modify storage asset:object Field.Interval._ set value 2 + data modify storage asset:object Field.Interval.Max set value 2 + data modify storage asset:object Field.IsFirstShot set value true + +# ダメージ等 + data modify storage asset:object Field.Damage set value 1d + data modify storage asset:object Field.AdditionalMPHeal set value 1d + data modify storage asset:object Field.UserID set value -1 + +# 本数 + data modify storage asset:object Field.Count set value 6 +# ディレイ + data modify storage asset:object Field.Delay set value 20 + +# 攻撃範囲(各辺の長さ) + data modify storage asset:object Field.AttackRange.X set value 8 + data modify storage asset:object Field.AttackRange.Y set value 10 + data modify storage asset:object Field.AttackRange.Z set value 10 + +# 1発目のxの範囲 + data modify storage asset:object Field.AttackRange.FirstX set value 4 + +# 座標 + data modify storage asset:object Field.Pos.X set value 0.0f + data modify storage asset:object Field.Pos.Y set value 0.0f + data modify storage asset:object Field.Pos.Z set value 0.0f diff --git a/Asset/data/asset/functions/object/1178.yumeori_falling_arrow_manager/summon/.mcfunction b/Asset/data/asset/functions/object/1178.yumeori_falling_arrow_manager/summon/.mcfunction new file mode 100644 index 0000000000..9f6dd4d3c5 --- /dev/null +++ b/Asset/data/asset/functions/object/1178.yumeori_falling_arrow_manager/summon/.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/1178.yumeori_falling_arrow_manager/summon/ +# +# Object召喚処理の呼び出し時に実行されるfunction +# +# @within asset:object/alias/1178/summon + +# 元となるEntityを召喚する + summon marker ~ ~ ~ {Tags:["ObjectInit"]} diff --git a/Asset/data/asset/functions/object/1178.yumeori_falling_arrow_manager/tick/.mcfunction b/Asset/data/asset/functions/object/1178.yumeori_falling_arrow_manager/tick/.mcfunction new file mode 100644 index 0000000000..33e1926415 --- /dev/null +++ b/Asset/data/asset/functions/object/1178.yumeori_falling_arrow_manager/tick/.mcfunction @@ -0,0 +1,13 @@ +#> asset:object/1178.yumeori_falling_arrow_manager/tick/ +# +# Objectのtick時の処理 +# +# @within asset:object/alias/1178/tick + +# 攻撃間隔 + execute store result storage asset:context this.Interval._ int 0.9999999999 run data get storage asset:context this.Interval._ + execute if data storage asset:context this.Interval{_:0} run function asset:object/1178.yumeori_falling_arrow_manager/tick/set_pos/0 + execute if data storage asset:context this.Interval{_:0} run data modify storage asset:context this.Interval._ set from storage asset:context this.Interval.Max + +# 0なら消える + execute if data storage asset:context this{Count:0} run kill @s diff --git a/Asset/data/asset/functions/object/1178.yumeori_falling_arrow_manager/tick/set_pos/0.mcfunction b/Asset/data/asset/functions/object/1178.yumeori_falling_arrow_manager/tick/set_pos/0.mcfunction new file mode 100644 index 0000000000..78119dbe0e --- /dev/null +++ b/Asset/data/asset/functions/object/1178.yumeori_falling_arrow_manager/tick/set_pos/0.mcfunction @@ -0,0 +1,11 @@ +#> asset:object/1178.yumeori_falling_arrow_manager/tick/set_pos/0 +# +# +# +# @within function asset:object/1178.yumeori_falling_arrow_manager/tick/ + +# デクリメント + execute store result storage asset:context this.Count int 0.9999999999 run data get storage asset:context this.Count + +# 範囲内のランダムな敵の位置で攻撃 + function asset:object/1178.yumeori_falling_arrow_manager/tick/set_pos/1.select_target with storage asset:context this.AttackRange diff --git a/Asset/data/asset/functions/object/1178.yumeori_falling_arrow_manager/tick/set_pos/1.select_target.mcfunction b/Asset/data/asset/functions/object/1178.yumeori_falling_arrow_manager/tick/set_pos/1.select_target.mcfunction new file mode 100644 index 0000000000..6e60b86b07 --- /dev/null +++ b/Asset/data/asset/functions/object/1178.yumeori_falling_arrow_manager/tick/set_pos/1.select_target.mcfunction @@ -0,0 +1,29 @@ +#> asset:object/1178.yumeori_falling_arrow_manager/tick/set_pos/1.select_target +# +# +# +# @within function +# asset:object/1178.yumeori_falling_arrow_manager/tick/set_pos/0 +# asset:object/1178.yumeori_falling_arrow_manager/tick/set_pos/first/m + +# rotatable_dxyzで判定 + execute if data storage asset:context this{IsFirstShot: true} run function asset:object/1178.yumeori_falling_arrow_manager/tick/set_pos/dxyz/first.m with storage asset:context this.AttackRange + execute if data storage asset:context this{IsFirstShot:false} run function asset:object/1178.yumeori_falling_arrow_manager/tick/set_pos/dxyz/m with storage asset:context this.AttackRange + +# 1発目でDXYZが誰もいない時、本来の範囲で再ターゲッティングする + execute if data storage asset:context this{IsFirstShot: true} unless entity @e[type=#lib:living_without_player,tag=DXYZ,distance=..32] run function asset:object/1178.yumeori_falling_arrow_manager/tick/set_pos/dxyz/m with storage asset:context this.AttackRange + +# DXYZのtag持ちの中のランダムな奴をターゲットにする + # 1発目の場合、nearestで判定する + execute if data storage asset:context this{IsFirstShot: true} at @e[type=#lib:living_without_player,tag=DXYZ,distance=..32,sort=nearest,limit=1] run function asset:object/1178.yumeori_falling_arrow_manager/tick/set_pos/2.spread_pos + # 2発目以降 + execute if data storage asset:context this{IsFirstShot:false} at @e[type=#lib:living_without_player,tag=DXYZ,distance=..32,sort=random,limit=1] run function asset:object/1178.yumeori_falling_arrow_manager/tick/set_pos/2.spread_pos + +# DXYZがいなければもうなんでもいいから適当に降らす + execute unless entity @e[type=#lib:living_without_player,tag=DXYZ,distance=..32,limit=1] run function asset:object/1178.yumeori_falling_arrow_manager/tick/set_pos/3.no_target + +# リセット + tag @e[type=#lib:living_without_player,tag=DXYZ,distance=..32] remove DXYZ + +# 1発目のフラグをfalseに + data modify storage asset:context this.IsFirstShot set value false diff --git a/Asset/data/asset/functions/object/1178.yumeori_falling_arrow_manager/tick/set_pos/2.spread_pos.mcfunction b/Asset/data/asset/functions/object/1178.yumeori_falling_arrow_manager/tick/set_pos/2.spread_pos.mcfunction new file mode 100644 index 0000000000..e70d9b5d87 --- /dev/null +++ b/Asset/data/asset/functions/object/1178.yumeori_falling_arrow_manager/tick/set_pos/2.spread_pos.mcfunction @@ -0,0 +1,22 @@ +#> asset:object/1178.yumeori_falling_arrow_manager/tick/set_pos/2.spread_pos +# +# +# +# @within function +# asset:object/1178.yumeori_falling_arrow_manager/tick/set_pos/1.select_target +# asset:object/1178.yumeori_falling_arrow_manager/tick/set_pos/first/m + +#> Private +# @private + #declare tag SpreadMarker + +# 拡散 + summon marker ~ ~ ~ {Tags:["SpreadMarker"]} + data modify storage lib: Argument.Bounds set value [[1.5d,1.5d],[0d,0d],[1.5d,1.5d]] + execute as @e[type=marker,tag=SpreadMarker,distance=..0.01] run function lib:spread_entity/ + +# マーカーの位置で召喚 + execute at @e[type=marker,tag=SpreadMarker,distance=..10] run function asset:object/1178.yumeori_falling_arrow_manager/tick/summon + +# リセット + kill @e[type=marker,tag=SpreadMarker,distance=..10] diff --git a/Asset/data/asset/functions/object/1178.yumeori_falling_arrow_manager/tick/set_pos/3.no_target.mcfunction b/Asset/data/asset/functions/object/1178.yumeori_falling_arrow_manager/tick/set_pos/3.no_target.mcfunction new file mode 100644 index 0000000000..128314b266 --- /dev/null +++ b/Asset/data/asset/functions/object/1178.yumeori_falling_arrow_manager/tick/set_pos/3.no_target.mcfunction @@ -0,0 +1,20 @@ +#> asset:object/1178.yumeori_falling_arrow_manager/tick/set_pos/3.no_target +# +# +# +# @within function asset:object/1178.yumeori_falling_arrow_manager/tick/set_pos/1.select_target + +#> Private +# @private + #declare tag SpreadMarker + +# 拡散 + execute rotated ~ 0 run summon marker ^ ^ ^8 {Tags:["SpreadMarker"]} + data modify storage lib: Argument.Bounds set value [[5d,5d],[0d,0d],[5d,5d]] + execute as @e[type=marker,tag=SpreadMarker,distance=..10] at @s run function lib:spread_entity/ + +# マーカーの位置で出来る限り地面に近づける + execute at @e[type=marker,tag=SpreadMarker,distance=..20] run function asset:object/1178.yumeori_falling_arrow_manager/tick/summon + +# リセット + kill @e[type=marker,tag=SpreadMarker,distance=..20] diff --git a/Asset/data/asset/functions/object/1178.yumeori_falling_arrow_manager/tick/set_pos/dxyz/first.m.mcfunction b/Asset/data/asset/functions/object/1178.yumeori_falling_arrow_manager/tick/set_pos/dxyz/first.m.mcfunction new file mode 100644 index 0000000000..7824ea9c9d --- /dev/null +++ b/Asset/data/asset/functions/object/1178.yumeori_falling_arrow_manager/tick/set_pos/dxyz/first.m.mcfunction @@ -0,0 +1,12 @@ +#> asset:object/1178.yumeori_falling_arrow_manager/tick/set_pos/dxyz/first.m +# +# +# +# @within function asset:object/1178.yumeori_falling_arrow_manager/tick/set_pos/1.select_target + +# 範囲設定 + data modify storage lib: Args.dx set from storage asset:context this.AttackRange.FirstX + data modify storage lib: Args.dy set from storage asset:context this.AttackRange.Y + data modify storage lib: Args.dz set from storage asset:context this.AttackRange.Z + data modify storage lib: Args.selector set value "@e[type=#lib:living_without_player,tag=Enemy,tag=!Uninterferable,distance=..32]" + $execute rotated ~ 0 positioned ^ ^ ^$(Z) run function lib:rotatable_dxyz/m with storage lib: Args diff --git a/Asset/data/asset/functions/object/1178.yumeori_falling_arrow_manager/tick/set_pos/dxyz/m.mcfunction b/Asset/data/asset/functions/object/1178.yumeori_falling_arrow_manager/tick/set_pos/dxyz/m.mcfunction new file mode 100644 index 0000000000..f7dac5ecd1 --- /dev/null +++ b/Asset/data/asset/functions/object/1178.yumeori_falling_arrow_manager/tick/set_pos/dxyz/m.mcfunction @@ -0,0 +1,12 @@ +#> asset:object/1178.yumeori_falling_arrow_manager/tick/set_pos/dxyz/m +# +# +# +# @within function asset:object/1178.yumeori_falling_arrow_manager/tick/set_pos/1.select_target + +# 範囲設定 + data modify storage lib: Args.dx set from storage asset:context this.AttackRange.X + data modify storage lib: Args.dy set from storage asset:context this.AttackRange.Y + data modify storage lib: Args.dz set from storage asset:context this.AttackRange.Z + data modify storage lib: Args.selector set value "@e[type=#lib:living_without_player,tag=Enemy,tag=!Uninterferable,distance=..32]" + $execute rotated ~ 0 positioned ^ ^ ^$(Z) run function lib:rotatable_dxyz/m with storage lib: Args diff --git a/Asset/data/asset/functions/object/1178.yumeori_falling_arrow_manager/tick/summon.mcfunction b/Asset/data/asset/functions/object/1178.yumeori_falling_arrow_manager/tick/summon.mcfunction new file mode 100644 index 0000000000..6704f2da72 --- /dev/null +++ b/Asset/data/asset/functions/object/1178.yumeori_falling_arrow_manager/tick/summon.mcfunction @@ -0,0 +1,15 @@ +#> asset:object/1178.yumeori_falling_arrow_manager/tick/summon +# +# +# +# @within function +# asset:object/1178.yumeori_falling_arrow_manager/tick/set_pos/2.spread_pos +# asset:object/1178.yumeori_falling_arrow_manager/tick/set_pos/3.no_target + +# 攻撃用Object召喚 + data modify storage api: Argument.ID set value 1179 + data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage + data modify storage api: Argument.FieldOverride.AdditionalMPHeal set from storage asset:context this.AdditionalMPHeal + data modify storage api: Argument.FieldOverride.UserID set from storage asset:context this.UserID + data modify storage api: Argument.FieldOverride.Delay set from storage asset:context this.Delay + function api:object/summon diff --git a/Asset/data/asset/functions/object/1179.yumeori_falling_arrow/init/.mcfunction b/Asset/data/asset/functions/object/1179.yumeori_falling_arrow/init/.mcfunction new file mode 100644 index 0000000000..44315718c1 --- /dev/null +++ b/Asset/data/asset/functions/object/1179.yumeori_falling_arrow/init/.mcfunction @@ -0,0 +1,15 @@ +#> asset:object/1179.yumeori_falling_arrow/init/ +# +# Objectのinit時の処理 +# +# @within asset:object/alias/1179/init + + particle electric_spark ~ ~ ~ 0 0 0 1 50 + particle firework ~ ~1 ~ 0 0 0 0 1 + particle firework ~ ~2 ~ 0 0 0 0 1 + particle firework ~ ~3 ~ 0 0 0 0 1 + particle firework ~ ~4 ~ 0 0 0 0 1 + particle firework ~ ~5 ~ 0 0 0 0 1 + particle firework ~ ~6 ~ 0 0 0 0 1 + particle firework ~ ~7 ~ 0 0 0 0 1 + playsound entity.experience_orb.pickup neutral @a ~ ~ ~ 1 2 diff --git a/Asset/data/asset/functions/object/1179.yumeori_falling_arrow/register.mcfunction b/Asset/data/asset/functions/object/1179.yumeori_falling_arrow/register.mcfunction new file mode 100644 index 0000000000..8689d817f2 --- /dev/null +++ b/Asset/data/asset/functions/object/1179.yumeori_falling_arrow/register.mcfunction @@ -0,0 +1,28 @@ +#> asset:object/1179.yumeori_falling_arrow/register +# +# Objectのデータを指定 +# +# @within function asset:object/alias/1179/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 1179 +# フィールド(オプション) + data modify storage asset:object Field.RecursiveLimit set value 10 + +# ダメージ等 + data modify storage asset:object Field.Damage set value 1d + data modify storage asset:object Field.AdditionalMPHeal set value 1d + data modify storage asset:object Field.UserID set value -1 + +# ディレイ + data modify storage asset:object Field.Delay set value 20 diff --git a/Asset/data/asset/functions/object/1179.yumeori_falling_arrow/summon/.mcfunction b/Asset/data/asset/functions/object/1179.yumeori_falling_arrow/summon/.mcfunction new file mode 100644 index 0000000000..45ed3509ff --- /dev/null +++ b/Asset/data/asset/functions/object/1179.yumeori_falling_arrow/summon/.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/1179.yumeori_falling_arrow/summon/ +# +# Object召喚処理の呼び出し時に実行されるfunction +# +# @within asset:object/alias/1179/summon + +# 元となるEntityを召喚する + summon marker ~ ~ ~ {Tags:["ObjectInit"]} diff --git a/Asset/data/asset/functions/object/1179.yumeori_falling_arrow/tick/.mcfunction b/Asset/data/asset/functions/object/1179.yumeori_falling_arrow/tick/.mcfunction new file mode 100644 index 0000000000..0dcf90eb75 --- /dev/null +++ b/Asset/data/asset/functions/object/1179.yumeori_falling_arrow/tick/.mcfunction @@ -0,0 +1,11 @@ +#> asset:object/1179.yumeori_falling_arrow/tick/ +# +# Objectのtick時の処理 +# +# @within asset:object/alias/1179/tick + +# ディレイ + execute store result storage asset:context this.Delay int 0.9999999999 run data get storage asset:context this.Delay + +# + execute if data storage asset:context this{Delay:0} run function asset:object/1179.yumeori_falling_arrow/tick/align_to_ground diff --git a/Asset/data/asset/functions/object/1179.yumeori_falling_arrow/tick/align_to_ground.mcfunction b/Asset/data/asset/functions/object/1179.yumeori_falling_arrow/tick/align_to_ground.mcfunction new file mode 100644 index 0000000000..920be60c8a --- /dev/null +++ b/Asset/data/asset/functions/object/1179.yumeori_falling_arrow/tick/align_to_ground.mcfunction @@ -0,0 +1,21 @@ +#> asset:object/1179.yumeori_falling_arrow/tick/align_to_ground +# +# +# +# @within function +# asset:object/1179.yumeori_falling_arrow/tick/ +# asset:object/1179.yumeori_falling_arrow/tick/align_to_ground + +# デクリメント + execute store result storage asset:context this.RecursiveLimit int 0.9999999999 run data get storage asset:context this.RecursiveLimit + +# 各条件を満たした際、攻撃してreturnする + # 再帰上限 + execute if data storage asset:context this{RecursiveLimit:0} run return run function asset:object/1179.yumeori_falling_arrow/tick/attack + # ブロックに接触 + execute unless block ~ ~-0.5 ~ #lib:no_collision/without_fluid run return run function asset:object/1179.yumeori_falling_arrow/tick/attack + # 敵がいる + execute positioned ~-1 ~ ~-1 at @e[type=#lib:living_without_player,tag=!Uninterferable,dx=2,dy=0,dz=2,sort=random,limit=1] run return run function asset:object/1179.yumeori_falling_arrow/tick/set_y/ + +# 再帰 + execute positioned ~ ~-0.5 ~ run function asset:object/1179.yumeori_falling_arrow/tick/align_to_ground diff --git a/Asset/data/asset/functions/object/1179.yumeori_falling_arrow/tick/attack.mcfunction b/Asset/data/asset/functions/object/1179.yumeori_falling_arrow/tick/attack.mcfunction new file mode 100644 index 0000000000..af6a873611 --- /dev/null +++ b/Asset/data/asset/functions/object/1179.yumeori_falling_arrow/tick/attack.mcfunction @@ -0,0 +1,45 @@ +#> asset:object/1179.yumeori_falling_arrow/tick/attack +# +# +# +# @within function +# asset:object/1179.yumeori_falling_arrow/tick/align_to_ground +# asset:object/1179.yumeori_falling_arrow/tick/set_y/set + +#> Private +# @private + #declare score_holder $UserID + +# 演出 + playsound entity.arrow.hit neutral @a ~ ~ ~ 1 1 + playsound item.trident.hit_ground neutral @a ~ ~ ~ 1 1 + playsound entity.evoker.prepare_summon neutral @a ~ ~ ~ 0.8 2 + execute rotated ~ -90 run function asset:object/1179.yumeori_falling_arrow/tick/vfx + +# 演出用Object召喚 + data modify storage api: Argument.ID set value 1180 + data modify storage api: Argument.FieldOverride.Scale set value [15f,15f,15f] + data modify storage api: Argument.FieldOverride.Color set value "Pink" + execute rotated ~ 90 run function api:object/summon + + #data modify storage api: Argument.ID set value 2257 + #data modify storage api: Argument.FieldOverride.Scale set value 4f + #execute rotated ~ 90 run function api:object/summon + +# どうせなら縦に広い判定をとっておく + +# ダメージ + 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 "Thunder" + data modify storage api: Argument.AdditionalMPHeal set from storage asset:context this.AdditionalMPHeal + execute store result score $UserID Temporary run data get storage asset:context this.UserID + execute as @a if score @s UserID = $UserID Temporary run function api:damage/modifier + execute positioned ~-1 ~-0.5 ~-1 as @e[type=#lib:living_without_player,tag=!Uninterferable,dx=2,dy=5,dz=2,sort=random,limit=1] run function api:damage/ + function api:damage/reset + +# + scoreboard players reset $UserID Temporary + +# + kill @s diff --git a/Asset/data/asset/functions/object/1179.yumeori_falling_arrow/tick/set_y/.mcfunction b/Asset/data/asset/functions/object/1179.yumeori_falling_arrow/tick/set_y/.mcfunction new file mode 100644 index 0000000000..08f1c63c66 --- /dev/null +++ b/Asset/data/asset/functions/object/1179.yumeori_falling_arrow/tick/set_y/.mcfunction @@ -0,0 +1,14 @@ +#> asset:object/1179.yumeori_falling_arrow/tick/set_y/ +# +# +# +# @within function asset:object/1179.yumeori_falling_arrow/tick/align_to_ground + +# 自身のxzを取得 + data modify storage asset:temp Temp.Pos set from entity @s Pos + data modify storage asset:temp Temp.X set from storage asset:temp Temp.Pos[0] + data modify storage asset:temp Temp.Z set from storage asset:temp Temp.Pos[2] + function asset:object/1179.yumeori_falling_arrow/tick/set_y/set with storage asset:temp Temp + +# リセット + data remove storage asset:temp Temp diff --git a/Asset/data/asset/functions/object/1179.yumeori_falling_arrow/tick/set_y/set.mcfunction b/Asset/data/asset/functions/object/1179.yumeori_falling_arrow/tick/set_y/set.mcfunction new file mode 100644 index 0000000000..4b9698ddd3 --- /dev/null +++ b/Asset/data/asset/functions/object/1179.yumeori_falling_arrow/tick/set_y/set.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/1179.yumeori_falling_arrow/tick/set_y/set +# +# +# +# @within function asset:object/1179.yumeori_falling_arrow/tick/set_y/ + +# + $execute positioned $(X) ~ $(Z) run function asset:object/1179.yumeori_falling_arrow/tick/attack diff --git a/Asset/data/asset/functions/object/1179.yumeori_falling_arrow/tick/vfx.mcfunction b/Asset/data/asset/functions/object/1179.yumeori_falling_arrow/tick/vfx.mcfunction new file mode 100644 index 0000000000..624840694b --- /dev/null +++ b/Asset/data/asset/functions/object/1179.yumeori_falling_arrow/tick/vfx.mcfunction @@ -0,0 +1,58 @@ +#> asset:object/1179.yumeori_falling_arrow/tick/vfx +# +# +# +# @within function asset:object/1179.yumeori_falling_arrow/tick/attack + + # [ImportKey]: NobwRALgngDgpmAXGANgSwHYIDRgK55oAmSYAjAGxEAcZAnHQMYC01ADAExHMAsAhnR6sARnDbMA7AFYp1RhSlMpRKWFwY+AWwTJAW74ACMmrAw+AJy0BnJOEYB7PBghIpbXADMzdzTbAA3PhQ8HXAADyQ3MCgIgF8Y3Ag7XwCgkLBwxEjoxDIpONw7d3dLOGdM3FEALzQ4MwjcNEsAIThq2oBRAEc8QJQoAGVTRjgSRHdAkriAXSA_3 + # 線 1 + particle dust 100000000 1 100000000 2 ^0 ^ ^0 0.1 0.1 0.1 0 2 + particle dust 100000000 1 100000000 2 ^0 ^ ^0.30612 0.1 0.1 0.1 0 2 + particle dust 100000000 1 100000000 2 ^0 ^ ^0.61224 0.1 0.1 0.1 0 2 + particle dust 100000000 1 100000000 2 ^0 ^ ^0.91837 0.1 0.1 0.1 0 2 + particle dust 100000000 1 100000000 2 ^0 ^ ^1.22449 0.1 0.1 0.1 0 2 + particle dust 100000000 1 100000000 2 ^0 ^ ^1.53061 0.1 0.1 0.1 0 2 + particle dust 100000000 1 100000000 2 ^0 ^ ^1.83673 0.1 0.1 0.1 0 2 + particle dust 100000000 1 100000000 2 ^0 ^ ^2.14286 0.1 0.1 0.1 0 2 + particle dust 100000000 1 100000000 2 ^0 ^ ^2.44898 0.1 0.1 0.1 0 2 + particle dust 100000000 1 100000000 2 ^0 ^ ^2.7551 0.1 0.1 0.1 0 2 + particle dust 100000000 1 100000000 2 ^0 ^ ^3.06122 0.1 0.1 0.1 0 2 + particle dust 100000000 1 100000000 2 ^0 ^ ^3.36735 0.1 0.1 0.1 0 2 + particle dust 100000000 1 100000000 2 ^0 ^ ^3.67347 0.1 0.1 0.1 0 2 + particle dust 100000000 1 100000000 2 ^0 ^ ^3.97959 0.1 0.1 0.1 0 2 + particle dust 100000000 1 100000000 2 ^0 ^ ^4.28571 0.1 0.1 0.1 0 2 + particle dust 100000000 1 100000000 2 ^0 ^ ^4.59184 0.1 0.1 0.1 0 2 + particle dust 100000000 1 1 2 ^0 ^ ^4.89796 0.1 0.1 0.1 0 2 + particle dust 100000000 1 1 2 ^0 ^ ^5.20408 0.1 0.1 0.1 0 2 + particle dust 100000000 1 1 2 ^0 ^ ^5.5102 0.1 0.1 0.1 0 2 + particle dust 100000000 1 1 2 ^0 ^ ^5.81633 0.1 0.1 0.1 0 2 + particle dust 100000000 1 1 2 ^0 ^ ^6.12245 0.1 0.1 0.1 0 2 + particle dust 100000000 1 1 2 ^0 ^ ^6.42857 0.1 0.1 0.1 0 2 + particle dust 100000000 1 1 2 ^0 ^ ^6.73469 0.1 0.1 0.1 0 2 + particle dust 100000000 100000000 1 2 ^0 ^ ^7.04082 0.1 0.1 0.1 0 2 + particle dust 100000000 100000000 1 2 ^0 ^ ^7.34694 0.1 0.1 0.1 0 2 + particle dust 100000000 100000000 1 2 ^0 ^ ^7.65306 0.1 0.1 0.1 0 2 + particle dust 100000000 100000000 1 2 ^0 ^ ^7.95918 0.1 0.1 0.1 0 2 + particle dust 100000000 100000000 1 2 ^0 ^ ^8.26531 0.1 0.1 0.1 0 2 + particle dust 100000000 100000000 1 2 ^0 ^ ^8.57143 0.1 0.1 0.1 0 2 + particle dust 100000000 100000000 1 2 ^0 ^ ^8.87755 0.1 0.1 0.1 0 2 + particle dust 100000000 100000000 1 2 ^0 ^ ^9.18367 0.1 0.1 0.1 0 2 + particle dust 100000000 100000000 1 2 ^0 ^ ^9.4898 0.1 0.1 0.1 0 2 + particle dust 100000000 100000000 1 2 ^0 ^ ^9.79592 0.1 0.1 0.1 0 2 + particle dust 100000000 100000000 1 2 ^0 ^ ^10.10204 0.1 0.1 0.1 0 2 + particle dust 100000000 100000000 1 2 ^0 ^ ^10.40816 0.1 0.1 0.1 0 2 + particle dust 100000000 100000000 1 2 ^0 ^ ^10.71429 0.1 0.1 0.1 0 2 + particle dust 100000000 100000000 1 2 ^0 ^ ^11.02041 0.1 0.1 0.1 0 2 + particle dust 100000000 100000000 1 2 ^0 ^ ^11.32653 0.1 0.1 0.1 0 2 + particle dust 100000000 100000000 1 2 ^0 ^ ^11.63265 0.1 0.1 0.1 0 2 + particle dust 100000000 100000000 1 2 ^0 ^ ^11.93878 0.1 0.1 0.1 0 2 + particle dust 100000000 100000000 1 2 ^0 ^ ^12.2449 0.1 0.1 0.1 0 2 + particle dust 100000000 100000000 1 2 ^0 ^ ^12.55102 0.1 0.1 0.1 0 2 + particle dust 100000000 100000000 1 2 ^0 ^ ^12.85714 0.1 0.1 0.1 0 2 + particle dust 100000000 100000000 1 2 ^0 ^ ^13.16327 0.1 0.1 0.1 0 2 + particle dust 100000000 100000000 1 2 ^0 ^ ^13.46939 0.1 0.1 0.1 0 2 + particle dust 100000000 100000000 1 2 ^0 ^ ^13.77551 0.1 0.1 0.1 0 2 + particle dust 100000000 100000000 1 2 ^0 ^ ^14.08163 0.1 0.1 0.1 0 2 + particle dust 100000000 100000000 1 2 ^0 ^ ^14.38776 0.1 0.1 0.1 0 2 + particle dust 100000000 100000000 1 2 ^0 ^ ^14.69388 0.1 0.1 0.1 0 2 + particle dust 100000000 100000000 1 2 ^0 ^ ^15 0.1 0.1 0.1 0 2 diff --git a/Asset/data/asset/functions/object/1180.yumeori_vfx/init/.mcfunction b/Asset/data/asset/functions/object/1180.yumeori_vfx/init/.mcfunction new file mode 100644 index 0000000000..7de2fd6211 --- /dev/null +++ b/Asset/data/asset/functions/object/1180.yumeori_vfx/init/.mcfunction @@ -0,0 +1,10 @@ +#> asset:object/1180.yumeori_vfx/init/ +# +# Objectのinit時の処理 +# +# @within asset:object/alias/1180/init + +# 色に応じたリストを適用 + execute if data storage asset:context this{Color:"Yellow"} run data modify storage asset:context this.List set from storage asset:context this.CharList.Yellow + execute if data storage asset:context this{Color:"Pink"} run data modify storage asset:context this.List set from storage asset:context this.CharList.Pink + execute if data storage asset:context this{Color:"Red"} run data modify storage asset:context this.List set from storage asset:context this.CharList.Red diff --git a/Asset/data/asset/functions/object/1180.yumeori_vfx/register.mcfunction b/Asset/data/asset/functions/object/1180.yumeori_vfx/register.mcfunction new file mode 100644 index 0000000000..0686ca0f2c --- /dev/null +++ b/Asset/data/asset/functions/object/1180.yumeori_vfx/register.mcfunction @@ -0,0 +1,26 @@ +#> asset:object/1180.yumeori_vfx/register +# +# Objectのデータを指定 +# +# @within function asset:object/alias/1180/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 1180 +# フィールド(オプション) + data modify storage asset:object Field.Color set value "Yellow" +# + data modify storage asset:object Field.Scale set value [8f,8f,8f] + data modify storage asset:object Field.List set value [] + data modify storage asset:object Field.CharList.Yellow set value ["a","9","8","7","6","5","4","3","1"] + data modify storage asset:object Field.CharList.Pink set value ["l","k","j","i","h","g","f","e","c"] + data modify storage asset:object Field.CharList.Red set value ["w","v","u","t","s","r","q","p","n"] diff --git a/Asset/data/asset/functions/object/1180.yumeori_vfx/summon/.mcfunction b/Asset/data/asset/functions/object/1180.yumeori_vfx/summon/.mcfunction new file mode 100644 index 0000000000..b63759a0dd --- /dev/null +++ b/Asset/data/asset/functions/object/1180.yumeori_vfx/summon/.mcfunction @@ -0,0 +1,17 @@ +#> asset:object/1180.yumeori_vfx/summon/ +# +# Object召喚処理の呼び出し時に実行されるfunction +# +# @within asset:object/alias/1180/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 + data modify storage asset:temp Args.Scale set from storage asset:context this.Scale + data modify storage asset:temp Args.Translation set value [0f,0f,0f] + +# 位置調整する 何故かテクスチャ側だけじゃどうにもならなかったのでゴリ押し + execute store result storage asset:temp Args.Translation[0] float 0.000125 run data get storage asset:context this.Scale[0] 100 + execute store result storage asset:temp Args.Translation[1] float -0.00075 run data get storage asset:context this.Scale[1] 100 + function asset:object/1180.yumeori_vfx/summon/m with storage asset:temp Args + data remove storage asset:temp Args diff --git a/Asset/data/asset/functions/object/1180.yumeori_vfx/summon/m.mcfunction b/Asset/data/asset/functions/object/1180.yumeori_vfx/summon/m.mcfunction new file mode 100644 index 0000000000..feb7a4557d --- /dev/null +++ b/Asset/data/asset/functions/object/1180.yumeori_vfx/summon/m.mcfunction @@ -0,0 +1,7 @@ +#> asset:object/1180.yumeori_vfx/summon/m +# +# +# +# @within function asset:object/1180.yumeori_vfx/summon/ + + $summon text_display ~ ~ ~ {Rotation:$(Rotation),Tags:["ObjectInit"],text:'{"text":"0","font":"object/1180"}',alignment:"left",brightness:{sky:15,block:15},background:16711680,transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],scale:$(Scale),translation:$(Translation)},Passengers:[{id:"text_display",Rotation:$(Rotation),brightness:{sky:15,block:15},background:16711680,transformation:{left_rotation:[0f,1f,0f,0f],right_rotation:[0f,0f,0f,1f],scale:$(Scale),translation:$(Translation)}}]} diff --git a/Asset/data/asset/functions/object/1180.yumeori_vfx/tick/.mcfunction b/Asset/data/asset/functions/object/1180.yumeori_vfx/tick/.mcfunction new file mode 100644 index 0000000000..fee416ff0c --- /dev/null +++ b/Asset/data/asset/functions/object/1180.yumeori_vfx/tick/.mcfunction @@ -0,0 +1,16 @@ +#> asset:object/1180.yumeori_vfx/tick/ +# +# Objectのtick時の処理 +# +# @within asset:object/alias/1180/tick + +# 消滅処理 + execute unless data storage asset:context this.List[0] run function asset:object/1180.yumeori_vfx/tick/kill + +# 適用 + data modify storage asset:temp _.Char set from storage asset:context this.List[-1] + function asset:object/1180.yumeori_vfx/tick/apply.m with storage asset:temp _ + data remove storage asset:context this.List[-1] + +# リセット + data remove storage asset:temp _ diff --git a/Asset/data/asset/functions/object/1180.yumeori_vfx/tick/apply.m.mcfunction b/Asset/data/asset/functions/object/1180.yumeori_vfx/tick/apply.m.mcfunction new file mode 100644 index 0000000000..4b582e8165 --- /dev/null +++ b/Asset/data/asset/functions/object/1180.yumeori_vfx/tick/apply.m.mcfunction @@ -0,0 +1,9 @@ +#> asset:object/1180.yumeori_vfx/tick/apply.m +# +# +# +# @within function asset:object/1180.yumeori_vfx/tick/ + +# + $data modify entity @s text set value '{"text":"$(Char)","font":"object/1180"}' + $execute on passengers run data modify entity @s text set value '{"text":"$(Char)","font":"object/1180"}' diff --git a/Asset/data/asset/functions/object/1180.yumeori_vfx/tick/kill.mcfunction b/Asset/data/asset/functions/object/1180.yumeori_vfx/tick/kill.mcfunction new file mode 100644 index 0000000000..dc24f7267f --- /dev/null +++ b/Asset/data/asset/functions/object/1180.yumeori_vfx/tick/kill.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/1180.yumeori_vfx/tick/kill +# +# +# +# @within function asset:object/1180.yumeori_vfx/tick/ + + execute on passengers run kill @s + kill @s diff --git a/Asset/data/asset/functions/object/1181.yumeori_thunder/register.mcfunction b/Asset/data/asset/functions/object/1181.yumeori_thunder/register.mcfunction new file mode 100644 index 0000000000..4d1ec555f7 --- /dev/null +++ b/Asset/data/asset/functions/object/1181.yumeori_thunder/register.mcfunction @@ -0,0 +1,20 @@ +#> asset:object/1181.yumeori_thunder/register +# +# Objectのデータを指定 +# +# @within function asset:object/alias/1181/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 1181 +# フィールド(オプション) + # data modify storage asset:object Field.myValue set value \ No newline at end of file diff --git a/Asset/data/asset/functions/object/1181.yumeori_thunder/summon/.mcfunction b/Asset/data/asset/functions/object/1181.yumeori_thunder/summon/.mcfunction new file mode 100644 index 0000000000..62cd01ae5b --- /dev/null +++ b/Asset/data/asset/functions/object/1181.yumeori_thunder/summon/.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/1181.yumeori_thunder/summon/ +# +# Object召喚処理の呼び出し時に実行されるfunction +# +# @within asset:object/alias/1181/summon + +# 元となるEntityを召喚する + summon text_display ~ ~ ~ {Tags:["ObjectInit"],text:'{"text":"0","font":"object/1180"}',billboard:"vertical",alignment:"center",brightness:{sky:15,block:15},background:16711680,transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],scale:[5f,5f,5f],translation:[0f,2.5f,0f]}} diff --git a/Asset/data/asset/functions/object/1181.yumeori_thunder/tick/.mcfunction b/Asset/data/asset/functions/object/1181.yumeori_thunder/tick/.mcfunction new file mode 100644 index 0000000000..c65af83cdf --- /dev/null +++ b/Asset/data/asset/functions/object/1181.yumeori_thunder/tick/.mcfunction @@ -0,0 +1,15 @@ +#> asset:object/1181.yumeori_thunder/tick/ +# +# Objectのtick時の処理 +# +# @within asset:object/alias/1181/tick + +# Tick加算 + scoreboard players add @s General.Object.Tick 1 + + execute if score @s General.Object.Tick matches 2 run data modify entity @s text set value '{"text":"0","font":"object/1181"}' + execute if score @s General.Object.Tick matches 3 run data modify entity @s text set value '{"text":"1","font":"object/1181"}' + execute if score @s General.Object.Tick matches 4 run data modify entity @s text set value '{"text":"2","font":"object/1181"}' + +# 消滅処理 + kill @s[scores={General.Object.Tick=5..}] diff --git a/Asset/data/asset/functions/object/2195.eclael_death_animation/tick/drop.mcfunction b/Asset/data/asset/functions/object/2195.eclael_death_animation/tick/drop.mcfunction index 1e5d049059..3156d0f5df 100644 --- a/Asset/data/asset/functions/object/2195.eclael_death_animation/tick/drop.mcfunction +++ b/Asset/data/asset/functions/object/2195.eclael_death_animation/tick/drop.mcfunction @@ -8,3 +8,7 @@ data modify storage api: Argument.ID set value 1034 data modify storage api: Argument.Important set value true function api:artifact/spawn/from_id + + data modify storage api: Argument.ID set value 1307 + data modify storage api: Argument.Important set value true + function api:artifact/spawn/from_id diff --git a/Asset/data/asset/functions/object/alias/1176/pre_hit.mcfunction b/Asset/data/asset/functions/object/alias/1176/pre_hit.mcfunction new file mode 100644 index 0000000000..9d0fe6013c --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1176/pre_hit.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1176/pre_hit +# +# メソッド処理のエイリアス +# +# @within asset_manager:object/call_method/run_method.m + +# 元のメソッド処理を呼び出す + function asset:object/1176.arrow_of_yumeori/pre_hit/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/1176/recursive.mcfunction b/Asset/data/asset/functions/object/alias/1176/recursive.mcfunction new file mode 100644 index 0000000000..2949d31825 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1176/recursive.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1176/recursive +# +# メソッド処理のエイリアス +# +# @within asset_manager:object/call_method/run_method.m + +# 元のメソッド処理を呼び出す + function asset:object/1176.arrow_of_yumeori/recursive/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/1176/register.mcfunction b/Asset/data/asset/functions/object/alias/1176/register.mcfunction new file mode 100644 index 0000000000..28f9577f0d --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1176/register.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1176/register +# +# Objectのデータ指定処理のエイリアス +# +# @within asset_manager:object/summon/register.m + +# 元の登録処理を呼び出す + function asset:object/1176.arrow_of_yumeori/register \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/1176/summon.mcfunction b/Asset/data/asset/functions/object/alias/1176/summon.mcfunction new file mode 100644 index 0000000000..3a0e8b4459 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1176/summon.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1176/summon +# +# Object召喚処理のエイリアス +# +# @within asset_manager:object/summon/summon.m + +# 元の召喚処理を呼び出す + function asset:object/1176.arrow_of_yumeori/summon/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/1177/detect_hit_entity.mcfunction b/Asset/data/asset/functions/object/alias/1177/detect_hit_entity.mcfunction new file mode 100644 index 0000000000..9180a98378 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1177/detect_hit_entity.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1177/detect_hit_entity +# +# メソッド処理のエイリアス +# +# @within asset_manager:object/call_method/run_method.m + +# 元のメソッド処理を呼び出す + function asset:object/1177.arrow_of_yumeori_upper/detect_hit_entity/ diff --git a/Asset/data/asset/functions/object/alias/1177/range_over.mcfunction b/Asset/data/asset/functions/object/alias/1177/range_over.mcfunction new file mode 100644 index 0000000000..ce59544ca6 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1177/range_over.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1177/range_over +# +# メソッド処理のエイリアス +# +# @within asset_manager:object/call_method/run_method.m + +# 元のメソッド処理を呼び出す + function asset:object/1177.arrow_of_yumeori_upper/range_over/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/1177/register.mcfunction b/Asset/data/asset/functions/object/alias/1177/register.mcfunction new file mode 100644 index 0000000000..bde607c15c --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1177/register.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1177/register +# +# Objectのデータ指定処理のエイリアス +# +# @within asset_manager:object/summon/register.m + +# 元の登録処理を呼び出す + function asset:object/1177.arrow_of_yumeori_upper/register \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/1178/init.mcfunction b/Asset/data/asset/functions/object/alias/1178/init.mcfunction new file mode 100644 index 0000000000..3aaaaaed60 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1178/init.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1178/init +# +# Init処理のエイリアス +# +# @within asset_manager:object/init/init.m + +# 元のInit処理を呼び出す + function asset:object/1178.yumeori_falling_arrow_manager/init/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/1178/register.mcfunction b/Asset/data/asset/functions/object/alias/1178/register.mcfunction new file mode 100644 index 0000000000..36d5769dee --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1178/register.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1178/register +# +# Objectのデータ指定処理のエイリアス +# +# @within asset_manager:object/summon/register.m + +# 元の登録処理を呼び出す + function asset:object/1178.yumeori_falling_arrow_manager/register diff --git a/Asset/data/asset/functions/object/alias/1178/summon.mcfunction b/Asset/data/asset/functions/object/alias/1178/summon.mcfunction new file mode 100644 index 0000000000..f1951c7c39 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1178/summon.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1178/summon +# +# Object召喚処理のエイリアス +# +# @within asset_manager:object/summon/summon.m + +# 元の召喚処理を呼び出す + function asset:object/1178.yumeori_falling_arrow_manager/summon/ diff --git a/Asset/data/asset/functions/object/alias/1178/tick.mcfunction b/Asset/data/asset/functions/object/alias/1178/tick.mcfunction new file mode 100644 index 0000000000..03d185f82c --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1178/tick.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1178/tick +# +# Tick時処理のエイリアス +# +# @within asset_manager:object/tick/tick.m + +# 元のTick処理を呼び出す + function asset:object/1178.yumeori_falling_arrow_manager/tick/ diff --git a/Asset/data/asset/functions/object/alias/1179/init.mcfunction b/Asset/data/asset/functions/object/alias/1179/init.mcfunction new file mode 100644 index 0000000000..cac3b5215d --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1179/init.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1179/init +# +# Init処理のエイリアス +# +# @within asset_manager:object/init/init.m + +# 元のInit処理を呼び出す + function asset:object/1179.yumeori_falling_arrow/init/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/1179/register.mcfunction b/Asset/data/asset/functions/object/alias/1179/register.mcfunction new file mode 100644 index 0000000000..12ab5d3017 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1179/register.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1179/register +# +# Objectのデータ指定処理のエイリアス +# +# @within asset_manager:object/summon/register.m + +# 元の登録処理を呼び出す + function asset:object/1179.yumeori_falling_arrow/register \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/1179/summon.mcfunction b/Asset/data/asset/functions/object/alias/1179/summon.mcfunction new file mode 100644 index 0000000000..34f89df252 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1179/summon.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1179/summon +# +# Object召喚処理のエイリアス +# +# @within asset_manager:object/summon/summon.m + +# 元の召喚処理を呼び出す + function asset:object/1179.yumeori_falling_arrow/summon/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/1179/tick.mcfunction b/Asset/data/asset/functions/object/alias/1179/tick.mcfunction new file mode 100644 index 0000000000..f9f505b21b --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1179/tick.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1179/tick +# +# Tick時処理のエイリアス +# +# @within asset_manager:object/tick/tick.m + +# 元のTick処理を呼び出す + function asset:object/1179.yumeori_falling_arrow/tick/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/1180/init.mcfunction b/Asset/data/asset/functions/object/alias/1180/init.mcfunction new file mode 100644 index 0000000000..02c7478040 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1180/init.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1180/init +# +# Init処理のエイリアス +# +# @within asset_manager:object/init/init.m + +# 元のInit処理を呼び出す + function asset:object/1180.yumeori_vfx/init/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/1180/register.mcfunction b/Asset/data/asset/functions/object/alias/1180/register.mcfunction new file mode 100644 index 0000000000..d01133bd7b --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1180/register.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1180/register +# +# Objectのデータ指定処理のエイリアス +# +# @within asset_manager:object/summon/register.m + +# 元の登録処理を呼び出す + function asset:object/1180.yumeori_vfx/register \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/1180/summon.mcfunction b/Asset/data/asset/functions/object/alias/1180/summon.mcfunction new file mode 100644 index 0000000000..65e8d4c8d4 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1180/summon.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1180/summon +# +# Object召喚処理のエイリアス +# +# @within asset_manager:object/summon/summon.m + +# 元の召喚処理を呼び出す + function asset:object/1180.yumeori_vfx/summon/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/1180/tick.mcfunction b/Asset/data/asset/functions/object/alias/1180/tick.mcfunction new file mode 100644 index 0000000000..581392a1e9 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1180/tick.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1180/tick +# +# Tick時処理のエイリアス +# +# @within asset_manager:object/tick/tick.m + +# 元のTick処理を呼び出す + function asset:object/1180.yumeori_vfx/tick/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/1181/register.mcfunction b/Asset/data/asset/functions/object/alias/1181/register.mcfunction new file mode 100644 index 0000000000..d89864e572 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1181/register.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1181/register +# +# Objectのデータ指定処理のエイリアス +# +# @within asset_manager:object/summon/register.m + +# 元の登録処理を呼び出す + function asset:object/1181.yumeori_thunder/register \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/1181/summon.mcfunction b/Asset/data/asset/functions/object/alias/1181/summon.mcfunction new file mode 100644 index 0000000000..e01c002e7c --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1181/summon.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1181/summon +# +# Object召喚処理のエイリアス +# +# @within asset_manager:object/summon/summon.m + +# 元の召喚処理を呼び出す + function asset:object/1181.yumeori_thunder/summon/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/1181/tick.mcfunction b/Asset/data/asset/functions/object/alias/1181/tick.mcfunction new file mode 100644 index 0000000000..43cba68e3a --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1181/tick.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1181/tick +# +# Tick時処理のエイリアス +# +# @within asset_manager:object/tick/tick.m + +# 元のTick処理を呼び出す + function asset:object/1181.yumeori_thunder/tick/ \ 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 fdb7a26c47..c29679634a 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/1307.yumeori/give/1.trigger", "asset:artifact/1562.tsukimi_dango/give/1.trigger", "asset:artifact/1430.shield_of_fate/give/1.trigger", "asset:artifact/1453.frost_flake_bow/give/1.trigger", @@ -540,4 +541,4 @@ "asset:artifact/0735.collision_plate/give/1.trigger", "asset:artifact/0745.blade_of_whirlwind/give/1.trigger" ] -} +} \ No newline at end of file diff --git a/Asset/data/asset/tags/functions/artifact/shot.json b/Asset/data/asset/tags/functions/artifact/shot.json index 6c4b2001af..03d38e9b9e 100644 --- a/Asset/data/asset/tags/functions/artifact/shot.json +++ b/Asset/data/asset/tags/functions/artifact/shot.json @@ -1,5 +1,6 @@ { "values": [ + "asset:artifact/1307.yumeori/trigger/1.trigger", "asset:artifact/1453.frost_flake_bow/trigger/1.trigger", "asset:artifact/1061.hekireki/trigger/1.trigger", "asset:artifact/1262.honey_bee_stiring/trigger/1.trigger", diff --git a/Asset/data/asset/tags/functions/effect/register.json b/Asset/data/asset/tags/functions/effect/register.json index 78c10d4140..75735e26f1 100644 --- a/Asset/data/asset/tags/functions/effect/register.json +++ b/Asset/data/asset/tags/functions/effect/register.json @@ -1,5 +1,7 @@ { "values": [ + "asset:effect/0380.yumeori_falling/_/register", + "asset:effect/0379.yumeori_count/_/register", "asset:effect/0371.tsukimi/_/register", "asset:effect/0355.heart_gap/_/register", "asset:effect/0354.protection_of_courage/_/register", @@ -182,4 +184,4 @@ "asset:effect/0007.defense_base_debuff/_/register", "asset:effect/0258.spirit_melody/_/register" ] -} +} \ No newline at end of file