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

Tutoriel [1.9+] Les AreaEffectClouds, une alternative aux ArmorStands ?

Discussion dans 'Redstone & Commands blocks' créé par Syst3ms, 24 Août 2016.

?

Vous préférez lequel (après avoir lu) ?

  1. ArmorStand

    40.0%
  2. AreaEffectCloud

    40.0%
  3. Rien à foutre

    20.0%
  1. Syst3ms

    Syst3ms Enter the World

    Inscrit:
    4 Mai 2016
    Messages:
    35
    Points:
    20
    Sexe:
    Homme
    Bonjour à tous !

    Aujourd'hui, je vais vous présenter une fonction (ou plus précisément une entité) qui pourrait remplacer les ArmorStands : les AreaEffectClouds !

    Pour un souci de clarté, je réduirais "AreaEffectCloud" à "AEC".


    Partie I : Présentation
    Partie II : Propriétés
    Partie III : Utilisations
    Partie IV : Comparatif AEC/ArmorStand


    Partie I : Présentation

    Laissez-moi vous dire que vous en avez déjà vu au moins 1 ! Et vous de me répondre :

    "Mais pas du tout !"​

    Vous vous souvenez des potions "lingering" ou "persistantes" ? Pour ceux qui vivent dans une grotte cubique, ce sont des potions qui, une fois lancées produiront un nuage donnant l'effet choisi à toute entité dans ce nuage.

    Venons-en au fait : ce nuage est un AEC !

    Et c'est le moment où vous (dont @Mlakuss , je l'espère) allez me dire :

    "Le rapport avec les commands blocks ?"​

    J'y viens, j'y viens.

    Partie II : Propriétés

    Ces AEC ont quelques propriétés très intéressantes dues à leur utilisation "naturelle" qui vont nous être bien utiles !

    Voici une liste exhaustive (pour une fois) de ces propriétés :
    • Les AEC sont invisibles (enfin presque, on y reviendra).
    • Ils n'ont aucune hitbox (on ne peut pas les toucher). Pratique si on a déjà cassé un ArmorStand accidentellement !
    • Ils ne sont pas soumis à la gravité.
    • Ils sont même invisibles pour les spectateurs !
    • Ils ont une taille configurable (ça peut avoir son utilité).
    • Leur nom, si CustomNameVisible est à 1 (on y reviendra aussi), est affiché en l'air. Pratique pour faire des hologrammes !
    Voici la fin de cette liste !

    Partie III : Utilisations
    Bon, depuis le temps que vous (je l'espère) lisez ce topic, vous devez vous demander :

    "Mais à quoi ça sert ?"

    Enfin la partie intéressante ! On ne va pas y aller par 4 chemins (qui mèneront aux AEC de toute façon) :
    on peut les utiliser comme des ArmorStands !

    Houlà, j'entends déjà certains "commandblockeurs" crier à l'hérésie...

    "Attends un minute, il y a certains points pas clairs dans ta liste !
    Genre : "invisibles (enfin presque)", ou encore : "invisibles aussi pour les spectateurs"
    Premièrement, je dis "presque" car de base, un AEC "en mode ArmorStand" (ne vous inquiétez pas, on en parle tout de suite) dégage des particules de potion. Comment régler ça, on voit ça après avoir expliqué ce qu'est "le mode ArmorStand" :

    Si vous ne spécifiez pas certains arguments dans votre commande, votre AEC disparaîtra instantanément.

    Tout simplement parce que un AEC a toujours une durée, pour que les potions lingering ne durent pas pour toujours. Il y a deux Data Tags qui contrôlent la durée : Duration et Age. La différence entre les deux ? Age augmente chaque tick (1/20e de seconde) et l'AEC disparaît quand Age a la même valeur que Duration. :confused:

    Concrètement, je vous conseille de mettre Duration à 2147483647.
    :confused:​

    C'est la valeur maximum (2 puissance 31 - 1 pour les matheux ;)). Avec ça, votre AEC durera exactement 3 ans et demi, 18 heures, 9 minutes et 42 secondes. Oui oui, j'ai calculé ça.

    Et vous allez me dire que :

    "s'ils sont invisibles pour les spectateurs, comment peut-on les voir ?"
    Appuyez en même temps sur F3 et B. les hitboxes apparaîtront et vous pourrez voir les AEC. J'ai simplifié tout à l'heure en disant que les AEC n'ont pas de hitbox, comprenez "ils n'ont pas de collision, vous ne pouvez donc pas les toucher".

    Bon, sans rentrer trop dans les détails, voici la commande de base que je vous conseille de prendre :
    Code (cpp):
    /summon AreaEffectCloud ~ ~ ~ {CustomName:"VotreNom",CustomNameVisible:1,Tags:["VotreNom"],Particle:take,Duration:2147483647}
    On décortique très rapidement la commande :
    • "CustomNameVisible:1b" : fait en sorte que vous puissiez voir le nom flotter en l'air (marche comme les ArmorStands sur ce point là).
    • Le tag et le nom devraient être les mêmes, en attendant de voir quelqu'un s'y retrouver avec un AEC appelé "Chat" ayant comme tag "melon"...
    • "Particle:take" : Je vous avais dit qu'un AEC pouvait dégager des particules. La particule "take" est une particule invisible.
    Un example simple pour une utilisation pratique:

    Nous avons 2 chaines de command blocks : l'une disant "1","2" et "3" ,et l'autre disant "A","B" et "C"

    Je veux que ma chaîne "123" active la chaine "ABC" quand terminée. Normalement, je mettrais des coordonnées absolues. Supposons ceci.

    Zut ! Il faut que je décale ma chaîne "ABC" d'un block ! Et maintenant je dois changer mes coordonnées !

    Au lieu de ça, je peux (en premier lieu) créer mon AEC nommé "ABC" à l'endroit où je veux placer mon bloc de redstone avec cette commande :
    Code (cpp):
    /summon AreaEffectCloud ~ ~ ~ {CustomName:"ABC",CustomNameVisible:1,Tags:["ABC"],Particle:take,Duration:2147483647}
    Pour placer mon block, je n'ai besoin que de cette commande

    Code (cpp):
    /execute @e[name=ABC] ~ ~ ~ setblock ~ ~ ~ redstone_block 0 destroy
    Tout en me positionnant à l'endroit où je veut que mon block soit placé. Si je veux bouger ma chaîne d'un block vers le haut, je n'ai qu'à faire cette commande :
    Code (cpp):
    /tp @e[name=ABC] ~ ~1 ~
    Vous ne verrez pas le nom bouger. Un simple bug graphique. un déco-reco devrait suffire.

    L'example est un peu tiré par les cheveux car il suffirait de changer 1 coordonnée. Mais quand vous avez de grands systèmes avec plusieurs modules qui interagissent tous entre eux (les vrais savent de quoi je parle), vous voyez que c'est très utile.

    Pour tuer votre AEC, utilisez la commande ci-dessous :
    Code (cpp):
    /kill @e[name=ABC]
    Après cette partie-pavé, je propose d'en finir avec la partie la plus raccord avec mon titre.

    Partie IV : AEC/ArmorStand, le duel.

    AEC :
    Avantages :
    1. A les tags Marker, Invisible, NoGravity et Invulnerable de nature.
    2. Est beaucoup moins gourmand en ressources.
    3. Les spectateurs ne seront pas dérangés
    4. Peuvent être utilisés comme hologrammes.
    5. Pas être touché ou détruit
    Désavantages :
    1. Les commandes difficiles à manier

    Armor Stands :

    Avantages :
    1. Visibles
    2. Facilement controllables
    Désavantages :
    1. Visibles
    2. Dérangent les spectateurs
    3. Beaucoup d'arguments dans les summons
    4. Plus gourmand en ressources

    Vous vous demandez sûrement si les AEC consomment bel et bien moins de ressources. La réponse est oui. Le tableau (en anglais) ci-dessous en est la preuve.

    [​IMG]

    Ça veut par exemple dire que, avec une base d'environ 580 FPS, 1000 ArmorStands mettent les FPS à 216, la où le même nombre d'AEC mettent les FPS à 565. Je pense que tout est dit.

    Conclusion :
    Je trouve que bien qu'ils soient difficiles à manier au début, les AreaEffectClouds peuvent avoir des fonctions pouvant les rendre meilleurs que les Armor Stands.

    Pour les anglophones, un post les décrivant : http://www.minecraftforum.net/forums/minecraft-discussion/recent-updates-and-snapshots/2501473-on-the-usage-of-areaeffectcloud-as-a-marker-entity

    N'hésitez pas à me dire ce que vous pensez de ce post, en essayant de vous avoir aidé(e)/instruit(e)

    Cordialement, Syst3ms
     
    • Utile Utile x 2
    • J'aime J'aime x 1
    #1 Syst3ms, 24 Août 2016
    Dernière édition: 26 Nov 2016
  2. clownmechant

    clownmechant Enter the World

    Inscrit:
    22 Juil 2016
    Messages:
    26
    Points:
    20
    Sexe:
    Homme
    Salut,
    Après plusieurs tests la duration que tu indiques ne marche pas et l'AEC dispawn instantanément..
    En mettant 2 puissance 31 - 1 = 2147483647 ; ça marche ;)
     
  3. Syst3ms

    Syst3ms Enter the World

    Inscrit:
    4 Mai 2016
    Messages:
    35
    Points:
    20
    Sexe:
    Homme
    Oui, c'est parce que 0 est compté comme un nombre ou un truc dans le genre. Cela relève de Java. J'edit ça tout de suite.
     
  4. Pyroshiv

    Pyroshiv Nouveau

    Inscrit:
    31 Oct 2019
    Messages:
    8
    Points:
    0
    Est ce que c’est possible de faire une AEC qui donne un effet de wither à ceux qui entre dedans?Peux t’on aussi agrandir cette zone .Merci
     

Partager cette page