2
0

MiningBlockEventHandler.java 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package com.gmail.nossr50.skills.mining;
  2. import org.bukkit.Location;
  3. import org.bukkit.Material;
  4. import org.bukkit.block.Block;
  5. import org.bukkit.enchantments.Enchantment;
  6. import com.gmail.nossr50.skills.utilities.SkillTools;
  7. public class MiningBlockEventHandler {
  8. private MiningManager manager;
  9. private Block block;
  10. private Location blockLocation;
  11. private Material blockType;
  12. protected int skillModifier;
  13. protected MiningBlockEventHandler(MiningManager manager, Block block) {
  14. this.manager = manager;
  15. this.block = block;
  16. this.blockLocation = block.getLocation();
  17. this.blockType = block.getType();
  18. calculateSkillModifier();
  19. }
  20. private void calculateSkillModifier() {
  21. this.skillModifier = SkillTools.skillCheck(manager.getSkillLevel(), Mining.doubleDropsMaxLevel);
  22. }
  23. /**
  24. * Process Mining block drops.
  25. */
  26. protected void processDrops() {
  27. if (manager.getMcMMOPlayer().getPlayer().getItemInHand().containsEnchantment(Enchantment.SILK_TOUCH)) {
  28. Mining.silkTouchDrops(block, blockLocation, blockType);
  29. }
  30. else {
  31. Mining.miningDrops(block, blockLocation, blockType);
  32. }
  33. }
  34. protected void processXPGain() {
  35. Mining.miningXP(manager.getMcMMOPlayer(), block, blockType);
  36. }
  37. }