mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2025-07-31 19:45:26 +02:00
Multiple items can be specified as a detonator
This commit is contained in:
@@ -41,8 +41,6 @@ public class BlastMining {
|
||||
|
||||
}*/
|
||||
|
||||
public static Material detonator = MainConfig.getInstance().getDetonatorItem();
|
||||
|
||||
public final static int MAXIMUM_REMOTE_DETONATION_DISTANCE = 100;
|
||||
|
||||
public static double getBlastRadiusModifier(int rank) {
|
||||
|
@@ -2,13 +2,51 @@ package com.gmail.nossr50.skills.mining;
|
||||
|
||||
import com.gmail.nossr50.config.experience.ExperienceConfig;
|
||||
import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
|
||||
import com.gmail.nossr50.mcMMO;
|
||||
import com.gmail.nossr50.util.ItemUtils;
|
||||
import com.gmail.nossr50.util.Misc;
|
||||
import net.royawesome.jlibnoise.module.combiner.Min;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.BlockState;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class Mining {
|
||||
|
||||
private List<Material> detonators;
|
||||
private static Mining instance;
|
||||
|
||||
public static Mining getInstance() {
|
||||
if(instance == null)
|
||||
instance = new Mining();
|
||||
|
||||
return instance;
|
||||
}
|
||||
|
||||
public Mining() {
|
||||
//Init detonators
|
||||
this.detonators = ItemUtils.matchMaterials(mcMMO.getConfigManager().getConfigMining().getDetonators());
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve a list of Blast Mining detonator types
|
||||
* @return blast mining detonator materials
|
||||
*/
|
||||
public List<Material> getDetonators() {
|
||||
return detonators;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if an itemStack is a valid blast mining detonator
|
||||
* @param itemStack target itemstack
|
||||
* @return true if valid blast mining detonator
|
||||
*/
|
||||
public Boolean isDetonator(ItemStack itemStack)
|
||||
{
|
||||
return getDetonators().contains(itemStack.getType());
|
||||
}
|
||||
|
||||
/**
|
||||
* Calculate XP gain for Mining.
|
||||
*
|
||||
|
@@ -43,7 +43,7 @@ public class MiningManager extends SkillManager {
|
||||
Player player = getPlayer();
|
||||
|
||||
return canUseBlastMining() && player.isSneaking()
|
||||
&& (ItemUtils.isPickaxe(getPlayer().getInventory().getItemInMainHand()) || player.getInventory().getItemInMainHand().getType() == Config.getInstance().getDetonatorItem())
|
||||
&& Mining.getInstance().isDetonator(player.getInventory().getItemInMainHand())
|
||||
&& Permissions.remoteDetonation(player);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user