Added some methods to custom blocks API

This commit is contained in:
Ashijin 2020-02-04 20:27:15 -07:00
parent f576f7b2dd
commit e161801662
2 changed files with 21 additions and 1 deletions

View File

@ -2,7 +2,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>net.Indyuce</groupId>
<artifactId>MMOItems</artifactId>
<version>5.3</version>
<version>5.3.1</version>
<name>MMOItems</name>
<description>A great item solution for your RPG server.</description>

View File

@ -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<ItemStack> 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);