Résolu Question relative au /testfor dans un inventaire.

nico69

Architecte en herbe
23 Août 2011
159
21
124
le principe du clear, c'est de supprimer.
Tu as peut être une detection de l'objet lors de l’exécution de la commande, mais ce qui est sur, c'est qu’après tu ne l'as plus.

Il travail en 1.8, et il a la possibilité de faire une détection beaucoup plus fine et efficace qu'un clear.

En 1.7, c'est vrais que c'est le seul moyen, mais en 1.8 on fait beaucoup mieux !
 

MrAllerre

Massacreur de Mouton
25 Mai 2014
31
7
19
www.uhcgames.com
Il travail en 1.8, et il a la possibilité de faire une détection beaucoup plus fine et efficace qu'un clear.

En 1.7, c'est vrais que c'est le seul moyen, mais en 1.8 on fait beaucoup mieux !


Il a toujours la possibilité de se /give les 64 objets en retour s'il en a besoin.
Faudra toujours m'expliquer le coup /testfor dans l'inventaire, je trouve absolument rien sur le net.
(ni dans les logs de snapshot, donc aucune différence 1.7/1.8)
 

nico69

Architecte en herbe
23 Août 2011
159
21
124
http://minecraft.gamepedia.com/Commands -> aller a testfor
Le datatag est une structure écrite en json, qui reprend les paramètres de l’entité testée.
http://minecraft.gamepedia.com/Player.dat_format -> item format
D'ailleurs tu peut test toutes les infos sur le joueur, pas que l'inventaire (marche aussi avec les autres entités).

Pour en savoir plus sur la structuration du json, voir a la section Data tags plus bas dans la Commands

Les différences fonctionnelles entre les 2 :
  • Ne supprime pas l'objet
  • Clear + give == le joueur ne possède pas l'objet pendant un petit laps de temps, qui peut générer des glitchs dans le jeu.
  • Lors du give, l'objet se replace automatiquement au début de l'inventaire.
  • Si tu veut test si le joueur a 45 stone, alors qu'il en a 64, le clear vas lui en enlever 45 (reste 19), le testfor retournera false.
    Si il en a moins, les stones seront bien clear, mais je ne connais pas l’état de la sortie
 

MrAllerre

Massacreur de Mouton
25 Mai 2014
31
7
19
www.uhcgames.com
Merci nico69!
Bon, grâce à toi, après un bon moment de réflexion sur le sujet, j'ai enfin trouver la commande que cherche l'auteur!

La voici tout simplement (approuver, tester, fonctionne parfaitement chez moi):

/testfor @p {Inventory:[{id:"minecraft:comparator",Count:64b}]}

Et oui, c'est un simple b après la valeur de Count qui change tout!
A bientôt.
 

djesty

Etudiant informatique industrielle
19 Janvier 2014
201
11
125
27
ahah je "mad", c'est la première commande que je lui ai proposée, manquait juste le "b" de "64b"... xD
d'ailleurs, il sert a quoi? ^_-
 

nico69

Architecte en herbe
23 Août 2011
159
21
124

Ezwan

Mineur des cavernes
24 Mars 2014
52
4
28
29
Super ! :D
J'vais enfin pouvoir avancer, merci à tous, c'est génial.