2
0

DisarmEventHandler.java 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package com.gmail.nossr50.skills.unarmed;
  2. import org.bukkit.Material;
  3. import org.bukkit.entity.Player;
  4. import org.bukkit.inventory.ItemStack;
  5. import com.gmail.nossr50.mcMMO;
  6. import com.gmail.nossr50.events.skills.McMMOPlayerDisarmEvent;
  7. import com.gmail.nossr50.locale.LocaleLoader;
  8. import com.gmail.nossr50.util.Misc;
  9. public class DisarmEventHandler {
  10. private UnarmedManager manager;
  11. private Player defender;
  12. private ItemStack inHand;
  13. protected int skillModifier;
  14. protected DisarmEventHandler(UnarmedManager manager, Player defender) {
  15. this.manager = manager;
  16. this.defender = defender;
  17. this.inHand = defender.getItemInHand();
  18. }
  19. protected boolean isHoldingItem() {
  20. return (inHand.getType() != Material.AIR);
  21. }
  22. protected void calculateSkillModifier() {
  23. this.skillModifier = Misc.skillCheck(manager.getSkillLevel(), Unarmed.disarmMaxBonusLevel);
  24. }
  25. private void sendAbilityMessage() {
  26. defender.sendMessage(LocaleLoader.getString("Skills.Disarmed"));
  27. }
  28. protected void handleDisarm() {
  29. McMMOPlayerDisarmEvent event = new McMMOPlayerDisarmEvent(defender);
  30. mcMMO.p.getServer().getPluginManager().callEvent(event);
  31. if(!event.isCancelled()) {
  32. Misc.dropItem(defender.getLocation(), inHand);
  33. defender.setItemInHand(new ItemStack(Material.AIR));
  34. sendAbilityMessage();
  35. }
  36. }
  37. }