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

Archaros

Massacreur de zombies
15 Avril 2012
64
6
85
27
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 190
1 010
342
20
Bretagne
Hey !
Essaye plutôt de faire un test par NBT :
Code:
{ActiveEffects:[Id:19b]}
 
Acheter minecraft moins cher

Oromis

Command-blocker slimesque
Staff
Modérateur
Support
11 Février 2014
3 190
1 010
342
20
Bretagne
Au temps pour moi, essaye cela :
Code:
{ActiveEffects:[{Id:19b}]}
 

Archaros

Massacreur de zombies
15 Avril 2012
64
6
85
27
Ç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
 

Pour voir moins d'annonces créez un compte ou connectez-vous.