Guest User

Untitled

a guest
Oct 24th, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.87 KB | None | 0 0
  1. package me.jonDatz.SkillBite;
  2.  
  3. import com.herocraftonline.dev.heroes.Heroes;
  4. import com.herocraftonline.dev.heroes.damage.DamageManager;
  5. import com.herocraftonline.dev.heroes.persistence.Hero;
  6. import com.herocraftonline.dev.heroes.skill.TargettedSkill;
  7. import com.herocraftonline.dev.heroes.util.Messaging;
  8. import com.herocraftonline.dev.heroes.util.Setting;
  9. import org.bukkit.Server;
  10. import org.bukkit.entity.LivingEntity;
  11. import org.bukkit.entity.Player;
  12. import org.bukkit.event.entity.EntityDamageByEntityEvent;
  13. import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
  14. import org.bukkit.plugin.PluginManager;
  15. import org.bukkit.util.config.ConfigurationNode;
  16.  
  17. public class SkillBite extends TargettedSkill {
  18.  
  19. public SkillBite(Heroes plugin)
  20. {
  21. super(plugin, "Bite");
  22. setDescription("Deals physical damage to the target");
  23. setUsage("/skill bite");
  24. setArgumentRange(0, 1);
  25. setIdentifiers(new String[] { "skill bite <target>" });
  26. }
  27.  
  28. public ConfigurationNode getDefaultConfig()
  29. {
  30. ConfigurationNode node = super.getDefaultConfig();
  31. node.setProperty(Setting.DAMAGE.node(), 10);
  32. node.setProperty(Setting.MAX_DISTANCE.node(), 2);
  33. return node;
  34. }
  35.  
  36. public boolean use(Hero hero, LivingEntity target, String[] args)
  37. {
  38. Player player = hero.getPlayer();
  39. if (target == player) {
  40. Messaging.send(player, "Invalid Target");
  41. return false;
  42. }
  43.  
  44. int damage = getSetting(hero.getHeroClass(), Setting.DAMAGE.node(), 10);
  45. EntityDamageByEntityEvent damageEntityEvent = new EntityDamageByEntityEvent(player, target, DamageCause.CUSTOM, 0);
  46. getPlugin().getServer().getPluginManager().callEvent(damageEntityEvent);
  47. if (damageEntityEvent.isCancelled()) {
  48. return false;
  49. }
  50. getPlugin().getDamageManager().addSpellTarget(target, hero, this);
  51. target.damage(damage, player);
  52. broadcastExecuteText(hero, target);
  53. return true;
  54. }
  55. }
Add Comment
Please, Sign In to add comment