1. Si vous venez d'arriver sur le forum et que vous êtes un peu perdus, cliquez ici !
    Rejeter la notice

Comment detect un expbottle qui "explose"

Discussion dans 'Mapping' créé par Zhymra, 5 Déc 2015.

  1. Zhymra

    Zhymra Bûcheron

    Inscrit:
    17 Juil 2015
    Messages:
    266
    Points:
    21
    Salut salut

    :)
    je chercherai comment détecter une exp bottle qui explose c'est à dire lorsqu'elle elle chute et qu'elle se casse j'est essayé onground mais il ne fonctionne pas :(
    quelqu'un peut m'aider? ^^
     
  2. Skyrrel

    Skyrrel Enter the World

    Inscrit:
    10 Jan 2015
    Messages:
    21
    Points:
    39
    J'ai une autre solution qui consiste à détecter si l'exp bottle a un block d'air en dessous de lui.
    Code (cpp):
    scoreboard players tag @e[type=ThrownExpBottle,tag=grenade] add explode
    execute @e[type=ThrownExpBottle] ~ ~ ~ detect ~ ~-1 ~ air 0 scoreboard players tag @e[type=ThrownExpBottle,tag=explode,r=0,c=1] remove explode
    execute @e[type=ThrownExpBottle,tag=explode] ~ ~ ~ summon Creeper ~ ~ ~ {CustomName:Grenade,Fuse:0s,ignited:1,DeathLootTable:}
    execute @e[type=ThrownExpBottle,tag=explode] ~ ~ ~ kill @e[type=ThrownExpBottle,tag=explode,r=0,c=1]
    La première commande ajoute le tag "explode" à toutes les grenades qui ont le tag "grenade".

    La deuxième enlève le tag "explode" à toutes les grenades qui ont un block d'air en dessous d'eux, si il n'ont pas de block d'air en dessous d'eux, le tag "explode" va rester sur l'exp bottle qui va summon un creeper puis exécuter la commande /kill sur elle même.

    L'exp bottle va exploser quand elle sera proche du sol, ce n'est pas forcément ce que tu veux. Et n'oublie pas de rajouter le tag "grenade", un score ou un nom à ton exp bottle pour que le système ne marche que sur les grenades. ^^
     
    #2 Skyrrel, 5 Déc 2015
    Dernière édition: 5 Déc 2015
  3. Zhymra

    Zhymra Bûcheron

    Inscrit:
    17 Juil 2015
    Messages:
    266
    Points:
    21
    c'est ce que j'est fait oui mais ca ne fonctionne pas bien : des fois le systeme ne marche pas ou trop tôt
     
  4. Elliotau78

    Elliotau78 Résident du Nether

    Inscrit:
    8 Déc 2012
    Messages:
    4 614
    Points:
    184
    Sexe:
    Homme
    Et bien, c'est une entité non ? Il ne suffit pas de la détecter et de lancer le circuit une fois qu'elle ne l'ait plus ?
     
  5. Zhymra

    Zhymra Bûcheron

    Inscrit:
    17 Juil 2015
    Messages:
    266
    Points:
    21
    Certes mais ca marche assez mal des fois elle se casse avant d'être detect ! :(
    Je voudrais savoir si il y a une astuce ou un tag du genre inTouch:1b
     
    • Informatif Informatif x 1
  6. TheTeluri

    TheTeluri Enter the World

    Inscrit:
    16 Avr 2015
    Messages:
    29
    Points:
    72
    techniquement vu qu'elle disparait quand elle touche un bloc c'est indétectable par contre tu peut détecter avant qu'elle touche le bloc (via la technique de skyrrel) ou alors tu detecte l'xp qui en sort et la faut test si l'xp reçois pas les tag de la bouteille d'xp

    en tout cas bonne chance :)
     
  7. Zhymra

    Zhymra Bûcheron

    Inscrit:
    17 Juil 2015
    Messages:
    266
    Points:
    21
    pas bête pour l'ex je regarderais oui ;) mais ca m'étonnerait :(
     
  8. LeiRoF

    LeiRoF Bûcheron

    Inscrit:
    14 Oct 2014
    Messages:
    137
    Points:
    91
    Sexe:
    Homme
    J'ai une solution que j'utilise assez souvent (bien que mes applications soient légèrement différentes), qui consiste à créer une armorstand (ou autre entité) sur le joueur venant de lancer la bouteille d'xp, puis de téléporter en boucle cette armorstand à cette même bouteille d'xp.
    L'armorstand doit alors avoir un score qui s'incrémente en permanence et qui est réinitialisé par la bouteille. Ainsi, lorsque la bouteille se brisera, le score montera, et tu pourra alors exécuter sur l'armorstand (se trouvant près de la dernière position de la bouteille d'xp)
     
    • J'approuve J'approuve x 1
  9. TheTeluri

    TheTeluri Enter the World

    Inscrit:
    16 Avr 2015
    Messages:
    29
    Points:
    72
    tu te complique un peu la vie, il te suffit tester si il y a une bouteille d'xp sur l'armorstand et même mieux tu peut détecter si la commande de tp c'est bien faite et si non tu exécute la commande que tu veut
     
  10. Freeze'

    Freeze' Bûcheron

    Inscrit:
    25 Juil 2015
    Messages:
    271
    Points:
    78
    Sexe:
    Homme
    J'ai un solution:
    Code (cpp):
    /execute @e[type=ThrownExpBottle] ~ ~ ~ summon ArmorStand ~ ~ ~ {Invisible:1,Invulnerable:1,Marker:1,Tags:["Machin"]}

    /execute @e[type=ThrownExpBottle] ~ ~ ~ kill @e[tag=Machin,r=1,c=1]

    /execute @e[tag=Machin] ~ ~ ~ Ta Commande
    En gros, tu summon un AS avec le tag Machin sur l'xpbottle. Ensuite, l'xp bottle kill l'AS le plus proche d'elle dans un rayon de 1. Mais si il y a plus d'xp bottle, l'AS n'est pas tué et tu peux exécuter ta comande sur lui ^^
     
    • J'aime J'aime x 1
  11. LeiRoF

    LeiRoF Bûcheron

    Inscrit:
    14 Oct 2014
    Messages:
    137
    Points:
    91
    Sexe:
    Homme
    T'as oublié un truc, c'est que si l'xp bottle est détruite, elle ne fait pas summon l'armorstand ;)

    Tu peux donc faire le summon après l'exécution de la commande souhaité, ce qui laisse l'AS vivre pendant 1 tick, mais un autre problème entre en jeu: la fiabilité des ticks. Même les cmd en mode "chain" de le 1.9 on encore tendance à s'exécuter dans le mauvais sens (entre 2 cmd côte à côte), alors en 1.8, je conseil pas d'essayer xD

    Mais comme dis précédemment, la solution avec le score sur une l'armorstand qui est TP à la bouteille reste la plus fiable pour le moment ;)
     
    #11 LeiRoF, 27 Jan 2016
    Dernière édition: 27 Jan 2016
  12. LeiRoF

    LeiRoF Bûcheron

    Inscrit:
    14 Oct 2014
    Messages:
    137
    Points:
    91
    Sexe:
    Homme
    Certes on peu détecter que le TP ce soit bien fais, mais ça ne fonctionnerait pas dans le cas où il y ai plusieurs bouteilles en vol (quand une se brise, toutes les autres exécuteront aussi la commande). C'est la principale raison (parmi tant d'autres) pour laquelle je hais les test du genre ;)
    Je me complique pas la vie, c'est une façon basique est fiable de procéder, et avec ça, chaque AS à un score individuel donc chaques bouteilles est géré individuellement, mais par les même cmd-blck ;)
     
  13. Seblor

    Seblor Responsable de Modération
    Staff

    Inscrit:
    15 Sept 2013
    Messages:
    2 572
    Points:
    195
    Sexe:
    Homme
    Attention au double post.

    Cordialement,
    Seblor.
     

Partager cette page