CommandBlock Résolu [1.13] Test d'effet de potion sur une entité (demande d'aide)

Archaros

Architecte en herbe
15 Avril 2012
63
6
85
31
Bonjour,
comme le titre l'indique, je cherche un moyen de vérifier (de préférence grâce à /execute if @e[stuff] ) qu'une entité soit affectée par un certain effet de potion (mettons le poison par exemple).

Evidemment, je voudrais tester la présence du poison sans le clear. C'est là toute la difficulté.

Si ça peut m'aider, je vous met le contexte :
l'idée est d'infliger un effet de poison à toute personne proche d'un slime. La commande utilisée dans un "repeating command_block" (que je vais appelé RCB à partir de maintenant) est donc :
/execute as @a at @s if entity @e[distance=..1.5,type=slime] run effect give @s poison 3 1

Le problème est que l'effet de poison se réinitialise avant de pouvoir infliger des dégâts. Mon objectif est donc d'avoir une commande du style :
/execute as @a at @s if entity @e[distance=..1.5,type=slime] unless entity @s[je suis empoisonné] run effect give @s poison 3 1

Est-ce que quelqu'un peut m'aider ? :)
 

Oromis

Command-blocker slimesque
Staff
Modérateur
Support
11 Février 2014
3 345
2
1 053
297
24
Bretagne
Hey !
Essaye plutôt de faire un test par NBT :
Code:
{ActiveEffects:[Id:19b]}
 

Oromis

Command-blocker slimesque
Staff
Modérateur
Support
11 Février 2014
3 345
2
1 053
297
24
Bretagne
Au temps pour moi, essaye cela :
Code:
{ActiveEffects:[{Id:19b}]}
 

Archaros

Architecte en herbe
15 Avril 2012
63
6
85
31
Ça marche ! Merci beaucoup :)
Donc voici la commande entière :
Code:
/execute as @a at @s if entity @e[distance=..1.5,type=slime] unless entity @s[nbt={ActiveEffects:[{Id:19b}]}] run effect give @s poison 3 1