Résolu Les attributs d'objets ?

BouleDisco

Architecte en herbe
1 Novembre 2014
613
128
156
Yop,
Apres avoir entendu parler des attributs pour les mobs, pour les personnaliser, j'ai entendu dire qu'on pouvait le faire avec des objets. J'avais trouvé une commande dessus, et ça marchait.
Mais, au lieu de chercher dans les méandres brumeux de Google afin d'en trouver, j'ai voulu faire des objets perso tout seul.
J'avais en main mon command block, ma map solo vide, puis là, j'ai eu le déclic :
On fais comment en fait ?
Alors, je suis venu vous demander votre aide, fanatique de la redstone.
Si vous pouviez m'expliquer comment ça marche, j'en serai reconnaissant. Et vous aurez un bisou en plus.
 
On utilise le tag Attributes:[...]
Puis, on modifie chaque valeur indépendamment: {Name:XXX,Base:XXX}

Exemple du petit kevin qui a 50 demi-coeurs:
/summon Zombie ~ ~1 ~ {IsBaby:1,CustomName:"Kevin",CustomNameVisible:0,Attributes:[{Name:generic.maxHealth,Base:50}]}


Tu peux rajouter à souhait :
{Name:generic.movementSpeed,Base:0.3} <--- vitesse de déplacement (blocks/ticks je crois)
{Name:generic.attackDamage,Base:5 <--- Dégâts d'attaque en demi-coeurs (de 1 a infini)
{Name:generic.knockbackResistance,Base:0.1} <--- Résistance au recul lors des attaques (de 0 à 1)
{Name:generic.followRange,Base:32} <--- Distance de poursuite (en blocks, rayon)

Mais peut être veux tu parler du /entitydata ? pour modifier "en direct" le mobs ?
 
Pour les objets, le tag s'appelle AttributeModifiers:[]
Chaque modificateur est construit de la manière suivante:
{AttributeName:"Nom",Name:"generic.attribute",Operation:0,Amount:0.0,UUIDMost:666,UUIDLeast:999}
"Nom" même chose que dans Name.
Dans UUIDMost et UUIDLeast, il faut mettre des valeurs aléatoires (faut juste qu'elles soient différentes d'un objet à l'autre)
Operation: Si c'est mis à 0, l'attribut fera +X à l'attribut (où X est la valeur dans Amount), si c'est mis à 1, ça fera +100X% à l'attribut
"generic.attribute" peut être remplacé par generic.maxHealth, generic.movementSpeed, generic.attackDamage....

Exemple:
Code:
/give @p minecraft:iron_chestplate 1 0 {Unbreakable:true,ench:[],AttributeModifiers:[0:{AttributeName:"generic.attackDamage",Name:"generic.attackDamage",Amount:0.2,Operation:1,UUIDMost:89442L,UUIDLeast:618451006L},1:{AttributeName:"generic.maxHealth",Name:"generic.maxHealth",Amount:10,Operation:0,UUIDMost:8418513564L,UUIDLeast:864136845189L}]}
 
Ok, merci à vous deux ^^
J'avais un peu de mal, mais maintenant, c'est plus clair !