From 62186aa4fdfdad5a5bb86fdad48ccda41c05f82c Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Sat, 22 Aug 2026 16:44:34 +0200 Subject: [PATCH 1/5] =?UTF-8?q?Artifact=E3=81=A8Effect=E3=81=AE=E5=9F=BA?= =?UTF-8?q?=E6=9C=AC=E3=82=92=E4=BD=9C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../damage_from_entity/1.trigger.mcfunction | 7 ++ .../2.check_condition.mcfunction | 12 ++++ .../damage_from_entity/3.main.mcfunction | 10 +++ .../1474.ninja_kunai/dis_equip/.mcfunction | 7 ++ .../dis_equip/main.mcfunction | 10 +++ .../give/1.trigger.mcfunction | 7 ++ .../1474.ninja_kunai/give/2.give.mcfunction | 70 +++++++++++++++++++ .../1474.ninja_kunai/register.mcfunction | 8 +++ .../tick/1.trigger.mcfunction | 7 ++ .../tick/2.check_condition.mcfunction | 15 ++++ .../1474.ninja_kunai/tick/3.main.mcfunction | 10 +++ .../trigger/1.trigger.mcfunction | 8 +++ .../trigger/2.check_condition.mcfunction | 12 ++++ .../trigger/3.main.mcfunction | 33 +++++++++ .../effect/0385.latency/_/register.mcfunction | 7 ++ .../effect/0385.latency/register.mcfunction | 39 +++++++++++ .../tags/functions/artifact/attack/melee.json | 3 +- .../artifact/damage/from_entity/.json | 1 + .../tags/functions/artifact/dis_equip.json | 1 + .../asset/tags/functions/artifact/give.json | 3 +- .../tags/functions/artifact/register.json | 3 +- .../asset/tags/functions/artifact/tick.json | 1 + .../asset/tags/functions/effect/register.json | 3 +- 23 files changed, 273 insertions(+), 4 deletions(-) create mode 100644 Asset/data/asset/functions/artifact/1474.ninja_kunai/damage_from_entity/1.trigger.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1474.ninja_kunai/damage_from_entity/2.check_condition.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1474.ninja_kunai/damage_from_entity/3.main.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1474.ninja_kunai/dis_equip/.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1474.ninja_kunai/dis_equip/main.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1474.ninja_kunai/give/1.trigger.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1474.ninja_kunai/give/2.give.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1474.ninja_kunai/register.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1474.ninja_kunai/tick/1.trigger.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1474.ninja_kunai/tick/2.check_condition.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1474.ninja_kunai/tick/3.main.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1474.ninja_kunai/trigger/1.trigger.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1474.ninja_kunai/trigger/2.check_condition.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1474.ninja_kunai/trigger/3.main.mcfunction create mode 100644 Asset/data/asset/functions/effect/0385.latency/_/register.mcfunction create mode 100644 Asset/data/asset/functions/effect/0385.latency/register.mcfunction diff --git a/Asset/data/asset/functions/artifact/1474.ninja_kunai/damage_from_entity/1.trigger.mcfunction b/Asset/data/asset/functions/artifact/1474.ninja_kunai/damage_from_entity/1.trigger.mcfunction new file mode 100644 index 0000000000..3b055cf595 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1474.ninja_kunai/damage_from_entity/1.trigger.mcfunction @@ -0,0 +1,7 @@ +#> asset:artifact/1474.ninja_kunai/damage_from_entity/1.trigger +# +# +# +# @within tag/function asset:artifact/damage/from_entity/ + +execute if data storage asset:context id{hotbar:[1474]} run function asset:artifact/1474.ninja_kunai/damage_from_entity/2.check_condition diff --git a/Asset/data/asset/functions/artifact/1474.ninja_kunai/damage_from_entity/2.check_condition.mcfunction b/Asset/data/asset/functions/artifact/1474.ninja_kunai/damage_from_entity/2.check_condition.mcfunction new file mode 100644 index 0000000000..1bda07ea41 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1474.ninja_kunai/damage_from_entity/2.check_condition.mcfunction @@ -0,0 +1,12 @@ +#> asset:artifact/1474.ninja_kunai/damage_from_entity/2.check_condition +# +# +# +# @within function asset:artifact/1474.ninja_kunai/damage_from_entity/1.trigger + +# 神器の基本的な条件の確認を行うfunction、成功している場合CanUsedタグが付く + function asset:artifact/common/check_condition/hotbar +# 他にアイテム等確認する場合はここに書く + +# CanUsedタグをチェックして3.main.mcfunctionを実行する + execute if entity @s[tag=CanUsed] run function asset:artifact/1474.ninja_kunai/damage_from_entity/3.main diff --git a/Asset/data/asset/functions/artifact/1474.ninja_kunai/damage_from_entity/3.main.mcfunction b/Asset/data/asset/functions/artifact/1474.ninja_kunai/damage_from_entity/3.main.mcfunction new file mode 100644 index 0000000000..d6ad3338bf --- /dev/null +++ b/Asset/data/asset/functions/artifact/1474.ninja_kunai/damage_from_entity/3.main.mcfunction @@ -0,0 +1,10 @@ +#> asset:artifact/1474.ninja_kunai/damage_from_entity/3.main +# +# +# +# @within function asset:artifact/1474.ninja_kunai/damage_from_entity/2.check_condition + +# Effect削除 + data modify storage api: Argument.ID set value 385 + function api:entity/mob/effect/remove/from_id + function api:entity/mob/effect/reset diff --git a/Asset/data/asset/functions/artifact/1474.ninja_kunai/dis_equip/.mcfunction b/Asset/data/asset/functions/artifact/1474.ninja_kunai/dis_equip/.mcfunction new file mode 100644 index 0000000000..4479562688 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1474.ninja_kunai/dis_equip/.mcfunction @@ -0,0 +1,7 @@ +#> asset:artifact/1474.ninja_kunai/dis_equip/ +# +# 装備を外した時に外した部位にのみのidが入った状態でトリガーされる +# +# @within tag/function asset:artifact/dis_equip + +execute if data storage asset:context id{hotbar:[1474]} run function asset:artifact/1474.ninja_kunai/dis_equip/main diff --git a/Asset/data/asset/functions/artifact/1474.ninja_kunai/dis_equip/main.mcfunction b/Asset/data/asset/functions/artifact/1474.ninja_kunai/dis_equip/main.mcfunction new file mode 100644 index 0000000000..ccc24ca84f --- /dev/null +++ b/Asset/data/asset/functions/artifact/1474.ninja_kunai/dis_equip/main.mcfunction @@ -0,0 +1,10 @@ +#> asset:artifact/1474.ninja_kunai/dis_equip/main +# +# 装備を外した時のメイン処理 +# +# @within function asset:artifact/1474.ninja_kunai/dis_equip/ + +# Effect削除 + data modify storage api: Argument.ID set value 385 + function api:entity/mob/effect/remove/from_id + function api:entity/mob/effect/reset diff --git a/Asset/data/asset/functions/artifact/1474.ninja_kunai/give/1.trigger.mcfunction b/Asset/data/asset/functions/artifact/1474.ninja_kunai/give/1.trigger.mcfunction new file mode 100644 index 0000000000..08dd31c964 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1474.ninja_kunai/give/1.trigger.mcfunction @@ -0,0 +1,7 @@ +#> asset:artifact/1474.ninja_kunai/give/1.trigger +# +# 神器の取得処理の呼び出し時に実行されるfunction +# +# @within tag/function asset:artifact/give + +execute if data storage asset:context {id:1474} run function asset:artifact/1474.ninja_kunai/give/2.give \ No newline at end of file diff --git a/Asset/data/asset/functions/artifact/1474.ninja_kunai/give/2.give.mcfunction b/Asset/data/asset/functions/artifact/1474.ninja_kunai/give/2.give.mcfunction new file mode 100644 index 0000000000..b7b1fa70aa --- /dev/null +++ b/Asset/data/asset/functions/artifact/1474.ninja_kunai/give/2.give.mcfunction @@ -0,0 +1,70 @@ +#> asset:artifact/1474.ninja_kunai/give/2.give +# +# 神器の作成部 ここでID等を定義する +# +# @user +# @within function asset:artifact/1474.ninja_kunai/give/1.trigger + +# 神器の説明や消費MPなどをここで設定する。 +# 最後にasset:artifact/common/giveを実行することで入手可能。 + +# 神器のID (int) スプレッドシートの値を入れる + data modify storage asset:artifact ID set value 1474 +# 神器のベースアイテム + data modify storage asset:artifact Item set value "minecraft:stick" +# 神器の名前 (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 "onAttackByMelee" +# 神器の発動条件 (TextComponentString) (オプション) + # data modify storage asset:artifact Condition set value +# 攻撃に関する情報 -Damage量 (literal[]/literal) Wikiを参照 (オプション) + data modify storage asset:artifact AttackInfo.Damage set value "80-250" +# 攻撃に関する情報 -攻撃タイプ (string[]) Wikiを参照 (オプション) + data modify storage asset:artifact AttackInfo.AttackType set value [Physical] +# 攻撃に関する情報 -攻撃属性 (string[]) Wikiを参照 (オプション) + data modify storage asset:artifact AttackInfo.ElementType set value [None] +# 攻撃に関する情報 -防御無視 (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 10 +# MP必要量 (int) (オプション) + # data modify storage asset:artifact MPRequire set value +# MP回復量 (int) + # data modify storage asset:artifact MPHealWhenHit set value +# 神器のクールダウン (int) (オプション) + # data modify storage asset:artifact LocalCooldown set value +# 種別クールダウン ({Type: string, Duration: int}) (オプション) + data modify storage asset:artifact TypeCooldown.Type set value "shortRange" + data modify storage asset:artifact TypeCooldown.Duration set value 15 +# グローバルクールダウン (int) (オプション) + # data modify storage asset:artifact SpecialCooldown set value +# クールダウンによる使用不可のメッセージを非表示にするか否か (boolean) (オプション) + # data modify storage asset:artifact DisableCooldownMessage set value +# MP不足による使用不可のメッセージを非表示にするか否か (boolean) (オプション) + # data modify storage asset:artifact DisableMPMessage set value +# 破壊時の音を鳴らさないかどうか (boolean) (オプション) + # data modify storage asset:artifact DisableBreakSound set value +# 装備スロット (string) (オプション) + data modify storage asset:artifact Equipment.Slot set value "hotbar" +# 扱える神 (string[]) Wikiを参照 + data modify storage asset:artifact CanUsedGod set value ['Nyaptov', 'Rumor'] +# カスタムNBT (NBTCompound) 追加で指定したいNBT (オプション) + # data modify storage asset:artifact CustomNBT set value {} + +# 神器の入手用function + function asset:artifact/common/give diff --git a/Asset/data/asset/functions/artifact/1474.ninja_kunai/register.mcfunction b/Asset/data/asset/functions/artifact/1474.ninja_kunai/register.mcfunction new file mode 100644 index 0000000000..0fcee5adaa --- /dev/null +++ b/Asset/data/asset/functions/artifact/1474.ninja_kunai/register.mcfunction @@ -0,0 +1,8 @@ +#> asset:artifact/1474.ninja_kunai/register +# +# 神器プールへの登録処理 +# +# @within tag/function asset:artifact/register + +data modify storage asset:artifact RarityRegistry[3] append value [1474] +data modify storage asset:artifact RarityRegistryWithColor.Red[3] append value [1474] diff --git a/Asset/data/asset/functions/artifact/1474.ninja_kunai/tick/1.trigger.mcfunction b/Asset/data/asset/functions/artifact/1474.ninja_kunai/tick/1.trigger.mcfunction new file mode 100644 index 0000000000..fc7d322ad4 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1474.ninja_kunai/tick/1.trigger.mcfunction @@ -0,0 +1,7 @@ +#> asset:artifact/1474.ninja_kunai/tick/1.trigger +# +# +# +# @within tag/function asset:artifact/tick + +execute if data storage asset:context id{hotbar:[1474]} run function asset:artifact/1474.ninja_kunai/tick/2.check_condition diff --git a/Asset/data/asset/functions/artifact/1474.ninja_kunai/tick/2.check_condition.mcfunction b/Asset/data/asset/functions/artifact/1474.ninja_kunai/tick/2.check_condition.mcfunction new file mode 100644 index 0000000000..ce233bed54 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1474.ninja_kunai/tick/2.check_condition.mcfunction @@ -0,0 +1,15 @@ +#> asset:artifact/1474.ninja_kunai/tick/2.check_condition +# +# +# +# @within function asset:artifact/1474.ninja_kunai/tick/1.trigger + +# IDを指定 + data modify storage asset:artifact TargetID set value 1474 +# 神器の基本的な条件の確認を行うfunction、成功している場合CanUsedタグが付く + function asset:artifact/common/check_condition/hotbar +# 他にアイテム等確認する場合はここに書く + execute if predicate lib:in_battle run tag @s remove CanUsed + +# CanUsedタグをチェックして3.main.mcfunctionを実行する + execute if entity @s[tag=CanUsed] run function asset:artifact/1474.ninja_kunai/tick/3.main diff --git a/Asset/data/asset/functions/artifact/1474.ninja_kunai/tick/3.main.mcfunction b/Asset/data/asset/functions/artifact/1474.ninja_kunai/tick/3.main.mcfunction new file mode 100644 index 0000000000..bb63553e33 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1474.ninja_kunai/tick/3.main.mcfunction @@ -0,0 +1,10 @@ +#> asset:artifact/1474.ninja_kunai/tick/3.main +# +# +# +# @within function asset:artifact/1474.ninja_kunai/tick/2.check_condition + +# Effect385付与 + data modify storage api: Argument.ID set value 385 + function api:entity/mob/effect/give + function api:entity/mob/effect/reset diff --git a/Asset/data/asset/functions/artifact/1474.ninja_kunai/trigger/1.trigger.mcfunction b/Asset/data/asset/functions/artifact/1474.ninja_kunai/trigger/1.trigger.mcfunction new file mode 100644 index 0000000000..a750c7c427 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1474.ninja_kunai/trigger/1.trigger.mcfunction @@ -0,0 +1,8 @@ +#> asset:artifact/1474.ninja_kunai/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:1474} run function asset:artifact/1474.ninja_kunai/trigger/2.check_condition \ No newline at end of file diff --git a/Asset/data/asset/functions/artifact/1474.ninja_kunai/trigger/2.check_condition.mcfunction b/Asset/data/asset/functions/artifact/1474.ninja_kunai/trigger/2.check_condition.mcfunction new file mode 100644 index 0000000000..17b24c3a86 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1474.ninja_kunai/trigger/2.check_condition.mcfunction @@ -0,0 +1,12 @@ +#> asset:artifact/1474.ninja_kunai/trigger/2.check_condition +# +# 神器の発動条件をチェックします +# +# @within function asset:artifact/1474.ninja_kunai/trigger/1.trigger + +# 神器の基本的な条件の確認を行うfunction、成功している場合CanUsedタグが付く + function asset:artifact/common/check_condition/mainhand +# 他にアイテム等確認する場合はここに書く + +# CanUsedタグをチェックして3.main.mcfunctionを実行する + execute if entity @s[tag=CanUsed] run function asset:artifact/1474.ninja_kunai/trigger/3.main \ No newline at end of file diff --git a/Asset/data/asset/functions/artifact/1474.ninja_kunai/trigger/3.main.mcfunction b/Asset/data/asset/functions/artifact/1474.ninja_kunai/trigger/3.main.mcfunction new file mode 100644 index 0000000000..f55f7405db --- /dev/null +++ b/Asset/data/asset/functions/artifact/1474.ninja_kunai/trigger/3.main.mcfunction @@ -0,0 +1,33 @@ +#> asset:artifact/1474.ninja_kunai/trigger/3.main +# +# 神器のメイン処理部 +# +# @within function asset:artifact/1474.ninja_kunai/trigger/2.check_condition + +#> Private +#@private + #declare score_holder $Damage + +# 基本的な使用時の処理(MP消費や使用回数の処理など)を行う + function asset:artifact/common/use/mainhand + +# ここから先は神器側の効果の処理を書く +# 最初にダメージをスコアで設定 + scoreboard players set $Damage Temporary 80 +# 後ろから攻撃したなら+70 + execute at @e[type=#lib:living_without_player,tag=Victim,distance=..5] rotated ~ 0 positioned ^ ^ ^50 unless entity @s[distance=..50] run scoreboard players add $Damage Temporary 70 +# Effect385が付与されているなら+100 + data modify storage api: Argument.ID set value 385 + function api:entity/mob/effect/get/from_id + execute if data storage api: Return.Effect run scoreboard players add $Damage Temporary 100 +# Effect削除 + data modify storage api: Argument.ID set value 385 + function api:entity/mob/effect/remove/from_id + function api:entity/mob/effect/reset + +# $Damageから引数に代入 + execute store result storage api: Argument.Damage float 1.0 run scoreboard players get $Damage Temporary + data modify storage api: Argument.AttackType set value "Physical" + function api:damage/modifier + execute as @e[type=#lib:living_without_player,tag=Victim,distance=..5,sort=nearest,limit=1] run function api:damage/ + function api:damage/reset diff --git a/Asset/data/asset/functions/effect/0385.latency/_/register.mcfunction b/Asset/data/asset/functions/effect/0385.latency/_/register.mcfunction new file mode 100644 index 0000000000..ee99d6a212 --- /dev/null +++ b/Asset/data/asset/functions/effect/0385.latency/_/register.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0385.latency/_/register +# +# +# +# @within tag/function asset:effect/register + +execute if data storage asset:context {id:385} run function asset:effect/0385.latency/register \ No newline at end of file diff --git a/Asset/data/asset/functions/effect/0385.latency/register.mcfunction b/Asset/data/asset/functions/effect/0385.latency/register.mcfunction new file mode 100644 index 0000000000..3af1995446 --- /dev/null +++ b/Asset/data/asset/functions/effect/0385.latency/register.mcfunction @@ -0,0 +1,39 @@ +#> asset:effect/0385.latency/register +# +# Effectのデータを指定 +# +# @within function asset:effect/0385.latency/_/register + +# ExtendsSafe (boolean) (default = false) + # data modify storage asset:effect ExtendsSafe set value true +# ID (int) + data modify storage asset:effect ID set value 385 +# 名前 (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 2147483647 +# スタック (int) (default = API || 1) + # data modify storage asset:effect Stack set value +# 効果時間の操作方法 (default = API || "replace") + # data modify storage asset:effect DurationOperation set value +# スタックの操作方法 (default = API || "replace") + # data modify storage asset:effect StackOperation set value +# 最大効果時間 (int) (default = 2147483647) + # data modify storage asset:effect MaxDuration set value +# 最大スタック (int) (default = 2147483647) + # data modify storage asset:effect MaxStack set value +# 悪い効果か否か (boolean) + data modify storage asset:effect IsBadEffect set value false +# 死亡時のエフェクトの処理 (default = "remove") + # data modify storage asset:effect ProcessOnDied set value +# 消すのに必要なレベル (int) (default = 1) + # data modify storage asset:effect RequireClearLv set value +# エフェクトを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/attack/melee.json b/Asset/data/asset/tags/functions/artifact/attack/melee.json index befbe3d3d1..096dfa22ef 100644 --- a/Asset/data/asset/tags/functions/artifact/attack/melee.json +++ b/Asset/data/asset/tags/functions/artifact/attack/melee.json @@ -1,5 +1,6 @@ { "values": [ + "asset:artifact/1474.ninja_kunai/trigger/1.trigger", "asset:artifact/1269.apocalypse/trigger/1.trigger", "asset:artifact/1209.sinful_scythe/trigger/1.trigger", "asset:artifact/1282.ice_axe/trigger/1.trigger", @@ -73,4 +74,4 @@ "asset:artifact/0672.aurora_blade/trigger/1.trigger", "asset:artifact/0745.blade_of_whirlwind/trigger/1.trigger" ] -} +} \ No newline at end of file diff --git a/Asset/data/asset/tags/functions/artifact/damage/from_entity/.json b/Asset/data/asset/tags/functions/artifact/damage/from_entity/.json index ba88a05bc5..62997564fd 100644 --- a/Asset/data/asset/tags/functions/artifact/damage/from_entity/.json +++ b/Asset/data/asset/tags/functions/artifact/damage/from_entity/.json @@ -1,5 +1,6 @@ { "values": [ + "asset:artifact/1474.ninja_kunai/damage_from_entity/1.trigger", "asset:artifact/1311.yearning_rose/damage_from_entity/1.trigger", "asset:artifact/0554.catastrophe/damage_entity/1.trigger", "asset:artifact/1141.bell_of_courage/trigger/1.trigger", diff --git a/Asset/data/asset/tags/functions/artifact/dis_equip.json b/Asset/data/asset/tags/functions/artifact/dis_equip.json index 66024826fc..d1d1312bf5 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/1474.ninja_kunai/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 fdb7a26c47..e6eb89f943 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/1474.ninja_kunai/give/1.trigger", "asset:artifact/1562.tsukimi_dango/give/1.trigger", "asset:artifact/1430.shield_of_fate/give/1.trigger", "asset:artifact/1453.frost_flake_bow/give/1.trigger", @@ -540,4 +541,4 @@ "asset:artifact/0735.collision_plate/give/1.trigger", "asset:artifact/0745.blade_of_whirlwind/give/1.trigger" ] -} +} \ No newline at end of file diff --git a/Asset/data/asset/tags/functions/artifact/register.json b/Asset/data/asset/tags/functions/artifact/register.json index 2bba1f3f33..f48be92b28 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/1474.ninja_kunai/register", "asset:artifact/1562.tsukimi_dango/register", "asset:artifact/1453.frost_flake_bow/register", "asset:artifact/1430.shield_of_fate/register", @@ -318,4 +319,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/tick.json b/Asset/data/asset/tags/functions/artifact/tick.json index b65959673c..1d355b01ef 100644 --- a/Asset/data/asset/tags/functions/artifact/tick.json +++ b/Asset/data/asset/tags/functions/artifact/tick.json @@ -1,5 +1,6 @@ { "values": [ + "asset:artifact/1474.ninja_kunai/tick/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/register.json b/Asset/data/asset/tags/functions/effect/register.json index 78c10d4140..40ead997f3 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/0385.latency/_/register", "asset:effect/0371.tsukimi/_/register", "asset:effect/0355.heart_gap/_/register", "asset:effect/0354.protection_of_courage/_/register", @@ -182,4 +183,4 @@ "asset:effect/0007.defense_base_debuff/_/register", "asset:effect/0258.spirit_melody/_/register" ] -} +} \ No newline at end of file From bfc72268dc0d3fdfac2096b89a7b0ffe16e66f1e Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Sun, 23 Aug 2026 20:42:34 +0200 Subject: [PATCH 2/5] =?UTF-8?q?Effect=E3=81=AEregister=E3=82=92=E6=9B=B4?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../asset/functions/effect/0385.latency/register.mcfunction | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Asset/data/asset/functions/effect/0385.latency/register.mcfunction b/Asset/data/asset/functions/effect/0385.latency/register.mcfunction index 3af1995446..c4300b0f61 100644 --- a/Asset/data/asset/functions/effect/0385.latency/register.mcfunction +++ b/Asset/data/asset/functions/effect/0385.latency/register.mcfunction @@ -29,11 +29,11 @@ # 死亡時のエフェクトの処理 (default = "remove") # data modify storage asset:effect ProcessOnDied set value # 消すのに必要なレベル (int) (default = 1) - # data modify storage asset:effect RequireClearLv set value + 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 StackVisible set value false # フィールド # data modify storage asset:effect Field set value {} From a511ece13018cb7525c1367f63e02f3b2e6ce84a Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Sun, 23 Aug 2026 20:57:39 +0200 Subject: [PATCH 3/5] =?UTF-8?q?=E3=81=A9=E3=81=AE=E6=94=BB=E6=92=83?= =?UTF-8?q?=E3=81=A7=E3=82=82Effect=E3=81=8C=E8=A7=A3=E9=99=A4=E3=81=95?= =?UTF-8?q?=E3=82=8C=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 --- .../1474.ninja_kunai/attack/1.trigger.mcfunction | 8 ++++++++ .../attack/2.check_condition.mcfunction | 12 ++++++++++++ .../1474.ninja_kunai/attack/3.main.mcfunction | 10 ++++++++++ Asset/data/asset/tags/functions/artifact/attack.json | 3 ++- 4 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 Asset/data/asset/functions/artifact/1474.ninja_kunai/attack/1.trigger.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1474.ninja_kunai/attack/2.check_condition.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1474.ninja_kunai/attack/3.main.mcfunction diff --git a/Asset/data/asset/functions/artifact/1474.ninja_kunai/attack/1.trigger.mcfunction b/Asset/data/asset/functions/artifact/1474.ninja_kunai/attack/1.trigger.mcfunction new file mode 100644 index 0000000000..58cf656a57 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1474.ninja_kunai/attack/1.trigger.mcfunction @@ -0,0 +1,8 @@ +#> asset:artifact/1474.ninja_kunai/attack/1.trigger +# +# +# +# @within tag/function asset:artifact/attack + +# storage asset:idのhotbarに装備している神器のIDが入っているので比較し、~/2.check_condition.mcfunctionを実行する + execute if data storage asset:context id{hotbar:[1474]} run function asset:artifact/1474.ninja_kunai/attack/2.check_condition diff --git a/Asset/data/asset/functions/artifact/1474.ninja_kunai/attack/2.check_condition.mcfunction b/Asset/data/asset/functions/artifact/1474.ninja_kunai/attack/2.check_condition.mcfunction new file mode 100644 index 0000000000..af7cfe0df8 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1474.ninja_kunai/attack/2.check_condition.mcfunction @@ -0,0 +1,12 @@ +#> asset:artifact/1474.ninja_kunai/attack/2.check_condition +# +# 神器の発動条件をチェックします +# +# @within function asset:artifact/1474.ninja_kunai/attack/1.trigger + +# 神器の基本的な条件の確認を行うfunction、成功している場合CanUsedタグが付く + function asset:artifact/common/check_condition/hotbar +# 他にアイテム等確認する場合はここに書く + +# CanUsedタグをチェックして3.main.mcfunctionを実行する + execute if entity @s[tag=CanUsed] run function asset:artifact/1474.ninja_kunai/attack/3.main diff --git a/Asset/data/asset/functions/artifact/1474.ninja_kunai/attack/3.main.mcfunction b/Asset/data/asset/functions/artifact/1474.ninja_kunai/attack/3.main.mcfunction new file mode 100644 index 0000000000..df2af6cee7 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1474.ninja_kunai/attack/3.main.mcfunction @@ -0,0 +1,10 @@ +#> asset:artifact/1474.ninja_kunai/attack/3.main +# +# 神器のメイン処理部 +# +# @within function asset:artifact/1474.ninja_kunai/attack/2.check_condition + +# Effect削除 + data modify storage api: Argument.ID set value 385 + function api:entity/mob/effect/remove/from_id + function api:entity/mob/effect/reset diff --git a/Asset/data/asset/tags/functions/artifact/attack.json b/Asset/data/asset/tags/functions/artifact/attack.json index cc4f84a8b8..fb4ceacf38 100644 --- a/Asset/data/asset/tags/functions/artifact/attack.json +++ b/Asset/data/asset/tags/functions/artifact/attack.json @@ -1,5 +1,6 @@ { "values": [ + "asset:artifact/1474.ninja_kunai/attack/1.trigger", "asset:artifact/1534.drop_in_the_bucket/trigger/1.trigger", "asset:artifact/1327.lunatic_torch/trigger/1.trigger", "asset:artifact/1308.magnifier_of_detective_girl/trigger/1.trigger", @@ -13,4 +14,4 @@ "asset:artifact/0664.soul_fire_armor/attack/1.trigger", "asset:artifact/0724.oblivious_snow/attack/1.trigger" ] -} \ No newline at end of file +} From 7f451d50bd3cba7bcdee93802d56c9ab00c1059b Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Sun, 23 Aug 2026 21:09:18 +0200 Subject: [PATCH 4/5] =?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 --- .../trigger/3.1.backstab.mcfunction | 12 ++++++++++++ .../trigger/3.2.first_strike.mcfunction | 13 +++++++++++++ .../1474.ninja_kunai/trigger/3.main.mcfunction | 13 ++++++------- 3 files changed, 31 insertions(+), 7 deletions(-) create mode 100644 Asset/data/asset/functions/artifact/1474.ninja_kunai/trigger/3.1.backstab.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1474.ninja_kunai/trigger/3.2.first_strike.mcfunction diff --git a/Asset/data/asset/functions/artifact/1474.ninja_kunai/trigger/3.1.backstab.mcfunction b/Asset/data/asset/functions/artifact/1474.ninja_kunai/trigger/3.1.backstab.mcfunction new file mode 100644 index 0000000000..59ff5def2c --- /dev/null +++ b/Asset/data/asset/functions/artifact/1474.ninja_kunai/trigger/3.1.backstab.mcfunction @@ -0,0 +1,12 @@ +#> asset:artifact/1474.ninja_kunai/trigger/3.1.backstab +# +# +# +# @within function asset:artifact/1474.ninja_kunai/trigger/3.main + +# ダメージ加算 + scoreboard players add $Damage Temporary 70 + +# 演出 + execute at @e[type=#lib:living_without_player,tag=Victim,distance=..5,limit=1] anchored eyes run particle crit ~ ~ ~ 0.1 0.5 0.1 0.5 35 + playsound entity.wither_skeleton.death player @a ~ ~ ~ 1 2 diff --git a/Asset/data/asset/functions/artifact/1474.ninja_kunai/trigger/3.2.first_strike.mcfunction b/Asset/data/asset/functions/artifact/1474.ninja_kunai/trigger/3.2.first_strike.mcfunction new file mode 100644 index 0000000000..9f4e5ac462 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1474.ninja_kunai/trigger/3.2.first_strike.mcfunction @@ -0,0 +1,13 @@ +#> asset:artifact/1474.ninja_kunai/trigger/3.2.first_strike +# +# +# +# @within function asset:artifact/1474.ninja_kunai/trigger/3.main + +# ダメージ加算 + scoreboard players add $Damage Temporary 100 + +# 演出 + execute at @e[type=#lib:living_without_player,tag=Victim,distance=..5,limit=1] run particle damage_indicator ~ ~ ~ 0 0 0 0.5 15 + playsound item.trident.throw player @a ~ ~ ~ 2 2 + playsound item.shovel.flatten player @a ~ ~ ~ 2 0.5 diff --git a/Asset/data/asset/functions/artifact/1474.ninja_kunai/trigger/3.main.mcfunction b/Asset/data/asset/functions/artifact/1474.ninja_kunai/trigger/3.main.mcfunction index f55f7405db..81f5376e0a 100644 --- a/Asset/data/asset/functions/artifact/1474.ninja_kunai/trigger/3.main.mcfunction +++ b/Asset/data/asset/functions/artifact/1474.ninja_kunai/trigger/3.main.mcfunction @@ -5,7 +5,7 @@ # @within function asset:artifact/1474.ninja_kunai/trigger/2.check_condition #> Private -#@private +#@within function asset:artifact/1474.ninja_kunai/trigger/** #declare score_holder $Damage # 基本的な使用時の処理(MP消費や使用回数の処理など)を行う @@ -15,15 +15,11 @@ # 最初にダメージをスコアで設定 scoreboard players set $Damage Temporary 80 # 後ろから攻撃したなら+70 - execute at @e[type=#lib:living_without_player,tag=Victim,distance=..5] rotated ~ 0 positioned ^ ^ ^50 unless entity @s[distance=..50] run scoreboard players add $Damage Temporary 70 + execute at @e[type=#lib:living_without_player,tag=Victim,distance=..5] rotated ~ 0 positioned ^ ^ ^50 unless entity @s[distance=..50] at @p[tag=this] run function asset:artifact/1474.ninja_kunai/trigger/3.1.backstab # Effect385が付与されているなら+100 data modify storage api: Argument.ID set value 385 function api:entity/mob/effect/get/from_id - execute if data storage api: Return.Effect run scoreboard players add $Damage Temporary 100 -# Effect削除 - data modify storage api: Argument.ID set value 385 - function api:entity/mob/effect/remove/from_id - function api:entity/mob/effect/reset + execute if data storage api: Return.Effect run function asset:artifact/1474.ninja_kunai/trigger/3.2.first_strike # $Damageから引数に代入 execute store result storage api: Argument.Damage float 1.0 run scoreboard players get $Damage Temporary @@ -31,3 +27,6 @@ function api:damage/modifier execute as @e[type=#lib:living_without_player,tag=Victim,distance=..5,sort=nearest,limit=1] run function api:damage/ function api:damage/reset + +# 演出 + playsound item.trident.hit player @a ~ ~ ~ 2 1 From 9bdb5bb9079c67c337ff89cfee4de98c1d2e7dff Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Sun, 23 Aug 2026 21:24:23 +0200 Subject: [PATCH 5/5] =?UTF-8?q?Lore=E9=A1=9E=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../functions/artifact/1474.ninja_kunai/give/2.give.mcfunction | 2 +- .../asset/functions/effect/0385.latency/register.mcfunction | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Asset/data/asset/functions/artifact/1474.ninja_kunai/give/2.give.mcfunction b/Asset/data/asset/functions/artifact/1474.ninja_kunai/give/2.give.mcfunction index b7b1fa70aa..d470c43683 100644 --- a/Asset/data/asset/functions/artifact/1474.ninja_kunai/give/2.give.mcfunction +++ b/Asset/data/asset/functions/artifact/1474.ninja_kunai/give/2.give.mcfunction @@ -15,7 +15,7 @@ # 神器の名前 (TextComponentString) data modify storage asset:artifact Name set value '{"text": "忍びのクナイ"}' # 神器の説明文 (TextComponentString[]) - data modify storage asset:artifact Lore set value [] + data modify storage asset:artifact Lore set value ['{"text": "戦闘中、最初にこの神器で攻撃すると威力が上昇する。"}', '{"text": "また、背後からの攻撃でも威力が上昇する。"}'] # 消費アイテム ({Item: TextComponent, Count: int, Extra?: TextComponent}) (オプション) # data modify storage asset:artifact ConsumeItem.Item set value '{"translate":"item.minecraft.stick"}' # data modify storage asset:artifact ConsumeItem.Count set value 1 diff --git a/Asset/data/asset/functions/effect/0385.latency/register.mcfunction b/Asset/data/asset/functions/effect/0385.latency/register.mcfunction index c4300b0f61..d3810230f4 100644 --- a/Asset/data/asset/functions/effect/0385.latency/register.mcfunction +++ b/Asset/data/asset/functions/effect/0385.latency/register.mcfunction @@ -11,7 +11,7 @@ # 名前 (TextComponentString) data modify storage asset:effect Name set value '{"text": "潜伏"}' # 説明文 (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 2147483647 # スタック (int) (default = API || 1)