En réalité, dans minecraft, notre joueur possède de base (c'est à dire, lorsque l'on utilise notre poing) un "generic.attackSpeed" à un "Amount" ayant la valeur de 0.
La vitesse d'attaque est modifié grâce à l' "AttributeModifier": "generic.attackSpeed"
Comme tu as pu le constater, lorsque l'on utilise une épée sortant d'un établi, la vitesse d'attaque est modifié et devient plus lente.
Cela signifie que l'épée possède un modifier d'attribut négatif. (Un "Amount" entre -2.5 et -2 d'après mes tests)
Lorsque tu utilises la commande:
Code:
/give @p minecraft:diamond_sword 1 0 {AttributeModifiers:[{}]}
l'épée ne possède plus son "generic.attackSpeed" à un "Amount" négatif.
Il est à un "Amount" nul.
Mais si tu fais varier la valeur de "Amount". La vitesse d'attaque du joueur possédant l'épée en main varie belle et bien!
Ceci était en réponse à la remarque que tu viens d'éditer.
Concernant ton autre question:
Je up pour poser une question : comment fait-on pour introduire une valeur inférieure à 1 ?
Utilise les nombres négatifs ou compris en 0 et 1 après "Amount".
Exemple:
Code:
/give @p minecraft:diamond_sword 1 0 {AttributeModifiers:[{AttributeName:"generic.attackSpeed",Name:"generic.attackSpeed",Amount:-1,Operation:0,UUIDLeast:472367,UUIDMost:417215,Slot:"mainhand"}]}
PS: "up" est un mot anglais. Passerais-tu dans la facilité de compréhension?