protected void onFoodEaten (ItemStack stack, World world, EntityPlayer player)
{
if (!world.isRemote)
{
int duration = 0;
PotionEffect potion;
switch (stack.getItemDamage())
{
case 0:
potion = player.getActivePotionEffect(Potion.regeneration);
if (potion != null)
duration = potion.getDuration();
player.addPotionEffect(new PotionEffect(Potion.regeneration.id, duration + 8 * 20, 0));
if (Natura.random.nextFloat() < 0.75f)
{
potion = player.getActivePotionEffect(Potion.poison);
if (potion != null)
duration = potion.getDuration();
else
duration = 0;
player.addPotionEffect(new PotionEffect(Potion.poison.id, duration + 5 * 20, 0));
}
if (Natura.random.nextFloat() < 0.15f)
{
potion = player.getActivePotionEffect(Potion.wither);
if (potion != null)
duration = potion.getDuration();
else
duration = 0;
player.addPotionEffect(new PotionEffect(Potion.wither.id, duration + 5 * 20, 0));
}
break;
case 1:
potion = player.getActivePotionEffect(Potion.nightVision);
if (potion != null)
duration = potion.getDuration();
player.addPotionEffect(new PotionEffect(Potion.nightVision.id, duration + 15 * 20, 0));
if (Natura.random.nextFloat() < 0.75f)
{
potion = player.getActivePotionEffect(Potion.blindness);
if (potion != null)
duration = potion.getDuration();
else
duration = 0;
player.addPotionEffect(new PotionEffect(Potion.blindness.id, duration + 3 * 20, 0));
}
break;
case 2:
potion = player.getActivePotionEffect(Potion.jump);
if (potion != null)
duration = potion.getDuration();
player.addPotionEffect(new PotionEffect(Potion.jump.id, duration + 8 * 20, 0));
if (Natura.random.nextFloat() < 0.75f)
{
potion = player.getActivePotionEffect(Potion.moveSlowdown);
if (potion != null)
duration = potion.getDuration();
else
duration = 0;
player.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, duration + 3 * 20, 0));
}
break;
case 3:
potion = player.getActivePotionEffect(Potion.damageBoost);
if (potion != null)
duration = potion.getDuration();
player.addPotionEffect(new PotionEffect(Potion.damageBoost.id, duration + 10 * 20, 0));
if (Natura.random.nextFloat() < 0.75f)
{
potion = player.getActivePotionEffect(Potion.digSlowdown);
if (potion != null)
duration = potion.getDuration();
else
duration = 0;
player.addPotionEffect(new PotionEffect(Potion.digSlowdown.id, duration + 10 * 20, 0));
}
break;
case 4:
potion = player.getActivePotionEffect(Potion.digSpeed);
if (potion != null)
duration = potion.getDuration();
player.addPotionEffect(new PotionEffect(Potion.digSpeed.id, duration + 10 * 20, 0));
if (Natura.random.nextFloat() < 0.75f)
{
potion = player.getActivePotionEffect(Potion.weakness);
if (potion != null)
duration = potion.getDuration();
else
duration = 0;
player.addPotionEffect(new PotionEffect(Potion.weakness.id, duration + 10 * 20, 0));
}
break;
}
}
}