From c1afffef7110fa963ca9f416b8cdab3bb74eb0d6 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Wed, 23 Sep 2026 17:50:27 +0200 Subject: [PATCH 01/24] =?UTF-8?q?=E5=9F=BA=E6=9C=AC=E3=81=AEArtifact?= =?UTF-8?q?=E3=81=A8Effect=E3=82=92=E4=BD=9C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../give/1.trigger.mcfunction | 7 ++ .../1620.satelite_drop/give/2.give.mcfunction | 68 +++++++++++++++++++ .../1620.satelite_drop/register.mcfunction | 8 +++ .../trigger/1.trigger.mcfunction | 8 +++ .../trigger/2.check_condition.mcfunction | 26 +++++++ .../trigger/3.main.mcfunction | 13 ++++ .../trigger/attack.mcfunction | 23 +++++++ .../trigger/charge.mcfunction | 10 +++ .../_/end.mcfunction | 7 ++ .../_/re-given.mcfunction | 7 ++ .../_/register.mcfunction | 7 ++ .../0395.charge_satelite_drop/end/.mcfunction | 20 ++++++ .../re-given/.mcfunction | 20 ++++++ .../re-given/charge.mcfunction | 21 ++++++ .../register.mcfunction | 39 +++++++++++ .../0396.satelite_drop/_/re-given.mcfunction | 7 ++ .../0396.satelite_drop/_/register.mcfunction | 7 ++ .../0396.satelite_drop/register.mcfunction | 39 +++++++++++ .../_/register.mcfunction | 7 ++ .../register.mcfunction | 39 +++++++++++ .../asset/tags/functions/artifact/give.json | 1 + .../tags/functions/artifact/register.json | 1 + .../tags/functions/artifact/using_item.json | 3 +- .../data/asset/tags/functions/effect/end.json | 3 +- .../asset/tags/functions/effect/given.json | 2 +- .../asset/tags/functions/effect/re-given.json | 3 +- .../asset/tags/functions/effect/register.json | 3 + 27 files changed, 395 insertions(+), 4 deletions(-) create mode 100644 Asset/data/asset/functions/artifact/1620.satelite_drop/give/1.trigger.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1620.satelite_drop/give/2.give.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1620.satelite_drop/register.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/1.trigger.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/2.check_condition.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/3.main.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/attack.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/charge.mcfunction create mode 100644 Asset/data/asset/functions/effect/0395.charge_satelite_drop/_/end.mcfunction create mode 100644 Asset/data/asset/functions/effect/0395.charge_satelite_drop/_/re-given.mcfunction create mode 100644 Asset/data/asset/functions/effect/0395.charge_satelite_drop/_/register.mcfunction create mode 100644 Asset/data/asset/functions/effect/0395.charge_satelite_drop/end/.mcfunction create mode 100644 Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/.mcfunction create mode 100644 Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/charge.mcfunction create mode 100644 Asset/data/asset/functions/effect/0395.charge_satelite_drop/register.mcfunction create mode 100644 Asset/data/asset/functions/effect/0396.satelite_drop/_/re-given.mcfunction create mode 100644 Asset/data/asset/functions/effect/0396.satelite_drop/_/register.mcfunction create mode 100644 Asset/data/asset/functions/effect/0396.satelite_drop/register.mcfunction create mode 100644 Asset/data/asset/functions/effect/0397.satelite_drop_cooldown/_/register.mcfunction create mode 100644 Asset/data/asset/functions/effect/0397.satelite_drop_cooldown/register.mcfunction diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/give/1.trigger.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/give/1.trigger.mcfunction new file mode 100644 index 00000000000..c7480483c04 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/give/1.trigger.mcfunction @@ -0,0 +1,7 @@ +#> asset:artifact/1620.satelite_drop/give/1.trigger +# +# 神器の取得処理の呼び出し時に実行されるfunction +# +# @within tag/function asset:artifact/give + +execute if data storage asset:context {id:1620} run function asset:artifact/1620.satelite_drop/give/2.give \ No newline at end of file diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/give/2.give.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/give/2.give.mcfunction new file mode 100644 index 00000000000..7cf5a415659 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/give/2.give.mcfunction @@ -0,0 +1,68 @@ +#> asset:artifact/1620.satelite_drop/give/2.give +# +# 神器の作成部 ここでID等を定義する +# +# @user +# @within function asset:artifact/1620.satelite_drop/give/1.trigger + +# 神器の説明や消費MPなどをここで設定する。 +# 最後にasset:artifact/common/giveを実行することで入手可能。 + +# 神器のID (int) スプレッドシートの値を入れる + data modify storage asset:artifact ID set value 1620 +# 神器のベースアイテム + data modify storage asset:artifact Item set value "minecraft:ender_eye" +# 神器の名前 (TextComponentString) + data modify storage asset:artifact Name set value '{"text": "サテライトドロップ"}' +# 神器の説明文 (TextComponentString[]) + data modify storage asset:artifact Lore set value [] +# 消費アイテム ({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 "mainhand" +# 神器のトリガー (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 "150x1-3" +# 攻撃に関する情報 -攻撃タイプ (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 "never" +# 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション) + data modify storage asset:artifact AttackInfo.AttackRange set value "15.0" +# MP消費量 (int) + data modify storage asset:artifact MPCost set value 40 +# 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 200 +# 種別クールダウン ({Type: string, Duration: int}) (オプション) + data modify storage asset:artifact TypeCooldown.Type set value "longRange" + data modify storage asset:artifact TypeCooldown.Duration set value 15 +# グローバルクールダウン (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/1620.satelite_drop/register.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/register.mcfunction new file mode 100644 index 00000000000..cd400a8c4f9 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/register.mcfunction @@ -0,0 +1,8 @@ +#> asset:artifact/1620.satelite_drop/register +# +# 神器プールへの登録処理 +# +# @within tag/function asset:artifact/register + +data modify storage asset:artifact RarityRegistry[3] append value [1620] +data modify storage asset:artifact RarityRegistryWithColor.Red[3] append value [1620] diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/1.trigger.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/1.trigger.mcfunction new file mode 100644 index 00000000000..4ffc3d6ccfd --- /dev/null +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/1.trigger.mcfunction @@ -0,0 +1,8 @@ +#> asset:artifact/1620.satelite_drop/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:1620} run function asset:artifact/1620.satelite_drop/trigger/2.check_condition \ No newline at end of file diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/2.check_condition.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/2.check_condition.mcfunction new file mode 100644 index 00000000000..6cec2f104dc --- /dev/null +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/2.check_condition.mcfunction @@ -0,0 +1,26 @@ +#> asset:artifact/1620.satelite_drop/trigger/2.check_condition +# +# 神器の発動条件をチェックします +# +# @within function asset:artifact/1620.satelite_drop/trigger/1.trigger + +# クールダウン中(Effect397保持中)ならキャンセル + data modify storage api: Argument.ID set value 397 + function api:entity/mob/effect/get/from_id + execute if data storage api: Return.Effect run return fail + +# チャージ中(Effect395保持中)ならチャージ続行 + data modify storage api: Argument.ID set value 395 + function api:entity/mob/effect/get/from_id + execute if data storage api: Return.Effect run return run function asset:artifact/1620.satelite_drop/trigger/charge + +# Effect396があるなら攻撃 + data modify storage api: Argument.ID set value 396 + function api:entity/mob/effect/get/from_id + execute if data storage api: Return.Effect run return run function asset:artifact/1620.satelite_drop/trigger/attack + +# 神器の基本的な条件の確認を行うfunction、成功している場合CanUsedタグが付く + function asset:artifact/common/check_condition/mainhand + +# CanUsedタグをチェックして3.main.mcfunctionを実行する + execute if entity @s[tag=CanUsed] run function asset:artifact/1620.satelite_drop/trigger/3.main diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/3.main.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/3.main.mcfunction new file mode 100644 index 00000000000..08e4e3d9b34 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/3.main.mcfunction @@ -0,0 +1,13 @@ +#> asset:artifact/1620.satelite_drop/trigger/3.main +# +# 神器のメイン処理部 +# +# @within function asset:artifact/1620.satelite_drop/trigger/2.check_condition + +# 基本的な使用時の処理(MP消費や使用回数の処理など)を行う + function asset:artifact/common/use/mainhand + +# 既にチャージ済みでないならEffect395を付与 + data modify storage api: Argument.ID set value 396 + function api:entity/mob/effect/get/from_id + execute unless data storage api: Return.Effect run return run function asset:artifact/1620.satelite_drop/trigger/charge diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/attack.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/attack.mcfunction new file mode 100644 index 00000000000..2c541966c19 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/attack.mcfunction @@ -0,0 +1,23 @@ +#> asset:artifact/1620.satelite_drop/trigger/attack +# +# +# +# @within function asset:artifact/1620.satelite_drop/trigger/2.check_condition + +# ランダムなObject1192から待機中タグを外す + +# Effect396のスタックを1減らす + data modify storage api: Argument.ID set value 396 + function api:entity/mob/effect/get/from_id + data modify storage asset:context this.Return set from storage api: Return.Effect + + data modify storage api: Argument.ID set value 396 + execute store result storage api: Argument.Stack int 0.9999999999 run data get storage asset:context this.Return.Stack + data modify storage api: Argument.Duration set from storage asset:context this.Return.Duration + function api:entity/mob/effect/give + function api:entity/mob/effect/reset + +# クールダウン用Effect397を付与 + data modify storage api: Argument.ID set value 397 + function api:entity/mob/effect/give + function api:entity/mob/effect/reset diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/charge.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/charge.mcfunction new file mode 100644 index 00000000000..4c07d66fc75 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/charge.mcfunction @@ -0,0 +1,10 @@ +#> asset:artifact/1620.satelite_drop/trigger/charge +# +# +# +# @within function asset:artifact/1620.satelite_drop/trigger/** + +# Effect395を(再)付与 + data modify storage api: Argument.ID set value 395 + function api:entity/mob/effect/give + function api:entity/mob/effect/reset diff --git a/Asset/data/asset/functions/effect/0395.charge_satelite_drop/_/end.mcfunction b/Asset/data/asset/functions/effect/0395.charge_satelite_drop/_/end.mcfunction new file mode 100644 index 00000000000..cb58fb3853b --- /dev/null +++ b/Asset/data/asset/functions/effect/0395.charge_satelite_drop/_/end.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0395.charge_satelite_drop/_/end +# +# Effectの効果の終了時に実行されるfunction +# +# @within tag/function asset:effect/end + +execute if data storage asset:context {id:395} run function asset:effect/0395.charge_satelite_drop/end/ \ No newline at end of file diff --git a/Asset/data/asset/functions/effect/0395.charge_satelite_drop/_/re-given.mcfunction b/Asset/data/asset/functions/effect/0395.charge_satelite_drop/_/re-given.mcfunction new file mode 100644 index 00000000000..2dd2288c333 --- /dev/null +++ b/Asset/data/asset/functions/effect/0395.charge_satelite_drop/_/re-given.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0395.charge_satelite_drop/_/re-given +# +# Effectが上書きされた時に実行されるfunction +# +# @within tag/function asset:effect/re-given + +execute if data storage asset:context {id:395} run function asset:effect/0395.charge_satelite_drop/re-given/ diff --git a/Asset/data/asset/functions/effect/0395.charge_satelite_drop/_/register.mcfunction b/Asset/data/asset/functions/effect/0395.charge_satelite_drop/_/register.mcfunction new file mode 100644 index 00000000000..2b887097474 --- /dev/null +++ b/Asset/data/asset/functions/effect/0395.charge_satelite_drop/_/register.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0395.charge_satelite_drop/_/register +# +# +# +# @within tag/function asset:effect/register + +execute if data storage asset:context {id:395} run function asset:effect/0395.charge_satelite_drop/register diff --git a/Asset/data/asset/functions/effect/0395.charge_satelite_drop/end/.mcfunction b/Asset/data/asset/functions/effect/0395.charge_satelite_drop/end/.mcfunction new file mode 100644 index 00000000000..32486744c2d --- /dev/null +++ b/Asset/data/asset/functions/effect/0395.charge_satelite_drop/end/.mcfunction @@ -0,0 +1,20 @@ +#> asset:effect/0395.charge_satelite_drop/end/ +# +# Effectの効果が切れた時の処理 +# +# @within function asset:effect/0395.charge_satelite_drop/_/end + +#> Private +# @private + #declare score_holder $Stack + +# スタックを引き継いでEffect396付与 + data modify storage api: Argument.ID set value 396 + execute store result score $Stack Temporary run data get storage asset:context Stack + execute store result storage api: Argument.Stack int 1 run scoreboard players get $Stack Temporary + execute store result storage api: Argument.Duration int 600 run scoreboard players get $Stack Temporary + function api:entity/mob/effect/give + function api:entity/mob/effect/reset + +# リセット + scoreboard players reset $Stack Temporary diff --git a/Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/.mcfunction b/Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/.mcfunction new file mode 100644 index 00000000000..246c81d8ab6 --- /dev/null +++ b/Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/.mcfunction @@ -0,0 +1,20 @@ +#> asset:effect/0395.charge_satelite_drop/re-given/ +# +# Effectが上書きされた時の処理 +# +# @within function asset:effect/0395.charge_satelite_drop/_/re-given + +#> Private +# @private + #declare score_holder $Charge + +# チャージ時間を取得&加算 + execute store result score $Charge Temporary run data get storage asset:context PreviousField.Charge + execute store result storage asset:context this.Charge int 1 run scoreboard players add $Charge Temporary 1 + +# チャージ時間30tickごとにスタックを加算 + scoreboard players operation $Charge Temporary %= $30 Const + execute if score $Charge Temporary matches 0 run function asset:effect/0395.charge_satelite_drop/re-given/charge + +# リセット + scoreboard players reset $Charge Temporary diff --git a/Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/charge.mcfunction b/Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/charge.mcfunction new file mode 100644 index 00000000000..1f4212761d5 --- /dev/null +++ b/Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/charge.mcfunction @@ -0,0 +1,21 @@ +#> asset:effect/0395.charge_satelite_drop/re-given/charge +# +# +# +# @within function asset:effect/0395.charge_satelite_drop/re-given/ + +#> Private +# @private + #declare score_holder $Stack + +# # Effect 396を付与 +# data modify storage api: Argument.ID set value 396 +# function api:entity/mob/effect/give +# function api:entity/mob/effect/reset + +# スタック+1 + execute store result score $Stack Temporary run data get storage asset:context Stack + execute store result storage asset:context Stack int 1 run scoreboard players add $Stack Temporary 1 + +# リセット + scoreboard players reset $Stack Temporary diff --git a/Asset/data/asset/functions/effect/0395.charge_satelite_drop/register.mcfunction b/Asset/data/asset/functions/effect/0395.charge_satelite_drop/register.mcfunction new file mode 100644 index 00000000000..e409e826824 --- /dev/null +++ b/Asset/data/asset/functions/effect/0395.charge_satelite_drop/register.mcfunction @@ -0,0 +1,39 @@ +#> asset:effect/0395.charge_satelite_drop/register +# +# Effectのデータを指定 +# +# @within function asset:effect/0395.charge_satelite_drop/_/register + +# ExtendsSafe (boolean) (default = false) + # data modify storage asset:effect ExtendsSafe set value true +# ID (int) + data modify storage asset:effect ID set value 395 +# 名前 (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 1 +# スタック (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 3 +# 悪い効果か否か (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 + +# フィールド + data modify storage asset:effect Field.Charge set value 0 diff --git a/Asset/data/asset/functions/effect/0396.satelite_drop/_/re-given.mcfunction b/Asset/data/asset/functions/effect/0396.satelite_drop/_/re-given.mcfunction new file mode 100644 index 00000000000..9259fcd0c94 --- /dev/null +++ b/Asset/data/asset/functions/effect/0396.satelite_drop/_/re-given.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0396.satelite_drop/_/re-given +# +# Effectが上書きされた時に実行されるfunction +# +# @within tag/function asset:effect/re-given + +execute if data storage asset:context {id:396} run function asset:effect/0396.satelite_drop/re-given/ \ No newline at end of file diff --git a/Asset/data/asset/functions/effect/0396.satelite_drop/_/register.mcfunction b/Asset/data/asset/functions/effect/0396.satelite_drop/_/register.mcfunction new file mode 100644 index 00000000000..e0745aa3457 --- /dev/null +++ b/Asset/data/asset/functions/effect/0396.satelite_drop/_/register.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0396.satelite_drop/_/register +# +# +# +# @within tag/function asset:effect/register + +execute if data storage asset:context {id:396} run function asset:effect/0396.satelite_drop/register \ No newline at end of file diff --git a/Asset/data/asset/functions/effect/0396.satelite_drop/register.mcfunction b/Asset/data/asset/functions/effect/0396.satelite_drop/register.mcfunction new file mode 100644 index 00000000000..530bd7dc6a3 --- /dev/null +++ b/Asset/data/asset/functions/effect/0396.satelite_drop/register.mcfunction @@ -0,0 +1,39 @@ +#> asset:effect/0396.satelite_drop/register +# +# Effectのデータを指定 +# +# @within function asset:effect/0396.satelite_drop/_/register + +# ExtendsSafe (boolean) (default = false) + # data modify storage asset:effect ExtendsSafe set value true +# ID (int) + data modify storage asset:effect ID set value 396 +# 名前 (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 "forceReplace" +# スタックの操作方法 (default = API || "replace") + data modify storage asset:effect StackOperation set value "forceReplace" +# 最大効果時間 (int) (default = 2147483647) + data modify storage asset:effect MaxDuration set value 1800 +# 最大スタック (int) (default = 2147483647) + data modify storage asset:effect MaxStack set value 3 +# 悪い効果か否か (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 + +# フィールド + # data modify storage asset:effect Field set value {} diff --git a/Asset/data/asset/functions/effect/0397.satelite_drop_cooldown/_/register.mcfunction b/Asset/data/asset/functions/effect/0397.satelite_drop_cooldown/_/register.mcfunction new file mode 100644 index 00000000000..721095dc267 --- /dev/null +++ b/Asset/data/asset/functions/effect/0397.satelite_drop_cooldown/_/register.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0397.satelite_drop_cooldown/_/register +# +# +# +# @within tag/function asset:effect/register + +execute if data storage asset:context {id:397} run function asset:effect/0397.satelite_drop_cooldown/register \ No newline at end of file diff --git a/Asset/data/asset/functions/effect/0397.satelite_drop_cooldown/register.mcfunction b/Asset/data/asset/functions/effect/0397.satelite_drop_cooldown/register.mcfunction new file mode 100644 index 00000000000..9c01693df0e --- /dev/null +++ b/Asset/data/asset/functions/effect/0397.satelite_drop_cooldown/register.mcfunction @@ -0,0 +1,39 @@ +#> asset:effect/0397.satelite_drop_cooldown/register +# +# Effectのデータを指定 +# +# @within function asset:effect/0397.satelite_drop_cooldown/_/register + +# ExtendsSafe (boolean) (default = false) + # data modify storage asset:effect ExtendsSafe set value true +# ID (int) + data modify storage asset:effect ID set value 397 +# 名前 (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 2 +# スタック (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 +# 悪い効果か否か (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/tags/functions/artifact/give.json b/Asset/data/asset/tags/functions/artifact/give.json index 36bdb74b2d3..601c3ef8ae2 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/1620.satelite_drop/give/1.trigger", "asset:artifact/1474.ninja_kunai/give/1.trigger", "asset:artifact/1473.ninja_sandals/give/1.trigger", "asset:artifact/1472.ninja_pants/give/1.trigger", diff --git a/Asset/data/asset/tags/functions/artifact/register.json b/Asset/data/asset/tags/functions/artifact/register.json index 6bffb2d8600..2c5b91dfee4 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/1620.satelite_drop/register", "asset:artifact/1474.ninja_kunai/register", "asset:artifact/1470.ninja_hood/register", "asset:artifact/1562.tsukimi_dango/register", diff --git a/Asset/data/asset/tags/functions/artifact/using_item.json b/Asset/data/asset/tags/functions/artifact/using_item.json index d057af6e5f9..e0b06dbf1d2 100644 --- a/Asset/data/asset/tags/functions/artifact/using_item.json +++ b/Asset/data/asset/tags/functions/artifact/using_item.json @@ -1,5 +1,6 @@ { "values": [ + "asset:artifact/1620.satelite_drop/trigger/1.trigger", "asset:artifact/1453.frost_flake_bow/using_item/1.trigger", "asset:artifact/1220.sacred_hardener/trigger/1.trigger", "asset:artifact/1269.apocalypse/using_item/1.trigger", @@ -17,4 +18,4 @@ "asset:artifact/0948.ft_139_rifle/trigger/1.trigger", "asset:artifact/0876.uni/trigger/1.trigger" ] -} +} \ No newline at end of file diff --git a/Asset/data/asset/tags/functions/effect/end.json b/Asset/data/asset/tags/functions/effect/end.json index c9796ea3fae..ae9db024ac9 100644 --- a/Asset/data/asset/tags/functions/effect/end.json +++ b/Asset/data/asset/tags/functions/effect/end.json @@ -1,5 +1,6 @@ { "values": [ + "asset:effect/0395.charge_satelite_drop/_/end", "asset:effect/0371.tsukimi/_/end", "asset:effect/0355.heart_gap/_/end", "asset:effect/0354.protection_of_courage/_/end", @@ -112,4 +113,4 @@ "asset:effect/0007.defense_base_debuff/_/end", "asset:effect/0258.spirit_melody/_/end" ] -} +} \ No newline at end of file diff --git a/Asset/data/asset/tags/functions/effect/given.json b/Asset/data/asset/tags/functions/effect/given.json index 1d1d3105419..d26717efbf4 100644 --- a/Asset/data/asset/tags/functions/effect/given.json +++ b/Asset/data/asset/tags/functions/effect/given.json @@ -107,4 +107,4 @@ "asset:effect/0007.defense_base_debuff/_/given", "asset:effect/0258.spirit_melody/_/given" ] -} \ No newline at end of file +} diff --git a/Asset/data/asset/tags/functions/effect/re-given.json b/Asset/data/asset/tags/functions/effect/re-given.json index 4ce56d65a3b..fe1ca07187b 100644 --- a/Asset/data/asset/tags/functions/effect/re-given.json +++ b/Asset/data/asset/tags/functions/effect/re-given.json @@ -1,5 +1,6 @@ { "values": [ + "asset:effect/0395.charge_satelite_drop/_/re-given", "asset:effect/0384.ninjas_mindset/_/re-given", "asset:effect/0371.tsukimi/_/re-given", "asset:effect/0348.cool_feeling/_/re-given", @@ -63,4 +64,4 @@ "asset:effect/0007.defense_base_debuff/_/re-given", "asset:effect/0258.spirit_melody/_/re-given" ] -} \ No newline at end of file +} diff --git a/Asset/data/asset/tags/functions/effect/register.json b/Asset/data/asset/tags/functions/effect/register.json index 96d1e95928e..11af95d2786 100644 --- a/Asset/data/asset/tags/functions/effect/register.json +++ b/Asset/data/asset/tags/functions/effect/register.json @@ -1,5 +1,8 @@ { "values": [ + "asset:effect/0397.satelite_drop_cooldown/_/register", + "asset:effect/0396.satelite_drop/_/register", + "asset:effect/0395.charge_satelite_drop/_/register", "asset:effect/0385.latency/_/register", "asset:effect/0384.ninjas_mindset/_/register", "asset:effect/0371.tsukimi/_/register", From 4ce8a13c215bc0b266bf08303b603f5ef4981256 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Mon, 28 Sep 2026 19:19:42 +0200 Subject: [PATCH 02/24] =?UTF-8?q?=E5=BC=BE=E3=81=AEObject=E3=82=92?= =?UTF-8?q?=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../trigger/attack.mcfunction | 5 ++- .../trigger/charge.mcfunction | 5 +++ .../trigger/launch.mcfunction | 11 +++++++ .../0395.charge_satelite_drop/end/.mcfunction | 6 +++- .../re-given/.mcfunction | 4 ++- .../0396.satelite_drop/_/given.mcfunction | 7 +++++ .../0396.satelite_drop/given/.mcfunction | 23 ++++++++++++++ .../given/summon.m.mcfunction | 31 +++++++++++++++++++ .../1192.satelite_drop/_index.d.mcfunction | 13 ++++++++ .../detect_hit_entity/.mcfunction | 8 +++++ .../1192.satelite_drop/hit_entity/.mcfunction | 9 ++++++ .../hit_entity/damage.mcfunction | 20 ++++++++++++ .../1192.satelite_drop/init/.mcfunction | 11 +++++++ .../object/1192.satelite_drop/load.mcfunction | 9 ++++++ .../1192.satelite_drop/register.mcfunction | 28 +++++++++++++++++ .../1192.satelite_drop/summon/.mcfunction | 8 +++++ .../summon/debug.mcfunction | 10 ++++++ .../1192.satelite_drop/tick/.mcfunction | 29 +++++++++++++++++ .../1192.satelite_drop/tick/idle/.mcfunction | 15 +++++++++ .../1192.satelite_drop/tick/idle/m.mcfunction | 7 +++++ .../alias/1192/detect_hit_entity.mcfunction | 8 +++++ .../object/alias/1192/hit_entity.mcfunction | 8 +++++ .../object/alias/1192/init.mcfunction | 8 +++++ .../object/alias/1192/register.mcfunction | 8 +++++ .../object/alias/1192/summon.mcfunction | 8 +++++ .../object/alias/1192/tick.mcfunction | 8 +++++ .../asset/tags/functions/effect/given.json | 3 +- .../asset/tags/functions/object/load.json | 3 +- 28 files changed, 308 insertions(+), 5 deletions(-) create mode 100644 Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/launch.mcfunction create mode 100644 Asset/data/asset/functions/effect/0396.satelite_drop/_/given.mcfunction create mode 100644 Asset/data/asset/functions/effect/0396.satelite_drop/given/.mcfunction create mode 100644 Asset/data/asset/functions/effect/0396.satelite_drop/given/summon.m.mcfunction create mode 100644 Asset/data/asset/functions/object/1192.satelite_drop/_index.d.mcfunction create mode 100644 Asset/data/asset/functions/object/1192.satelite_drop/detect_hit_entity/.mcfunction create mode 100644 Asset/data/asset/functions/object/1192.satelite_drop/hit_entity/.mcfunction create mode 100644 Asset/data/asset/functions/object/1192.satelite_drop/hit_entity/damage.mcfunction create mode 100644 Asset/data/asset/functions/object/1192.satelite_drop/init/.mcfunction create mode 100644 Asset/data/asset/functions/object/1192.satelite_drop/load.mcfunction create mode 100644 Asset/data/asset/functions/object/1192.satelite_drop/register.mcfunction create mode 100644 Asset/data/asset/functions/object/1192.satelite_drop/summon/.mcfunction create mode 100644 Asset/data/asset/functions/object/1192.satelite_drop/summon/debug.mcfunction create mode 100644 Asset/data/asset/functions/object/1192.satelite_drop/tick/.mcfunction create mode 100644 Asset/data/asset/functions/object/1192.satelite_drop/tick/idle/.mcfunction create mode 100644 Asset/data/asset/functions/object/1192.satelite_drop/tick/idle/m.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/1192/detect_hit_entity.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/1192/hit_entity.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/1192/init.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/1192/register.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/1192/summon.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/1192/tick.mcfunction diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/attack.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/attack.mcfunction index 2c541966c19..5fca54f7e2a 100644 --- a/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/attack.mcfunction +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/attack.mcfunction @@ -4,7 +4,10 @@ # # @within function asset:artifact/1620.satelite_drop/trigger/2.check_condition -# ランダムなObject1192から待機中タグを外す +# ランダムなObject1192から1192.Idleを外す + execute as @e[type=marker,tag=1192.Idle,distance=..3] if score @s 1192.UserID = @p[tag=this] UserID run tag @s add 1192.Launchable + execute anchored eyes positioned ^ ^-0.1 ^0.5 as @e[type=marker,tag=1192.Launchable,distance=..3,sort=arbitrary,limit=1] run function asset:artifact/1620.satelite_drop/trigger/launch + tag @e[type=marker,tag=1192.Launchable,distance=..3] remove 1192.Launchable # Effect396のスタックを1減らす data modify storage api: Argument.ID set value 396 diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/charge.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/charge.mcfunction index 4c07d66fc75..27ee56cd1e8 100644 --- a/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/charge.mcfunction +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/charge.mcfunction @@ -5,6 +5,11 @@ # @within function asset:artifact/1620.satelite_drop/trigger/** # Effect395を(再)付与 + #攻撃情報も設定 + data modify storage api: Argument.FieldOverride.Damage set value 150 + data modify storage api: Argument.FieldOverride.AttackType set value "Magic" + data modify storage api: Argument.FieldOverride.ElementType set value "Water" + data modify storage api: Argument.ID set value 395 function api:entity/mob/effect/give function api:entity/mob/effect/reset diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/launch.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/launch.mcfunction new file mode 100644 index 00000000000..975c6c76ed6 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/launch.mcfunction @@ -0,0 +1,11 @@ +#> asset:artifact/1620.satelite_drop/trigger/launch +# +# +# +# @within function asset:artifact/1620.satelite_drop/trigger/attack + +# 1192.Idleを外す + tag @s remove 1192.Idle + +# 位置を調整 + tp @s ^ ^ ^ ~ ~ diff --git a/Asset/data/asset/functions/effect/0395.charge_satelite_drop/end/.mcfunction b/Asset/data/asset/functions/effect/0395.charge_satelite_drop/end/.mcfunction index 32486744c2d..25ac1d062b7 100644 --- a/Asset/data/asset/functions/effect/0395.charge_satelite_drop/end/.mcfunction +++ b/Asset/data/asset/functions/effect/0395.charge_satelite_drop/end/.mcfunction @@ -8,8 +8,12 @@ # @private #declare score_holder $Stack -# スタックを引き継いでEffect396付与 +# スタックと攻撃情報を引き継いでEffect396付与 data modify storage api: Argument.ID set value 396 + data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage + data modify storage api: Argument.FieldOverride.AttackType set from storage asset:context this.AttackType + data modify storage api: Argument.FieldOverride.ElementType set from storage asset:context this.ElementType + execute store result score $Stack Temporary run data get storage asset:context Stack execute store result storage api: Argument.Stack int 1 run scoreboard players get $Stack Temporary execute store result storage api: Argument.Duration int 600 run scoreboard players get $Stack Temporary diff --git a/Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/.mcfunction b/Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/.mcfunction index 246c81d8ab6..7c05a0321d6 100644 --- a/Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/.mcfunction +++ b/Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/.mcfunction @@ -8,7 +8,9 @@ # @private #declare score_holder $Charge -# チャージ時間を取得&加算 +# Field引き継ぎ + data modify storage asset:context this set from storage asset:context PreviousField + #チャージ時間はさらに加算 execute store result score $Charge Temporary run data get storage asset:context PreviousField.Charge execute store result storage asset:context this.Charge int 1 run scoreboard players add $Charge Temporary 1 diff --git a/Asset/data/asset/functions/effect/0396.satelite_drop/_/given.mcfunction b/Asset/data/asset/functions/effect/0396.satelite_drop/_/given.mcfunction new file mode 100644 index 00000000000..179a27c0fc6 --- /dev/null +++ b/Asset/data/asset/functions/effect/0396.satelite_drop/_/given.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0396.satelite_drop/_/given +# +# Effectが付与された時に実行されるfunction +# +# @within tag/function asset:effect/given + +execute if data storage asset:context {id:396} run function asset:effect/0396.satelite_drop/given/ \ No newline at end of file diff --git a/Asset/data/asset/functions/effect/0396.satelite_drop/given/.mcfunction b/Asset/data/asset/functions/effect/0396.satelite_drop/given/.mcfunction new file mode 100644 index 00000000000..2897d1b3381 --- /dev/null +++ b/Asset/data/asset/functions/effect/0396.satelite_drop/given/.mcfunction @@ -0,0 +1,23 @@ +#> asset:effect/0396.satelite_drop/given/ +# +# Effectが付与された時の処理 +# +# @within function asset:effect/0396.satelite_drop/_/given + +#> Private +# @within function asset:effect/0396.satelite_drop/given/** + #declare score_holder $Stack + #declare score_holder $360 + +# (Stack)個のObject1192を召喚 + execute store result score $Stack Temporary run data get storage asset:context Stack + #(360/Stack)°間隔で召喚 + scoreboard players set $360 Temporary 360 + execute store result storage asset:temp Args.Angle int 1 run scoreboard players operation $360 Temporary /= $Stack Temporary + execute store result storage asset:temp Args.Count int 1 run scoreboard players get $Stack Temporary + execute at @s positioned ~ ~0.75 ~ run function asset:effect/0396.satelite_drop/given/summon.m with storage asset:temp Args + +# リセット + scoreboard players reset $Stack Temporary + scoreboard players reset $360 Temporary + data remove storage asset:temp Args diff --git a/Asset/data/asset/functions/effect/0396.satelite_drop/given/summon.m.mcfunction b/Asset/data/asset/functions/effect/0396.satelite_drop/given/summon.m.mcfunction new file mode 100644 index 00000000000..6c73d46fb65 --- /dev/null +++ b/Asset/data/asset/functions/effect/0396.satelite_drop/given/summon.m.mcfunction @@ -0,0 +1,31 @@ +#> asset:effect/0396.satelite_drop/given/summon.m +# +# +# +# @within function asset:effect/0396.satelite_drop/given/** + +#> Private +# @private + #declare score_holder $Rotation + +# $Stackを再帰用にリサイクル + scoreboard players remove $Stack Temporary 1 + +# Object1192召喚 + #攻撃情報 + data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage + data modify storage api: Argument.FieldOverride.AttackType set from storage asset:context this.AttackType + data modify storage api: Argument.FieldOverride.ElementType set from storage asset:context this.ElementType + data modify storage api: Argument.ID set value 1192 + execute store result storage api: Argument.FieldOverride.UserID int 1 run scoreboard players get @s UserID + #$(Angle)°ずつ角度をを変えて召喚 + $scoreboard players set $Rotation Temporary $(Angle) + execute store result storage api: Argument.FieldOverride.Angle int 1 run scoreboard players operation $Rotation Temporary *= $Stack Temporary + $data modify storage api: Argument.FieldOverride.Count set value $(Count) + execute rotated ~ 0 positioned ^ ^ ^0.75 run function api:object/summon + +# リセット + scoreboard players reset $Rotation Temporary + +# 回転して再帰 + $execute rotated ~$(Angle) ~ if score $Stack Temporary matches 1.. run function asset:effect/0396.satelite_drop/given/summon.m with storage asset:temp Args diff --git a/Asset/data/asset/functions/object/1192.satelite_drop/_index.d.mcfunction b/Asset/data/asset/functions/object/1192.satelite_drop/_index.d.mcfunction new file mode 100644 index 00000000000..c3215d57529 --- /dev/null +++ b/Asset/data/asset/functions/object/1192.satelite_drop/_index.d.mcfunction @@ -0,0 +1,13 @@ +#> asset:object/1192.satelite_drop/_index.d +# @private + +#> tag +# @within function asset:object/1192.satelite_drop/** +# @within function asset:artifact/1620.satelite_drop/** + #declare tag 1192.Idle + #declare tag 1192.Launchable + +#> scoreboard +# @within function asset:object/1192.satelite_drop/** +# @within function asset:artifact/1620.satelite_drop/** + #declare objective 1192.UserID diff --git a/Asset/data/asset/functions/object/1192.satelite_drop/detect_hit_entity/.mcfunction b/Asset/data/asset/functions/object/1192.satelite_drop/detect_hit_entity/.mcfunction new file mode 100644 index 00000000000..7f291c0e882 --- /dev/null +++ b/Asset/data/asset/functions/object/1192.satelite_drop/detect_hit_entity/.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/1192.satelite_drop/detect_hit_entity/ +# +# 継承先などから実行される処理 +# +# @within asset:object/alias/1192/detect_hit_entity + +# 判定 + execute positioned ~-0.5 ~-0.5 ~-0.5 if entity @e[type=#lib:living_without_player,tag=!Uninterferable,dx=0] run data modify storage asset:context IsHitEntity set value true diff --git a/Asset/data/asset/functions/object/1192.satelite_drop/hit_entity/.mcfunction b/Asset/data/asset/functions/object/1192.satelite_drop/hit_entity/.mcfunction new file mode 100644 index 00000000000..472f96d1ab5 --- /dev/null +++ b/Asset/data/asset/functions/object/1192.satelite_drop/hit_entity/.mcfunction @@ -0,0 +1,9 @@ +#> asset:object/1192.satelite_drop/hit_entity/ +# +# 継承先などから実行される処理 +# +# @within asset:object/alias/1192/hit_entity + +# ダメージを与えてkill + execute positioned ~-0.5 ~-0.5 ~-0.5 as @e[type=#lib:living_without_player,tag=!Uninterferable,dx=0,sort=random,limit=1] run function asset:object/1192.satelite_drop/hit_entity/damage + function asset:object/call.m {method:kill} diff --git a/Asset/data/asset/functions/object/1192.satelite_drop/hit_entity/damage.mcfunction b/Asset/data/asset/functions/object/1192.satelite_drop/hit_entity/damage.mcfunction new file mode 100644 index 00000000000..5370ddf3e49 --- /dev/null +++ b/Asset/data/asset/functions/object/1192.satelite_drop/hit_entity/damage.mcfunction @@ -0,0 +1,20 @@ +#> asset:object/1192.satelite_drop/hit_entity/damage +# +# +# +# @within function asset:object/1192.satelite_drop/hit_entity/ + +#> Private +# @private + #declare score_holder $UserID + + data modify storage api: Argument.Damage set from storage asset:context this.Damage + data modify storage api: Argument.AttackType set from storage asset:context this.AttackType + data modify storage api: Argument.ElementType set from storage asset:context this.ElementType + 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 + function api:damage/ + function api:damage/reset + +# リセット + scoreboard players reset $UserID Temporary diff --git a/Asset/data/asset/functions/object/1192.satelite_drop/init/.mcfunction b/Asset/data/asset/functions/object/1192.satelite_drop/init/.mcfunction new file mode 100644 index 00000000000..55a987ec795 --- /dev/null +++ b/Asset/data/asset/functions/object/1192.satelite_drop/init/.mcfunction @@ -0,0 +1,11 @@ +#> asset:object/1192.satelite_drop/init/ +# +# Objectのinit時の処理 +# +# @within asset:object/alias/1192/init + +# タイマー設定(召喚数×600Tick) + execute store result score @s General.Object.Tick run data get storage asset:context this.Count 600 + +# Artifact側からアクセスする用のID紐づけ + execute store result score @s 1192.UserID run data get storage asset:context this.UserID diff --git a/Asset/data/asset/functions/object/1192.satelite_drop/load.mcfunction b/Asset/data/asset/functions/object/1192.satelite_drop/load.mcfunction new file mode 100644 index 00000000000..48b7657c0ff --- /dev/null +++ b/Asset/data/asset/functions/object/1192.satelite_drop/load.mcfunction @@ -0,0 +1,9 @@ +#> asset:object/1192.satelite_drop/load +# +# Objectに利用するスコアボード等の初期化処理 +# +# @within tag/function asset:object/load + +#> 定義類はここに +# @within function asset:object/1192.satelite_drop/** + scoreboard objectives add 1192.UserID dummy diff --git a/Asset/data/asset/functions/object/1192.satelite_drop/register.mcfunction b/Asset/data/asset/functions/object/1192.satelite_drop/register.mcfunction new file mode 100644 index 00000000000..b974d7426f7 --- /dev/null +++ b/Asset/data/asset/functions/object/1192.satelite_drop/register.mcfunction @@ -0,0 +1,28 @@ +#> asset:object/1192.satelite_drop/register +# +# Objectのデータを指定 +# +# @within function asset:object/alias/1192/register + +# 継承(オプション) + data modify storage asset:object Extends append value 1 + 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 true + +# ID (int) + data modify storage asset:object ID set value 1192 +# フィールド(オプション) + data modify storage asset:object Field.UserID set value -1 + data modify storage asset:object Field.Angle set value 0 + data modify storage asset:object Field.Count set value 0 + #発射体のField + data modify storage asset:object Field.Speed set value 3 + data modify storage asset:object Field.Range set value 15 + data modify storage asset:object Field.MovePerStep set value 1 + data modify storage asset:object Field.RemainingRange set value 15 + data modify storage asset:object Field.Damage set value 0 diff --git a/Asset/data/asset/functions/object/1192.satelite_drop/summon/.mcfunction b/Asset/data/asset/functions/object/1192.satelite_drop/summon/.mcfunction new file mode 100644 index 00000000000..0cf3b53ab7d --- /dev/null +++ b/Asset/data/asset/functions/object/1192.satelite_drop/summon/.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/1192.satelite_drop/summon/ +# +# Object召喚処理の呼び出し時に実行されるfunction +# +# @within asset:object/alias/1192/summon + +# 元となるEntityを召喚する + summon marker ~ ~ ~ {Tags:["ObjectInit","1192.Idle"]} diff --git a/Asset/data/asset/functions/object/1192.satelite_drop/summon/debug.mcfunction b/Asset/data/asset/functions/object/1192.satelite_drop/summon/debug.mcfunction new file mode 100644 index 00000000000..1a95dd73c53 --- /dev/null +++ b/Asset/data/asset/functions/object/1192.satelite_drop/summon/debug.mcfunction @@ -0,0 +1,10 @@ +#> asset:object/1192.satelite_drop/summon/debug +# +# 動作チェック用の召喚処理 使い終わったら消してもいいかも +# +# @user +# @private + +# 召喚 + data modify storage api: Argument.ID set value 1192 + function api:object/summon \ No newline at end of file diff --git a/Asset/data/asset/functions/object/1192.satelite_drop/tick/.mcfunction b/Asset/data/asset/functions/object/1192.satelite_drop/tick/.mcfunction new file mode 100644 index 00000000000..afa083a25f4 --- /dev/null +++ b/Asset/data/asset/functions/object/1192.satelite_drop/tick/.mcfunction @@ -0,0 +1,29 @@ +#> asset:object/1192.satelite_drop/tick/ +# +# Objectのtick時の処理 +# +# @within asset:object/alias/1192/tick + +#> Private +# @private + #declare score_holder $UserID + +# Tick加算 + scoreboard players remove @s[tag=1192.Idle] General.Object.Tick 1 + +# 1192.Idleの有無で処理を分岐 + #あるならプレイヤーの周りを回転 + execute store result score $UserID Temporary run data get storage asset:context this.UserID + execute if entity @s[tag=1192.Idle] as @a if score @s UserID = $UserID Temporary at @s as @e[type=marker,tag=this,limit=1] run function asset:object/1192.satelite_drop/tick/idle/ + + #ないならsuper.tick + execute unless entity @s[tag=1192.Idle] run function asset:object/super.tick + +# 演出(挙動確認用) + particle dust 0.2 0.4 0.8 0.5 ~ ~ ~ 0.1 0.1 0.1 1 15 + +# リセット + scoreboard players reset $UserID Temporary + +# 消滅処理 + kill @s[scores={General.Object.Tick=..0}] diff --git a/Asset/data/asset/functions/object/1192.satelite_drop/tick/idle/.mcfunction b/Asset/data/asset/functions/object/1192.satelite_drop/tick/idle/.mcfunction new file mode 100644 index 00000000000..add66f8b758 --- /dev/null +++ b/Asset/data/asset/functions/object/1192.satelite_drop/tick/idle/.mcfunction @@ -0,0 +1,15 @@ +#> asset:object/1192.satelite_drop/tick/idle/ +# +# 発射待機中の動き +# +# @within function asset:object/1192.satelite_drop/tick/ + +#> Private +# @private + #declare score_holder $Angle + +# 回転 + execute store result score $Angle Temporary run data get storage asset:context this.Angle + execute store result storage asset:context this.Angle int 1 run scoreboard players add $Angle Temporary 4 +# 角度をマクロにわたす + execute positioned ~ ~0.75 ~ rotated ~ ~ run function asset:object/1192.satelite_drop/tick/idle/m with storage asset:context this diff --git a/Asset/data/asset/functions/object/1192.satelite_drop/tick/idle/m.mcfunction b/Asset/data/asset/functions/object/1192.satelite_drop/tick/idle/m.mcfunction new file mode 100644 index 00000000000..9b88117d6f9 --- /dev/null +++ b/Asset/data/asset/functions/object/1192.satelite_drop/tick/idle/m.mcfunction @@ -0,0 +1,7 @@ +#> asset:object/1192.satelite_drop/tick/idle/m +# +# +# +# @within function asset:object/1192.satelite_drop/tick/idle/ + + $execute rotated $(Angle) 0 run tp @s ^ ^ ^0.75 diff --git a/Asset/data/asset/functions/object/alias/1192/detect_hit_entity.mcfunction b/Asset/data/asset/functions/object/alias/1192/detect_hit_entity.mcfunction new file mode 100644 index 00000000000..85cf7a844f2 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1192/detect_hit_entity.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1192/detect_hit_entity +# +# メソッド処理のエイリアス +# +# @within asset_manager:object/call_method/run_method.m + +# 元のメソッド処理を呼び出す + function asset:object/1192.satelite_drop/detect_hit_entity/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/1192/hit_entity.mcfunction b/Asset/data/asset/functions/object/alias/1192/hit_entity.mcfunction new file mode 100644 index 00000000000..c483ed24fe0 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1192/hit_entity.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1192/hit_entity +# +# メソッド処理のエイリアス +# +# @within asset_manager:object/call_method/run_method.m + +# 元のメソッド処理を呼び出す + function asset:object/1192.satelite_drop/hit_entity/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/1192/init.mcfunction b/Asset/data/asset/functions/object/alias/1192/init.mcfunction new file mode 100644 index 00000000000..e9d7d27b474 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1192/init.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1192/init +# +# Init処理のエイリアス +# +# @within asset_manager:object/init/init.m + +# 元のInit処理を呼び出す + function asset:object/1192.satelite_drop/init/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/1192/register.mcfunction b/Asset/data/asset/functions/object/alias/1192/register.mcfunction new file mode 100644 index 00000000000..8227e61c96b --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1192/register.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1192/register +# +# Objectのデータ指定処理のエイリアス +# +# @within asset_manager:object/summon/register.m + +# 元の登録処理を呼び出す + function asset:object/1192.satelite_drop/register \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/1192/summon.mcfunction b/Asset/data/asset/functions/object/alias/1192/summon.mcfunction new file mode 100644 index 00000000000..7bbe6c16ffc --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1192/summon.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1192/summon +# +# Object召喚処理のエイリアス +# +# @within asset_manager:object/summon/summon.m + +# 元の召喚処理を呼び出す + function asset:object/1192.satelite_drop/summon/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/1192/tick.mcfunction b/Asset/data/asset/functions/object/alias/1192/tick.mcfunction new file mode 100644 index 00000000000..98af269b392 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1192/tick.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1192/tick +# +# Tick時処理のエイリアス +# +# @within asset_manager:object/tick/tick.m + +# 元のTick処理を呼び出す + function asset:object/1192.satelite_drop/tick/ \ No newline at end of file diff --git a/Asset/data/asset/tags/functions/effect/given.json b/Asset/data/asset/tags/functions/effect/given.json index d26717efbf4..4b6899dbe5b 100644 --- a/Asset/data/asset/tags/functions/effect/given.json +++ b/Asset/data/asset/tags/functions/effect/given.json @@ -1,5 +1,6 @@ { "values": [ + "asset:effect/0396.satelite_drop/_/given", "asset:effect/0384.ninjas_mindset/_/given", "asset:effect/0371.tsukimi/_/given", "asset:effect/0355.heart_gap/_/given", @@ -107,4 +108,4 @@ "asset:effect/0007.defense_base_debuff/_/given", "asset:effect/0258.spirit_melody/_/given" ] -} +} \ No newline at end of file diff --git a/Asset/data/asset/tags/functions/object/load.json b/Asset/data/asset/tags/functions/object/load.json index 370cd7f01be..c1647ba1f56 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/1192.satelite_drop/load", "asset:object/1061.azure_jelly/load", "asset:object/2251.wall_laser_clock/load", "asset:object/2212.eclael_upper_shot/load", @@ -58,4 +59,4 @@ "asset:object/1059.book_of_hero/load", "asset:object/2031.giant_pumpkin/load" ] -} +} \ No newline at end of file From 8ba355bf222b0fdebc46cb752ce13ad932569502 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Tue, 29 Sep 2026 17:01:59 +0200 Subject: [PATCH 03/24] =?UTF-8?q?MP=E6=B6=88=E8=B2=BB=E3=82=92=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0395.charge_satelite_drop/re-given/.mcfunction | 8 +++++++- .../re-given/charge.mcfunction | 10 +++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/.mcfunction b/Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/.mcfunction index 7c05a0321d6..6ada063fcef 100644 --- a/Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/.mcfunction +++ b/Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/.mcfunction @@ -7,6 +7,7 @@ #> Private # @private #declare score_holder $Charge + #declare score_holder $MP # Field引き継ぎ data modify storage asset:context this set from storage asset:context PreviousField @@ -14,9 +15,14 @@ execute store result score $Charge Temporary run data get storage asset:context PreviousField.Charge execute store result storage asset:context this.Charge int 1 run scoreboard players add $Charge Temporary 1 +# MPを取得 + function api:mp/get_current + execute store result score $MP Temporary run data get storage api: Return.CurrentMP + # チャージ時間30tickごとにスタックを加算 scoreboard players operation $Charge Temporary %= $30 Const - execute if score $Charge Temporary matches 0 run function asset:effect/0395.charge_satelite_drop/re-given/charge + execute if score $Charge Temporary matches 0 if score $MP Temporary matches 40.. run function asset:effect/0395.charge_satelite_drop/re-given/charge # リセット scoreboard players reset $Charge Temporary + scoreboard players reset $MP Temporary diff --git a/Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/charge.mcfunction b/Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/charge.mcfunction index 1f4212761d5..a73ba1af57e 100644 --- a/Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/charge.mcfunction +++ b/Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/charge.mcfunction @@ -8,14 +8,14 @@ # @private #declare score_holder $Stack -# # Effect 396を付与 -# data modify storage api: Argument.ID set value 396 -# function api:entity/mob/effect/give -# function api:entity/mob/effect/reset - # スタック+1 execute store result score $Stack Temporary run data get storage asset:context Stack execute store result storage asset:context Stack int 1 run scoreboard players add $Stack Temporary 1 +# MP消費 + data modify storage api: Argument.Fluctuation set value -40 + data modify storage api: Argument.DisableLog set value 1b + function api:mp/fluctuation + # リセット scoreboard players reset $Stack Temporary From b195a67eb6488c369d281610b82f8f3bf21d4c2b Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Tue, 29 Sep 2026 18:52:02 +0200 Subject: [PATCH 04/24] =?UTF-8?q?=E6=BC=94=E5=87=BA=E3=82=92=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../artifact/1620.satelite_drop/trigger/3.main.mcfunction | 8 +++++--- .../artifact/1620.satelite_drop/trigger/attack.mcfunction | 4 ++++ .../0395.charge_satelite_drop/re-given/charge.mcfunction | 5 +++++ .../1192.satelite_drop/hit_entity/damage.mcfunction | 3 +++ .../functions/object/1192.satelite_drop/init/.mcfunction | 3 +++ .../object/1192.satelite_drop/register.mcfunction | 6 +++--- .../functions/object/1192.satelite_drop/tick/.mcfunction | 5 +++-- 7 files changed, 26 insertions(+), 8 deletions(-) diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/3.main.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/3.main.mcfunction index 08e4e3d9b34..d3e6e33d741 100644 --- a/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/3.main.mcfunction +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/3.main.mcfunction @@ -8,6 +8,8 @@ function asset:artifact/common/use/mainhand # 既にチャージ済みでないならEffect395を付与 - data modify storage api: Argument.ID set value 396 - function api:entity/mob/effect/get/from_id - execute unless data storage api: Return.Effect run return run function asset:artifact/1620.satelite_drop/trigger/charge + function asset:artifact/1620.satelite_drop/trigger/charge + +# 演出 + playsound entity.boat.paddle_water player @a ~ ~ ~ 2 0.5 + playsound block.conduit.activate player @a ~ ~ ~ 1 1.5 diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/attack.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/attack.mcfunction index 5fca54f7e2a..bb20d369203 100644 --- a/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/attack.mcfunction +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/attack.mcfunction @@ -24,3 +24,7 @@ data modify storage api: Argument.ID set value 397 function api:entity/mob/effect/give function api:entity/mob/effect/reset + +# 演出 + playsound entity.drowned.death player @a ~ ~ ~ 1 1.7 + playsound entity.zombie.converted_to_drowned player @a ~ ~ ~ 1 1.4 diff --git a/Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/charge.mcfunction b/Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/charge.mcfunction index a73ba1af57e..57424145cfe 100644 --- a/Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/charge.mcfunction +++ b/Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/charge.mcfunction @@ -17,5 +17,10 @@ data modify storage api: Argument.DisableLog set value 1b function api:mp/fluctuation +# 演出 + playsound item.bucket.empty player @a ~ ~ ~ 1 1.3 + playsound entity.experience_orb.pickup player @a ~ ~ ~ 1 2.0 + particle wax_off ~ ~0.5 ~ 0.2 0.5 0.2 3 15 + # リセット scoreboard players reset $Stack Temporary diff --git a/Asset/data/asset/functions/object/1192.satelite_drop/hit_entity/damage.mcfunction b/Asset/data/asset/functions/object/1192.satelite_drop/hit_entity/damage.mcfunction index 5370ddf3e49..9850abfca00 100644 --- a/Asset/data/asset/functions/object/1192.satelite_drop/hit_entity/damage.mcfunction +++ b/Asset/data/asset/functions/object/1192.satelite_drop/hit_entity/damage.mcfunction @@ -16,5 +16,8 @@ function api:damage/ function api:damage/reset +# 演出 + playsound entity.shulker_bullet.hit player @a ~ ~ ~ 1 1.4 + # リセット scoreboard players reset $UserID Temporary diff --git a/Asset/data/asset/functions/object/1192.satelite_drop/init/.mcfunction b/Asset/data/asset/functions/object/1192.satelite_drop/init/.mcfunction index 55a987ec795..dee03c14373 100644 --- a/Asset/data/asset/functions/object/1192.satelite_drop/init/.mcfunction +++ b/Asset/data/asset/functions/object/1192.satelite_drop/init/.mcfunction @@ -9,3 +9,6 @@ # Artifact側からアクセスする用のID紐づけ execute store result score @s 1192.UserID run data get storage asset:context this.UserID + +# 演出 + playsound entity.drowned.swim player @a ~ ~ ~ 1 1.4 diff --git a/Asset/data/asset/functions/object/1192.satelite_drop/register.mcfunction b/Asset/data/asset/functions/object/1192.satelite_drop/register.mcfunction index b974d7426f7..448af60a4d4 100644 --- a/Asset/data/asset/functions/object/1192.satelite_drop/register.mcfunction +++ b/Asset/data/asset/functions/object/1192.satelite_drop/register.mcfunction @@ -22,7 +22,7 @@ data modify storage asset:object Field.Count set value 0 #発射体のField data modify storage asset:object Field.Speed set value 3 - data modify storage asset:object Field.Range set value 15 - data modify storage asset:object Field.MovePerStep set value 1 - data modify storage asset:object Field.RemainingRange set value 15 + data modify storage asset:object Field.Range set value 30 + data modify storage asset:object Field.MovePerStep set value 0.5 + data modify storage asset:object Field.RemainingRange set value 30 data modify storage asset:object Field.Damage set value 0 diff --git a/Asset/data/asset/functions/object/1192.satelite_drop/tick/.mcfunction b/Asset/data/asset/functions/object/1192.satelite_drop/tick/.mcfunction index afa083a25f4..3e9e70c60e0 100644 --- a/Asset/data/asset/functions/object/1192.satelite_drop/tick/.mcfunction +++ b/Asset/data/asset/functions/object/1192.satelite_drop/tick/.mcfunction @@ -19,8 +19,9 @@ #ないならsuper.tick execute unless entity @s[tag=1192.Idle] run function asset:object/super.tick -# 演出(挙動確認用) - particle dust 0.2 0.4 0.8 0.5 ~ ~ ~ 0.1 0.1 0.1 1 15 +# 演出 + particle dust 0.2 0.4 0.8 0.5 ~ ~ ~ 0.01 0.01 0.01 1 5 + particle dust 0.722 1 0.984 0.25 ~ ~ ~ 0.05 0.05 0.05 1 15 # リセット scoreboard players reset $UserID Temporary From c525da86421115b89c604ef3f6dcaef94ac2710f Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Tue, 29 Sep 2026 18:57:11 +0200 Subject: [PATCH 05/24] =?UTF-8?q?=E9=99=90=E7=95=8C=E4=BB=A5=E4=B8=8A?= =?UTF-8?q?=E3=81=AE=E3=83=81=E3=83=A3=E3=83=BC=E3=82=B8=E3=81=8C=E3=81=A7?= =?UTF-8?q?=E3=81=8D=E3=81=AA=E3=81=84=E3=82=88=E3=81=86=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../effect/0395.charge_satelite_drop/re-given/.mcfunction | 8 ++++++-- .../0395.charge_satelite_drop/re-given/charge.mcfunction | 8 -------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/.mcfunction b/Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/.mcfunction index 6ada063fcef..e396bf92c33 100644 --- a/Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/.mcfunction +++ b/Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/.mcfunction @@ -8,6 +8,8 @@ # @private #declare score_holder $Charge #declare score_holder $MP +# @within function asset:effect/0395.charge_satelite_drop/re-given/** + #declare score_holder $Stack # Field引き継ぎ data modify storage asset:context this set from storage asset:context PreviousField @@ -19,10 +21,12 @@ function api:mp/get_current execute store result score $MP Temporary run data get storage api: Return.CurrentMP -# チャージ時間30tickごとにスタックを加算 +# 既に最大でなければ、チャージ時間30tickごとにスタックを加算 + execute store result score $Stack Temporary run data get storage asset:context Stack scoreboard players operation $Charge Temporary %= $30 Const - execute if score $Charge Temporary matches 0 if score $MP Temporary matches 40.. run function asset:effect/0395.charge_satelite_drop/re-given/charge + execute unless score $Stack Temporary matches 3 if score $Charge Temporary matches 0 if score $MP Temporary matches 40.. run function asset:effect/0395.charge_satelite_drop/re-given/charge # リセット scoreboard players reset $Charge Temporary scoreboard players reset $MP Temporary + scoreboard players reset $Stack Temporary diff --git a/Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/charge.mcfunction b/Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/charge.mcfunction index 57424145cfe..7797e28b3a8 100644 --- a/Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/charge.mcfunction +++ b/Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/charge.mcfunction @@ -4,12 +4,7 @@ # # @within function asset:effect/0395.charge_satelite_drop/re-given/ -#> Private -# @private - #declare score_holder $Stack - # スタック+1 - execute store result score $Stack Temporary run data get storage asset:context Stack execute store result storage asset:context Stack int 1 run scoreboard players add $Stack Temporary 1 # MP消費 @@ -21,6 +16,3 @@ playsound item.bucket.empty player @a ~ ~ ~ 1 1.3 playsound entity.experience_orb.pickup player @a ~ ~ ~ 1 2.0 particle wax_off ~ ~0.5 ~ 0.2 0.5 0.2 3 15 - -# リセット - scoreboard players reset $Stack Temporary From 83ea7dff70f7bba8184a6ee1fbfc8776ea6b2b78 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Wed, 30 Sep 2026 18:54:16 +0200 Subject: [PATCH 06/24] =?UTF-8?q?Lore=E9=A1=9E=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../artifact/1620.satelite_drop/give/2.give.mcfunction | 4 ++-- .../effect/0395.charge_satelite_drop/register.mcfunction | 4 ++-- .../functions/effect/0396.satelite_drop/register.mcfunction | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/give/2.give.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/give/2.give.mcfunction index 7cf5a415659..915132c9686 100644 --- a/Asset/data/asset/functions/artifact/1620.satelite_drop/give/2.give.mcfunction +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/give/2.give.mcfunction @@ -13,9 +13,9 @@ # 神器のベースアイテム data modify storage asset:artifact Item set value "minecraft:ender_eye" # 神器の名前 (TextComponentString) - data modify storage asset:artifact Name set value '{"text": "サテライトドロップ"}' + data modify storage asset:artifact Name set value '{"text": "サテライトドロップ", "color": "#6abcf6"}' # 神器の説明文 (TextComponentString[]) - data modify storage asset:artifact Lore set value [] + data modify storage asset:artifact Lore set value ['{"text": "チャージ時間1.5秒につき弾を一つ召喚する(最大3個)。"}', '{"translate": "弾は%s秒の間、任意のタイミングで発射ができる。", "with":[{"text": "召喚した数x30", "color": "aqua"}]}'] # 消費アイテム ({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 diff --git a/Asset/data/asset/functions/effect/0395.charge_satelite_drop/register.mcfunction b/Asset/data/asset/functions/effect/0395.charge_satelite_drop/register.mcfunction index e409e826824..17ee4c7aee9 100644 --- a/Asset/data/asset/functions/effect/0395.charge_satelite_drop/register.mcfunction +++ b/Asset/data/asset/functions/effect/0395.charge_satelite_drop/register.mcfunction @@ -9,9 +9,9 @@ # ID (int) data modify storage asset:effect ID set value 395 # 名前 (TextComponentString) - data modify storage asset:effect Name set value '{"text": "チャージ・サテライトドロップ"}' + data modify storage asset:effect Name set value '{"text": "チャージ・サテライトドロップ", "color": "#a4f1eb"}' # 説明文 (TextComponentString[]) - data modify storage asset:effect Description set value [] + data modify storage asset:effect Description set value ['{"text": "チャージ終了時、段階に応じた数の弾を召喚する"}'] # 効果時間 (int) (default = API || error) data modify storage asset:effect Duration set value 1 # スタック (int) (default = API || 1) diff --git a/Asset/data/asset/functions/effect/0396.satelite_drop/register.mcfunction b/Asset/data/asset/functions/effect/0396.satelite_drop/register.mcfunction index 530bd7dc6a3..2bb91f8e250 100644 --- a/Asset/data/asset/functions/effect/0396.satelite_drop/register.mcfunction +++ b/Asset/data/asset/functions/effect/0396.satelite_drop/register.mcfunction @@ -9,9 +9,9 @@ # ID (int) data modify storage asset:effect ID set value 396 # 名前 (TextComponentString) - data modify storage asset:effect Name set value '{"text": "玉露の星"}' + data modify storage asset:effect Name set value '{"text": "玉露の星", "color": "#a4f1eb"}' # 説明文 (TextComponentString[]) - data modify storage asset:effect Description set value [] + data modify storage asset:effect Description set value ['{"text": "スタックの数だけ、弾が発射できる"}'] # 効果時間 (int) (default = API || error) # data modify storage asset:effect Duration set value # スタック (int) (default = API || 1) From 1191a4b124534020d93f751a5ff434fe8fc9d587 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Thu, 1 Oct 2026 18:18:09 +0200 Subject: [PATCH 07/24] =?UTF-8?q?Lore=E3=82=92=E5=BE=AE=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../artifact/1620.satelite_drop/give/2.give.mcfunction | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/give/2.give.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/give/2.give.mcfunction index 915132c9686..63f7bdeb882 100644 --- a/Asset/data/asset/functions/artifact/1620.satelite_drop/give/2.give.mcfunction +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/give/2.give.mcfunction @@ -15,7 +15,7 @@ # 神器の名前 (TextComponentString) data modify storage asset:artifact Name set value '{"text": "サテライトドロップ", "color": "#6abcf6"}' # 神器の説明文 (TextComponentString[]) - data modify storage asset:artifact Lore set value ['{"text": "チャージ時間1.5秒につき弾を一つ召喚する(最大3個)。"}', '{"translate": "弾は%s秒の間、任意のタイミングで発射ができる。", "with":[{"text": "召喚した数x30", "color": "aqua"}]}'] + data modify storage asset:artifact Lore set value ['{"text": "チャージ時間1.5秒につき弾を一つ召喚する(最大3個)。"}', '{"translate": "弾は%sの間、任意のタイミングで発射ができる。", "with":[{"text": "召喚した数x30秒", "color": "aqua"}]}'] # 消費アイテム ({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 From 2a81227532457f7c077bf90f3c218e4bf950529a Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Thu, 8 Oct 2026 19:30:19 +0200 Subject: [PATCH 08/24] =?UTF-8?q?=E6=9C=AA=E4=BD=BF=E7=94=A8=E3=81=AEfunct?= =?UTF-8?q?ion=E3=82=92=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../effect/0396.satelite_drop/_/re-given.mcfunction | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 Asset/data/asset/functions/effect/0396.satelite_drop/_/re-given.mcfunction diff --git a/Asset/data/asset/functions/effect/0396.satelite_drop/_/re-given.mcfunction b/Asset/data/asset/functions/effect/0396.satelite_drop/_/re-given.mcfunction deleted file mode 100644 index 9259fcd0c94..00000000000 --- a/Asset/data/asset/functions/effect/0396.satelite_drop/_/re-given.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -#> asset:effect/0396.satelite_drop/_/re-given -# -# Effectが上書きされた時に実行されるfunction -# -# @within tag/function asset:effect/re-given - -execute if data storage asset:context {id:396} run function asset:effect/0396.satelite_drop/re-given/ \ No newline at end of file From 1405c8a23160bf07928e9e3c02ea0ea460a0d429 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Thu, 8 Oct 2026 21:42:31 +0200 Subject: [PATCH 09/24] =?UTF-8?q?=E6=B6=88=E8=B2=BBMP=E5=91=A8=E3=82=8A?= =?UTF-8?q?=E3=81=AE=E5=87=A6=E7=90=86=E3=81=ABAPI=E3=82=92=E7=94=A8?= =?UTF-8?q?=E3=81=84=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../1620.satelite_drop/trigger/charge.mcfunction | 1 + .../0395.charge_satelite_drop/re-given/.mcfunction | 11 ++++------- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/charge.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/charge.mcfunction index 27ee56cd1e8..72d08d69c79 100644 --- a/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/charge.mcfunction +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/charge.mcfunction @@ -7,6 +7,7 @@ # Effect395を(再)付与 #攻撃情報も設定 data modify storage api: Argument.FieldOverride.Damage set value 150 + data modify storage api: Argument.FieldOverride.MPThreshold set value 40 data modify storage api: Argument.FieldOverride.AttackType set value "Magic" data modify storage api: Argument.FieldOverride.ElementType set value "Water" diff --git a/Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/.mcfunction b/Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/.mcfunction index e396bf92c33..07b3192f098 100644 --- a/Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/.mcfunction +++ b/Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/.mcfunction @@ -7,7 +7,6 @@ #> Private # @private #declare score_holder $Charge - #declare score_holder $MP # @within function asset:effect/0395.charge_satelite_drop/re-given/** #declare score_holder $Stack @@ -17,16 +16,14 @@ execute store result score $Charge Temporary run data get storage asset:context PreviousField.Charge execute store result storage asset:context this.Charge int 1 run scoreboard players add $Charge Temporary 1 -# MPを取得 - function api:mp/get_current - execute store result score $MP Temporary run data get storage api: Return.CurrentMP - # 既に最大でなければ、チャージ時間30tickごとにスタックを加算 execute store result score $Stack Temporary run data get storage asset:context Stack scoreboard players operation $Charge Temporary %= $30 Const - execute unless score $Stack Temporary matches 3 if score $Charge Temporary matches 0 if score $MP Temporary matches 40.. run function asset:effect/0395.charge_satelite_drop/re-given/charge + #MPチェック + data modify storage api: Argument.Threshold set from storage asset:context this.MPThreshold + function api:mp/check + execute unless score $Stack Temporary matches 3 if score $Charge Temporary matches 0 if data storage api: Return{IsThresholdOrMore:true} run function asset:effect/0395.charge_satelite_drop/re-given/charge # リセット scoreboard players reset $Charge Temporary - scoreboard players reset $MP Temporary scoreboard players reset $Stack Temporary From 7798e64f24c35fc0936ad57301591d0a0cec1095 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Sun, 18 Oct 2026 11:12:56 +0200 Subject: [PATCH 10/24] =?UTF-8?q?=E6=AD=BB=E4=BA=A1=E6=99=82=E3=81=ABObjec?= =?UTF-8?q?t=E3=81=8C=E5=89=8A=E9=99=A4=E3=81=95=E3=82=8C=E3=82=8B?= =?UTF-8?q?=E3=82=88=E3=81=86=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0396.satelite_drop/_/remove.mcfunction | 7 +++++++ .../effect/0396.satelite_drop/remove/.mcfunction | 16 ++++++++++++++++ .../1192.satelite_drop/_index.d.mcfunction | 2 ++ .../data/asset/tags/functions/effect/remove.json | 3 ++- 4 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 Asset/data/asset/functions/effect/0396.satelite_drop/_/remove.mcfunction create mode 100644 Asset/data/asset/functions/effect/0396.satelite_drop/remove/.mcfunction diff --git a/Asset/data/asset/functions/effect/0396.satelite_drop/_/remove.mcfunction b/Asset/data/asset/functions/effect/0396.satelite_drop/_/remove.mcfunction new file mode 100644 index 00000000000..6ebe2c4d05d --- /dev/null +++ b/Asset/data/asset/functions/effect/0396.satelite_drop/_/remove.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0396.satelite_drop/_/remove +# +# Effectが神器や牛乳によって削除された時に実行されるfunction +# +# @within tag/function asset:effect/remove + +execute if data storage asset:context {id:396} run function asset:effect/0396.satelite_drop/remove/ \ No newline at end of file diff --git a/Asset/data/asset/functions/effect/0396.satelite_drop/remove/.mcfunction b/Asset/data/asset/functions/effect/0396.satelite_drop/remove/.mcfunction new file mode 100644 index 00000000000..a827afb3d3b --- /dev/null +++ b/Asset/data/asset/functions/effect/0396.satelite_drop/remove/.mcfunction @@ -0,0 +1,16 @@ +#> asset:effect/0396.satelite_drop/remove/ +# +# Effectが削除された時の処理 +# +# @within function asset:effect/0396.satelite_drop/_/remove + +#> Private +# @private + #declare score_holder $UserID + +# 自身に紐づいていて、Idleタグを持つObject 1192を削除 + scoreboard players operation $UserID Temporary = @s UserID + execute as @e[type=marker,tag=1192.Idle,distance=..3] if score @s 1192.UserID = $UserID Temporary run kill @s + +# リセット + scoreboard players reset $UserID Temporary diff --git a/Asset/data/asset/functions/object/1192.satelite_drop/_index.d.mcfunction b/Asset/data/asset/functions/object/1192.satelite_drop/_index.d.mcfunction index c3215d57529..1a8a7fae303 100644 --- a/Asset/data/asset/functions/object/1192.satelite_drop/_index.d.mcfunction +++ b/Asset/data/asset/functions/object/1192.satelite_drop/_index.d.mcfunction @@ -4,10 +4,12 @@ #> tag # @within function asset:object/1192.satelite_drop/** # @within function asset:artifact/1620.satelite_drop/** +# @within function asset:effect/0396.satelite_drop/** #declare tag 1192.Idle #declare tag 1192.Launchable #> scoreboard # @within function asset:object/1192.satelite_drop/** # @within function asset:artifact/1620.satelite_drop/** +# @within function asset:effect/0396.satelite_drop/** #declare objective 1192.UserID diff --git a/Asset/data/asset/tags/functions/effect/remove.json b/Asset/data/asset/tags/functions/effect/remove.json index 820615055f8..c551cfd4423 100644 --- a/Asset/data/asset/tags/functions/effect/remove.json +++ b/Asset/data/asset/tags/functions/effect/remove.json @@ -1,5 +1,6 @@ { "values": [ + "asset:effect/0396.satelite_drop/_/remove", "asset:effect/0400.dual_rhythm_boost/_/remove", "asset:effect/0399.dual_rhythm_guard/_/remove", "asset:effect/0371.tsukimi/_/remove", @@ -122,4 +123,4 @@ "asset:effect/0007.defense_base_debuff/_/remove", "asset:effect/0258.spirit_melody/_/remove" ] -} +} \ No newline at end of file From c4785d8b640223b7271f308043a0c8ecbd7512de Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Sun, 18 Oct 2026 11:47:31 +0200 Subject: [PATCH 11/24] =?UTF-8?q?Effect=E3=81=AE=E3=82=B9=E3=82=BF?= =?UTF-8?q?=E3=83=83=E3=82=AF=E3=81=A8Object=E3=81=AE=E6=95=B0=E3=81=8C?= =?UTF-8?q?=E5=90=88=E3=82=8F=E3=81=AA=E3=81=84=E3=81=A8=E3=81=8D=E3=81=AE?= =?UTF-8?q?=E5=87=A6=E7=90=86=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../trigger/attack.mcfunction | 5 +++- .../trigger/launch_new.mcfunction | 12 ++++++++++ .../0396.satelite_drop/_/tick.mcfunction | 7 ++++++ .../0396.satelite_drop/tick/.mcfunction | 23 +++++++++++++++++++ .../1192.satelite_drop/init/.mcfunction | 3 +++ .../1192.satelite_drop/register.mcfunction | 1 + .../asset/tags/functions/effect/tick.json | 3 ++- 7 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/launch_new.mcfunction create mode 100644 Asset/data/asset/functions/effect/0396.satelite_drop/_/tick.mcfunction create mode 100644 Asset/data/asset/functions/effect/0396.satelite_drop/tick/.mcfunction diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/attack.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/attack.mcfunction index bb20d369203..33c7bee13f2 100644 --- a/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/attack.mcfunction +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/attack.mcfunction @@ -4,7 +4,10 @@ # # @within function asset:artifact/1620.satelite_drop/trigger/2.check_condition -# ランダムなObject1192から1192.Idleを外す +# なんらかの理由でObjectが近くに存在しない場合、LaunchInstantlyをtrueにした状態のObjectを新しく召喚 + execute unless entity @e[type=marker,tag=1192.Idle,distance=..3] run function asset:artifact/1620.satelite_drop/trigger/launch_new + +# ランダムなObject 1192から1192.Idleを外す execute as @e[type=marker,tag=1192.Idle,distance=..3] if score @s 1192.UserID = @p[tag=this] UserID run tag @s add 1192.Launchable execute anchored eyes positioned ^ ^-0.1 ^0.5 as @e[type=marker,tag=1192.Launchable,distance=..3,sort=arbitrary,limit=1] run function asset:artifact/1620.satelite_drop/trigger/launch tag @e[type=marker,tag=1192.Launchable,distance=..3] remove 1192.Launchable diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/launch_new.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/launch_new.mcfunction new file mode 100644 index 00000000000..f72f48f0141 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/launch_new.mcfunction @@ -0,0 +1,12 @@ +#> asset:artifact/1620.satelite_drop/trigger/launch_new +# +# +# +# @within function asset:artifact/1620.satelite_drop/trigger/attack + + data modify storage api: Argument.FieldOverride.LaunchInstantly set value true + data modify storage api: Argument.FieldOverride.Count set value 1 + data modify storage api: Argument.ID set value 1192 + function api:object/summon + + execute anchored eyes positioned ^ ^-0.1 ^0.5 run tp @e[type=marker,distance=..3,limit=1] ^ ^ ^ ~ ~ diff --git a/Asset/data/asset/functions/effect/0396.satelite_drop/_/tick.mcfunction b/Asset/data/asset/functions/effect/0396.satelite_drop/_/tick.mcfunction new file mode 100644 index 00000000000..a4587c3576c --- /dev/null +++ b/Asset/data/asset/functions/effect/0396.satelite_drop/_/tick.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0396.satelite_drop/_/tick +# +# Effectが発動している間毎tick実行されるfunction +# +# @within tag/function asset:effect/tick + +execute if data storage asset:context {id:396} run function asset:effect/0396.satelite_drop/tick/ \ No newline at end of file diff --git a/Asset/data/asset/functions/effect/0396.satelite_drop/tick/.mcfunction b/Asset/data/asset/functions/effect/0396.satelite_drop/tick/.mcfunction new file mode 100644 index 00000000000..e871bf5f205 --- /dev/null +++ b/Asset/data/asset/functions/effect/0396.satelite_drop/tick/.mcfunction @@ -0,0 +1,23 @@ +#> asset:effect/0396.satelite_drop/tick/ +# +# Effectのtick処理 +# +# @within function asset:effect/0396.satelite_drop/_/tick + +#> Private +# @private + #declare score_holder $Stack + #declare score_holder $UserID + #declare score_holder $BulletCount + +# スタックと周囲のObject 1192の数を比較 + execute store result score $Stack Temporary run data get storage asset:context Stack + scoreboard players operation $UserID Temporary = @s UserID + execute as @e[type=marker,tag=1192.Idle,distance=..3] if score @s 1192.UserID = $UserID Temporary run scoreboard players add $BulletCount Temporary 1 + #数が合わないならObjectを削除する + execute if score $Stack Temporary < $BulletCount Temporary run kill @e[type=marker,tag=1192.Idle,distance=..3,sort=arbitrary,limit=1] + +# リセット + scoreboard players reset $Stack Temporary + scoreboard players reset $UserID Temporary + scoreboard players reset $BulletCount Temporary diff --git a/Asset/data/asset/functions/object/1192.satelite_drop/init/.mcfunction b/Asset/data/asset/functions/object/1192.satelite_drop/init/.mcfunction index dee03c14373..df20e3197ff 100644 --- a/Asset/data/asset/functions/object/1192.satelite_drop/init/.mcfunction +++ b/Asset/data/asset/functions/object/1192.satelite_drop/init/.mcfunction @@ -10,5 +10,8 @@ # Artifact側からアクセスする用のID紐づけ execute store result score @s 1192.UserID run data get storage asset:context this.UserID +# 即発射の場合はIdleタグを外す + execute if data storage asset:context this{LaunchInstantly:true} run tag @s remove 1192.Idle + # 演出 playsound entity.drowned.swim player @a ~ ~ ~ 1 1.4 diff --git a/Asset/data/asset/functions/object/1192.satelite_drop/register.mcfunction b/Asset/data/asset/functions/object/1192.satelite_drop/register.mcfunction index 448af60a4d4..8e9cae0451e 100644 --- a/Asset/data/asset/functions/object/1192.satelite_drop/register.mcfunction +++ b/Asset/data/asset/functions/object/1192.satelite_drop/register.mcfunction @@ -20,6 +20,7 @@ data modify storage asset:object Field.UserID set value -1 data modify storage asset:object Field.Angle set value 0 data modify storage asset:object Field.Count set value 0 + data modify storage asset:object Field.LaunchInstantly set value false #発射体のField data modify storage asset:object Field.Speed set value 3 data modify storage asset:object Field.Range set value 30 diff --git a/Asset/data/asset/tags/functions/effect/tick.json b/Asset/data/asset/tags/functions/effect/tick.json index 9c7b9475768..0f82e53a753 100644 --- a/Asset/data/asset/tags/functions/effect/tick.json +++ b/Asset/data/asset/tags/functions/effect/tick.json @@ -1,5 +1,6 @@ { "values": [ + "asset:effect/0396.satelite_drop/_/tick", "asset:effect/0384.ninjas_mindset/_/tick", "asset:effect/0399.dual_rhythm_guard/_/tick", "asset:effect/0355.heart_gap/_/tick", @@ -109,4 +110,4 @@ "asset:effect/0279.poison_of_vinderre/_/tick", "asset:effect/0258.spirit_melody/_/tick" ] -} +} \ No newline at end of file From 99a9a9138a75cd6a84975633ae5042a382da2592 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Sun, 18 Oct 2026 11:51:49 +0200 Subject: [PATCH 12/24] =?UTF-8?q?=E5=B0=84=E7=A8=8B=E8=A1=A8=E8=A8=98?= =?UTF-8?q?=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../artifact/1620.satelite_drop/give/2.give.mcfunction | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/give/2.give.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/give/2.give.mcfunction index 63f7bdeb882..7163b0ed98b 100644 --- a/Asset/data/asset/functions/artifact/1620.satelite_drop/give/2.give.mcfunction +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/give/2.give.mcfunction @@ -39,7 +39,7 @@ # 攻撃に関する情報 -範囲攻撃 (string) Wikiを参照 (オプション) data modify storage asset:artifact AttackInfo.IsRangeAttack set value "never" # 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション) - data modify storage asset:artifact AttackInfo.AttackRange set value "15.0" + data modify storage asset:artifact AttackInfo.AttackRange set value 15 # MP消費量 (int) data modify storage asset:artifact MPCost set value 40 # MP必要量 (int) (オプション) From c39304535ddca104afb91c1e5560c34553912bc0 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Sun, 18 Oct 2026 17:59:19 +0200 Subject: [PATCH 13/24] =?UTF-8?q?Lore=E3=82=92=E8=AA=BF=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../artifact/1620.satelite_drop/give/2.give.mcfunction | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/give/2.give.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/give/2.give.mcfunction index 7163b0ed98b..f43aa5d27e7 100644 --- a/Asset/data/asset/functions/artifact/1620.satelite_drop/give/2.give.mcfunction +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/give/2.give.mcfunction @@ -15,7 +15,7 @@ # 神器の名前 (TextComponentString) data modify storage asset:artifact Name set value '{"text": "サテライトドロップ", "color": "#6abcf6"}' # 神器の説明文 (TextComponentString[]) - data modify storage asset:artifact Lore set value ['{"text": "チャージ時間1.5秒につき弾を一つ召喚する(最大3個)。"}', '{"translate": "弾は%sの間、任意のタイミングで発射ができる。", "with":[{"text": "召喚した数x30秒", "color": "aqua"}]}'] + data modify storage asset:artifact Lore set value ['{"text": "任意のタイミングで発射ができる弾を召喚する(最大3個)。"}', '{"translate": "弾はチャージ時間1.5秒につき数が一つ増え、%sの間残る。", "with":[{"text": "召喚した数x30秒", "color": "aqua"}]}'] # 消費アイテム ({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 From f7147961ea1e59feedf298954c28df15aeef6b15 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Mon, 19 Oct 2026 16:45:01 +0200 Subject: [PATCH 14/24] =?UTF-8?q?=E9=95=B7=E6=8A=BC=E3=81=97=EF=BC=8F?= =?UTF-8?q?=E9=95=B7=E6=8A=BC=E3=81=97=E8=A7=A3=E9=99=A4=E3=83=88=E3=83=AA?= =?UTF-8?q?=E3=82=AC=E3=83=BC=E3=81=AB=E5=AF=BE=E5=BF=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../attack.mcfunction => attack/.mcfunction} | 8 ++--- .../attack/launch.mcfunction | 11 +++++++ .../{trigger => attack}/launch_new.mcfunction | 4 +-- .../dis_equip/1.trigger.mcfunction | 8 +++++ .../dis_equip/2.main.mcfunction | 10 +++++++ .../1620.satelite_drop/give/2.give.mcfunction | 2 +- .../release_using_item/1.trigger.mcfunction | 8 +++++ .../2.check_condition.mcfunction | 15 ++++++++++ .../release_using_item/3.main.mcfunction | 28 ++++++++++++++++++ .../trigger/charge.mcfunction | 16 ---------- .../trigger/launch.mcfunction | 11 ------- .../1.trigger.mcfunction | 4 +-- .../2.check_condition.mcfunction | 10 +++---- .../{trigger => using_item}/3.main.mcfunction | 8 +++-- .../using_item/charge/.mcfunction | 24 +++++++++++++++ .../using_item/charge/check.mcfunction | 20 +++++++++++++ .../_/end.mcfunction | 7 ----- .../_/re-given.mcfunction | 7 ----- .../0395.charge_satelite_drop/end/.mcfunction | 24 --------------- .../re-given/.mcfunction | 29 ------------------- .../re-given/charge.mcfunction | 18 ------------ .../register.mcfunction | 3 +- .../tags/functions/artifact/dis_equip.json | 1 + .../functions/artifact/using_item/keep/.json | 2 +- .../artifact/using_item/release/.json | 2 +- .../data/asset/tags/functions/effect/end.json | 1 - .../asset/tags/functions/effect/re-given.json | 1 - 27 files changed, 147 insertions(+), 135 deletions(-) rename Asset/data/asset/functions/artifact/1620.satelite_drop/{trigger/attack.mcfunction => attack/.mcfunction} (85%) create mode 100644 Asset/data/asset/functions/artifact/1620.satelite_drop/attack/launch.mcfunction rename Asset/data/asset/functions/artifact/1620.satelite_drop/{trigger => attack}/launch_new.mcfunction (73%) create mode 100644 Asset/data/asset/functions/artifact/1620.satelite_drop/dis_equip/1.trigger.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1620.satelite_drop/dis_equip/2.main.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1620.satelite_drop/release_using_item/1.trigger.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1620.satelite_drop/release_using_item/2.check_condition.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1620.satelite_drop/release_using_item/3.main.mcfunction delete mode 100644 Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/charge.mcfunction delete mode 100644 Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/launch.mcfunction rename Asset/data/asset/functions/artifact/1620.satelite_drop/{trigger => using_item}/1.trigger.mcfunction (71%) rename Asset/data/asset/functions/artifact/1620.satelite_drop/{trigger => using_item}/2.check_condition.mcfunction (77%) rename Asset/data/asset/functions/artifact/1620.satelite_drop/{trigger => using_item}/3.main.mcfunction (56%) create mode 100644 Asset/data/asset/functions/artifact/1620.satelite_drop/using_item/charge/.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1620.satelite_drop/using_item/charge/check.mcfunction delete mode 100644 Asset/data/asset/functions/effect/0395.charge_satelite_drop/_/end.mcfunction delete mode 100644 Asset/data/asset/functions/effect/0395.charge_satelite_drop/_/re-given.mcfunction delete mode 100644 Asset/data/asset/functions/effect/0395.charge_satelite_drop/end/.mcfunction delete mode 100644 Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/.mcfunction delete mode 100644 Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/charge.mcfunction diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/attack.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/attack/.mcfunction similarity index 85% rename from Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/attack.mcfunction rename to Asset/data/asset/functions/artifact/1620.satelite_drop/attack/.mcfunction index 33c7bee13f2..8dd0bc2a743 100644 --- a/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/attack.mcfunction +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/attack/.mcfunction @@ -1,15 +1,15 @@ -#> asset:artifact/1620.satelite_drop/trigger/attack +#> asset:artifact/1620.satelite_drop/attack/attack # # # -# @within function asset:artifact/1620.satelite_drop/trigger/2.check_condition +# @within function asset:artifact/1620.satelite_drop/** # なんらかの理由でObjectが近くに存在しない場合、LaunchInstantlyをtrueにした状態のObjectを新しく召喚 - execute unless entity @e[type=marker,tag=1192.Idle,distance=..3] run function asset:artifact/1620.satelite_drop/trigger/launch_new + execute unless entity @e[type=marker,tag=1192.Idle,distance=..3] run function asset:artifact/1620.satelite_drop/attack/launch_new # ランダムなObject 1192から1192.Idleを外す execute as @e[type=marker,tag=1192.Idle,distance=..3] if score @s 1192.UserID = @p[tag=this] UserID run tag @s add 1192.Launchable - execute anchored eyes positioned ^ ^-0.1 ^0.5 as @e[type=marker,tag=1192.Launchable,distance=..3,sort=arbitrary,limit=1] run function asset:artifact/1620.satelite_drop/trigger/launch + execute anchored eyes positioned ^ ^-0.1 ^0.5 as @e[type=marker,tag=1192.Launchable,distance=..3,sort=arbitrary,limit=1] run function asset:artifact/1620.satelite_drop/attack/launch tag @e[type=marker,tag=1192.Launchable,distance=..3] remove 1192.Launchable # Effect396のスタックを1減らす diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/attack/launch.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/attack/launch.mcfunction new file mode 100644 index 00000000000..0838b79a314 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/attack/launch.mcfunction @@ -0,0 +1,11 @@ +#> asset:artifact/1620.satelite_drop/attack/launch +# +# +# +# @within function asset:artifact/1620.satelite_drop/attack/ + +# 1192.Idleを外す + tag @s remove 1192.Idle + +# 位置を調整 + tp @s ^ ^ ^ ~ ~ diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/launch_new.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/attack/launch_new.mcfunction similarity index 73% rename from Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/launch_new.mcfunction rename to Asset/data/asset/functions/artifact/1620.satelite_drop/attack/launch_new.mcfunction index f72f48f0141..31c2cebdd46 100644 --- a/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/launch_new.mcfunction +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/attack/launch_new.mcfunction @@ -1,8 +1,8 @@ -#> asset:artifact/1620.satelite_drop/trigger/launch_new +#> asset:artifact/1620.satelite_drop/attack/launch_new # # # -# @within function asset:artifact/1620.satelite_drop/trigger/attack +# @within function asset:artifact/1620.satelite_drop/attack/ data modify storage api: Argument.FieldOverride.LaunchInstantly set value true data modify storage api: Argument.FieldOverride.Count set value 1 diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/dis_equip/1.trigger.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/dis_equip/1.trigger.mcfunction new file mode 100644 index 00000000000..5d668ccd578 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/dis_equip/1.trigger.mcfunction @@ -0,0 +1,8 @@ +#> asset:artifact/1620.satelite_drop/dis_equip/1.trigger +# +# +# +# @within tag/function asset:artifact/dis_equip + +# storage asset:idのmainhandに装備している神器のIDが入っているので比較し、~/2.check_condition.mcfunctionを実行する + execute if data storage asset:context id{mainhand:1620} run function asset:artifact/1620.satelite_drop/dis_equip/2.main diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/dis_equip/2.main.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/dis_equip/2.main.mcfunction new file mode 100644 index 00000000000..92783c2e248 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/dis_equip/2.main.mcfunction @@ -0,0 +1,10 @@ +#> asset:artifact/1620.satelite_drop/dis_equip/2.main +# +# +# +# @within function asset:artifact/1620.satelite_drop/dis_equip/1.trigger + +# Effect395を削除 + data modify storage api: Argument.ID set value 395 + function api:entity/mob/effect/remove/from_id + function api:entity/mob/effect/reset diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/give/2.give.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/give/2.give.mcfunction index f43aa5d27e7..e734546935d 100644 --- a/Asset/data/asset/functions/artifact/1620.satelite_drop/give/2.give.mcfunction +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/give/2.give.mcfunction @@ -25,7 +25,7 @@ # 神器を発動できるスロット (string) Wikiを参照 data modify storage asset:artifact Slot set value "mainhand" # 神器のトリガー (string) Wikiを参照 - data modify storage asset:artifact Trigger set value "onClick" + data modify storage asset:artifact Trigger set value "releaseUsingItem" # 神器の発動条件 (TextComponentString) (オプション) # data modify storage asset:artifact Condition set value # 攻撃に関する情報 -Damage量 (literal[]/literal) Wikiを参照 (オプション) diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/release_using_item/1.trigger.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/release_using_item/1.trigger.mcfunction new file mode 100644 index 00000000000..5ec72d94055 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/release_using_item/1.trigger.mcfunction @@ -0,0 +1,8 @@ +#> asset:artifact/1620.satelite_drop/release_using_item/1.trigger +# +# +# +# @within tag/function asset:artifact/using_item/release/ + +# storage asset:idのmainhandに装備している神器のIDが入っているので比較し、~/2.check_condition.mcfunctionを実行する + execute if data storage asset:context id{mainhand:1620} run function asset:artifact/1620.satelite_drop/release_using_item/2.check_condition diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/release_using_item/2.check_condition.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/release_using_item/2.check_condition.mcfunction new file mode 100644 index 00000000000..a37edda5727 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/release_using_item/2.check_condition.mcfunction @@ -0,0 +1,15 @@ +#> asset:artifact/1620.satelite_drop/release_using_item/2.main +# +# +# +# @within function asset:artifact/1620.satelite_drop/release_using_item/1.trigger + +# Effect396があるならキャンセル + data modify storage api: Argument.ID set value 396 + function api:entity/mob/effect/get/from_id + execute if data storage api: Return.Effect run return fail + +# Effect395がある(=チャージ中)ならチャージ終了処理 + data modify storage api: Argument.ID set value 395 + function api:entity/mob/effect/get/from_id + execute if data storage api: Return.Effect run function asset:artifact/1620.satelite_drop/release_using_item/3.main diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/release_using_item/3.main.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/release_using_item/3.main.mcfunction new file mode 100644 index 00000000000..567e4591e9e --- /dev/null +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/release_using_item/3.main.mcfunction @@ -0,0 +1,28 @@ +#> asset:artifact/1620.satelite_drop/release_using_item/3.main +# +# +# +# @within function asset:artifact/1620.satelite_drop/release_using_item/2.check_condition + +#> private +# @private + #declare $score_holder $Stack + +# Effect395から情報を取得してEffect396を付与 + data modify storage api: Argument.ID set value 395 + function api:entity/mob/effect/get/from_id + data modify storage api: Argument.ID set value 396 + data modify storage api: Argument.FieldOverride.Damage set value 150 + data modify storage api: Argument.FieldOverride.AttackType set value "Magic" + data modify storage api: Argument.FieldOverride.ElementType set value "Water" + + execute store result score $Stack Temporary run data get storage api: Return.Effect.Stack + execute store result storage api: Argument.Stack int 1 run scoreboard players get $Stack Temporary + execute store result storage api: Argument.Duration int 600 run scoreboard players get $Stack Temporary + function api:entity/mob/effect/give + function api:entity/mob/effect/reset + +# Effect395を削除 + data modify storage api: Argument.ID set value 395 + function api:entity/mob/effect/remove/from_id + function api:entity/mob/effect/reset diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/charge.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/charge.mcfunction deleted file mode 100644 index 72d08d69c79..00000000000 --- a/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/charge.mcfunction +++ /dev/null @@ -1,16 +0,0 @@ -#> asset:artifact/1620.satelite_drop/trigger/charge -# -# -# -# @within function asset:artifact/1620.satelite_drop/trigger/** - -# Effect395を(再)付与 - #攻撃情報も設定 - data modify storage api: Argument.FieldOverride.Damage set value 150 - data modify storage api: Argument.FieldOverride.MPThreshold set value 40 - data modify storage api: Argument.FieldOverride.AttackType set value "Magic" - data modify storage api: Argument.FieldOverride.ElementType set value "Water" - - data modify storage api: Argument.ID set value 395 - function api:entity/mob/effect/give - function api:entity/mob/effect/reset diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/launch.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/launch.mcfunction deleted file mode 100644 index 975c6c76ed6..00000000000 --- a/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/launch.mcfunction +++ /dev/null @@ -1,11 +0,0 @@ -#> asset:artifact/1620.satelite_drop/trigger/launch -# -# -# -# @within function asset:artifact/1620.satelite_drop/trigger/attack - -# 1192.Idleを外す - tag @s remove 1192.Idle - -# 位置を調整 - tp @s ^ ^ ^ ~ ~ diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/1.trigger.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/using_item/1.trigger.mcfunction similarity index 71% rename from Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/1.trigger.mcfunction rename to Asset/data/asset/functions/artifact/1620.satelite_drop/using_item/1.trigger.mcfunction index 4ffc3d6ccfd..f01d1749007 100644 --- a/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/1.trigger.mcfunction +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/using_item/1.trigger.mcfunction @@ -1,8 +1,8 @@ -#> asset:artifact/1620.satelite_drop/trigger/1.trigger +#> asset:artifact/1620.satelite_drop/using_item/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:1620} run function asset:artifact/1620.satelite_drop/trigger/2.check_condition \ No newline at end of file + execute if data storage asset:context id{mainhand:1620} run function asset:artifact/1620.satelite_drop/using_item/2.check_condition diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/2.check_condition.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/using_item/2.check_condition.mcfunction similarity index 77% rename from Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/2.check_condition.mcfunction rename to Asset/data/asset/functions/artifact/1620.satelite_drop/using_item/2.check_condition.mcfunction index 6cec2f104dc..222c9b19b02 100644 --- a/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/2.check_condition.mcfunction +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/using_item/2.check_condition.mcfunction @@ -1,8 +1,8 @@ -#> asset:artifact/1620.satelite_drop/trigger/2.check_condition +#> asset:artifact/1620.satelite_drop/using_item/2.check_condition # # 神器の発動条件をチェックします # -# @within function asset:artifact/1620.satelite_drop/trigger/1.trigger +# @within function asset:artifact/1620.satelite_drop/using_item/1.trigger # クールダウン中(Effect397保持中)ならキャンセル data modify storage api: Argument.ID set value 397 @@ -12,15 +12,15 @@ # チャージ中(Effect395保持中)ならチャージ続行 data modify storage api: Argument.ID set value 395 function api:entity/mob/effect/get/from_id - execute if data storage api: Return.Effect run return run function asset:artifact/1620.satelite_drop/trigger/charge + execute if data storage api: Return.Effect run return run function asset:artifact/1620.satelite_drop/using_item/charge/check # Effect396があるなら攻撃 data modify storage api: Argument.ID set value 396 function api:entity/mob/effect/get/from_id - execute if data storage api: Return.Effect run return run function asset:artifact/1620.satelite_drop/trigger/attack + execute if data storage api: Return.Effect run return run function asset:artifact/1620.satelite_drop/attack/ # 神器の基本的な条件の確認を行うfunction、成功している場合CanUsedタグが付く function asset:artifact/common/check_condition/mainhand # CanUsedタグをチェックして3.main.mcfunctionを実行する - execute if entity @s[tag=CanUsed] run function asset:artifact/1620.satelite_drop/trigger/3.main + execute if entity @s[tag=CanUsed] run function asset:artifact/1620.satelite_drop/using_item/3.main diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/3.main.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/using_item/3.main.mcfunction similarity index 56% rename from Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/3.main.mcfunction rename to Asset/data/asset/functions/artifact/1620.satelite_drop/using_item/3.main.mcfunction index d3e6e33d741..3d83161275a 100644 --- a/Asset/data/asset/functions/artifact/1620.satelite_drop/trigger/3.main.mcfunction +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/using_item/3.main.mcfunction @@ -1,14 +1,16 @@ -#> asset:artifact/1620.satelite_drop/trigger/3.main +#> asset:artifact/1620.satelite_drop/using_item/3.main # # 神器のメイン処理部 # -# @within function asset:artifact/1620.satelite_drop/trigger/2.check_condition +# @within function asset:artifact/1620.satelite_drop/using_item/2.check_condition # 基本的な使用時の処理(MP消費や使用回数の処理など)を行う function asset:artifact/common/use/mainhand # 既にチャージ済みでないならEffect395を付与 - function asset:artifact/1620.satelite_drop/trigger/charge + data modify storage api: Argument.ID set value 395 + function api:entity/mob/effect/give + function api:entity/mob/effect/reset # 演出 playsound entity.boat.paddle_water player @a ~ ~ ~ 2 0.5 diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/using_item/charge/.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/using_item/charge/.mcfunction new file mode 100644 index 00000000000..3573ad4c371 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/using_item/charge/.mcfunction @@ -0,0 +1,24 @@ +#> asset:artifact/1620.satelite_drop/using_item/charge/ +# +# +# +# @within function asset:artifact/1620.satelite_drop/using_item/charge/check + +#> private +# @private + #declare score_holder $Stack + #declare score_holder $3 + +# Effect395のスタックを1増やして付与 + data modify storage api: Argument.ID set value 395 + function api:entity/mob/effect/get/from_id + + data modify storage api: Argument.ID set value 395 + execute store result score $Stack Temporary run data get storage api: Return.Effect.Stack + scoreboard players add $Stack Temporary 1 + execute store result storage api: Argument.Stack int 1 run scoreboard players operation $Stack Temporary < $3 Const + function api:entity/mob/effect/give + function api:entity/mob/effect/reset + +# リセット + scoreboard players reset $Stack Temporary diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/using_item/charge/check.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/using_item/charge/check.mcfunction new file mode 100644 index 00000000000..f33c1fd94bb --- /dev/null +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/using_item/charge/check.mcfunction @@ -0,0 +1,20 @@ +#> asset:artifact/1620.satelite_drop/using_item/charge +# +# +# +# @within function asset:artifact/1620.satelite_drop/using_item/** + +#> private +# @private + #declare score_holder $Charge + #declare score_holder $30 + +# MPとチャージ時間チェック + data modify storage api: Argument.Threshold set value 40 + function api:mp/check + execute store result score $Charge Temporary run data get storage asset:context UsingItemTime.mainhand + scoreboard players operation $Charge Temporary %= $30 Const + execute if score $Charge Temporary matches 0 if data storage api: Return{IsThresholdOrMore:true} run function asset:artifact/1620.satelite_drop/using_item/charge/ + +# リセット + scoreboard players reset $Charge Temporary diff --git a/Asset/data/asset/functions/effect/0395.charge_satelite_drop/_/end.mcfunction b/Asset/data/asset/functions/effect/0395.charge_satelite_drop/_/end.mcfunction deleted file mode 100644 index cb58fb3853b..00000000000 --- a/Asset/data/asset/functions/effect/0395.charge_satelite_drop/_/end.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -#> asset:effect/0395.charge_satelite_drop/_/end -# -# Effectの効果の終了時に実行されるfunction -# -# @within tag/function asset:effect/end - -execute if data storage asset:context {id:395} run function asset:effect/0395.charge_satelite_drop/end/ \ No newline at end of file diff --git a/Asset/data/asset/functions/effect/0395.charge_satelite_drop/_/re-given.mcfunction b/Asset/data/asset/functions/effect/0395.charge_satelite_drop/_/re-given.mcfunction deleted file mode 100644 index 2dd2288c333..00000000000 --- a/Asset/data/asset/functions/effect/0395.charge_satelite_drop/_/re-given.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -#> asset:effect/0395.charge_satelite_drop/_/re-given -# -# Effectが上書きされた時に実行されるfunction -# -# @within tag/function asset:effect/re-given - -execute if data storage asset:context {id:395} run function asset:effect/0395.charge_satelite_drop/re-given/ diff --git a/Asset/data/asset/functions/effect/0395.charge_satelite_drop/end/.mcfunction b/Asset/data/asset/functions/effect/0395.charge_satelite_drop/end/.mcfunction deleted file mode 100644 index 25ac1d062b7..00000000000 --- a/Asset/data/asset/functions/effect/0395.charge_satelite_drop/end/.mcfunction +++ /dev/null @@ -1,24 +0,0 @@ -#> asset:effect/0395.charge_satelite_drop/end/ -# -# Effectの効果が切れた時の処理 -# -# @within function asset:effect/0395.charge_satelite_drop/_/end - -#> Private -# @private - #declare score_holder $Stack - -# スタックと攻撃情報を引き継いでEffect396付与 - data modify storage api: Argument.ID set value 396 - data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage - data modify storage api: Argument.FieldOverride.AttackType set from storage asset:context this.AttackType - data modify storage api: Argument.FieldOverride.ElementType set from storage asset:context this.ElementType - - execute store result score $Stack Temporary run data get storage asset:context Stack - execute store result storage api: Argument.Stack int 1 run scoreboard players get $Stack Temporary - execute store result storage api: Argument.Duration int 600 run scoreboard players get $Stack Temporary - function api:entity/mob/effect/give - function api:entity/mob/effect/reset - -# リセット - scoreboard players reset $Stack Temporary diff --git a/Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/.mcfunction b/Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/.mcfunction deleted file mode 100644 index 07b3192f098..00000000000 --- a/Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/.mcfunction +++ /dev/null @@ -1,29 +0,0 @@ -#> asset:effect/0395.charge_satelite_drop/re-given/ -# -# Effectが上書きされた時の処理 -# -# @within function asset:effect/0395.charge_satelite_drop/_/re-given - -#> Private -# @private - #declare score_holder $Charge -# @within function asset:effect/0395.charge_satelite_drop/re-given/** - #declare score_holder $Stack - -# Field引き継ぎ - data modify storage asset:context this set from storage asset:context PreviousField - #チャージ時間はさらに加算 - execute store result score $Charge Temporary run data get storage asset:context PreviousField.Charge - execute store result storage asset:context this.Charge int 1 run scoreboard players add $Charge Temporary 1 - -# 既に最大でなければ、チャージ時間30tickごとにスタックを加算 - execute store result score $Stack Temporary run data get storage asset:context Stack - scoreboard players operation $Charge Temporary %= $30 Const - #MPチェック - data modify storage api: Argument.Threshold set from storage asset:context this.MPThreshold - function api:mp/check - execute unless score $Stack Temporary matches 3 if score $Charge Temporary matches 0 if data storage api: Return{IsThresholdOrMore:true} run function asset:effect/0395.charge_satelite_drop/re-given/charge - -# リセット - scoreboard players reset $Charge Temporary - scoreboard players reset $Stack Temporary diff --git a/Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/charge.mcfunction b/Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/charge.mcfunction deleted file mode 100644 index 7797e28b3a8..00000000000 --- a/Asset/data/asset/functions/effect/0395.charge_satelite_drop/re-given/charge.mcfunction +++ /dev/null @@ -1,18 +0,0 @@ -#> asset:effect/0395.charge_satelite_drop/re-given/charge -# -# -# -# @within function asset:effect/0395.charge_satelite_drop/re-given/ - -# スタック+1 - execute store result storage asset:context Stack int 1 run scoreboard players add $Stack Temporary 1 - -# MP消費 - data modify storage api: Argument.Fluctuation set value -40 - data modify storage api: Argument.DisableLog set value 1b - function api:mp/fluctuation - -# 演出 - playsound item.bucket.empty player @a ~ ~ ~ 1 1.3 - playsound entity.experience_orb.pickup player @a ~ ~ ~ 1 2.0 - particle wax_off ~ ~0.5 ~ 0.2 0.5 0.2 3 15 diff --git a/Asset/data/asset/functions/effect/0395.charge_satelite_drop/register.mcfunction b/Asset/data/asset/functions/effect/0395.charge_satelite_drop/register.mcfunction index 17ee4c7aee9..fd3c4b18460 100644 --- a/Asset/data/asset/functions/effect/0395.charge_satelite_drop/register.mcfunction +++ b/Asset/data/asset/functions/effect/0395.charge_satelite_drop/register.mcfunction @@ -13,7 +13,7 @@ # 説明文 (TextComponentString[]) data modify storage asset:effect Description set value ['{"text": "チャージ終了時、段階に応じた数の弾を召喚する"}'] # 効果時間 (int) (default = API || error) - data modify storage asset:effect Duration set value 1 + data modify storage asset:effect Duration set value 2147483647 # スタック (int) (default = API || 1) # data modify storage asset:effect Stack set value # 効果時間の操作方法 (default = API || "replace") @@ -36,4 +36,3 @@ # data modify storage asset:effect StackVisible set value # フィールド - data modify storage asset:effect Field.Charge set value 0 diff --git a/Asset/data/asset/tags/functions/artifact/dis_equip.json b/Asset/data/asset/tags/functions/artifact/dis_equip.json index 5566bef391d..936aa821ca1 100644 --- a/Asset/data/asset/tags/functions/artifact/dis_equip.json +++ b/Asset/data/asset/tags/functions/artifact/dis_equip.json @@ -1,5 +1,6 @@ { "values": [ + "asset:artifact/1620.satelite_drop/dis_equip/1.trigger", "asset:artifact/1269.apocalypse/dis_equip/1.trigger", "asset:artifact/1615.ema_of_abundance/trigger/dis_equip/", "asset:artifact/1606.dimension_knife/dis_equip/1.trigger", diff --git a/Asset/data/asset/tags/functions/artifact/using_item/keep/.json b/Asset/data/asset/tags/functions/artifact/using_item/keep/.json index beb2f196fe8..09a9af5c6f0 100644 --- a/Asset/data/asset/tags/functions/artifact/using_item/keep/.json +++ b/Asset/data/asset/tags/functions/artifact/using_item/keep/.json @@ -1,6 +1,6 @@ { "values": [ - "asset:artifact/1620.satelite_drop/trigger/1.trigger", + "asset:artifact/1620.satelite_drop/using_item/1.trigger", "asset:artifact/1421.toaster/trigger/1.trigger", "asset:artifact/1637.precise_mana_controller/trigger/1.trigger", "asset:artifact/1453.frost_flake_bow/using_item/1.trigger", diff --git a/Asset/data/asset/tags/functions/artifact/using_item/release/.json b/Asset/data/asset/tags/functions/artifact/using_item/release/.json index 5c922d2bbf0..08320de6ade 100644 --- a/Asset/data/asset/tags/functions/artifact/using_item/release/.json +++ b/Asset/data/asset/tags/functions/artifact/using_item/release/.json @@ -1,5 +1,5 @@ { "values": [ - + "asset:artifact/1620.satelite_drop/release_using_item/1.trigger" ] } diff --git a/Asset/data/asset/tags/functions/effect/end.json b/Asset/data/asset/tags/functions/effect/end.json index ad46a7085b9..eafa855c1f7 100644 --- a/Asset/data/asset/tags/functions/effect/end.json +++ b/Asset/data/asset/tags/functions/effect/end.json @@ -1,6 +1,5 @@ { "values": [ - "asset:effect/0395.charge_satelite_drop/_/end", "asset:effect/0405.predation_of_tree/_/end", "asset:effect/0359.time_ticker_eclipse/_/end", "asset:effect/0358.time_ticker_night/_/end", diff --git a/Asset/data/asset/tags/functions/effect/re-given.json b/Asset/data/asset/tags/functions/effect/re-given.json index 3631503c017..e8154fd9bcc 100644 --- a/Asset/data/asset/tags/functions/effect/re-given.json +++ b/Asset/data/asset/tags/functions/effect/re-given.json @@ -1,6 +1,5 @@ { "values": [ - "asset:effect/0395.charge_satelite_drop/_/re-given", "asset:effect/0357.time_ticker_day/_/re-given", "asset:effect/0358.time_ticker_night/_/re-given", "asset:effect/0359.time_ticker_eclipse/_/re-given", From f89e33fd41d042e301a38f01e0cda09d8df0dec4 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Sun, 25 Oct 2026 11:28:19 +0100 Subject: [PATCH 15/24] =?UTF-8?q?Object=E3=81=AE=E8=A8=AD=E5=AE=9A?= =?UTF-8?q?=E3=82=92=E7=B6=BA=E9=BA=97=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../asset/functions/object/1192.satelite_drop/init/.mcfunction | 3 +++ .../functions/object/1192.satelite_drop/register.mcfunction | 2 -- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Asset/data/asset/functions/object/1192.satelite_drop/init/.mcfunction b/Asset/data/asset/functions/object/1192.satelite_drop/init/.mcfunction index df20e3197ff..9918fd1e297 100644 --- a/Asset/data/asset/functions/object/1192.satelite_drop/init/.mcfunction +++ b/Asset/data/asset/functions/object/1192.satelite_drop/init/.mcfunction @@ -13,5 +13,8 @@ # 即発射の場合はIdleタグを外す execute if data storage asset:context this{LaunchInstantly:true} run tag @s remove 1192.Idle +# super.init + function asset:object/super.init + # 演出 playsound entity.drowned.swim player @a ~ ~ ~ 1 1.4 diff --git a/Asset/data/asset/functions/object/1192.satelite_drop/register.mcfunction b/Asset/data/asset/functions/object/1192.satelite_drop/register.mcfunction index 8e9cae0451e..206d786bbd7 100644 --- a/Asset/data/asset/functions/object/1192.satelite_drop/register.mcfunction +++ b/Asset/data/asset/functions/object/1192.satelite_drop/register.mcfunction @@ -24,6 +24,4 @@ #発射体のField data modify storage asset:object Field.Speed set value 3 data modify storage asset:object Field.Range set value 30 - data modify storage asset:object Field.MovePerStep set value 0.5 - data modify storage asset:object Field.RemainingRange set value 30 data modify storage asset:object Field.Damage set value 0 From 3ad1ad935e58b627efa5b47debd85ae3d9b279e1 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Tue, 27 Oct 2026 15:29:43 +0100 Subject: [PATCH 16/24] =?UTF-8?q?Field=E3=81=AE=E8=A8=AD=E5=AE=9A=E6=BC=8F?= =?UTF-8?q?=E3=82=8C=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../artifact/1620.satelite_drop/attack/launch_new.mcfunction | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/attack/launch_new.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/attack/launch_new.mcfunction index 31c2cebdd46..b5d32af5056 100644 --- a/Asset/data/asset/functions/artifact/1620.satelite_drop/attack/launch_new.mcfunction +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/attack/launch_new.mcfunction @@ -6,6 +6,10 @@ data modify storage api: Argument.FieldOverride.LaunchInstantly set value true data modify storage api: Argument.FieldOverride.Count set value 1 + data modify storage api: Argument.FieldOverride.Damage set value 150 + data modify storage api: Argument.FieldOverride.AttackType set value "Magic" + data modify storage api: Argument.FieldOverride.ElementType set value "Water" + execute store result storage api: Argument.FieldOverride.UserID int 1 run scoreboard players get @s UserID data modify storage api: Argument.ID set value 1192 function api:object/summon From 36219d9056d00243a705905515f61cf54caeb9d8 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Tue, 27 Oct 2026 15:52:57 +0100 Subject: [PATCH 17/24] =?UTF-8?q?Object=E3=81=A8=E3=81=AE=E7=B4=90?= =?UTF-8?q?=E3=81=A5=E3=81=8D=E3=83=81=E3=82=A7=E3=83=83=E3=82=AF=E6=BC=8F?= =?UTF-8?q?=E3=82=8C=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../functions/artifact/1620.satelite_drop/attack/.mcfunction | 2 +- .../artifact/1620.satelite_drop/attack/launch_new.mcfunction | 2 +- .../asset/functions/effect/0396.satelite_drop/tick/.mcfunction | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/attack/.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/attack/.mcfunction index 8dd0bc2a743..9d1b8f936fa 100644 --- a/Asset/data/asset/functions/artifact/1620.satelite_drop/attack/.mcfunction +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/attack/.mcfunction @@ -9,7 +9,7 @@ # ランダムなObject 1192から1192.Idleを外す execute as @e[type=marker,tag=1192.Idle,distance=..3] if score @s 1192.UserID = @p[tag=this] UserID run tag @s add 1192.Launchable - execute anchored eyes positioned ^ ^-0.1 ^0.5 as @e[type=marker,tag=1192.Launchable,distance=..3,sort=arbitrary,limit=1] run function asset:artifact/1620.satelite_drop/attack/launch + execute anchored eyes positioned ^ ^-0.1 ^0.5 as @e[type=marker,tag=1192.Launchable,distance=..3,sort=arbitrary,limit=1] if score @s 1192.UserID = @p[tag=this] UserID run function asset:artifact/1620.satelite_drop/attack/launch tag @e[type=marker,tag=1192.Launchable,distance=..3] remove 1192.Launchable # Effect396のスタックを1減らす diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/attack/launch_new.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/attack/launch_new.mcfunction index b5d32af5056..00251522e95 100644 --- a/Asset/data/asset/functions/artifact/1620.satelite_drop/attack/launch_new.mcfunction +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/attack/launch_new.mcfunction @@ -13,4 +13,4 @@ data modify storage api: Argument.ID set value 1192 function api:object/summon - execute anchored eyes positioned ^ ^-0.1 ^0.5 run tp @e[type=marker,distance=..3,limit=1] ^ ^ ^ ~ ~ + execute anchored eyes positioned ^ ^-0.1 ^0.5 as @e[type=marker,scores={ObjectID=1192},distance=..3,limit=1] if score @s 1192.UserID = @p[tag=this] UserID rotated as @p[tag=this] run tp @s ^ ^ ^ ~ ~ diff --git a/Asset/data/asset/functions/effect/0396.satelite_drop/tick/.mcfunction b/Asset/data/asset/functions/effect/0396.satelite_drop/tick/.mcfunction index e871bf5f205..c252aef2f9d 100644 --- a/Asset/data/asset/functions/effect/0396.satelite_drop/tick/.mcfunction +++ b/Asset/data/asset/functions/effect/0396.satelite_drop/tick/.mcfunction @@ -15,7 +15,7 @@ scoreboard players operation $UserID Temporary = @s UserID execute as @e[type=marker,tag=1192.Idle,distance=..3] if score @s 1192.UserID = $UserID Temporary run scoreboard players add $BulletCount Temporary 1 #数が合わないならObjectを削除する - execute if score $Stack Temporary < $BulletCount Temporary run kill @e[type=marker,tag=1192.Idle,distance=..3,sort=arbitrary,limit=1] + execute if score $Stack Temporary < $BulletCount Temporary as @e[type=marker,tag=1192.Idle,distance=..3,sort=arbitrary,limit=1] if score @s 1192.UserID = $UserID Temporary run kill @s # リセット scoreboard players reset $Stack Temporary From 4dd40f5070216f20dc5d6e4721ef70f0b3290138 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Tue, 27 Oct 2026 16:07:44 +0100 Subject: [PATCH 18/24] =?UTF-8?q?=E7=A7=BB=E8=A1=8C=E3=81=A7=E3=81=8D?= =?UTF-8?q?=E3=81=A6=E3=81=84=E3=81=AA=E3=81=8B=E3=81=A3=E3=81=9F=E5=87=A6?= =?UTF-8?q?=E7=90=86=E3=82=92=E5=86=8D=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../using_item/charge/.mcfunction | 23 ++++++++++++++----- 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/using_item/charge/.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/using_item/charge/.mcfunction index 3573ad4c371..b4864a409f4 100644 --- a/Asset/data/asset/functions/artifact/1620.satelite_drop/using_item/charge/.mcfunction +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/using_item/charge/.mcfunction @@ -6,19 +6,30 @@ #> private # @private - #declare score_holder $Stack - #declare score_holder $3 + #declare score_holder $1620.Stack # Effect395のスタックを1増やして付与 data modify storage api: Argument.ID set value 395 function api:entity/mob/effect/get/from_id data modify storage api: Argument.ID set value 395 - execute store result score $Stack Temporary run data get storage api: Return.Effect.Stack - scoreboard players add $Stack Temporary 1 - execute store result storage api: Argument.Stack int 1 run scoreboard players operation $Stack Temporary < $3 Const + execute store result score $1620.Stack Temporary run data get storage api: Return.Effect.Stack + execute store result storage api: Argument.Stack int 1 run scoreboard players add $1620.Stack Temporary 1 function api:entity/mob/effect/give function api:entity/mob/effect/reset +# スタックが最大ならこの先の処理はスキップ + execute if score $1620.Stack Temporary matches 4.. run return run scoreboard players reset $1620.Stack Temporary + +# MP消費 + data modify storage api: Argument.Fluctuation set value -40 + data modify storage api: Argument.DisableLog set value 1b + function api:mp/fluctuation + +# 演出 + playsound item.bucket.empty player @a ~ ~ ~ 1 1.3 + playsound entity.experience_orb.pickup player @a ~ ~ ~ 1 2.0 + particle wax_off ~ ~0.5 ~ 0.2 0.5 0.2 3 15 + # リセット - scoreboard players reset $Stack Temporary + scoreboard players reset $1620.Stack Temporary From 053c68ec039a3b8b059b55c2f56a2859ccb3ad2d Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Tue, 27 Oct 2026 16:27:12 +0100 Subject: [PATCH 19/24] =?UTF-8?q?=E3=82=BB=E3=83=AC=E3=82=AF=E3=82=BF?= =?UTF-8?q?=E3=83=BC=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../artifact/1620.satelite_drop/attack/launch_new.mcfunction | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/attack/launch_new.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/attack/launch_new.mcfunction index 00251522e95..3beeebde108 100644 --- a/Asset/data/asset/functions/artifact/1620.satelite_drop/attack/launch_new.mcfunction +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/attack/launch_new.mcfunction @@ -13,4 +13,4 @@ data modify storage api: Argument.ID set value 1192 function api:object/summon - execute anchored eyes positioned ^ ^-0.1 ^0.5 as @e[type=marker,scores={ObjectID=1192},distance=..3,limit=1] if score @s 1192.UserID = @p[tag=this] UserID rotated as @p[tag=this] run tp @s ^ ^ ^ ~ ~ + execute anchored eyes positioned ^ ^-0.1 ^0.5 as @e[type=marker,scores={ObjectID=1192},distance=..3] if score @s 1192.UserID = @p[tag=this] UserID rotated as @p[tag=this] run tp @s ^ ^ ^ ~ ~ From ea99f937332fa234e092ee0b3712f3c63933574d Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Tue, 27 Oct 2026 16:43:09 +0100 Subject: [PATCH 20/24] =?UTF-8?q?=E4=BD=99=E5=89=B0=E3=81=AAObject?= =?UTF-8?q?=E3=81=AE=E5=89=8A=E9=99=A4=E3=81=A7=E3=81=AE=E3=83=97=E3=83=AC?= =?UTF-8?q?=E3=82=A4=E3=83=A4=E3=83=BC=E6=B7=B7=E7=B7=9A=E3=82=92=E8=A7=A3?= =?UTF-8?q?=E6=B6=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../functions/effect/0396.satelite_drop/tick/.mcfunction | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Asset/data/asset/functions/effect/0396.satelite_drop/tick/.mcfunction b/Asset/data/asset/functions/effect/0396.satelite_drop/tick/.mcfunction index c252aef2f9d..53abb2c8ce5 100644 --- a/Asset/data/asset/functions/effect/0396.satelite_drop/tick/.mcfunction +++ b/Asset/data/asset/functions/effect/0396.satelite_drop/tick/.mcfunction @@ -9,15 +9,18 @@ #declare score_holder $Stack #declare score_holder $UserID #declare score_holder $BulletCount + #declare tag 0396.RemovalCandidate # スタックと周囲のObject 1192の数を比較 execute store result score $Stack Temporary run data get storage asset:context Stack scoreboard players operation $UserID Temporary = @s UserID - execute as @e[type=marker,tag=1192.Idle,distance=..3] if score @s 1192.UserID = $UserID Temporary run scoreboard players add $BulletCount Temporary 1 + execute as @e[type=marker,tag=1192.Idle,distance=..3] if score @s 1192.UserID = $UserID Temporary run tag @s add 0396.RemovalCandidate + execute store result score $BulletCount Temporary if entity @e[type=marker,tag=0396.RemovalCandidate,distance=..3] #数が合わないならObjectを削除する - execute if score $Stack Temporary < $BulletCount Temporary as @e[type=marker,tag=1192.Idle,distance=..3,sort=arbitrary,limit=1] if score @s 1192.UserID = $UserID Temporary run kill @s + execute if score $Stack Temporary < $BulletCount Temporary as @e[type=marker,tag=0396.RemovalCandidate,distance=..3,sort=arbitrary,limit=1] if score @s 1192.UserID = $UserID Temporary run kill @s # リセット scoreboard players reset $Stack Temporary scoreboard players reset $UserID Temporary scoreboard players reset $BulletCount Temporary + tag @e[type=marker,tag=0396.RemovalCandidate,distance=..3] remove 0396.RemovalCandidate From 89ba2c131ab9d6c587742bd15302828ce5db340c Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Tue, 27 Oct 2026 17:03:26 +0100 Subject: [PATCH 21/24] =?UTF-8?q?=E3=83=81=E3=82=A7=E3=83=83=E3=82=AF?= =?UTF-8?q?=E3=81=AE=E9=A0=86=E7=95=AA=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../artifact/1620.satelite_drop/attack/.mcfunction | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/attack/.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/attack/.mcfunction index 9d1b8f936fa..f8de512186a 100644 --- a/Asset/data/asset/functions/artifact/1620.satelite_drop/attack/.mcfunction +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/attack/.mcfunction @@ -4,11 +4,11 @@ # # @within function asset:artifact/1620.satelite_drop/** -# なんらかの理由でObjectが近くに存在しない場合、LaunchInstantlyをtrueにした状態のObjectを新しく召喚 - execute unless entity @e[type=marker,tag=1192.Idle,distance=..3] run function asset:artifact/1620.satelite_drop/attack/launch_new - # ランダムなObject 1192から1192.Idleを外す execute as @e[type=marker,tag=1192.Idle,distance=..3] if score @s 1192.UserID = @p[tag=this] UserID run tag @s add 1192.Launchable + #なんらかの理由でObjectが近くに存在しない場合、LaunchInstantlyをtrueにした状態のObjectを新しく召喚 + execute unless entity @e[type=marker,tag=1192.Launchable,distance=..3] run function asset:artifact/1620.satelite_drop/attack/launch_new + execute anchored eyes positioned ^ ^-0.1 ^0.5 as @e[type=marker,tag=1192.Launchable,distance=..3,sort=arbitrary,limit=1] if score @s 1192.UserID = @p[tag=this] UserID run function asset:artifact/1620.satelite_drop/attack/launch tag @e[type=marker,tag=1192.Launchable,distance=..3] remove 1192.Launchable From 48f3b404b71e8e7a648b8d693d1df8465e9689fc Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Sat, 31 Oct 2026 16:21:45 +0100 Subject: [PATCH 22/24] =?UTF-8?q?=E5=A4=89=E6=95=B0=E9=A1=9E=E3=81=AB?= =?UTF-8?q?=E5=91=BD=E5=90=8D=E8=A6=8F=E5=89=87=E3=82=92=E9=81=A9=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../1620.satelite_drop/attack/.mcfunction | 10 +++---- .../attack/launch.mcfunction | 4 +-- .../attack/launch_new.mcfunction | 2 +- .../release_using_item/3.main.mcfunction | 11 +++++--- .../using_item/charge/.mcfunction | 10 +++---- .../using_item/charge/check.mcfunction | 10 +++---- .../0396.satelite_drop/given/.mcfunction | 16 ++++++------ .../given/summon.m.mcfunction | 14 +++++----- .../0396.satelite_drop/remove/.mcfunction | 8 +++--- .../0396.satelite_drop/tick/.mcfunction | 26 +++++++++---------- .../1192.satelite_drop/_index.d.mcfunction | 6 ++--- .../hit_entity/damage.mcfunction | 8 +++--- .../1192.satelite_drop/init/.mcfunction | 4 +-- .../object/1192.satelite_drop/load.mcfunction | 2 +- .../1192.satelite_drop/summon/.mcfunction | 2 +- .../1192.satelite_drop/tick/.mcfunction | 10 +++---- 16 files changed, 73 insertions(+), 70 deletions(-) diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/attack/.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/attack/.mcfunction index f8de512186a..2fc86c57d5e 100644 --- a/Asset/data/asset/functions/artifact/1620.satelite_drop/attack/.mcfunction +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/attack/.mcfunction @@ -4,13 +4,13 @@ # # @within function asset:artifact/1620.satelite_drop/** -# ランダムなObject 1192から1192.Idleを外す - execute as @e[type=marker,tag=1192.Idle,distance=..3] if score @s 1192.UserID = @p[tag=this] UserID run tag @s add 1192.Launchable +# ランダムなObject 1192からO1192.Idleを外す + execute as @e[type=marker,tag=O1192.Idle,distance=..3] if score @s O1192.UserID = @p[tag=this] UserID run tag @s add O1192.Launchable #なんらかの理由でObjectが近くに存在しない場合、LaunchInstantlyをtrueにした状態のObjectを新しく召喚 - execute unless entity @e[type=marker,tag=1192.Launchable,distance=..3] run function asset:artifact/1620.satelite_drop/attack/launch_new + execute unless entity @e[type=marker,tag=O1192.Launchable,distance=..3] run function asset:artifact/1620.satelite_drop/attack/launch_new - execute anchored eyes positioned ^ ^-0.1 ^0.5 as @e[type=marker,tag=1192.Launchable,distance=..3,sort=arbitrary,limit=1] if score @s 1192.UserID = @p[tag=this] UserID run function asset:artifact/1620.satelite_drop/attack/launch - tag @e[type=marker,tag=1192.Launchable,distance=..3] remove 1192.Launchable + execute anchored eyes positioned ^ ^-0.1 ^0.5 as @e[type=marker,tag=O1192.Launchable,distance=..3,sort=arbitrary,limit=1] if score @s O1192.UserID = @p[tag=this] UserID run function asset:artifact/1620.satelite_drop/attack/launch + tag @e[type=marker,tag=O1192.Launchable,distance=..3] remove O1192.Launchable # Effect396のスタックを1減らす data modify storage api: Argument.ID set value 396 diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/attack/launch.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/attack/launch.mcfunction index 0838b79a314..3e42a94819e 100644 --- a/Asset/data/asset/functions/artifact/1620.satelite_drop/attack/launch.mcfunction +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/attack/launch.mcfunction @@ -4,8 +4,8 @@ # # @within function asset:artifact/1620.satelite_drop/attack/ -# 1192.Idleを外す - tag @s remove 1192.Idle +# O1192.Idleを外す + tag @s remove O1192.Idle # 位置を調整 tp @s ^ ^ ^ ~ ~ diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/attack/launch_new.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/attack/launch_new.mcfunction index 3beeebde108..2b889f3e638 100644 --- a/Asset/data/asset/functions/artifact/1620.satelite_drop/attack/launch_new.mcfunction +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/attack/launch_new.mcfunction @@ -13,4 +13,4 @@ data modify storage api: Argument.ID set value 1192 function api:object/summon - execute anchored eyes positioned ^ ^-0.1 ^0.5 as @e[type=marker,scores={ObjectID=1192},distance=..3] if score @s 1192.UserID = @p[tag=this] UserID rotated as @p[tag=this] run tp @s ^ ^ ^ ~ ~ + execute anchored eyes positioned ^ ^-0.1 ^0.5 as @e[type=marker,scores={ObjectID=1192},distance=..3] if score @s O1192.UserID = @p[tag=this] UserID rotated as @p[tag=this] run tp @s ^ ^ ^ ~ ~ diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/release_using_item/3.main.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/release_using_item/3.main.mcfunction index 567e4591e9e..1593299af39 100644 --- a/Asset/data/asset/functions/artifact/1620.satelite_drop/release_using_item/3.main.mcfunction +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/release_using_item/3.main.mcfunction @@ -6,7 +6,7 @@ #> private # @private - #declare $score_holder $Stack + #declare score_holder $A1620.Stack # Effect395から情報を取得してEffect396を付与 data modify storage api: Argument.ID set value 395 @@ -16,9 +16,9 @@ data modify storage api: Argument.FieldOverride.AttackType set value "Magic" data modify storage api: Argument.FieldOverride.ElementType set value "Water" - execute store result score $Stack Temporary run data get storage api: Return.Effect.Stack - execute store result storage api: Argument.Stack int 1 run scoreboard players get $Stack Temporary - execute store result storage api: Argument.Duration int 600 run scoreboard players get $Stack Temporary + execute store result score $A1620.Stack Temporary run data get storage api: Return.Effect.Stack + execute store result storage api: Argument.Stack int 1 run scoreboard players get $A1620.Stack Temporary + execute store result storage api: Argument.Duration int 600 run scoreboard players get $A1620.Stack Temporary function api:entity/mob/effect/give function api:entity/mob/effect/reset @@ -26,3 +26,6 @@ data modify storage api: Argument.ID set value 395 function api:entity/mob/effect/remove/from_id function api:entity/mob/effect/reset + +# リセット + scoreboard players reset $A1620.Stack diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/using_item/charge/.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/using_item/charge/.mcfunction index b4864a409f4..5b4909be828 100644 --- a/Asset/data/asset/functions/artifact/1620.satelite_drop/using_item/charge/.mcfunction +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/using_item/charge/.mcfunction @@ -6,20 +6,20 @@ #> private # @private - #declare score_holder $1620.Stack + #declare score_holder $A1620.Stack # Effect395のスタックを1増やして付与 data modify storage api: Argument.ID set value 395 function api:entity/mob/effect/get/from_id data modify storage api: Argument.ID set value 395 - execute store result score $1620.Stack Temporary run data get storage api: Return.Effect.Stack - execute store result storage api: Argument.Stack int 1 run scoreboard players add $1620.Stack Temporary 1 + execute store result score $A1620.Stack Temporary run data get storage api: Return.Effect.Stack + execute store result storage api: Argument.Stack int 1 run scoreboard players add $A1620.Stack Temporary 1 function api:entity/mob/effect/give function api:entity/mob/effect/reset # スタックが最大ならこの先の処理はスキップ - execute if score $1620.Stack Temporary matches 4.. run return run scoreboard players reset $1620.Stack Temporary + execute if score $A1620.Stack Temporary matches 4.. run return run scoreboard players reset $A1620.Stack Temporary # MP消費 data modify storage api: Argument.Fluctuation set value -40 @@ -32,4 +32,4 @@ particle wax_off ~ ~0.5 ~ 0.2 0.5 0.2 3 15 # リセット - scoreboard players reset $1620.Stack Temporary + scoreboard players reset $A1620.Stack diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/using_item/charge/check.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/using_item/charge/check.mcfunction index f33c1fd94bb..412efd56fdb 100644 --- a/Asset/data/asset/functions/artifact/1620.satelite_drop/using_item/charge/check.mcfunction +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/using_item/charge/check.mcfunction @@ -6,15 +6,15 @@ #> private # @private - #declare score_holder $Charge + #declare score_holder $A1620.Charge #declare score_holder $30 # MPとチャージ時間チェック data modify storage api: Argument.Threshold set value 40 function api:mp/check - execute store result score $Charge Temporary run data get storage asset:context UsingItemTime.mainhand - scoreboard players operation $Charge Temporary %= $30 Const - execute if score $Charge Temporary matches 0 if data storage api: Return{IsThresholdOrMore:true} run function asset:artifact/1620.satelite_drop/using_item/charge/ + execute store result score $A1620.Charge Temporary run data get storage asset:context UsingItemTime.mainhand + scoreboard players operation $A1620.Charge Temporary %= $30 Const + execute if score $A1620.Charge Temporary matches 0 if data storage api: Return{IsThresholdOrMore:true} run function asset:artifact/1620.satelite_drop/using_item/charge/ # リセット - scoreboard players reset $Charge Temporary + scoreboard players reset $A1620.Charge diff --git a/Asset/data/asset/functions/effect/0396.satelite_drop/given/.mcfunction b/Asset/data/asset/functions/effect/0396.satelite_drop/given/.mcfunction index 2897d1b3381..92a86ec992f 100644 --- a/Asset/data/asset/functions/effect/0396.satelite_drop/given/.mcfunction +++ b/Asset/data/asset/functions/effect/0396.satelite_drop/given/.mcfunction @@ -6,18 +6,18 @@ #> Private # @within function asset:effect/0396.satelite_drop/given/** - #declare score_holder $Stack - #declare score_holder $360 + #declare score_holder $E0396.Stack + #declare score_holder $E0396.360 # (Stack)個のObject1192を召喚 - execute store result score $Stack Temporary run data get storage asset:context Stack + execute store result score $E0396.Stack Temporary run data get storage asset:context Stack #(360/Stack)°間隔で召喚 - scoreboard players set $360 Temporary 360 - execute store result storage asset:temp Args.Angle int 1 run scoreboard players operation $360 Temporary /= $Stack Temporary - execute store result storage asset:temp Args.Count int 1 run scoreboard players get $Stack Temporary + scoreboard players set $E0396.360 Temporary 360 + execute store result storage asset:temp Args.Angle int 1 run scoreboard players operation $E0396.360 Temporary /= $E0396.Stack Temporary + execute store result storage asset:temp Args.Count int 1 run scoreboard players get $E0396.Stack Temporary execute at @s positioned ~ ~0.75 ~ run function asset:effect/0396.satelite_drop/given/summon.m with storage asset:temp Args # リセット - scoreboard players reset $Stack Temporary - scoreboard players reset $360 Temporary + scoreboard players reset $E0396.Stack + scoreboard players reset $E0396.360 data remove storage asset:temp Args diff --git a/Asset/data/asset/functions/effect/0396.satelite_drop/given/summon.m.mcfunction b/Asset/data/asset/functions/effect/0396.satelite_drop/given/summon.m.mcfunction index 6c73d46fb65..029fe271f2d 100644 --- a/Asset/data/asset/functions/effect/0396.satelite_drop/given/summon.m.mcfunction +++ b/Asset/data/asset/functions/effect/0396.satelite_drop/given/summon.m.mcfunction @@ -6,10 +6,10 @@ #> Private # @private - #declare score_holder $Rotation + #declare score_holder $E0396.Rotation -# $Stackを再帰用にリサイクル - scoreboard players remove $Stack Temporary 1 +# $E0396.Stackを再帰用にリサイクル + scoreboard players remove $E0396.Stack Temporary 1 # Object1192召喚 #攻撃情報 @@ -19,13 +19,13 @@ data modify storage api: Argument.ID set value 1192 execute store result storage api: Argument.FieldOverride.UserID int 1 run scoreboard players get @s UserID #$(Angle)°ずつ角度をを変えて召喚 - $scoreboard players set $Rotation Temporary $(Angle) - execute store result storage api: Argument.FieldOverride.Angle int 1 run scoreboard players operation $Rotation Temporary *= $Stack Temporary + $scoreboard players set $E0396.Rotation Temporary $(Angle) + execute store result storage api: Argument.FieldOverride.Angle int 1 run scoreboard players operation $E0396.Rotation Temporary *= $E0396.Stack Temporary $data modify storage api: Argument.FieldOverride.Count set value $(Count) execute rotated ~ 0 positioned ^ ^ ^0.75 run function api:object/summon # リセット - scoreboard players reset $Rotation Temporary + scoreboard players reset $E0396.Rotation # 回転して再帰 - $execute rotated ~$(Angle) ~ if score $Stack Temporary matches 1.. run function asset:effect/0396.satelite_drop/given/summon.m with storage asset:temp Args + $execute rotated ~$(Angle) ~ if score $E0396.Stack Temporary matches 1.. run function asset:effect/0396.satelite_drop/given/summon.m with storage asset:temp Args diff --git a/Asset/data/asset/functions/effect/0396.satelite_drop/remove/.mcfunction b/Asset/data/asset/functions/effect/0396.satelite_drop/remove/.mcfunction index a827afb3d3b..119ed55fddb 100644 --- a/Asset/data/asset/functions/effect/0396.satelite_drop/remove/.mcfunction +++ b/Asset/data/asset/functions/effect/0396.satelite_drop/remove/.mcfunction @@ -6,11 +6,11 @@ #> Private # @private - #declare score_holder $UserID + #declare score_holder $E0396.UserID # 自身に紐づいていて、Idleタグを持つObject 1192を削除 - scoreboard players operation $UserID Temporary = @s UserID - execute as @e[type=marker,tag=1192.Idle,distance=..3] if score @s 1192.UserID = $UserID Temporary run kill @s + scoreboard players operation $E0396.UserID Temporary = @s UserID + execute as @e[type=marker,tag=O1192.Idle,distance=..3] if score @s O1192.UserID = $E0396.UserID Temporary run kill @s # リセット - scoreboard players reset $UserID Temporary + scoreboard players reset $E0396.UserID diff --git a/Asset/data/asset/functions/effect/0396.satelite_drop/tick/.mcfunction b/Asset/data/asset/functions/effect/0396.satelite_drop/tick/.mcfunction index 53abb2c8ce5..1ece2331f49 100644 --- a/Asset/data/asset/functions/effect/0396.satelite_drop/tick/.mcfunction +++ b/Asset/data/asset/functions/effect/0396.satelite_drop/tick/.mcfunction @@ -6,21 +6,21 @@ #> Private # @private - #declare score_holder $Stack - #declare score_holder $UserID - #declare score_holder $BulletCount - #declare tag 0396.RemovalCandidate + #declare score_holder $E0396.Stack + #declare score_holder $E0396.UserID + #declare score_holder $E0396.BulletCount + #declare tag E0396.RemovalCandidate # スタックと周囲のObject 1192の数を比較 - execute store result score $Stack Temporary run data get storage asset:context Stack - scoreboard players operation $UserID Temporary = @s UserID - execute as @e[type=marker,tag=1192.Idle,distance=..3] if score @s 1192.UserID = $UserID Temporary run tag @s add 0396.RemovalCandidate - execute store result score $BulletCount Temporary if entity @e[type=marker,tag=0396.RemovalCandidate,distance=..3] + execute store result score $E0396.Stack Temporary run data get storage asset:context Stack + scoreboard players operation $E0396.UserID Temporary = @s UserID + execute as @e[type=marker,tag=O1192.Idle,distance=..3] if score @s O1192.UserID = $E0396.UserID Temporary run tag @s add E0396.RemovalCandidate + execute store result score $E0396.BulletCount Temporary if entity @e[type=marker,tag=E0396.RemovalCandidate,distance=..3] #数が合わないならObjectを削除する - execute if score $Stack Temporary < $BulletCount Temporary as @e[type=marker,tag=0396.RemovalCandidate,distance=..3,sort=arbitrary,limit=1] if score @s 1192.UserID = $UserID Temporary run kill @s + execute if score $E0396.Stack Temporary < $E0396.BulletCount Temporary as @e[type=marker,tag=E0396.RemovalCandidate,distance=..3,sort=arbitrary,limit=1] if score @s O1192.UserID = $E0396.UserID Temporary run kill @s # リセット - scoreboard players reset $Stack Temporary - scoreboard players reset $UserID Temporary - scoreboard players reset $BulletCount Temporary - tag @e[type=marker,tag=0396.RemovalCandidate,distance=..3] remove 0396.RemovalCandidate + scoreboard players reset $E0396.Stack + scoreboard players reset $E0396.UserID + scoreboard players reset $E0396.BulletCount + tag @e[type=marker,tag=E0396.RemovalCandidate,distance=..3] remove E0396.RemovalCandidate diff --git a/Asset/data/asset/functions/object/1192.satelite_drop/_index.d.mcfunction b/Asset/data/asset/functions/object/1192.satelite_drop/_index.d.mcfunction index 1a8a7fae303..62afb32704f 100644 --- a/Asset/data/asset/functions/object/1192.satelite_drop/_index.d.mcfunction +++ b/Asset/data/asset/functions/object/1192.satelite_drop/_index.d.mcfunction @@ -5,11 +5,11 @@ # @within function asset:object/1192.satelite_drop/** # @within function asset:artifact/1620.satelite_drop/** # @within function asset:effect/0396.satelite_drop/** - #declare tag 1192.Idle - #declare tag 1192.Launchable + #declare tag O1192.Idle + #declare tag O1192.Launchable #> scoreboard # @within function asset:object/1192.satelite_drop/** # @within function asset:artifact/1620.satelite_drop/** # @within function asset:effect/0396.satelite_drop/** - #declare objective 1192.UserID + #declare objective O1192.UserID diff --git a/Asset/data/asset/functions/object/1192.satelite_drop/hit_entity/damage.mcfunction b/Asset/data/asset/functions/object/1192.satelite_drop/hit_entity/damage.mcfunction index 9850abfca00..f7435690ade 100644 --- a/Asset/data/asset/functions/object/1192.satelite_drop/hit_entity/damage.mcfunction +++ b/Asset/data/asset/functions/object/1192.satelite_drop/hit_entity/damage.mcfunction @@ -6,13 +6,13 @@ #> Private # @private - #declare score_holder $UserID + #declare score_holder $O1192.UserID data modify storage api: Argument.Damage set from storage asset:context this.Damage data modify storage api: Argument.AttackType set from storage asset:context this.AttackType data modify storage api: Argument.ElementType set from storage asset:context this.ElementType - 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 store result score $O1192.UserID Temporary run data get storage asset:context this.UserID + execute as @a if score @s UserID = $O1192.UserID Temporary run function api:damage/modifier function api:damage/ function api:damage/reset @@ -20,4 +20,4 @@ playsound entity.shulker_bullet.hit player @a ~ ~ ~ 1 1.4 # リセット - scoreboard players reset $UserID Temporary + scoreboard players reset $O1192.UserID diff --git a/Asset/data/asset/functions/object/1192.satelite_drop/init/.mcfunction b/Asset/data/asset/functions/object/1192.satelite_drop/init/.mcfunction index 9918fd1e297..9422f20d052 100644 --- a/Asset/data/asset/functions/object/1192.satelite_drop/init/.mcfunction +++ b/Asset/data/asset/functions/object/1192.satelite_drop/init/.mcfunction @@ -8,10 +8,10 @@ execute store result score @s General.Object.Tick run data get storage asset:context this.Count 600 # Artifact側からアクセスする用のID紐づけ - execute store result score @s 1192.UserID run data get storage asset:context this.UserID + execute store result score @s O1192.UserID run data get storage asset:context this.UserID # 即発射の場合はIdleタグを外す - execute if data storage asset:context this{LaunchInstantly:true} run tag @s remove 1192.Idle + execute if data storage asset:context this{LaunchInstantly:true} run tag @s remove O1192.Idle # super.init function asset:object/super.init diff --git a/Asset/data/asset/functions/object/1192.satelite_drop/load.mcfunction b/Asset/data/asset/functions/object/1192.satelite_drop/load.mcfunction index 48b7657c0ff..191b5aef545 100644 --- a/Asset/data/asset/functions/object/1192.satelite_drop/load.mcfunction +++ b/Asset/data/asset/functions/object/1192.satelite_drop/load.mcfunction @@ -6,4 +6,4 @@ #> 定義類はここに # @within function asset:object/1192.satelite_drop/** - scoreboard objectives add 1192.UserID dummy + scoreboard objectives add O1192.UserID dummy diff --git a/Asset/data/asset/functions/object/1192.satelite_drop/summon/.mcfunction b/Asset/data/asset/functions/object/1192.satelite_drop/summon/.mcfunction index 0cf3b53ab7d..6cb937733db 100644 --- a/Asset/data/asset/functions/object/1192.satelite_drop/summon/.mcfunction +++ b/Asset/data/asset/functions/object/1192.satelite_drop/summon/.mcfunction @@ -5,4 +5,4 @@ # @within asset:object/alias/1192/summon # 元となるEntityを召喚する - summon marker ~ ~ ~ {Tags:["ObjectInit","1192.Idle"]} + summon marker ~ ~ ~ {Tags:["ObjectInit","O1192.Idle"]} diff --git a/Asset/data/asset/functions/object/1192.satelite_drop/tick/.mcfunction b/Asset/data/asset/functions/object/1192.satelite_drop/tick/.mcfunction index 3e9e70c60e0..645760b8a67 100644 --- a/Asset/data/asset/functions/object/1192.satelite_drop/tick/.mcfunction +++ b/Asset/data/asset/functions/object/1192.satelite_drop/tick/.mcfunction @@ -9,22 +9,22 @@ #declare score_holder $UserID # Tick加算 - scoreboard players remove @s[tag=1192.Idle] General.Object.Tick 1 + scoreboard players remove @s[tag=O1192.Idle] General.Object.Tick 1 -# 1192.Idleの有無で処理を分岐 +# O1192.Idleの有無で処理を分岐 #あるならプレイヤーの周りを回転 execute store result score $UserID Temporary run data get storage asset:context this.UserID - execute if entity @s[tag=1192.Idle] as @a if score @s UserID = $UserID Temporary at @s as @e[type=marker,tag=this,limit=1] run function asset:object/1192.satelite_drop/tick/idle/ + execute if entity @s[tag=O1192.Idle] as @a if score @s UserID = $UserID Temporary at @s as @e[type=marker,tag=this,limit=1] run function asset:object/1192.satelite_drop/tick/idle/ #ないならsuper.tick - execute unless entity @s[tag=1192.Idle] run function asset:object/super.tick + execute unless entity @s[tag=O1192.Idle] run function asset:object/super.tick # 演出 particle dust 0.2 0.4 0.8 0.5 ~ ~ ~ 0.01 0.01 0.01 1 5 particle dust 0.722 1 0.984 0.25 ~ ~ ~ 0.05 0.05 0.05 1 15 # リセット - scoreboard players reset $UserID Temporary + scoreboard players reset $UserID # 消滅処理 kill @s[scores={General.Object.Tick=..0}] From 3009ad2eaa85fcbb756f3bfc09f38a0ae5466c63 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Sat, 31 Oct 2026 16:42:38 +0100 Subject: [PATCH 23/24] =?UTF-8?q?=E5=90=84=E7=A8=AE=E3=83=91=E3=83=A9?= =?UTF-8?q?=E3=83=A1=E3=83=BC=E3=82=BF=E3=83=BC=E3=82=92=E7=A5=9E=E5=99=A8?= =?UTF-8?q?=E3=81=8B=E3=82=89=E8=A8=AD=E5=AE=9A=E3=81=A7=E3=81=8D=E3=82=8B?= =?UTF-8?q?=E3=82=88=E3=81=86=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../attack/launch_new.mcfunction | 12 +++++++--- .../release_using_item/3.main.mcfunction | 22 +++++++++++++------ .../given/summon.m.mcfunction | 13 +++++++---- .../1192.satelite_drop/register.mcfunction | 10 ++++----- 4 files changed, 38 insertions(+), 19 deletions(-) diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/attack/launch_new.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/attack/launch_new.mcfunction index 2b889f3e638..3e988d31af3 100644 --- a/Asset/data/asset/functions/artifact/1620.satelite_drop/attack/launch_new.mcfunction +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/attack/launch_new.mcfunction @@ -6,9 +6,15 @@ data modify storage api: Argument.FieldOverride.LaunchInstantly set value true data modify storage api: Argument.FieldOverride.Count set value 1 - data modify storage api: Argument.FieldOverride.Damage set value 150 - data modify storage api: Argument.FieldOverride.AttackType set value "Magic" - data modify storage api: Argument.FieldOverride.ElementType set value "Water" + # 攻撃情報 + data modify storage api: Argument.FieldOverride.Damage set value 150 + data modify storage api: Argument.FieldOverride.AttackType set value "Magic" + data modify storage api: Argument.FieldOverride.ElementType set value "Water" + + # 発射体のField + data modify storage api: Argument.FieldOverride.Speed set value 3 + data modify storage api: Argument.FieldOverride.Range set value 30 + execute store result storage api: Argument.FieldOverride.UserID int 1 run scoreboard players get @s UserID data modify storage api: Argument.ID set value 1192 function api:object/summon diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/release_using_item/3.main.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/release_using_item/3.main.mcfunction index 1593299af39..75134004665 100644 --- a/Asset/data/asset/functions/artifact/1620.satelite_drop/release_using_item/3.main.mcfunction +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/release_using_item/3.main.mcfunction @@ -8,17 +8,25 @@ # @private #declare score_holder $A1620.Stack -# Effect395から情報を取得してEffect396を付与 +# Effect396を付与 data modify storage api: Argument.ID set value 395 function api:entity/mob/effect/get/from_id data modify storage api: Argument.ID set value 396 - data modify storage api: Argument.FieldOverride.Damage set value 150 - data modify storage api: Argument.FieldOverride.AttackType set value "Magic" - data modify storage api: Argument.FieldOverride.ElementType set value "Water" - execute store result score $A1620.Stack Temporary run data get storage api: Return.Effect.Stack - execute store result storage api: Argument.Stack int 1 run scoreboard players get $A1620.Stack Temporary - execute store result storage api: Argument.Duration int 600 run scoreboard players get $A1620.Stack Temporary + # チャージ段階に応じて効果時間とスタックを設定 + execute store result score $A1620.Stack Temporary run data get storage api: Return.Effect.Stack + execute store result storage api: Argument.Stack int 1 run scoreboard players get $A1620.Stack Temporary + execute store result storage api: Argument.Duration int 600 run scoreboard players get $A1620.Stack Temporary + + # 攻撃情報 + data modify storage api: Argument.FieldOverride.Damage set value 150 + data modify storage api: Argument.FieldOverride.AttackType set value "Magic" + data modify storage api: Argument.FieldOverride.ElementType set value "Water" + + # 発射体のField + data modify storage api: Argument.FieldOverride.Speed set value 3 + data modify storage api: Argument.FieldOverride.Range set value 30 + function api:entity/mob/effect/give function api:entity/mob/effect/reset diff --git a/Asset/data/asset/functions/effect/0396.satelite_drop/given/summon.m.mcfunction b/Asset/data/asset/functions/effect/0396.satelite_drop/given/summon.m.mcfunction index 029fe271f2d..87602b9caf4 100644 --- a/Asset/data/asset/functions/effect/0396.satelite_drop/given/summon.m.mcfunction +++ b/Asset/data/asset/functions/effect/0396.satelite_drop/given/summon.m.mcfunction @@ -12,10 +12,15 @@ scoreboard players remove $E0396.Stack Temporary 1 # Object1192召喚 - #攻撃情報 - data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage - data modify storage api: Argument.FieldOverride.AttackType set from storage asset:context this.AttackType - data modify storage api: Argument.FieldOverride.ElementType set from storage asset:context this.ElementType + # 攻撃情報 + data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage + data modify storage api: Argument.FieldOverride.AttackType set from storage asset:context this.AttackType + data modify storage api: Argument.FieldOverride.ElementType set from storage asset:context this.ElementType + + # 発射体のField + data modify storage api: Argument.FieldOverride.Speed set from storage asset:context this.Speed + data modify storage api: Argument.FieldOverride.Range set from storage asset:context this.Range + data modify storage api: Argument.ID set value 1192 execute store result storage api: Argument.FieldOverride.UserID int 1 run scoreboard players get @s UserID #$(Angle)°ずつ角度をを変えて召喚 diff --git a/Asset/data/asset/functions/object/1192.satelite_drop/register.mcfunction b/Asset/data/asset/functions/object/1192.satelite_drop/register.mcfunction index 206d786bbd7..a7c11cc45d1 100644 --- a/Asset/data/asset/functions/object/1192.satelite_drop/register.mcfunction +++ b/Asset/data/asset/functions/object/1192.satelite_drop/register.mcfunction @@ -17,11 +17,11 @@ # ID (int) data modify storage asset:object ID set value 1192 # フィールド(オプション) + data modify storage asset:object Field.Damage set value -1 data modify storage asset:object Field.UserID set value -1 - data modify storage asset:object Field.Angle set value 0 - data modify storage asset:object Field.Count set value 0 + data modify storage asset:object Field.Angle set value -1 + data modify storage asset:object Field.Count set value -1 data modify storage asset:object Field.LaunchInstantly set value false #発射体のField - data modify storage asset:object Field.Speed set value 3 - data modify storage asset:object Field.Range set value 30 - data modify storage asset:object Field.Damage set value 0 + data modify storage asset:object Field.Speed set value -1 + data modify storage asset:object Field.Range set value -1 From 6b070a04b78023aafaf0d4247a16dc8f103ace2c Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Sun, 1 Nov 2026 13:02:30 +0100 Subject: [PATCH 24/24] =?UTF-8?q?Lore=E3=82=92=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../artifact/1620.satelite_drop/give/2.give.mcfunction | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Asset/data/asset/functions/artifact/1620.satelite_drop/give/2.give.mcfunction b/Asset/data/asset/functions/artifact/1620.satelite_drop/give/2.give.mcfunction index e734546935d..bfc252aaa85 100644 --- a/Asset/data/asset/functions/artifact/1620.satelite_drop/give/2.give.mcfunction +++ b/Asset/data/asset/functions/artifact/1620.satelite_drop/give/2.give.mcfunction @@ -15,7 +15,7 @@ # 神器の名前 (TextComponentString) data modify storage asset:artifact Name set value '{"text": "サテライトドロップ", "color": "#6abcf6"}' # 神器の説明文 (TextComponentString[]) - data modify storage asset:artifact Lore set value ['{"text": "任意のタイミングで発射ができる弾を召喚する(最大3個)。"}', '{"translate": "弾はチャージ時間1.5秒につき数が一つ増え、%sの間残る。", "with":[{"text": "召喚した数x30秒", "color": "aqua"}]}'] + data modify storage asset:artifact Lore set value ['{"text": "クールダウンと消費MPを無視して発射ができる弾を召喚する(最大3個)。"}', '{"translate": "弾はチャージ時間1.5秒につき数が一つ増え、%sの間残る。", "with":[{"text": "召喚した数x30秒", "color": "aqua"}]}'] # 消費アイテム ({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