Finished Mining restructuring.

This commit is contained in:
gmcferrin
2013-01-09 21:44:53 -05:00
parent fc17448473
commit 1055186e86
5 changed files with 169 additions and 94 deletions

View File

@ -1,10 +1,12 @@
package com.gmail.nossr50.skills.mining;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.entity.Player;
import org.bukkit.event.entity.EntityDamageEvent;
import org.bukkit.event.entity.EntityExplodeEvent;
import org.bukkit.event.entity.ExplosionPrimeEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import com.gmail.nossr50.mcMMO;
import com.gmail.nossr50.datatypes.PlayerProfile;
@ -25,6 +27,42 @@ public class MiningManager {
this.skillLevel = profile.getSkillLevel(SkillType.MINING);
}
/**
* Detonate TNT for Blast Mining
*
* @param event The PlayerInteractEvent
* @param player Player detonating the TNT
* @param plugin mcMMO plugin instance
*/
public void detonate(PlayerInteractEvent event) {
if (Misc.isCitizensNPC(player)) {
return;
}
if (skillLevel < BlastMining.BLAST_MINING_RANK_1) {
return;
}
RemoteDetonationEventHandler eventHandler = new RemoteDetonationEventHandler(this, event);
eventHandler.targetTNT();
if (eventHandler.block.getType() != Material.TNT) {
return;
}
if (!Misc.blockBreakSimulate(eventHandler.block, player, true)) {
return;
}
if (!eventHandler.cooldownOver()) {
return;
}
eventHandler.sendMessages();
eventHandler.handleDetonation();
eventHandler.setProfileData();
}
/**
* Handler for explosion drops and XP gain.