Compter le nombre d'items

pyro59

Architecte en herbe
19 Août 2013
302
56
135
Bonsoir,
Je me mes un peu aux commandBlocks mais je vois vraiment pas comment :

  • Compter le nombre d'item droppé au sol dans une zone précise (affiché dans un scoreboard)
  • Compter le nombre d'item dans l'inventaire de 2 joueurs
En espérant avoir une réponse :)
Cordialement,
Pyro59
 

FunkyToc

Map Baker
26 Mars 2013
511
112
155
33
France, Paris
funkytoc.fr
- Tu veux compter des entités Item qui sont par terre, OU compter les items ramassés par un joueur ?

- Pour compter les items de joueurs tu peux, par exemple, supprimer les objets 1 par 1 (/clear pour 1 type d'objet), et ajouter "1" a un scoreboard dummy.
 

StrangeMan

Animateur de la section Sciences (un des trois o/)
17 Janvier 2015
1 221
208
187
10
Ici
Tu créés l'objectif nb.
clock - scoreboard players add @e[type=Item,x=x,y=y,z=z,r=rayon,c=nombre] nb nombre
 

Mlakuss

Map Maker
26 Août 2011
305
56
134
Tu créés l'objectif nb.
clock - scoreboard players add @e[type=Item,x=x,y=y,z=z,r=rayon,c=nombre] nb nombre

Euh, non. Clairement pas.

Pour compter les objets au sol, c'est impossible (dès que deux objets identiques se retrouvent à proximité, il se regroupent et ne forment plus qu'un).
Voici ce qu'il est possible de faire:
- Compter les "tas" d'objets au sol
Créer un objectif "Compteur" de type dummy
Code:
/scoreboard objectives add Compteur dummy
Dans une horloge, mettre un bloc de commande avec ceci:
Code:
/testfor @e[type=Item]
Soit x, y et z les coordonnées du bloc de commande, lancer une fois la commande suivante:
Code:
/stats block x y z set SuccessCount Objets Compteur
La commande suivante permettra alors de surveiller le nombre d'objet au sol:
Code:
/scoreboard objectives setdisplay sidebar Compteur

- Compter un type d'objet dans l'inventaire de tout le monde
Créer un objectif "Compteur" de type dummy
Code:
/scoreboard objectives add Compteur dummy
Dans une horloge, mettre un bloc de commande avec ceci:
Code:
/clear @a item data 0
Soit x, y et z les coordonnées du bloc de commande, lancer une fois la commande suivante:
Code:
/stats block x y z set AffectedItems Objets Compteur
La commande suivante permettra alors de surveiller le nombre d'objet désigné présent dans l'inventaire de tout les joueurs:
Code:
/scoreboard objectives setdisplay sidebar Compteur
Pour regarder uniquement dans l'inventaire du joueur le plus proche, il suffit de changer le @a en @p. Et si tu veux regarder chez deux joueurs, il suffit de faire deux fois la procédure, sur deux commandes avec deux sélecteurs différents et changer le Objets en Joueur1 / Joueur2 (ou en sélecteur).
Avec un peu d'adaptation, tu devrais pouvoir arriver au résultat que tu souhaites.
 

pyro59

Architecte en herbe
19 Août 2013
302
56
135
- Tu veux compter des entités Item qui sont par terre, OU compter les items ramassés par un joueur ?
Les deux ^^

Merci de votre aide, quand je m'y attellerais je verrais si j'y arrive avec vos indications ;)

Cordialement,
Pyro59
 

Piratdu52

Il y a 3 sortes d'êtres : vivants, morts et marins
9 Mars 2013
32
0
6
31
Moi, j'ai bien une idée pour compter les items ramassables ...

/scoreboard players set @e[type=Item] itemsCount x {Item:{Count:xb}}
Pour chaque x jusqu'à 64 à exécuter une seule fois.

Après je suis incapable de pondre la commande mais il faut add tout cela et afficher le résultat.
 

Piratdu52

Il y a 3 sortes d'êtres : vivants, morts et marins
9 Mars 2013
32
0
6
31
J'ai la commande ...

/scoreboard players operation Resultat itemsCount += * itemsCount
 

Mlakuss

Map Maker
26 Août 2011
305
56
134
Moi, j'ai bien une idée pour compter les items ramassables ...

/scoreboard players set @e[type=Item] itemsCount x {Item:{Count=x}}
Pour chaque x jusqu'à 64 à exécuter une seule fois.

Après je suis incapable de pondre la commande mais il faut add tout cela et afficher le résultat.

Ce qui veut dire faire 64 commandes. Long et lourd surtout qu'on est limité à 63 par chunk.
 
  • J'aime
Reactions: Piratdu52

Piratdu52

Il y a 3 sortes d'êtres : vivants, morts et marins
9 Mars 2013
32
0
6
31
J'ignorais qu'il existe une limite au nombre de commande par Chunk( mais je ne pense pas que cela soit valable pour les minecraft commanBlock d'après un filtre que j'ai pu voir)) Mais oui, c'est lourd a mettre en place, je pense que je vais faire un filtre McEdit pour créer ce genre de chose.

Ps:j'adore Mizle 2
 

Mlakuss

Map Maker
26 Août 2011
305
56
134
En fait, c'est une limite de 63 commandes par tick par chunk pour être précis. Quand la limite est atteinte, les fps chutent de manière brutale (et ça peut aller jusqu'à faire planter le client/serveur, j'ai déjà vu ça).