From f0b71f40d0b64e1058829b821d224516152583f4 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Sat, 20 Jun 2026 11:26:24 +0200 Subject: [PATCH 01/50] =?UTF-8?q?Artifact=E3=81=A8Effect=E3=81=AE=E5=9F=BA?= =?UTF-8?q?=E6=9C=AC=E6=A9=9F=E8=83=BD=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 ++ .../give/2.give.mcfunction | 68 +++++++++++++++++++ .../1465.versatile_plasma/register.mcfunction | 7 ++ .../trigger/1.trigger.mcfunction | 8 +++ .../trigger/2.check_condition.mcfunction | 19 ++++++ .../trigger/3.main.mcfunction | 16 +++++ .../trigger/charge.mcfunction | 24 +++++++ .../effect/374.charge_plasma/_/end.mcfunction | 7 ++ .../374.charge_plasma/_/re-given.mcfunction | 7 ++ .../374.charge_plasma/_/register.mcfunction | 7 ++ .../effect/374.charge_plasma/end/.mcfunction | 10 +++ .../374.charge_plasma/re-given/.mcfunction | 22 ++++++ .../374.charge_plasma/register.mcfunction | 39 +++++++++++ .../asset/tags/functions/artifact/give.json | 3 +- .../tags/functions/artifact/register.json | 3 +- .../tags/functions/artifact/using_item.json | 1 + .../data/asset/tags/functions/effect/end.json | 3 +- .../asset/tags/functions/effect/re-given.json | 3 +- .../asset/tags/functions/effect/register.json | 3 +- 19 files changed, 252 insertions(+), 5 deletions(-) create mode 100644 Asset/data/asset/functions/artifact/1465.versatile_plasma/give/1.trigger.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1465.versatile_plasma/give/2.give.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1465.versatile_plasma/register.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/1.trigger.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/2.check_condition.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/3.main.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/charge.mcfunction create mode 100644 Asset/data/asset/functions/effect/374.charge_plasma/_/end.mcfunction create mode 100644 Asset/data/asset/functions/effect/374.charge_plasma/_/re-given.mcfunction create mode 100644 Asset/data/asset/functions/effect/374.charge_plasma/_/register.mcfunction create mode 100644 Asset/data/asset/functions/effect/374.charge_plasma/end/.mcfunction create mode 100644 Asset/data/asset/functions/effect/374.charge_plasma/re-given/.mcfunction create mode 100644 Asset/data/asset/functions/effect/374.charge_plasma/register.mcfunction diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/give/1.trigger.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/give/1.trigger.mcfunction new file mode 100644 index 00000000000..cc46a1a9a55 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/give/1.trigger.mcfunction @@ -0,0 +1,7 @@ +#> asset:artifact/1465.versatile_plasma/give/1.trigger +# +# 神器の取得処理の呼び出し時に実行されるfunction +# +# @within tag/function asset:artifact/give + +execute if data storage asset:context {id:1465} run function asset:artifact/1465.versatile_plasma/give/2.give \ No newline at end of file diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/give/2.give.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/give/2.give.mcfunction new file mode 100644 index 00000000000..42d15d12b02 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/give/2.give.mcfunction @@ -0,0 +1,68 @@ +#> asset:artifact/1465.versatile_plasma/give/2.give +# +# 神器の作成部 ここでID等を定義する +# +# @user +# @within function asset:artifact/1465.versatile_plasma/give/1.trigger + +# 神器の説明や消費MPなどをここで設定する。 +# 最後にasset:artifact/common/giveを実行することで入手可能。 + +# 神器のID (int) スプレッドシートの値を入れる + data modify storage asset:artifact ID set value 1465 +# 神器のベースアイテム + 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 [30, 300] +# 攻撃に関する情報 -攻撃タイプ (string[]) Wikiを参照 (オプション) + data modify storage asset:artifact AttackInfo.AttackType set value [Physical] +# 攻撃に関する情報 -攻撃属性 (string[]) Wikiを参照 (オプション) + data modify storage asset:artifact AttackInfo.ElementType set value [Thunder] +# 攻撃に関する情報 -防御無視 (boolean) Wikiを参照 (オプション) + # data modify storage asset:artifact AttackInfo.BypassResist set value +# 攻撃に関する情報 -範囲攻撃 (string) Wikiを参照 (オプション) + # data modify storage asset:artifact AttackInfo.IsRangeAttack set value +# 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション) + data modify storage asset:artifact AttackInfo.AttackRange set value "???" +# MP消費量 (int) + data modify storage asset:artifact MPCost set value 1 +# MP必要量 (int) (オプション) + # data modify storage asset:artifact MPRequire set value +# MP回復量 (int) + data modify storage asset:artifact MPHealWhenHit set value 10 +# 神器のクールダウン (int) (オプション) + data modify storage asset:artifact LocalCooldown set value 100 +# 種別クールダウン ({Type: string, Duration: int}) (オプション) + data modify storage asset:artifact TypeCooldown.Type set value "longRange" + data modify storage asset:artifact TypeCooldown.Duration set value 50 +# グローバルクールダウン (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 ["Urban", "Wi-ki"] +# カスタム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/1465.versatile_plasma/register.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/register.mcfunction new file mode 100644 index 00000000000..e26bb3ec038 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/register.mcfunction @@ -0,0 +1,7 @@ +#> asset:artifact/1465.versatile_plasma/register +# +# 神器プールへの登録処理 +# +# @within tag/function asset:artifact/register + +data modify storage asset:artifact RarityRegistry[3] append value [1465] \ No newline at end of file diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/1.trigger.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/1.trigger.mcfunction new file mode 100644 index 00000000000..4744c2c87e5 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/1.trigger.mcfunction @@ -0,0 +1,8 @@ +#> asset:artifact/1465.versatile_plasma/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:1465} run function asset:artifact/1465.versatile_plasma/trigger/2.check_condition \ No newline at end of file diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/2.check_condition.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/2.check_condition.mcfunction new file mode 100644 index 00000000000..e0f92c8d0f8 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/2.check_condition.mcfunction @@ -0,0 +1,19 @@ +#> asset:artifact/1465.versatile_plasma/trigger/2.check_condition +# +# 神器の発動条件をチェックします +# +# @within function asset:artifact/1465.versatile_plasma/trigger/1.trigger + +# チャージ段階のEffect取得 + data modify storage api: Argument.ID set value 374 + function api:entity/mob/effect/get/from_id +# チャージが完了しているならキャンセル + execute if data storage api: Return.Effect{Stack:3} run return 0 +# チャージ中ならば強制的にチャージ続行 + execute if data storage api: Return.Effect run return run function asset:artifact/1465.versatile_plasma/trigger/charge + +# 神器の基本的な条件の確認を行うfunction、成功している場合CanUsedタグが付く + function asset:artifact/common/check_condition/mainhand + +# CanUsedタグをチェックして3.main.mcfunctionを実行する + execute if entity @s[tag=CanUsed] run function asset:artifact/1465.versatile_plasma/trigger/3.main diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/3.main.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/3.main.mcfunction new file mode 100644 index 00000000000..fc2b7c0c34d --- /dev/null +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/3.main.mcfunction @@ -0,0 +1,16 @@ +#> asset:artifact/1465.versatile_plasma/trigger/3.main +# +# 神器のメイン処理部 +# +# @within function asset:artifact/1465.versatile_plasma/trigger/2.check_condition + +# 基本的な使用時の処理(MP消費や使用回数の処理など)を行う + function asset:artifact/common/use/mainhand + +# ここから先は神器側の効果の処理を書く + say test: 1465.versatile_plasma + +# チャージ用Effectを付与 + data modify storage api: Argument.ID set value 374 + function api:entity/mob/effect/give + function api:entity/mob/effect/reset diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/charge.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/charge.mcfunction new file mode 100644 index 00000000000..745f24362ea --- /dev/null +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/charge.mcfunction @@ -0,0 +1,24 @@ +#> asset:artifact/1465.versatile_plasma/trigger/charge +# +# +# +# @within function asset:artifact/1465.versatile_plasma/trigger/2.check_condition + +#> Private +# @private + #declare score_holder $MP + +# MPが足りないならキャンセル + function api:mp/get_current + execute store result score $MP Temporary run data get storage api: Return.CurrentMP 10 + execute unless score $MP Temporary matches 1.. run return fail + +# チャージ用Effectを付与 + data modify storage api: Argument.ID set value 374 + function api:entity/mob/effect/give + function api:entity/mob/effect/reset + +# MP消費 + data modify storage api: Argument.Fluctuation set value -1 + data modify storage api: Argument.DisableLog set value 1b + function api:mp/fluctuation diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/_/end.mcfunction b/Asset/data/asset/functions/effect/374.charge_plasma/_/end.mcfunction new file mode 100644 index 00000000000..c00f95c4152 --- /dev/null +++ b/Asset/data/asset/functions/effect/374.charge_plasma/_/end.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/374.charge_plasma/_/end +# +# Effectの効果の終了時に実行されるfunction +# +# @within tag/function asset:effect/end + +execute if data storage asset:context {id:374} run function asset:effect/374.charge_plasma/end/ \ No newline at end of file diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/_/re-given.mcfunction b/Asset/data/asset/functions/effect/374.charge_plasma/_/re-given.mcfunction new file mode 100644 index 00000000000..5f7c753fdc1 --- /dev/null +++ b/Asset/data/asset/functions/effect/374.charge_plasma/_/re-given.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/374.charge_plasma/_/re-given +# +# Effectが上書きされた時に実行されるfunction +# +# @within tag/function asset:effect/re-given + +execute if data storage asset:context {id:374} run function asset:effect/374.charge_plasma/re-given/ \ No newline at end of file diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/_/register.mcfunction b/Asset/data/asset/functions/effect/374.charge_plasma/_/register.mcfunction new file mode 100644 index 00000000000..7175e6c65d1 --- /dev/null +++ b/Asset/data/asset/functions/effect/374.charge_plasma/_/register.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/374.charge_plasma/_/register +# +# +# +# @within tag/function asset:effect/register + +execute if data storage asset:context {id:374} run function asset:effect/374.charge_plasma/register \ No newline at end of file diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/end/.mcfunction b/Asset/data/asset/functions/effect/374.charge_plasma/end/.mcfunction new file mode 100644 index 00000000000..38f621ef6bc --- /dev/null +++ b/Asset/data/asset/functions/effect/374.charge_plasma/end/.mcfunction @@ -0,0 +1,10 @@ +#> asset:effect/374.charge_plasma/end/ +# +# Effectの効果が切れた時の処理 +# +# @within function asset:effect/374.charge_plasma/_/end + +# スタック数に応じてそれぞれの攻撃用Objectを召喚 + execute if data storage asset:context {Stack:1} run say MP heal attack + execute if data storage asset:context {Stack:2} run say broad attack + execute if data storage asset:context {Stack:3} run say laser attack diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/re-given/.mcfunction b/Asset/data/asset/functions/effect/374.charge_plasma/re-given/.mcfunction new file mode 100644 index 00000000000..f59d367e8df --- /dev/null +++ b/Asset/data/asset/functions/effect/374.charge_plasma/re-given/.mcfunction @@ -0,0 +1,22 @@ +#> asset:effect/374.charge_plasma/re-given/ +# +# Effectが上書きされた時の処理 +# +# @within function asset:effect/374.charge_plasma/_/re-given + +#> Private +# @private + #declare score_holder $Charge + +# チャージ時間を取得 + execute store result score $Charge Temporary run data get storage asset:context PreviousField.Charge + +# Field.Chargeを+1 + execute store result storage asset:context this.Charge int 1 run scoreboard players add $Charge Temporary 1 + +# 時間に応じてバフをスタック + execute if score $Charge Temporary matches 25 run data modify storage asset:context Stack set value 2 + execute if score $Charge Temporary matches 50 run data modify storage asset:context Stack set value 3 + +# リセット + scoreboard players reset $Charge Temporary diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/register.mcfunction b/Asset/data/asset/functions/effect/374.charge_plasma/register.mcfunction new file mode 100644 index 00000000000..ae3706006e4 --- /dev/null +++ b/Asset/data/asset/functions/effect/374.charge_plasma/register.mcfunction @@ -0,0 +1,39 @@ +#> asset:effect/374.charge_plasma/register +# +# Effectのデータを指定 +# +# @within function asset:effect/374.charge_plasma/_/register + +# ExtendsSafe (boolean) (default = false) + # data modify storage asset:effect ExtendsSafe set value true +# ID (int) + data modify storage asset:effect ID set value 374 +# 名前 (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 1 +# 最大スタック (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/tags/functions/artifact/give.json b/Asset/data/asset/tags/functions/artifact/give.json index 16715fe3c74..2c71544d3b3 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/1465.versatile_plasma/give/1.trigger", "asset:artifact/1252.fox_candle/give/1.trigger", "asset:artifact/1343.coffee_milk_pack/give/1.trigger", "asset:artifact/1342.fruit_milk_pack/give/1.trigger", @@ -530,4 +531,4 @@ "asset:artifact/0735.collision_plate/give/1.trigger", "asset:artifact/0745.blade_of_whirlwind/give/1.trigger" ] -} +} \ No newline at end of file diff --git a/Asset/data/asset/tags/functions/artifact/register.json b/Asset/data/asset/tags/functions/artifact/register.json index 7e92660e5a2..61e72dbe224 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/1465.versatile_plasma/register", "asset:artifact/1252.fox_candle/register", "asset:artifact/1343.coffee_milk_pack/register", "asset:artifact/1342.fruit_milk_pack/register", @@ -308,4 +309,4 @@ "asset:artifact/1027.fire_of_rebirth/register", "asset:artifact/1111.rod_o_redeem/register" ] -} +} \ No newline at end of file diff --git a/Asset/data/asset/tags/functions/artifact/using_item.json b/Asset/data/asset/tags/functions/artifact/using_item.json index 499dc901af3..7af85ba9f99 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/1465.versatile_plasma/trigger/1.trigger", "asset:artifact/1220.sacred_hardener/trigger/1.trigger", "asset:artifact/1269.apocalypse/using_item/1.trigger", "asset:artifact/1228.fatalerror/trigger/1.trigger", diff --git a/Asset/data/asset/tags/functions/effect/end.json b/Asset/data/asset/tags/functions/effect/end.json index 48b7d4613e8..68e9ab8894b 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/374.charge_plasma/_/end", "asset:effect/0360.calamity_bind/_/end", "asset:effect/0345.topaz_protection/_/end", "asset:effect/0342.prayer_amidst_blight/_/end", @@ -105,4 +106,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/re-given.json b/Asset/data/asset/tags/functions/effect/re-given.json index d3650bf09af..381d5ee8dab 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/374.charge_plasma/_/re-given", "asset:effect/0352.kitsunebi/_/re-given", "asset:effect/0345.topaz_protection/_/re-given", "asset:effect/0029.poison/_/re-given", @@ -60,4 +61,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 2a88625f93d..1edc87b9764 100644 --- a/Asset/data/asset/tags/functions/effect/register.json +++ b/Asset/data/asset/tags/functions/effect/register.json @@ -1,5 +1,6 @@ { "values": [ + "asset:effect/374.charge_plasma/_/register", "asset:effect/0352.kitsunebi/_/register", "asset:effect/0351.nectar_regeneration/_/register", "asset:effect/0117.slowness/_/register", @@ -175,4 +176,4 @@ "asset:effect/0007.defense_base_debuff/_/register", "asset:effect/0258.spirit_melody/_/register" ] -} +} \ No newline at end of file From 95bf7fab2952ba56f9e17ac147f3b75b7e11cf86 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Thu, 2 Jul 2026 17:41:08 +0200 Subject: [PATCH 02/50] =?UTF-8?q?=E6=94=BB=E6=92=831=20=E3=82=B9=E3=83=91?= =?UTF-8?q?=E3=83=BC=E3=82=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../trigger/3.main.mcfunction | 3 -- .../effect/374.charge_plasma/end/.mcfunction | 2 +- .../end/attack/1/.mcfunction | 25 ++++++++++++++++ .../end/attack/1/m.mcfunction | 10 +++++++ .../end/attack/1/rec.mcfunction | 19 ++++++++++++ .../object/1168.plasma_spark/init/.mcfunction | 8 +++++ .../1168.plasma_spark/register.mcfunction | 21 +++++++++++++ .../1168.plasma_spark/summon/.mcfunction | 8 +++++ .../1168.plasma_spark/summon/debug.mcfunction | 10 +++++++ .../object/1168.plasma_spark/tick/.mcfunction | 11 +++++++ .../1168.plasma_spark/tick/explode.mcfunction | 30 +++++++++++++++++++ .../object/alias/1168/init.mcfunction | 8 +++++ .../object/alias/1168/register.mcfunction | 8 +++++ .../object/alias/1168/summon.mcfunction | 8 +++++ .../object/alias/1168/tick.mcfunction | 8 +++++ 15 files changed, 175 insertions(+), 4 deletions(-) create mode 100644 Asset/data/asset/functions/effect/374.charge_plasma/end/attack/1/.mcfunction create mode 100644 Asset/data/asset/functions/effect/374.charge_plasma/end/attack/1/m.mcfunction create mode 100644 Asset/data/asset/functions/effect/374.charge_plasma/end/attack/1/rec.mcfunction create mode 100644 Asset/data/asset/functions/object/1168.plasma_spark/init/.mcfunction create mode 100644 Asset/data/asset/functions/object/1168.plasma_spark/register.mcfunction create mode 100644 Asset/data/asset/functions/object/1168.plasma_spark/summon/.mcfunction create mode 100644 Asset/data/asset/functions/object/1168.plasma_spark/summon/debug.mcfunction create mode 100644 Asset/data/asset/functions/object/1168.plasma_spark/tick/.mcfunction create mode 100644 Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/1168/init.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/1168/register.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/1168/summon.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/1168/tick.mcfunction diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/3.main.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/3.main.mcfunction index fc2b7c0c34d..77e03d69ba5 100644 --- a/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/3.main.mcfunction +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/3.main.mcfunction @@ -7,9 +7,6 @@ # 基本的な使用時の処理(MP消費や使用回数の処理など)を行う function asset:artifact/common/use/mainhand -# ここから先は神器側の効果の処理を書く - say test: 1465.versatile_plasma - # チャージ用Effectを付与 data modify storage api: Argument.ID set value 374 function api:entity/mob/effect/give diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/end/.mcfunction b/Asset/data/asset/functions/effect/374.charge_plasma/end/.mcfunction index 38f621ef6bc..2bfca7a4b54 100644 --- a/Asset/data/asset/functions/effect/374.charge_plasma/end/.mcfunction +++ b/Asset/data/asset/functions/effect/374.charge_plasma/end/.mcfunction @@ -5,6 +5,6 @@ # @within function asset:effect/374.charge_plasma/_/end # スタック数に応じてそれぞれの攻撃用Objectを召喚 - execute if data storage asset:context {Stack:1} run say MP heal attack + execute if data storage asset:context {Stack:1} run function asset:effect/374.charge_plasma/end/attack/1/ execute if data storage asset:context {Stack:2} run say broad attack execute if data storage asset:context {Stack:3} run say laser attack diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/1/.mcfunction b/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/1/.mcfunction new file mode 100644 index 00000000000..50e1a41eac7 --- /dev/null +++ b/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/1/.mcfunction @@ -0,0 +1,25 @@ +#> asset:effect/374.charge_plasma/end/attack/1 +# +# 攻撃(ため1段階):スパーク +# +# @within function asset:effect/374.charge_plasma/end/** + +#> Private +# @within function asset:effect/374.charge_plasma/end/attack/** + #declare score_holder $rec + +# 24回実行 + scoreboard players set $rec Temporary 24 + +# 向いている方向に確定で一個だす + data modify storage api: Argument.ID set value 1168 + data modify storage api: Argument.FieldOverride.AdditionalMPHeal set from storage api: PersistentArgument.AdditionalMPHeal + execute store result storage api: Argument.FieldOverride.UserID int 1 run scoreboard players get @s UserID + execute anchored eyes positioned ^ ^ ^2.5 run function api:object/summon + +# 本体 + execute anchored eyes run function asset:effect/374.charge_plasma/end/attack/1/rec + +# リセット + scoreboard players reset $rec + data remove storage asset:temp Args diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/1/m.mcfunction b/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/1/m.mcfunction new file mode 100644 index 00000000000..f9fd2a0adce --- /dev/null +++ b/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/1/m.mcfunction @@ -0,0 +1,10 @@ +#> asset:effect/374.charge_plasma/end/attack/1/m +# +# Object 1168を召喚 +# +# @within function asset:effect/374.charge_plasma/end/attack/1/rec + + data modify storage api: Argument.ID set value 1168 + data modify storage api: Argument.FieldOverride.AdditionalMPHeal set from storage api: PersistentArgument.AdditionalMPHeal + execute store result storage api: Argument.FieldOverride.UserID int 1 run scoreboard players get @s UserID + $execute positioned ^$(OffsetX) ^$(OffsetY) ^$(OffsetZ) run function api:object/summon diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/1/rec.mcfunction b/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/1/rec.mcfunction new file mode 100644 index 00000000000..7ed87e69d3d --- /dev/null +++ b/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/1/rec.mcfunction @@ -0,0 +1,19 @@ +#> asset:effect/374.charge_plasma/end/attack/1/rec +# +# 再帰処理 +# +# @within function asset:effect/374.charge_plasma/end/attack/1/** + +# rec減算 + scoreboard players remove $rec Temporary 1 + +# ランダムなoffsetを設定 + execute store result storage asset:temp Args.OffsetX float 0.1 run random value -20..20 + execute store result storage asset:temp Args.OffsetY float 0.1 run random value -5..5 + execute store result storage asset:temp Args.OffsetZ float 0.1 run random value 5..35 + +# マクロでObject召喚 + function asset:effect/374.charge_plasma/end/attack/1/m with storage asset:temp Args + +# 再帰 + execute if score $rec Temporary matches 1.. run function asset:effect/374.charge_plasma/end/attack/1/rec diff --git a/Asset/data/asset/functions/object/1168.plasma_spark/init/.mcfunction b/Asset/data/asset/functions/object/1168.plasma_spark/init/.mcfunction new file mode 100644 index 00000000000..5c8d60eebe7 --- /dev/null +++ b/Asset/data/asset/functions/object/1168.plasma_spark/init/.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/1168.plasma_spark/init/ +# +# Objectのinit時の処理 +# +# @within asset:object/alias/1168/init + +# Tickをランダムに設定 + execute store result score @s General.Object.Tick run random value 2..7 diff --git a/Asset/data/asset/functions/object/1168.plasma_spark/register.mcfunction b/Asset/data/asset/functions/object/1168.plasma_spark/register.mcfunction new file mode 100644 index 00000000000..7712930b53a --- /dev/null +++ b/Asset/data/asset/functions/object/1168.plasma_spark/register.mcfunction @@ -0,0 +1,21 @@ +#> asset:object/1168.plasma_spark/register +# +# Objectのデータを指定 +# +# @within function asset:object/alias/1168/register + +# 継承(オプション) + # data modify storage asset:object Extends append value + # function asset:object/extends +# 他のObjectに継承されることを許可するか (boolean) (オプション) + # data modify storage asset:object ExtendsSafe set value +# 継承されることを前提とした、抽象的なObjectであるかどうか(boolean) + data modify storage asset:object IsAbstract set value false +# Tickするかどうか(boolean) (オプション) + # data modify storage asset:object IsTicking set value + +# ID (int) + data modify storage asset:object ID set value 1168 +# フィールド(オプション) + data modify storage asset:object Field.AdditionalMPHeal set value 10 + data modify storage asset:object Field.UserID set value -1 diff --git a/Asset/data/asset/functions/object/1168.plasma_spark/summon/.mcfunction b/Asset/data/asset/functions/object/1168.plasma_spark/summon/.mcfunction new file mode 100644 index 00000000000..2cab2b2c314 --- /dev/null +++ b/Asset/data/asset/functions/object/1168.plasma_spark/summon/.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/1168.plasma_spark/summon/ +# +# Object召喚処理の呼び出し時に実行されるfunction +# +# @within asset:object/alias/1168/summon + +# 元となるEntityを召喚する + summon text_display ~ ~ ~ {Tags:["ObjectInit"]} diff --git a/Asset/data/asset/functions/object/1168.plasma_spark/summon/debug.mcfunction b/Asset/data/asset/functions/object/1168.plasma_spark/summon/debug.mcfunction new file mode 100644 index 00000000000..9423b8a200e --- /dev/null +++ b/Asset/data/asset/functions/object/1168.plasma_spark/summon/debug.mcfunction @@ -0,0 +1,10 @@ +#> asset:object/1168.plasma_spark/summon/debug +# +# 動作チェック用の召喚処理 使い終わったら消してもいいかも +# +# @user +# @private + +# 召喚 + data modify storage api: Argument.ID set value 1168 + function api:object/summon \ No newline at end of file diff --git a/Asset/data/asset/functions/object/1168.plasma_spark/tick/.mcfunction b/Asset/data/asset/functions/object/1168.plasma_spark/tick/.mcfunction new file mode 100644 index 00000000000..7f6341f01c8 --- /dev/null +++ b/Asset/data/asset/functions/object/1168.plasma_spark/tick/.mcfunction @@ -0,0 +1,11 @@ +#> asset:object/1168.plasma_spark/tick/ +# +# Objectのtick時の処理 +# +# @within asset:object/alias/1168/tick + +# Tick減算 + scoreboard players remove @s General.Object.Tick 1 + +# 炸裂処理 + execute if score @s General.Object.Tick matches ..0 run function asset:object/1168.plasma_spark/tick/explode diff --git a/Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction b/Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction new file mode 100644 index 00000000000..fe0e727362a --- /dev/null +++ b/Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction @@ -0,0 +1,30 @@ +#> asset:object/1168.plasma_spark/tick/explore +# +# 攻撃処理 +# +# @within function asset:object/1168.plasma_spark/tick/** + +#> Private +# @private + #declare score_holder $UserID + +# 攻撃判定 + data modify storage api: Argument.Damage set value 30.0f + data modify storage api: Argument.AttackType set value "Physical" + data modify storage api: Argument.ElementType set value "Thunder" + data modify storage api: Argument.AdditionalMPHeal set value 10f + data modify storage api: Argument.AdditionalMPHeal set from storage asset:context this.AdditionalMPHeal + execute store result score $UserID Temporary run data get storage asset:context this.UserID + execute as @a if score @s UserID = $UserID Temporary run function api:damage/modifier + execute as @e[type=#lib:living_without_player,tag=Enemy,tag=!Uninterferable,dx=0] positioned ~-0.9 ~-0.9 ~-0.9 if entity @s[dx=0] run function api:damage/ + function api:damage/reset + +# 演出 + particle end_rod ~ ~ ~ 0 0 0 0 1 + playsound entity.firework_rocket.twinkle player @a ~ ~ ~ 1 2 + +# リセット + scoreboard players reset $UserID + +# 消す + kill @s diff --git a/Asset/data/asset/functions/object/alias/1168/init.mcfunction b/Asset/data/asset/functions/object/alias/1168/init.mcfunction new file mode 100644 index 00000000000..a0a41b73156 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1168/init.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1168/init +# +# Init処理のエイリアス +# +# @within asset_manager:object/init/init.m + +# 元のInit処理を呼び出す + function asset:object/1168.plasma_spark/init/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/1168/register.mcfunction b/Asset/data/asset/functions/object/alias/1168/register.mcfunction new file mode 100644 index 00000000000..81771735e37 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1168/register.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1168/register +# +# Objectのデータ指定処理のエイリアス +# +# @within asset_manager:object/summon/register.m + +# 元の登録処理を呼び出す + function asset:object/1168.plasma_spark/register \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/1168/summon.mcfunction b/Asset/data/asset/functions/object/alias/1168/summon.mcfunction new file mode 100644 index 00000000000..461e2deec87 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1168/summon.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1168/summon +# +# Object召喚処理のエイリアス +# +# @within asset_manager:object/summon/summon.m + +# 元の召喚処理を呼び出す + function asset:object/1168.plasma_spark/summon/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/1168/tick.mcfunction b/Asset/data/asset/functions/object/alias/1168/tick.mcfunction new file mode 100644 index 00000000000..b7822787b31 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1168/tick.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1168/tick +# +# Tick時処理のエイリアス +# +# @within asset_manager:object/tick/tick.m + +# 元のTick処理を呼び出す + function asset:object/1168.plasma_spark/tick/ \ No newline at end of file From a2bbbd265464c541441f7c82ed6243827fad7469 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Thu, 2 Jul 2026 17:42:30 +0200 Subject: [PATCH 03/50] =?UTF-8?q?Object=E3=81=AEEntity=E3=82=92=E5=A4=89?= =?UTF-8?q?=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../asset/functions/object/1168.plasma_spark/summon/.mcfunction | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Asset/data/asset/functions/object/1168.plasma_spark/summon/.mcfunction b/Asset/data/asset/functions/object/1168.plasma_spark/summon/.mcfunction index 2cab2b2c314..2f2d174a7de 100644 --- a/Asset/data/asset/functions/object/1168.plasma_spark/summon/.mcfunction +++ b/Asset/data/asset/functions/object/1168.plasma_spark/summon/.mcfunction @@ -5,4 +5,4 @@ # @within asset:object/alias/1168/summon # 元となるEntityを召喚する - summon text_display ~ ~ ~ {Tags:["ObjectInit"]} + summon marker ~ ~ ~ {Tags:["ObjectInit"]} From 97db26a1f671450949e73f8a563a58f977b7c1a0 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Thu, 2 Jul 2026 22:06:59 +0200 Subject: [PATCH 04/50] =?UTF-8?q?=E6=94=BB=E6=92=832=20=E3=83=93=E3=83=BC?= =?UTF-8?q?=E3=83=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../effect/374.charge_plasma/end/.mcfunction | 2 +- .../374.charge_plasma/end/attack/2.mcfunction | 18 +++++++++++++++ .../1169.plasma_beam/register.mcfunction | 22 +++++++++++++++++++ .../1169.plasma_beam/summon/.mcfunction | 11 ++++++++++ .../1169.plasma_beam/summon/debug.mcfunction | 10 +++++++++ .../1169.plasma_beam/summon/m.mcfunction | 7 ++++++ .../object/alias/1169/register.mcfunction | 8 +++++++ .../object/alias/1169/summon.mcfunction | 8 +++++++ 8 files changed, 85 insertions(+), 1 deletion(-) create mode 100644 Asset/data/asset/functions/effect/374.charge_plasma/end/attack/2.mcfunction create mode 100644 Asset/data/asset/functions/object/1169.plasma_beam/register.mcfunction create mode 100644 Asset/data/asset/functions/object/1169.plasma_beam/summon/.mcfunction create mode 100644 Asset/data/asset/functions/object/1169.plasma_beam/summon/debug.mcfunction create mode 100644 Asset/data/asset/functions/object/1169.plasma_beam/summon/m.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/1169/register.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/1169/summon.mcfunction diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/end/.mcfunction b/Asset/data/asset/functions/effect/374.charge_plasma/end/.mcfunction index 2bfca7a4b54..1bee2dcf079 100644 --- a/Asset/data/asset/functions/effect/374.charge_plasma/end/.mcfunction +++ b/Asset/data/asset/functions/effect/374.charge_plasma/end/.mcfunction @@ -6,5 +6,5 @@ # スタック数に応じてそれぞれの攻撃用Objectを召喚 execute if data storage asset:context {Stack:1} run function asset:effect/374.charge_plasma/end/attack/1/ - execute if data storage asset:context {Stack:2} run say broad attack + execute if data storage asset:context {Stack:2} anchored eyes positioned ^ ^ ^ run function asset:effect/374.charge_plasma/end/attack/2 execute if data storage asset:context {Stack:3} run say laser attack diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/2.mcfunction b/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/2.mcfunction new file mode 100644 index 00000000000..1519d7b6e63 --- /dev/null +++ b/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/2.mcfunction @@ -0,0 +1,18 @@ +#> asset:effect/374.charge_plasma/end/attack/2 +# +# プラズマ攻撃2: 拡散レーザー +# +# @within function asset:effect/374.charge_plasma/end/** + +# 3発撃つ + data modify storage api: Argument.ID set value 1169 + execute rotated ~-60 ~ run function api:object/summon + + data modify storage api: Argument.ID set value 1169 + execute rotated ~ ~ run function api:object/summon + + data modify storage api: Argument.ID set value 1169 + execute rotated ~60 ~ run function api:object/summon + +# 演出 + playsound block.respawn_anchor.deplete player @a ~ ~ ~ 1.0 2.0 diff --git a/Asset/data/asset/functions/object/1169.plasma_beam/register.mcfunction b/Asset/data/asset/functions/object/1169.plasma_beam/register.mcfunction new file mode 100644 index 00000000000..8969df2775f --- /dev/null +++ b/Asset/data/asset/functions/object/1169.plasma_beam/register.mcfunction @@ -0,0 +1,22 @@ +#> asset:object/1169.plasma_beam/register +# +# Objectのデータを指定 +# +# @within function asset:object/alias/1169/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 1169 +# フィールド(オプション) + data modify storage asset:object Field.Speed set value 2 + data modify storage asset:object Field.Range set value 20 + data modify storage asset:object Field.UserID set value -1 diff --git a/Asset/data/asset/functions/object/1169.plasma_beam/summon/.mcfunction b/Asset/data/asset/functions/object/1169.plasma_beam/summon/.mcfunction new file mode 100644 index 00000000000..959010ef5d3 --- /dev/null +++ b/Asset/data/asset/functions/object/1169.plasma_beam/summon/.mcfunction @@ -0,0 +1,11 @@ +#> asset:object/1169.plasma_beam/summon/ +# +# Object召喚処理の呼び出し時に実行されるfunction +# +# @within asset:object/alias/1169/summon + +# 元となるEntityを召喚する + execute as 0-0-0-0-0 in minecraft:overworld positioned as @s run tp @s ^ ^ ^ ~ ~ + data modify storage asset:temp Args.Rotation set from entity 0-0-0-0-0 Rotation + function asset:object/1169.plasma_beam/summon/m with storage asset:temp Args + data remove storage asset:temp Args diff --git a/Asset/data/asset/functions/object/1169.plasma_beam/summon/debug.mcfunction b/Asset/data/asset/functions/object/1169.plasma_beam/summon/debug.mcfunction new file mode 100644 index 00000000000..80568122ea6 --- /dev/null +++ b/Asset/data/asset/functions/object/1169.plasma_beam/summon/debug.mcfunction @@ -0,0 +1,10 @@ +#> asset:object/1169.plasma_beam/summon/debug +# +# 動作チェック用の召喚処理 使い終わったら消してもいいかも +# +# @user +# @private + +# 召喚 + data modify storage api: Argument.ID set value 1169 + function api:object/summon \ No newline at end of file diff --git a/Asset/data/asset/functions/object/1169.plasma_beam/summon/m.mcfunction b/Asset/data/asset/functions/object/1169.plasma_beam/summon/m.mcfunction new file mode 100644 index 00000000000..5364d165be9 --- /dev/null +++ b/Asset/data/asset/functions/object/1169.plasma_beam/summon/m.mcfunction @@ -0,0 +1,7 @@ +#> asset:object/1169.plasma_beam/summon/m +# +# @input args: +# Rotation : float @ 2 +# @within function asset:object/1169.plasma_beam/summon/ + + $summon item_display ~ ~ ~ {Rotation: $(Rotation),Tags:["ObjectInit"],item:{id:"minecraft:stick",Count:1b,tag:{CustomModelData:20630}},brightness:{block:15,sky:15},teleport_duration:1} diff --git a/Asset/data/asset/functions/object/alias/1169/register.mcfunction b/Asset/data/asset/functions/object/alias/1169/register.mcfunction new file mode 100644 index 00000000000..e8cc16b447d --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1169/register.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1169/register +# +# Objectのデータ指定処理のエイリアス +# +# @within asset_manager:object/summon/register.m + +# 元の登録処理を呼び出す + function asset:object/1169.plasma_beam/register \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/1169/summon.mcfunction b/Asset/data/asset/functions/object/alias/1169/summon.mcfunction new file mode 100644 index 00000000000..798eaeb33dd --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1169/summon.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1169/summon +# +# Object召喚処理のエイリアス +# +# @within asset_manager:object/summon/summon.m + +# 元の召喚処理を呼び出す + function asset:object/1169.plasma_beam/summon/ \ No newline at end of file From fae7c8ef3b4126e5543667c4b78729bda3cd4953 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Fri, 3 Jul 2026 15:42:48 +0200 Subject: [PATCH 05/50] =?UTF-8?q?=E6=94=BB=E6=92=832=20=E3=83=93=E3=83=BC?= =?UTF-8?q?=E3=83=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../effect/374.charge_plasma/end/.mcfunction | 2 +- .../374.charge_plasma/end/attack/2.mcfunction | 18 ++++++++++++++ .../detect_hit_entity/.mcfunction | 8 +++++++ .../1169.plasma_beam/hit_entity/.mcfunction | 14 +++++++++++ .../hit_entity/damage.mcfunction | 21 ++++++++++++++++ .../1169.plasma_beam/register.mcfunction | 24 +++++++++++++++++++ .../1169.plasma_beam/summon/.mcfunction | 11 +++++++++ .../1169.plasma_beam/summon/debug.mcfunction | 10 ++++++++ .../1169.plasma_beam/summon/m.mcfunction | 7 ++++++ .../alias/1169/detect_hit_entity.mcfunction | 8 +++++++ .../object/alias/1169/hit_entity.mcfunction | 8 +++++++ .../object/alias/1169/register.mcfunction | 8 +++++++ .../object/alias/1169/summon.mcfunction | 8 +++++++ 13 files changed, 146 insertions(+), 1 deletion(-) create mode 100644 Asset/data/asset/functions/effect/374.charge_plasma/end/attack/2.mcfunction create mode 100644 Asset/data/asset/functions/object/1169.plasma_beam/detect_hit_entity/.mcfunction create mode 100644 Asset/data/asset/functions/object/1169.plasma_beam/hit_entity/.mcfunction create mode 100644 Asset/data/asset/functions/object/1169.plasma_beam/hit_entity/damage.mcfunction create mode 100644 Asset/data/asset/functions/object/1169.plasma_beam/register.mcfunction create mode 100644 Asset/data/asset/functions/object/1169.plasma_beam/summon/.mcfunction create mode 100644 Asset/data/asset/functions/object/1169.plasma_beam/summon/debug.mcfunction create mode 100644 Asset/data/asset/functions/object/1169.plasma_beam/summon/m.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/1169/detect_hit_entity.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/1169/hit_entity.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/1169/register.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/1169/summon.mcfunction diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/end/.mcfunction b/Asset/data/asset/functions/effect/374.charge_plasma/end/.mcfunction index 2bfca7a4b54..1bee2dcf079 100644 --- a/Asset/data/asset/functions/effect/374.charge_plasma/end/.mcfunction +++ b/Asset/data/asset/functions/effect/374.charge_plasma/end/.mcfunction @@ -6,5 +6,5 @@ # スタック数に応じてそれぞれの攻撃用Objectを召喚 execute if data storage asset:context {Stack:1} run function asset:effect/374.charge_plasma/end/attack/1/ - execute if data storage asset:context {Stack:2} run say broad attack + execute if data storage asset:context {Stack:2} anchored eyes positioned ^ ^ ^ run function asset:effect/374.charge_plasma/end/attack/2 execute if data storage asset:context {Stack:3} run say laser attack diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/2.mcfunction b/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/2.mcfunction new file mode 100644 index 00000000000..1519d7b6e63 --- /dev/null +++ b/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/2.mcfunction @@ -0,0 +1,18 @@ +#> asset:effect/374.charge_plasma/end/attack/2 +# +# プラズマ攻撃2: 拡散レーザー +# +# @within function asset:effect/374.charge_plasma/end/** + +# 3発撃つ + data modify storage api: Argument.ID set value 1169 + execute rotated ~-60 ~ run function api:object/summon + + data modify storage api: Argument.ID set value 1169 + execute rotated ~ ~ run function api:object/summon + + data modify storage api: Argument.ID set value 1169 + execute rotated ~60 ~ run function api:object/summon + +# 演出 + playsound block.respawn_anchor.deplete player @a ~ ~ ~ 1.0 2.0 diff --git a/Asset/data/asset/functions/object/1169.plasma_beam/detect_hit_entity/.mcfunction b/Asset/data/asset/functions/object/1169.plasma_beam/detect_hit_entity/.mcfunction new file mode 100644 index 00000000000..fc84aa83304 --- /dev/null +++ b/Asset/data/asset/functions/object/1169.plasma_beam/detect_hit_entity/.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/1169.plasma_beam/detect_hit_entity/ +# +# 継承先などから実行される処理 +# +# @within asset:object/alias/1169/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/1169.plasma_beam/hit_entity/.mcfunction b/Asset/data/asset/functions/object/1169.plasma_beam/hit_entity/.mcfunction new file mode 100644 index 00000000000..a3bed5f49fd --- /dev/null +++ b/Asset/data/asset/functions/object/1169.plasma_beam/hit_entity/.mcfunction @@ -0,0 +1,14 @@ +#> asset:object/1169.plasma_beam/hit_entity/ +# +# ヒット処理 +# +# @within asset:object/alias/1169/hit_entity + +# ダメージ + 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/1169.plasma_beam/hit_entity/damage + +# リセット + scoreboard players reset $UserID + +# 消す + function asset:object/call.m {method:kill} diff --git a/Asset/data/asset/functions/object/1169.plasma_beam/hit_entity/damage.mcfunction b/Asset/data/asset/functions/object/1169.plasma_beam/hit_entity/damage.mcfunction new file mode 100644 index 00000000000..53e8603935c --- /dev/null +++ b/Asset/data/asset/functions/object/1169.plasma_beam/hit_entity/damage.mcfunction @@ -0,0 +1,21 @@ +#> asset:object/1169.plasma_beam/hit_entity/damage +# +# ダメージ処理 +# +# @within function asset:object/1169.plasma_beam/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 value "Physical" + data modify storage api: Argument.ElementType set value "Thunder" + data modify storage api: Argument.AdditionalMPHeal set from storage asset:context this.AdditionalMPHeal + execute store result score $UserID Temporary run data get storage asset:context this.UserID + execute as @a if score @s UserID = $UserID Temporary run function api:damage/modifier + function api:damage/ + function api:damage/reset + +# リセット + scoreboard players reset $UserID diff --git a/Asset/data/asset/functions/object/1169.plasma_beam/register.mcfunction b/Asset/data/asset/functions/object/1169.plasma_beam/register.mcfunction new file mode 100644 index 00000000000..d36d06b3e7f --- /dev/null +++ b/Asset/data/asset/functions/object/1169.plasma_beam/register.mcfunction @@ -0,0 +1,24 @@ +#> asset:object/1169.plasma_beam/register +# +# Objectのデータを指定 +# +# @within function asset:object/alias/1169/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 1169 +# フィールド(オプション) + data modify storage asset:object Field.Damage set value 150 + data modify storage asset:object Field.AdditionalMPHeal set value 10 + data modify storage asset:object Field.Speed set value 2 + data modify storage asset:object Field.Range set value 20 + data modify storage asset:object Field.UserID set value -1 diff --git a/Asset/data/asset/functions/object/1169.plasma_beam/summon/.mcfunction b/Asset/data/asset/functions/object/1169.plasma_beam/summon/.mcfunction new file mode 100644 index 00000000000..959010ef5d3 --- /dev/null +++ b/Asset/data/asset/functions/object/1169.plasma_beam/summon/.mcfunction @@ -0,0 +1,11 @@ +#> asset:object/1169.plasma_beam/summon/ +# +# Object召喚処理の呼び出し時に実行されるfunction +# +# @within asset:object/alias/1169/summon + +# 元となるEntityを召喚する + execute as 0-0-0-0-0 in minecraft:overworld positioned as @s run tp @s ^ ^ ^ ~ ~ + data modify storage asset:temp Args.Rotation set from entity 0-0-0-0-0 Rotation + function asset:object/1169.plasma_beam/summon/m with storage asset:temp Args + data remove storage asset:temp Args diff --git a/Asset/data/asset/functions/object/1169.plasma_beam/summon/debug.mcfunction b/Asset/data/asset/functions/object/1169.plasma_beam/summon/debug.mcfunction new file mode 100644 index 00000000000..80568122ea6 --- /dev/null +++ b/Asset/data/asset/functions/object/1169.plasma_beam/summon/debug.mcfunction @@ -0,0 +1,10 @@ +#> asset:object/1169.plasma_beam/summon/debug +# +# 動作チェック用の召喚処理 使い終わったら消してもいいかも +# +# @user +# @private + +# 召喚 + data modify storage api: Argument.ID set value 1169 + function api:object/summon \ No newline at end of file diff --git a/Asset/data/asset/functions/object/1169.plasma_beam/summon/m.mcfunction b/Asset/data/asset/functions/object/1169.plasma_beam/summon/m.mcfunction new file mode 100644 index 00000000000..5364d165be9 --- /dev/null +++ b/Asset/data/asset/functions/object/1169.plasma_beam/summon/m.mcfunction @@ -0,0 +1,7 @@ +#> asset:object/1169.plasma_beam/summon/m +# +# @input args: +# Rotation : float @ 2 +# @within function asset:object/1169.plasma_beam/summon/ + + $summon item_display ~ ~ ~ {Rotation: $(Rotation),Tags:["ObjectInit"],item:{id:"minecraft:stick",Count:1b,tag:{CustomModelData:20630}},brightness:{block:15,sky:15},teleport_duration:1} diff --git a/Asset/data/asset/functions/object/alias/1169/detect_hit_entity.mcfunction b/Asset/data/asset/functions/object/alias/1169/detect_hit_entity.mcfunction new file mode 100644 index 00000000000..aaf4cb2a3db --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1169/detect_hit_entity.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1169/detect_hit_entity +# +# メソッド処理のエイリアス +# +# @within asset_manager:object/call_method/run_method.m + +# 元のメソッド処理を呼び出す + function asset:object/1169.plasma_beam/detect_hit_entity/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/1169/hit_entity.mcfunction b/Asset/data/asset/functions/object/alias/1169/hit_entity.mcfunction new file mode 100644 index 00000000000..301f4e7e965 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1169/hit_entity.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1169/hit_entity +# +# メソッド処理のエイリアス +# +# @within asset_manager:object/call_method/run_method.m + +# 元のメソッド処理を呼び出す + function asset:object/1169.plasma_beam/hit_entity/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/1169/register.mcfunction b/Asset/data/asset/functions/object/alias/1169/register.mcfunction new file mode 100644 index 00000000000..e8cc16b447d --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1169/register.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1169/register +# +# Objectのデータ指定処理のエイリアス +# +# @within asset_manager:object/summon/register.m + +# 元の登録処理を呼び出す + function asset:object/1169.plasma_beam/register \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/1169/summon.mcfunction b/Asset/data/asset/functions/object/alias/1169/summon.mcfunction new file mode 100644 index 00000000000..798eaeb33dd --- /dev/null +++ b/Asset/data/asset/functions/object/alias/1169/summon.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/1169/summon +# +# Object召喚処理のエイリアス +# +# @within asset_manager:object/summon/summon.m + +# 元の召喚処理を呼び出す + function asset:object/1169.plasma_beam/summon/ \ No newline at end of file From f7fb80a5026507534cf2042abcfa63e68f1805d5 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Fri, 3 Jul 2026 15:46:14 +0200 Subject: [PATCH 06/50] =?UTF-8?q?=E8=A8=98=E8=BF=B0=E3=82=92=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../functions/object/1168.plasma_spark/tick/explode.mcfunction | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction b/Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction index fe0e727362a..c63ec607930 100644 --- a/Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction +++ b/Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction @@ -1,4 +1,4 @@ -#> asset:object/1168.plasma_spark/tick/explore +#> asset:object/1168.plasma_spark/tick/explode # # 攻撃処理 # @@ -12,7 +12,6 @@ data modify storage api: Argument.Damage set value 30.0f data modify storage api: Argument.AttackType set value "Physical" data modify storage api: Argument.ElementType set value "Thunder" - data modify storage api: Argument.AdditionalMPHeal set value 10f data modify storage api: Argument.AdditionalMPHeal set from storage asset:context this.AdditionalMPHeal execute store result score $UserID Temporary run data get storage asset:context this.UserID execute as @a if score @s UserID = $UserID Temporary run function api:damage/modifier From cf306686a896d52df19b61c013b9d16aff35b21d Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Fri, 3 Jul 2026 15:59:08 +0200 Subject: [PATCH 07/50] =?UTF-8?q?=E6=94=BB=E6=92=832=E3=81=AB=E3=83=8E?= =?UTF-8?q?=E3=83=83=E3=82=AF=E3=83=90=E3=83=83=E3=82=AF=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../functions/object/1169.plasma_beam/hit_entity/.mcfunction | 3 --- .../object/1169.plasma_beam/hit_entity/damage.mcfunction | 4 ++++ 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Asset/data/asset/functions/object/1169.plasma_beam/hit_entity/.mcfunction b/Asset/data/asset/functions/object/1169.plasma_beam/hit_entity/.mcfunction index a3bed5f49fd..c83fd0f37a4 100644 --- a/Asset/data/asset/functions/object/1169.plasma_beam/hit_entity/.mcfunction +++ b/Asset/data/asset/functions/object/1169.plasma_beam/hit_entity/.mcfunction @@ -7,8 +7,5 @@ # ダメージ 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/1169.plasma_beam/hit_entity/damage -# リセット - scoreboard players reset $UserID - # 消す function asset:object/call.m {method:kill} diff --git a/Asset/data/asset/functions/object/1169.plasma_beam/hit_entity/damage.mcfunction b/Asset/data/asset/functions/object/1169.plasma_beam/hit_entity/damage.mcfunction index 53e8603935c..69b3aeccabf 100644 --- a/Asset/data/asset/functions/object/1169.plasma_beam/hit_entity/damage.mcfunction +++ b/Asset/data/asset/functions/object/1169.plasma_beam/hit_entity/damage.mcfunction @@ -17,5 +17,9 @@ function api:damage/ function api:damage/reset +# ノックバック + data modify storage lib: Argument.VectorMagnitude set value 0.75d + function lib:motion/looking + # リセット scoreboard players reset $UserID From cac824c7e73397049b766afd53fca6dd3fb5ac9e Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Fri, 3 Jul 2026 16:52:52 +0200 Subject: [PATCH 08/50] =?UTF-8?q?=E6=94=BB=E6=92=833=20=E8=B2=AB=E9=80=9A?= =?UTF-8?q?=E3=83=AC=E3=83=BC=E3=82=B6=E3=83=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../effect/374.charge_plasma/end/.mcfunction | 4 ++-- .../374.charge_plasma/end/attack/3/.mcfunction | 17 +++++++++++++++++ .../end/attack/3/damage.mcfunction | 18 ++++++++++++++++++ .../end/attack/3/rec.mcfunction | 17 +++++++++++++++++ 4 files changed, 54 insertions(+), 2 deletions(-) create mode 100644 Asset/data/asset/functions/effect/374.charge_plasma/end/attack/3/.mcfunction create mode 100644 Asset/data/asset/functions/effect/374.charge_plasma/end/attack/3/damage.mcfunction create mode 100644 Asset/data/asset/functions/effect/374.charge_plasma/end/attack/3/rec.mcfunction diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/end/.mcfunction b/Asset/data/asset/functions/effect/374.charge_plasma/end/.mcfunction index 1bee2dcf079..25f819732d8 100644 --- a/Asset/data/asset/functions/effect/374.charge_plasma/end/.mcfunction +++ b/Asset/data/asset/functions/effect/374.charge_plasma/end/.mcfunction @@ -4,7 +4,7 @@ # # @within function asset:effect/374.charge_plasma/_/end -# スタック数に応じてそれぞれの攻撃用Objectを召喚 +# スタック数に応じてそれぞれの攻撃処理を実行 execute if data storage asset:context {Stack:1} run function asset:effect/374.charge_plasma/end/attack/1/ execute if data storage asset:context {Stack:2} anchored eyes positioned ^ ^ ^ run function asset:effect/374.charge_plasma/end/attack/2 - execute if data storage asset:context {Stack:3} run say laser attack + execute if data storage asset:context {Stack:3} run function asset:effect/374.charge_plasma/end/attack/3/ diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/3/.mcfunction b/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/3/.mcfunction new file mode 100644 index 00000000000..22958745fc1 --- /dev/null +++ b/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/3/.mcfunction @@ -0,0 +1,17 @@ +#> asset:effect/374.charge_plasma/end/attack/3/ +# +# 攻撃3: 貫通レーザー +# +# @within function asset:effect/374.charge_plasma/end/** + +#> Private +# @within function asset:effect/374.charge_plasma/end/attack/3/** + #declare tag Hit + #declare tag HitTarget + +# 再帰処理 + execute anchored eyes run function asset:effect/374.charge_plasma/end/attack/3/rec + tag @s remove Hit + tag @e[tag=HitTarget,distance=..20] remove HitTarget + +# 演出 diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/3/damage.mcfunction b/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/3/damage.mcfunction new file mode 100644 index 00000000000..14facc58386 --- /dev/null +++ b/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/3/damage.mcfunction @@ -0,0 +1,18 @@ +#> asset:effect/374.charge_plasma/end/attack/3/damage +# +# +# +# @within function asset:effect/374.charge_plasma/end/attack/3/rec + + +# ヒット済みタグ + execute positioned ~-0.5 ~-0.5 ~-0.5 run tag @e[type=#lib:living_without_player,tag=!Uninterferable,dx=0,limit=1] add HitTarget + +# ダメージ + data modify storage api: Argument.Damage set value 300 + data modify storage api: Argument.AttackType set value "Physical" + data modify storage api: Argument.ElementType set value "Thunder" + data modify storage api: Argument.AdditionalMPHeal set value 10 + function api:damage/modifier + execute positioned ~-0.5 ~-0.5 ~-0.5 as @e[type=#lib:living_without_player,tag=!Uninterferable,dx=0,limit=1] run function api:damage/ + function api:damage/reset diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/3/rec.mcfunction b/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/3/rec.mcfunction new file mode 100644 index 00000000000..4b89469ec65 --- /dev/null +++ b/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/3/rec.mcfunction @@ -0,0 +1,17 @@ +#> asset:effect/374.charge_plasma/end/attack/3/rec +# +# +# +# @within function asset:effect/374.charge_plasma/end/attack/3/** + +# 着弾検知 + execute unless block ^ ^ ^0.5 #lib:no_collision/ run tag @s add Hit + +# 命中 + execute positioned ~-0.5 ~-0.5 ~-0.5 if entity @e[type=#lib:living_without_player,tag=!HitTarget,tag=!Uninterferable,dx=0,limit=1] run function asset:effect/374.charge_plasma/end/attack/3/damage + +# 演出 + particle dust 0.3 1.0 0.0 1.0 ~ ~ ~ 0.0 0.0 0.0 1 3 + +# 再起 + execute positioned ^ ^ ^0.5 if entity @s[tag=!Hit,distance=..20] run function asset:effect/374.charge_plasma/end/attack/3/rec From bde71d599763d7862d07de750e8bca9e23c64e67 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Fri, 3 Jul 2026 17:16:12 +0200 Subject: [PATCH 09/50] =?UTF-8?q?=E3=83=8E=E3=83=83=E3=82=AF=E3=83=90?= =?UTF-8?q?=E3=83=83=E3=82=AF=E3=82=92=E8=AA=BF=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../object/1169.plasma_beam/hit_entity/damage.mcfunction | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Asset/data/asset/functions/object/1169.plasma_beam/hit_entity/damage.mcfunction b/Asset/data/asset/functions/object/1169.plasma_beam/hit_entity/damage.mcfunction index 69b3aeccabf..d6ed2847068 100644 --- a/Asset/data/asset/functions/object/1169.plasma_beam/hit_entity/damage.mcfunction +++ b/Asset/data/asset/functions/object/1169.plasma_beam/hit_entity/damage.mcfunction @@ -18,8 +18,9 @@ function api:damage/reset # ノックバック - data modify storage lib: Argument.VectorMagnitude set value 0.75d - function lib:motion/looking + data modify storage lib: Argument.KnockbackResist set value true + data modify storage lib: Argument.VectorMagnitude set value 3.5d + execute rotated ~ -30 run function lib:motion/looking # リセット scoreboard players reset $UserID From d815bdfbbb48a95d0fbaefd4a0bb618a573833f6 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Fri, 3 Jul 2026 17:18:34 +0200 Subject: [PATCH 10/50] =?UTF-8?q?=E9=9F=B3=E9=87=8F=E8=AA=BF=E7=AF=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../functions/object/1168.plasma_spark/tick/explode.mcfunction | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction b/Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction index c63ec607930..5a4bce8ba5a 100644 --- a/Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction +++ b/Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction @@ -20,7 +20,7 @@ # 演出 particle end_rod ~ ~ ~ 0 0 0 0 1 - playsound entity.firework_rocket.twinkle player @a ~ ~ ~ 1 2 + playsound entity.firework_rocket.twinkle player @a ~ ~ ~ 0.25 2 # リセット scoreboard players reset $UserID From 3f826d1938db9df21af0db99c03c5be04c58a560 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Fri, 3 Jul 2026 17:34:07 +0200 Subject: [PATCH 11/50] =?UTF-8?q?=E3=83=81=E3=83=A3=E3=83=BC=E3=82=B8?= =?UTF-8?q?=E7=94=A8=E3=83=90=E3=83=95=E3=81=AE=E3=82=B9=E3=82=BF=E3=83=83?= =?UTF-8?q?=E3=82=AF=E3=81=8C=E5=A4=89=E5=8B=95=E3=81=97=E3=81=9F=E3=81=A8?= =?UTF-8?q?=E3=81=8D=E3=81=AE=E3=81=BF=E3=81=ABMP=E3=82=92=E6=B6=88?= =?UTF-8?q?=E8=B2=BB=E3=81=99=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 --- .../1465.versatile_plasma/give/2.give.mcfunction | 4 ++-- .../trigger/2.check_condition.mcfunction | 2 -- .../trigger/charge.mcfunction | 14 -------------- .../effect/374.charge_plasma/re-given/.mcfunction | 12 +++++++++--- .../374.charge_plasma/re-given/charge/2.mcfunction | 13 +++++++++++++ .../374.charge_plasma/re-given/charge/3.mcfunction | 13 +++++++++++++ 6 files changed, 37 insertions(+), 21 deletions(-) create mode 100644 Asset/data/asset/functions/effect/374.charge_plasma/re-given/charge/2.mcfunction create mode 100644 Asset/data/asset/functions/effect/374.charge_plasma/re-given/charge/3.mcfunction diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/give/2.give.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/give/2.give.mcfunction index 42d15d12b02..85397a7a8ce 100644 --- a/Asset/data/asset/functions/artifact/1465.versatile_plasma/give/2.give.mcfunction +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/give/2.give.mcfunction @@ -41,9 +41,9 @@ # 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション) data modify storage asset:artifact AttackInfo.AttackRange set value "???" # MP消費量 (int) - data modify storage asset:artifact MPCost set value 1 + # data modify storage asset:artifact MPCost set value 0 # MP必要量 (int) (オプション) - # data modify storage asset:artifact MPRequire set value + data modify storage asset:artifact MPRequire set value 0 # MP回復量 (int) data modify storage asset:artifact MPHealWhenHit set value 10 # 神器のクールダウン (int) (オプション) diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/2.check_condition.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/2.check_condition.mcfunction index e0f92c8d0f8..9de6cd60d9c 100644 --- a/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/2.check_condition.mcfunction +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/2.check_condition.mcfunction @@ -7,8 +7,6 @@ # チャージ段階のEffect取得 data modify storage api: Argument.ID set value 374 function api:entity/mob/effect/get/from_id -# チャージが完了しているならキャンセル - execute if data storage api: Return.Effect{Stack:3} run return 0 # チャージ中ならば強制的にチャージ続行 execute if data storage api: Return.Effect run return run function asset:artifact/1465.versatile_plasma/trigger/charge diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/charge.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/charge.mcfunction index 745f24362ea..a6779a9d711 100644 --- a/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/charge.mcfunction +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/charge.mcfunction @@ -4,21 +4,7 @@ # # @within function asset:artifact/1465.versatile_plasma/trigger/2.check_condition -#> Private -# @private - #declare score_holder $MP - -# MPが足りないならキャンセル - function api:mp/get_current - execute store result score $MP Temporary run data get storage api: Return.CurrentMP 10 - execute unless score $MP Temporary matches 1.. run return fail - # チャージ用Effectを付与 data modify storage api: Argument.ID set value 374 function api:entity/mob/effect/give function api:entity/mob/effect/reset - -# MP消費 - data modify storage api: Argument.Fluctuation set value -1 - data modify storage api: Argument.DisableLog set value 1b - function api:mp/fluctuation diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/re-given/.mcfunction b/Asset/data/asset/functions/effect/374.charge_plasma/re-given/.mcfunction index f59d367e8df..2eb79076f97 100644 --- a/Asset/data/asset/functions/effect/374.charge_plasma/re-given/.mcfunction +++ b/Asset/data/asset/functions/effect/374.charge_plasma/re-given/.mcfunction @@ -7,16 +7,22 @@ #> Private # @private #declare score_holder $Charge + #declare score_holder $MP # チャージ時間を取得 execute store result score $Charge Temporary run data get storage asset:context PreviousField.Charge +# MPを取得 + function api:mp/get_current + execute store result score $MP Temporary run data get storage api: Return.CurrentMP 10 + # Field.Chargeを+1 execute store result storage asset:context this.Charge int 1 run scoreboard players add $Charge Temporary 1 # 時間に応じてバフをスタック - execute if score $Charge Temporary matches 25 run data modify storage asset:context Stack set value 2 - execute if score $Charge Temporary matches 50 run data modify storage asset:context Stack set value 3 + execute if data storage asset:context {Stack:1} if score $Charge Temporary matches 25.. if score $MP Temporary matches 25.. run function asset:effect/374.charge_plasma/re-given/charge/2 + execute if data storage asset:context {Stack:2} if score $Charge Temporary matches 50.. if score $MP Temporary matches 35.. run function asset:effect/374.charge_plasma/re-given/charge/3 # リセット - scoreboard players reset $Charge Temporary + scoreboard players reset $Charge + scoreboard players reset $MP diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/re-given/charge/2.mcfunction b/Asset/data/asset/functions/effect/374.charge_plasma/re-given/charge/2.mcfunction new file mode 100644 index 00000000000..5089199b09d --- /dev/null +++ b/Asset/data/asset/functions/effect/374.charge_plasma/re-given/charge/2.mcfunction @@ -0,0 +1,13 @@ +#> asset:effect/374.charge_plasma/re-given/charge/2 +# +# +# +# @within function asset:effect/374.charge_plasma/re-given/ + +# スタック数を増やす + data modify storage asset:context Stack set value 2 + +# MP消費 + data modify storage api: Argument.Fluctuation set value -25 + data modify storage api: Argument.DisableLog set value 1b + function api:mp/fluctuation diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/re-given/charge/3.mcfunction b/Asset/data/asset/functions/effect/374.charge_plasma/re-given/charge/3.mcfunction new file mode 100644 index 00000000000..273ef6a3982 --- /dev/null +++ b/Asset/data/asset/functions/effect/374.charge_plasma/re-given/charge/3.mcfunction @@ -0,0 +1,13 @@ +#> asset:effect/374.charge_plasma/re-given/charge/3 +# +# +# +# @within function asset:effect/374.charge_plasma/re-given/ + +# スタック数を増やす + data modify storage asset:context Stack set value 3 + +# MP消費 + data modify storage api: Argument.Fluctuation set value -35 + data modify storage api: Argument.DisableLog set value 1b + function api:mp/fluctuation From 3f62b6ec22dfc8e6cd469c231a61f9cdac8f7f71 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Fri, 3 Jul 2026 17:37:25 +0200 Subject: [PATCH 12/50] =?UTF-8?q?=E6=94=BB=E6=92=83=E5=88=A4=E5=AE=9A?= =?UTF-8?q?=E3=82=92=E5=BC=B7=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../functions/object/1168.plasma_spark/tick/explode.mcfunction | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction b/Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction index 5a4bce8ba5a..487aa8cf7b8 100644 --- a/Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction +++ b/Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction @@ -15,7 +15,7 @@ data modify storage api: Argument.AdditionalMPHeal set from storage asset:context this.AdditionalMPHeal execute store result score $UserID Temporary run data get storage asset:context this.UserID execute as @a if score @s UserID = $UserID Temporary run function api:damage/modifier - execute as @e[type=#lib:living_without_player,tag=Enemy,tag=!Uninterferable,dx=0] positioned ~-0.9 ~-0.9 ~-0.9 if entity @s[dx=0] run function api:damage/ + execute as @e[type=#lib:living_without_player,tag=Enemy,tag=!Uninterferable,dx=0] positioned ~-0.75 ~-0.75 ~-0.75 if entity @s[dx=0] run function api:damage/ function api:damage/reset # 演出 From d6cafe273785b94e956a0623f995ee3290c5a249 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Fri, 3 Jul 2026 17:44:07 +0200 Subject: [PATCH 13/50] =?UTF-8?q?=E6=94=BB=E6=92=832=E3=82=92=E8=AA=BF?= =?UTF-8?q?=E7=AF=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../effect/374.charge_plasma/end/attack/2.mcfunction | 4 ++-- .../functions/object/1169.plasma_beam/register.mcfunction | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/2.mcfunction b/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/2.mcfunction index 1519d7b6e63..e5245b284f5 100644 --- a/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/2.mcfunction +++ b/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/2.mcfunction @@ -6,13 +6,13 @@ # 3発撃つ data modify storage api: Argument.ID set value 1169 - execute rotated ~-60 ~ run function api:object/summon + execute rotated ~-30 ~ run function api:object/summon data modify storage api: Argument.ID set value 1169 execute rotated ~ ~ run function api:object/summon data modify storage api: Argument.ID set value 1169 - execute rotated ~60 ~ run function api:object/summon + execute rotated ~30 ~ run function api:object/summon # 演出 playsound block.respawn_anchor.deplete player @a ~ ~ ~ 1.0 2.0 diff --git a/Asset/data/asset/functions/object/1169.plasma_beam/register.mcfunction b/Asset/data/asset/functions/object/1169.plasma_beam/register.mcfunction index d36d06b3e7f..5498345c339 100644 --- a/Asset/data/asset/functions/object/1169.plasma_beam/register.mcfunction +++ b/Asset/data/asset/functions/object/1169.plasma_beam/register.mcfunction @@ -20,5 +20,5 @@ data modify storage asset:object Field.Damage set value 150 data modify storage asset:object Field.AdditionalMPHeal set value 10 data modify storage asset:object Field.Speed set value 2 - data modify storage asset:object Field.Range set value 20 + data modify storage asset:object Field.Range set value 50 data modify storage asset:object Field.UserID set value -1 From 1d2702834534bab580d28901e0db261bd06a4aed Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Fri, 3 Jul 2026 17:53:32 +0200 Subject: [PATCH 14/50] =?UTF-8?q?=E3=83=80=E3=83=A1=E3=83=BC=E3=82=B8?= =?UTF-8?q?=E9=87=8F=E3=82=92Field=E3=81=A7=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../functions/object/1168.plasma_spark/register.mcfunction | 1 + .../functions/object/1168.plasma_spark/tick/explode.mcfunction | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Asset/data/asset/functions/object/1168.plasma_spark/register.mcfunction b/Asset/data/asset/functions/object/1168.plasma_spark/register.mcfunction index 7712930b53a..573d9e806d6 100644 --- a/Asset/data/asset/functions/object/1168.plasma_spark/register.mcfunction +++ b/Asset/data/asset/functions/object/1168.plasma_spark/register.mcfunction @@ -17,5 +17,6 @@ # ID (int) data modify storage asset:object ID set value 1168 # フィールド(オプション) + data modify storage asset:object Field.Damage set value 30 data modify storage asset:object Field.AdditionalMPHeal set value 10 data modify storage asset:object Field.UserID set value -1 diff --git a/Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction b/Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction index 487aa8cf7b8..6218cad260b 100644 --- a/Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction +++ b/Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction @@ -9,7 +9,7 @@ #declare score_holder $UserID # 攻撃判定 - data modify storage api: Argument.Damage set value 30.0f + data modify storage api: Argument.Damage set from storage asset:context this.Damage data modify storage api: Argument.AttackType set value "Physical" data modify storage api: Argument.ElementType set value "Thunder" data modify storage api: Argument.AdditionalMPHeal set from storage asset:context this.AdditionalMPHeal From fe461cfa92897172c0f23b59d1ffa23bf87652e4 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Fri, 3 Jul 2026 18:00:25 +0200 Subject: [PATCH 15/50] =?UTF-8?q?=E3=83=81=E3=83=A3=E3=83=BC=E3=82=B8?= =?UTF-8?q?=E6=99=82=E3=81=AEMP=E6=B6=88=E8=B2=BB=E3=83=81=E3=82=A7?= =?UTF-8?q?=E3=83=83=E3=82=AF=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/effect/374.charge_plasma/re-given/.mcfunction | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/re-given/.mcfunction b/Asset/data/asset/functions/effect/374.charge_plasma/re-given/.mcfunction index 2eb79076f97..05e9241d07d 100644 --- a/Asset/data/asset/functions/effect/374.charge_plasma/re-given/.mcfunction +++ b/Asset/data/asset/functions/effect/374.charge_plasma/re-given/.mcfunction @@ -14,7 +14,7 @@ # MPを取得 function api:mp/get_current - execute store result score $MP Temporary run data get storage api: Return.CurrentMP 10 + execute store result score $MP Temporary run data get storage api: Return.CurrentMP # Field.Chargeを+1 execute store result storage asset:context this.Charge int 1 run scoreboard players add $Charge Temporary 1 From 2a629dd12da8d8e7c5b0afd116b88d6a1f6e2220 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Fri, 3 Jul 2026 18:12:43 +0200 Subject: [PATCH 16/50] =?UTF-8?q?=E3=83=84=E3=83=BC=E3=83=AB=E3=83=81?= =?UTF-8?q?=E3=83=83=E3=83=97=E3=82=92=E6=95=B4=E5=82=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../artifact/1465.versatile_plasma/give/2.give.mcfunction | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/give/2.give.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/give/2.give.mcfunction index 85397a7a8ce..a75c9b7c07e 100644 --- a/Asset/data/asset/functions/artifact/1465.versatile_plasma/give/2.give.mcfunction +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/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": "#D4FFBA"}' # 神器の説明文 (TextComponentString[]) - data modify storage asset:artifact Lore set value [] + data modify storage asset:artifact Lore set value ['{"text": "チャージ段階に応じて異なる方法で攻撃する。"}', '{"text": "チャージを2層重ねると25、3層重ねると追加で35のMPを消費する。"}'] # 消費アイテム ({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 @@ -41,9 +41,9 @@ # 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション) data modify storage asset:artifact AttackInfo.AttackRange set value "???" # MP消費量 (int) - # data modify storage asset:artifact MPCost set value 0 + # data modify storage asset:artifact MPCost set value # MP必要量 (int) (オプション) - data modify storage asset:artifact MPRequire set value 0 + # data modify storage asset:artifact MPRequire set value # MP回復量 (int) data modify storage asset:artifact MPHealWhenHit set value 10 # 神器のクールダウン (int) (オプション) From b781eeeb5b2e671c7d1f00a63288cc65dc50a0de Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Fri, 3 Jul 2026 18:46:58 +0200 Subject: [PATCH 17/50] =?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 --- .../1465.versatile_plasma/trigger/3.main.mcfunction | 3 +++ .../effect/374.charge_plasma/end/attack/2.mcfunction | 2 +- .../effect/374.charge_plasma/end/attack/3/.mcfunction | 2 ++ .../effect/374.charge_plasma/end/attack/3/rec.mcfunction | 4 +++- .../effect/374.charge_plasma/re-given/charge/2.mcfunction | 6 ++++++ .../effect/374.charge_plasma/re-given/charge/3.mcfunction | 7 +++++++ .../object/1168.plasma_spark/tick/explode.mcfunction | 1 + 7 files changed, 23 insertions(+), 2 deletions(-) diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/3.main.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/3.main.mcfunction index 77e03d69ba5..fde8e3c5ad9 100644 --- a/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/3.main.mcfunction +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/3.main.mcfunction @@ -11,3 +11,6 @@ data modify storage api: Argument.ID set value 374 function api:entity/mob/effect/give function api:entity/mob/effect/reset + +# 演出 + playsound block.iron_door.open player @a ~ ~ ~ 2 0.5 diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/2.mcfunction b/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/2.mcfunction index e5245b284f5..c3104694680 100644 --- a/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/2.mcfunction +++ b/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/2.mcfunction @@ -15,4 +15,4 @@ execute rotated ~30 ~ run function api:object/summon # 演出 - playsound block.respawn_anchor.deplete player @a ~ ~ ~ 1.0 2.0 + playsound block.respawn_anchor.deplete player @a ~ ~ ~ 2 2 diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/3/.mcfunction b/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/3/.mcfunction index 22958745fc1..f7052c4ba37 100644 --- a/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/3/.mcfunction +++ b/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/3/.mcfunction @@ -15,3 +15,5 @@ tag @e[tag=HitTarget,distance=..20] remove HitTarget # 演出 + playsound block.vault.open_shutter master @a ~ ~ ~ 2 2 + playsound block.vault.break master @a ~ ~ ~ 1 1 diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/3/rec.mcfunction b/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/3/rec.mcfunction index 4b89469ec65..ed6421d92d0 100644 --- a/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/3/rec.mcfunction +++ b/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/3/rec.mcfunction @@ -11,7 +11,9 @@ execute positioned ~-0.5 ~-0.5 ~-0.5 if entity @e[type=#lib:living_without_player,tag=!HitTarget,tag=!Uninterferable,dx=0,limit=1] run function asset:effect/374.charge_plasma/end/attack/3/damage # 演出 - particle dust 0.3 1.0 0.0 1.0 ~ ~ ~ 0.0 0.0 0.0 1 3 + particle dust 0.8 1.0 0.5 1.0 ~ ~ ~ 0.0 0.0 0.0 1 1 + particle dust 0.5 1.0 0.5 1.5 ~ ~ ~ 0.0 0.0 0.0 1 1 + particle dust 0.8 0.8 0.3 0.5 ~ ~ ~ 0.0 0.0 0.0 1 1 # 再起 execute positioned ^ ^ ^0.5 if entity @s[tag=!Hit,distance=..20] run function asset:effect/374.charge_plasma/end/attack/3/rec diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/re-given/charge/2.mcfunction b/Asset/data/asset/functions/effect/374.charge_plasma/re-given/charge/2.mcfunction index 5089199b09d..ee8527f7145 100644 --- a/Asset/data/asset/functions/effect/374.charge_plasma/re-given/charge/2.mcfunction +++ b/Asset/data/asset/functions/effect/374.charge_plasma/re-given/charge/2.mcfunction @@ -11,3 +11,9 @@ data modify storage api: Argument.Fluctuation set value -25 data modify storage api: Argument.DisableLog set value 1b function api:mp/fluctuation + +# 演出 + playsound block.piston.extend player @a ~ ~ ~ 2 2 + particle dust 0.8 1.0 0.5 2.0 ~ ~ ~ 0.5 1.0 0.5 1 8 + particle dust 0.5 1.0 0.5 2.5 ~ ~ ~ 0.5 1.0 0.5 1 8 + particle dust 0.8 0.8 0.3 1.5 ~ ~ ~ 0.5 1.0 0.5 1 8 diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/re-given/charge/3.mcfunction b/Asset/data/asset/functions/effect/374.charge_plasma/re-given/charge/3.mcfunction index 273ef6a3982..3e0946a5ce8 100644 --- a/Asset/data/asset/functions/effect/374.charge_plasma/re-given/charge/3.mcfunction +++ b/Asset/data/asset/functions/effect/374.charge_plasma/re-given/charge/3.mcfunction @@ -11,3 +11,10 @@ data modify storage api: Argument.Fluctuation set value -35 data modify storage api: Argument.DisableLog set value 1b function api:mp/fluctuation + +# 演出 + playsound block.piston.extend player @a ~ ~ ~ 2 2 + playsound block.trial_spawner.detect_player player @a ~ ~ ~ 2 0.5 + particle dust 0.8 1.0 0.5 2.0 ~ ~ ~ 0.5 1.0 0.5 1 8 + particle dust 0.5 1.0 0.5 2.5 ~ ~ ~ 0.5 1.0 0.5 1 8 + particle dust 0.8 0.8 0.3 1.5 ~ ~ ~ 0.5 1.0 0.5 1 8 diff --git a/Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction b/Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction index 6218cad260b..be5ad48d2f5 100644 --- a/Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction +++ b/Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction @@ -21,6 +21,7 @@ # 演出 particle end_rod ~ ~ ~ 0 0 0 0 1 playsound entity.firework_rocket.twinkle player @a ~ ~ ~ 0.25 2 + playsound block.copper_bulb.turn_on player @a ~ ~ ~ 2 2 # リセット scoreboard players reset $UserID From 80994c3197cb1bb172fb915bc4e0525a0f3d86a5 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Sat, 4 Jul 2026 12:56:32 +0200 Subject: [PATCH 18/50] =?UTF-8?q?playsound=E3=81=A7=E5=86=8D=E7=94=9F?= =?UTF-8?q?=E3=81=99=E3=82=8B=E9=9F=B3=E3=82=92ogg=E5=90=8D=E5=89=8D?= =?UTF-8?q?=E7=A9=BA=E9=96=93=E3=81=AE=E3=82=82=E3=81=AE=E3=81=AB=E5=A4=89?= =?UTF-8?q?=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../effect/374.charge_plasma/end/attack/3/.mcfunction | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/3/.mcfunction b/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/3/.mcfunction index f7052c4ba37..d4b2658dab8 100644 --- a/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/3/.mcfunction +++ b/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/3/.mcfunction @@ -15,5 +15,5 @@ tag @e[tag=HitTarget,distance=..20] remove HitTarget # 演出 - playsound block.vault.open_shutter master @a ~ ~ ~ 2 2 - playsound block.vault.break master @a ~ ~ ~ 1 1 + playsound ogg:block.vault.open_shutter master @a ~ ~ ~ 2 2 + playsound ogg:block.vault.break master @a ~ ~ ~ 1 1 From 01fe0d402c4c274569a967337a5f5a22eff5b302 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Sat, 4 Jul 2026 13:02:01 +0200 Subject: [PATCH 19/50] =?UTF-8?q?=E6=94=BB=E6=92=831=E3=81=AE=E7=99=BA?= =?UTF-8?q?=E5=B0=84=E6=95=B0=E3=82=92=E5=A2=97=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../effect/374.charge_plasma/end/attack/1/.mcfunction | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/1/.mcfunction b/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/1/.mcfunction index 50e1a41eac7..8c301a53572 100644 --- a/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/1/.mcfunction +++ b/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/1/.mcfunction @@ -8,8 +8,8 @@ # @within function asset:effect/374.charge_plasma/end/attack/** #declare score_holder $rec -# 24回実行 - scoreboard players set $rec Temporary 24 +# 36回実行 + scoreboard players set $rec Temporary 36 # 向いている方向に確定で一個だす data modify storage api: Argument.ID set value 1168 From b0bc9db2b854f7afe5901d8912836745e5e22fa7 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Sat, 4 Jul 2026 13:07:55 +0200 Subject: [PATCH 20/50] =?UTF-8?q?MP=E5=9B=9E=E5=BE=A9=E9=87=8F=E3=82=92?= =?UTF-8?q?=E5=8D=8A=E5=88=86=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../artifact/1465.versatile_plasma/give/2.give.mcfunction | 2 +- .../effect/374.charge_plasma/end/attack/3/damage.mcfunction | 2 +- .../functions/object/1168.plasma_spark/register.mcfunction | 2 +- .../asset/functions/object/1169.plasma_beam/register.mcfunction | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/give/2.give.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/give/2.give.mcfunction index a75c9b7c07e..21dde854db8 100644 --- a/Asset/data/asset/functions/artifact/1465.versatile_plasma/give/2.give.mcfunction +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/give/2.give.mcfunction @@ -45,7 +45,7 @@ # MP必要量 (int) (オプション) # data modify storage asset:artifact MPRequire set value # MP回復量 (int) - data modify storage asset:artifact MPHealWhenHit set value 10 + data modify storage asset:artifact MPHealWhenHit set value 5 # 神器のクールダウン (int) (オプション) data modify storage asset:artifact LocalCooldown set value 100 # 種別クールダウン ({Type: string, Duration: int}) (オプション) diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/3/damage.mcfunction b/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/3/damage.mcfunction index 14facc58386..9bbe96c21fd 100644 --- a/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/3/damage.mcfunction +++ b/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/3/damage.mcfunction @@ -12,7 +12,7 @@ data modify storage api: Argument.Damage set value 300 data modify storage api: Argument.AttackType set value "Physical" data modify storage api: Argument.ElementType set value "Thunder" - data modify storage api: Argument.AdditionalMPHeal set value 10 + data modify storage api: Argument.AdditionalMPHeal set value 5 function api:damage/modifier execute positioned ~-0.5 ~-0.5 ~-0.5 as @e[type=#lib:living_without_player,tag=!Uninterferable,dx=0,limit=1] run function api:damage/ function api:damage/reset diff --git a/Asset/data/asset/functions/object/1168.plasma_spark/register.mcfunction b/Asset/data/asset/functions/object/1168.plasma_spark/register.mcfunction index 573d9e806d6..06914ef81c1 100644 --- a/Asset/data/asset/functions/object/1168.plasma_spark/register.mcfunction +++ b/Asset/data/asset/functions/object/1168.plasma_spark/register.mcfunction @@ -18,5 +18,5 @@ data modify storage asset:object ID set value 1168 # フィールド(オプション) data modify storage asset:object Field.Damage set value 30 - data modify storage asset:object Field.AdditionalMPHeal set value 10 + data modify storage asset:object Field.AdditionalMPHeal set value 5 data modify storage asset:object Field.UserID set value -1 diff --git a/Asset/data/asset/functions/object/1169.plasma_beam/register.mcfunction b/Asset/data/asset/functions/object/1169.plasma_beam/register.mcfunction index 5498345c339..a3c84e8fbd1 100644 --- a/Asset/data/asset/functions/object/1169.plasma_beam/register.mcfunction +++ b/Asset/data/asset/functions/object/1169.plasma_beam/register.mcfunction @@ -18,7 +18,7 @@ data modify storage asset:object ID set value 1169 # フィールド(オプション) data modify storage asset:object Field.Damage set value 150 - data modify storage asset:object Field.AdditionalMPHeal set value 10 + data modify storage asset:object Field.AdditionalMPHeal set value 5 data modify storage asset:object Field.Speed set value 2 data modify storage asset:object Field.Range set value 50 data modify storage asset:object Field.UserID set value -1 From a186c0364cf23865a5493d3a846a5c596141eca1 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Sat, 4 Jul 2026 13:26:34 +0200 Subject: [PATCH 21/50] =?UTF-8?q?=E6=94=BB=E6=92=832=E3=81=AE=E8=A6=96?= =?UTF-8?q?=E8=AA=8D=E6=80=A7=E3=82=92=E6=94=B9=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../asset/functions/effect/374.charge_plasma/end/.mcfunction | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/end/.mcfunction b/Asset/data/asset/functions/effect/374.charge_plasma/end/.mcfunction index 25f819732d8..c748cbb2e83 100644 --- a/Asset/data/asset/functions/effect/374.charge_plasma/end/.mcfunction +++ b/Asset/data/asset/functions/effect/374.charge_plasma/end/.mcfunction @@ -6,5 +6,5 @@ # スタック数に応じてそれぞれの攻撃処理を実行 execute if data storage asset:context {Stack:1} run function asset:effect/374.charge_plasma/end/attack/1/ - execute if data storage asset:context {Stack:2} anchored eyes positioned ^ ^ ^ run function asset:effect/374.charge_plasma/end/attack/2 + execute if data storage asset:context {Stack:2} anchored eyes positioned ^ ^-0.25 ^ run function asset:effect/374.charge_plasma/end/attack/2 execute if data storage asset:context {Stack:3} run function asset:effect/374.charge_plasma/end/attack/3/ From 92f4a96840eb7bada674d386304ee6de986e30c1 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Sat, 4 Jul 2026 18:22:48 +0200 Subject: [PATCH 22/50] =?UTF-8?q?UserID=E3=81=8C=E6=AD=A3=E3=81=97?= =?UTF-8?q?=E3=81=8F=E7=B4=90=E3=81=A5=E3=81=84=E3=81=A6=E3=81=84=E3=81=AA?= =?UTF-8?q?=E3=81=84=E5=95=8F=E9=A1=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 --- .../effect/374.charge_plasma/end/attack/2.mcfunction | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/2.mcfunction b/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/2.mcfunction index c3104694680..8d180555462 100644 --- a/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/2.mcfunction +++ b/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/2.mcfunction @@ -6,12 +6,18 @@ # 3発撃つ data modify storage api: Argument.ID set value 1169 + data modify storage api: Argument.FieldOverride.AdditionalMPHeal set from storage api: PersistentArgument.AdditionalMPHeal + execute store result storage api: Argument.FieldOverride.UserID int 1 run scoreboard players get @s UserID execute rotated ~-30 ~ run function api:object/summon data modify storage api: Argument.ID set value 1169 + data modify storage api: Argument.FieldOverride.AdditionalMPHeal set from storage api: PersistentArgument.AdditionalMPHeal + execute store result storage api: Argument.FieldOverride.UserID int 1 run scoreboard players get @s UserID execute rotated ~ ~ run function api:object/summon data modify storage api: Argument.ID set value 1169 + data modify storage api: Argument.FieldOverride.AdditionalMPHeal set from storage api: PersistentArgument.AdditionalMPHeal + execute store result storage api: Argument.FieldOverride.UserID int 1 run scoreboard players get @s UserID execute rotated ~30 ~ run function api:object/summon # 演出 From ea8404068f799b93f39152498c061dd9decda2b9 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Sat, 4 Jul 2026 18:27:45 +0200 Subject: [PATCH 23/50] =?UTF-8?q?Effect=E3=81=AE=E8=AA=AC=E6=98=8E?= =?UTF-8?q?=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../functions/effect/374.charge_plasma/register.mcfunction | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/register.mcfunction b/Asset/data/asset/functions/effect/374.charge_plasma/register.mcfunction index ae3706006e4..6e61a3ca902 100644 --- a/Asset/data/asset/functions/effect/374.charge_plasma/register.mcfunction +++ b/Asset/data/asset/functions/effect/374.charge_plasma/register.mcfunction @@ -9,9 +9,9 @@ # ID (int) data modify storage asset:effect ID set value 374 # 名前 (TextComponentString) - data modify storage asset:effect Name set value '{"text": "チャージ・プラズマ"}' + data modify storage asset:effect Name set value '{"text": "チャージ・プラズマ", "color": "#D4FFBA"}' # 説明文 (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) From b5c25224ab9bce543b60b968d96ad8309669bed0 Mon Sep 17 00:00:00 2001 From: firgde Date: Fri, 24 Jul 2026 06:06:56 +0200 Subject: [PATCH 24/50] =?UTF-8?q?Effect=E3=81=AEID=E8=A1=A8=E8=A8=98?= =?UTF-8?q?=E3=81=8C=E8=A6=8F=E5=89=87=E3=81=AB=E5=90=88=E3=81=86=E3=82=88?= =?UTF-8?q?=E3=81=86=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../_/end.mcfunction | 4 ++-- .../_/re-given.mcfunction | 4 ++-- .../_/register.mcfunction | 4 ++-- .../end/.mcfunction | 10 +++++----- .../end/attack/1/.mcfunction | 8 ++++---- .../end/attack/1/m.mcfunction | 4 ++-- .../end/attack/1/rec.mcfunction | 8 ++++---- .../end/attack/2.mcfunction | 4 ++-- .../end/attack/3/.mcfunction | 8 ++++---- .../end/attack/3/damage.mcfunction | 4 ++-- .../end/attack/3/rec.mcfunction | 8 ++++---- .../re-given/.mcfunction | 8 ++++---- .../re-given/charge/2.mcfunction | 4 ++-- .../re-given/charge/3.mcfunction | 4 ++-- .../register.mcfunction | 4 ++-- Asset/data/asset/tags/functions/effect/end.json | 4 ++-- Asset/data/asset/tags/functions/effect/re-given.json | 4 ++-- Asset/data/asset/tags/functions/effect/register.json | 4 ++-- 18 files changed, 49 insertions(+), 49 deletions(-) rename Asset/data/asset/functions/effect/{374.charge_plasma => 0374.charge_plasma}/_/end.mcfunction (69%) rename Asset/data/asset/functions/effect/{374.charge_plasma => 0374.charge_plasma}/_/re-given.mcfunction (67%) rename Asset/data/asset/functions/effect/{374.charge_plasma => 0374.charge_plasma}/_/register.mcfunction (58%) rename Asset/data/asset/functions/effect/{374.charge_plasma => 0374.charge_plasma}/end/.mcfunction (52%) rename Asset/data/asset/functions/effect/{374.charge_plasma => 0374.charge_plasma}/end/attack/1/.mcfunction (72%) rename Asset/data/asset/functions/effect/{374.charge_plasma => 0374.charge_plasma}/end/attack/1/m.mcfunction (77%) rename Asset/data/asset/functions/effect/{374.charge_plasma => 0374.charge_plasma}/end/attack/1/rec.mcfunction (65%) rename Asset/data/asset/functions/effect/{374.charge_plasma => 0374.charge_plasma}/end/attack/2.mcfunction (91%) rename Asset/data/asset/functions/effect/{374.charge_plasma => 0374.charge_plasma}/end/attack/3/.mcfunction (54%) rename Asset/data/asset/functions/effect/{374.charge_plasma => 0374.charge_plasma}/end/attack/3/damage.mcfunction (84%) rename Asset/data/asset/functions/effect/{374.charge_plasma => 0374.charge_plasma}/end/attack/3/rec.mcfunction (65%) rename Asset/data/asset/functions/effect/{374.charge_plasma => 0374.charge_plasma}/re-given/.mcfunction (79%) rename Asset/data/asset/functions/effect/{374.charge_plasma => 0374.charge_plasma}/re-given/charge/2.mcfunction (81%) rename Asset/data/asset/functions/effect/{374.charge_plasma => 0374.charge_plasma}/re-given/charge/3.mcfunction (83%) rename Asset/data/asset/functions/effect/{374.charge_plasma => 0374.charge_plasma}/register.mcfunction (94%) diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/_/end.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/_/end.mcfunction similarity index 69% rename from Asset/data/asset/functions/effect/374.charge_plasma/_/end.mcfunction rename to Asset/data/asset/functions/effect/0374.charge_plasma/_/end.mcfunction index c00f95c4152..d9b0f332089 100644 --- a/Asset/data/asset/functions/effect/374.charge_plasma/_/end.mcfunction +++ b/Asset/data/asset/functions/effect/0374.charge_plasma/_/end.mcfunction @@ -1,7 +1,7 @@ -#> asset:effect/374.charge_plasma/_/end +#> asset:effect/0374.charge_plasma/_/end # # Effectの効果の終了時に実行されるfunction # # @within tag/function asset:effect/end -execute if data storage asset:context {id:374} run function asset:effect/374.charge_plasma/end/ \ No newline at end of file +execute if data storage asset:context {id:374} run function asset:effect/0374.charge_plasma/end/ diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/_/re-given.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/_/re-given.mcfunction similarity index 67% rename from Asset/data/asset/functions/effect/374.charge_plasma/_/re-given.mcfunction rename to Asset/data/asset/functions/effect/0374.charge_plasma/_/re-given.mcfunction index 5f7c753fdc1..44ad347c166 100644 --- a/Asset/data/asset/functions/effect/374.charge_plasma/_/re-given.mcfunction +++ b/Asset/data/asset/functions/effect/0374.charge_plasma/_/re-given.mcfunction @@ -1,7 +1,7 @@ -#> asset:effect/374.charge_plasma/_/re-given +#> asset:effect/0374.charge_plasma/_/re-given # # Effectが上書きされた時に実行されるfunction # # @within tag/function asset:effect/re-given -execute if data storage asset:context {id:374} run function asset:effect/374.charge_plasma/re-given/ \ No newline at end of file +execute if data storage asset:context {id:374} run function asset:effect/0374.charge_plasma/re-given/ diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/_/register.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/_/register.mcfunction similarity index 58% rename from Asset/data/asset/functions/effect/374.charge_plasma/_/register.mcfunction rename to Asset/data/asset/functions/effect/0374.charge_plasma/_/register.mcfunction index 7175e6c65d1..97b034bcbd7 100644 --- a/Asset/data/asset/functions/effect/374.charge_plasma/_/register.mcfunction +++ b/Asset/data/asset/functions/effect/0374.charge_plasma/_/register.mcfunction @@ -1,7 +1,7 @@ -#> asset:effect/374.charge_plasma/_/register +#> asset:effect/0374.charge_plasma/_/register # # # # @within tag/function asset:effect/register -execute if data storage asset:context {id:374} run function asset:effect/374.charge_plasma/register \ No newline at end of file +execute if data storage asset:context {id:374} run function asset:effect/0374.charge_plasma/register diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/end/.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/end/.mcfunction similarity index 52% rename from Asset/data/asset/functions/effect/374.charge_plasma/end/.mcfunction rename to Asset/data/asset/functions/effect/0374.charge_plasma/end/.mcfunction index c748cbb2e83..0fa5bc79f0e 100644 --- a/Asset/data/asset/functions/effect/374.charge_plasma/end/.mcfunction +++ b/Asset/data/asset/functions/effect/0374.charge_plasma/end/.mcfunction @@ -1,10 +1,10 @@ -#> asset:effect/374.charge_plasma/end/ +#> asset:effect/0374.charge_plasma/end/ # # Effectの効果が切れた時の処理 # -# @within function asset:effect/374.charge_plasma/_/end +# @within function asset:effect/0374.charge_plasma/_/end # スタック数に応じてそれぞれの攻撃処理を実行 - execute if data storage asset:context {Stack:1} run function asset:effect/374.charge_plasma/end/attack/1/ - execute if data storage asset:context {Stack:2} anchored eyes positioned ^ ^-0.25 ^ run function asset:effect/374.charge_plasma/end/attack/2 - execute if data storage asset:context {Stack:3} run function asset:effect/374.charge_plasma/end/attack/3/ + execute if data storage asset:context {Stack:1} run function asset:effect/0374.charge_plasma/end/attack/1/ + execute if data storage asset:context {Stack:2} anchored eyes positioned ^ ^-0.25 ^ run function asset:effect/0374.charge_plasma/end/attack/2 + execute if data storage asset:context {Stack:3} run function asset:effect/0374.charge_plasma/end/attack/3/ diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/1/.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/1/.mcfunction similarity index 72% rename from Asset/data/asset/functions/effect/374.charge_plasma/end/attack/1/.mcfunction rename to Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/1/.mcfunction index 8c301a53572..e952e66c473 100644 --- a/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/1/.mcfunction +++ b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/1/.mcfunction @@ -1,11 +1,11 @@ -#> asset:effect/374.charge_plasma/end/attack/1 +#> asset:effect/0374.charge_plasma/end/attack/1 # # 攻撃(ため1段階):スパーク # -# @within function asset:effect/374.charge_plasma/end/** +# @within function asset:effect/0374.charge_plasma/end/** #> Private -# @within function asset:effect/374.charge_plasma/end/attack/** +# @within function asset:effect/0374.charge_plasma/end/attack/** #declare score_holder $rec # 36回実行 @@ -18,7 +18,7 @@ execute anchored eyes positioned ^ ^ ^2.5 run function api:object/summon # 本体 - execute anchored eyes run function asset:effect/374.charge_plasma/end/attack/1/rec + execute anchored eyes run function asset:effect/0374.charge_plasma/end/attack/1/rec # リセット scoreboard players reset $rec diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/1/m.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/1/m.mcfunction similarity index 77% rename from Asset/data/asset/functions/effect/374.charge_plasma/end/attack/1/m.mcfunction rename to Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/1/m.mcfunction index f9fd2a0adce..8228e4e8f8e 100644 --- a/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/1/m.mcfunction +++ b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/1/m.mcfunction @@ -1,8 +1,8 @@ -#> asset:effect/374.charge_plasma/end/attack/1/m +#> asset:effect/0374.charge_plasma/end/attack/1/m # # Object 1168を召喚 # -# @within function asset:effect/374.charge_plasma/end/attack/1/rec +# @within function asset:effect/0374.charge_plasma/end/attack/1/rec data modify storage api: Argument.ID set value 1168 data modify storage api: Argument.FieldOverride.AdditionalMPHeal set from storage api: PersistentArgument.AdditionalMPHeal diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/1/rec.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/1/rec.mcfunction similarity index 65% rename from Asset/data/asset/functions/effect/374.charge_plasma/end/attack/1/rec.mcfunction rename to Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/1/rec.mcfunction index 7ed87e69d3d..608c1b78098 100644 --- a/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/1/rec.mcfunction +++ b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/1/rec.mcfunction @@ -1,8 +1,8 @@ -#> asset:effect/374.charge_plasma/end/attack/1/rec +#> asset:effect/0374.charge_plasma/end/attack/1/rec # # 再帰処理 # -# @within function asset:effect/374.charge_plasma/end/attack/1/** +# @within function asset:effect/0374.charge_plasma/end/attack/1/** # rec減算 scoreboard players remove $rec Temporary 1 @@ -13,7 +13,7 @@ execute store result storage asset:temp Args.OffsetZ float 0.1 run random value 5..35 # マクロでObject召喚 - function asset:effect/374.charge_plasma/end/attack/1/m with storage asset:temp Args + function asset:effect/0374.charge_plasma/end/attack/1/m with storage asset:temp Args # 再帰 - execute if score $rec Temporary matches 1.. run function asset:effect/374.charge_plasma/end/attack/1/rec + execute if score $rec Temporary matches 1.. run function asset:effect/0374.charge_plasma/end/attack/1/rec diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/2.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/2.mcfunction similarity index 91% rename from Asset/data/asset/functions/effect/374.charge_plasma/end/attack/2.mcfunction rename to Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/2.mcfunction index 8d180555462..bc71c1d34aa 100644 --- a/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/2.mcfunction +++ b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/2.mcfunction @@ -1,8 +1,8 @@ -#> asset:effect/374.charge_plasma/end/attack/2 +#> asset:effect/0374.charge_plasma/end/attack/2 # # プラズマ攻撃2: 拡散レーザー # -# @within function asset:effect/374.charge_plasma/end/** +# @within function asset:effect/0374.charge_plasma/end/** # 3発撃つ data modify storage api: Argument.ID set value 1169 diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/3/.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/.mcfunction similarity index 54% rename from Asset/data/asset/functions/effect/374.charge_plasma/end/attack/3/.mcfunction rename to Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/.mcfunction index d4b2658dab8..4890619aa03 100644 --- a/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/3/.mcfunction +++ b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/.mcfunction @@ -1,16 +1,16 @@ -#> asset:effect/374.charge_plasma/end/attack/3/ +#> asset:effect/0374.charge_plasma/end/attack/3/ # # 攻撃3: 貫通レーザー # -# @within function asset:effect/374.charge_plasma/end/** +# @within function asset:effect/0374.charge_plasma/end/** #> Private -# @within function asset:effect/374.charge_plasma/end/attack/3/** +# @within function asset:effect/0374.charge_plasma/end/attack/3/** #declare tag Hit #declare tag HitTarget # 再帰処理 - execute anchored eyes run function asset:effect/374.charge_plasma/end/attack/3/rec + execute anchored eyes run function asset:effect/0374.charge_plasma/end/attack/3/rec tag @s remove Hit tag @e[tag=HitTarget,distance=..20] remove HitTarget diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/3/damage.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/damage.mcfunction similarity index 84% rename from Asset/data/asset/functions/effect/374.charge_plasma/end/attack/3/damage.mcfunction rename to Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/damage.mcfunction index 9bbe96c21fd..ffa13d36a97 100644 --- a/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/3/damage.mcfunction +++ b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/damage.mcfunction @@ -1,8 +1,8 @@ -#> asset:effect/374.charge_plasma/end/attack/3/damage +#> asset:effect/0374.charge_plasma/end/attack/3/damage # # # -# @within function asset:effect/374.charge_plasma/end/attack/3/rec +# @within function asset:effect/0374.charge_plasma/end/attack/3/rec # ヒット済みタグ diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/3/rec.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/rec.mcfunction similarity index 65% rename from Asset/data/asset/functions/effect/374.charge_plasma/end/attack/3/rec.mcfunction rename to Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/rec.mcfunction index ed6421d92d0..5413aca2f6e 100644 --- a/Asset/data/asset/functions/effect/374.charge_plasma/end/attack/3/rec.mcfunction +++ b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/rec.mcfunction @@ -1,14 +1,14 @@ -#> asset:effect/374.charge_plasma/end/attack/3/rec +#> asset:effect/0374.charge_plasma/end/attack/3/rec # # # -# @within function asset:effect/374.charge_plasma/end/attack/3/** +# @within function asset:effect/0374.charge_plasma/end/attack/3/** # 着弾検知 execute unless block ^ ^ ^0.5 #lib:no_collision/ run tag @s add Hit # 命中 - execute positioned ~-0.5 ~-0.5 ~-0.5 if entity @e[type=#lib:living_without_player,tag=!HitTarget,tag=!Uninterferable,dx=0,limit=1] run function asset:effect/374.charge_plasma/end/attack/3/damage + execute positioned ~-0.5 ~-0.5 ~-0.5 if entity @e[type=#lib:living_without_player,tag=!HitTarget,tag=!Uninterferable,dx=0,limit=1] run function asset:effect/0374.charge_plasma/end/attack/3/damage # 演出 particle dust 0.8 1.0 0.5 1.0 ~ ~ ~ 0.0 0.0 0.0 1 1 @@ -16,4 +16,4 @@ particle dust 0.8 0.8 0.3 0.5 ~ ~ ~ 0.0 0.0 0.0 1 1 # 再起 - execute positioned ^ ^ ^0.5 if entity @s[tag=!Hit,distance=..20] run function asset:effect/374.charge_plasma/end/attack/3/rec + execute positioned ^ ^ ^0.5 if entity @s[tag=!Hit,distance=..20] run function asset:effect/0374.charge_plasma/end/attack/3/rec diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/re-given/.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/.mcfunction similarity index 79% rename from Asset/data/asset/functions/effect/374.charge_plasma/re-given/.mcfunction rename to Asset/data/asset/functions/effect/0374.charge_plasma/re-given/.mcfunction index 05e9241d07d..6336bfabf99 100644 --- a/Asset/data/asset/functions/effect/374.charge_plasma/re-given/.mcfunction +++ b/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/.mcfunction @@ -1,8 +1,8 @@ -#> asset:effect/374.charge_plasma/re-given/ +#> asset:effect/0374.charge_plasma/re-given/ # # Effectが上書きされた時の処理 # -# @within function asset:effect/374.charge_plasma/_/re-given +# @within function asset:effect/0374.charge_plasma/_/re-given #> Private # @private @@ -20,8 +20,8 @@ execute store result storage asset:context this.Charge int 1 run scoreboard players add $Charge Temporary 1 # 時間に応じてバフをスタック - execute if data storage asset:context {Stack:1} if score $Charge Temporary matches 25.. if score $MP Temporary matches 25.. run function asset:effect/374.charge_plasma/re-given/charge/2 - execute if data storage asset:context {Stack:2} if score $Charge Temporary matches 50.. if score $MP Temporary matches 35.. run function asset:effect/374.charge_plasma/re-given/charge/3 + execute if data storage asset:context {Stack:1} if score $Charge Temporary matches 25.. if score $MP Temporary matches 25.. run function asset:effect/0374.charge_plasma/re-given/charge/2 + execute if data storage asset:context {Stack:2} if score $Charge Temporary matches 50.. if score $MP Temporary matches 35.. run function asset:effect/0374.charge_plasma/re-given/charge/3 # リセット scoreboard players reset $Charge diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/re-given/charge/2.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/charge/2.mcfunction similarity index 81% rename from Asset/data/asset/functions/effect/374.charge_plasma/re-given/charge/2.mcfunction rename to Asset/data/asset/functions/effect/0374.charge_plasma/re-given/charge/2.mcfunction index ee8527f7145..3dd19e43d46 100644 --- a/Asset/data/asset/functions/effect/374.charge_plasma/re-given/charge/2.mcfunction +++ b/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/charge/2.mcfunction @@ -1,8 +1,8 @@ -#> asset:effect/374.charge_plasma/re-given/charge/2 +#> asset:effect/0374.charge_plasma/re-given/charge/2 # # # -# @within function asset:effect/374.charge_plasma/re-given/ +# @within function asset:effect/0374.charge_plasma/re-given/ # スタック数を増やす data modify storage asset:context Stack set value 2 diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/re-given/charge/3.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/charge/3.mcfunction similarity index 83% rename from Asset/data/asset/functions/effect/374.charge_plasma/re-given/charge/3.mcfunction rename to Asset/data/asset/functions/effect/0374.charge_plasma/re-given/charge/3.mcfunction index 3e0946a5ce8..e1ef46893f4 100644 --- a/Asset/data/asset/functions/effect/374.charge_plasma/re-given/charge/3.mcfunction +++ b/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/charge/3.mcfunction @@ -1,8 +1,8 @@ -#> asset:effect/374.charge_plasma/re-given/charge/3 +#> asset:effect/0374.charge_plasma/re-given/charge/3 # # # -# @within function asset:effect/374.charge_plasma/re-given/ +# @within function asset:effect/0374.charge_plasma/re-given/ # スタック数を増やす data modify storage asset:context Stack set value 3 diff --git a/Asset/data/asset/functions/effect/374.charge_plasma/register.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/register.mcfunction similarity index 94% rename from Asset/data/asset/functions/effect/374.charge_plasma/register.mcfunction rename to Asset/data/asset/functions/effect/0374.charge_plasma/register.mcfunction index 6e61a3ca902..d0f03343154 100644 --- a/Asset/data/asset/functions/effect/374.charge_plasma/register.mcfunction +++ b/Asset/data/asset/functions/effect/0374.charge_plasma/register.mcfunction @@ -1,8 +1,8 @@ -#> asset:effect/374.charge_plasma/register +#> asset:effect/0374.charge_plasma/register # # Effectのデータを指定 # -# @within function asset:effect/374.charge_plasma/_/register +# @within function asset:effect/0374.charge_plasma/_/register # ExtendsSafe (boolean) (default = false) # data modify storage asset:effect ExtendsSafe set value true diff --git a/Asset/data/asset/tags/functions/effect/end.json b/Asset/data/asset/tags/functions/effect/end.json index 68e9ab8894b..c591b78ad08 100644 --- a/Asset/data/asset/tags/functions/effect/end.json +++ b/Asset/data/asset/tags/functions/effect/end.json @@ -1,6 +1,6 @@ { "values": [ - "asset:effect/374.charge_plasma/_/end", + "asset:effect/0374.charge_plasma/_/end", "asset:effect/0360.calamity_bind/_/end", "asset:effect/0345.topaz_protection/_/end", "asset:effect/0342.prayer_amidst_blight/_/end", @@ -106,4 +106,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/re-given.json b/Asset/data/asset/tags/functions/effect/re-given.json index 381d5ee8dab..100a1660c3b 100644 --- a/Asset/data/asset/tags/functions/effect/re-given.json +++ b/Asset/data/asset/tags/functions/effect/re-given.json @@ -1,6 +1,6 @@ { "values": [ - "asset:effect/374.charge_plasma/_/re-given", + "asset:effect/0374.charge_plasma/_/re-given", "asset:effect/0352.kitsunebi/_/re-given", "asset:effect/0345.topaz_protection/_/re-given", "asset:effect/0029.poison/_/re-given", @@ -61,4 +61,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 1edc87b9764..2953ba221c5 100644 --- a/Asset/data/asset/tags/functions/effect/register.json +++ b/Asset/data/asset/tags/functions/effect/register.json @@ -1,6 +1,6 @@ { "values": [ - "asset:effect/374.charge_plasma/_/register", + "asset:effect/0374.charge_plasma/_/register", "asset:effect/0352.kitsunebi/_/register", "asset:effect/0351.nectar_regeneration/_/register", "asset:effect/0117.slowness/_/register", @@ -176,4 +176,4 @@ "asset:effect/0007.defense_base_debuff/_/register", "asset:effect/0258.spirit_melody/_/register" ] -} \ No newline at end of file +} From ef5ccd85ee029ae825fbe6f5c11c216c1c994ecb Mon Sep 17 00:00:00 2001 From: firgde Date: Fri, 24 Jul 2026 06:09:36 +0200 Subject: [PATCH 25/50] =?UTF-8?q?=E7=AF=84=E5=9B=B2=E6=94=BB=E6=92=83?= =?UTF-8?q?=E3=81=AB=E9=96=A2=E3=81=99=E3=82=8B=E6=83=85=E5=A0=B1=E3=82=92?= =?UTF-8?q?=E9=81=A9=E5=88=87=E3=81=AA=E3=82=82=E3=81=AE=E3=81=AB=E5=A4=89?= =?UTF-8?q?=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../artifact/1465.versatile_plasma/give/2.give.mcfunction | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/give/2.give.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/give/2.give.mcfunction index 21dde854db8..eaa8c6e842b 100644 --- a/Asset/data/asset/functions/artifact/1465.versatile_plasma/give/2.give.mcfunction +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/give/2.give.mcfunction @@ -37,7 +37,7 @@ # 攻撃に関する情報 -防御無視 (boolean) Wikiを参照 (オプション) # data modify storage asset:artifact AttackInfo.BypassResist set value # 攻撃に関する情報 -範囲攻撃 (string) Wikiを参照 (オプション) - # data modify storage asset:artifact AttackInfo.IsRangeAttack set value + data modify storage asset:artifact AttackInfo.IsRangeAttack set value "condition" # 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション) data modify storage asset:artifact AttackInfo.AttackRange set value "???" # MP消費量 (int) From 1ad084764197bf3ff3f95d79427065ebcf750d8b Mon Sep 17 00:00:00 2001 From: firgde Date: Fri, 24 Jul 2026 06:10:10 +0200 Subject: [PATCH 26/50] =?UTF-8?q?playsound=E3=81=AE=E3=82=BF=E3=82=A4?= =?UTF-8?q?=E3=83=97=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../effect/0374.charge_plasma/end/attack/3/.mcfunction | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/.mcfunction index 4890619aa03..46b4a7d13d7 100644 --- a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/.mcfunction +++ b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/.mcfunction @@ -15,5 +15,5 @@ tag @e[tag=HitTarget,distance=..20] remove HitTarget # 演出 - playsound ogg:block.vault.open_shutter master @a ~ ~ ~ 2 2 - playsound ogg:block.vault.break master @a ~ ~ ~ 1 1 + playsound ogg:block.vault.open_shutter player @a ~ ~ ~ 2 2 + playsound ogg:block.vault.break player @a ~ ~ ~ 1 1 From 96870e7b65a47ac73275fa20ad67b738dcf4e1ab Mon Sep 17 00:00:00 2001 From: firgde Date: Fri, 24 Jul 2026 06:11:27 +0200 Subject: [PATCH 27/50] =?UTF-8?q?=E5=AE=9F=E8=A1=8C=E4=BD=8D=E7=BD=AE?= =?UTF-8?q?=E3=81=AE=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../effect/0374.charge_plasma/end/attack/1/.mcfunction | 2 +- .../effect/0374.charge_plasma/end/attack/3/.mcfunction | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/1/.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/1/.mcfunction index e952e66c473..7c76827914e 100644 --- a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/1/.mcfunction +++ b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/1/.mcfunction @@ -18,7 +18,7 @@ execute anchored eyes positioned ^ ^ ^2.5 run function api:object/summon # 本体 - execute anchored eyes run function asset:effect/0374.charge_plasma/end/attack/1/rec + execute anchored eyes positioned ^ ^ ^ run function asset:effect/0374.charge_plasma/end/attack/1/rec # リセット scoreboard players reset $rec diff --git a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/.mcfunction index 46b4a7d13d7..77194a523f9 100644 --- a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/.mcfunction +++ b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/.mcfunction @@ -10,7 +10,7 @@ #declare tag HitTarget # 再帰処理 - execute anchored eyes run function asset:effect/0374.charge_plasma/end/attack/3/rec + execute anchored eyes positioned ^ ^ ^ run function asset:effect/0374.charge_plasma/end/attack/3/rec tag @s remove Hit tag @e[tag=HitTarget,distance=..20] remove HitTarget From e1248a2760b552e64b85aa8ecfca9b77fedeab84 Mon Sep 17 00:00:00 2001 From: firgde Date: Fri, 24 Jul 2026 06:13:56 +0200 Subject: [PATCH 28/50] =?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 --- .../effect/0374.charge_plasma/end/attack/3/.mcfunction | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/.mcfunction index 77194a523f9..1117bc57618 100644 --- a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/.mcfunction +++ b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/.mcfunction @@ -12,7 +12,7 @@ # 再帰処理 execute anchored eyes positioned ^ ^ ^ run function asset:effect/0374.charge_plasma/end/attack/3/rec tag @s remove Hit - tag @e[tag=HitTarget,distance=..20] remove HitTarget + tag @e[type=#lib:living_without_player,tag=HitTarget,distance=..20] remove HitTarget # 演出 playsound ogg:block.vault.open_shutter player @a ~ ~ ~ 2 2 From d36576cd27d6b867aceccd132c30b80ce07a8c9f Mon Sep 17 00:00:00 2001 From: firgde Date: Fri, 24 Jul 2026 06:22:07 +0200 Subject: [PATCH 29/50] =?UTF-8?q?=E3=82=B9=E3=82=B3=E3=82=A2=E3=83=AA?= =?UTF-8?q?=E3=82=BB=E3=83=83=E3=83=88=E6=99=82=E3=81=AEobjective=E3=82=92?= =?UTF-8?q?=E6=98=8E=E8=A8=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../functions/object/1168.plasma_spark/tick/explode.mcfunction | 2 +- .../object/1169.plasma_beam/hit_entity/damage.mcfunction | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction b/Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction index be5ad48d2f5..fb86fed7b84 100644 --- a/Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction +++ b/Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction @@ -24,7 +24,7 @@ playsound block.copper_bulb.turn_on player @a ~ ~ ~ 2 2 # リセット - scoreboard players reset $UserID + scoreboard players reset $UserID Temporary # 消す kill @s diff --git a/Asset/data/asset/functions/object/1169.plasma_beam/hit_entity/damage.mcfunction b/Asset/data/asset/functions/object/1169.plasma_beam/hit_entity/damage.mcfunction index d6ed2847068..358076c1afc 100644 --- a/Asset/data/asset/functions/object/1169.plasma_beam/hit_entity/damage.mcfunction +++ b/Asset/data/asset/functions/object/1169.plasma_beam/hit_entity/damage.mcfunction @@ -23,4 +23,4 @@ execute rotated ~ -30 run function lib:motion/looking # リセット - scoreboard players reset $UserID + scoreboard players reset $UserID Temporary From 19cb0869f7f98f7b5aa3248b9b78b5846e3bcc1a Mon Sep 17 00:00:00 2001 From: firgde Date: Sat, 25 Jul 2026 02:03:00 +0200 Subject: [PATCH 30/50] =?UTF-8?q?=E6=94=BB=E6=92=83=E6=83=85=E5=A0=B1?= =?UTF-8?q?=E3=82=92=E7=A5=9E=E5=99=A8=E4=BE=9D=E5=AD=98=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../trigger/3.main.mcfunction | 7 +++++++ .../0374.charge_plasma/end/attack/1/m.mcfunction | 3 +++ .../0374.charge_plasma/end/attack/2.mcfunction | 16 +++++++++++++--- .../end/attack/3/damage.mcfunction | 8 ++++---- .../0374.charge_plasma/re-given/.mcfunction | 7 +++++++ .../0374.charge_plasma/register.mcfunction | 6 +++++- .../object/1168.plasma_spark/register.mcfunction | 4 ++-- .../object/1169.plasma_beam/register.mcfunction | 4 ++-- 8 files changed, 43 insertions(+), 12 deletions(-) diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/3.main.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/3.main.mcfunction index fde8e3c5ad9..5718efefe53 100644 --- a/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/3.main.mcfunction +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/3.main.mcfunction @@ -7,6 +7,13 @@ # 基本的な使用時の処理(MP消費や使用回数の処理など)を行う function asset:artifact/common/use/mainhand +# Fieldを設定 + data modify storage api: Argument.FieldOverride.DamagePool set value [30, 150, 300] + data modify storage api: Argument.FieldOverride.Damage set value 0 + data modify storage api: Argument.FieldOverride.AttackType set value "Physical" + data modify storage api: Argument.FieldOverride.ElementType set value "Thunder" + data modify storage api: Argument.FieldOverride.AdditionalMPHeal set from storage api: PersistentArgument.AdditionalMPHeal + # チャージ用Effectを付与 data modify storage api: Argument.ID set value 374 function api:entity/mob/effect/give diff --git a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/1/m.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/1/m.mcfunction index 8228e4e8f8e..cfccd0f243b 100644 --- a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/1/m.mcfunction +++ b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/1/m.mcfunction @@ -5,6 +5,9 @@ # @within function asset:effect/0374.charge_plasma/end/attack/1/rec data modify storage api: Argument.ID set value 1168 + data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.DamagePool[0] data modify storage api: Argument.FieldOverride.AdditionalMPHeal set from storage api: PersistentArgument.AdditionalMPHeal + 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 storage api: Argument.FieldOverride.UserID int 1 run scoreboard players get @s UserID $execute positioned ^$(OffsetX) ^$(OffsetY) ^$(OffsetZ) run function api:object/summon diff --git a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/2.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/2.mcfunction index bc71c1d34aa..0537cb2ae0b 100644 --- a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/2.mcfunction +++ b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/2.mcfunction @@ -4,19 +4,29 @@ # # @within function asset:effect/0374.charge_plasma/end/** +tellraw @a {"nbt":"this","storage":"asset:context"} # 3発撃つ data modify storage api: Argument.ID set value 1169 - data modify storage api: Argument.FieldOverride.AdditionalMPHeal set from storage api: PersistentArgument.AdditionalMPHeal + data modify storage api: Argument.FieldOverride.AdditionalMPHeal set from storage asset:context this.AdditionalMPHeal + data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.DamagePool[1] + 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 storage api: Argument.FieldOverride.UserID int 1 run scoreboard players get @s UserID execute rotated ~-30 ~ run function api:object/summon data modify storage api: Argument.ID set value 1169 - data modify storage api: Argument.FieldOverride.AdditionalMPHeal set from storage api: PersistentArgument.AdditionalMPHeal + data modify storage api: Argument.FieldOverride.AdditionalMPHeal set from storage asset:context this.AdditionalMPHeal + data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.DamagePool[1] + 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 storage api: Argument.FieldOverride.UserID int 1 run scoreboard players get @s UserID execute rotated ~ ~ run function api:object/summon data modify storage api: Argument.ID set value 1169 - data modify storage api: Argument.FieldOverride.AdditionalMPHeal set from storage api: PersistentArgument.AdditionalMPHeal + data modify storage api: Argument.FieldOverride.AdditionalMPHeal set from storage asset:context this.AdditionalMPHeal + data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.DamagePool[1] + 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 storage api: Argument.FieldOverride.UserID int 1 run scoreboard players get @s UserID execute rotated ~30 ~ run function api:object/summon diff --git a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/damage.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/damage.mcfunction index ffa13d36a97..9d516349270 100644 --- a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/damage.mcfunction +++ b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/damage.mcfunction @@ -9,10 +9,10 @@ execute positioned ~-0.5 ~-0.5 ~-0.5 run tag @e[type=#lib:living_without_player,tag=!Uninterferable,dx=0,limit=1] add HitTarget # ダメージ - data modify storage api: Argument.Damage set value 300 - data modify storage api: Argument.AttackType set value "Physical" - data modify storage api: Argument.ElementType set value "Thunder" - data modify storage api: Argument.AdditionalMPHeal set value 5 + data modify storage api: Argument.Damage set from storage asset:context this.DamagePool[2] + 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 + data modify storage api: Argument.AdditionalMPHeal set from storage asset:context this.AdditionalMPHeal function api:damage/modifier execute positioned ~-0.5 ~-0.5 ~-0.5 as @e[type=#lib:living_without_player,tag=!Uninterferable,dx=0,limit=1] run function api:damage/ function api:damage/reset diff --git a/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/.mcfunction index 6336bfabf99..8da6ab9d217 100644 --- a/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/.mcfunction +++ b/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/.mcfunction @@ -9,6 +9,13 @@ #declare score_holder $Charge #declare score_holder $MP +# Field引き継ぎ + execute if data storage asset:context PreviousField.Damage run data modify storage asset:context this.Damage set from storage asset:context PreviousField.Damage + execute if data storage asset:context PreviousField.DamagePool run data modify storage asset:context this.DamagePool set from storage asset:context PreviousField.DamagePool + execute if data storage asset:context PreviousField.AdditionalMPHeal run data modify storage asset:context this.AdditionalMPHeal set from storage asset:context PreviousField.AdditionalMPHeal + execute if data storage asset:context PreviousField.AttackType run data modify storage asset:context this.AttackType set from storage asset:context PreviousField.AttackType + execute if data storage asset:context PreviousField.ElementType run data modify storage asset:context this.ElementType set from storage asset:context PreviousField.ElementType + # チャージ時間を取得 execute store result score $Charge Temporary run data get storage asset:context PreviousField.Charge diff --git a/Asset/data/asset/functions/effect/0374.charge_plasma/register.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/register.mcfunction index d0f03343154..8e17ca8840a 100644 --- a/Asset/data/asset/functions/effect/0374.charge_plasma/register.mcfunction +++ b/Asset/data/asset/functions/effect/0374.charge_plasma/register.mcfunction @@ -36,4 +36,8 @@ # data modify storage asset:effect StackVisible set value # フィールド - # data modify storage asset:effect Field set value {} + data modify storage asset:effect Field.DamagePool set value [] + data modify storage asset:effect Field.Damage set value 0 + data modify storage asset:effect Field.AttackType set value "" + data modify storage asset:effect Field.ElementType set value "" + data modify storage asset:effect Field.AdditionalMPHeal set value 0 diff --git a/Asset/data/asset/functions/object/1168.plasma_spark/register.mcfunction b/Asset/data/asset/functions/object/1168.plasma_spark/register.mcfunction index 06914ef81c1..9b53061ca5e 100644 --- a/Asset/data/asset/functions/object/1168.plasma_spark/register.mcfunction +++ b/Asset/data/asset/functions/object/1168.plasma_spark/register.mcfunction @@ -17,6 +17,6 @@ # ID (int) data modify storage asset:object ID set value 1168 # フィールド(オプション) - data modify storage asset:object Field.Damage set value 30 - data modify storage asset:object Field.AdditionalMPHeal set value 5 + data modify storage asset:object Field.Damage set value 0 + data modify storage asset:object Field.AdditionalMPHeal set value 0 data modify storage asset:object Field.UserID set value -1 diff --git a/Asset/data/asset/functions/object/1169.plasma_beam/register.mcfunction b/Asset/data/asset/functions/object/1169.plasma_beam/register.mcfunction index a3c84e8fbd1..746c0b21620 100644 --- a/Asset/data/asset/functions/object/1169.plasma_beam/register.mcfunction +++ b/Asset/data/asset/functions/object/1169.plasma_beam/register.mcfunction @@ -17,8 +17,8 @@ # ID (int) data modify storage asset:object ID set value 1169 # フィールド(オプション) - data modify storage asset:object Field.Damage set value 150 - data modify storage asset:object Field.AdditionalMPHeal set value 5 + data modify storage asset:object Field.Damage set value 0 + data modify storage asset:object Field.AdditionalMPHeal set value 0 data modify storage asset:object Field.Speed set value 2 data modify storage asset:object Field.Range set value 50 data modify storage asset:object Field.UserID set value -1 From bd3724a5575df2e383c645837def79af0a5f7d81 Mon Sep 17 00:00:00 2001 From: firgde Date: Sat, 25 Jul 2026 02:11:45 +0200 Subject: [PATCH 31/50] =?UTF-8?q?=E3=83=84=E3=83=BC=E3=83=AB=E3=83=81?= =?UTF-8?q?=E3=83=83=E3=83=97=E3=82=92=E5=88=86=E3=81=8B=E3=82=8A=E3=82=84?= =?UTF-8?q?=E3=81=99=E3=81=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../artifact/1465.versatile_plasma/give/2.give.mcfunction | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/give/2.give.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/give/2.give.mcfunction index eaa8c6e842b..9a106821b1a 100644 --- a/Asset/data/asset/functions/artifact/1465.versatile_plasma/give/2.give.mcfunction +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/give/2.give.mcfunction @@ -15,7 +15,7 @@ # 神器の名前 (TextComponentString) data modify storage asset:artifact Name set value '{"text": "ヴァースティル・プラズマ", "color": "#D4FFBA"}' # 神器の説明文 (TextComponentString[]) - data modify storage asset:artifact Lore set value ['{"text": "チャージ段階に応じて異なる方法で攻撃する。"}', '{"text": "チャージを2層重ねると25、3層重ねると追加で35のMPを消費する。"}'] + data modify storage asset:artifact Lore set value ['{"text": "チャージ段階に応じて異なる方法で攻撃する。"}', '{"text": "1段:短射程の小さい弾を、幅広めにばらまく"}', '{"text": "2段:三方位に、ノックバックするビームを撃つ"}', '{"text": "3段:貫通ビームを撃つ"}', '{"text": "チャージを2層重ねると25、3層重ねると追加で35のMPを消費する。"}'] # 消費アイテム ({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 @@ -29,7 +29,7 @@ # 神器の発動条件 (TextComponentString) (オプション) # data modify storage asset:artifact Condition set value # 攻撃に関する情報 -Damage量 (literal[]/literal) Wikiを参照 (オプション) - data modify storage asset:artifact AttackInfo.Damage set value [30, 300] + data modify storage asset:artifact AttackInfo.Damage set value "30 / 150 / 300" # 攻撃に関する情報 -攻撃タイプ (string[]) Wikiを参照 (オプション) data modify storage asset:artifact AttackInfo.AttackType set value [Physical] # 攻撃に関する情報 -攻撃属性 (string[]) Wikiを参照 (オプション) From 5b97c8892b55079c2e562a10f6b572d0f33a79fe Mon Sep 17 00:00:00 2001 From: firgde Date: Sat, 25 Jul 2026 02:29:22 +0200 Subject: [PATCH 32/50] =?UTF-8?q?=E4=B8=8D=E8=A6=81=E3=81=AAField=E3=82=92?= =?UTF-8?q?=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../artifact/1465.versatile_plasma/trigger/3.main.mcfunction | 1 - .../functions/effect/0374.charge_plasma/re-given/.mcfunction | 1 - .../functions/effect/0374.charge_plasma/register.mcfunction | 1 - 3 files changed, 3 deletions(-) diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/3.main.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/3.main.mcfunction index 5718efefe53..77e1742a7b7 100644 --- a/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/3.main.mcfunction +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/3.main.mcfunction @@ -9,7 +9,6 @@ # Fieldを設定 data modify storage api: Argument.FieldOverride.DamagePool set value [30, 150, 300] - data modify storage api: Argument.FieldOverride.Damage set value 0 data modify storage api: Argument.FieldOverride.AttackType set value "Physical" data modify storage api: Argument.FieldOverride.ElementType set value "Thunder" data modify storage api: Argument.FieldOverride.AdditionalMPHeal set from storage api: PersistentArgument.AdditionalMPHeal diff --git a/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/.mcfunction index 8da6ab9d217..87600892dff 100644 --- a/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/.mcfunction +++ b/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/.mcfunction @@ -10,7 +10,6 @@ #declare score_holder $MP # Field引き継ぎ - execute if data storage asset:context PreviousField.Damage run data modify storage asset:context this.Damage set from storage asset:context PreviousField.Damage execute if data storage asset:context PreviousField.DamagePool run data modify storage asset:context this.DamagePool set from storage asset:context PreviousField.DamagePool execute if data storage asset:context PreviousField.AdditionalMPHeal run data modify storage asset:context this.AdditionalMPHeal set from storage asset:context PreviousField.AdditionalMPHeal execute if data storage asset:context PreviousField.AttackType run data modify storage asset:context this.AttackType set from storage asset:context PreviousField.AttackType diff --git a/Asset/data/asset/functions/effect/0374.charge_plasma/register.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/register.mcfunction index 8e17ca8840a..02acbe2bc66 100644 --- a/Asset/data/asset/functions/effect/0374.charge_plasma/register.mcfunction +++ b/Asset/data/asset/functions/effect/0374.charge_plasma/register.mcfunction @@ -37,7 +37,6 @@ # フィールド data modify storage asset:effect Field.DamagePool set value [] - data modify storage asset:effect Field.Damage set value 0 data modify storage asset:effect Field.AttackType set value "" data modify storage asset:effect Field.ElementType set value "" data modify storage asset:effect Field.AdditionalMPHeal set value 0 From a1ffded431646bec8eeea3adccaae9b28603390e Mon Sep 17 00:00:00 2001 From: firgde Date: Sun, 26 Jul 2026 01:46:02 +0200 Subject: [PATCH 33/50] =?UTF-8?q?=E9=87=8D=E8=A4=87=E3=81=97=E3=81=9F?= =?UTF-8?q?=E5=87=A6=E7=90=86=E3=82=92=E4=B8=80=E3=81=A4=E3=81=AEfunction?= =?UTF-8?q?=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../effect/0374.charge_plasma/end/.mcfunction | 2 +- .../end/attack/2.mcfunction | 34 ------------------- .../end/attack/2/.mcfunction | 15 ++++++++ .../end/attack/2/summon.mcfunction | 13 +++++++ 4 files changed, 29 insertions(+), 35 deletions(-) delete mode 100644 Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/2.mcfunction create mode 100644 Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/2/.mcfunction create mode 100644 Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/2/summon.mcfunction diff --git a/Asset/data/asset/functions/effect/0374.charge_plasma/end/.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/end/.mcfunction index 0fa5bc79f0e..80f07be180d 100644 --- a/Asset/data/asset/functions/effect/0374.charge_plasma/end/.mcfunction +++ b/Asset/data/asset/functions/effect/0374.charge_plasma/end/.mcfunction @@ -6,5 +6,5 @@ # スタック数に応じてそれぞれの攻撃処理を実行 execute if data storage asset:context {Stack:1} run function asset:effect/0374.charge_plasma/end/attack/1/ - execute if data storage asset:context {Stack:2} anchored eyes positioned ^ ^-0.25 ^ run function asset:effect/0374.charge_plasma/end/attack/2 + execute if data storage asset:context {Stack:2} anchored eyes positioned ^ ^-0.25 ^ run function asset:effect/0374.charge_plasma/end/attack/2/ execute if data storage asset:context {Stack:3} run function asset:effect/0374.charge_plasma/end/attack/3/ diff --git a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/2.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/2.mcfunction deleted file mode 100644 index 0537cb2ae0b..00000000000 --- a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/2.mcfunction +++ /dev/null @@ -1,34 +0,0 @@ -#> asset:effect/0374.charge_plasma/end/attack/2 -# -# プラズマ攻撃2: 拡散レーザー -# -# @within function asset:effect/0374.charge_plasma/end/** - -tellraw @a {"nbt":"this","storage":"asset:context"} -# 3発撃つ - data modify storage api: Argument.ID set value 1169 - data modify storage api: Argument.FieldOverride.AdditionalMPHeal set from storage asset:context this.AdditionalMPHeal - data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.DamagePool[1] - 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 storage api: Argument.FieldOverride.UserID int 1 run scoreboard players get @s UserID - execute rotated ~-30 ~ run function api:object/summon - - data modify storage api: Argument.ID set value 1169 - data modify storage api: Argument.FieldOverride.AdditionalMPHeal set from storage asset:context this.AdditionalMPHeal - data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.DamagePool[1] - 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 storage api: Argument.FieldOverride.UserID int 1 run scoreboard players get @s UserID - execute rotated ~ ~ run function api:object/summon - - data modify storage api: Argument.ID set value 1169 - data modify storage api: Argument.FieldOverride.AdditionalMPHeal set from storage asset:context this.AdditionalMPHeal - data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.DamagePool[1] - 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 storage api: Argument.FieldOverride.UserID int 1 run scoreboard players get @s UserID - execute rotated ~30 ~ run function api:object/summon - -# 演出 - playsound block.respawn_anchor.deplete player @a ~ ~ ~ 2 2 diff --git a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/2/.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/2/.mcfunction new file mode 100644 index 00000000000..cd0ce9fa362 --- /dev/null +++ b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/2/.mcfunction @@ -0,0 +1,15 @@ +#> asset:effect/0374.charge_plasma/end/attack/2 +# +# プラズマ攻撃2: 拡散レーザー +# +# @within function asset:effect/0374.charge_plasma/end/** + +# 3発撃つ + execute rotated ~-30 ~ run function asset:effect/0374.charge_plasma/end/attack/2/summon + + execute rotated ~ ~ run function asset:effect/0374.charge_plasma/end/attack/2/summon + + execute rotated ~30 ~ run function asset:effect/0374.charge_plasma/end/attack/2/summon + +# 演出 + playsound block.respawn_anchor.deplete player @a ~ ~ ~ 2 2 diff --git a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/2/summon.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/2/summon.mcfunction new file mode 100644 index 00000000000..c0caf21fa0a --- /dev/null +++ b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/2/summon.mcfunction @@ -0,0 +1,13 @@ +#> asset:effect/0374.charge_plasma/end/attack/2 +# +# 攻撃2の共通処理 +# +# @within function asset:effect/0374.charge_plasma/end/** + + data modify storage api: Argument.ID set value 1169 + data modify storage api: Argument.FieldOverride.AdditionalMPHeal set from storage asset:context this.AdditionalMPHeal + data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.DamagePool[1] + 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 storage api: Argument.FieldOverride.UserID int 1 run scoreboard players get @s UserID + function api:object/summon From 70da3235dd5e26f93b88fecbb4f1f2fb69efd2d1 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Mon, 3 Aug 2026 18:44:14 +0200 Subject: [PATCH 34/50] =?UTF-8?q?=E3=82=AB=E3=83=A9=E3=83=BC=E3=82=B7?= =?UTF-8?q?=E3=83=A3=E3=83=BC=E3=83=89=E3=81=AE=E5=8A=A0=E5=B7=A5=E7=B5=90?= =?UTF-8?q?=E6=9E=9C=E3=81=AB=E7=99=BB=E9=8C=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../artifact/1465.versatile_plasma/register.mcfunction | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/register.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/register.mcfunction index e26bb3ec038..8feac74d304 100644 --- a/Asset/data/asset/functions/artifact/1465.versatile_plasma/register.mcfunction +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/register.mcfunction @@ -4,4 +4,5 @@ # # @within tag/function asset:artifact/register -data modify storage asset:artifact RarityRegistry[3] append value [1465] \ No newline at end of file +data modify storage asset:artifact RarityRegistry[3] append value [1465] +data modify storage asset:artifact RarityRegistryWithColor.Red[3] append value [1465] From 56525c6ecda210763fd3800aa84cd9c167deab83 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Thu, 8 Oct 2026 20:56:07 +0200 Subject: [PATCH 35/50] =?UTF-8?q?=E3=83=80=E3=83=A1=E3=83=BC=E3=82=B8?= =?UTF-8?q?=E5=87=A6=E7=90=86=E3=82=92=E5=86=8D=E5=B8=B0=E5=BE=8C=E3=81=AB?= =?UTF-8?q?=E4=B8=80=E6=8B=AC=E3=81=A7=E5=AE=9F=E8=A1=8C=E3=81=99=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 --- .../0374.charge_plasma/end/attack/3/.mcfunction | 2 +- .../0374.charge_plasma/end/attack/3/damage.mcfunction | 11 +++++------ .../0374.charge_plasma/end/attack/3/rec.mcfunction | 2 +- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/.mcfunction index 1117bc57618..4893684e970 100644 --- a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/.mcfunction +++ b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/.mcfunction @@ -12,7 +12,7 @@ # 再帰処理 execute anchored eyes positioned ^ ^ ^ run function asset:effect/0374.charge_plasma/end/attack/3/rec tag @s remove Hit - tag @e[type=#lib:living_without_player,tag=HitTarget,distance=..20] remove HitTarget + function asset:effect/0374.charge_plasma/end/attack/3/damage # 演出 playsound ogg:block.vault.open_shutter player @a ~ ~ ~ 2 2 diff --git a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/damage.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/damage.mcfunction index 9d516349270..ce5a5ec4dd9 100644 --- a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/damage.mcfunction +++ b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/damage.mcfunction @@ -2,11 +2,7 @@ # # # -# @within function asset:effect/0374.charge_plasma/end/attack/3/rec - - -# ヒット済みタグ - execute positioned ~-0.5 ~-0.5 ~-0.5 run tag @e[type=#lib:living_without_player,tag=!Uninterferable,dx=0,limit=1] add HitTarget +# @within function asset:effect/0374.charge_plasma/end/attack/3/ # ダメージ data modify storage api: Argument.Damage set from storage asset:context this.DamagePool[2] @@ -14,5 +10,8 @@ data modify storage api: Argument.ElementType set from storage asset:context this.ElementType data modify storage api: Argument.AdditionalMPHeal set from storage asset:context this.AdditionalMPHeal function api:damage/modifier - execute positioned ~-0.5 ~-0.5 ~-0.5 as @e[type=#lib:living_without_player,tag=!Uninterferable,dx=0,limit=1] run function api:damage/ + execute as @e[type=#lib:living_without_player,tag=HitTarget,distance=..20] run function api:damage/ function api:damage/reset + +# HitTargetタグ削除 + tag @s remove HitTarget diff --git a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/rec.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/rec.mcfunction index 5413aca2f6e..764a8523758 100644 --- a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/rec.mcfunction +++ b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/rec.mcfunction @@ -8,7 +8,7 @@ execute unless block ^ ^ ^0.5 #lib:no_collision/ run tag @s add Hit # 命中 - execute positioned ~-0.5 ~-0.5 ~-0.5 if entity @e[type=#lib:living_without_player,tag=!HitTarget,tag=!Uninterferable,dx=0,limit=1] run function asset:effect/0374.charge_plasma/end/attack/3/damage + execute positioned ~-0.5 ~-0.5 ~-0.5 run tag @e[type=#lib:living_without_player,tag=!HitTarget,tag=!Uninterferable,dx=0,limit=1] add HitTarget # 演出 particle dust 0.8 1.0 0.5 1.0 ~ ~ ~ 0.0 0.0 0.0 1 1 From c51b35976d65324e51c4227ff7315854dbd382aa Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Thu, 8 Oct 2026 20:58:34 +0200 Subject: [PATCH 36/50] =?UTF-8?q?Field=E3=81=AE=E8=A8=AD=E5=AE=9A=E5=BF=98?= =?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/effect/0374.charge_plasma/end/attack/1/.mcfunction | 1 + 1 file changed, 1 insertion(+) diff --git a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/1/.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/1/.mcfunction index 7c76827914e..268a9b5b04d 100644 --- a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/1/.mcfunction +++ b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/1/.mcfunction @@ -13,6 +13,7 @@ # 向いている方向に確定で一個だす data modify storage api: Argument.ID set value 1168 + data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.DamagePool[0] data modify storage api: Argument.FieldOverride.AdditionalMPHeal set from storage api: PersistentArgument.AdditionalMPHeal execute store result storage api: Argument.FieldOverride.UserID int 1 run scoreboard players get @s UserID execute anchored eyes positioned ^ ^ ^2.5 run function api:object/summon From 82fe94f4197e2bd763ac2019010b8272abfd651f Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Thu, 8 Oct 2026 21:05:29 +0200 Subject: [PATCH 37/50] =?UTF-8?q?MP=E5=9B=9E=E5=BE=A9=E9=87=8F=E3=81=AE?= =?UTF-8?q?=E6=8C=87=E5=AE=9A=E3=81=ABasset:context=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 --- .../effect/0374.charge_plasma/end/attack/1/.mcfunction | 2 +- .../effect/0374.charge_plasma/end/attack/1/m.mcfunction | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/1/.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/1/.mcfunction index 268a9b5b04d..3c04994d35f 100644 --- a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/1/.mcfunction +++ b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/1/.mcfunction @@ -14,7 +14,7 @@ # 向いている方向に確定で一個だす data modify storage api: Argument.ID set value 1168 data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.DamagePool[0] - data modify storage api: Argument.FieldOverride.AdditionalMPHeal set from storage api: PersistentArgument.AdditionalMPHeal + data modify storage api: Argument.FieldOverride.AdditionalMPHeal set from storage asset:context this.AdditionalMPHeal execute store result storage api: Argument.FieldOverride.UserID int 1 run scoreboard players get @s UserID execute anchored eyes positioned ^ ^ ^2.5 run function api:object/summon diff --git a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/1/m.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/1/m.mcfunction index cfccd0f243b..fdf04c02958 100644 --- a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/1/m.mcfunction +++ b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/1/m.mcfunction @@ -6,7 +6,7 @@ data modify storage api: Argument.ID set value 1168 data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.DamagePool[0] - data modify storage api: Argument.FieldOverride.AdditionalMPHeal set from storage api: PersistentArgument.AdditionalMPHeal + data modify storage api: Argument.FieldOverride.AdditionalMPHeal set from storage asset:context this.AdditionalMPHeal 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 storage api: Argument.FieldOverride.UserID int 1 run scoreboard players get @s UserID From c89910b21f83fce521307cd6dc0ccc1193bb69d0 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Thu, 8 Oct 2026 21:32:26 +0200 Subject: [PATCH 38/50] =?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 --- .../1465.versatile_plasma/trigger/3.main.mcfunction | 1 + .../effect/0374.charge_plasma/re-given/.mcfunction | 11 +++-------- .../0374.charge_plasma/re-given/charge/2.mcfunction | 4 ++-- .../0374.charge_plasma/re-given/charge/3.mcfunction | 4 ++-- .../re-given/charge/check/2.mcfunction | 10 ++++++++++ .../re-given/charge/check/3.mcfunction | 10 ++++++++++ 6 files changed, 28 insertions(+), 12 deletions(-) create mode 100644 Asset/data/asset/functions/effect/0374.charge_plasma/re-given/charge/check/2.mcfunction create mode 100644 Asset/data/asset/functions/effect/0374.charge_plasma/re-given/charge/check/3.mcfunction diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/3.main.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/3.main.mcfunction index 77e1742a7b7..d04744f6bcc 100644 --- a/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/3.main.mcfunction +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/3.main.mcfunction @@ -9,6 +9,7 @@ # Fieldを設定 data modify storage api: Argument.FieldOverride.DamagePool set value [30, 150, 300] + data modify storage api: Argument.FieldOverride.MPThreshold set value [25, 35] data modify storage api: Argument.FieldOverride.AttackType set value "Physical" data modify storage api: Argument.FieldOverride.ElementType set value "Thunder" data modify storage api: Argument.FieldOverride.AdditionalMPHeal set from storage api: PersistentArgument.AdditionalMPHeal diff --git a/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/.mcfunction index 87600892dff..9f06e6fa363 100644 --- a/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/.mcfunction +++ b/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/.mcfunction @@ -7,10 +7,10 @@ #> Private # @private #declare score_holder $Charge - #declare score_holder $MP # Field引き継ぎ execute if data storage asset:context PreviousField.DamagePool run data modify storage asset:context this.DamagePool set from storage asset:context PreviousField.DamagePool + execute if data storage asset:context PreviousField.MPThreshold run data modify storage asset:context this.MPThreshold set from storage asset:context PreviousField.MPThreshold execute if data storage asset:context PreviousField.AdditionalMPHeal run data modify storage asset:context this.AdditionalMPHeal set from storage asset:context PreviousField.AdditionalMPHeal execute if data storage asset:context PreviousField.AttackType run data modify storage asset:context this.AttackType set from storage asset:context PreviousField.AttackType execute if data storage asset:context PreviousField.ElementType run data modify storage asset:context this.ElementType set from storage asset:context PreviousField.ElementType @@ -18,17 +18,12 @@ # チャージ時間を取得 execute store result score $Charge Temporary run data get storage asset:context PreviousField.Charge -# MPを取得 - function api:mp/get_current - execute store result score $MP Temporary run data get storage api: Return.CurrentMP - # Field.Chargeを+1 execute store result storage asset:context this.Charge int 1 run scoreboard players add $Charge Temporary 1 # 時間に応じてバフをスタック - execute if data storage asset:context {Stack:1} if score $Charge Temporary matches 25.. if score $MP Temporary matches 25.. run function asset:effect/0374.charge_plasma/re-given/charge/2 - execute if data storage asset:context {Stack:2} if score $Charge Temporary matches 50.. if score $MP Temporary matches 35.. run function asset:effect/0374.charge_plasma/re-given/charge/3 + execute if data storage asset:context {Stack:1} if score $Charge Temporary matches 25.. run function asset:effect/0374.charge_plasma/re-given/charge/check/2 + execute if data storage asset:context {Stack:2} if score $Charge Temporary matches 50.. run function asset:effect/0374.charge_plasma/re-given/charge/check/3 # リセット scoreboard players reset $Charge - scoreboard players reset $MP diff --git a/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/charge/2.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/charge/2.mcfunction index 3dd19e43d46..71466c63db0 100644 --- a/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/charge/2.mcfunction +++ b/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/charge/2.mcfunction @@ -2,13 +2,13 @@ # # # -# @within function asset:effect/0374.charge_plasma/re-given/ +# @within function asset:effect/0374.charge_plasma/re-given/** # スタック数を増やす data modify storage asset:context Stack set value 2 # MP消費 - data modify storage api: Argument.Fluctuation set value -25 + execute store result storage api: Argument.Fluctuation int -1 run data get storage asset:context this.MPThreshold[0] data modify storage api: Argument.DisableLog set value 1b function api:mp/fluctuation diff --git a/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/charge/3.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/charge/3.mcfunction index e1ef46893f4..9c59bb5898f 100644 --- a/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/charge/3.mcfunction +++ b/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/charge/3.mcfunction @@ -2,13 +2,13 @@ # # # -# @within function asset:effect/0374.charge_plasma/re-given/ +# @within function asset:effect/0374.charge_plasma/re-given/** # スタック数を増やす data modify storage asset:context Stack set value 3 # MP消費 - data modify storage api: Argument.Fluctuation set value -35 + execute store result storage api: Argument.Fluctuation int -1 run data get storage asset:context this.MPThreshold[1] data modify storage api: Argument.DisableLog set value 1b function api:mp/fluctuation diff --git a/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/charge/check/2.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/charge/check/2.mcfunction new file mode 100644 index 00000000000..084b1f4b581 --- /dev/null +++ b/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/charge/check/2.mcfunction @@ -0,0 +1,10 @@ +#> asset:effect/0374.charge_plasma/re-given/charge/check/2 +# +# +# +# @within function asset:effect/0374.charge_plasma/re-given/ + +# MPが一定値以上なら攻撃 + data modify storage api: Argument.Threshold set from storage asset:context this.MPThreshold[0] + function api:mp/check + execute if data storage api: Return{IsThresholdOrMore:true} run function asset:effect/0374.charge_plasma/re-given/charge/2 diff --git a/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/charge/check/3.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/charge/check/3.mcfunction new file mode 100644 index 00000000000..8638244a4a0 --- /dev/null +++ b/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/charge/check/3.mcfunction @@ -0,0 +1,10 @@ +#> asset:effect/0374.charge_plasma/re-given/charge/check/3 +# +# +# +# @within function asset:effect/0374.charge_plasma/re-given/ + +# MPが一定値以上なら攻撃 + data modify storage api: Argument.Threshold set from storage asset:context this.MPThreshold[1] + function api:mp/check + execute if data storage api: Return{IsThresholdOrMore:true} run function asset:effect/0374.charge_plasma/re-given/charge/3 From 9c56a6b8b4347859eca57f44be4287ed590c8ff7 Mon Sep 17 00:00:00 2001 From: RandomFridge <115796255+firgde@users.noreply.github.com> Date: Thu, 8 Oct 2026 21:33:18 +0200 Subject: [PATCH 39/50] =?UTF-8?q?=E5=88=A4=E5=AE=9A=E3=82=92=E7=B6=BA?= =?UTF-8?q?=E9=BA=97=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: 瑠璃 <87566955+Lapis-LJA@users.noreply.github.com> --- .../functions/object/1168.plasma_spark/tick/explode.mcfunction | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction b/Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction index fb86fed7b84..c93db9b22e9 100644 --- a/Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction +++ b/Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction @@ -15,7 +15,7 @@ data modify storage api: Argument.AdditionalMPHeal set from storage asset:context this.AdditionalMPHeal execute store result score $UserID Temporary run data get storage asset:context this.UserID execute as @a if score @s UserID = $UserID Temporary run function api:damage/modifier - execute as @e[type=#lib:living_without_player,tag=Enemy,tag=!Uninterferable,dx=0] positioned ~-0.75 ~-0.75 ~-0.75 if entity @s[dx=0] run function api:damage/ +execute positioned ~-0.125 ~-0.125 ~-0.125 as @e[type=#lib:living_without_player,tag=Enemy,tag=!Uninterferable,dx=0] positioned ~-0.75 ~-0.75 ~-0.75 if entity @s[dx=0] run function api:damage/ function api:damage/reset # 演出 From 24beb56f21c4d3345012e6068cd41dbb1be2de46 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Mon, 19 Oct 2026 13:59:07 +0200 Subject: [PATCH 40/50] Merge branch 'master' into dev/firgde_artifact1465 --- .../give/1.trigger.mcfunction | 5 + .../give/2.give.mcfunction | 24 + .../register.mcfunction | 7 + .../trigger/1.trigger.mcfunction | 5 + .../trigger/2.check_condition.mcfunction | 24 + .../trigger/3.main.mcfunction | 13 + .../trigger/dis_equip/.mcfunction | 7 + .../trigger/dis_equip/main.mcfunction | 10 + .../0399.dual_rhythm_guard/_/end.mcfunction | 7 + .../0399.dual_rhythm_guard/_/given.mcfunction | 7 + .../_/re-given.mcfunction | 7 + .../_/register.mcfunction | 5 + .../_/remove.mcfunction | 7 + .../0399.dual_rhythm_guard/_/tick.mcfunction | 5 + .../_index.d.mcfunction | 7 + .../0399.dual_rhythm_guard/end/.mcfunction | 8 + .../0399.dual_rhythm_guard/given/.mcfunction | 14 + .../modifier/remove.mcfunction | 9 + .../play_effect.mcfunction | 10 + .../re-given/.mcfunction | 8 + .../register.mcfunction | 22 + .../0399.dual_rhythm_guard/remove/.mcfunction | 8 + .../0399.dual_rhythm_guard/tick/.mcfunction | 9 + .../tick/contact.mcfunction | 13 + .../tick/transfer.mcfunction | 26 + .../0400.dual_rhythm_boost/_/end.mcfunction | 7 + .../0400.dual_rhythm_boost/_/given.mcfunction | 7 + .../_/re-given.mcfunction | 7 + .../_/register.mcfunction | 5 + .../_/remove.mcfunction | 7 + .../0400.dual_rhythm_boost/end/.mcfunction | 8 + .../0400.dual_rhythm_boost/given/.mcfunction | 14 + .../modifier/remove.mcfunction | 9 + .../play_effect.mcfunction | 10 + .../re-given/.mcfunction | 8 + .../register.mcfunction | 20 + .../0400.dual_rhythm_boost/remove/.mcfunction | 8 + .../_/register.mcfunction | 5 + .../register.mcfunction | 24 + .../tags/functions/artifact/dis_equip.json | 1 + .../asset/tags/functions/artifact/give.json | 1 + .../tags/functions/artifact/register.json | 1 + .../asset/tags/functions/artifact/tick.json | 1 + .../data/asset/tags/functions/effect/end.json | 2 + .../asset/tags/functions/effect/given.json | 4 +- .../asset/tags/functions/effect/re-given.json | 2 + .../asset/tags/functions/effect/register.json | 3 + .../asset/tags/functions/effect/remove.json | 2 + .../asset/tags/functions/effect/tick.json | 3 +- docs/knowledge/artifact.md | 22 +- docs/knowledge/effect.md | 43 +- docs/knowledge/runtime-and-tools.md | 4 + docs/knowledge/sources.md | 10 +- docs/verification/dual-rhythm.md | 109 ++ tests/scenarios/dual-rhythm.json | 1034 +++++++++++++++++ 55 files changed, 1637 insertions(+), 11 deletions(-) create mode 100644 Asset/data/asset/functions/artifact/1412.seal_of_dual_rhythm/give/1.trigger.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1412.seal_of_dual_rhythm/give/2.give.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1412.seal_of_dual_rhythm/register.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1412.seal_of_dual_rhythm/trigger/1.trigger.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1412.seal_of_dual_rhythm/trigger/2.check_condition.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1412.seal_of_dual_rhythm/trigger/3.main.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1412.seal_of_dual_rhythm/trigger/dis_equip/.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1412.seal_of_dual_rhythm/trigger/dis_equip/main.mcfunction create mode 100644 Asset/data/asset/functions/effect/0399.dual_rhythm_guard/_/end.mcfunction create mode 100644 Asset/data/asset/functions/effect/0399.dual_rhythm_guard/_/given.mcfunction create mode 100644 Asset/data/asset/functions/effect/0399.dual_rhythm_guard/_/re-given.mcfunction create mode 100644 Asset/data/asset/functions/effect/0399.dual_rhythm_guard/_/register.mcfunction create mode 100644 Asset/data/asset/functions/effect/0399.dual_rhythm_guard/_/remove.mcfunction create mode 100644 Asset/data/asset/functions/effect/0399.dual_rhythm_guard/_/tick.mcfunction create mode 100644 Asset/data/asset/functions/effect/0399.dual_rhythm_guard/_index.d.mcfunction create mode 100644 Asset/data/asset/functions/effect/0399.dual_rhythm_guard/end/.mcfunction create mode 100644 Asset/data/asset/functions/effect/0399.dual_rhythm_guard/given/.mcfunction create mode 100644 Asset/data/asset/functions/effect/0399.dual_rhythm_guard/modifier/remove.mcfunction create mode 100644 Asset/data/asset/functions/effect/0399.dual_rhythm_guard/play_effect.mcfunction create mode 100644 Asset/data/asset/functions/effect/0399.dual_rhythm_guard/re-given/.mcfunction create mode 100644 Asset/data/asset/functions/effect/0399.dual_rhythm_guard/register.mcfunction create mode 100644 Asset/data/asset/functions/effect/0399.dual_rhythm_guard/remove/.mcfunction create mode 100644 Asset/data/asset/functions/effect/0399.dual_rhythm_guard/tick/.mcfunction create mode 100644 Asset/data/asset/functions/effect/0399.dual_rhythm_guard/tick/contact.mcfunction create mode 100644 Asset/data/asset/functions/effect/0399.dual_rhythm_guard/tick/transfer.mcfunction create mode 100644 Asset/data/asset/functions/effect/0400.dual_rhythm_boost/_/end.mcfunction create mode 100644 Asset/data/asset/functions/effect/0400.dual_rhythm_boost/_/given.mcfunction create mode 100644 Asset/data/asset/functions/effect/0400.dual_rhythm_boost/_/re-given.mcfunction create mode 100644 Asset/data/asset/functions/effect/0400.dual_rhythm_boost/_/register.mcfunction create mode 100644 Asset/data/asset/functions/effect/0400.dual_rhythm_boost/_/remove.mcfunction create mode 100644 Asset/data/asset/functions/effect/0400.dual_rhythm_boost/end/.mcfunction create mode 100644 Asset/data/asset/functions/effect/0400.dual_rhythm_boost/given/.mcfunction create mode 100644 Asset/data/asset/functions/effect/0400.dual_rhythm_boost/modifier/remove.mcfunction create mode 100644 Asset/data/asset/functions/effect/0400.dual_rhythm_boost/play_effect.mcfunction create mode 100644 Asset/data/asset/functions/effect/0400.dual_rhythm_boost/re-given/.mcfunction create mode 100644 Asset/data/asset/functions/effect/0400.dual_rhythm_boost/register.mcfunction create mode 100644 Asset/data/asset/functions/effect/0400.dual_rhythm_boost/remove/.mcfunction create mode 100644 Asset/data/asset/functions/effect/0401.dual_rhythm_cooldown/_/register.mcfunction create mode 100644 Asset/data/asset/functions/effect/0401.dual_rhythm_cooldown/register.mcfunction create mode 100644 docs/verification/dual-rhythm.md create mode 100644 tests/scenarios/dual-rhythm.json diff --git a/Asset/data/asset/functions/artifact/1412.seal_of_dual_rhythm/give/1.trigger.mcfunction b/Asset/data/asset/functions/artifact/1412.seal_of_dual_rhythm/give/1.trigger.mcfunction new file mode 100644 index 00000000000..b7385deb52b --- /dev/null +++ b/Asset/data/asset/functions/artifact/1412.seal_of_dual_rhythm/give/1.trigger.mcfunction @@ -0,0 +1,5 @@ +#> asset:artifact/1412.seal_of_dual_rhythm/give/1.trigger +# +# @within tag/function asset:artifact/give + +execute if data storage asset:context {id:1412} run function asset:artifact/1412.seal_of_dual_rhythm/give/2.give diff --git a/Asset/data/asset/functions/artifact/1412.seal_of_dual_rhythm/give/2.give.mcfunction b/Asset/data/asset/functions/artifact/1412.seal_of_dual_rhythm/give/2.give.mcfunction new file mode 100644 index 00000000000..f5ab27dc181 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1412.seal_of_dual_rhythm/give/2.give.mcfunction @@ -0,0 +1,24 @@ +#> asset:artifact/1412.seal_of_dual_rhythm/give/2.give +# +# @user +# @within function asset:artifact/1412.seal_of_dual_rhythm/give/1.trigger + +# 神器のID + data modify storage asset:artifact ID set value 1412 +# ベースアイテム(テクスチャ設定前の仮アイテム) + data modify storage asset:artifact Item set value "minecraft:stick" +# 神器の名前 + data modify storage asset:artifact Name set value '{"text":"双律の印章","color":"gold"}' +# 神器の説明文 + data modify storage asset:artifact Lore set value ['{"text":"自身の被ダメージを常時10%軽減する。","color":"white"}','{"text":"他のプレイヤーが触れた時、軽減効果が削除され、","color":"white"}','{"text":"該当のプレイヤーの与ダメージが15秒間20%上昇する。","color":"white"}','{"text":"この効果が発動してから60秒経過後、軽減効果が戻る。","color":"white"}'] +# 発動するスロット + data modify storage asset:artifact Slot set value "offhand" +# 発動条件の表示 + data modify storage asset:artifact Trigger set value "passive" +# 消費MP + data modify storage asset:artifact MPCost set value 0 +# 使用可能な信仰 + data modify storage asset:artifact CanUsedGod set value "ALL" + +# 神器を作成して渡す + function asset:artifact/common/give diff --git a/Asset/data/asset/functions/artifact/1412.seal_of_dual_rhythm/register.mcfunction b/Asset/data/asset/functions/artifact/1412.seal_of_dual_rhythm/register.mcfunction new file mode 100644 index 00000000000..a1a13be44d2 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1412.seal_of_dual_rhythm/register.mcfunction @@ -0,0 +1,7 @@ +#> asset:artifact/1412.seal_of_dual_rhythm/register +# +# レベル4シャードの神器プール +# +# @within tag/function asset:artifact/register + +data modify storage asset:artifact RarityRegistry[4] append value [1412] diff --git a/Asset/data/asset/functions/artifact/1412.seal_of_dual_rhythm/trigger/1.trigger.mcfunction b/Asset/data/asset/functions/artifact/1412.seal_of_dual_rhythm/trigger/1.trigger.mcfunction new file mode 100644 index 00000000000..82042adb7d8 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1412.seal_of_dual_rhythm/trigger/1.trigger.mcfunction @@ -0,0 +1,5 @@ +#> asset:artifact/1412.seal_of_dual_rhythm/trigger/1.trigger +# +# @within tag/function asset:artifact/tick + +execute if data storage asset:context id{offhand:1412} run function asset:artifact/1412.seal_of_dual_rhythm/trigger/2.check_condition diff --git a/Asset/data/asset/functions/artifact/1412.seal_of_dual_rhythm/trigger/2.check_condition.mcfunction b/Asset/data/asset/functions/artifact/1412.seal_of_dual_rhythm/trigger/2.check_condition.mcfunction new file mode 100644 index 00000000000..0e732684def --- /dev/null +++ b/Asset/data/asset/functions/artifact/1412.seal_of_dual_rhythm/trigger/2.check_condition.mcfunction @@ -0,0 +1,24 @@ +#> asset:artifact/1412.seal_of_dual_rhythm/trigger/2.check_condition +# +# @within function asset:artifact/1412.seal_of_dual_rhythm/trigger/1.trigger + +# 神器の基本的な発動条件を確認する + function asset:artifact/common/check_condition/offhand + +# 死亡中・スペクテイター中は発動しない + execute if entity @s[tag=Death] run tag @s remove CanUsed + execute if entity @s[gamemode=spectator] run tag @s remove CanUsed + +# クールダウン中は軽減バフを再付与しない +# 装備を外してもEffectは残り、本体のEffect tickで残り時間が減る + data modify storage api: Argument.ID set value 401 + function api:entity/mob/effect/get/from_id + execute if data storage api: Return.Effect run tag @s remove CanUsed + +# 軽減バフが存在する間は付与し直さない + data modify storage api: Argument.ID set value 399 + function api:entity/mob/effect/get/from_id + execute if data storage api: Return.Effect run tag @s remove CanUsed + +# 発動条件を満たしていれば効果を処理する + execute if entity @s[tag=CanUsed] run function asset:artifact/1412.seal_of_dual_rhythm/trigger/3.main diff --git a/Asset/data/asset/functions/artifact/1412.seal_of_dual_rhythm/trigger/3.main.mcfunction b/Asset/data/asset/functions/artifact/1412.seal_of_dual_rhythm/trigger/3.main.mcfunction new file mode 100644 index 00000000000..74a03a91c79 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1412.seal_of_dual_rhythm/trigger/3.main.mcfunction @@ -0,0 +1,13 @@ +#> asset:artifact/1412.seal_of_dual_rhythm/trigger/3.main +# +# @within function asset:artifact/1412.seal_of_dual_rhythm/trigger/2.check_condition + +# 軽減バフの付与時に基本的な使用処理を行う + function asset:artifact/common/use/offhand + +# 軽減バフを付与する + data modify storage api: Argument.ID set value 399 + data modify storage api: Argument.Duration set value 2147483647 + data modify storage api: Argument.FieldOverride set value {DefenseAmount:0.1d,AttackAmount:0.2d,AttackDuration:300,Cooldown:1200} + function api:entity/mob/effect/give + function api:entity/mob/effect/reset diff --git a/Asset/data/asset/functions/artifact/1412.seal_of_dual_rhythm/trigger/dis_equip/.mcfunction b/Asset/data/asset/functions/artifact/1412.seal_of_dual_rhythm/trigger/dis_equip/.mcfunction new file mode 100644 index 00000000000..66bb2b6939e --- /dev/null +++ b/Asset/data/asset/functions/artifact/1412.seal_of_dual_rhythm/trigger/dis_equip/.mcfunction @@ -0,0 +1,7 @@ +#> asset:artifact/1412.seal_of_dual_rhythm/trigger/dis_equip/ +# +# 装備を外した時に外した部位にのみのidが入った状態でトリガーされる +# +# @within tag/function asset:artifact/dis_equip + +execute if data storage asset:context id{offhand:1412} run function asset:artifact/1412.seal_of_dual_rhythm/trigger/dis_equip/main diff --git a/Asset/data/asset/functions/artifact/1412.seal_of_dual_rhythm/trigger/dis_equip/main.mcfunction b/Asset/data/asset/functions/artifact/1412.seal_of_dual_rhythm/trigger/dis_equip/main.mcfunction new file mode 100644 index 00000000000..ce611823318 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1412.seal_of_dual_rhythm/trigger/dis_equip/main.mcfunction @@ -0,0 +1,10 @@ +#> asset:artifact/1412.seal_of_dual_rhythm/trigger/dis_equip/main +# +# 装備を外した時のメイン処理 +# +# @within function asset:artifact/1412.seal_of_dual_rhythm/trigger/dis_equip/ + +# 補正の解除はEffect自身のremoveイベントに委ねる + data modify storage api: Argument.ID set value 399 + function api:entity/mob/effect/remove/from_id + function api:entity/mob/effect/reset diff --git a/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/_/end.mcfunction b/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/_/end.mcfunction new file mode 100644 index 00000000000..500bdc7b0b0 --- /dev/null +++ b/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/_/end.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0399.dual_rhythm_guard/_/end +# +# Effectの効果の終了時に実行されるfunction +# +# @within tag/function asset:effect/end + +execute if data storage asset:context {id:399} run function asset:effect/0399.dual_rhythm_guard/end/ diff --git a/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/_/given.mcfunction b/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/_/given.mcfunction new file mode 100644 index 00000000000..fc39133b5db --- /dev/null +++ b/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/_/given.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0399.dual_rhythm_guard/_/given +# +# Effectが付与された時に実行されるfunction +# +# @within tag/function asset:effect/given + +execute if data storage asset:context {id:399} run function asset:effect/0399.dual_rhythm_guard/given/ diff --git a/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/_/re-given.mcfunction b/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/_/re-given.mcfunction new file mode 100644 index 00000000000..20f01f3b9e9 --- /dev/null +++ b/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/_/re-given.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0399.dual_rhythm_guard/_/re-given +# +# Effectが上書きされた時に実行されるfunction +# +# @within tag/function asset:effect/re-given + +execute if data storage asset:context {id:399} run function asset:effect/0399.dual_rhythm_guard/re-given/ diff --git a/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/_/register.mcfunction b/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/_/register.mcfunction new file mode 100644 index 00000000000..93f39f54a17 --- /dev/null +++ b/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/_/register.mcfunction @@ -0,0 +1,5 @@ +#> asset:effect/0399.dual_rhythm_guard/_/register +# +# @within tag/function asset:effect/register + +execute if data storage asset:context {id:399} run function asset:effect/0399.dual_rhythm_guard/register diff --git a/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/_/remove.mcfunction b/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/_/remove.mcfunction new file mode 100644 index 00000000000..b420b7353d6 --- /dev/null +++ b/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/_/remove.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0399.dual_rhythm_guard/_/remove +# +# Effectが神器や牛乳によって削除された時に実行されるfunction +# +# @within tag/function asset:effect/remove + +execute if data storage asset:context {id:399} run function asset:effect/0399.dual_rhythm_guard/remove/ diff --git a/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/_/tick.mcfunction b/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/_/tick.mcfunction new file mode 100644 index 00000000000..86727e07eeb --- /dev/null +++ b/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/_/tick.mcfunction @@ -0,0 +1,5 @@ +#> asset:effect/0399.dual_rhythm_guard/_/tick +# +# @within tag/function asset:effect/tick + +execute if data storage asset:context {id:399} run function asset:effect/0399.dual_rhythm_guard/tick/ diff --git a/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/_index.d.mcfunction b/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/_index.d.mcfunction new file mode 100644 index 00000000000..8c25447764c --- /dev/null +++ b/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/_index.d.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0399.dual_rhythm_guard/_index.d +# +# @private + +#> 接触対象 +# @within function asset:effect/0399.dual_rhythm_guard/tick/** + #declare tag 399.Contact diff --git a/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/end/.mcfunction b/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/end/.mcfunction new file mode 100644 index 00000000000..444c4c62e47 --- /dev/null +++ b/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/end/.mcfunction @@ -0,0 +1,8 @@ +#> asset:effect/0399.dual_rhythm_guard/end/ +# +# Effectが効果が切れた時の処理 +# +# @within function asset:effect/0399.dual_rhythm_guard/_/end + +# 補正を削除する + function asset:effect/0399.dual_rhythm_guard/modifier/remove diff --git a/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/given/.mcfunction b/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/given/.mcfunction new file mode 100644 index 00000000000..ed71a805095 --- /dev/null +++ b/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/given/.mcfunction @@ -0,0 +1,14 @@ +#> asset:effect/0399.dual_rhythm_guard/given/ +# +# Effectが付与された時の処理 +# +# @within function asset:effect/0399.dual_rhythm_guard/_/given + +# 補正を追加する + data modify storage api: Argument.UUID set value [I;1,3,399,0] + data modify storage api: Argument.Amount set from storage asset:context this.DefenseAmount + data modify storage api: Argument.Operation set value "multiply" + function api:modifier/defense/base/add + +# 付与の演出を再生する + function asset:effect/0399.dual_rhythm_guard/play_effect diff --git a/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/modifier/remove.mcfunction b/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/modifier/remove.mcfunction new file mode 100644 index 00000000000..6ae517a0a22 --- /dev/null +++ b/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/modifier/remove.mcfunction @@ -0,0 +1,9 @@ +#> asset:effect/0399.dual_rhythm_guard/modifier/remove +# +# @within function +# asset:effect/0399.dual_rhythm_guard/remove/ +# asset:effect/0399.dual_rhythm_guard/end/ + +# 自身の軽減補正だけを削除する + data modify storage api: Argument.UUID set value [I;1,3,399,0] + function api:modifier/defense/base/remove diff --git a/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/play_effect.mcfunction b/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/play_effect.mcfunction new file mode 100644 index 00000000000..a46d8cbd0e4 --- /dev/null +++ b/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/play_effect.mcfunction @@ -0,0 +1,10 @@ +#> asset:effect/0399.dual_rhythm_guard/play_effect +# +# @within function +# asset:effect/0399.dual_rhythm_guard/given/ +# asset:effect/0399.dual_rhythm_guard/re-given/ + +# 守りの付与を淡い水色の光と澄んだ音で知らせる + particle dust 0.35 0.8 1 0.9 ~ ~1 ~ 0.35 0.5 0.35 0 18 normal @a + particle end_rod ~ ~1 ~ 0.3 0.45 0.3 0.02 5 normal @a + playsound block.amethyst_block.chime player @a ~ ~ ~ 0.8 0.8 diff --git a/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/re-given/.mcfunction b/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/re-given/.mcfunction new file mode 100644 index 00000000000..3d510c4bc3e --- /dev/null +++ b/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/re-given/.mcfunction @@ -0,0 +1,8 @@ +#> asset:effect/0399.dual_rhythm_guard/re-given/ +# +# Effectが上書きされた時の処理 +# +# @within function asset:effect/0399.dual_rhythm_guard/_/re-given + +# 付与の演出を再生する + function asset:effect/0399.dual_rhythm_guard/play_effect diff --git a/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/register.mcfunction b/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/register.mcfunction new file mode 100644 index 00000000000..c37e0191d8a --- /dev/null +++ b/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/register.mcfunction @@ -0,0 +1,22 @@ +#> asset:effect/0399.dual_rhythm_guard/register +# +# @within function asset:effect/0399.dual_rhythm_guard/_/register + +# EffectのID + data modify storage asset:effect ID set value 399 +# Effectの名前 + data modify storage asset:effect Name set value '{"text":"双律・守","color":"aqua"}' +# Effectの説明文 + data modify storage asset:effect Description set value ['{"text":"被ダメージが低下する","color":"white"}'] +# 再付与時は効果時間を更新する + data modify storage asset:effect DurationOperation set value "forceReplace" +# 効果を重複させない + data modify storage asset:effect MaxStack set value 1 +# 悪い効果かどうか + data modify storage asset:effect IsBadEffect set value false +# 解除に必要なレベル + data modify storage asset:effect RequireClearLv set value 3 +# スタック数を表示するかどうか + data modify storage asset:effect StackVisible set value false +# 死亡時にEffectを削除する + data modify storage asset:effect ProcessOnDied set value "remove" diff --git a/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/remove/.mcfunction b/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/remove/.mcfunction new file mode 100644 index 00000000000..6aebe28947d --- /dev/null +++ b/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/remove/.mcfunction @@ -0,0 +1,8 @@ +#> asset:effect/0399.dual_rhythm_guard/remove/ +# +# Effectが削除された時の処理 +# +# @within function asset:effect/0399.dual_rhythm_guard/_/remove + +# 補正を削除する + function asset:effect/0399.dual_rhythm_guard/modifier/remove diff --git a/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/tick/.mcfunction b/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/tick/.mcfunction new file mode 100644 index 00000000000..0c1ba7cd289 --- /dev/null +++ b/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/tick/.mcfunction @@ -0,0 +1,9 @@ +#> asset:effect/0399.dual_rhythm_guard/tick/ +# +# @within function asset:effect/0399.dual_rhythm_guard/_/tick + +# スペクテイター中は接触判定を行わない + execute if entity @s[gamemode=spectator] run return 0 + +# 接触した相手に効果を移譲する + function asset:effect/0399.dual_rhythm_guard/tick/contact diff --git a/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/tick/contact.mcfunction b/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/tick/contact.mcfunction new file mode 100644 index 00000000000..bd12daffc46 --- /dev/null +++ b/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/tick/contact.mcfunction @@ -0,0 +1,13 @@ +#> asset:effect/0399.dual_rhythm_guard/tick/contact +# +# @within function asset:effect/0399.dual_rhythm_guard/tick/ + +# 足元を基準に、水平方向へ中心を揃えた1×2×1のboxで接触を判定する +# 本体が付与するthisタグで自身を除外する + execute positioned ~-0.5 ~ ~-0.5 run tag @a[gamemode=!spectator,tag=!this,tag=!Death,dx=0,dy=1,dz=0] add 399.Contact + +# 接触した相手がいればバフを移譲する + execute if entity @a[tag=399.Contact,limit=1] run function asset:effect/0399.dual_rhythm_guard/tick/transfer + +# 接触判定用のタグを削除する + tag @a[tag=399.Contact] remove 399.Contact diff --git a/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/tick/transfer.mcfunction b/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/tick/transfer.mcfunction new file mode 100644 index 00000000000..2f55511d522 --- /dev/null +++ b/Asset/data/asset/functions/effect/0399.dual_rhythm_guard/tick/transfer.mcfunction @@ -0,0 +1,26 @@ +#> asset:effect/0399.dual_rhythm_guard/tick/transfer +# +# @within function asset:effect/0399.dual_rhythm_guard/tick/contact + +# 自身の削除を予約する +# 補正はイベント終了後のremoveで解除する + data modify storage api: Argument.ID set value 399 + function api:entity/mob/effect/remove/from_id + function api:entity/mob/effect/reset + +# 同時に複数人へ触れた場合は最も近い1人だけ + data modify storage api: Argument.ID set value 400 + data modify storage api: Argument.Duration set from storage asset:context this.AttackDuration + data modify storage api: Argument.FieldOverride.AttackAmount set from storage asset:context this.AttackAmount + execute as @p[tag=399.Contact] run function api:entity/mob/effect/give + function api:entity/mob/effect/reset + +# 自身にクールダウンを付与する + data modify storage api: Argument.ID set value 401 + data modify storage api: Argument.Duration set from storage asset:context this.Cooldown + function api:entity/mob/effect/give + function api:entity/mob/effect/reset + +# 守りの光がほどけ、相手へ力を渡したことを知らせる + particle enchant ~ ~1 ~ 0.4 0.5 0.4 0.2 16 normal @a + playsound block.amethyst_block.hit player @a ~ ~ ~ 0.8 0.8 diff --git a/Asset/data/asset/functions/effect/0400.dual_rhythm_boost/_/end.mcfunction b/Asset/data/asset/functions/effect/0400.dual_rhythm_boost/_/end.mcfunction new file mode 100644 index 00000000000..8539e794989 --- /dev/null +++ b/Asset/data/asset/functions/effect/0400.dual_rhythm_boost/_/end.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0400.dual_rhythm_boost/_/end +# +# Effectの効果の終了時に実行されるfunction +# +# @within tag/function asset:effect/end + +execute if data storage asset:context {id:400} run function asset:effect/0400.dual_rhythm_boost/end/ diff --git a/Asset/data/asset/functions/effect/0400.dual_rhythm_boost/_/given.mcfunction b/Asset/data/asset/functions/effect/0400.dual_rhythm_boost/_/given.mcfunction new file mode 100644 index 00000000000..37663bf9506 --- /dev/null +++ b/Asset/data/asset/functions/effect/0400.dual_rhythm_boost/_/given.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0400.dual_rhythm_boost/_/given +# +# Effectが付与された時に実行されるfunction +# +# @within tag/function asset:effect/given + +execute if data storage asset:context {id:400} run function asset:effect/0400.dual_rhythm_boost/given/ diff --git a/Asset/data/asset/functions/effect/0400.dual_rhythm_boost/_/re-given.mcfunction b/Asset/data/asset/functions/effect/0400.dual_rhythm_boost/_/re-given.mcfunction new file mode 100644 index 00000000000..52b9c84f9b5 --- /dev/null +++ b/Asset/data/asset/functions/effect/0400.dual_rhythm_boost/_/re-given.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0400.dual_rhythm_boost/_/re-given +# +# Effectが上書きされた時に実行されるfunction +# +# @within tag/function asset:effect/re-given + +execute if data storage asset:context {id:400} run function asset:effect/0400.dual_rhythm_boost/re-given/ diff --git a/Asset/data/asset/functions/effect/0400.dual_rhythm_boost/_/register.mcfunction b/Asset/data/asset/functions/effect/0400.dual_rhythm_boost/_/register.mcfunction new file mode 100644 index 00000000000..3f1f4c785c8 --- /dev/null +++ b/Asset/data/asset/functions/effect/0400.dual_rhythm_boost/_/register.mcfunction @@ -0,0 +1,5 @@ +#> asset:effect/0400.dual_rhythm_boost/_/register +# +# @within tag/function asset:effect/register + +execute if data storage asset:context {id:400} run function asset:effect/0400.dual_rhythm_boost/register diff --git a/Asset/data/asset/functions/effect/0400.dual_rhythm_boost/_/remove.mcfunction b/Asset/data/asset/functions/effect/0400.dual_rhythm_boost/_/remove.mcfunction new file mode 100644 index 00000000000..49dabcbeca9 --- /dev/null +++ b/Asset/data/asset/functions/effect/0400.dual_rhythm_boost/_/remove.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0400.dual_rhythm_boost/_/remove +# +# Effectが神器や牛乳によって削除された時に実行されるfunction +# +# @within tag/function asset:effect/remove + +execute if data storage asset:context {id:400} run function asset:effect/0400.dual_rhythm_boost/remove/ diff --git a/Asset/data/asset/functions/effect/0400.dual_rhythm_boost/end/.mcfunction b/Asset/data/asset/functions/effect/0400.dual_rhythm_boost/end/.mcfunction new file mode 100644 index 00000000000..a279d2693be --- /dev/null +++ b/Asset/data/asset/functions/effect/0400.dual_rhythm_boost/end/.mcfunction @@ -0,0 +1,8 @@ +#> asset:effect/0400.dual_rhythm_boost/end/ +# +# Effectが効果が切れた時の処理 +# +# @within function asset:effect/0400.dual_rhythm_boost/_/end + +# 補正を削除する + function asset:effect/0400.dual_rhythm_boost/modifier/remove diff --git a/Asset/data/asset/functions/effect/0400.dual_rhythm_boost/given/.mcfunction b/Asset/data/asset/functions/effect/0400.dual_rhythm_boost/given/.mcfunction new file mode 100644 index 00000000000..48becb38a34 --- /dev/null +++ b/Asset/data/asset/functions/effect/0400.dual_rhythm_boost/given/.mcfunction @@ -0,0 +1,14 @@ +#> asset:effect/0400.dual_rhythm_boost/given/ +# +# Effectが付与された時の処理 +# +# @within function asset:effect/0400.dual_rhythm_boost/_/given + +# 補正を追加する + data modify storage api: Argument.UUID set value [I;1,3,400,0] + data modify storage api: Argument.Amount set from storage asset:context this.AttackAmount + data modify storage api: Argument.Operation set value "multiply" + function api:modifier/attack/base/add + +# 付与の演出を再生する + function asset:effect/0400.dual_rhythm_boost/play_effect diff --git a/Asset/data/asset/functions/effect/0400.dual_rhythm_boost/modifier/remove.mcfunction b/Asset/data/asset/functions/effect/0400.dual_rhythm_boost/modifier/remove.mcfunction new file mode 100644 index 00000000000..e79f32f81e5 --- /dev/null +++ b/Asset/data/asset/functions/effect/0400.dual_rhythm_boost/modifier/remove.mcfunction @@ -0,0 +1,9 @@ +#> asset:effect/0400.dual_rhythm_boost/modifier/remove +# +# @within function +# asset:effect/0400.dual_rhythm_boost/remove/ +# asset:effect/0400.dual_rhythm_boost/end/ + +# 自身の与ダメージ増加補正だけを削除する + data modify storage api: Argument.UUID set value [I;1,3,400,0] + function api:modifier/attack/base/remove diff --git a/Asset/data/asset/functions/effect/0400.dual_rhythm_boost/play_effect.mcfunction b/Asset/data/asset/functions/effect/0400.dual_rhythm_boost/play_effect.mcfunction new file mode 100644 index 00000000000..645a0dcf8db --- /dev/null +++ b/Asset/data/asset/functions/effect/0400.dual_rhythm_boost/play_effect.mcfunction @@ -0,0 +1,10 @@ +#> asset:effect/0400.dual_rhythm_boost/play_effect +# +# @within function +# asset:effect/0400.dual_rhythm_boost/given/ +# asset:effect/0400.dual_rhythm_boost/re-given/ + +# 攻撃強化の付与を金色の光と高い音で知らせる + particle dust 1 0.75 0.2 1 ~ ~1 ~ 0.35 0.5 0.35 0 18 normal @a + particle crit ~ ~1 ~ 0.3 0.4 0.3 0.15 8 normal @a + playsound block.note_block.chime player @a ~ ~ ~ 0.8 1.5 diff --git a/Asset/data/asset/functions/effect/0400.dual_rhythm_boost/re-given/.mcfunction b/Asset/data/asset/functions/effect/0400.dual_rhythm_boost/re-given/.mcfunction new file mode 100644 index 00000000000..de906386709 --- /dev/null +++ b/Asset/data/asset/functions/effect/0400.dual_rhythm_boost/re-given/.mcfunction @@ -0,0 +1,8 @@ +#> asset:effect/0400.dual_rhythm_boost/re-given/ +# +# Effectが上書きされた時の処理 +# +# @within function asset:effect/0400.dual_rhythm_boost/_/re-given + +# 付与の演出を再生する + function asset:effect/0400.dual_rhythm_boost/play_effect diff --git a/Asset/data/asset/functions/effect/0400.dual_rhythm_boost/register.mcfunction b/Asset/data/asset/functions/effect/0400.dual_rhythm_boost/register.mcfunction new file mode 100644 index 00000000000..ea5f12fce70 --- /dev/null +++ b/Asset/data/asset/functions/effect/0400.dual_rhythm_boost/register.mcfunction @@ -0,0 +1,20 @@ +#> asset:effect/0400.dual_rhythm_boost/register +# +# @within function asset:effect/0400.dual_rhythm_boost/_/register + +# EffectのID + data modify storage asset:effect ID set value 400 +# Effectの名前 + data modify storage asset:effect Name set value '{"text":"双律・攻","color":"gold"}' +# Effectの説明文 + data modify storage asset:effect Description set value ['{"text":"与ダメージが上昇する","color":"white"}'] +# 再付与時は効果時間を更新する + data modify storage asset:effect DurationOperation set value "forceReplace" +# 効果を重複させない + data modify storage asset:effect MaxStack set value 1 +# 悪い効果かどうか + data modify storage asset:effect IsBadEffect set value false +# 解除に必要なレベル + data modify storage asset:effect RequireClearLv set value 3 +# スタック数を表示するかどうか + data modify storage asset:effect StackVisible set value false diff --git a/Asset/data/asset/functions/effect/0400.dual_rhythm_boost/remove/.mcfunction b/Asset/data/asset/functions/effect/0400.dual_rhythm_boost/remove/.mcfunction new file mode 100644 index 00000000000..1d3b2a0c9ba --- /dev/null +++ b/Asset/data/asset/functions/effect/0400.dual_rhythm_boost/remove/.mcfunction @@ -0,0 +1,8 @@ +#> asset:effect/0400.dual_rhythm_boost/remove/ +# +# Effectが削除された時の処理 +# +# @within function asset:effect/0400.dual_rhythm_boost/_/remove + +# 補正を削除する + function asset:effect/0400.dual_rhythm_boost/modifier/remove diff --git a/Asset/data/asset/functions/effect/0401.dual_rhythm_cooldown/_/register.mcfunction b/Asset/data/asset/functions/effect/0401.dual_rhythm_cooldown/_/register.mcfunction new file mode 100644 index 00000000000..0c21d972865 --- /dev/null +++ b/Asset/data/asset/functions/effect/0401.dual_rhythm_cooldown/_/register.mcfunction @@ -0,0 +1,5 @@ +#> asset:effect/0401.dual_rhythm_cooldown/_/register +# +# @within tag/function asset:effect/register + +execute if data storage asset:context {id:401} run function asset:effect/0401.dual_rhythm_cooldown/register diff --git a/Asset/data/asset/functions/effect/0401.dual_rhythm_cooldown/register.mcfunction b/Asset/data/asset/functions/effect/0401.dual_rhythm_cooldown/register.mcfunction new file mode 100644 index 00000000000..5fd466b77e3 --- /dev/null +++ b/Asset/data/asset/functions/effect/0401.dual_rhythm_cooldown/register.mcfunction @@ -0,0 +1,24 @@ +#> asset:effect/0401.dual_rhythm_cooldown/register +# +# 指定された時間だけ軽減効果の再付与を待機させる +# +# @within function asset:effect/0401.dual_rhythm_cooldown/_/register + +# EffectのID + data modify storage asset:effect ID set value 401 +# Effectの名前 + data modify storage asset:effect Name set value '{"text":"双律・静","color":"gray"}' +# Effectの説明文 + data modify storage asset:effect Description set value ['{"text":"双律の印章の被ダメージ軽減を再付与できない状態"}'] +# 効果を重複させない + data modify storage asset:effect MaxStack set value 1 +# 悪い効果かどうか + data modify storage asset:effect IsBadEffect set value true +# アイコンを表示するかどうか + data modify storage asset:effect Visible set value true +# スタック数を表示するかどうか + data modify storage asset:effect StackVisible set value false +# 死亡時にEffectを削除しない + data modify storage asset:effect ProcessOnDied set value "keep" +# 解除に必要なレベル + data modify storage asset:effect RequireClearLv set value 3 diff --git a/Asset/data/asset/tags/functions/artifact/dis_equip.json b/Asset/data/asset/tags/functions/artifact/dis_equip.json index 733f503b000..22e6223757a 100644 --- a/Asset/data/asset/tags/functions/artifact/dis_equip.json +++ b/Asset/data/asset/tags/functions/artifact/dis_equip.json @@ -3,6 +3,7 @@ "asset:artifact/1615.ema_of_abundance/trigger/dis_equip/", "asset:artifact/1606.dimension_knife/dis_equip/1.trigger", "asset:artifact/1474.ninja_kunai/dis_equip/", + "asset:artifact/1412.seal_of_dual_rhythm/trigger/dis_equip/", "asset:artifact/1430.shield_of_fate/trigger/dis_equip/", "asset:artifact/0772.dolphin_amulet/trigger/dis_equip/", "asset:artifact/1409.mana_charm/trigger/dis_equip/", diff --git a/Asset/data/asset/tags/functions/artifact/give.json b/Asset/data/asset/tags/functions/artifact/give.json index 51fb37af213..b4bed89ce1d 100644 --- a/Asset/data/asset/tags/functions/artifact/give.json +++ b/Asset/data/asset/tags/functions/artifact/give.json @@ -17,6 +17,7 @@ "asset:artifact/1472.ninja_pants/give/1.trigger", "asset:artifact/1471.ninja_robe/give/1.trigger", "asset:artifact/1470.ninja_hood/give/1.trigger", + "asset:artifact/1412.seal_of_dual_rhythm/give/1.trigger", "asset:artifact/1562.tsukimi_dango/give/1.trigger", "asset:artifact/1430.shield_of_fate/give/1.trigger", "asset:artifact/1453.frost_flake_bow/give/1.trigger", diff --git a/Asset/data/asset/tags/functions/artifact/register.json b/Asset/data/asset/tags/functions/artifact/register.json index 21f125f3f83..1179087d980 100644 --- a/Asset/data/asset/tags/functions/artifact/register.json +++ b/Asset/data/asset/tags/functions/artifact/register.json @@ -11,6 +11,7 @@ "asset:artifact/1606.dimension_knife/register", "asset:artifact/1474.ninja_kunai/register", "asset:artifact/1470.ninja_hood/register", + "asset:artifact/1412.seal_of_dual_rhythm/register", "asset:artifact/1562.tsukimi_dango/register", "asset:artifact/1453.frost_flake_bow/register", "asset:artifact/1430.shield_of_fate/register", diff --git a/Asset/data/asset/tags/functions/artifact/tick.json b/Asset/data/asset/tags/functions/artifact/tick.json index 3a6f7ff06d7..9ce1d60511c 100644 --- a/Asset/data/asset/tags/functions/artifact/tick.json +++ b/Asset/data/asset/tags/functions/artifact/tick.json @@ -2,6 +2,7 @@ "values": [ "asset:artifact/1606.dimension_knife/tick/1.trigger", "asset:artifact/1474.ninja_kunai/tick/1.trigger", + "asset:artifact/1412.seal_of_dual_rhythm/trigger/1.trigger", "asset:artifact/1430.shield_of_fate/tick/1.trigger", "asset:artifact/1324.balance_star/trigger/1.trigger", "asset:artifact/0237.schrodingers_cat/trigger/1.trigger", diff --git a/Asset/data/asset/tags/functions/effect/end.json b/Asset/data/asset/tags/functions/effect/end.json index 8c46442cf3b..4fce10eca6d 100644 --- a/Asset/data/asset/tags/functions/effect/end.json +++ b/Asset/data/asset/tags/functions/effect/end.json @@ -1,6 +1,8 @@ { "values": [ "asset:effect/0374.charge_plasma/_/end", + "asset:effect/0400.dual_rhythm_boost/_/end", + "asset:effect/0399.dual_rhythm_guard/_/end", "asset:effect/0371.tsukimi/_/end", "asset:effect/0355.heart_gap/_/end", "asset:effect/0354.protection_of_courage/_/end", diff --git a/Asset/data/asset/tags/functions/effect/given.json b/Asset/data/asset/tags/functions/effect/given.json index 1d1d3105419..10213656204 100644 --- a/Asset/data/asset/tags/functions/effect/given.json +++ b/Asset/data/asset/tags/functions/effect/given.json @@ -1,6 +1,8 @@ { "values": [ "asset:effect/0384.ninjas_mindset/_/given", + "asset:effect/0400.dual_rhythm_boost/_/given", + "asset:effect/0399.dual_rhythm_guard/_/given", "asset:effect/0371.tsukimi/_/given", "asset:effect/0355.heart_gap/_/given", "asset:effect/0354.protection_of_courage/_/given", @@ -107,4 +109,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 549a5f13dc4..582b584a23b 100644 --- a/Asset/data/asset/tags/functions/effect/re-given.json +++ b/Asset/data/asset/tags/functions/effect/re-given.json @@ -2,6 +2,8 @@ "values": [ "asset:effect/0374.charge_plasma/_/re-given", "asset:effect/0384.ninjas_mindset/_/re-given", + "asset:effect/0400.dual_rhythm_boost/_/re-given", + "asset:effect/0399.dual_rhythm_guard/_/re-given", "asset:effect/0371.tsukimi/_/re-given", "asset:effect/0348.cool_feeling/_/re-given", "asset:effect/0352.kitsunebi/_/re-given", diff --git a/Asset/data/asset/tags/functions/effect/register.json b/Asset/data/asset/tags/functions/effect/register.json index 95ef670d034..7ee6a3def3b 100644 --- a/Asset/data/asset/tags/functions/effect/register.json +++ b/Asset/data/asset/tags/functions/effect/register.json @@ -6,6 +6,9 @@ "asset:effect/0387.dimensional_castaway/_/register", "asset:effect/0385.latency/_/register", "asset:effect/0384.ninjas_mindset/_/register", + "asset:effect/0401.dual_rhythm_cooldown/_/register", + "asset:effect/0400.dual_rhythm_boost/_/register", + "asset:effect/0399.dual_rhythm_guard/_/register", "asset:effect/0371.tsukimi/_/register", "asset:effect/0355.heart_gap/_/register", "asset:effect/0354.protection_of_courage/_/register", diff --git a/Asset/data/asset/tags/functions/effect/remove.json b/Asset/data/asset/tags/functions/effect/remove.json index eb09e87f9c4..820615055f8 100644 --- a/Asset/data/asset/tags/functions/effect/remove.json +++ b/Asset/data/asset/tags/functions/effect/remove.json @@ -1,5 +1,7 @@ { "values": [ + "asset:effect/0400.dual_rhythm_boost/_/remove", + "asset:effect/0399.dual_rhythm_guard/_/remove", "asset:effect/0371.tsukimi/_/remove", "asset:effect/0355.heart_gap/_/remove", "asset:effect/0354.protection_of_courage/_/remove", diff --git a/Asset/data/asset/tags/functions/effect/tick.json b/Asset/data/asset/tags/functions/effect/tick.json index dabd3f3e2fc..9c7b9475768 100644 --- a/Asset/data/asset/tags/functions/effect/tick.json +++ b/Asset/data/asset/tags/functions/effect/tick.json @@ -1,6 +1,7 @@ { "values": [ "asset:effect/0384.ninjas_mindset/_/tick", + "asset:effect/0399.dual_rhythm_guard/_/tick", "asset:effect/0355.heart_gap/_/tick", "asset:effect/0348.cool_feeling/_/tick", "asset:effect/0356.dolphin_blessing/_/tick", @@ -108,4 +109,4 @@ "asset:effect/0279.poison_of_vinderre/_/tick", "asset:effect/0258.spirit_melody/_/tick" ] -} \ No newline at end of file +} diff --git a/docs/knowledge/artifact.md b/docs/knowledge/artifact.md index 6a1ca7726f8..446594856e3 100644 --- a/docs/knowledge/artifact.md +++ b/docs/knowledge/artifact.md @@ -78,13 +78,13 @@ DeathMessageの書式例は [Thunder の命中処理](../../Asset/data/asset/fun 再使用までの待ち時間が装備解除後も続く仕様では、装備中の効果と再付与を禁止する状態を別々に持つ。装備解除で前者を消しても後者を残せるよう、生成・解除する主体と寿命を分ける。装備中のtickだけで時間を減らすと、外している間に進むという仕様を満たせない。 -Effectは、付与先に状態を持たせ、本体のEffect処理と表示・解除規則を利用したい場合の選択肢になる。装備解除で効果だけを消し、待機用Effectは残す構成なら、装備の有無と待機時間を独立させられる。 +Effectは、付与先に状態を持たせ、本体のEffect処理と表示・解除規則を利用したい場合の選択肢になる。[双律の印章の条件判定](../../Asset/data/asset/functions/artifact/1412.seal_of_dual_rhythm/trigger/2.check_condition.mcfunction) は効果と待機用Effectの存在を確認し、[装備解除](../../Asset/data/asset/functions/artifact/1412.seal_of_dual_rhythm/trigger/dis_equip/main.mcfunction) は効果だけを削除する。[待機用Effectの定義](../../Asset/data/asset/functions/effect/0401.dual_rhythm_cooldown/register.mcfunction) は表示・死亡時の扱いを持ち、付与時に指定された時間を装備と独立して管理する。 選ぶ前に、待機状態を誰が持つか、死亡・解除スキルで消えてよいか、何の時間を数えるかを決める。この方式は本体が対象を処理するtickを数えるもので、未接続・サーバー停止中も実時間で進むタイマーではない。装備している間だけ進めたい仕様にもそのまま転用しない。表示、悪い効果の分類、解除レベルは待機状態ごとの設計値である。 ### 効果の付与と、その効果の振る舞いを分担する -効果を神器以外から付与しても同じ振る舞いにしたい場合、神器は付与条件と装備解除時の削除要求を担当し、Effectは自身の接触判定・補正・終了を担当する。神器からEffectの内部タグ・Field・modifierを直接操作せず、公開APIと [カテゴリ間の契約](object-model.md#カテゴリごとの違い) を使う。 +効果を神器以外から付与しても同じ振る舞いにしたい場合、神器は付与条件と装備解除時の削除要求を担当し、Effectは自身の接触判定・補正・終了を担当する。[軽減Effectのtick](../../Asset/data/asset/functions/effect/0399.dual_rhythm_guard/tick/.mcfunction) と [移譲処理](../../Asset/data/asset/functions/effect/0399.dual_rhythm_guard/tick/transfer.mcfunction) がその実例である。神器からEffectの内部タグ・Field・modifierを直接操作せず、公開APIと [カテゴリ間の契約](object-model.md#カテゴリごとの違い) を使う。 一方、装備slotや神器固有の使用条件が必要な処理までEffectへ移すと、その入力を失う。共通化の境界はファイル数ではなく、どこから付与されても成立する効果か、装備・操作に依存する条件かで決める。 @@ -96,4 +96,20 @@ Effectは、付与先に状態を持たせ、本体のEffect処理と表示・ 常時効果を補充する処理では、「存在しないときに付与する」のか、「発効済みの効果へ反応する」のかを分ける。前者は付与待ち・削除待ちも含む存在確認で重複要求を防ぎ、後者はEffectのイベントとその入力条件に従って実行する。神器がEffectの内部状態を読み解いて独自の発動条件を増やす方式へ一律に置き換えない。 -given/re-givenと通常tickの配送、削除予約、再付与の反映時点は本体の契約に依存する。実行順を確認せず「giveしたコマンドの直後から有効」「両者へ同じtickに反映する」と仮定しない。[再付与の設計](effect.md#再付与で補正を確実に設定する) も参照する。 +双律の印章は神器側で存在だけを確認し、接触処理をEffectのtickへ置く例である。given/re-givenと通常tickの配送、削除予約、再付与の反映時点は本体の契約に依存する。実行順を確認せず「giveしたコマンドの直後から有効」「両者へ同じtickに反映する」と仮定しない。[再付与と自己終了の読み方](effect.md#再付与時の処理は効果の変化に合わせる) も参照する。 + +### 実例:双律の印章の寿命の選択 + +[1412 双律の印章](../../Asset/data/asset/functions/artifact/1412.seal_of_dual_rhythm) は、軽減中・移譲後の待機中・再付与可能の状態を、効果と待機用Effectの有無で表す。 + +| 状態・効果 | 付与先 | 終了・継続の選択 | +| --- | --- | --- | +| 399:被ダメージ10%軽減 | 装備者 | 接触移譲・装備解除・本人の死亡で終了。死亡時は本体のremove処理で補正を解除する | +| 400:与ダメージ20%増加 | 接触した相手1人 | 15秒で失効、再付与で時間更新、重複なし。付与先の死亡で解除し、付与元の死亡には連動しない | +| 401:軽減の再付与待ち | 移譲元 | 60秒。本体の処理中は装備解除・死亡・リスポーン待ちでも残り時間が減る。表示あり、悪い効果、解除レベル3 | + +接触は足元から高さ2、水平方向は本人を中心とする1×2×1のboxと相手の当たり判定との重なりで判定し、同時接触では最も近い1人へ付与する。ユーザー指定により、小さな箱を作る二段判定より読みやすさを優先する。399は `ProcessOnDied:"remove"` とし、リスポーン待ちの接触tickも本体の標準処理に従って停止する。これらはこの神器の仕様であり、別の神器では上記の寿命・責務から選び直す。自己終了の実装には [本体の版による相違](effect.md#自己終了は本体の契約に合わせる) があるため、関数全体を無条件に雛形にしない。 + +演出は状態の切り替わりで再生する。399のgiven/re-givenは水色の光と低めの音、400のgiven/re-givenは金色の光と高めの音で付与・更新を知らせる。移譲元の演出は399のtransferに置き、受取側の演出は400自身のイベントで再生する。継続tickや共通の解除処理には演出を置かず、常時の連続再生や装備解除・死亡時の移譲演出を避ける。SE・粒子の宛先は `@a` とし、selectorによる距離制限は付けない。 + +試験条件は [シナリオ](../../tests/scenarios/dual-rhythm.json)、確認済みの範囲と対象コードの版は [検証記録](../verification/dual-rhythm.md) を参照する。 diff --git a/docs/knowledge/effect.md b/docs/knowledge/effect.md index 135e38653a6..f054bb29a1f 100644 --- a/docs/knowledge/effect.md +++ b/docs/knowledge/effect.md @@ -2,6 +2,10 @@ Effectの定義・継承・Field・イベントを変更するときの入口。個別Asset間の連携は [カテゴリ間の契約](object-model.md#カテゴリごとの違い)、神器からの付与・装備解除との分担は [装備と効果の寿命](artifact.md#装備と効果の寿命を分ける) を参照する。本体APIとイベント配送の正本は、利用するTheSkyBlessingの `docs/knowledge/asset-runtime.md` にある。 +## 説明文は効果の性質を記述する + +Effectの `Description` には、倍率・割合・秒数などの具体的な数値を書かず、効果の性質を説明する。数値を説明文にも重ねて持つと、調整時に実装との不一致が生じやすくなるためである。「被ダメージが低下する」「与ダメージが上昇する」のように記述する。この方針はEffectの `Description` が対象で、効果を決める設定値や補正値を省略するものではない。 + ## 定義・継承・インスタンス Effect のインスタンスは、エンティティ本体ではなく個体の OhMyDat `Effects[]` の各要素である。各要素が ID、Duration、Stack、Field 等を持つ。イベント時にその要素の Field が `this` に展開され、処理後に要素へ戻される。 @@ -12,15 +16,42 @@ Mob/Object の数値 alias と親配列探索ではなく、function tag の I 再付与時の `PreviousField` は旧 Field の snapshot であり、永続フィールドそのものではない。前回 stack と今回 stack の境界を検出する既存セット Effect は、given/re-given の末尾で現在値を `this.PrevStack` に保存する。解除レベルは Wiki が Lv4 を「運用上未使用」とする一方、現行 `0244.aurora_armor` と `0246.flame_devil_armor` は `RequireClearLv 4` を使うため、その記述は現状には採用しない。 -## 再付与で補正を確実に設定する +## 付与元で調整値を指定する + +神器ごとの補正量・効果時間は、付与元から公開give APIの `Argument.Duration` と `Argument.FieldOverride` で渡せる。Effectは受け取った値で補正や後続効果を処理する。これにより、調整する値を神器側にまとめつつ、接触・解除などの振る舞いをEffect自身に保てる。APIの引数と再付与時のFieldの契約は、依存先TheSkyBlessingの `docs/knowledge/asset-runtime.md` を参照する。 + +[双律の印章の付与処理](../../Asset/data/asset/functions/artifact/1412.seal_of_dual_rhythm/trigger/3.main.mcfunction) は、軽減のDurationと次のFieldを399へ渡す。399〜401を直接付与する場合も、呼出側がDurationと必要なFieldを指定する。 + +| Effect | FieldOverrideの必須項目 | 意味 | +| --- | --- | --- | +| 399 | `DefenseAmount`(double) | 被ダメージの軽減割合 | +| 399 | `AttackAmount`(double) | 接触相手の与ダメージの増加割合 | +| 399 | `AttackDuration`(int) | 接触相手の攻撃強化の時間(tick) | +| 399 | `Cooldown`(int) | 軽減の再付与を待つ時間(tick) | +| 400 | `AttackAmount`(double) | 与ダメージの増加割合 | +| 401 | なし | Durationで再付与までの待ち時間を指定 | + +399は接触時にAttackAmount・AttackDurationを400へ、Cooldownを401へ引き継ぐ。399〜401のregisterにはDurationや調整用のMaxDurationを重ねて定義しない。上限は本体の既定値を使い、付与元で時間を延ばしても旧設定値で切り詰められないようにする。 + +## 接触対象から付与先自身を除外する -複数の発動元から同じ非スタック型バフを付与できる場合、最初のgivenを必ず通る前提で初期化しない。付与要求とイベント配送の契約は、依存先TheSkyBlessingの `docs/knowledge/asset-runtime.md` にある。最初のgiven前に再付与される経路では、re-givenだけでも必要な補正が設定されるようにする。 +Effectイベント中の自己除外には、本体が付与先へ付ける `this` タグを使える。[399の接触判定](../../Asset/data/asset/functions/effect/0399.dual_rhythm_guard/tick/contact.mcfunction) は `tag=!this` で対象から外し、自己除外専用タグの追加・削除を持たない。`this` の管理は本体へ委ねる。この実装はEffectイベントへの `this` 付与・公開に対応した本体が前提で、未対応版では自己除外にならない。付与区間と実行主体の契約は、依存先TheSkyBlessingの `docs/knowledge/asset-runtime.md`「付与要求とイベント配送」を参照する。 -非スタック型バフでは、givenとre-givenの両方から同じUUID・補正値を設定し、必要な状態を作る方法が使える。重複させずに同じ最終状態へ戻せる根拠は、本体の `docs/knowledge/architecture.md`「能力補正は識別できる寄与から組み立てる」にある。終了時も自分のUUIDだけを解除する。同じEffectの共有補正を表すUUIDであることが条件で、付与元ごとの独立した重ね掛けが必要なら、同一UUIDによる置換をそのまま採用しない。 +## `_` 配下は定型の入口に限定する -[攻撃力低下のgiven](../../Asset/data/asset/functions/effect/0001.attack_base_debuff/given/.mcfunction) と [re-given](../../Asset/data/asset/functions/effect/0001.attack_base_debuff/re-given/.mcfunction) は、どちらからも現在Stackに応じた補正を設定する実例である。後者は同じUUIDの補正を解除してから設定する。非スタック型で固定値を設定する場合と、Stackに応じて値を作り直す場合を区別する。 +`_/given.mcfunction` 等は、対応するfunction tagから呼ばれ、IDを判定して同名イベントの `given/` 等へ渡す定型ファイルである。レビュー時に入口の形を毎回読み解かなくて済むよう、この形を厳守する(ユーザー方針)。`_` から `modifier/*` やAPI・別イベントを直接呼ばず、処理や固有条件も書かない。registerの入口は同じID判定で直下の `register` を呼ぶ。 -Fieldの蓄積やstack差分を扱う効果では、現在値の再設定だけでは履歴を保てない。`PreviousField` と初期値の扱いを含めてgiven/re-givenを設計する。「何度呼ばれても最終状態を揃える処理」と「今回分を追加する処理」を分け、すべてのEffectを同じ補正設定方式に統一しない。 +実例は [0001のend入口](../../Asset/data/asset/functions/effect/0001.attack_base_debuff/_/end.mcfunction) → [endの処理](../../Asset/data/asset/functions/effect/0001.attack_base_debuff/end/.mcfunction)。共通の補正処理を呼ぶ場合も、必ずイベントの `/.mcfunction` を経由する。処理先の `@within` はこのイベント関数を指定し、定型入口から直接呼べる宣言を残さない。入口の確認では、コメント以外がID判定と所定の関数呼出しの1行だけであること、イベント名・ID・参照先が一致することを照合する。 + +## 再付与時の処理は効果の変化に合わせる + +再付与で補正を更新するかは、通常の付与経路で補正量やStackが変化するかで判断する。FieldOverrideで値を受け取ることだけを、異なる値で再付与される根拠にしない。 + +[攻撃力低下のgiven](../../Asset/data/asset/functions/effect/0001.attack_base_debuff/given/.mcfunction) と [re-given](../../Asset/data/asset/functions/effect/0001.attack_base_debuff/re-given/.mcfunction) は、現在Stackに応じて補正を設定する。Stackの変化に応じた更新と、固定量の効果の時間更新を区別する。Fieldの蓄積や差分を扱う場合も、PreviousFieldと初期値の扱いを含めて設計する。 + +双律の印章は全装備者が同じ補正量を渡すため、399・400の補正はgivenで設定し、re-givenでは演出だけを再生する。再付与時の時間更新は本体のDurationOperationに委ね、remove/endで自身のUUIDの補正だけを解除する。 + +初回givenが実行されずre-givenに置き換わる問題は、本体のイベント配送として調査・修正する。個別Effectで初期化を重複させる方針へ一般化しない。既知の問題は[TheSkyBlessing #2308](https://github.com/ProjectTSB/TheSkyBlessing/issues/2308)、確認結果は[検証記録](../verification/dual-rhythm.md)を参照する。 ## 付与元と付与先の終了条件を別々に決める @@ -33,3 +64,5 @@ Fieldの蓄積やstack差分を扱う効果では、現在値の再設定だけ Effectがイベント中に自身を消費する場合、終了の要求、データの書き戻し、remove/end、後始末の順を確認する。契約の正本は依存先TheSkyBlessingの `docs/knowledge/asset-runtime.md`。利用する本体の作業コピーでAPIと終了判定を照合し、その順序に合わせて自身が所有する補正を解除する。 手動で補正を解除した後に終了イベントでも後始末を行う設計では、同じ解除を繰り返せるかを確認する。UUIDを指定した補正解除と、アイテム消費・報酬・別Effectの付与では副作用が異なる。終了イベントの配送順は本体の実装に依存するため、特定の版で動く自己終了処理をそのまま他の版へ移植しない。 + +[399の接触移譲](../../Asset/data/asset/functions/effect/0399.dual_rhythm_guard/tick/transfer.mcfunction) は、自身のIDを指定して `remove/from_id` を呼ぶ。軽減補正の解除は [removeイベント](../../Asset/data/asset/functions/effect/0399.dual_rhythm_guard/remove/.mcfunction) に任せ、移譲処理では手動解除や `context.Duration=0` の設定を行わない。この実装には、イベント中の自己removeに対応した本体が必要である。削除予約後も移譲処理は続くため、相手への攻撃強化と自身へのクールダウンを付与してから、removeイベントで補正を解除する。 diff --git a/docs/knowledge/runtime-and-tools.md b/docs/knowledge/runtime-and-tools.md index 73b7cdb35b2..9a55935baf4 100644 --- a/docs/knowledge/runtime-and-tools.md +++ b/docs/knowledge/runtime-and-tools.md @@ -132,3 +132,7 @@ block_display・item_display・text_displayの選択基準は、DevSpaceの `doc [Ecual の予告線](../../Asset/data/asset/functions/mob/0392.ecual_first/ai/projectile/announce_line/2.tick.mcfunction) は、横断面のscaleを0にして生成し、負の残り時間を最初の処理で正に反転する。可視化判定は反転より前にあるため、初回の位置合わせ中は非表示を保ち、次の処理でscaleと `teleport_duration:1` を設定する。負数は単なる異常な時間値ではなく、初回処理と表示開始を分ける状態も表している。 表示を準備する段階と可視化する段階を分けたいときの実例として使える。負の値は「初回処理前」、正の値は「表示待ち以降」という状態を兼ねるため、数値の符号だけを正規化しない。初回の可視状態・位置確定・補間開始の順序を一組で扱う。意図が生成直後の補間を隠すことかは未確定なので、見た目の改善効果を保証する手法としてではなく、段階的な初期化の例として参照する。 + +## 再実行できる実機検証 + +共通runnerの使い方と記録方法はDevSpaceの `docs/runtime-verification.md` にある。このrepoのシナリオ保存先は `tests/scenarios/`。例は [双律の印章](../../tests/scenarios/dual-rhythm.json) で、神器固有の初期化・効果の発火・観測・解除を記述する。 diff --git a/docs/knowledge/sources.md b/docs/knowledge/sources.md index c305980b8ca..db8dd7f1ff1 100644 --- a/docs/knowledge/sources.md +++ b/docs/knowledge/sources.md @@ -49,6 +49,14 @@ Issue [#2113](https://github.com/ProjectTSB/Asset/issues/2113)、[#2106](https:/ ## Effectと装備の寿命設計の根拠 -[再付与の補正設定](effect.md#再付与で補正を確実に設定する) は、Asset `b69bdb22de2be9171a121f49f29562ad6ca27a41` のEffect 0001のgiven/re-givenとmodifier、0233のPreviousFieldによる差分処理を照合した。固定UUIDの補正置換は本体の `docs/knowledge/architecture.md` が正本。 +[再付与の補正設定](effect.md#再付与時の処理は効果の変化に合わせる) は、Asset `b69bdb22de2be9171a121f49f29562ad6ca27a41` のEffect 0001のgiven/re-givenとmodifier、0233のPreviousFieldによる差分処理を照合した。固定UUIDの補正置換は本体の `docs/knowledge/architecture.md` が正本。 [装備と効果の寿命](artifact.md#装備と効果の寿命を分ける) と [付与先ごとの終了条件](effect.md#付与元と付与先の終了条件を別々に決める) は、装備条件と付与先のEffect処理を分けて設計する判断基準である。付与予約・死亡時の処理・終了順は本体 `6e2b1d0850a3f0adeb7e785e11260c0b15a963c2` の [データ生成](https://github.com/ProjectTSB/TheSkyBlessing/blob/6e2b1d0850a3f0adeb7e785e11260c0b15a963c2/TheSkyBlessing/data/asset_manager/functions/effect/give/make_effect_data.mcfunction)、[tick](https://github.com/ProjectTSB/TheSkyBlessing/blob/6e2b1d0850a3f0adeb7e785e11260c0b15a963c2/TheSkyBlessing/data/asset_manager/functions/effect/tick.mcfunction)、[foreach](https://github.com/ProjectTSB/TheSkyBlessing/blob/6e2b1d0850a3f0adeb7e785e11260c0b15a963c2/TheSkyBlessing/data/asset_manager/functions/effect/foreach.mcfunction) を静的に照合した。この版は処理中にEffectsを保存先から取り出す。利用する本体の契約は、その作業コピーの `docs/knowledge/asset-runtime.md` とAPIを確認する。 + +## 効果の寿命・再付与・自己終了の根拠 + +[装備と効果の寿命](artifact.md#装備と効果の寿命を分ける) は1412の条件判定・装備解除、399の接触移譲・remove/end、400・401の定義を照合した実例。[再付与](effect.md#再付与時の処理は効果の変化に合わせる) は400のgivenによる補正設定とre-givenによる演出、[自己終了](effect.md#自己終了は本体の契約に合わせる) は399のtransferによる自己remove要求と本体の書き戻し・終了順に基づく。死亡・装備解除・付与元との連動は個別仕様、イベント配送とAPI契約は提供側の責務として区別する。 + +本体の基準commit `5d6799ed1` は旧tick/foreach方式の根拠であり、snapshot/process/finish方式の根拠ではない。後者の契約と適用範囲は依存先TheSkyBlessingの `docs/knowledge/asset-runtime.md`「Effect の保存データとイベント処理」、コードと検証の所在は同repoの `sources.md`「Effect の処理中の削除・再付与」を参照する。異なる本体の検証成功を、旧方式向けの説明が成立する証拠にしない。 + +試験条件・実測・対象コードのsnapshot・確認範囲は [検証記録](../verification/dual-rhythm.md) にある。個別の成功試行はそのsnapshotに対する結果であり、後から変更された定義や別の本体との組合せまで保証しない。 diff --git a/docs/verification/dual-rhythm.md b/docs/verification/dual-rhythm.md new file mode 100644 index 00000000000..fda0e5e45f1 --- /dev/null +++ b/docs/verification/dual-rhythm.md @@ -0,0 +1,109 @@ +# 双律の印章の検証記録 + +現行のEffect IDは399(軽減)・400(与ダメージ増加)・401(クールダウン)。2026-09の過去記録の395・396・397にそれぞれ対応する。 + +2026-09-19〜21の記録は当時の未コミット実装に対する既存記録をsourcesから移したもの。本体基準は `5d6799ed1` で、別作業のEffect処理変更後の動作を保証する記録ではない。入力・期待値・実測値・失敗時ログは各節のDevSpaceローカル記録を参照する。旧試行には撤回済みのInRespawnEvent条件が含まれ、現行仕様の根拠にはしない。 + +## 2026-10-08 接触判定の距離指定を削除 + +接触判定を1×2×1のboxに絞り、接触対象の選択・移譲・タグ削除から重複する距離指定を削除した。399・400の説明文も既存のEffectと表現を揃えた。 + +Assetは `9be8e19bbcab6bb59d02ad182b07986dfe2b1340` に上記の変更を加えた作業コピー、本体は `44b7e6e54500eab3dc89de2c2ad70cd471f48ee3` を使用した。共通runnerで [シナリオ](../../tests/scenarios/dual-rhythm.json) を実行した `run-zjrk5vw8` は109項目すべて成功した。同時接触で1人だけへの移譲、接触タグの削除、軽減の解除・復帰、攻撃強化の非重複と時間更新を確認した。サーバーexit 0、全dimension保存、検証中のコード不変も確認した。 + +入力・期待値・実測値はDevSpaceの `.runtime/verification-runs/run-zjrk5vw8/` に保存している。コマンドで初期化・移動したプレイヤーとAPI値による検証であり、描画・音・実際のHP変化は対象外。 + +## 2026-10-08 再付与を演出に限定 + +399・400の補正設定をgivenへまとめ、re-givenは演出だけにした。通常の神器経路では全装備者が同じ補正量を渡すため、適用済みの補正量を変更する再付与は仕様に含めない。シナリオは初回givenと同じ補正量での時間更新を検査する。調整値の受け渡しは、新規付与時に別の値を渡して確認する。 + +本体は確認時点のmaster `44b7e6e54500eab3dc89de2c2ad70cd471f48ee3`、Assetは `8abd461bcda949d4cd70993f771945b5bd306c43` に上記の変更を加えた作業コピー、AnimatedJavaは `e48a116501b931a6688d5bd77e8f60c82de27ffa` を使用した。DevSpaceの検証専用設定で各worktreeを参照し、通常worldを変更せず共通runnerで実行した。 + +`run-ibgfwv1f` は109項目すべて成功した。接触移譲、軽減の解除・復帰、攻撃強化の非重複、同じ補正量での再付与による時間更新、終了時の補正解除を確認した。サーバーexit 0、全dimension保存、検証中のコード不変も確認した。描画・音・実際のHP変化は対象外。 + +初回given前の二重付与は本体の問題として別途検証した。同じmasterに既存の `tests/effect-runtime/pack` だけを追加した隔離コピーで、同じID・Duration・FieldOverrideのgiveを2回実行した。最初はNextEventがgiven、2回目はre-givenとなり、その後のイベント記録もre-givenの1件だけだった。比較として1回だけ付与した場合はgivenが1回実行された。 + +初回 `run-_fjuayr9` は起動直後のRCON応答待ちでタイムアウトし、検査は0項目だった。同じ条件で再試行した `run-9nakl4gb` は、初回givenの配送を期待する4項目目で失敗し、上記のre-givenのみの実測を記録した。両試行とも正常終了・全dimension保存・コード不変を確認した。本体実装は変更しておらず、[TheSkyBlessing #2308](https://github.com/ProjectTSB/TheSkyBlessing/issues/2308) に再現手順と実測を報告した。本体の修正までは、この条件で399・400の初期補正が設定されない。 + +過去の検証にある「初回given前の二重付与でも補正が設定される」「再付与で補正量が変わる」という結果は、変更前の実装に対する記録であり、現行の保証には含めない。各試行の入力・期待値・実測・対象コードはDevSpaceの `.runtime/verification-runs//` に保存している。 + +## 2026-10-06 調整値を神器の付与時引数へ移動 + +補正量と各効果の時間を神器側へまとめ、399のFieldから接触相手の400と自身の401へ引き継ぐ形に変更した。[シナリオ](../../tests/scenarios/dual-rhythm.json) は既存85項目に、付与時に異なる補正量・時間を指定する検査を追加した。 + +初回 `run-olchbvmz` は、攻撃倍率の期待文字列 `1.4d` に対して実測が `1.4000000000000001d` となり失敗した。既存85項目は成功している。実装は変更せず、追加した攻撃倍率の検査を100万倍した整数で比較する形へ直し、期待値の前後1を許容した。再試行時には軽減の失効検査の名前も、観測対象に合わせて修正した。 + +初回を `--retry-of` で指定した `run-rgjwkg_g` は109項目すべて成功した。軽減割合0.25、攻撃強化割合0.4の受け渡し、攻撃強化500tick・待ち時間1600tickが以前の定義値で切り詰められないことを確認した。初回given前の二重付与でも補正が設定され、適用済みの攻撃強化へ異なる補正量と長短両方の時間を再付与すると、その値へ更新された。指定時間での失効と補正解除も成功した。 + +検証対象はAssetの `feat/artifact-1412-seal-of-dual-rhythm`(基準 `5d865731fe8c0338a0ec96646f8feb81372454bf` とレビュー対応の差分)と、本体 `9eab911af967cf976994d6521dfca96810d890dd` の独立したworktree。AnimatedJavaは `e48a116501b931a6688d5bd77e8f60c82de27ffa` のdistを使用した。DevSpaceの検証専用設定で参照先を指定し、同じAsset worktreeのシナリオを `sh scripts/verify.sh` に渡した。通常の作業ツリーや稼働中の別サーバーは変更していない。 + +両試行ともサーバーexit 0、全dimension保存、検証中のコード不変を確認した。期待値・実測・参照repo・差分はDevSpaceの `.runtime/verification-runs//` に保存している。実際の死亡・リスポーン操作、HPの変化、描画や音は確認していない。 + +## 2026-10-03 自己削除APIへの切り替え + +399の接触移譲から `remove/from_id` を呼び、removeイベントで軽減補正を解除する形に変更した。手動の補正解除と `Duration=0` を設定するfinish関数は削除した。 + +`sh scripts/verify.sh Asset/tests/scenarios/dual-rhythm.json` を実行し、`run-c6rfn_id` は85項目すべて成功した。接触時の399と軽減補正の解除、他のUUIDの補正の保持、相手への攻撃強化、待ち時間の継続と終了後の復帰を確認した。装備解除とDeathタグを使った死亡条件の確認も成功した。サーバーはexit 0で終了し、全dimensionの保存と検証中のコード不変を確認した。 + +参照先はDevSpace直下のAssetとTheSkyBlessing。Assetは `dc71eb011015807a1a14628915a621413a2fb3d5` に未コミット変更を加えた状態、本体は `35646d71b2f82f512939df290cf9f759be5ef400` の `fix/1673-effect-removal-during-events` を使用した。本体の未コミット差分はナレッジ文書のみで、AnimatedJavaは `e48a116501b931a6688d5bd77e8f60c82de27ffa` のdistを使用した。 + +入力・期待値・実測・コードの記録はDevSpaceの `.runtime/verification-runs/run-c6rfn_id/` に保存した。明示的に初期化したプレイヤーによる自動検証であり、実際の死亡・リスポーン操作、HPの変化、描画や音は確認していない。 + +## 2026-10-03: 付与・移譲時のSEとパーティクル + +399と400のgiven/re-given、および399の移譲時に演出を追加した。既存の `tests/scenarios/dual-rhythm.json` で、付与・移譲・非重複・時間更新・クールダウン終了・解除・Deathタグfixtureによる死亡時処理を回帰確認した。 + +初回 `run-cgv7oywb` は、起動直後のRCON `tick freeze` の応答待ちで `TimeoutError: timed out` となり、シナリオは0stepだった。サーバーはexit 0で終了し、全dimension保存と検証中のコード不変を確認した。コードを変更せず、初回のresult.jsonを `--retry-of` に指定した `run-lf44rm50` は85stepすべて成功し、runnerもpassedとなった。正常終了・全dimension保存・コード不変を確認し、サーバーログに関数読み込みエラーはなかった。 + +参照先はDevSpace直下のAsset(基準HEAD `318f122aacd2dfb0f033a4f233d84d93cbbbb1aa` と未コミット変更)、TheSkyBlessing(`fc46b38fc33f895f88225470dd8c440887a413e6`)、Asset-AnimatedJava(`e48a116501b931a6688d5bd77e8f60c82de27ffa`)。生ログ・入力・期待値・実測はDevSpaceの `.runtime/verification-runs//` に保存した。プロトコルクライアントによる検証のため、粒子の描画・音の聞こえ方・演出パケットの受信は検証していない。 + +## 2026-10-03: 399の死亡時処理をremoveへ変更 + +399を `ProcessOnDied:"remove"` にし、独自のDeath判定を削除した。本体の死亡時削除と399のremoveイベントによる補正解除を、既存シナリオのDeathタグfixtureで確認した。接触時の自己終了は維持している。実際の死亡・リスポーン操作の試験ではない。 + +`sh scripts/verify.sh Asset/tests/scenarios/dual-rhythm.json` の初回 `run-fjhg57pj` は、SealTargetの接続時にサーバー側の `EncoderException: ConcurrentModificationException` とクライアント側のECONNRESETが記録され、ログイン待ちがタイムアウトした。実行stepは0。コードを変えず、直前のresult.jsonを `--retry-of` で指定して再試行した。 + +`run-4_tlfx0u` と、その再試行 `run-uytkgn2a` はいずれも85stepすべての機能検査に成功した。399と軽減補正の死亡時削除、死亡だけでは401を付与しないこと、通常の移譲・非重複・時間更新・クールダウン・再付与を確認した。ただし両試行とも検証中のナレッジ文書更新により `codeUnchangedDuringRun:false` となり、runner全体のstatusはfailedである。機能検査の成功をrunner全体の合格とは扱わない。終了後のファイルハッシュ照合でコードの変更は検出されず、1回目は両repoのナレッジ、2回目はAssetの `docs/knowledge/object-model.md` の変更を確認した。 + +3試行ともサーバーexit 0・全dimension保存を確認した。初回のみrepo不変チェックも成功。各試行の入力・期待値・実測・対象コード・終了状況はDevSpaceの `.runtime/verification-runs//` に保存している。 + +## 2026-10-03: Effect ID 399〜401での動作検証 + +`sh scripts/verify.sh Asset/tests/scenarios/dual-rhythm.json` を実行し、`run-yk_tw7d7` は85stepすべて成功した。参照先はDevSpace直下のAsset、TheSkyBlessing、Asset-AnimatedJava(dist)。基準HEADはAsset `85332107cbc7a93c33198f4a98f997c61332c6f2`、TheSkyBlessing `31d20b889b981662853a2e37401b1ff347b1067f` で、それぞれの未コミット変更を含む。サーバー正常終了(exit 0)、全dimension保存、検証中repo不変を確認した。入力・期待値・実測値と対象コードのsnapshotはDevSpaceの `.runtime/verification-runs/run-yk_tw7d7/` に保存している。 + +軽減倍率0.9、接触時の軽減解除と1人への攻撃倍率1.2、攻撃強化の非重複・Duration 300への更新・失効、装備解除中も401の残り時間が減ること、再装備で待ち時間が戻らないこと、401終了後の軽減復帰、装備解除による399削除を確認した。別UUIDの補正を残した解除、付与・削除待ちでの移譲抑止、神器を持たない状態での399単体の接触処理、公開Deathタグを明示設定した際の終了も成功した。 + +明示初期化した3人のFloraプレイヤーとコマンドによる装備・移動、tick stepを用いたAPI値の検証である。描画、自然な初回ログイン、実ダメージのHP差、シャード抽選、再接続、実際の死亡・リスポーン操作は対象外。同じ神器同士の持ち替えは独立した試験項目に含めていない。 + +## 2026-09-21: 神器を395の付与に絞り、接触・移譲を395へ移設 + +DevSpaceで `sh scripts/verify.sh Asset/tests/scenarios/dual-rhythm.json` を実行し、`run-m2meiaem` は85stepすべて成功した。正常停止(exit 0)、全dimension保存、検証中repo不変を確認した。従来の移譲・非重複・15秒への更新・装備解除中の397経過・軽減復帰に加え、神器を持たないプレイヤーへ395を直接付与し、395単体でも防御倍率0.9、接触による自身の終了、防御倍率1.0への復帰、397のDuration 1200、接触相手の攻撃倍率1.2を確認した。公開Deathタグを明示設定した場合は395と自身の補正だけが消え、397は付与されなかった。別UUIDの補正との共存、given待ち・remove待ちで移譲しない検査も成功した。 + +32関数の参照先と登録JSON、Asset間の内部呼出し・旧接触タグ・非公開タグ参照がないこと、関連文書のリンクと差分を静的確認した。実サーバー試験は明示初期化したプレイヤーとコマンドによる操作・API値の検査であり、実死亡・リスポーン操作、実ダメージのHP差、描画は未検証。生ログ・入力・期待値・実測値はDevSpaceの `.runtime/verification-runs/run-m2meiaem/result.json` と同ディレクトリに保持する。 + +## 2026-09-21: 個別Asset間の内部関数・リソース共有を除去 + +[シナリオ](../../tests/scenarios/dual-rhythm.json) を73stepへ拡張した。初回 `run-51vetuq2` はテスト開始前にRCON接続拒否で失敗(実行step 0)。同じコード・シナリオで `sh scripts/verify.sh Asset/tests/scenarios/dual-rhythm.json --retry-of .runtime/verification-runs/run-51vetuq2/result.json` を再実行した `run-29t1_c6r` は73stepすべて成功した。両試行とも正常停止(exit 0)、全dimension保存、検証中repo不変を確認した。失敗と再試行の生ログ・期待値・実測値はDevSpaceの各 `.runtime/verification-runs/run-*/result.json` に保持する。 + +## 2026-09-21: 1.triggerの定型とプレイヤー状態の除外 + +[シナリオ](../../tests/scenarios/dual-rhythm.json) に状態条件の検査を追加した。作成時にcommand stepのexpect不足で起動前validationが一度失敗したため補完した。初回実行 `run-xv54vwa9` は「spectatorで395なし」の検査が失敗した。保存されたownerのplayerdataは `playerGameType:0` で、検証座標の `world_manager/area/02.islands/on_entered` が非creativeをsurvivalへ変更する実装と一致した。再試行では装備前にエリア入場を2tick処理し、各状態の維持も期待条件へ追加した。当時のInRespawnEvent fixtureは自動終了を避けるためRespawnEventを10へ設定し、終了時81へ戻した。この5stepは誤った発動制限を検査していたため、後続の訂正で削除した。神器コードはこの失敗前後で変更していない。 + +`sh scripts/verify.sh Asset/tests/scenarios/dual-rhythm.json --retry-of .runtime/verification-runs/run-xv54vwa9/result.json` による再試行 `run-rbfdsm5x` は当時の56stepすべて成功(InRespawnEventによる制限の仕様上の正当性やタグの公開範囲を検証した結果ではない)。spectatorおよび明示設定したDeath/InRespawnEventタグでは共通offhand checkがCanUsedを付け、1412側の条件では395を付与しないことを確認した。従来の移譲・非重複・時間更新・装備解除・397の期限と軽減復帰も成功。実死亡・リスポーン操作は未検証であり、タグfixtureと混同しない。両試行とも正常停止(exit 0)、全dimension保存、検証中のrepo不変を確認した。生ログ・期待値・実測値はDevSpaceの各 `.runtime/verification-runs/run-*/result.json` に保持する。 + +## 2026-09-21: 双律の印章のクールダウンをEffect 397へ変更 + +[シナリオ](../../tests/scenarios/dual-rhythm.json) を397の存在・Durationで検査するよう更新し、DevSpaceで `sh scripts/verify.sh Asset/tests/scenarios/dual-rhythm.json` を実行。`run-w2cqb1n2` は40stepすべて成功し、正常停止(exit 0)、全dimension保存、検証中の参照repo不変を確認した。397のDurationは移譲後1200、装備解除後899、再装備後897、期限直前1、次tickで消滅、その次の神器tickで軽減倍率0.9への復帰を確認した。待機中の接触による再移譲がないこと、既存の攻撃バフの非重複・時間更新・終了、装備解除後の軽減解除も成功した。本体は神器tickの後にEffect tickを実行するため、この復帰順序になる。 + +試験は明示的に初期化したFloraプレイヤーとコマンドによる装備・移動を用いたAPI値の検証。自然なログイン、実ダメージのHP差、描画、再接続、死亡や解除スキルでの操作は検証していない。死亡時keepと解除レベル3は定義・生成されたEffectデータを確認した範囲である。生ログ・入力・期待値・実測値はDevSpaceのローカル領域 `.runtime/verification-runs/run-w2cqb1n2/result.json` と同ディレクトリに保持する。 + +## 2026-09-20: 神器検証の確認範囲 + +DevSpaceの `scripts/verification/clients.cjs`・`run.py` と [1412のシナリオ](../../tests/scenarios/dual-rhythm.json) を静的に照合した。クライアントの入力操作は未実装であり、現試験の装備・接触はサーバーコマンドによる。時間検査は期限前後の網羅ではなく、他の補正が共存する解除も未検査であるため、[Artifact](../knowledge/artifact.md) に確認範囲を追記した。実サーバーでの追加試験や不具合の再現は行っていない。 + +## 2026-09-19: 運用監査後の参照・検証手順 + +共通runnerで別々の新規worldに対して2回実行し、各32step成功、正常停止と全dimension保存、検証中の参照repo不変を確認した。装備・接触・解除・待ち時間・Effect再付与のAPI値を検査し、RarityRegistryへの登録も確認した。前提は明示的なfirst_join・Flora信仰の設定であり、自然な初回ログイン、実際のHP差、シャード抽選、描画、再接続は対象外。実行結果と作成中の失敗・修正履歴はDevSpaceの `docs/knowledge-verification.md`、生ログは `.runtime/verification-runs/` に記録した。成功試行は `run-6h9pqfmv`・`run-2yiezn9g`。 + +## 2026-09-19: 双律の印章とEffectの再付与境界 + +検証は専用ワールドのVanilla 1.20.4と3つのプロトコルクライアントで実施。29個の新規関数の参照先と登録JSONを静的検査し、実サーバーで関数読み込み、アイテム生成、軽減倍率0.9、同時接触時の1人への増加倍率1.2、自身の軽減解除、攻撃バフの終了、装備し直しても待ち時間が残ること、移譲から1200tickを処理した時点で軽減倍率0.9が戻ること、装備解除で倍率1.0へ戻ること、初回given前の二重付与でも1.2となること、再付与でDurationが300へ更新されることを確認した。見た目・リソースパック・実操作でのプレイ感は未検証。tick凍結・stepを使った試験でプレイヤーの初期化済み状態を確認できず、初期化関数を明示実行した。信仰もBelieve.NoneからBelieve.Floraへ手動設定しており、自然な初回ログインの検証ではない。生ログはDevSpaceのローカル領域 `.runtime/dual-rhythm-verification/` に保持する。 diff --git a/tests/scenarios/dual-rhythm.json b/tests/scenarios/dual-rhythm.json new file mode 100644 index 00000000000..f6af842a873 --- /dev/null +++ b/tests/scenarios/dual-rhythm.json @@ -0,0 +1,1034 @@ +{ + "name": "dual-rhythm-1412", + "scope": { + "verified": "Explicitly initialized Flora players; artifact grants guard; Effect owns contact and transfer; inventory/tick/Effect/modifier integration; no natural-login or HP-damage assertion. Caller-supplied amounts and durations; given initialization and same-amount refresh; pending-given overwrite is investigated separately in core.", + "fixture": "Fresh flat world; protocol clients; first_join and faith tags set explicitly; time advanced with tick step. The Death tag is set directly for condition checks, not a death/respawn lifecycle test. Area entry settles before spectator checks. Final lifecycle checks give/remove Effect 399 through public APIs; an independent modifier UUID belongs only to the test fixture.", + "notVerified": [ + "rendering", + "resource pack", + "natural first join", + "actual damage HP", + "shard draw", + "rejoin", + "actual death and respawn lifecycle" + ] + }, + "players": [ + "SealOwner", + "SealTarget", + "SealThird" + ], + "steps": [ + { + "name": "Explicit fixture: initialize players and choose Flora", + "commands": [ + "gamerule doMobSpawning false", + "gamerule doDaylightCycle false", + "gamemode creative @a", + "execute as @a at @s run function core:handler/first_join", + "tag @a remove Believe.None", + "tag @a add Believe.Flora", + "fill -5 79 -5 15 79 5 stone", + "tp SealOwner 0.5 80 0.5", + "tp SealTarget 5.5 80 0.5", + "tp SealThird 10.5 80 0.5", + "clear @a", + "execute if entity @a[name=SealOwner,tag=Friend,tag=Believe.Flora]" + ], + "expect": [ + "Test passed" + ] + }, + { + "name": "Baseline defense", + "commands": [ + "execute as SealOwner run function api:modifier/defense/base/get", + "data get storage api: Return.Defense.Base" + ], + "expect": [ + "following contents: 1\\.0d" + ] + }, + { + "name": "Settle area entry before equipping and changing game mode", + "ticks": 2 + }, + { + "name": "Create and equip artifact through public API", + "commands": [ + "data modify storage api: Argument.ID set value 1412", + "execute as SealOwner at @s run function api:artifact/give/from_id", + "item replace entity SealOwner weapon.offhand from entity SealOwner hotbar.0", + "item replace entity SealOwner hotbar.0 with air", + "execute if data entity SealOwner Inventory[{Slot:-106b}].tag.TSB{ID:1412}" + ], + "expect": [ + "Test passed" + ] + }, + { + "name": "Rarity pool includes artifact 1412", + "commands": [ + "data get storage asset:artifact RarityRegistry[4]" + ], + "expect": [ + "\\[1412\\]" + ] + }, + { + "name": "Fixture: enter spectator before activation", + "commands": [ + "gamemode spectator SealOwner" + ], + "expect": [ + "(Set .*game mode|Added tag|Removed tag)" + ] + }, + { + "name": "Process artifact tick with spectator", + "ticks": 3 + }, + { + "name": "No guard given with spectator", + "commands": [ + "data modify storage api: Argument.ID set value 399", + "execute as SealOwner run function api:entity/mob/effect/get/from_id", + "execute if entity @a[name=SealOwner,gamemode=spectator] unless data storage api: Return.Effect" + ], + "expect": [ + "Test passed" + ] + }, + { + "name": "Common offhand check alone allows spectator", + "commands": [ + "execute as SealOwner run function asset_manager:artifact/data/new/init", + "function asset_manager:artifact/data/new/set_to_current", + "execute as SealOwner run function asset:artifact/common/check_condition/offhand", + "execute if entity @a[name=SealOwner,tag=CanUsed,gamemode=spectator]" + ], + "expect": [ + "Test passed" + ] + }, + { + "name": "Fixture: leave spectator", + "commands": [ + "gamemode creative SealOwner" + ], + "expect": [ + "(Set .*game mode|Added tag|Removed tag)" + ] + }, + { + "name": "Fixture: enter Death tag before activation", + "commands": [ + "tag SealOwner add Death" + ], + "expect": [ + "(Set .*game mode|Added tag|Removed tag)" + ] + }, + { + "name": "Process artifact tick with Death tag", + "ticks": 3 + }, + { + "name": "No guard given with Death tag", + "commands": [ + "data modify storage api: Argument.ID set value 399", + "execute as SealOwner run function api:entity/mob/effect/get/from_id", + "execute if entity @a[name=SealOwner,tag=Death] unless data storage api: Return.Effect" + ], + "expect": [ + "Test passed" + ] + }, + { + "name": "Common offhand check alone allows Death tag", + "commands": [ + "execute as SealOwner run function asset_manager:artifact/data/new/init", + "function asset_manager:artifact/data/new/set_to_current", + "execute as SealOwner run function asset:artifact/common/check_condition/offhand", + "execute if entity @a[name=SealOwner,tag=CanUsed,tag=Death]" + ], + "expect": [ + "Test passed" + ] + }, + { + "name": "Fixture: leave Death tag", + "commands": [ + "tag SealOwner remove Death" + ], + "expect": [ + "(Set .*game mode|Added tag|Removed tag)" + ] + }, + { + "name": "Process equipment and Effect events", + "ticks": 3 + }, + { + "name": "Solo guard is active", + "commands": [ + "execute as SealOwner run function api:modifier/defense/base/get", + "data get storage api: Return.Defense.Base" + ], + "expect": [ + "following contents: 0\\.9d" + ] + }, + { + "name": "Contact two players", + "commands": [ + "tp SealTarget 1.1 80 0.5", + "tp SealThird -0.1 80 0.5" + ], + "expect": [ + "Teleported" + ] + }, + { + "name": "Process contact", + "ticks": 1 + }, + { + "name": "Owner guard removed", + "commands": [ + "execute as SealOwner run function api:modifier/defense/base/get", + "data get storage api: Return.Defense.Base" + ], + "expect": [ + "following contents: 1\\.0d" + ] + }, + { + "name": "Process Effects granted during contact independently of player order", + "ticks": 1 + }, + { + "name": "Exactly one target gets boost", + "commands": [ + "execute as SealTarget run function api:modifier/attack/base/get", + "data get storage api: Return.Attack.Base", + "execute as SealThird run function api:modifier/attack/base/get", + "data get storage api: Return.Attack.Base" + ], + "expect": [ + "following contents: 1\\.0d", + "following contents: 1\\.2d" + ] + }, + { + "name": "Cooldown Effect starts at 1200 ticks; unequip", + "commands": [ + "data modify storage api: Argument.ID set value 401", + "execute as SealOwner run function api:entity/mob/effect/get/from_id", + "execute if data storage api: Return.Effect{ID:401,Duration:1200,IsBadEffect:1b,Visible:1b,ProcessOnDied:\"keep\",RequireClearLv:3}", + "item replace entity SealOwner hotbar.0 from entity SealOwner weapon.offhand", + "item replace entity SealOwner weapon.offhand with air" + ], + "expect": [ + "Test passed", + "Replaced" + ] + }, + { + "name": "Boost duration expires while unequipped", + "ticks": 301 + }, + { + "name": "Cooldown counts down while unequipped", + "commands": [ + "data modify storage api: Argument.ID set value 401", + "execute as SealOwner run function api:entity/mob/effect/get/from_id", + "execute if data storage api: Return.Effect{ID:401,Duration:899}" + ], + "expect": [ + "Test passed" + ] + }, + { + "name": "Target boost expired", + "commands": [ + "execute as SealTarget run function api:modifier/attack/base/get", + "data get storage api: Return.Attack.Base" + ], + "expect": [ + "following contents: 1\\.0d" + ] + }, + { + "name": "Third boost expired", + "commands": [ + "execute as SealThird run function api:modifier/attack/base/get", + "data get storage api: Return.Attack.Base" + ], + "expect": [ + "following contents: 1\\.0d" + ] + }, + { + "name": "Re-equip while still touching", + "commands": [ + "item replace entity SealOwner weapon.offhand from entity SealOwner hotbar.0", + "item replace entity SealOwner hotbar.0 with air" + ], + "expect": [ + "Replaced" + ] + }, + { + "name": "Process re-equip in cooldown", + "ticks": 2 + }, + { + "name": "Re-equip does not reset cooldown", + "commands": [ + "execute as SealOwner run function api:modifier/defense/base/get", + "data get storage api: Return.Defense.Base" + ], + "expect": [ + "following contents: 1\\.0d" + ] + }, + { + "name": "Contact without guard does not transfer", + "commands": [ + "data modify storage api: Argument.ID set value 401", + "execute as SealOwner run function api:entity/mob/effect/get/from_id", + "execute if data storage api: Return.Effect{ID:401,Duration:897}" + ], + "expect": [ + "Test passed" + ] + }, + { + "name": "SealTarget receives no boost during cooldown", + "commands": [ + "execute as SealTarget run function api:modifier/attack/base/get", + "data get storage api: Return.Attack.Base" + ], + "expect": [ + "following contents: 1\\.0d" + ] + }, + { + "name": "SealThird receives no boost during cooldown", + "commands": [ + "execute as SealThird run function api:modifier/attack/base/get", + "data get storage api: Return.Attack.Base" + ], + "expect": [ + "following contents: 1\\.0d" + ] + }, + { + "name": "Separate players and give boost", + "commands": [ + "tp SealTarget 5.5 80 0.5", + "tp SealThird 10.5 80 0.5", + "data modify storage api: Argument.ID set value 400", + "data modify storage api: Argument.Duration set value 300", + "data modify storage api: Argument.FieldOverride set value {AttackAmount:0.2d}", + "execute as SealTarget run function api:entity/mob/effect/give", + "function api:entity/mob/effect/reset" + ], + "expect": [ + "Running function" + ] + }, + { + "name": "Process initial given", + "ticks": 1 + }, + { + "name": "Initial given applies twenty percent boost", + "commands": [ + "execute as SealTarget run function api:modifier/attack/base/get", + "data get storage api: Return.Attack.Base" + ], + "expect": [ + "following contents: 1\\.2d" + ] + }, + { + "name": "Advance boost timer", + "ticks": 100 + }, + { + "name": "Refresh boost duration", + "commands": [ + "data modify storage api: Argument.ID set value 400", + "data modify storage api: Argument.Duration set value 300", + "data modify storage api: Argument.FieldOverride set value {AttackAmount:0.2d}", + "execute as SealTarget run function api:entity/mob/effect/give", + "function api:entity/mob/effect/reset" + ], + "expect": [ + "Running function" + ] + }, + { + "name": "Process refresh", + "ticks": 1 + }, + { + "name": "Refresh yields Duration 300", + "commands": [ + "data modify storage api: Argument.ID set value 400", + "execute as SealTarget run function api:entity/mob/effect/get/from_id", + "data get storage api: Return.Effect.Duration" + ], + "expect": [ + "following contents: 300" + ] + }, + { + "name": "Refresh remains 20 percent", + "commands": [ + "execute as SealTarget run function api:modifier/attack/base/get", + "data get storage api: Return.Attack.Base" + ], + "expect": [ + "following contents: 1\\.2d" + ] + }, + { + "name": "Advance to one tick before cooldown Effect expires", + "ticks": 794 + }, + { + "name": "Cooldown still has one tick remaining", + "commands": [ + "data modify storage api: Argument.ID set value 401", + "execute as SealOwner run function api:entity/mob/effect/get/from_id", + "execute if data storage api: Return.Effect{ID:401,Duration:1}" + ], + "expect": [ + "Test passed" + ] + }, + { + "name": "Guard unavailable before cooldown expires", + "commands": [ + "execute as SealOwner run function api:modifier/defense/base/get", + "data get storage api: Return.Defense.Base" + ], + "expect": [ + "following contents: 1\\.0d" + ] + }, + { + "name": "Expire cooldown Effect", + "ticks": 1 + }, + { + "name": "Cooldown Effect removed at its deadline", + "commands": [ + "data modify storage api: Argument.ID set value 401", + "execute as SealOwner run function api:entity/mob/effect/get/from_id", + "execute unless data storage api: Return.Effect" + ], + "expect": [ + "Test passed" + ] + }, + { + "name": "Artifact observes expired cooldown on next tick", + "ticks": 1 + }, + { + "name": "Guard restored after cooldown", + "commands": [ + "execute as SealOwner run function api:modifier/defense/base/get", + "data get storage api: Return.Defense.Base" + ], + "expect": [ + "following contents: 0\\.9d" + ] + }, + { + "name": "Unequip guard", + "commands": [ + "item replace entity SealOwner weapon.offhand with air" + ], + "expect": [ + "Replaced" + ] + }, + { + "name": "Process unequip", + "ticks": 1 + }, + { + "name": "Guard removed on unequip", + "commands": [ + "execute as SealOwner run function api:modifier/defense/base/get", + "data get storage api: Return.Defense.Base" + ], + "expect": [ + "following contents: 1\\.0d" + ] + }, + { + "name": "Guard Effect and temporary contact tags are absent", + "commands": [ + "data modify storage api: Argument.ID set value 399", + "execute as SealOwner run function api:entity/mob/effect/get/from_id", + "execute unless data storage api: Return.Effect if entity @a[name=SealOwner,tag=!this,tag=!399.Contact] unless entity @a[tag=399.Contact]" + ], + "expect": [ + "Test passed" + ] + }, + { + "name": "Fixture: independent defense modifier and pending guard while touching", + "commands": [ + "data modify storage api: Argument.UUID set value [I;0,0,0,1412]", + "data modify storage api: Argument.Amount set value 0.5d", + "data modify storage api: Argument.Operation set value \"multiply\"", + "execute as SealOwner run function api:modifier/defense/base/add", + "data modify storage api: Argument.ID set value 1412", + "execute as SealOwner at @s run function api:artifact/give/from_id", + "item replace entity SealOwner weapon.offhand from entity SealOwner hotbar.0", + "item replace entity SealOwner hotbar.0 with air", + "tp SealTarget 1.1 80 0.5", + "data modify storage api: Argument.ID set value 399", + "data modify storage api: Argument.Duration set value 2147483647", + "data modify storage api: Argument.FieldOverride set value {DefenseAmount:0.1d,AttackAmount:0.2d,AttackDuration:300,Cooldown:1200}", + "execute as SealOwner run function api:entity/mob/effect/give", + "function api:entity/mob/effect/reset", + "data modify storage api: Argument.ID set value 399", + "execute as SealOwner run function api:entity/mob/effect/get/from_id", + "execute if data storage api: Return.Effect{NextEvent:\"given\"}" + ], + "expect": [ + "Test passed" + ] + }, + { + "name": "Process pending given before permitting transfer", + "ticks": 1 + }, + { + "name": "Guard stacks with independent defense contribution", + "commands": [ + "execute as SealOwner run function api:modifier/defense/base/get", + "data get storage api: Return.Defense.Base" + ], + "expect": [ + "following contents: 0\\.45d" + ] + }, + { + "name": "Pending given did not start cooldown", + "commands": [ + "data modify storage api: Argument.ID set value 401", + "execute as SealOwner run function api:entity/mob/effect/get/from_id", + "execute unless data storage api: Return.Effect" + ], + "expect": [ + "Test passed" + ] + }, + { + "name": "Pending given did not grant target boost", + "commands": [ + "data modify storage api: Argument.ID set value 400", + "execute as SealTarget run function api:entity/mob/effect/get/from_id", + "execute unless data storage api: Return.Effect" + ], + "expect": [ + "Test passed" + ] + }, + { + "name": "Remove guard through public API before next contact tick", + "commands": [ + "data modify storage api: Argument.ID set value 399", + "execute as SealOwner run function api:entity/mob/effect/remove/from_id", + "function api:entity/mob/effect/reset", + "data modify storage api: Argument.ID set value 399", + "execute as SealOwner run function api:entity/mob/effect/get/from_id", + "execute if data storage api: Return.Effect{Duration:-1}" + ], + "expect": [ + "Test passed" + ] + }, + { + "name": "Process pending removal while still touching", + "ticks": 1 + }, + { + "name": "Removal event deleted guard", + "commands": [ + "data modify storage api: Argument.ID set value 399", + "execute as SealOwner run function api:entity/mob/effect/get/from_id", + "execute unless data storage api: Return.Effect" + ], + "expect": [ + "Test passed" + ] + }, + { + "name": "Pending removal did not start cooldown", + "commands": [ + "data modify storage api: Argument.ID set value 401", + "execute as SealOwner run function api:entity/mob/effect/get/from_id", + "execute unless data storage api: Return.Effect" + ], + "expect": [ + "Test passed" + ] + }, + { + "name": "Pending removal did not grant target boost", + "commands": [ + "data modify storage api: Argument.ID set value 400", + "execute as SealTarget run function api:entity/mob/effect/get/from_id", + "execute unless data storage api: Return.Effect" + ], + "expect": [ + "Test passed" + ] + }, + { + "name": "Removal retains independent defense contribution", + "commands": [ + "execute as SealOwner run function api:modifier/defense/base/get", + "data get storage api: Return.Defense.Base" + ], + "expect": [ + "following contents: 0\\.5d" + ] + }, + { + "name": "Reapply guard after removal completes", + "ticks": 1 + }, + { + "name": "Guard reapplied without duplicating independent contribution", + "commands": [ + "execute as SealOwner run function api:modifier/defense/base/get", + "data get storage api: Return.Defense.Base" + ], + "expect": [ + "following contents: 0\\.45d" + ] + }, + { + "name": "Active guard permits transfer on following tick", + "ticks": 1 + }, + { + "name": "Transfer removes only guard contribution through Effect event", + "commands": [ + "execute as SealOwner run function api:modifier/defense/base/get", + "data get storage api: Return.Defense.Base" + ], + "expect": [ + "following contents: 0\\.5d" + ] + }, + { + "name": "Process transferred boost on target", + "ticks": 1 + }, + { + "name": "Active guard transfer gives target twenty percent boost", + "commands": [ + "execute as SealTarget run function api:modifier/attack/base/get", + "data get storage api: Return.Attack.Base" + ], + "expect": [ + "following contents: 1\\.2d" + ] + }, + { + "name": "Cleanup independent fixture modifier", + "commands": [ + "data modify storage api: Argument.UUID set value [I;0,0,0,1412]", + "execute as SealOwner run function api:modifier/defense/base/remove", + "execute as SealOwner run function api:modifier/defense/base/get", + "data get storage api: Return.Defense.Base" + ], + "expect": [ + "following contents: 1\\.0d" + ] + }, + { + "name": "Fixture: grant standalone guard without the artifact", + "commands": [ + "tp SealTarget 5.5 80 0.5", + "tp SealThird 10.5 80 0.5", + "data modify storage api: Argument.ID set value 399", + "data modify storage api: Argument.Duration set value 2147483647", + "data modify storage api: Argument.FieldOverride set value {DefenseAmount:0.1d,AttackAmount:0.2d,AttackDuration:300,Cooldown:1200}", + "execute as SealThird run function api:entity/mob/effect/give", + "function api:entity/mob/effect/reset", + "execute unless data entity SealThird Inventory[{tag:{TSB:{ID:1412}}}]" + ], + "expect": [ + "Test passed" + ] + }, + { + "name": "Activate standalone guard", + "ticks": 1 + }, + { + "name": "Standalone guard supplies its own defense", + "commands": [ + "execute as SealThird run function api:modifier/defense/base/get", + "data get storage api: Return.Defense.Base" + ], + "expect": [ + "following contents: 0\\.9d" + ] + }, + { + "name": "Fixture: mark standalone guard holder dead", + "commands": [ + "tag SealThird add Death" + ], + "expect": [ + "Added tag" + ] + }, + { + "name": "Remove guard through standard death handling", + "ticks": 1 + }, + { + "name": "Death handling removes standalone guard", + "commands": [ + "data modify storage api: Argument.ID set value 399", + "execute as SealThird run function api:entity/mob/effect/get/from_id", + "execute unless data storage api: Return.Effect" + ], + "expect": [ + "Test passed" + ] + }, + { + "name": "Death handling removes only guard modifier", + "commands": [ + "execute as SealThird run function api:modifier/defense/base/get", + "data get storage api: Return.Defense.Base" + ], + "expect": [ + "following contents: 1\\.0d" + ] + }, + { + "name": "Death handling does not grant cooldown", + "commands": [ + "data modify storage api: Argument.ID set value 401", + "execute as SealThird run function api:entity/mob/effect/get/from_id", + "execute unless data storage api: Return.Effect" + ], + "expect": [ + "Test passed" + ] + }, + { + "name": "Fixture: restore holder and give guard while touching", + "commands": [ + "tag SealThird remove Death", + "tp SealTarget 11.1 80 0.5", + "data modify storage api: Argument.ID set value 399", + "data modify storage api: Argument.Duration set value 2147483647", + "data modify storage api: Argument.FieldOverride set value {DefenseAmount:0.1d,AttackAmount:0.2d,AttackDuration:300,Cooldown:1200}", + "execute as SealThird run function api:entity/mob/effect/give", + "function api:entity/mob/effect/reset" + ], + "expect": [ + "Running function" + ] + }, + { + "name": "Standalone Effect activates then transfers", + "ticks": 2 + }, + { + "name": "Standalone Effect consumes itself on contact", + "commands": [ + "data modify storage api: Argument.ID set value 399", + "execute as SealThird run function api:entity/mob/effect/get/from_id", + "execute unless data storage api: Return.Effect" + ], + "expect": [ + "Test passed" + ] + }, + { + "name": "Standalone Effect grants its own cooldown", + "commands": [ + "data modify storage api: Argument.ID set value 401", + "execute as SealThird run function api:entity/mob/effect/get/from_id", + "execute if data storage api: Return.Effect{ID:401,Duration:1200}" + ], + "expect": [ + "Test passed" + ] + }, + { + "name": "Standalone transfer releases defense modifier", + "commands": [ + "execute as SealThird run function api:modifier/defense/base/get", + "data get storage api: Return.Defense.Base" + ], + "expect": [ + "following contents: 1\\.0d" + ] + }, + { + "name": "Process standalone transfer boost", + "ticks": 1 + }, + { + "name": "Standalone transfer refreshes target boost without stacking", + "commands": [ + "execute as SealTarget run function api:modifier/attack/base/get", + "data get storage api: Return.Attack.Base" + ], + "expect": [ + "following contents: 1\\.2d" + ] + }, + { + "name": "Fixture: clear effects before caller-configured values", + "commands": [ + "item replace entity SealOwner weapon.offhand with air", + "tp SealOwner 0.5 80 0.5", + "tp SealTarget 5.5 80 0.5", + "tp SealThird 10.5 80 0.5", + "data modify storage api: Argument.ID set value 399", + "execute as @a run function api:entity/mob/effect/remove/from_id", + "function api:entity/mob/effect/reset", + "data modify storage api: Argument.ID set value 400", + "execute as @a run function api:entity/mob/effect/remove/from_id", + "function api:entity/mob/effect/reset", + "data modify storage api: Argument.ID set value 401", + "execute as @a run function api:entity/mob/effect/remove/from_id", + "function api:entity/mob/effect/reset" + ], + "expect": [ + "Running function" + ] + }, + { + "name": "Process fixture removals", + "ticks": 1 + }, + { + "name": "Give guard with caller-configured values", + "commands": [ + "data modify storage api: Argument.ID set value 399", + "data modify storage api: Argument.Duration set value 40", + "data modify storage api: Argument.FieldOverride set value {DefenseAmount:0.25d,AttackAmount:0.4d,AttackDuration:500,Cooldown:1600}", + "execute as SealThird run function api:entity/mob/effect/give", + "function api:entity/mob/effect/reset" + ], + "expect": [ + "Running function" + ] + }, + { + "name": "Initialize configured guard through given", + "ticks": 1 + }, + { + "name": "Configured guard reduces damage by twenty-five percent", + "commands": [ + "execute as SealThird run function api:modifier/defense/base/get", + "data get storage api: Return.Defense.Base" + ], + "expect": [ + "following contents: 0\\.75d" + ] + }, + { + "name": "Touch recipient with configured guard", + "commands": [ + "tp SealTarget 11.1 80 0.5" + ], + "expect": [ + "Teleported" + ] + }, + { + "name": "Transfer caller-configured boost and cooldown", + "ticks": 1 + }, + { + "name": "Cooldown accepts duration above former default", + "commands": [ + "data modify storage api: Argument.ID set value 401", + "execute as SealThird run function api:entity/mob/effect/get/from_id", + "execute if data storage api: Return.Effect{Duration:1600}", + "function api:entity/mob/effect/reset" + ], + "expect": [ + "Test passed" + ] + }, + { + "name": "Apply configured boost", + "ticks": 1 + }, + { + "name": "Boost uses configured amount", + "commands": [ + "execute as SealTarget run function api:modifier/attack/base/get", + "execute store result score #DualRhythmValue Temporary run data get storage api: Return.Attack.Base 1000000", + "execute if score #DualRhythmValue Temporary matches 1399999..1400001", + "scoreboard players reset #DualRhythmValue Temporary" + ], + "expect": [ + "Test passed" + ] + }, + { + "name": "Boost duration is not capped at former default", + "commands": [ + "data modify storage api: Argument.ID set value 400", + "execute as SealTarget run function api:entity/mob/effect/get/from_id", + "data get storage api: Return.Effect.Duration", + "function api:entity/mob/effect/reset" + ], + "expect": [ + "following contents: (499|500)\\b" + ] + }, + { + "name": "Refresh active boost with the same amount and longer duration", + "commands": [ + "data modify storage api: Argument.ID set value 400", + "data modify storage api: Argument.Duration set value 600", + "data modify storage api: Argument.FieldOverride set value {AttackAmount:0.4d}", + "execute as SealTarget run function api:entity/mob/effect/give", + "function api:entity/mob/effect/reset" + ], + "expect": [ + "Running function" + ] + }, + { + "name": "Apply longer boost duration", + "ticks": 1 + }, + { + "name": "Re-given preserves configured amount without stacking", + "commands": [ + "execute as SealTarget run function api:modifier/attack/base/get", + "execute store result score #DualRhythmValue Temporary run data get storage api: Return.Attack.Base 1000000", + "execute if score #DualRhythmValue Temporary matches 1399999..1400001", + "scoreboard players reset #DualRhythmValue Temporary" + ], + "expect": [ + "Test passed" + ] + }, + { + "name": "Re-given replaces duration with caller value", + "commands": [ + "data modify storage api: Argument.ID set value 400", + "execute as SealTarget run function api:entity/mob/effect/get/from_id", + "execute if data storage api: Return.Effect{Duration:600}", + "function api:entity/mob/effect/reset" + ], + "expect": [ + "Test passed" + ] + }, + { + "name": "Refresh boost with shorter caller duration", + "commands": [ + "data modify storage api: Argument.ID set value 400", + "data modify storage api: Argument.Duration set value 40", + "data modify storage api: Argument.FieldOverride set value {AttackAmount:0.4d}", + "execute as SealTarget run function api:entity/mob/effect/give", + "function api:entity/mob/effect/reset" + ], + "expect": [ + "Running function" + ] + }, + { + "name": "Apply shortened duration", + "ticks": 1 + }, + { + "name": "Shorter refresh preserves configured amount", + "commands": [ + "execute as SealTarget run function api:modifier/attack/base/get", + "execute store result score #DualRhythmValue Temporary run data get storage api: Return.Attack.Base 1000000", + "execute if score #DualRhythmValue Temporary matches 1399999..1400001", + "scoreboard players reset #DualRhythmValue Temporary" + ], + "expect": [ + "Test passed" + ] + }, + { + "name": "Expire boost after caller duration", + "ticks": 40 + }, + { + "name": "Configured boost expires and removes its modifier", + "commands": [ + "data modify storage api: Argument.ID set value 400", + "execute as SealTarget run function api:entity/mob/effect/get/from_id", + "execute unless data storage api: Return.Effect", + "function api:entity/mob/effect/reset", + "execute as SealTarget run function api:modifier/attack/base/get", + "data get storage api: Return.Attack.Base" + ], + "expect": [ + "Test passed", + "following contents: 1\\.0d" + ] + }, + { + "name": "Give short-lived guard away from other players", + "commands": [ + "tp SealTarget 5.5 80 0.5", + "data modify storage api: Argument.ID set value 399", + "data modify storage api: Argument.Duration set value 2", + "data modify storage api: Argument.FieldOverride set value {DefenseAmount:0.25d,AttackAmount:0.4d,AttackDuration:500,Cooldown:1600}", + "execute as SealThird run function api:entity/mob/effect/give", + "function api:entity/mob/effect/reset" + ], + "expect": [ + "Running function" + ] + }, + { + "name": "Apply short-lived guard", + "ticks": 1 + }, + { + "name": "Expire guard at caller duration", + "ticks": 2 + }, + { + "name": "Guard expiry removes defense", + "commands": [ + "data modify storage api: Argument.ID set value 399", + "execute as SealThird run function api:entity/mob/effect/get/from_id", + "execute unless data storage api: Return.Effect", + "function api:entity/mob/effect/reset", + "execute as SealThird run function api:modifier/defense/base/get", + "data get storage api: Return.Defense.Base" + ], + "expect": [ + "Test passed", + "following contents: 1\\.0d" + ] + } + ] +} From ba4080be3bdb61eed3c800e09a63c0ce631c0b56 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Mon, 19 Oct 2026 15:11:28 +0200 Subject: [PATCH 41/50] =?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 --- .../give/2.give.mcfunction | 2 +- .../release_using_item/1.trigger.mcfunction | 8 +++++ .../2.check_condition.mcfunction | 18 ++++++++++++ .../release_using_item/3.1.spark/.mcfunction | 28 ++++++++++++++++++ .../3.1.spark}/rec.mcfunction | 10 +++---- .../3.1.spark/summon.m.mcfunction} | 14 ++++----- .../release_using_item/3.2.beam/.mcfunction | 15 ++++++++++ .../3.2.beam}/summon.mcfunction | 14 ++++----- .../release_using_item/3.3.laser/.mcfunction | 19 ++++++++++++ .../3.3.laser/damage.mcfunction | 17 +++++++++++ .../3.3.laser}/rec.mcfunction | 6 ++-- .../trigger/3.main.mcfunction | 23 --------------- .../trigger/charge.mcfunction | 10 ------- .../1.trigger.mcfunction | 4 +-- .../2.check_condition.mcfunction | 8 ++--- .../using_item/3.main.mcfunction | 23 +++++++++++++++ .../using_item/charge.mcfunction | 14 +++++++++ .../using_item/charge/2.mcfunction | 22 ++++++++++++++ .../using_item}/charge/3.mcfunction | 11 ++++--- .../using_item/charge/check/2.mcfunction | 10 +++++++ .../using_item/charge/check/3.mcfunction | 10 +++++++ .../0374.charge_plasma/_/end.mcfunction | 7 ----- .../0374.charge_plasma/_/re-given.mcfunction | 7 ----- .../effect/0374.charge_plasma/end/.mcfunction | 10 ------- .../end/attack/1/.mcfunction | 26 ----------------- .../end/attack/2/.mcfunction | 15 ---------- .../end/attack/3/.mcfunction | 19 ------------ .../end/attack/3/damage.mcfunction | 17 ----------- .../0374.charge_plasma/re-given/.mcfunction | 29 ------------------- .../re-given/charge/2.mcfunction | 19 ------------ .../re-given/charge/check/2.mcfunction | 10 ------- .../re-given/charge/check/3.mcfunction | 10 ------- .../0374.charge_plasma/register.mcfunction | 8 ++--- .../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 - 37 files changed, 224 insertions(+), 245 deletions(-) create mode 100644 Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/1.trigger.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/2.check_condition.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.1.spark/.mcfunction rename Asset/data/asset/functions/{effect/0374.charge_plasma/end/attack/1 => artifact/1465.versatile_plasma/release_using_item/3.1.spark}/rec.mcfunction (57%) rename Asset/data/asset/functions/{effect/0374.charge_plasma/end/attack/1/m.mcfunction => artifact/1465.versatile_plasma/release_using_item/3.1.spark/summon.m.mcfunction} (53%) create mode 100644 Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.2.beam/.mcfunction rename Asset/data/asset/functions/{effect/0374.charge_plasma/end/attack/2 => artifact/1465.versatile_plasma/release_using_item/3.2.beam}/summon.mcfunction (50%) create mode 100644 Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/damage.mcfunction rename Asset/data/asset/functions/{effect/0374.charge_plasma/end/attack/3 => artifact/1465.versatile_plasma/release_using_item/3.3.laser}/rec.mcfunction (66%) delete mode 100644 Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/3.main.mcfunction delete mode 100644 Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/charge.mcfunction rename Asset/data/asset/functions/artifact/1465.versatile_plasma/{trigger => using_item}/1.trigger.mcfunction (70%) rename Asset/data/asset/functions/artifact/1465.versatile_plasma/{trigger => using_item}/2.check_condition.mcfunction (70%) create mode 100644 Asset/data/asset/functions/artifact/1465.versatile_plasma/using_item/3.main.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1465.versatile_plasma/using_item/charge.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1465.versatile_plasma/using_item/charge/2.mcfunction rename Asset/data/asset/functions/{effect/0374.charge_plasma/re-given => artifact/1465.versatile_plasma/using_item}/charge/3.mcfunction (53%) create mode 100644 Asset/data/asset/functions/artifact/1465.versatile_plasma/using_item/charge/check/2.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1465.versatile_plasma/using_item/charge/check/3.mcfunction delete mode 100644 Asset/data/asset/functions/effect/0374.charge_plasma/_/end.mcfunction delete mode 100644 Asset/data/asset/functions/effect/0374.charge_plasma/_/re-given.mcfunction delete mode 100644 Asset/data/asset/functions/effect/0374.charge_plasma/end/.mcfunction delete mode 100644 Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/1/.mcfunction delete mode 100644 Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/2/.mcfunction delete mode 100644 Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/.mcfunction delete mode 100644 Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/damage.mcfunction delete mode 100644 Asset/data/asset/functions/effect/0374.charge_plasma/re-given/.mcfunction delete mode 100644 Asset/data/asset/functions/effect/0374.charge_plasma/re-given/charge/2.mcfunction delete mode 100644 Asset/data/asset/functions/effect/0374.charge_plasma/re-given/charge/check/2.mcfunction delete mode 100644 Asset/data/asset/functions/effect/0374.charge_plasma/re-given/charge/check/3.mcfunction diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/give/2.give.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/give/2.give.mcfunction index 9a106821b1a..fe02979865d 100644 --- a/Asset/data/asset/functions/artifact/1465.versatile_plasma/give/2.give.mcfunction +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/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/1465.versatile_plasma/release_using_item/1.trigger.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/1.trigger.mcfunction new file mode 100644 index 00000000000..104e94d36b6 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/1.trigger.mcfunction @@ -0,0 +1,8 @@ +#> asset:artifact/1465.versatile_plasma/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:1465} run function asset:artifact/1465.versatile_plasma/release_using_item/2.check_condition diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/2.check_condition.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/2.check_condition.mcfunction new file mode 100644 index 00000000000..603ee26b8cc --- /dev/null +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/2.check_condition.mcfunction @@ -0,0 +1,18 @@ +#> asset:artifact/1465.versatile_plasma/release_using_item/2.check_condition +# +# +# +# @within function asset:artifact/1465.versatile_plasma/release_using_item/1.trigger + +# チャージ時間で攻撃を分ける + data modify storage api: Argument.ID set value 374 + function api:entity/mob/effect/get/from_id + + execute if data storage api: Return.Effect{Stack:1} run function asset:artifact/1465.versatile_plasma/release_using_item/3.1.spark/ + execute if data storage api: Return.Effect{Stack:2} anchored eyes positioned ^ ^-0.25 ^ run function asset:artifact/1465.versatile_plasma/release_using_item/3.2.beam/ + execute if data storage api: Return.Effect{Stack:3} run function asset:artifact/1465.versatile_plasma/release_using_item/3.3.laser/ + +# Effect374を削除 + data modify storage api: Argument.ID set value 374 + function api:entity/mob/effect/remove/from_id + function api:entity/mob/effect/reset diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.1.spark/.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.1.spark/.mcfunction new file mode 100644 index 00000000000..b36a5820dec --- /dev/null +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.1.spark/.mcfunction @@ -0,0 +1,28 @@ +#> asset:artifact/1465.versatile_plasma/release_using_item/3.1.spark/ +# +# +# +# @within function asset:artifact/1465.versatile_plasma/release_using_item/2.check_condition + +#> Private +# @within function asset:artifact/1465.versatile_plasma/release_using_item/3.1.spark/* + #declare score_holder $rec + +# 36回実行 + scoreboard players set $rec Temporary 36 + +# 向いている方向に確定で一個だす + data modify storage api: Argument.ID set value 1168 + data modify storage api: Argument.FieldOverride.Damage set value 30 + data modify storage api: Argument.FieldOverride.AdditionalMPHeal set value 5 + data modify storage api: Argument.FieldOverride.AttackType set value "Physical" + data modify storage api: Argument.FieldOverride.ElementType set value "Thunder" + execute store result storage api: Argument.FieldOverride.UserID int 1 run scoreboard players get @s UserID + execute anchored eyes positioned ^ ^ ^2.5 run function api:object/summon + +# 本体 + execute anchored eyes positioned ^ ^ ^ run function asset:artifact/1465.versatile_plasma/release_using_item/3.1.spark/rec + +# リセット + scoreboard players reset $rec + data remove storage asset:temp Args diff --git a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/1/rec.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.1.spark/rec.mcfunction similarity index 57% rename from Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/1/rec.mcfunction rename to Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.1.spark/rec.mcfunction index 608c1b78098..0bccf2d45c4 100644 --- a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/1/rec.mcfunction +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.1.spark/rec.mcfunction @@ -1,8 +1,8 @@ -#> asset:effect/0374.charge_plasma/end/attack/1/rec +#> asset:artifact/1465.versatile_plasma/release_using_item/3.1.spark/rec # -# 再帰処理 # -# @within function asset:effect/0374.charge_plasma/end/attack/1/** +# +# @within function asset:artifact/1465.versatile_plasma/release_using_item/3.1.spark/* # rec減算 scoreboard players remove $rec Temporary 1 @@ -13,7 +13,7 @@ execute store result storage asset:temp Args.OffsetZ float 0.1 run random value 5..35 # マクロでObject召喚 - function asset:effect/0374.charge_plasma/end/attack/1/m with storage asset:temp Args + function asset:artifact/1465.versatile_plasma/release_using_item/3.1.spark/summon.m with storage asset:temp Args # 再帰 - execute if score $rec Temporary matches 1.. run function asset:effect/0374.charge_plasma/end/attack/1/rec + execute if score $rec Temporary matches 1.. run function asset:artifact/1465.versatile_plasma/release_using_item/3.1.spark/rec diff --git a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/1/m.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.1.spark/summon.m.mcfunction similarity index 53% rename from Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/1/m.mcfunction rename to Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.1.spark/summon.m.mcfunction index fdf04c02958..dc2de66374d 100644 --- a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/1/m.mcfunction +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.1.spark/summon.m.mcfunction @@ -1,13 +1,13 @@ -#> asset:effect/0374.charge_plasma/end/attack/1/m +#> asset:artifact/1465.versatile_plasma/release_using_item/3.1.spark/summon.m # -# Object 1168を召喚 # -# @within function asset:effect/0374.charge_plasma/end/attack/1/rec +# +# @within function asset:artifact/1465.versatile_plasma/release_using_item/3.1.spark/rec data modify storage api: Argument.ID set value 1168 - data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.DamagePool[0] - data modify storage api: Argument.FieldOverride.AdditionalMPHeal set from storage asset:context this.AdditionalMPHeal - 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 value 30 + data modify storage api: Argument.FieldOverride.AdditionalMPHeal set value 5 + data modify storage api: Argument.FieldOverride.AttackType set value "Physical" + data modify storage api: Argument.FieldOverride.ElementType set value "Thunder" execute store result storage api: Argument.FieldOverride.UserID int 1 run scoreboard players get @s UserID $execute positioned ^$(OffsetX) ^$(OffsetY) ^$(OffsetZ) run function api:object/summon diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.2.beam/.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.2.beam/.mcfunction new file mode 100644 index 00000000000..a19fe8a3dc4 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.2.beam/.mcfunction @@ -0,0 +1,15 @@ +#> asset:artifact/1465.versatile_plasma/release_using_item/3.2.beam/ +# +# +# +# @within function asset:artifact/1465.versatile_plasma/release_using_item/2.check_condition + +# 3発撃つ + execute rotated ~-30 ~ run function asset:artifact/1465.versatile_plasma/release_using_item/3.2.beam/summon + + execute rotated ~ ~ run function asset:artifact/1465.versatile_plasma/release_using_item/3.2.beam/summon + + execute rotated ~30 ~ run function asset:artifact/1465.versatile_plasma/release_using_item/3.2.beam/summon + +# 演出 + playsound block.respawn_anchor.deplete player @a ~ ~ ~ 2 2 diff --git a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/2/summon.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.2.beam/summon.mcfunction similarity index 50% rename from Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/2/summon.mcfunction rename to Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.2.beam/summon.mcfunction index c0caf21fa0a..9a235f26a07 100644 --- a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/2/summon.mcfunction +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.2.beam/summon.mcfunction @@ -1,13 +1,13 @@ -#> asset:effect/0374.charge_plasma/end/attack/2 +#> asset:artifact/1465.versatile_plasma/release_using_item/3.2.beam/summon # -# 攻撃2の共通処理 # -# @within function asset:effect/0374.charge_plasma/end/** +# +# @within function asset:artifact/1465.versatile_plasma/release_using_item/3.2.beam/ data modify storage api: Argument.ID set value 1169 - data modify storage api: Argument.FieldOverride.AdditionalMPHeal set from storage asset:context this.AdditionalMPHeal - data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.DamagePool[1] - 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 value 150 + data modify storage api: Argument.FieldOverride.AdditionalMPHeal set value 5 + data modify storage api: Argument.FieldOverride.AttackType set value "Physical" + data modify storage api: Argument.FieldOverride.ElementType set value "Thunder" execute store result storage api: Argument.FieldOverride.UserID int 1 run scoreboard players get @s UserID function api:object/summon diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/.mcfunction new file mode 100644 index 00000000000..97a16038c08 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/.mcfunction @@ -0,0 +1,19 @@ +#> asset:artifact/1465.versatile_plasma/release_using_item/3.3.laser/ +# +# +# +# @within function asset:artifact/1465.versatile_plasma/release_using_item/2.check_condition + +#> Private +# @within function asset:artifact/1465.versatile_plasma/release_using_item/3.3.laser/** + #declare tag Hit + #declare tag HitTarget + +# 再帰処理 + execute anchored eyes positioned ^ ^ ^ run function asset:artifact/1465.versatile_plasma/release_using_item/3.3.laser/rec + tag @s remove Hit + function asset:artifact/1465.versatile_plasma/release_using_item/3.3.laser/damage + +# 演出 + playsound ogg:block.vault.open_shutter player @a ~ ~ ~ 2 2 + playsound ogg:block.vault.break player @a ~ ~ ~ 1 1 diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/damage.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/damage.mcfunction new file mode 100644 index 00000000000..2c3dc9379cc --- /dev/null +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/damage.mcfunction @@ -0,0 +1,17 @@ +#> asset:artifact/1465.versatile_plasma/release_using_item/3.3.laser/damage +# +# +# +# @within function asset:artifact/1465.versatile_plasma/release_using_item/3.3.laser/ + +# ダメージ + data modify storage api: Argument.Damage set value 300 + data modify storage api: Argument.AdditionalMPHeal set value 5 + data modify storage api: Argument.AttackType set value "Physical" + data modify storage api: Argument.ElementType set value "Thunder" + function api:damage/modifier + execute as @e[type=#lib:living_without_player,tag=HitTarget,distance=..20] run function api:damage/ + function api:damage/reset + +# HitTargetタグ削除 + tag @s remove HitTarget diff --git a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/rec.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/rec.mcfunction similarity index 66% rename from Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/rec.mcfunction rename to Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/rec.mcfunction index 764a8523758..22d4c2101c0 100644 --- a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/rec.mcfunction +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/rec.mcfunction @@ -1,8 +1,8 @@ -#> asset:effect/0374.charge_plasma/end/attack/3/rec +#> asset:artifact/1465.versatile_plasma/release_using_item/3.3.laser/rec # # # -# @within function asset:effect/0374.charge_plasma/end/attack/3/** +# @within function asset:artifact/1465.versatile_plasma/release_using_item/3.3.laser/* # 着弾検知 execute unless block ^ ^ ^0.5 #lib:no_collision/ run tag @s add Hit @@ -16,4 +16,4 @@ particle dust 0.8 0.8 0.3 0.5 ~ ~ ~ 0.0 0.0 0.0 1 1 # 再起 - execute positioned ^ ^ ^0.5 if entity @s[tag=!Hit,distance=..20] run function asset:effect/0374.charge_plasma/end/attack/3/rec + execute positioned ^ ^ ^0.5 if entity @s[tag=!Hit,distance=..20] run function asset:artifact/1465.versatile_plasma/release_using_item/3.3.laser/rec diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/3.main.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/3.main.mcfunction deleted file mode 100644 index d04744f6bcc..00000000000 --- a/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/3.main.mcfunction +++ /dev/null @@ -1,23 +0,0 @@ -#> asset:artifact/1465.versatile_plasma/trigger/3.main -# -# 神器のメイン処理部 -# -# @within function asset:artifact/1465.versatile_plasma/trigger/2.check_condition - -# 基本的な使用時の処理(MP消費や使用回数の処理など)を行う - function asset:artifact/common/use/mainhand - -# Fieldを設定 - data modify storage api: Argument.FieldOverride.DamagePool set value [30, 150, 300] - data modify storage api: Argument.FieldOverride.MPThreshold set value [25, 35] - data modify storage api: Argument.FieldOverride.AttackType set value "Physical" - data modify storage api: Argument.FieldOverride.ElementType set value "Thunder" - data modify storage api: Argument.FieldOverride.AdditionalMPHeal set from storage api: PersistentArgument.AdditionalMPHeal - -# チャージ用Effectを付与 - data modify storage api: Argument.ID set value 374 - function api:entity/mob/effect/give - function api:entity/mob/effect/reset - -# 演出 - playsound block.iron_door.open player @a ~ ~ ~ 2 0.5 diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/charge.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/charge.mcfunction deleted file mode 100644 index a6779a9d711..00000000000 --- a/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/charge.mcfunction +++ /dev/null @@ -1,10 +0,0 @@ -#> asset:artifact/1465.versatile_plasma/trigger/charge -# -# -# -# @within function asset:artifact/1465.versatile_plasma/trigger/2.check_condition - -# チャージ用Effectを付与 - data modify storage api: Argument.ID set value 374 - function api:entity/mob/effect/give - function api:entity/mob/effect/reset diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/1.trigger.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/using_item/1.trigger.mcfunction similarity index 70% rename from Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/1.trigger.mcfunction rename to Asset/data/asset/functions/artifact/1465.versatile_plasma/using_item/1.trigger.mcfunction index 4744c2c87e5..1ec0fc6d1fa 100644 --- a/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/1.trigger.mcfunction +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/using_item/1.trigger.mcfunction @@ -1,8 +1,8 @@ -#> asset:artifact/1465.versatile_plasma/trigger/1.trigger +#> asset:artifact/1465.versatile_plasma/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:1465} run function asset:artifact/1465.versatile_plasma/trigger/2.check_condition \ No newline at end of file + execute if data storage asset:context id{mainhand:1465} run function asset:artifact/1465.versatile_plasma/using_item/2.check_condition diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/2.check_condition.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/using_item/2.check_condition.mcfunction similarity index 70% rename from Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/2.check_condition.mcfunction rename to Asset/data/asset/functions/artifact/1465.versatile_plasma/using_item/2.check_condition.mcfunction index 9de6cd60d9c..76bb141eb77 100644 --- a/Asset/data/asset/functions/artifact/1465.versatile_plasma/trigger/2.check_condition.mcfunction +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/using_item/2.check_condition.mcfunction @@ -1,17 +1,17 @@ -#> asset:artifact/1465.versatile_plasma/trigger/2.check_condition +#> asset:artifact/1465.versatile_plasma/using_item/2.check_condition # # 神器の発動条件をチェックします # -# @within function asset:artifact/1465.versatile_plasma/trigger/1.trigger +# @within function asset:artifact/1465.versatile_plasma/using_item/1.trigger # チャージ段階のEffect取得 data modify storage api: Argument.ID set value 374 function api:entity/mob/effect/get/from_id # チャージ中ならば強制的にチャージ続行 - execute if data storage api: Return.Effect run return run function asset:artifact/1465.versatile_plasma/trigger/charge + execute if data storage api: Return.Effect run return run function asset:artifact/1465.versatile_plasma/using_item/charge # 神器の基本的な条件の確認を行うfunction、成功している場合CanUsedタグが付く function asset:artifact/common/check_condition/mainhand # CanUsedタグをチェックして3.main.mcfunctionを実行する - execute if entity @s[tag=CanUsed] run function asset:artifact/1465.versatile_plasma/trigger/3.main + execute if entity @s[tag=CanUsed] run function asset:artifact/1465.versatile_plasma/using_item/3.main diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/using_item/3.main.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/using_item/3.main.mcfunction new file mode 100644 index 00000000000..e15df4a9633 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/using_item/3.main.mcfunction @@ -0,0 +1,23 @@ +#> asset:artifact/1465.versatile_plasma/using_item/3.main +# +# 神器のメイン処理部 +# +# @within function asset:artifact/1465.versatile_plasma/using_item/2.check_condition + +# 基本的な使用時の処理(MP消費や使用回数の処理など)を行う + function asset:artifact/common/use/mainhand + +# Fieldを設定 + # data modify storage api: Argument.FieldOverride.DamagePool set value [30, 150, 300] + # data modify storage api: Argument.FieldOverride.MPThreshold set value [25, 35] + # data modify storage api: Argument.FieldOverride.AttackType set value "Physical" + # data modify storage api: Argument.FieldOverride.ElementType set value "Thunder" + # data modify storage api: Argument.FieldOverride.AdditionalMPHeal set from storage api: PersistentArgument.AdditionalMPHeal + +# チャージ用Effectを付与 + data modify storage api: Argument.ID set value 374 + function api:entity/mob/effect/give + function api:entity/mob/effect/reset + +# 演出 + playsound block.iron_door.open player @a ~ ~ ~ 2 0.5 diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/using_item/charge.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/using_item/charge.mcfunction new file mode 100644 index 00000000000..f37500aec58 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/using_item/charge.mcfunction @@ -0,0 +1,14 @@ +#> asset:artifact/1465.versatile_plasma/using_item/charge +# +# +# +# @within function asset:artifact/1465.versatile_plasma/using_item/2.check_condition + +# チャージ用Effectを付与 + data modify storage api: Argument.ID set value 374 + function api:entity/mob/effect/give + function api:entity/mob/effect/reset + +# 長押しした時間からEffect374のスタックを更新 + execute if data storage asset:context UsingItemTime{mainhand:25} run function asset:artifact/1465.versatile_plasma/using_item/charge/check/2 + execute if data storage asset:context UsingItemTime{mainhand:50} run function asset:artifact/1465.versatile_plasma/using_item/charge/check/3 diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/using_item/charge/2.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/using_item/charge/2.mcfunction new file mode 100644 index 00000000000..7d7bbb90d14 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/using_item/charge/2.mcfunction @@ -0,0 +1,22 @@ +#> asset:artifact/1465.versatile_plasma/using_item/charge/2 +# +# +# +# @within function asset:artifact/1465.versatile_plasma/using_item/charge/** + +# スタック数を増やす + data modify storage api: Argument.ID set value 374 + data modify storage api: Argument.Stack set value 2 + function api:entity/mob/effect/give + function api:entity/mob/effect/reset + +# MP消費 + data modify storage api: Argument.Fluctuation set value -25 + data modify storage api: Argument.DisableLog set value 1b + function api:mp/fluctuation + +# 演出 + playsound block.piston.extend player @a ~ ~ ~ 2 2 + particle dust 0.8 1.0 0.5 2.0 ~ ~ ~ 0.5 1.0 0.5 1 8 + particle dust 0.5 1.0 0.5 2.5 ~ ~ ~ 0.5 1.0 0.5 1 8 + particle dust 0.8 0.8 0.3 1.5 ~ ~ ~ 0.5 1.0 0.5 1 8 diff --git a/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/charge/3.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/using_item/charge/3.mcfunction similarity index 53% rename from Asset/data/asset/functions/effect/0374.charge_plasma/re-given/charge/3.mcfunction rename to Asset/data/asset/functions/artifact/1465.versatile_plasma/using_item/charge/3.mcfunction index 9c59bb5898f..4f1dc742ee2 100644 --- a/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/charge/3.mcfunction +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/using_item/charge/3.mcfunction @@ -1,14 +1,17 @@ -#> asset:effect/0374.charge_plasma/re-given/charge/3 +#> asset:artifact/1465.versatile_plasma/using_item/charge/3 # # # -# @within function asset:effect/0374.charge_plasma/re-given/** +# @within function asset:artifact/1465.versatile_plasma/using_item/charge/** # スタック数を増やす - data modify storage asset:context Stack set value 3 + data modify storage api: Argument.ID set value 374 + data modify storage api: Argument.Stack set value 3 + function api:entity/mob/effect/give + function api:entity/mob/effect/reset # MP消費 - execute store result storage api: Argument.Fluctuation int -1 run data get storage asset:context this.MPThreshold[1] + data modify storage api: Argument.Fluctuation set value -35 data modify storage api: Argument.DisableLog set value 1b function api:mp/fluctuation diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/using_item/charge/check/2.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/using_item/charge/check/2.mcfunction new file mode 100644 index 00000000000..b80cf31d758 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/using_item/charge/check/2.mcfunction @@ -0,0 +1,10 @@ +#> asset:artifact/1465.versatile_plasma/using_item/charge/check/2 +# +# +# +# @within function asset:artifact/1465.versatile_plasma/using_item/charge + +# MPが一定値以上なら攻撃 + data modify storage api: Argument.Threshold set value 25 + function api:mp/check + execute if data storage api: Return{IsThresholdOrMore:true} run function asset:artifact/1465.versatile_plasma/using_item/charge/2 diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/using_item/charge/check/3.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/using_item/charge/check/3.mcfunction new file mode 100644 index 00000000000..ee636082e13 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/using_item/charge/check/3.mcfunction @@ -0,0 +1,10 @@ +#> asset:artifact/1465.versatile_plasma/using_item/charge/check/3 +# +# +# +# @within function asset:artifact/1465.versatile_plasma/using_item/charge + +# MPが一定値以上なら攻撃 + data modify storage api: Argument.Threshold set value 35 + function api:mp/check + execute if data storage api: Return{IsThresholdOrMore:true} run function asset:artifact/1465.versatile_plasma/using_item/charge/3 diff --git a/Asset/data/asset/functions/effect/0374.charge_plasma/_/end.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/_/end.mcfunction deleted file mode 100644 index d9b0f332089..00000000000 --- a/Asset/data/asset/functions/effect/0374.charge_plasma/_/end.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -#> asset:effect/0374.charge_plasma/_/end -# -# Effectの効果の終了時に実行されるfunction -# -# @within tag/function asset:effect/end - -execute if data storage asset:context {id:374} run function asset:effect/0374.charge_plasma/end/ diff --git a/Asset/data/asset/functions/effect/0374.charge_plasma/_/re-given.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/_/re-given.mcfunction deleted file mode 100644 index 44ad347c166..00000000000 --- a/Asset/data/asset/functions/effect/0374.charge_plasma/_/re-given.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -#> asset:effect/0374.charge_plasma/_/re-given -# -# Effectが上書きされた時に実行されるfunction -# -# @within tag/function asset:effect/re-given - -execute if data storage asset:context {id:374} run function asset:effect/0374.charge_plasma/re-given/ diff --git a/Asset/data/asset/functions/effect/0374.charge_plasma/end/.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/end/.mcfunction deleted file mode 100644 index 80f07be180d..00000000000 --- a/Asset/data/asset/functions/effect/0374.charge_plasma/end/.mcfunction +++ /dev/null @@ -1,10 +0,0 @@ -#> asset:effect/0374.charge_plasma/end/ -# -# Effectの効果が切れた時の処理 -# -# @within function asset:effect/0374.charge_plasma/_/end - -# スタック数に応じてそれぞれの攻撃処理を実行 - execute if data storage asset:context {Stack:1} run function asset:effect/0374.charge_plasma/end/attack/1/ - execute if data storage asset:context {Stack:2} anchored eyes positioned ^ ^-0.25 ^ run function asset:effect/0374.charge_plasma/end/attack/2/ - execute if data storage asset:context {Stack:3} run function asset:effect/0374.charge_plasma/end/attack/3/ diff --git a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/1/.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/1/.mcfunction deleted file mode 100644 index 3c04994d35f..00000000000 --- a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/1/.mcfunction +++ /dev/null @@ -1,26 +0,0 @@ -#> asset:effect/0374.charge_plasma/end/attack/1 -# -# 攻撃(ため1段階):スパーク -# -# @within function asset:effect/0374.charge_plasma/end/** - -#> Private -# @within function asset:effect/0374.charge_plasma/end/attack/** - #declare score_holder $rec - -# 36回実行 - scoreboard players set $rec Temporary 36 - -# 向いている方向に確定で一個だす - data modify storage api: Argument.ID set value 1168 - data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.DamagePool[0] - data modify storage api: Argument.FieldOverride.AdditionalMPHeal set from storage asset:context this.AdditionalMPHeal - execute store result storage api: Argument.FieldOverride.UserID int 1 run scoreboard players get @s UserID - execute anchored eyes positioned ^ ^ ^2.5 run function api:object/summon - -# 本体 - execute anchored eyes positioned ^ ^ ^ run function asset:effect/0374.charge_plasma/end/attack/1/rec - -# リセット - scoreboard players reset $rec - data remove storage asset:temp Args diff --git a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/2/.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/2/.mcfunction deleted file mode 100644 index cd0ce9fa362..00000000000 --- a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/2/.mcfunction +++ /dev/null @@ -1,15 +0,0 @@ -#> asset:effect/0374.charge_plasma/end/attack/2 -# -# プラズマ攻撃2: 拡散レーザー -# -# @within function asset:effect/0374.charge_plasma/end/** - -# 3発撃つ - execute rotated ~-30 ~ run function asset:effect/0374.charge_plasma/end/attack/2/summon - - execute rotated ~ ~ run function asset:effect/0374.charge_plasma/end/attack/2/summon - - execute rotated ~30 ~ run function asset:effect/0374.charge_plasma/end/attack/2/summon - -# 演出 - playsound block.respawn_anchor.deplete player @a ~ ~ ~ 2 2 diff --git a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/.mcfunction deleted file mode 100644 index 4893684e970..00000000000 --- a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/.mcfunction +++ /dev/null @@ -1,19 +0,0 @@ -#> asset:effect/0374.charge_plasma/end/attack/3/ -# -# 攻撃3: 貫通レーザー -# -# @within function asset:effect/0374.charge_plasma/end/** - -#> Private -# @within function asset:effect/0374.charge_plasma/end/attack/3/** - #declare tag Hit - #declare tag HitTarget - -# 再帰処理 - execute anchored eyes positioned ^ ^ ^ run function asset:effect/0374.charge_plasma/end/attack/3/rec - tag @s remove Hit - function asset:effect/0374.charge_plasma/end/attack/3/damage - -# 演出 - playsound ogg:block.vault.open_shutter player @a ~ ~ ~ 2 2 - playsound ogg:block.vault.break player @a ~ ~ ~ 1 1 diff --git a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/damage.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/damage.mcfunction deleted file mode 100644 index ce5a5ec4dd9..00000000000 --- a/Asset/data/asset/functions/effect/0374.charge_plasma/end/attack/3/damage.mcfunction +++ /dev/null @@ -1,17 +0,0 @@ -#> asset:effect/0374.charge_plasma/end/attack/3/damage -# -# -# -# @within function asset:effect/0374.charge_plasma/end/attack/3/ - -# ダメージ - data modify storage api: Argument.Damage set from storage asset:context this.DamagePool[2] - 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 - data modify storage api: Argument.AdditionalMPHeal set from storage asset:context this.AdditionalMPHeal - function api:damage/modifier - execute as @e[type=#lib:living_without_player,tag=HitTarget,distance=..20] run function api:damage/ - function api:damage/reset - -# HitTargetタグ削除 - tag @s remove HitTarget diff --git a/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/.mcfunction deleted file mode 100644 index 9f06e6fa363..00000000000 --- a/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/.mcfunction +++ /dev/null @@ -1,29 +0,0 @@ -#> asset:effect/0374.charge_plasma/re-given/ -# -# Effectが上書きされた時の処理 -# -# @within function asset:effect/0374.charge_plasma/_/re-given - -#> Private -# @private - #declare score_holder $Charge - -# Field引き継ぎ - execute if data storage asset:context PreviousField.DamagePool run data modify storage asset:context this.DamagePool set from storage asset:context PreviousField.DamagePool - execute if data storage asset:context PreviousField.MPThreshold run data modify storage asset:context this.MPThreshold set from storage asset:context PreviousField.MPThreshold - execute if data storage asset:context PreviousField.AdditionalMPHeal run data modify storage asset:context this.AdditionalMPHeal set from storage asset:context PreviousField.AdditionalMPHeal - execute if data storage asset:context PreviousField.AttackType run data modify storage asset:context this.AttackType set from storage asset:context PreviousField.AttackType - execute if data storage asset:context PreviousField.ElementType run data modify storage asset:context this.ElementType set from storage asset:context PreviousField.ElementType - -# チャージ時間を取得 - execute store result score $Charge Temporary run data get storage asset:context PreviousField.Charge - -# Field.Chargeを+1 - execute store result storage asset:context this.Charge int 1 run scoreboard players add $Charge Temporary 1 - -# 時間に応じてバフをスタック - execute if data storage asset:context {Stack:1} if score $Charge Temporary matches 25.. run function asset:effect/0374.charge_plasma/re-given/charge/check/2 - execute if data storage asset:context {Stack:2} if score $Charge Temporary matches 50.. run function asset:effect/0374.charge_plasma/re-given/charge/check/3 - -# リセット - scoreboard players reset $Charge diff --git a/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/charge/2.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/charge/2.mcfunction deleted file mode 100644 index 71466c63db0..00000000000 --- a/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/charge/2.mcfunction +++ /dev/null @@ -1,19 +0,0 @@ -#> asset:effect/0374.charge_plasma/re-given/charge/2 -# -# -# -# @within function asset:effect/0374.charge_plasma/re-given/** - -# スタック数を増やす - data modify storage asset:context Stack set value 2 - -# MP消費 - execute store result storage api: Argument.Fluctuation int -1 run data get storage asset:context this.MPThreshold[0] - data modify storage api: Argument.DisableLog set value 1b - function api:mp/fluctuation - -# 演出 - playsound block.piston.extend player @a ~ ~ ~ 2 2 - particle dust 0.8 1.0 0.5 2.0 ~ ~ ~ 0.5 1.0 0.5 1 8 - particle dust 0.5 1.0 0.5 2.5 ~ ~ ~ 0.5 1.0 0.5 1 8 - particle dust 0.8 0.8 0.3 1.5 ~ ~ ~ 0.5 1.0 0.5 1 8 diff --git a/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/charge/check/2.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/charge/check/2.mcfunction deleted file mode 100644 index 084b1f4b581..00000000000 --- a/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/charge/check/2.mcfunction +++ /dev/null @@ -1,10 +0,0 @@ -#> asset:effect/0374.charge_plasma/re-given/charge/check/2 -# -# -# -# @within function asset:effect/0374.charge_plasma/re-given/ - -# MPが一定値以上なら攻撃 - data modify storage api: Argument.Threshold set from storage asset:context this.MPThreshold[0] - function api:mp/check - execute if data storage api: Return{IsThresholdOrMore:true} run function asset:effect/0374.charge_plasma/re-given/charge/2 diff --git a/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/charge/check/3.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/charge/check/3.mcfunction deleted file mode 100644 index 8638244a4a0..00000000000 --- a/Asset/data/asset/functions/effect/0374.charge_plasma/re-given/charge/check/3.mcfunction +++ /dev/null @@ -1,10 +0,0 @@ -#> asset:effect/0374.charge_plasma/re-given/charge/check/3 -# -# -# -# @within function asset:effect/0374.charge_plasma/re-given/ - -# MPが一定値以上なら攻撃 - data modify storage api: Argument.Threshold set from storage asset:context this.MPThreshold[1] - function api:mp/check - execute if data storage api: Return{IsThresholdOrMore:true} run function asset:effect/0374.charge_plasma/re-given/charge/3 diff --git a/Asset/data/asset/functions/effect/0374.charge_plasma/register.mcfunction b/Asset/data/asset/functions/effect/0374.charge_plasma/register.mcfunction index 02acbe2bc66..1020e267e2c 100644 --- a/Asset/data/asset/functions/effect/0374.charge_plasma/register.mcfunction +++ b/Asset/data/asset/functions/effect/0374.charge_plasma/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") @@ -21,7 +21,7 @@ # スタックの操作方法 (default = API || "replace") # data modify storage asset:effect StackOperation set value # 最大効果時間 (int) (default = 2147483647) - data modify storage asset:effect MaxDuration set value 1 + # data modify storage asset:effect MaxDuration set value # 最大スタック (int) (default = 2147483647) data modify storage asset:effect MaxStack set value 3 # 悪い効果か否か (boolean) @@ -36,7 +36,3 @@ # data modify storage asset:effect StackVisible set value # フィールド - data modify storage asset:effect Field.DamagePool set value [] - data modify storage asset:effect Field.AttackType set value "" - data modify storage asset:effect Field.ElementType set value "" - data modify storage asset:effect Field.AdditionalMPHeal set value 0 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 b22d73e61aa..473b7fc51f4 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/1465.versatile_plasma/trigger/1.trigger", + "asset:artifact/1465.versatile_plasma/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..e9c0195dbdc 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/1465.versatile_plasma/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 92f6c714e3e..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/0374.charge_plasma/_/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 51d037d760c..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/0374.charge_plasma/_/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 52e11e804392ad78744ba14174d95c85852e1be6 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Mon, 19 Oct 2026 15:19:42 +0200 Subject: [PATCH 42/50] =?UTF-8?q?=E8=A3=85=E5=82=99=E8=A7=A3=E9=99=A4?= =?UTF-8?q?=E6=99=82=E3=81=AB=E3=83=81=E3=83=A3=E3=83=BC=E3=82=B8=E3=81=8C?= =?UTF-8?q?=E3=82=AD=E3=83=A3=E3=83=B3=E3=82=BB=E3=83=AB=E3=81=95=E3=82=8C?= =?UTF-8?q?=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 --- .../dis_equip/1.trigger.mcfunction | 7 +++++++ .../1465.versatile_plasma/dis_equip/2.main.mcfunction | 10 ++++++++++ .../data/asset/tags/functions/artifact/dis_equip.json | 1 + 3 files changed, 18 insertions(+) create mode 100644 Asset/data/asset/functions/artifact/1465.versatile_plasma/dis_equip/1.trigger.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1465.versatile_plasma/dis_equip/2.main.mcfunction diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/dis_equip/1.trigger.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/dis_equip/1.trigger.mcfunction new file mode 100644 index 00000000000..84f498a83ab --- /dev/null +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/dis_equip/1.trigger.mcfunction @@ -0,0 +1,7 @@ +#> asset:artifact/1465.versatile_plasma/dis_equip/1.trigger +# +# 装備を外した時に外した部位にのみのidが入った状態でトリガーされる +# +# @within tag/function asset:artifact/dis_equip + +execute if data storage asset:context id{mainhand:1465} run function asset:artifact/1465.versatile_plasma/dis_equip/2.main diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/dis_equip/2.main.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/dis_equip/2.main.mcfunction new file mode 100644 index 00000000000..9a9a35bf09d --- /dev/null +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/dis_equip/2.main.mcfunction @@ -0,0 +1,10 @@ +#> asset:artifact/1465.versatile_plasma/dis_equip/2.main +# +# 装備を外した時のメイン処理 +# +# @within function asset:artifact/1465.versatile_plasma/dis_equip/* + +# Effect374を削除 + data modify storage api: Argument.ID set value 374 + function api:entity/mob/effect/remove/from_id + function api:entity/mob/effect/reset diff --git a/Asset/data/asset/tags/functions/artifact/dis_equip.json b/Asset/data/asset/tags/functions/artifact/dis_equip.json index 5566bef391d..0694c6873ff 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/1465.versatile_plasma/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", From 008028f3e157db89434a568f0b825d6c24262ebf Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Mon, 26 Oct 2026 18:50:21 +0100 Subject: [PATCH 43/50] =?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 --- .../release_using_item/3.3.laser/damage.mcfunction | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/damage.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/damage.mcfunction index 2c3dc9379cc..5acb97e250e 100644 --- a/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/damage.mcfunction +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/damage.mcfunction @@ -14,4 +14,4 @@ function api:damage/reset # HitTargetタグ削除 - tag @s remove HitTarget + tag @e[type=#lib:living_without_player,tag=HitTarget,distance=..20] remove HitTarget From 9c7130d6b07dc445cd7154a26641e79c3549e1e5 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Mon, 26 Oct 2026 18:58:02 +0100 Subject: [PATCH 44/50] =?UTF-8?q?=E3=82=A8=E3=83=95=E3=82=A7=E3=82=AF?= =?UTF-8?q?=E3=83=88=E4=BB=98=E4=B8=8E=E5=87=A6=E7=90=86=E3=81=AE=E6=B6=88?= =?UTF-8?q?=E3=81=97=E5=BF=98=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 --- .../1465.versatile_plasma/using_item/3.main.mcfunction | 7 ------- .../1465.versatile_plasma/using_item/charge.mcfunction | 5 ----- 2 files changed, 12 deletions(-) diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/using_item/3.main.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/using_item/3.main.mcfunction index e15df4a9633..a05cb0d113e 100644 --- a/Asset/data/asset/functions/artifact/1465.versatile_plasma/using_item/3.main.mcfunction +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/using_item/3.main.mcfunction @@ -7,13 +7,6 @@ # 基本的な使用時の処理(MP消費や使用回数の処理など)を行う function asset:artifact/common/use/mainhand -# Fieldを設定 - # data modify storage api: Argument.FieldOverride.DamagePool set value [30, 150, 300] - # data modify storage api: Argument.FieldOverride.MPThreshold set value [25, 35] - # data modify storage api: Argument.FieldOverride.AttackType set value "Physical" - # data modify storage api: Argument.FieldOverride.ElementType set value "Thunder" - # data modify storage api: Argument.FieldOverride.AdditionalMPHeal set from storage api: PersistentArgument.AdditionalMPHeal - # チャージ用Effectを付与 data modify storage api: Argument.ID set value 374 function api:entity/mob/effect/give diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/using_item/charge.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/using_item/charge.mcfunction index f37500aec58..0a439786610 100644 --- a/Asset/data/asset/functions/artifact/1465.versatile_plasma/using_item/charge.mcfunction +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/using_item/charge.mcfunction @@ -4,11 +4,6 @@ # # @within function asset:artifact/1465.versatile_plasma/using_item/2.check_condition -# チャージ用Effectを付与 - data modify storage api: Argument.ID set value 374 - function api:entity/mob/effect/give - function api:entity/mob/effect/reset - # 長押しした時間からEffect374のスタックを更新 execute if data storage asset:context UsingItemTime{mainhand:25} run function asset:artifact/1465.versatile_plasma/using_item/charge/check/2 execute if data storage asset:context UsingItemTime{mainhand:50} run function asset:artifact/1465.versatile_plasma/using_item/charge/check/3 From 658b8d28ff6cd5fda88bd3da5c7af9f0808486c2 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Mon, 26 Oct 2026 18:58:32 +0100 Subject: [PATCH 45/50] =?UTF-8?q?=E3=82=BF=E3=82=B0=E3=81=AE=E6=8C=87?= =?UTF-8?q?=E5=AE=9A=E5=BF=98=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 --- .../release_using_item/3.3.laser/rec.mcfunction | 2 +- .../functions/object/1168.plasma_spark/tick/explode.mcfunction | 2 +- .../object/1169.plasma_beam/detect_hit_entity/.mcfunction | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/rec.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/rec.mcfunction index 22d4c2101c0..6545afa0445 100644 --- a/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/rec.mcfunction +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/rec.mcfunction @@ -8,7 +8,7 @@ execute unless block ^ ^ ^0.5 #lib:no_collision/ run tag @s add Hit # 命中 - execute positioned ~-0.5 ~-0.5 ~-0.5 run tag @e[type=#lib:living_without_player,tag=!HitTarget,tag=!Uninterferable,dx=0,limit=1] add HitTarget + execute positioned ~-0.5 ~-0.5 ~-0.5 run tag @e[type=#lib:living_without_player,tag=Enemy,tag=!HitTarget,tag=!Uninterferable,dx=0,limit=1] add HitTarget # 演出 particle dust 0.8 1.0 0.5 1.0 ~ ~ ~ 0.0 0.0 0.0 1 1 diff --git a/Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction b/Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction index c93db9b22e9..07a75faf7af 100644 --- a/Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction +++ b/Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction @@ -15,7 +15,7 @@ data modify storage api: Argument.AdditionalMPHeal set from storage asset:context this.AdditionalMPHeal execute store result score $UserID Temporary run data get storage asset:context this.UserID execute as @a if score @s UserID = $UserID Temporary run function api:damage/modifier -execute positioned ~-0.125 ~-0.125 ~-0.125 as @e[type=#lib:living_without_player,tag=Enemy,tag=!Uninterferable,dx=0] positioned ~-0.75 ~-0.75 ~-0.75 if entity @s[dx=0] run function api:damage/ + execute positioned ~-0.125 ~-0.125 ~-0.125 as @e[type=#lib:living_without_player,tag=Enemy,tag=!Uninterferable,dx=0] positioned ~-0.75 ~-0.75 ~-0.75 if entity @s[dx=0] run function api:damage/ function api:damage/reset # 演出 diff --git a/Asset/data/asset/functions/object/1169.plasma_beam/detect_hit_entity/.mcfunction b/Asset/data/asset/functions/object/1169.plasma_beam/detect_hit_entity/.mcfunction index fc84aa83304..1cd28860ac5 100644 --- a/Asset/data/asset/functions/object/1169.plasma_beam/detect_hit_entity/.mcfunction +++ b/Asset/data/asset/functions/object/1169.plasma_beam/detect_hit_entity/.mcfunction @@ -5,4 +5,4 @@ # @within asset:object/alias/1169/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 + execute positioned ~-0.5 ~-0.5 ~-0.5 if entity @e[type=#lib:living_without_player,tag=Enemy,tag=!Uninterferable,dx=0] run data modify storage asset:context IsHitEntity set value true From 2d024e031b24f2e3d211db8095863854765ec733 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Mon, 26 Oct 2026 19:35:43 +0100 Subject: [PATCH 46/50] =?UTF-8?q?=E3=82=BF=E3=82=B0=E3=81=AE=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3=E6=BC=8F=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/object/1169.plasma_beam/hit_entity/.mcfunction | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Asset/data/asset/functions/object/1169.plasma_beam/hit_entity/.mcfunction b/Asset/data/asset/functions/object/1169.plasma_beam/hit_entity/.mcfunction index c83fd0f37a4..7eb4703125e 100644 --- a/Asset/data/asset/functions/object/1169.plasma_beam/hit_entity/.mcfunction +++ b/Asset/data/asset/functions/object/1169.plasma_beam/hit_entity/.mcfunction @@ -5,7 +5,7 @@ # @within asset:object/alias/1169/hit_entity # ダメージ - 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/1169.plasma_beam/hit_entity/damage + execute positioned ~-0.5 ~-0.5 ~-0.5 as @e[type=#lib:living_without_player,tag=Enemy,tag=!Uninterferable,dx=0,sort=random,limit=1] run function asset:object/1169.plasma_beam/hit_entity/damage # 消す function asset:object/call.m {method:kill} From 34c44edb5ecdab7cef736f5993a16079d64269b7 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Wed, 28 Oct 2026 17:39:57 +0100 Subject: [PATCH 47/50] =?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 --- .../release_using_item/3.1.spark/.mcfunction | 14 +++++--------- .../release_using_item/3.1.spark/rec.mcfunction | 6 +++--- .../3.1.spark/summon.m.mcfunction | 13 +++++++++---- .../release_using_item/3.2.beam/summon.mcfunction | 15 +++++++++++---- .../release_using_item/3.3.laser/.mcfunction | 7 +++++++ .../release_using_item/3.3.laser/rec.mcfunction | 7 +++++-- .../object/1168.plasma_spark/init/.mcfunction | 2 +- .../object/1168.plasma_spark/register.mcfunction | 1 + .../object/1169.plasma_beam/register.mcfunction | 5 +++-- 9 files changed, 45 insertions(+), 25 deletions(-) diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.1.spark/.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.1.spark/.mcfunction index b36a5820dec..ab64e194676 100644 --- a/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.1.spark/.mcfunction +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.1.spark/.mcfunction @@ -11,16 +11,12 @@ # 36回実行 scoreboard players set $rec Temporary 36 -# 向いている方向に確定で一個だす - data modify storage api: Argument.ID set value 1168 - data modify storage api: Argument.FieldOverride.Damage set value 30 - data modify storage api: Argument.FieldOverride.AdditionalMPHeal set value 5 - data modify storage api: Argument.FieldOverride.AttackType set value "Physical" - data modify storage api: Argument.FieldOverride.ElementType set value "Thunder" - execute store result storage api: Argument.FieldOverride.UserID int 1 run scoreboard players get @s UserID - execute anchored eyes positioned ^ ^ ^2.5 run function api:object/summon +# 初回だけOffsetが固定 + data modify storage asset:temp Args.OffsetX set value 0 + data modify storage asset:temp Args.OffsetY set value 0 + data modify storage asset:temp Args.OffsetZ set value 2.5 -# 本体 +# 再帰 execute anchored eyes positioned ^ ^ ^ run function asset:artifact/1465.versatile_plasma/release_using_item/3.1.spark/rec # リセット diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.1.spark/rec.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.1.spark/rec.mcfunction index 0bccf2d45c4..2e1a947b513 100644 --- a/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.1.spark/rec.mcfunction +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.1.spark/rec.mcfunction @@ -7,13 +7,13 @@ # rec減算 scoreboard players remove $rec Temporary 1 +# マクロでObject召喚 + function asset:artifact/1465.versatile_plasma/release_using_item/3.1.spark/summon.m with storage asset:temp Args + # ランダムなoffsetを設定 execute store result storage asset:temp Args.OffsetX float 0.1 run random value -20..20 execute store result storage asset:temp Args.OffsetY float 0.1 run random value -5..5 execute store result storage asset:temp Args.OffsetZ float 0.1 run random value 5..35 -# マクロでObject召喚 - function asset:artifact/1465.versatile_plasma/release_using_item/3.1.spark/summon.m with storage asset:temp Args - # 再帰 execute if score $rec Temporary matches 1.. run function asset:artifact/1465.versatile_plasma/release_using_item/3.1.spark/rec diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.1.spark/summon.m.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.1.spark/summon.m.mcfunction index dc2de66374d..46888443a6b 100644 --- a/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.1.spark/summon.m.mcfunction +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.1.spark/summon.m.mcfunction @@ -5,9 +5,14 @@ # @within function asset:artifact/1465.versatile_plasma/release_using_item/3.1.spark/rec data modify storage api: Argument.ID set value 1168 - data modify storage api: Argument.FieldOverride.Damage set value 30 - data modify storage api: Argument.FieldOverride.AdditionalMPHeal set value 5 - data modify storage api: Argument.FieldOverride.AttackType set value "Physical" - data modify storage api: Argument.FieldOverride.ElementType set value "Thunder" + # 攻撃情報 + data modify storage api: Argument.FieldOverride.Damage set value 30 + data modify storage api: Argument.FieldOverride.AdditionalMPHeal set value 5 + data modify storage api: Argument.FieldOverride.AttackType set value "Physical" + data modify storage api: Argument.FieldOverride.ElementType set value "Thunder" + + # 存在時間 + execute store result storage api: Argument.FieldOverride.Tick int 1 run random value 2..7 + execute store result storage api: Argument.FieldOverride.UserID int 1 run scoreboard players get @s UserID $execute positioned ^$(OffsetX) ^$(OffsetY) ^$(OffsetZ) run function api:object/summon diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.2.beam/summon.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.2.beam/summon.mcfunction index 9a235f26a07..fa429ed75ec 100644 --- a/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.2.beam/summon.mcfunction +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.2.beam/summon.mcfunction @@ -5,9 +5,16 @@ # @within function asset:artifact/1465.versatile_plasma/release_using_item/3.2.beam/ data modify storage api: Argument.ID set value 1169 - data modify storage api: Argument.FieldOverride.Damage set value 150 - data modify storage api: Argument.FieldOverride.AdditionalMPHeal set value 5 - data modify storage api: Argument.FieldOverride.AttackType set value "Physical" - data modify storage api: Argument.FieldOverride.ElementType set value "Thunder" + + # 攻撃情報 + data modify storage api: Argument.FieldOverride.Damage set value 150 + data modify storage api: Argument.FieldOverride.AdditionalMPHeal set value 5 + data modify storage api: Argument.FieldOverride.AttackType set value "Physical" + data modify storage api: Argument.FieldOverride.ElementType set value "Thunder" + + # 発射体のField + data modify storage api: Argument.FieldOverride.Speed set value 2 + data modify storage api: Argument.FieldOverride.Range set value 50 + execute store result storage api: Argument.FieldOverride.UserID int 1 run scoreboard players get @s UserID function api:object/summon diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/.mcfunction index 97a16038c08..d9819ace0fd 100644 --- a/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/.mcfunction +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/.mcfunction @@ -8,8 +8,12 @@ # @within function asset:artifact/1465.versatile_plasma/release_using_item/3.3.laser/** #declare tag Hit #declare tag HitTarget + #declare score_holder $RemainingRange # 再帰処理 + #射程を設定 + scoreboard players set $RemainingRange Temporary 40 + execute anchored eyes positioned ^ ^ ^ run function asset:artifact/1465.versatile_plasma/release_using_item/3.3.laser/rec tag @s remove Hit function asset:artifact/1465.versatile_plasma/release_using_item/3.3.laser/damage @@ -17,3 +21,6 @@ # 演出 playsound ogg:block.vault.open_shutter player @a ~ ~ ~ 2 2 playsound ogg:block.vault.break player @a ~ ~ ~ 1 1 + +# リセット + scoreboard players reset $RemainingRange Temporary diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/rec.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/rec.mcfunction index 6545afa0445..acdae0fcea1 100644 --- a/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/rec.mcfunction +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/rec.mcfunction @@ -15,5 +15,8 @@ particle dust 0.5 1.0 0.5 1.5 ~ ~ ~ 0.0 0.0 0.0 1 1 particle dust 0.8 0.8 0.3 0.5 ~ ~ ~ 0.0 0.0 0.0 1 1 -# 再起 - execute positioned ^ ^ ^0.5 if entity @s[tag=!Hit,distance=..20] run function asset:artifact/1465.versatile_plasma/release_using_item/3.3.laser/rec +# 残り距離を減らす + scoreboard players remove $RemainingRange Temporary 1 + +# 再帰 + execute positioned ^ ^ ^0.5 if entity @s[tag=!Hit] if score $RemainingRange Temporary matches 1.. run function asset:artifact/1465.versatile_plasma/release_using_item/3.3.laser/rec diff --git a/Asset/data/asset/functions/object/1168.plasma_spark/init/.mcfunction b/Asset/data/asset/functions/object/1168.plasma_spark/init/.mcfunction index 5c8d60eebe7..a605136d16c 100644 --- a/Asset/data/asset/functions/object/1168.plasma_spark/init/.mcfunction +++ b/Asset/data/asset/functions/object/1168.plasma_spark/init/.mcfunction @@ -5,4 +5,4 @@ # @within asset:object/alias/1168/init # Tickをランダムに設定 - execute store result score @s General.Object.Tick run random value 2..7 + execute store result score @s General.Object.Tick run data get storage asset:context this.Tick diff --git a/Asset/data/asset/functions/object/1168.plasma_spark/register.mcfunction b/Asset/data/asset/functions/object/1168.plasma_spark/register.mcfunction index 9b53061ca5e..290754a97c8 100644 --- a/Asset/data/asset/functions/object/1168.plasma_spark/register.mcfunction +++ b/Asset/data/asset/functions/object/1168.plasma_spark/register.mcfunction @@ -19,4 +19,5 @@ # フィールド(オプション) data modify storage asset:object Field.Damage set value 0 data modify storage asset:object Field.AdditionalMPHeal set value 0 + data modify storage asset:object Field.Tick set value 0 data modify storage asset:object Field.UserID set value -1 diff --git a/Asset/data/asset/functions/object/1169.plasma_beam/register.mcfunction b/Asset/data/asset/functions/object/1169.plasma_beam/register.mcfunction index 746c0b21620..61eb683ef11 100644 --- a/Asset/data/asset/functions/object/1169.plasma_beam/register.mcfunction +++ b/Asset/data/asset/functions/object/1169.plasma_beam/register.mcfunction @@ -19,6 +19,7 @@ # フィールド(オプション) data modify storage asset:object Field.Damage set value 0 data modify storage asset:object Field.AdditionalMPHeal set value 0 - data modify storage asset:object Field.Speed set value 2 - data modify storage asset:object Field.Range set value 50 data modify storage asset:object Field.UserID set value -1 + + data modify storage asset:object Field.Speed set value 0 + data modify storage asset:object Field.Range set value 0 From a61b9e852cc685e6a0a95bd706456e1835f83175 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Wed, 28 Oct 2026 18:35:32 +0100 Subject: [PATCH 48/50] =?UTF-8?q?=E5=B0=84=E7=A8=8B=E3=81=AE=E8=A8=AD?= =?UTF-8?q?=E5=AE=9A=E3=82=92distance=E5=9F=BA=E6=BA=96=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../release_using_item/3.3.laser/.mcfunction | 7 ------- .../release_using_item/3.3.laser/rec.mcfunction | 5 +---- 2 files changed, 1 insertion(+), 11 deletions(-) diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/.mcfunction index d9819ace0fd..97a16038c08 100644 --- a/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/.mcfunction +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/.mcfunction @@ -8,12 +8,8 @@ # @within function asset:artifact/1465.versatile_plasma/release_using_item/3.3.laser/** #declare tag Hit #declare tag HitTarget - #declare score_holder $RemainingRange # 再帰処理 - #射程を設定 - scoreboard players set $RemainingRange Temporary 40 - execute anchored eyes positioned ^ ^ ^ run function asset:artifact/1465.versatile_plasma/release_using_item/3.3.laser/rec tag @s remove Hit function asset:artifact/1465.versatile_plasma/release_using_item/3.3.laser/damage @@ -21,6 +17,3 @@ # 演出 playsound ogg:block.vault.open_shutter player @a ~ ~ ~ 2 2 playsound ogg:block.vault.break player @a ~ ~ ~ 1 1 - -# リセット - scoreboard players reset $RemainingRange Temporary diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/rec.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/rec.mcfunction index acdae0fcea1..b9774435a90 100644 --- a/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/rec.mcfunction +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/rec.mcfunction @@ -15,8 +15,5 @@ particle dust 0.5 1.0 0.5 1.5 ~ ~ ~ 0.0 0.0 0.0 1 1 particle dust 0.8 0.8 0.3 0.5 ~ ~ ~ 0.0 0.0 0.0 1 1 -# 残り距離を減らす - scoreboard players remove $RemainingRange Temporary 1 - # 再帰 - execute positioned ^ ^ ^0.5 if entity @s[tag=!Hit] if score $RemainingRange Temporary matches 1.. run function asset:artifact/1465.versatile_plasma/release_using_item/3.3.laser/rec + execute positioned ^ ^ ^0.5 if entity @s[tag=!Hit,distance=..20] run function asset:artifact/1465.versatile_plasma/release_using_item/3.3.laser/rec From c9773789bdb55223af337677fa3e1017d1c07f78 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Sat, 31 Oct 2026 11:20:48 +0100 Subject: [PATCH 49/50] =?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 --- .../release_using_item/3.1.spark/.mcfunction | 6 +++--- .../release_using_item/3.1.spark/rec.mcfunction | 4 ++-- .../release_using_item/3.3.laser/.mcfunction | 6 +++--- .../release_using_item/3.3.laser/damage.mcfunction | 6 +++--- .../release_using_item/3.3.laser/rec.mcfunction | 6 +++--- .../object/1168.plasma_spark/tick/explode.mcfunction | 8 ++++---- .../object/1169.plasma_beam/hit_entity/damage.mcfunction | 8 ++++---- 7 files changed, 22 insertions(+), 22 deletions(-) diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.1.spark/.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.1.spark/.mcfunction index ab64e194676..1a9e1bb9b6f 100644 --- a/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.1.spark/.mcfunction +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.1.spark/.mcfunction @@ -6,10 +6,10 @@ #> Private # @within function asset:artifact/1465.versatile_plasma/release_using_item/3.1.spark/* - #declare score_holder $rec + #declare score_holder $A1465.Rec # 36回実行 - scoreboard players set $rec Temporary 36 + scoreboard players set $A1465.Rec Temporary 36 # 初回だけOffsetが固定 data modify storage asset:temp Args.OffsetX set value 0 @@ -20,5 +20,5 @@ execute anchored eyes positioned ^ ^ ^ run function asset:artifact/1465.versatile_plasma/release_using_item/3.1.spark/rec # リセット - scoreboard players reset $rec + scoreboard players reset $A1465.Rec data remove storage asset:temp Args diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.1.spark/rec.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.1.spark/rec.mcfunction index 2e1a947b513..ee460931de1 100644 --- a/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.1.spark/rec.mcfunction +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.1.spark/rec.mcfunction @@ -5,7 +5,7 @@ # @within function asset:artifact/1465.versatile_plasma/release_using_item/3.1.spark/* # rec減算 - scoreboard players remove $rec Temporary 1 + scoreboard players remove $A1465.Rec Temporary 1 # マクロでObject召喚 function asset:artifact/1465.versatile_plasma/release_using_item/3.1.spark/summon.m with storage asset:temp Args @@ -16,4 +16,4 @@ execute store result storage asset:temp Args.OffsetZ float 0.1 run random value 5..35 # 再帰 - execute if score $rec Temporary matches 1.. run function asset:artifact/1465.versatile_plasma/release_using_item/3.1.spark/rec + execute if score $A1465.Rec Temporary matches 1.. run function asset:artifact/1465.versatile_plasma/release_using_item/3.1.spark/rec diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/.mcfunction index 97a16038c08..144a2d893fd 100644 --- a/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/.mcfunction +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/.mcfunction @@ -6,12 +6,12 @@ #> Private # @within function asset:artifact/1465.versatile_plasma/release_using_item/3.3.laser/** - #declare tag Hit - #declare tag HitTarget + #declare tag A1465.Hit + #declare tag A1465.HitTarget # 再帰処理 execute anchored eyes positioned ^ ^ ^ run function asset:artifact/1465.versatile_plasma/release_using_item/3.3.laser/rec - tag @s remove Hit + tag @s remove A1465.Hit function asset:artifact/1465.versatile_plasma/release_using_item/3.3.laser/damage # 演出 diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/damage.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/damage.mcfunction index 5acb97e250e..4203a76b28c 100644 --- a/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/damage.mcfunction +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/damage.mcfunction @@ -10,8 +10,8 @@ data modify storage api: Argument.AttackType set value "Physical" data modify storage api: Argument.ElementType set value "Thunder" function api:damage/modifier - execute as @e[type=#lib:living_without_player,tag=HitTarget,distance=..20] run function api:damage/ + execute as @e[type=#lib:living_without_player,tag=A1465.HitTarget,distance=..20] run function api:damage/ function api:damage/reset -# HitTargetタグ削除 - tag @e[type=#lib:living_without_player,tag=HitTarget,distance=..20] remove HitTarget +# A1465.HitTargetタグ削除 + tag @e[type=#lib:living_without_player,tag=A1465.HitTarget,distance=..20] remove A1465.HitTarget diff --git a/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/rec.mcfunction b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/rec.mcfunction index b9774435a90..6384adee4c3 100644 --- a/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/rec.mcfunction +++ b/Asset/data/asset/functions/artifact/1465.versatile_plasma/release_using_item/3.3.laser/rec.mcfunction @@ -5,10 +5,10 @@ # @within function asset:artifact/1465.versatile_plasma/release_using_item/3.3.laser/* # 着弾検知 - execute unless block ^ ^ ^0.5 #lib:no_collision/ run tag @s add Hit + execute unless block ^ ^ ^0.5 #lib:no_collision/ run tag @s add A1465.Hit # 命中 - execute positioned ~-0.5 ~-0.5 ~-0.5 run tag @e[type=#lib:living_without_player,tag=Enemy,tag=!HitTarget,tag=!Uninterferable,dx=0,limit=1] add HitTarget + execute positioned ~-0.5 ~-0.5 ~-0.5 run tag @e[type=#lib:living_without_player,tag=Enemy,tag=!A1465.HitTarget,tag=!Uninterferable,dx=0,limit=1] add A1465.HitTarget # 演出 particle dust 0.8 1.0 0.5 1.0 ~ ~ ~ 0.0 0.0 0.0 1 1 @@ -16,4 +16,4 @@ particle dust 0.8 0.8 0.3 0.5 ~ ~ ~ 0.0 0.0 0.0 1 1 # 再帰 - execute positioned ^ ^ ^0.5 if entity @s[tag=!Hit,distance=..20] run function asset:artifact/1465.versatile_plasma/release_using_item/3.3.laser/rec + execute positioned ^ ^ ^0.5 if entity @s[tag=!A1465.Hit,distance=..20] run function asset:artifact/1465.versatile_plasma/release_using_item/3.3.laser/rec diff --git a/Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction b/Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction index 07a75faf7af..d30aa09a742 100644 --- a/Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction +++ b/Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction @@ -6,15 +6,15 @@ #> Private # @private - #declare score_holder $UserID + #declare score_holder $O1168.UserID # 攻撃判定 data modify storage api: Argument.Damage set from storage asset:context this.Damage data modify storage api: Argument.AttackType set value "Physical" data modify storage api: Argument.ElementType set value "Thunder" data modify storage api: Argument.AdditionalMPHeal set from storage asset:context this.AdditionalMPHeal - execute store result score $UserID Temporary run data get storage asset:context this.UserID - execute as @a if score @s UserID = $UserID Temporary run function api:damage/modifier + execute store result score $O1168.UserID Temporary run data get storage asset:context this.UserID + execute as @a if score @s UserID = $O1168.UserID Temporary run function api:damage/modifier execute positioned ~-0.125 ~-0.125 ~-0.125 as @e[type=#lib:living_without_player,tag=Enemy,tag=!Uninterferable,dx=0] positioned ~-0.75 ~-0.75 ~-0.75 if entity @s[dx=0] run function api:damage/ function api:damage/reset @@ -24,7 +24,7 @@ playsound block.copper_bulb.turn_on player @a ~ ~ ~ 2 2 # リセット - scoreboard players reset $UserID Temporary + scoreboard players reset $O1168.UserID Temporary # 消す kill @s diff --git a/Asset/data/asset/functions/object/1169.plasma_beam/hit_entity/damage.mcfunction b/Asset/data/asset/functions/object/1169.plasma_beam/hit_entity/damage.mcfunction index 358076c1afc..5d39fb1cc08 100644 --- a/Asset/data/asset/functions/object/1169.plasma_beam/hit_entity/damage.mcfunction +++ b/Asset/data/asset/functions/object/1169.plasma_beam/hit_entity/damage.mcfunction @@ -6,14 +6,14 @@ #> Private # @private - #declare score_holder $UserID + #declare score_holder $O1169.UserID data modify storage api: Argument.Damage set from storage asset:context this.Damage data modify storage api: Argument.AttackType set value "Physical" data modify storage api: Argument.ElementType set value "Thunder" data modify storage api: Argument.AdditionalMPHeal set from storage asset:context this.AdditionalMPHeal - execute store result score $UserID Temporary run data get storage asset:context this.UserID - execute as @a if score @s UserID = $UserID Temporary run function api:damage/modifier + execute store result score $O1169.UserID Temporary run data get storage asset:context this.UserID + execute as @a if score @s UserID = $O1169.UserID Temporary run function api:damage/modifier function api:damage/ function api:damage/reset @@ -23,4 +23,4 @@ execute rotated ~ -30 run function lib:motion/looking # リセット - scoreboard players reset $UserID Temporary + scoreboard players reset $O1169.UserID Temporary From e052cf0d344bb8c9c6b6a40e444ed89199a58e1e Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Sat, 31 Oct 2026 14:16:28 +0100 Subject: [PATCH 50/50] =?UTF-8?q?=E3=82=B9=E3=82=B3=E3=82=A2=E3=83=AA?= =?UTF-8?q?=E3=82=BB=E3=83=83=E3=83=88=E6=99=82=E3=81=AEobjective=E6=8C=87?= =?UTF-8?q?=E5=AE=9A=E3=82=92=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../functions/object/1168.plasma_spark/tick/explode.mcfunction | 2 +- .../object/1169.plasma_beam/hit_entity/damage.mcfunction | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction b/Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction index d30aa09a742..b257cc0b335 100644 --- a/Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction +++ b/Asset/data/asset/functions/object/1168.plasma_spark/tick/explode.mcfunction @@ -24,7 +24,7 @@ playsound block.copper_bulb.turn_on player @a ~ ~ ~ 2 2 # リセット - scoreboard players reset $O1168.UserID Temporary + scoreboard players reset $O1168.UserID # 消す kill @s diff --git a/Asset/data/asset/functions/object/1169.plasma_beam/hit_entity/damage.mcfunction b/Asset/data/asset/functions/object/1169.plasma_beam/hit_entity/damage.mcfunction index 5d39fb1cc08..dcb50209608 100644 --- a/Asset/data/asset/functions/object/1169.plasma_beam/hit_entity/damage.mcfunction +++ b/Asset/data/asset/functions/object/1169.plasma_beam/hit_entity/damage.mcfunction @@ -23,4 +23,4 @@ execute rotated ~ -30 run function lib:motion/looking # リセット - scoreboard players reset $O1169.UserID Temporary + scoreboard players reset $O1169.UserID