Résolu OnItemRightClick aide.
-
Hello tout le monde voilà j’aimerais faire en sorte que lorsque mon player fait un click droit avec mon item seringue sur l’entité grenouille celui ci lui drop l’item d’une seringue remplie de sang , j’ai donc dans ma classe ItemSeringue mis ceci :
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { if (!player.interactWith(EntityFrog)) { player.destroyCurrentEquippedItem(); player.dropPlayerItemWithRandomChoice(new ItemStack(ModMinecraft.itemSyringewithblood), false); } if (!player.capabilities.isCreativeMode) { –stack.stackSize; } return super.onItemRightClick(stack, world, player); }
Donc j’ai chercher et j’ai trouvé interactWith , je ne sais pas si c’est ce qu’il me faut pour pouvoir réaliser ce que je veut , mais apparemment ce n’est pas bon et je ne trouve pas pourquoi Qu’elle est la fonction précise pour que quand le player fait un click droit sur l’entité frog il réalise ce qui lui ai demandé ? Merci
-
c’est bien interactWith, elle est utiliser pour le GUI des NPC par exemple
-
C’est pas dans le code de l’item qui faudrait mettre ça, mais dans le code de l’entité :
public boolean interact(EntityPlayer player) { ItemStack itemstack = player.inventory.getCurrentItem(); boolean flag = itemstack != null && itemstack.getItem() == Items.spawn_egg; if (!flag && this.isEntityAlive() && !player.isSneaking() && itemstack != null && itemstack.getItem() == ClassePrincipale.tonItem) { if (!this.worldObj.isRemote) { player.dropPlayerItemWithRandomChoice(new ItemStack(ModMinecraft.itemSyringewithblood), false); player.destroyCurrentEquippedItem(); } return true; } else { return super.interact(player); } }
-
Maintenant que tu me le dis sa me semble plus logique de mettre le code d’en l’entité ,merci beaucoup ca marche parfaitement !!!