ItemSpecialHerbs.java 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package me.km.items;
  2. import me.km.KajetansMod;
  3. import net.minecraft.advancements.CriteriaTriggers;
  4. import net.minecraft.entity.EntityLivingBase;
  5. import net.minecraft.entity.player.EntityPlayer;
  6. import net.minecraft.entity.player.EntityPlayerMP;
  7. import net.minecraft.init.SoundEvents;
  8. import net.minecraft.item.ItemStack;
  9. import net.minecraft.stats.StatList;
  10. import net.minecraft.util.SoundCategory;
  11. import net.minecraft.world.World;
  12. public class ItemSpecialHerbs extends ItemHerbs
  13. {
  14. private String effect;
  15. private int time;
  16. public ItemSpecialHerbs(String name, String local, String effect, int time)
  17. {
  18. super(name, local);
  19. this.effect = effect;
  20. this.time = time;
  21. }
  22. @Override
  23. public ItemStack onItemUseFinish(ItemStack stack, World w, EntityLivingBase liv)
  24. {
  25. if(liv instanceof EntityPlayer)
  26. {
  27. EntityPlayer p = (EntityPlayer) liv;
  28. p.getFoodStats().addStats(this, stack);
  29. w.playSound(null, p.posX, p.posY, p.posZ, SoundEvents.ENTITY_PLAYER_BURP, SoundCategory.PLAYERS, 0.5F, w.rand.nextFloat() * 0.1F + 0.9F);
  30. this.onFoodEaten(stack, w, p);
  31. p.addStat(StatList.getObjectUseStats(this));
  32. if(p instanceof EntityPlayerMP)
  33. {
  34. CriteriaTriggers.CONSUME_ITEM.trigger((EntityPlayerMP) p, stack);
  35. if(!w.isRemote)
  36. {
  37. // change id
  38. KajetansMod.playerbank.getData((EntityPlayerMP) p).addGoodTimedData(effect, true, time, effect, 300);
  39. }
  40. }
  41. }
  42. stack.shrink(1);
  43. return stack;
  44. }
  45. }