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

Ezwan

Mineur des cavernes
24 Mars 2014
52
4
28
29
Salut à tous,

Je voulais faire un truc avec un command block, un /testfor @p {Inventory:[{id:"minecraft:comparator"}]} mais qui détecterait quand il y a un stack complet voir deux stacks dans l'inventaire.
Je ne sais absolument pas si c'est possible, mais ça m'arrangerait vraiment pas mal ...
J'avais essayé avec des comparateur et des contenants, mais je n'ai pas réussi à avoir quelque chose d'assez précis ...
Après si ça n'est pas possible, mais que vous avez truc qui peut faire la même chose ...

Ça serait pas mal :D
Merci d'avance
 

djesty

Etudiant informatique industrielle
19 Janvier 2014
201
11
125
26
/testfor @p {Inventory:[{id:"minecraft:comparator",Count:64}]}
mais je suis pas sûr, c'est la seule solution que je vois, elle marche avec les autres donc pourquoi pas ici? x)
 
  • J'aime
Reactions: SniffierPond689

Ezwan

Mineur des cavernes
24 Mars 2014
52
4
28
29
Ça ne fonctionne malheureusement pas ...

J'ai ce message d'erreur :
[11:18:55] Ezwan did not match the required data structure

Mais c'est déjà gentil d'avoir cherché :)
 

djesty

Etudiant informatique industrielle
19 Janvier 2014
201
11
125
26
de ce que je comprend, ca veut dire que Ezwan (je présume que c'est toi en voyant ton pseudo :p) n'a pas les objets ou nombre d'objet demandé avec la commande...
En clair, soit tu n'as pas les comparateurs soit tu n'en a pas 64 :S
Soit c'est un bug (étonnant ^_-) ou alors la commande est fausse, je vais continuer a chercher et je tiens au courant si je trouve :)
 

djesty

Etudiant informatique industrielle
19 Janvier 2014
201
11
125
26
/testfor @p {Inventory:[{id:minecraft:unpowered_comparator,Count:64}]}

j'ai encore un doute mais je crois que ca se précise :p
 

Ezwan

Mineur des cavernes
24 Mars 2014
52
4
28
29
Toujours le même problème. Mais sans vouloir être méchant, l'id unpowered _comparator n'existe pas ...
C'est la partie Count qui foire :(
 

MrAllerre

Massacreur de Mouton
25 Mai 2014
31
7
19
www.uhcgames.com
Salut!
Je crois pas qu'on utilise un testfor pour vérifier un item dans l'inventaire.
Mais plutôt un clear. Pour te donner la commande exacte dont tu as besoin:

/clear @p minecraft:comparator -1 64

Derrière ce bloc de commande, tu dois absolument placer un comparateur en retour.
Si le command bloc réussit à supprimer 1 stack de comparateur de l'inventaire du joueur le plus proche, alors il envoie un courant au comparateur en sortie. Si le joueur a plus d'un stack, le système supprimera uniquement 1 stack et cela enverra comme même un signal. Si il en a moins, rien ne se passe.

Pour expliquer la commande:
- /clear = La commande
- @p = Le joueur le plus proche
- minecraft:comparator = L'id de l'objet à supprimer
- -1 = Le metatag, mais si ton objet n'est pas renommer ou n'as pas d'enchantement ni rien, laisse -1.
- 64 = Supprime 1 stack de comparateur.

Voilà, j'espère t'avoir aider!
 

nico69

Architecte en herbe
23 Août 2011
159
21
124
Salut

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

oui 64b, il faut indiquer le type, vu que c'est un byte.
http://minecraft.gamepedia.com/Player.dat_Format#Item_structure

@MrAllerre : 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.
 

djesty

Etudiant informatique industrielle
19 Janvier 2014
201
11
125
26
effectivement, je viens de voir une vidéo de l'anglophone "Dragnoz" qui montrait qu'il fallait bien utiliser la commande /clear :

/clear @p minecraft:comparator 0 (ou -1 je sais pas trop :S) 64
sinon, pour l'explication de la commande, MrAllerre l'a très bien fait :)