Stone.java 998 B

123456789101112131415161718192021222324252627282930313233
  1. package me.km.effects.active;
  2. import me.km.effects.ActiveEffectBase;
  3. import me.km.effects.EffectUtils;
  4. import me.km.entities.EntityItemProjectile;
  5. import net.minecraft.entity.player.EntityPlayerMP;
  6. import net.minecraft.init.Blocks;
  7. import net.minecraft.init.SoundEvents;
  8. import net.minecraft.item.ItemStack;
  9. public class Stone extends ActiveEffectBase
  10. {
  11. @Override
  12. protected boolean executeEffect(EntityPlayerMP p, int power)
  13. {
  14. EffectUtils.playSound(p, SoundEvents.ENTITY_ARROW_SHOOT);
  15. float spread = 1.2f - power * 0.06f;
  16. if(spread < 0)
  17. {
  18. spread = 0;
  19. }
  20. EntityItemProjectile launch = new EntityItemProjectile(p, new ItemStack(Blocks.STONE), power * 2);
  21. launch.setHeadingFromThrower(p, p.rotationPitch, p.rotationYaw, 0, 0.9f, spread);
  22. p.world.spawnEntity(launch);
  23. return true;
  24. }
  25. @Override
  26. protected int getManaCost(int manaFactor)
  27. {
  28. return 3 * manaFactor;
  29. }
  30. }