Item avec vie
-
Ah si c’est pour dans la table de craft fait comme ça :
GameRegistry.addRecipe(new ItemStack(Main.itemRepaireIridium, 1), new Object[] {"OOO", "OSO", "OOO", 'O', Main.itemRepairePoudreUltra, 'S', new ItemStack(Main.itemRepaireIridium, 1, OreDictionary.WILDCARD_VALUE)}); -
@‘robin4002’:
Ah si c’est pour dans la table de craft fait comme ça :
GameRegistry.addRecipe(new ItemStack(Main.itemRepaireIridium, 1), new Object[] {"OOO", "OSO", "0OO", 'O', Main.itemRepairePoudreUltra, 'S', new ItemStack(Main.itemRepaireIridium, 1, OreDictionary.WILDCARD_VALUE)});Merci est vous aurai pas une idée pour que je puisse avoir qu’une seul fois l’item dans l’inventaire
-
Ça c’est plus compliqué, il faut que tu parcoures l’inventaire et que tu vérifies pour chaque slot l’item
-
@‘AymericRed’:
Ça c’est plus compliqué, il faut que tu parcoures l’inventaire et que tu vérifies pour chaque slot l’item
Y a pas d’autre solution ? Car la sa va etre long
-
Non je connais pas d’autre solution
-
C’est pas long, c’est juste une petite boucle à faire dans un event de tick de joueur.
-
Bonjour, je pense qu’il vaut mieux ne pas faire de boucle car ça pourrait surcharger Minecraft si elle est appelée en permanence, je te donne un exemple pour pas que l’Item soit ramassé (en une ligne), après il te reste à faire l’event pour pas que l’Item soit récupéré d’un inventaire (c’est la même chose ;))
@SubscribeEvent public void EntityItemPickup(EntityItemPickupEvent e) { e.setCanceled(e.entity instanceof EntityPlayer && e.item.getEntityItem().getItem() instanceof TonItem && e.entityPlayer.inventory.hasItem(Main.tonItem)); } -
C’est pas une petite boucle comme ça qui va vraiment surcharger le jeu ^^
Mais ta solution me paraît pas mal -
Ouais après pour quand on prend un item dans un inventaire, à ma connaissance il n’y a pas d’event (je me trompe peut-être).
-
@‘AymericRed’:
Ouais après pour quand on prend un item dans un inventaire, à ma connaissance il n’y a pas d’event (je me trompe peut-être).
C’est possible, de toute façon je viens de me rendre compte que c’est sûrement le plus optimisé de tout simplement override cette fonction dans la classe de son Item :
/** * Called each tick as long the item is on a player inventory. Uses by maps to check if is on a player hand and * update it's contents. */ public void onUpdate(ItemStack stack, World worldIn, Entity entityIn, int itemSlot, boolean isSelected) { } -
Ah oui ouais