123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- package com.gmail.nossr50.skills.smelting;
- import org.bukkit.Location;
- import org.bukkit.Material;
- import org.bukkit.block.Block;
- import org.bukkit.entity.Player;
- import org.bukkit.event.block.BlockBreakEvent;
- import org.bukkit.inventory.ItemStack;
- import com.gmail.nossr50.locale.LocaleLoader;
- import com.gmail.nossr50.skills.mining.Mining;
- import com.gmail.nossr50.skills.utilities.SkillType;
- import com.gmail.nossr50.util.Misc;
- import com.gmail.nossr50.util.Permissions;
- public class FluxMiningEventHandler {
- private SmeltingManager manager;
- private Player player;
- private BlockBreakEvent event;
- private Block block;
- protected FluxMiningEventHandler(SmeltingManager manager, BlockBreakEvent event) {
- this.manager = manager;
- this.player = manager.getPlayer();
- this.event = event;
- this.block = event.getBlock();
- }
- protected void processDrops() {
- ItemStack item = null;
- switch (block.getType()) {
- case IRON_ORE:
- item = new ItemStack(Material.IRON_INGOT);
- break;
- case GOLD_ORE:
- item = new ItemStack(Material.GOLD_INGOT);
- break;
- default:
- break;
- }
- if (item == null) {
- return;
- }
- Location location = block.getLocation();
- Misc.dropItem(location, item);
- if (Permissions.secondSmelt(player)) {
- int chance = (int) ((Mining.doubleDropsMaxChance / Mining.doubleDropsMaxLevel) * (Misc.skillCheck(manager.getProfile().getSkillLevel(SkillType.MINING), Mining.doubleDropsMaxLevel)));
- Misc.randomDropItem(location, item, chance);
- }
- }
- protected void eventCancellationAndProcessing() {
- event.setCancelled(true);
- block.setType(Material.AIR);
- }
- protected void sendAbilityMessage() {
- player.sendMessage(LocaleLoader.getString("Smelting.FluxMining.Success"));
- }
- }
|