[Library Turtle] - Gestion de l'inventaire pour les debutants
Page 1 sur 1
[Library Turtle] - Gestion de l'inventaire pour les debutants
Bonjour,
C'est avec une grade joie que j'ai remarqué que certains d'entre vous commençaient a s'intéresser aux turtles. Or une partie souvent négligée et pourtant extrêmement importante est la gestion de l'inventaire de vos turles.
En effet, quand une turtle va creuser, elle va placer ce bloc dans le slot sélectionné par la turtle. Si elle ne peut pas stacker dessus (slot plein ou bloc diffèrent), elle va le poser après. Sans parler du fait que de temps en temps elle doit changer de slot sélectionne pour effectuer une tache spécifique (refuel, planter un arbre, poser une torche...).
Cela peut donner des situations comme celle ci:
On voit clairement que la turtle ici n'a pas du tout l'inventaire plein, car une fois trié on a ceci:
Pour cela, je vais vous laisser la joie de lire la magnifique API de la turtle qui est très bien expliquée et complète, sur le wiki.
Toutefois, pour ne pas que ce soit un frein, je met a votre disposition quelques fonctions pratiques;
http://pastebin.com/jpiNf1Y7
Explication des fonctions:
- select_item(item, meta)
Prend un item en paramètre (exemple: "minecraft:coal") et un metadata (exemple: 0) et le sélectionné. Retourne true si elle l'a sélectionné, false si l'item demandé n'est pas présent dans l'inventaire de la turtle.
- select_fuel()
Sélectionne un seau de lave. S'il n'y en a pas, sélectionné du charbon de bois. Retourne true si elle l'a sélectionné, false si le carburant n'est pas présent dans l'inventaire de la turtle.
Requiert: select_item(item, meta)
- check_fuel()
Vérifie le carburant de la turtle. S'il n'y en a pas suffisamment, elle appelle select_fuel() et refuel la turtle. S'il n'y a plus de combustible dans l'inventaire de la turtle, elle bloque le programme en attendant qu'un joueur en ajoute.
Requiert: select_item(item, meta)
Requiert: select_fuel()
- select_next_item(slot, item)
Sélectionne l'item demande a partir du slot passe en paramètre. Retourne true si elle l'a sélectionné, false si l'item demandé n'est pas présent dans l'inventaire de la turtle après le slot demande.
- repack_item(item)
Stack l'item passe en paramètre en le rapprochant autant que possible du slot 1, soit une petite réorganisation de l'inventaire. N'échoue jamais, donc retourne true.
Requiert: select_next_item(slot, item)
- clean_inventory()
Complète réorganisation de l'inventaire, ici conçût pour une turtle de minage, repack tout ce qui est fuel/minerais et jette le reste.
Requiert: select_next_item(slot, item)
Requiert: repack_item(item)
Je mettrai peu être plus tard d'autres fonctions utiles. Pour le moment, a vos bloc-notes
C'est avec une grade joie que j'ai remarqué que certains d'entre vous commençaient a s'intéresser aux turtles. Or une partie souvent négligée et pourtant extrêmement importante est la gestion de l'inventaire de vos turles.
En effet, quand une turtle va creuser, elle va placer ce bloc dans le slot sélectionné par la turtle. Si elle ne peut pas stacker dessus (slot plein ou bloc diffèrent), elle va le poser après. Sans parler du fait que de temps en temps elle doit changer de slot sélectionne pour effectuer une tache spécifique (refuel, planter un arbre, poser une torche...).
Cela peut donner des situations comme celle ci:
On voit clairement que la turtle ici n'a pas du tout l'inventaire plein, car une fois trié on a ceci:
Pour cela, je vais vous laisser la joie de lire la magnifique API de la turtle qui est très bien expliquée et complète, sur le wiki.
Toutefois, pour ne pas que ce soit un frein, je met a votre disposition quelques fonctions pratiques;
http://pastebin.com/jpiNf1Y7
Explication des fonctions:
- select_item(item, meta)
Prend un item en paramètre (exemple: "minecraft:coal") et un metadata (exemple: 0) et le sélectionné. Retourne true si elle l'a sélectionné, false si l'item demandé n'est pas présent dans l'inventaire de la turtle.
- select_fuel()
Sélectionne un seau de lave. S'il n'y en a pas, sélectionné du charbon de bois. Retourne true si elle l'a sélectionné, false si le carburant n'est pas présent dans l'inventaire de la turtle.
Requiert: select_item(item, meta)
- check_fuel()
Vérifie le carburant de la turtle. S'il n'y en a pas suffisamment, elle appelle select_fuel() et refuel la turtle. S'il n'y a plus de combustible dans l'inventaire de la turtle, elle bloque le programme en attendant qu'un joueur en ajoute.
Requiert: select_item(item, meta)
Requiert: select_fuel()
- select_next_item(slot, item)
Sélectionne l'item demande a partir du slot passe en paramètre. Retourne true si elle l'a sélectionné, false si l'item demandé n'est pas présent dans l'inventaire de la turtle après le slot demande.
- repack_item(item)
Stack l'item passe en paramètre en le rapprochant autant que possible du slot 1, soit une petite réorganisation de l'inventaire. N'échoue jamais, donc retourne true.
Requiert: select_next_item(slot, item)
- clean_inventory()
Complète réorganisation de l'inventaire, ici conçût pour une turtle de minage, repack tout ce qui est fuel/minerais et jette le reste.
Requiert: select_next_item(slot, item)
Requiert: repack_item(item)
Je mettrai peu être plus tard d'autres fonctions utiles. Pour le moment, a vos bloc-notes
Link712011- Messages : 84
Date d'inscription : 04/04/2016
Age : 28
Localisation : Entre ma chaise et mon clavier
Sujets similaires
» [Creative] OptimineMgr - Banc de test pour Turtle
» Gestion de Big Reactor par Tonitch8
» [turtle] Plateforme
» petit "blême avec les turtle...
» Le Saviez-vous [peripheral.wrap (computer, turtle)]
» Gestion de Big Reactor par Tonitch8
» [turtle] Plateforme
» petit "blême avec les turtle...
» Le Saviez-vous [peripheral.wrap (computer, turtle)]
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum