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

ArmorStand ou AreaEffectCloud ?


  • Total voters
    9

Syst3ms

Geek à plein temps
8 Juin 2016
56
16
28
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 faire plaisir à @Clen23 ) ? 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 @Oromis , 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 ! J'entends déjà certains "commandblockeurs" (Désolé Clen) 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 à 2147483648.
:confused:

C'est la valeur maximum (2 puissance 31 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:
/summon AreaEffectCloud ~ ~ ~ {CustomName:"VotreNom",CustomNameVisible:1,Tags:["VotreNom"],Particle:take,Duration:2147483648}

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 :

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:
/summon AreaEffectCloud ~ ~ ~ {CustomName:"ABC",CustomNameVisible:1,Tags:["ABC"],Particle:take,Duration:2147483648}

Pour placer mon block, je n'ai besoin que de cette commande

Code:
/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:
/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:
/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

Comme @luludatra , 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.

CMSwFssUEAA9orb.png:large


Ç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/forum...e-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
 
Dernière édition:

Clen

pessimiste repenti
22 Février 2016
1 528
292
167
20
Lille
Pour faire plaisir à @Clen23
Enfin ! La soumission de ce joueur me prouve que mon plan fonctionne. Bientôt j'aurais toute une armée de larbins sous mes ordres grâce au pouvoir de l'orthographe ! ET ENSUITE, JE DOMINERAI LE MONDE !!!!

Sinon, très bonne explication. J'ignorais que le nuage d'effet en aire (mon plan diabolique continue !) était une entité. Ça me sera utile en créatif !
 
  • J'aime
Reactions: Syst3ms

Syst3ms

Geek à plein temps
8 Juin 2016
56
16
28
Enfin ! La soumission de ce joueur me prouve que mon plan fonctionne. Bientôt j'aurais toute une armée de larbins sous mes ordres grâce au pouvoir de l'orthographe ! ET ENSUITE, JE DOMINERAI LE MONDE !!!!

Sinon, très bonne explication. J'ignorais que le nuage d'effet en aire (mon plan diabolique continue !) était une entité. Ça me sera utile en créatif !
Tout doux, Pedobear

J'apprécie le compliment.
 
Dernière édition par un modérateur:

luludatra

Prêtre level 3
21 Décembre 2013
663
143
167
23
Bruxelles
Belle tentative pour faire essayer de faire pencher les "Amoureux des ArmorStands" comme moi du côté des AEC.
Tout ce que tu as avancés est vrai, sauf quelque chose qui a un peu passée inaperçue et que j'aimerais que tu approfondisses.
C'est le critère qui pourrait me faire utiliser les AEC...

Est-ce vraiment moins demandant en ressource ? De combien de % ? Des chiffres ?

Sois mon "Senseï des AEC" !
 

Syst3ms

Geek à plein temps
8 Juin 2016
56
16
28
Ce topic, c'est le début d'une série de "petits" tutos sur les command blocks !
 

Oromis

Command-blocker slimesque
Staff
Modérateur
Support
11 Février 2014
3 380
2
1 063
297
22
Bretagne
Et bâ non ! Je connais déjà bien cette entitée et ses quelques propriétés mais il est vrai que je n'y aie pas pensé pour ce genre d'utilisation, sinon très bon tuto ! :p
 

ThirtyFangs

Massacreur de zombies
9 Juin 2014
1 385
132
187
24
Belgique
Personnellement, je préfère les armor stands pour cette raison:
on peut les obtenir via /give et les placer plus facilement donc (pas besoin de /summon)

Ex: /give @p armor_stand 1 0 {EntityTag:{Invisible:1,NoGravity:1,CustomNameVisible:1,CustomName:"nom",DisabledSlots:2039583},display:{Name:"Hologramme"}}
 

Clen

pessimiste repenti
22 Février 2016
1 528
292
167
20
Lille
Personnellement, je préfère les armor stands pour cette raison:
on peut les obtenir via /give et les placer plus facilement donc (pas besoin de /summon)

Ex: /give @p armor_stand 1 0 {EntityTag:{Invisible:1,NoGravity:1,CustomNameVisible:1,CustomName:"nom",DisabledSlots:2039583},display:{Name:"Hologramme"}}
Mais pourrait invoquer des nuages (c'est court et français :) ) avec un oeuf.