GetSubItems Serveur
-
Salut ^^, encore et toujours des problèmes
Cette fois-ci j’aimerais récupéré la même chose qu’un getSubItems mais en serveur, je ne sais pas du tout comment m’y prendre, on peut déjà différencier ceux qui ont des Subtypes avec getHasSubtypes mais pour ensuite pour en récupéré chacun je sècheAvez-vous une petite idée ?
Merci d’avance -
Heu ? Dans quel but ? Car je ne vois pas l’intérêt puisque cette fonction à juste pour but d’ajouter tous les items dans les onglets créatifs.
-
Dans le but d’associer un prix à chaque item, si tu as une autre méthode je dis pas non
-
Heu je ne vois pas en quoi le getSubItem va t’aider pour fixer un prix.
-
Bah il me permet de fixer un prix à chaque metadata, exemple tout bête : je ne vais pas le mettre prix à la pomme d’or qui se craft avec les lingots et celle qui se craft avec des blocs ._.
-
D’accord mais je vois toujours pas comment tu compte utiliser cette méthode pour fixer le prix.
Tu peux envoyer ton code qui gère le prix ? Et si il n’est pas encore fait, tu veux gérer ça comment ? Avec une liste ? Depuis un fichier ? -
En faite, j’ai fais une liste qui me permet de récupéré tout les items dont leurs metadata mais c’est tout ._.
Après j’associe le prix avec une map
Peu importe la méthode que j’utilise pour associer les prix, il me faudra leurs metadata non ? Donc le problème ne changera pas :s -
Mais je vois toujours pas en quoi ça va aider x)
Logiquement, tu as un itemstack, et tu cherches à savoir la valeur de cette item stack.
Donc moi je vois une fonction du genre :public double getPrice(ItemStack stack) { return map.get(new ItemPrice(stack.getItem(), stack.getItemDamage())) * stack.stackSize); }
ou map serai :
public static Map <itemprice, double=“”>map = new HashMap();
Et ItemPrice serai une classe qui contient l’item et le medata.
Après on peut facilement remplir cette map en lisant un fichier texte par exemple pour fixer le prix depuis un fichier externe.</itemprice,> -
Non ce n’est pas ça que je cherche, il faut que j’ai une liste de tout les items / metadata donc j’avais utilisé
listItems.clear(); int i = 0; Iterator iterator = Item.itemRegistry.iterator(); while(iterator.hasNext()){ Item item = (Item)iterator.next(); if (item != null && (item.getCreativeTab() != null)) { item.getSubItems(item, (CreativeTabs)null, listItems); } } return listItems;
Sauf que le subItems est qu’en client donc il me faudrait un équivalent pour serveur
-
Tu utilise cette liste pour quoi exactement ? Car je crois que tu vas devoir faire sans car il n’existe aucun équivalent côté serveur, la seule solution que je vois serait de passer par getUnlocalizedName(ItemStack stack) et encore ça serait galère. (il faudrait tester à chaque fois avec un item stack qui a un metadata différent et regarder si le nom obtenu est différent ou non).
-
J’utilise cette liste pour associer un prix juste, dans une map (ItemStack,Double)
-
Mais tu détermines le prix dynamiquement ? Et puis, pourquoi ne pas traiter chaque ItemStack séparément sans liste modèle ?
Envoyé de mon iPhone en utilisant Tapatalk
-
Oui je détermine les prix dynamiquement ^^
En revanche je ne comprends ce que vous ne comprenez pas
Je récupère chaque item avec sa metadata afin de lui donner un prix (par exemple la laine blanche à pas le même prix qu’une laine noir )._.