From 1ab5e7109460e2a6fe94af962c348fca1a551a0e Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Sat, 10 Oct 2026 11:24:44 +0200 Subject: [PATCH 01/11] =?UTF-8?q?=E5=9F=BA=E6=9C=AC=E3=81=AEArtifact?= =?UTF-8?q?=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 +++++++++++++++++++ .../1638.tome_of_median/register.mcfunction | 8 +++ .../trigger/1.trigger.mcfunction | 8 +++ .../trigger/2.check_condition.mcfunction | 12 ++++ .../trigger/3.main.mcfunction | 45 ++++++++++++ .../trigger/calc.mcfunction | 28 ++++++++ .../trigger/damage.mcfunction | 16 +++++ .../1638.tome_of_median/trigger/fx.mcfunction | 12 ++++ .../artifact/click.carrot_on_a_stick.json | 3 +- .../asset/tags/functions/artifact/give.json | 3 +- .../tags/functions/artifact/register.json | 3 +- 12 files changed, 210 insertions(+), 3 deletions(-) create mode 100644 Asset/data/asset/functions/artifact/1638.tome_of_median/give/1.trigger.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1638.tome_of_median/give/2.give.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1638.tome_of_median/register.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/1.trigger.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/2.check_condition.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/3.main.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/calc.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/damage.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/fx.mcfunction diff --git a/Asset/data/asset/functions/artifact/1638.tome_of_median/give/1.trigger.mcfunction b/Asset/data/asset/functions/artifact/1638.tome_of_median/give/1.trigger.mcfunction new file mode 100644 index 0000000000..e2757f96c0 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1638.tome_of_median/give/1.trigger.mcfunction @@ -0,0 +1,7 @@ +#> asset:artifact/1638.tome_of_median/give/1.trigger +# +# 神器の取得処理の呼び出し時に実行されるfunction +# +# @within tag/function asset:artifact/give + +execute if data storage asset:context {id:1638} run function asset:artifact/1638.tome_of_median/give/2.give \ No newline at end of file diff --git a/Asset/data/asset/functions/artifact/1638.tome_of_median/give/2.give.mcfunction b/Asset/data/asset/functions/artifact/1638.tome_of_median/give/2.give.mcfunction new file mode 100644 index 0000000000..6eee52e329 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1638.tome_of_median/give/2.give.mcfunction @@ -0,0 +1,68 @@ +#> asset:artifact/1638.tome_of_median/give/2.give +# +# 神器の作成部 ここでID等を定義する +# +# @user +# @within function asset:artifact/1638.tome_of_median/give/1.trigger + +# 神器の説明や消費MPなどをここで設定する。 +# 最後にasset:artifact/common/giveを実行することで入手可能。 + +# 神器のID (int) スプレッドシートの値を入れる + data modify storage asset:artifact ID set value 1638 +# 神器のベースアイテム + data modify storage asset:artifact Item set value "minecraft:carrot_on_a_stick" +# 神器の名前 (TextComponentString) + data modify storage asset:artifact Name set value '{"text": "メディアントーム", "color": "#3dcd58"}' +# 神器の説明文 (TextComponentString[]) + data modify storage asset:artifact Lore set value ['{"text": "前方の敵一体を攻撃する。"}', '{"text": "使用時のMP割合が50%に近いほど、与えるダメージが上昇する。"}'] +# 消費アイテム ({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 [31,500] +# 攻撃に関する情報 -攻撃タイプ (string[]) Wikiを参照 (オプション) + data modify storage asset:artifact AttackInfo.AttackType set value [Magic] +# 攻撃に関する情報 -攻撃属性 (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 "never" +# 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション) + data modify storage asset:artifact AttackInfo.AttackRange set value 3 +# MP消費量 (int) + data modify storage asset:artifact MPCost set value 25 +# 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 40 +# 種別クールダウン ({Type: string, Duration: int}) (オプション) + data modify storage asset:artifact TypeCooldown.Type set value "shortRange" + data modify storage asset:artifact TypeCooldown.Duration set value 30 +# グローバルクールダウン (int) (オプション) + # data modify storage asset:artifact SpecialCooldown set value +# クールダウンによる使用不可のメッセージを非表示にするか否か (boolean) (オプション) + # data modify storage asset:artifact DisableCooldownMessage set value +# MP不足による使用不可のメッセージを非表示にするか否か (boolean) (オプション) + # data modify storage asset:artifact DisableMPMessage set value +# 破壊時の音を鳴らさないかどうか (boolean) (オプション) + # data modify storage asset:artifact DisableBreakSound set value +# 扱える神 (string[]) Wikiを参照 + data modify storage asset:artifact CanUsedGod set value ["Flora", "Wi-ki"] +# カスタム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/1638.tome_of_median/register.mcfunction b/Asset/data/asset/functions/artifact/1638.tome_of_median/register.mcfunction new file mode 100644 index 0000000000..f3d1ec01c7 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1638.tome_of_median/register.mcfunction @@ -0,0 +1,8 @@ +#> asset:artifact/1638.tome_of_median/register +# +# 神器プールへの登録処理 +# +# @within tag/function asset:artifact/register + +data modify storage asset:artifact RarityRegistry[3] append value [1638] +data modify storage asset:artifact RarityRegistryWithColor.Red[3] append value [1638] diff --git a/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/1.trigger.mcfunction b/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/1.trigger.mcfunction new file mode 100644 index 0000000000..ec47876bb5 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/1.trigger.mcfunction @@ -0,0 +1,8 @@ +#> asset:artifact/1638.tome_of_median/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:1638} run function asset:artifact/1638.tome_of_median/trigger/2.check_condition \ No newline at end of file diff --git a/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/2.check_condition.mcfunction b/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/2.check_condition.mcfunction new file mode 100644 index 0000000000..b4cf17b7ae --- /dev/null +++ b/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/2.check_condition.mcfunction @@ -0,0 +1,12 @@ +#> asset:artifact/1638.tome_of_median/trigger/2.check_condition +# +# 神器の発動条件をチェックします +# +# @within function asset:artifact/1638.tome_of_median/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/1638.tome_of_median/trigger/3.main \ No newline at end of file diff --git a/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/3.main.mcfunction b/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/3.main.mcfunction new file mode 100644 index 0000000000..b4c4f83590 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/3.main.mcfunction @@ -0,0 +1,45 @@ +#> asset:artifact/1638.tome_of_median/trigger/3.main +# +# 神器のメイン処理部 +# +# @within function asset:artifact/1638.tome_of_median/trigger/2.check_condition + +#> Private +# @within function asset:artifact/1638.tome_of_median/trigger/** + #declare score_holder $Damage + #declare score_holder $MPRatio + #declare score_holder $MPMax +# @private + #declare tag Candidate + +# ダメージを消費前の時点で計算しておく +## 500 / (abs(50 - MPRatio) / 3) + #500 + scoreboard players set $Damage Temporary 500 + + #MPRatio + function api:mp/get_current + execute store result score $MPRatio Temporary run data get storage api: Return.CurrentMP 1000 + function api:mp/get_max + execute store result score $MPMax Temporary run data get storage api: Return.MaxMP 10 + scoreboard players operation $MPRatio Temporary /= $MPMax Temporary + + #MPRatioがちょうど50±2%でないならabs(50 - MPRatio) / 2を計算して500を除算 + execute unless score $MPRatio Temporary matches 48..52 run function asset:artifact/1638.tome_of_median/trigger/calc + +# 基本的な使用時の処理(MP消費や使用回数の処理など)を行う + function asset:artifact/common/use/mainhand + +# ここから先は神器側の効果の処理を書く + #前方のEnemyを候補に + execute positioned ^ ^ ^3 run tag @e[type=#lib:living_without_player,tag=Enemy,tag=!Uninterferable,distance=..3] add Candidate + #Enemyがいなかったら演出のみ + execute positioned ^ ^ ^3 unless entity @e[type=#lib:living_without_player,tag=Enemy,tag=!Uninterferable,distance=..3] positioned ~ ~1.5 ~ run function asset:artifact/1638.tome_of_median/trigger/fx + #Enemyがいたら視点と距離でターゲットを決める + execute positioned ^ ^ ^1.5 as @e[type=#lib:living_without_player,tag=Enemy,tag=Candidate,tag=!Uninterferable,distance=..10,sort=nearest,limit=1] at @s run function asset:artifact/1638.tome_of_median/trigger/damage + +# リセット + tag @e[type=#lib:living_without_player,tag=Candidate,distance=..10] remove Candidate + scoreboard players reset $Damage Temporary + scoreboard players reset $MPRatio Temporary + scoreboard players reset $MPMax Temporary diff --git a/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/calc.mcfunction b/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/calc.mcfunction new file mode 100644 index 0000000000..4e71025a65 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/calc.mcfunction @@ -0,0 +1,28 @@ +#> asset:artifact/1638.tome_of_median/trigger/calc +# +# +# +# @within function asset:artifact/1638.tome_of_median/trigger/3.main + +#> Private +# @private + #declare score_holder $50 + #declare score_holder $3 + #declare score_holder $-3 + #declare score_holder $500 + +# 50 - MPRatio + scoreboard players set $50 Temporary 50 + scoreboard players operation $50 Temporary -= $MPRatio Temporary + +# abs(50 - MPRatio) / 3 + execute if score $50 Temporary matches 1.. run scoreboard players operation $50 Temporary /= $3 Const + execute if score $50 Temporary matches ..-1 run scoreboard players operation $50 Temporary /= $-3 Const + +# 500を割る + scoreboard players set $500 Temporary 500 + execute store result score $Damage Temporary run scoreboard players operation $500 Temporary /= $50 Temporary + +# リセット + scoreboard players reset $50 Temporary + scoreboard players reset $500 Temporary diff --git a/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/damage.mcfunction b/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/damage.mcfunction new file mode 100644 index 0000000000..327da291c4 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/damage.mcfunction @@ -0,0 +1,16 @@ +#> asset:artifact/1638.tome_of_median/trigger/damage +# +# +# +# @within function asset:artifact/1638.tome_of_median/trigger/3.main + +# 攻撃 + execute store result storage api: Argument.Damage double 1.0 run scoreboard players get $Damage Temporary + data modify storage api: Argument.AttackType set value "Magic" + data modify storage api: Argument.ElementType set value "None" + execute as @p[tag=this] run function api:damage/modifier + function api:damage/ + function api:damage/reset + +# 演出 + execute positioned ~ ~1.5 ~ run function asset:artifact/1638.tome_of_median/trigger/fx diff --git a/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/fx.mcfunction b/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/fx.mcfunction new file mode 100644 index 0000000000..db452f81c8 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/fx.mcfunction @@ -0,0 +1,12 @@ +#> asset:artifact/1638.tome_of_median/trigger/fx +# +# +# +# @within function asset:artifact/1638.tome_of_median/trigger/** + +# vfx + particle dust 0.1 0.8 0.5 0.75 ~ ~ ~ 0.0 0.75 0.0 0 45 + particle end_rod ~ ~ ~ 0.1 0.1 0.1 0.05 15 + +# sfx + playsound block.enchantment_table.use player @a ~ ~ ~ 1.0 1.0 diff --git a/Asset/data/asset/tags/functions/artifact/click.carrot_on_a_stick.json b/Asset/data/asset/tags/functions/artifact/click.carrot_on_a_stick.json index 98fcffdd88..e70f1c48ab 100644 --- a/Asset/data/asset/tags/functions/artifact/click.carrot_on_a_stick.json +++ b/Asset/data/asset/tags/functions/artifact/click.carrot_on_a_stick.json @@ -1,5 +1,6 @@ { "values": [ + "asset:artifact/1638.tome_of_median/trigger/1.trigger", "asset:artifact/1606.dimension_knife/click/1.trigger", "asset:artifact/1332.bebebeam/trigger/1.trigger", "asset:artifact/1306.will_o_wisp/trigger/1.trigger", @@ -178,4 +179,4 @@ "asset:artifact/2001.staff_of_the_willless/trigger/1.trigger", "asset:artifact/0019.scripture/trigger/1.trigger" ] -} +} \ No newline at end of file diff --git a/Asset/data/asset/tags/functions/artifact/give.json b/Asset/data/asset/tags/functions/artifact/give.json index 584b301b2b..966c754fdd 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/1638.tome_of_median/give/1.trigger", "asset:artifact/1606.dimension_knife/give/1.trigger", "asset:artifact/1474.ninja_kunai/give/1.trigger", "asset:artifact/1473.ninja_sandals/give/1.trigger", @@ -546,4 +547,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 ca15e42aa9..59e38a941e 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/1638.tome_of_median/register", "asset:artifact/1606.dimension_knife/register", "asset:artifact/1474.ninja_kunai/register", "asset:artifact/1470.ninja_hood/register", @@ -321,4 +322,4 @@ "asset:artifact/1027.fire_of_rebirth/register", "asset:artifact/1111.rod_o_redeem/register" ] -} +} \ No newline at end of file From 083ccb1cdfc239e48f524b2d962feacabb3c2978 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Sat, 10 Oct 2026 13:23:58 +0200 Subject: [PATCH 02/11] =?UTF-8?q?Lore=E3=82=92=E5=BE=AE=E8=AA=BF=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../artifact/1638.tome_of_median/give/2.give.mcfunction | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Asset/data/asset/functions/artifact/1638.tome_of_median/give/2.give.mcfunction b/Asset/data/asset/functions/artifact/1638.tome_of_median/give/2.give.mcfunction index 6eee52e329..ec7e3745a4 100644 --- a/Asset/data/asset/functions/artifact/1638.tome_of_median/give/2.give.mcfunction +++ b/Asset/data/asset/functions/artifact/1638.tome_of_median/give/2.give.mcfunction @@ -15,7 +15,7 @@ # 神器の名前 (TextComponentString) data modify storage asset:artifact Name set value '{"text": "メディアントーム", "color": "#3dcd58"}' # 神器の説明文 (TextComponentString[]) - data modify storage asset:artifact Lore set value ['{"text": "前方の敵一体を攻撃する。"}', '{"text": "使用時のMP割合が50%に近いほど、与えるダメージが上昇する。"}'] + data modify storage asset:artifact Lore set value ['{"text": "前方の敵一体を攻撃する。"}', '{"text": "使用時のMP割合が50%に近いほど、与えるダメージが増加する。"}'] # 消費アイテム ({Item: TextComponent, Count: int, Extra?: TextComponent}) (オプション) # data modify storage asset:artifact ConsumeItem.Item set value '{"translate":"item.minecraft.stick"}' # data modify storage asset:artifact ConsumeItem.Count set value 1 From aed22680ef3851782ce19de0fc339983fd8b5438 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Sat, 17 Oct 2026 17:02:54 +0200 Subject: [PATCH 03/11] =?UTF-8?q?=5Findex.d=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../1638.tome_of_median/trigger/3.main.mcfunction | 8 -------- .../1638.tome_of_median/trigger/_index.d.mcfunction | 10 ++++++++++ 2 files changed, 10 insertions(+), 8 deletions(-) create mode 100644 Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/_index.d.mcfunction diff --git a/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/3.main.mcfunction b/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/3.main.mcfunction index b4c4f83590..3a0649fe3c 100644 --- a/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/3.main.mcfunction +++ b/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/3.main.mcfunction @@ -4,14 +4,6 @@ # # @within function asset:artifact/1638.tome_of_median/trigger/2.check_condition -#> Private -# @within function asset:artifact/1638.tome_of_median/trigger/** - #declare score_holder $Damage - #declare score_holder $MPRatio - #declare score_holder $MPMax -# @private - #declare tag Candidate - # ダメージを消費前の時点で計算しておく ## 500 / (abs(50 - MPRatio) / 3) #500 diff --git a/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/_index.d.mcfunction b/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/_index.d.mcfunction new file mode 100644 index 0000000000..ca03f08c09 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/_index.d.mcfunction @@ -0,0 +1,10 @@ +#> asset:artifact/1638.tome_of_median/trigger/_index.d +# @within function asset:artifact/1638.tome_of_median/trigger/** + #declare score_holder $Damage + #declare score_holder $MPRatio + #declare score_holder $MPMax + #declare tag Candidate + +#> tag +# @within function asset:artifact/1638.tome_of_median/trigger/** + #declare From ca7f54d1fca363fdbc05ae3ddeb00ff65185f3e2 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Sat, 17 Oct 2026 17:22:44 +0200 Subject: [PATCH 04/11] =?UTF-8?q?MP=E5=89=B2=E5=90=88=E3=81=AE=E8=A8=88?= =?UTF-8?q?=E7=AE=97=E3=81=ABAPI=E3=82=92=E4=BD=BF=E7=94=A8=E3=81=99?= =?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 --- .../1638.tome_of_median/trigger/3.main.mcfunction | 8 ++------ .../1638.tome_of_median/trigger/_index.d.mcfunction | 1 - 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/3.main.mcfunction b/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/3.main.mcfunction index 3a0649fe3c..2983dc5d63 100644 --- a/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/3.main.mcfunction +++ b/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/3.main.mcfunction @@ -10,11 +10,8 @@ scoreboard players set $Damage Temporary 500 #MPRatio - function api:mp/get_current - execute store result score $MPRatio Temporary run data get storage api: Return.CurrentMP 1000 - function api:mp/get_max - execute store result score $MPMax Temporary run data get storage api: Return.MaxMP 10 - scoreboard players operation $MPRatio Temporary /= $MPMax Temporary + function api:entity/player/get_mp_per + execute store result score $MPRatio Temporary run data get storage api: Return.MPPer 100 #MPRatioがちょうど50±2%でないならabs(50 - MPRatio) / 2を計算して500を除算 execute unless score $MPRatio Temporary matches 48..52 run function asset:artifact/1638.tome_of_median/trigger/calc @@ -34,4 +31,3 @@ tag @e[type=#lib:living_without_player,tag=Candidate,distance=..10] remove Candidate scoreboard players reset $Damage Temporary scoreboard players reset $MPRatio Temporary - scoreboard players reset $MPMax Temporary diff --git a/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/_index.d.mcfunction b/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/_index.d.mcfunction index ca03f08c09..0aa4e0cc14 100644 --- a/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/_index.d.mcfunction +++ b/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/_index.d.mcfunction @@ -2,7 +2,6 @@ # @within function asset:artifact/1638.tome_of_median/trigger/** #declare score_holder $Damage #declare score_holder $MPRatio - #declare score_holder $MPMax #declare tag Candidate #> tag From 38e7e4bd4b52b5ab78443d35695c70940215c21f Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Sat, 17 Oct 2026 17:27:21 +0200 Subject: [PATCH 05/11] =?UTF-8?q?Lore=E3=82=92=E8=AA=BF=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../artifact/1638.tome_of_median/give/2.give.mcfunction | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Asset/data/asset/functions/artifact/1638.tome_of_median/give/2.give.mcfunction b/Asset/data/asset/functions/artifact/1638.tome_of_median/give/2.give.mcfunction index ec7e3745a4..a67614151f 100644 --- a/Asset/data/asset/functions/artifact/1638.tome_of_median/give/2.give.mcfunction +++ b/Asset/data/asset/functions/artifact/1638.tome_of_median/give/2.give.mcfunction @@ -15,7 +15,7 @@ # 神器の名前 (TextComponentString) data modify storage asset:artifact Name set value '{"text": "メディアントーム", "color": "#3dcd58"}' # 神器の説明文 (TextComponentString[]) - data modify storage asset:artifact Lore set value ['{"text": "前方の敵一体を攻撃する。"}', '{"text": "使用時のMP割合が50%に近いほど、与えるダメージが増加する。"}'] + data modify storage asset:artifact Lore set value ['{"text": "前方の敵一体を攻撃する。"}', '{"text": "使用時のMP割合が50%に近いほど、与えるダメージが増加する(最大500)。"}'] # 消費アイテム ({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 [31,500] + data modify storage asset:artifact AttackInfo.Damage set value [31] # 攻撃に関する情報 -攻撃タイプ (string[]) Wikiを参照 (オプション) data modify storage asset:artifact AttackInfo.AttackType set value [Magic] # 攻撃に関する情報 -攻撃属性 (string[]) Wikiを参照 (オプション) From d11b4f0d9bf0e124e2d66736ee45d553bd185aa4 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Mon, 19 Oct 2026 20:22:03 +0200 Subject: [PATCH 06/11] =?UTF-8?q?=E3=83=8F=E3=82=A4=E3=82=B7=E3=83=A3?= =?UTF-8?q?=E3=83=BC=E3=83=89=E7=A5=9E=E5=99=A8=E3=81=AB=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../artifact/1638.tome_of_median/register.mcfunction | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Asset/data/asset/functions/artifact/1638.tome_of_median/register.mcfunction b/Asset/data/asset/functions/artifact/1638.tome_of_median/register.mcfunction index f3d1ec01c7..896ff8101a 100644 --- a/Asset/data/asset/functions/artifact/1638.tome_of_median/register.mcfunction +++ b/Asset/data/asset/functions/artifact/1638.tome_of_median/register.mcfunction @@ -4,5 +4,5 @@ # # @within tag/function asset:artifact/register -data modify storage asset:artifact RarityRegistry[3] append value [1638] -data modify storage asset:artifact RarityRegistryWithColor.Red[3] append value [1638] +data modify storage asset:artifact RarityRegistry[2] append value [1638] +data modify storage asset:artifact RarityRegistryWithColor.Red[2] append value [1638] From 7a8113aee63b5fca4c5f86b60ad0962626c481bf Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Tue, 27 Oct 2026 16:11:21 +0100 Subject: [PATCH 07/11] =?UTF-8?q?Lore=E3=81=8C=E5=AE=9F=E6=85=8B=E3=81=AB?= =?UTF-8?q?=E5=89=87=E3=81=99=E3=82=88=E3=81=86=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../artifact/1638.tome_of_median/give/2.give.mcfunction | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Asset/data/asset/functions/artifact/1638.tome_of_median/give/2.give.mcfunction b/Asset/data/asset/functions/artifact/1638.tome_of_median/give/2.give.mcfunction index a67614151f..e1b2ea991e 100644 --- a/Asset/data/asset/functions/artifact/1638.tome_of_median/give/2.give.mcfunction +++ b/Asset/data/asset/functions/artifact/1638.tome_of_median/give/2.give.mcfunction @@ -39,7 +39,7 @@ # 攻撃に関する情報 -範囲攻撃 (string) Wikiを参照 (オプション) data modify storage asset:artifact AttackInfo.IsRangeAttack set value "never" # 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション) - data modify storage asset:artifact AttackInfo.AttackRange set value 3 + data modify storage asset:artifact AttackInfo.AttackRange set value 6 # MP消費量 (int) data modify storage asset:artifact MPCost set value 25 # MP必要量 (int) (オプション) From 7dcd37b2f58546a57ff91bf699f306977bac7cd3 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Tue, 27 Oct 2026 16:11:34 +0100 Subject: [PATCH 08/11] =?UTF-8?q?=E3=82=B3=E3=83=A1=E3=83=B3=E3=83=88?= =?UTF-8?q?=E3=81=8C=E5=AE=9F=E6=85=8B=E3=81=AB=E5=89=87=E3=81=99=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 --- .../artifact/1638.tome_of_median/trigger/3.main.mcfunction | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/3.main.mcfunction b/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/3.main.mcfunction index 2983dc5d63..aa0314b0c3 100644 --- a/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/3.main.mcfunction +++ b/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/3.main.mcfunction @@ -13,7 +13,7 @@ function api:entity/player/get_mp_per execute store result score $MPRatio Temporary run data get storage api: Return.MPPer 100 - #MPRatioがちょうど50±2%でないならabs(50 - MPRatio) / 2を計算して500を除算 + #MPRatioがちょうど50±2%でないならabs(50 - MPRatio) / 3を計算して500を除算 execute unless score $MPRatio Temporary matches 48..52 run function asset:artifact/1638.tome_of_median/trigger/calc # 基本的な使用時の処理(MP消費や使用回数の処理など)を行う From d0488ab6b59b1cb9ee664d9caee652657329d982 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Sat, 31 Oct 2026 16:49:54 +0100 Subject: [PATCH 09/11] =?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 --- .../trigger/3.main.mcfunction | 16 +++++++-------- .../trigger/_index.d.mcfunction | 10 +++------- .../trigger/calc.mcfunction | 20 +++++++++---------- .../trigger/damage.mcfunction | 2 +- 4 files changed, 22 insertions(+), 26 deletions(-) diff --git a/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/3.main.mcfunction b/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/3.main.mcfunction index aa0314b0c3..5909e1e71a 100644 --- a/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/3.main.mcfunction +++ b/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/3.main.mcfunction @@ -7,27 +7,27 @@ # ダメージを消費前の時点で計算しておく ## 500 / (abs(50 - MPRatio) / 3) #500 - scoreboard players set $Damage Temporary 500 + scoreboard players set $A1638.Damage Temporary 500 #MPRatio function api:entity/player/get_mp_per - execute store result score $MPRatio Temporary run data get storage api: Return.MPPer 100 + execute store result score $A1638.MPRatio Temporary run data get storage api: Return.MPPer 100 #MPRatioがちょうど50±2%でないならabs(50 - MPRatio) / 3を計算して500を除算 - execute unless score $MPRatio Temporary matches 48..52 run function asset:artifact/1638.tome_of_median/trigger/calc + execute unless score $A1638.MPRatio Temporary matches 48..52 run function asset:artifact/1638.tome_of_median/trigger/calc # 基本的な使用時の処理(MP消費や使用回数の処理など)を行う function asset:artifact/common/use/mainhand # ここから先は神器側の効果の処理を書く #前方のEnemyを候補に - execute positioned ^ ^ ^3 run tag @e[type=#lib:living_without_player,tag=Enemy,tag=!Uninterferable,distance=..3] add Candidate + execute positioned ^ ^ ^3 run tag @e[type=#lib:living_without_player,tag=Enemy,tag=!Uninterferable,distance=..3] add A1638.Candidate #Enemyがいなかったら演出のみ execute positioned ^ ^ ^3 unless entity @e[type=#lib:living_without_player,tag=Enemy,tag=!Uninterferable,distance=..3] positioned ~ ~1.5 ~ run function asset:artifact/1638.tome_of_median/trigger/fx #Enemyがいたら視点と距離でターゲットを決める - execute positioned ^ ^ ^1.5 as @e[type=#lib:living_without_player,tag=Enemy,tag=Candidate,tag=!Uninterferable,distance=..10,sort=nearest,limit=1] at @s run function asset:artifact/1638.tome_of_median/trigger/damage + execute positioned ^ ^ ^1.5 as @e[type=#lib:living_without_player,tag=Enemy,tag=A1638.Candidate,tag=!Uninterferable,distance=..10,sort=nearest,limit=1] at @s run function asset:artifact/1638.tome_of_median/trigger/damage # リセット - tag @e[type=#lib:living_without_player,tag=Candidate,distance=..10] remove Candidate - scoreboard players reset $Damage Temporary - scoreboard players reset $MPRatio Temporary + tag @e[type=#lib:living_without_player,tag=A1638.Candidate,distance=..10] remove A1638.Candidate + scoreboard players reset $A1638.Damage + scoreboard players reset $A1638.MPRatio diff --git a/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/_index.d.mcfunction b/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/_index.d.mcfunction index 0aa4e0cc14..ea35734800 100644 --- a/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/_index.d.mcfunction +++ b/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/_index.d.mcfunction @@ -1,9 +1,5 @@ #> asset:artifact/1638.tome_of_median/trigger/_index.d # @within function asset:artifact/1638.tome_of_median/trigger/** - #declare score_holder $Damage - #declare score_holder $MPRatio - #declare tag Candidate - -#> tag -# @within function asset:artifact/1638.tome_of_median/trigger/** - #declare + #declare score_holder $A1638.Damage + #declare score_holder $A1638.MPRatio + #declare tag A1638.Candidate diff --git a/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/calc.mcfunction b/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/calc.mcfunction index 4e71025a65..f3666604f8 100644 --- a/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/calc.mcfunction +++ b/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/calc.mcfunction @@ -6,23 +6,23 @@ #> Private # @private - #declare score_holder $50 + #declare score_holder $A1638.50 #declare score_holder $3 #declare score_holder $-3 - #declare score_holder $500 + #declare score_holder $A1638.500 # 50 - MPRatio - scoreboard players set $50 Temporary 50 - scoreboard players operation $50 Temporary -= $MPRatio Temporary + scoreboard players set $A1638.50 Temporary 50 + scoreboard players operation $A1638.50 Temporary -= $A1638.MPRatio Temporary # abs(50 - MPRatio) / 3 - execute if score $50 Temporary matches 1.. run scoreboard players operation $50 Temporary /= $3 Const - execute if score $50 Temporary matches ..-1 run scoreboard players operation $50 Temporary /= $-3 Const + execute if score $A1638.50 Temporary matches 1.. run scoreboard players operation $A1638.50 Temporary /= $3 Const + execute if score $A1638.50 Temporary matches ..-1 run scoreboard players operation $A1638.50 Temporary /= $-3 Const # 500を割る - scoreboard players set $500 Temporary 500 - execute store result score $Damage Temporary run scoreboard players operation $500 Temporary /= $50 Temporary + scoreboard players set $A1638.500 Temporary 500 + execute store result score $A1638.Damage Temporary run scoreboard players operation $A1638.500 Temporary /= $A1638.50 Temporary # リセット - scoreboard players reset $50 Temporary - scoreboard players reset $500 Temporary + scoreboard players reset $A1638.50 + scoreboard players reset $A1638.500 diff --git a/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/damage.mcfunction b/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/damage.mcfunction index 327da291c4..f6558122dc 100644 --- a/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/damage.mcfunction +++ b/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/damage.mcfunction @@ -5,7 +5,7 @@ # @within function asset:artifact/1638.tome_of_median/trigger/3.main # 攻撃 - execute store result storage api: Argument.Damage double 1.0 run scoreboard players get $Damage Temporary + execute store result storage api: Argument.Damage double 1.0 run scoreboard players get $A1638.Damage Temporary data modify storage api: Argument.AttackType set value "Magic" data modify storage api: Argument.ElementType set value "None" execute as @p[tag=this] run function api:damage/modifier From ffb08ecd250578479cdf9c609c72fefa5939638c Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Sun, 1 Nov 2026 11:38:43 +0100 Subject: [PATCH 10/11] =?UTF-8?q?=5Findex.d=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../artifact/1638.tome_of_median/trigger/_index.d.mcfunction | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/_index.d.mcfunction b/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/_index.d.mcfunction index ea35734800..9c269be61d 100644 --- a/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/_index.d.mcfunction +++ b/Asset/data/asset/functions/artifact/1638.tome_of_median/trigger/_index.d.mcfunction @@ -1,4 +1,7 @@ #> asset:artifact/1638.tome_of_median/trigger/_index.d +# @private + +#> Private # @within function asset:artifact/1638.tome_of_median/trigger/** #declare score_holder $A1638.Damage #declare score_holder $A1638.MPRatio From dadd4ad961930445c6ba388cb8cc7e6332b52f30 Mon Sep 17 00:00:00 2001 From: RandomFridge Date: Mon, 2 Nov 2026 16:59:26 +0100 Subject: [PATCH 11/11] =?UTF-8?q?Lore=E3=81=AB=E6=94=B9=E8=A1=8C=E3=82=92?= =?UTF-8?q?=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../artifact/1638.tome_of_median/give/2.give.mcfunction | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Asset/data/asset/functions/artifact/1638.tome_of_median/give/2.give.mcfunction b/Asset/data/asset/functions/artifact/1638.tome_of_median/give/2.give.mcfunction index e1b2ea991e..53c77796f0 100644 --- a/Asset/data/asset/functions/artifact/1638.tome_of_median/give/2.give.mcfunction +++ b/Asset/data/asset/functions/artifact/1638.tome_of_median/give/2.give.mcfunction @@ -15,7 +15,7 @@ # 神器の名前 (TextComponentString) data modify storage asset:artifact Name set value '{"text": "メディアントーム", "color": "#3dcd58"}' # 神器の説明文 (TextComponentString[]) - data modify storage asset:artifact Lore set value ['{"text": "前方の敵一体を攻撃する。"}', '{"text": "使用時のMP割合が50%に近いほど、与えるダメージが増加する(最大500)。"}'] + data modify storage asset:artifact Lore set value ['{"text": "前方の敵一体を攻撃する。"}', '{"text": "使用時のMP割合が50%に近いほど、"}', '{"text": "与えるダメージが増加する(最大500)。"}'] # 消費アイテム ({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