Skip to content
30 changes: 27 additions & 3 deletions ScoreToHealth/changes.diff
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
--- original/ScoreToHealth/data/minecraft/tags/functions/load.json
+++ modified/ScoreToHealth/data/minecraft/tags/functions/load.json
@@ -2,3 +2,3 @@
- "values": [
- "score_to_health:load"
- ]
+ "values": [
+ "score_to_health:load"
+ ]
--- original/ScoreToHealth/data/score_to_health/functions/check.mcfunction
+++ modified/ScoreToHealth/data/score_to_health/functions/check.mcfunction
@@ -15,3 +15,4 @@
Expand All @@ -16,13 +25,14 @@
+execute if score $__ ScoreToHealth matches 1.. run function score_to_health:anti_glitch/protect
--- original/ScoreToHealth/data/score_to_health/functions/load.mcfunction
+++ modified/ScoreToHealth/data/score_to_health/functions/load.mcfunction
@@ -14,0 +15,5 @@
@@ -15 +15,13 @@
-scoreboard objectives add ScoreToHealth dummy {"text":"プレイヤーをこの体力にする(*0.01HP)"}
+#> ObjectDeclare
+# @within *
+# score_to_health:**
+# lib:score_to_health_wrapper/**
+# lib:has_health_modify_score
@@ -15,0 +21,7 @@
+ scoreboard objectives add ScoreToHealth dummy {"text":"プレイヤーをこの体力にする(*0.01HP)"}
+
+#> PrivateUse
+# @internal
Expand Down Expand Up @@ -198,8 +208,22 @@
+execute store result score $_ ScoreToHealth run attribute @s minecraft:generic.max_health get 100
+execute if score @s ScoreToHealth <= $_ ScoreToHealth run attribute @s minecraft:generic.max_health modifier add bab7cdc2-fb6a-47f6-0001-00 "ScoreToHealth" -0.0001 add
+execute if score @s ScoreToHealth > $_ ScoreToHealth run attribute @s minecraft:generic.max_health modifier add bab7cdc2-fb6a-47f6-0001-00 "ScoreToHealth" 0.0001 add
--- original/ScoreToHealth/data/score_to_health/functions/player_tick.mcfunction
+++ modified/ScoreToHealth/data/score_to_health/functions/player_tick.mcfunction
@@ -15 +15 @@
-execute if entity @s[tag=ScoreToHealth.Modified] run function score_to_health:restore
+# execute if entity @s[tag=ScoreToHealth.Modified] run function score_to_health:restore
--- original/ScoreToHealth/pack.mcmeta
+++ modified/ScoreToHealth/pack.mcmeta
@@ -3 +3 @@
@@ -2,5 +2,5 @@
- "pack":{
- "pack_format": 10,
- "description": "Sync Health with Score"
- }
-}
\ No newline at end of file
+ "pack":{
+ "pack_format": 26,
+ "description": "Sync Health with Score"
+ }
+}
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.

execute if entity @s[tag=ScoreToHealth.Modified] run function score_to_health:restore
# execute if entity @s[tag=ScoreToHealth.Modified] run function score_to_health:restore
execute unless entity @s[tag=ScoreToHealth.Return] if score @s ScoreToHealth matches -2147483648.. run function score_to_health:check
tag @s[tag=ScoreToHealth.Return] remove ScoreToHealth.Return
advancement revoke @s only score_to_health:player_tick
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
#
# @within function core:tick/

function player_manager:health/score_to_health_restore

function player_manager:manage_tag/

function player_manager:pos_fix_and_calc_diff
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#> player_manager:health/score_to_health_restore
#
# ScoreToHealth が前tickで付与したmax_health modifierを早期解除する
#
# @within function core:tick/player/pre

#> Private
# @private
#declare tag ScoreToHealth.Modified

# 前tickのmodifierを先回りで撤去
execute if entity @s[tag=ScoreToHealth.Modified] run function score_to_health:restore
Loading