From 32527aa8cd1517fd43a44e20bc399353ba5cf04d Mon Sep 17 00:00:00 2001 From: Ponpon Date: Mon, 9 Feb 2026 12:51:40 +0900 Subject: [PATCH 1/6] GH-996 Add tags/damage_type --- data/entity/tags/damage_type/magic.json | 5 +++++ data/entity/tags/damage_type/physical.json | 5 +++++ data/entity/tags/damage_type/unreasonable.json | 5 +++++ 3 files changed, 15 insertions(+) create mode 100644 data/entity/tags/damage_type/magic.json create mode 100644 data/entity/tags/damage_type/physical.json create mode 100644 data/entity/tags/damage_type/unreasonable.json diff --git a/data/entity/tags/damage_type/magic.json b/data/entity/tags/damage_type/magic.json new file mode 100644 index 000000000..63e0d0f02 --- /dev/null +++ b/data/entity/tags/damage_type/magic.json @@ -0,0 +1,5 @@ +{ + "values": [ + "entity:magic" + ] +} diff --git a/data/entity/tags/damage_type/physical.json b/data/entity/tags/damage_type/physical.json new file mode 100644 index 000000000..cbaebdedb --- /dev/null +++ b/data/entity/tags/damage_type/physical.json @@ -0,0 +1,5 @@ +{ + "values": [ + "entity:physical" + ] +} diff --git a/data/entity/tags/damage_type/unreasonable.json b/data/entity/tags/damage_type/unreasonable.json new file mode 100644 index 000000000..23738716f --- /dev/null +++ b/data/entity/tags/damage_type/unreasonable.json @@ -0,0 +1,5 @@ +{ + "values": [ + "entity:unreasonable" + ] +} From 737a9bcb8e18c6c1e1ea524506babb6cff1d9504 Mon Sep 17 00:00:00 2001 From: Ponpon Date: Mon, 9 Feb 2026 12:52:46 +0900 Subject: [PATCH 2/6] =?UTF-8?q?GH-996=20Modify=20tags/damage=5Ftype=20?= =?UTF-8?q?=E3=81=AB=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/minecraft/tags/damage_type/bypasses_cooldown.json | 6 +++--- data/minecraft/tags/damage_type/no_knockback.json | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/data/minecraft/tags/damage_type/bypasses_cooldown.json b/data/minecraft/tags/damage_type/bypasses_cooldown.json index c1b11a642..7ad7bad5c 100644 --- a/data/minecraft/tags/damage_type/bypasses_cooldown.json +++ b/data/minecraft/tags/damage_type/bypasses_cooldown.json @@ -1,7 +1,7 @@ { "values": [ - "entity:physical", - "entity:magic", - "entity:unreasonable" + "#entity:physical", + "#entity:magic", + "#entity:unreasonable" ] } diff --git a/data/minecraft/tags/damage_type/no_knockback.json b/data/minecraft/tags/damage_type/no_knockback.json index c1b11a642..7ad7bad5c 100644 --- a/data/minecraft/tags/damage_type/no_knockback.json +++ b/data/minecraft/tags/damage_type/no_knockback.json @@ -1,7 +1,7 @@ { "values": [ - "entity:physical", - "entity:magic", - "entity:unreasonable" + "#entity:physical", + "#entity:magic", + "#entity:unreasonable" ] } From 0f13d7b4722f90730c045d353a51d947305457fb Mon Sep 17 00:00:00 2001 From: Ponpon Date: Mon, 9 Feb 2026 12:54:09 +0900 Subject: [PATCH 3/6] =?UTF-8?q?GH-996=20Modify=20=E5=90=84=E7=A8=AEbypass?= =?UTF-8?q?=E3=82=BF=E3=82=B0=E3=81=AB=E9=AD=94=E6=B3=95=E3=81=A8=E7=90=86?= =?UTF-8?q?=E5=A4=96=E3=81=AE=E3=83=80=E3=83=A1=E3=83=BC=E3=82=B8=E3=82=BF?= =?UTF-8?q?=E3=82=A4=E3=83=97=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/minecraft/tags/damage_type/bypasses_armor.json | 6 +++--- data/minecraft/tags/damage_type/bypasses_effects.json | 5 +++-- data/minecraft/tags/damage_type/bypasses_enchantments.json | 5 +++-- .../tags/damage_type/bypasses_invulnerability.json | 5 ----- data/minecraft/tags/damage_type/bypasses_resistance.json | 5 +++-- data/minecraft/tags/damage_type/bypasses_shield.json | 4 ++-- 6 files changed, 14 insertions(+), 16 deletions(-) delete mode 100644 data/minecraft/tags/damage_type/bypasses_invulnerability.json diff --git a/data/minecraft/tags/damage_type/bypasses_armor.json b/data/minecraft/tags/damage_type/bypasses_armor.json index 86a03f9f3..d2c0e9c95 100644 --- a/data/minecraft/tags/damage_type/bypasses_armor.json +++ b/data/minecraft/tags/damage_type/bypasses_armor.json @@ -1,6 +1,6 @@ { "values": [ - "tusb:unreasonable", - "tusb:magic" + "#entity:magic", + "#entity:unreasonable" ] -} \ No newline at end of file +} diff --git a/data/minecraft/tags/damage_type/bypasses_effects.json b/data/minecraft/tags/damage_type/bypasses_effects.json index f1777f1ef..d2c0e9c95 100644 --- a/data/minecraft/tags/damage_type/bypasses_effects.json +++ b/data/minecraft/tags/damage_type/bypasses_effects.json @@ -1,5 +1,6 @@ { "values": [ - "tusb:unreasonable" + "#entity:magic", + "#entity:unreasonable" ] -} \ No newline at end of file +} diff --git a/data/minecraft/tags/damage_type/bypasses_enchantments.json b/data/minecraft/tags/damage_type/bypasses_enchantments.json index f1777f1ef..d2c0e9c95 100644 --- a/data/minecraft/tags/damage_type/bypasses_enchantments.json +++ b/data/minecraft/tags/damage_type/bypasses_enchantments.json @@ -1,5 +1,6 @@ { "values": [ - "tusb:unreasonable" + "#entity:magic", + "#entity:unreasonable" ] -} \ No newline at end of file +} diff --git a/data/minecraft/tags/damage_type/bypasses_invulnerability.json b/data/minecraft/tags/damage_type/bypasses_invulnerability.json deleted file mode 100644 index f1777f1ef..000000000 --- a/data/minecraft/tags/damage_type/bypasses_invulnerability.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "values": [ - "tusb:unreasonable" - ] -} \ No newline at end of file diff --git a/data/minecraft/tags/damage_type/bypasses_resistance.json b/data/minecraft/tags/damage_type/bypasses_resistance.json index f1777f1ef..d2c0e9c95 100644 --- a/data/minecraft/tags/damage_type/bypasses_resistance.json +++ b/data/minecraft/tags/damage_type/bypasses_resistance.json @@ -1,5 +1,6 @@ { "values": [ - "tusb:unreasonable" + "#entity:magic", + "#entity:unreasonable" ] -} \ No newline at end of file +} diff --git a/data/minecraft/tags/damage_type/bypasses_shield.json b/data/minecraft/tags/damage_type/bypasses_shield.json index f1777f1ef..7eb276e06 100644 --- a/data/minecraft/tags/damage_type/bypasses_shield.json +++ b/data/minecraft/tags/damage_type/bypasses_shield.json @@ -1,5 +1,5 @@ { "values": [ - "tusb:unreasonable" + "#entity:unreasonable" ] -} \ No newline at end of file +} From 50d2674aec9f974a9ef9c1b65d0b998266f26ba8 Mon Sep 17 00:00:00 2001 From: Ponpon Date: Wed, 11 Feb 2026 12:39:20 +0900 Subject: [PATCH 4/6] =?UTF-8?q?GH-996=20Modify=20=E5=89=B2=E5=90=88?= =?UTF-8?q?=E3=83=80=E3=83=A1=E3=83=BC=E3=82=B8=E3=81=AEresolve=E3=82=92?= =?UTF-8?q?=E5=90=84=E5=B1=9E=E6=80=A7=E3=81=B8=E7=A7=BB=E5=8B=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/entity/function/damage/apply/core/.mcfunction | 4 ---- data/entity/function/damage/apply/magic.mcfunction | 3 +++ data/entity/function/damage/apply/physical.mcfunction | 3 +++ data/entity/function/damage/apply/unreasonable.mcfunction | 3 +++ 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/data/entity/function/damage/apply/core/.mcfunction b/data/entity/function/damage/apply/core/.mcfunction index 0ccde728d..ba3cd67d2 100644 --- a/data/entity/function/damage/apply/core/.mcfunction +++ b/data/entity/function/damage/apply/core/.mcfunction @@ -9,10 +9,6 @@ execute if data storage entity:_ damage{value:0d} run return fail # 実行者が死亡していれば中断 execute if predicate entity:damage/check_death run return fail - -# ダメージ値が割合設定ならば解決する -execute if data storage entity:_ damage.value{} run function entity:damage/apply/core/resolve_percentage_damage/ - # 実行者のentity_typeによって処理を変更する execute if entity @s[type=player] run function entity:damage/apply/core/player execute unless entity @s[type=player] run function entity:damage/apply/core/mob diff --git a/data/entity/function/damage/apply/magic.mcfunction b/data/entity/function/damage/apply/magic.mcfunction index d2929d910..a9db06540 100644 --- a/data/entity/function/damage/apply/magic.mcfunction +++ b/data/entity/function/damage/apply/magic.mcfunction @@ -5,6 +5,9 @@ data modify storage entity:_ damage set value {type:"entity:magic"} data modify storage entity:_ damage.value set from storage entity: damage.magic +# ダメージ値が割合設定ならば解決する +execute if data storage entity:_ damage.value{} run function entity:damage/apply/core/resolve_percentage_damage/ + # core処理を実行 function entity:damage/apply/core/ diff --git a/data/entity/function/damage/apply/physical.mcfunction b/data/entity/function/damage/apply/physical.mcfunction index b63c717e2..4176e5697 100644 --- a/data/entity/function/damage/apply/physical.mcfunction +++ b/data/entity/function/damage/apply/physical.mcfunction @@ -5,6 +5,9 @@ data modify storage entity:_ damage set value {type:"entity:physical"} data modify storage entity:_ damage.value set from storage entity: damage.physical +# ダメージ値が割合設定ならば解決する +execute if data storage entity:_ damage.value{} run function entity:damage/apply/core/resolve_percentage_damage/ + # core処理を実行 function entity:damage/apply/core/ diff --git a/data/entity/function/damage/apply/unreasonable.mcfunction b/data/entity/function/damage/apply/unreasonable.mcfunction index f68ba92d8..0d62e4b3c 100644 --- a/data/entity/function/damage/apply/unreasonable.mcfunction +++ b/data/entity/function/damage/apply/unreasonable.mcfunction @@ -5,6 +5,9 @@ data modify storage entity:_ damage set value {type:"entity:unreasonable"} data modify storage entity:_ damage.value set from storage entity: damage.unreasonable +# ダメージ値が割合設定ならば解決する +execute if data storage entity:_ damage.value{} run function entity:damage/apply/core/resolve_percentage_damage/ + # core処理を実行 function entity:damage/apply/core/ From 9865e288294d55419e41cb0fe942032642050c10 Mon Sep 17 00:00:00 2001 From: Ponpon Date: Mon, 16 Feb 2026 20:49:41 +0900 Subject: [PATCH 5/6] =?UTF-8?q?GH-996=20Add=20=E9=AD=94=E6=B3=95=E9=98=B2?= =?UTF-8?q?=E5=BE=A1=E5=8A=9B=E3=81=AE=E5=8F=96=E5=BE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../damage/apply/core/get_magic_defense.mcfunction | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 data/entity/function/damage/apply/core/get_magic_defense.mcfunction diff --git a/data/entity/function/damage/apply/core/get_magic_defense.mcfunction b/data/entity/function/damage/apply/core/get_magic_defense.mcfunction new file mode 100644 index 000000000..86bb08042 --- /dev/null +++ b/data/entity/function/damage/apply/core/get_magic_defense.mcfunction @@ -0,0 +1,12 @@ +#> entity:damage/apply/core/get_magic_defense + +execute unless entity @s[type=player] run return run scoreboard players get @s MagicDefense + +# プレイヤーの魔法防御力はエンチャントから計算する +function player:load_equipments + +data modify storage calc: List set value [] +# data modify storage calc: List append from storage item: Equipments[].components."minecraft:enchantments".levels +execute store result score _ _ run function calc:list/sum/x1 +# 2倍にして魔法防御力とする +return run scoreboard players operation _ _ += _ _ From b1eade119ebd919a19e23e0fda601b019fe87408 Mon Sep 17 00:00:00 2001 From: Ponpon Date: Mon, 16 Feb 2026 20:50:05 +0900 Subject: [PATCH 6/6] =?UTF-8?q?GH-996=20Add=20=E9=AD=94=E6=B3=95=E3=83=80?= =?UTF-8?q?=E3=83=A1=E3=83=BC=E3=82=B8=E3=81=AE=E3=83=80=E3=83=A1=E3=83=BC?= =?UTF-8?q?=E3=82=B8=E8=A8=88=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/entity/function/damage/apply/magic.mcfunction | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/data/entity/function/damage/apply/magic.mcfunction b/data/entity/function/damage/apply/magic.mcfunction index a9db06540..6245edb91 100644 --- a/data/entity/function/damage/apply/magic.mcfunction +++ b/data/entity/function/damage/apply/magic.mcfunction @@ -8,6 +8,19 @@ data modify storage entity:_ damage.value set from storage entity: damage.magic # ダメージ値が割合設定ならば解決する execute if data storage entity:_ damage.value{} run function entity:damage/apply/core/resolve_percentage_damage/ +# 軽減率を計算 +execute store result score _ MagicDefense run function entity:damage/apply/core/get_magic_defense +# 75=軽減率調整用の数値 100倍で計算 +scoreboard players add _ MagicDefense 75 +scoreboard players set _ _ 7500 +scoreboard players operation _ _ /= _ MagicDefense + +execute store result score _ Calc run data get storage entity:_ damage.value 100 + +# Shieldの処理を入れる +# scoreboard players operation _ Calc -= @s Sheild? +execute store result storage entity:_ damage.value double 0.0001 run scoreboard players operation _ Calc *= _ _ + # core処理を実行 function entity:damage/apply/core/