Délai pour effet sur un item



  • Bonjour, donc j'ai créé un potion qui téléporte jusqu'a la pas de soucis mais le problème c'est que la potion téléporte avant même d'avoir été bu. Je voudrais donc savoir s'il était possible de rajouter un délai sur onItemRightClick ou alors qu'elle fonction utiliser.

    Mon code:

    public class Potionbonta extends ItemFood {
    
    public Potionbonta(int p_i45339_1_, float p_i45339_2_, boolean p_i45339_3_) {
    super(p_i45339_1_, p_i45339_2_, p_i45339_3_);
    // TODO Auto-generated constructor stub
    }
    public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player)
    
    {
    if (player.canEat(true))
    {
    player.setPositionAndUpdate(-12, 25, 4);
    }
    return stack;
         }
    public EnumAction getItemUseAction(ItemStack par1ItemStack)
    {
    return EnumAction.drink;
    }
    public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par2List, boolean par4)
    {
    par2List.add("\u00A74" + "Teleporte a Bonta");
    }
    public ItemStack onEaten(ItemStack stack, World world, EntityPlayer player)
       {
           –stack.stackSize;
           player.getFoodStats().addStats(0, 2); // nombre de demi-gigots + saturation
           world.playSoundAtEntity(player, "random.burp", 0.5F, world.rand.nextFloat() * 0.1F + 0.9F);
           return stack;
       }
    
    }
    


  • tu met l'action avant la teleportation



  • Comment cela?


  • Administrateurs

    Tout simplement met le
    player.setPositionAndUpdate(-12, 25, 4);

    dans la fonction
    public ItemStack onEaten(ItemStack stack, World world, EntityPlayer player)