Musket.java 1005 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 Musket extends ActiveEffectBase
  10. {
  11. @Override
  12. protected boolean executeEffect(EntityPlayerMP p, int power)
  13. {
  14. EffectUtils.playSound(p, SoundEvents.ENTITY_FIREWORK_BLAST);
  15. float spread = 0.8f - power * 0.04f;
  16. if(spread < 0)
  17. {
  18. spread = 0;
  19. }
  20. EntityItemProjectile launch = new EntityItemProjectile(p, new ItemStack(Blocks.STONE_BUTTON), power * 2);
  21. launch.setHeadingFromThrower(p, p.rotationPitch, p.rotationYaw, 0, 2.5f, spread);
  22. p.world.spawnEntity(launch);
  23. return true;
  24. }
  25. @Override
  26. protected int getManaCost(int manaFactor)
  27. {
  28. return 5 * manaFactor;
  29. }
  30. }