Coucou,
Je me suis penché sur le problème pour voir si il y avait une manière pour additionner ou soustraire directement dans un /attribute, mais je n'ai pas trouvé.
Par contre, la solution que j'ai trouvé, c'est de faire un scoreboard par joueur, il correspond aux points de vie max du joueur, si son score diminue une suite de commande attribuera pour chaque score possible le nombre de PV max du joueur. Exemple :
Scoreboard allant de 4 à 40 (2 coeurs à deux barre de coeurs)
Deux panneaux (pour l'exemple), un réduisant de 4 le score, l'autre l'augmentant de 4. 4 pour avoir une logique avec la commande attribute ci-dessous (j'utilise des panneaux pour cibler le joueur exacte qui lance la commande, il y a d'autre manière de le faire)
Un Command bloc en repeat et une chaîne de chain. Chacun avec
Code:
/execute as @a[scores={Health=20}] run attribute @s minecraft:generic.max_health base set 20
Execute car attribute est limité à une personne, @a[scores={Health=20}] pour cibler seulement les joueurs avec le score 20, et s'attribut eux même le Max Health correspondant à leur score.
Il y aura donc un command bloc par tranche de 4 (4,8,12,16,20,24,28,32,36,40), pour attribuer le max health aux joueurs.