CommandBlock Création [RESOLU] problème de commande pour la 1.14

touffu

Aventurier
27 Octobre 2019
26
0
3
18
Bonjour,
Récemment je me suis remis à jouer a minecraft et j'ai constaté que la majorité des commandes avaient changés (1.14). J'ai voulu créé un arc qui lance des flèches explosives mais je me suis perdu.

Mon objectif: faire en sorte que lorsqu'une flèche touche un joueur, celui-ci prend des dégâts d'explosions.
Mon problème : je n'arrive pas à comprendre comment faire exploser un joueur lorsque celui-ci se prend une flèche (quelconque)
J'ai essayer sa: /execute if entity @e[type=minecraft:arrow,nbt={OnGround:1b}] run....Mais je ne suis pas sûr de cette commande et je ne connais pas la suite !

Merci de me répondre au plus vite !
 
16 Février 2014
1 944
391
217
le sud (de Melun)
La commande a en effet beaucoup changé il y a un peu plus d'un an, maintenant on peut faire énormément de choses avec.

La commande correcte serait celle là :
Code:
/execute at @e[type=minecraft:arrow,nbt={inGround:1b}] run <>

Le "if entity" ne va exécuter la commande que si l'entité décrite existe, mais ça ne dit pas où la commande va être exécutée (par défaut c'est sur le command block).
Il faut utiliser "at @e..." avoir la position par rapport à une entité.
Et pour les flèches il faut apparemment mettre "inGround" plutôt que "OnGround", du coup si t'avais bien mis "inGround" ton command block aurait explosé.
 

touffu

Aventurier
27 Octobre 2019
26
0
3
18
La commande a en effet beaucoup changé il y a un peu plus d'un an, maintenant on peut faire énormément de choses avec.

La commande correcte serait celle là :
Code:
/execute at @e[type=minecraft:arrow,nbt={inGround:1b}] run <>

Le "if entity" ne va exécuter la commande que si l'entité décrite existe, mais ça ne dit pas où la commande va être exécutée (par défaut c'est sur le command block).
Il faut utiliser "at @e..." avoir la position par rapport à une entité.
Et pour les flèches il faut apparemment mettre "inGround" plutôt que "OnGround", du coup si t'avais bien mis "inGround" ton command block aurait explosé.
Super, merci beaucoup !
Y aurait-il aussi moyen que lorsqu'un joueur se prend une flèche une action quelconque se déroule. Mon problème c'est que si un joueur tire sur un autre joueur, rien ne va se passer à part le fait qu'il prendra les dégâts de la flèche. Il faut impérativement qu'il tire sur un block
 
16 Février 2014
1 944
391
217
le sud (de Melun)
Une astuce consiste à donner aux joueurs des flèches qui donnent l'effet Luck (car il a pas trop de conséquences en pvp).
Puis on peu détecter les joueurs qui ont cet effet et enfin exécuter n'importe quelle commande (et retirer l'effet).
 
  • J'aime
Reactions: Eglaios

touffu

Aventurier
27 Octobre 2019
26
0
3
18
Une astuce consiste à donner aux joueurs des flèches qui donnent l'effet Luck (car il a pas trop de conséquences en pvp).
Puis on peu détecter les joueurs qui ont cet effet et enfin exécuter n'importe quelle commande (et retirer l'effet).
Nouveau problème : je n'arrive pas à détecter si un joueur a cette effet. Je pense qu'il y a un rapport avec ActiveEffects mais je ne sais pas comment l’insérer dans la commande.
j'ai essayer beaucoup de chose :
/execute at @a[tag=(je ne sais pas quelle forme mettre, Json marche pas)] run tp ~ ~10 ~
/execute at @a[nbt={ActiveEffects:[{id:"minecraft:luck",lvl:1}]}].....
...................@a[nbt={tag:{ActiveEffects:[{id:"minecraft:luck",lvl:1}]}}]........

aucune ne marche donc bon....
si t'as une idée, puisque tu connais l'astuce, tu devrais trouver ;)
 

Eglaios

Crétin de la commu
14 Avril 2018
310
42
89
25
J'ai cru comprendre qu'il faut préciser les IDs, et non les noms, des effets...
ça devrait donner quelque chose comme ça :
@a[nbt={ActiveEffects:[{Id:26b}]}] (non vérifié)

Le meilleur moyen, c'est de tester : si ça marche pas, vas en jeu, donne-toi l'effet, puis tape :
Code:
/data get entity @s ActiveEffects
Et ça t'affichera ce que tu es censé marquer

Pour l'effet de luck de Regis, c'est un bon truc, j'avais pas pensé
 

touffu

Aventurier
27 Octobre 2019
26
0
3
18
J'ai cru comprendre qu'il faut préciser les IDs, et non les noms, des effets...
ça devrait donner quelque chose comme ça :
@a[nbt={ActiveEffects:[{Id:26b}]}] (non vérifié)

Le meilleur moyen, c'est de tester : si ça marche pas, vas en jeu, donne-toi l'effet, puis tape :
Code:
/data get entity @s ActiveEffects
Et ça t'affichera ce que tu es censé marquer

Pour l'effet de luck de Regis, c'est un bon truc, j'avais pas pensé
Ok je vais tester
Je connaissais pas ce truc avec le data c’est cool ça
Super merci pour les datas c'est vraiment super utile. Je viens de tester la commande et finalement je me suis rendu compte que mon problème c'était la majuscule à Id :'/
Merci beaucoup !
 
Dernière édition: