diff --git a/pom.xml b/pom.xml index 7a3c170b..576d4c73 100644 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ 4.0.0 net.Indyuce MMOItems - 5.3 + 5.3.1 MMOItems A great item solution for your RPG server. diff --git a/src/main/java/net/Indyuce/mmoitems/manager/DropTableManager.java b/src/main/java/net/Indyuce/mmoitems/manager/DropTableManager.java index 3ee3a663..31dd4d97 100644 --- a/src/main/java/net/Indyuce/mmoitems/manager/DropTableManager.java +++ b/src/main/java/net/Indyuce/mmoitems/manager/DropTableManager.java @@ -1,6 +1,8 @@ package net.Indyuce.mmoitems.manager; +import java.util.Collection; import java.util.HashMap; +import java.util.List; import java.util.Map; import java.util.logging.Level; @@ -118,6 +120,24 @@ public class DropTableManager implements Listener { } } + public Collection getBlockDrops(Block block, Player player) { + final Material type = block.getType(); + + CustomBlock custom = MMOLib.plugin.getVersion().isStrictlyHigher(1, 12) ? CustomBlock.getFromData(block.getBlockData()) : null; + if(custom != null) { + if(customBlocks.containsKey(custom.getId())) { + if(CustomBlockListener.getPickaxePower(player) >= custom.getRequiredPower()) { + return customBlocks.get(custom.getId()).read(hasSilkTouchTool(player)); + } + } + } else { + if(blocks.containsKey(type)) { + return blocks.get(type).read(hasSilkTouchTool(player)); + } + } + return block.getDrops(player.getItemInHand()); + } + public boolean hasSilkTouchTool(Player player) { ItemStack item = player.getInventory().getItemInMainHand(); return item != null && item.getType() != Material.AIR && item.hasItemMeta() && item.getItemMeta().hasEnchant(Enchantment.SILK_TOUCH);