#1025 - Fix Custom Block Drop / Breaking Power Bug

This commit is contained in:
Rosenthalk0 2022-10-25 14:53:24 -05:00
parent d4a30f90f6
commit 165eb39714

View File

@ -52,19 +52,33 @@ public class CustomBlockListener implements Listener {
final int power = MMOUtils.getPickaxePower(event.getPlayer());
if(block.requirePowerToBreak() && power < block.getRequiredPower()) {
event.setCancelled(true);
return;
if ( block.requirePowerToBreak() && block.getRequiredPower()>0 ){
if (power < block.getRequiredPower()) {
event.setCancelled(true);
return;
}
else if (power >= block.getRequiredPower()) {
event.setDropItems(false);
event.setExpToDrop(event.getPlayer().getGameMode() == GameMode.CREATIVE ? 0
: MMOUtils.getPickaxePower(event.getPlayer()) >= block.getRequiredPower()
? block.getMaxExpDrop() == 0 && block.getMinExpDrop() == 0 ? 0
: RANDOM.nextInt((block.getMaxExpDrop() - block.getMinExpDrop()) + 1) + block.getMinExpDrop()
: 0);
return;
}
event.setCancelled(true);
return;
}
event.setDropItems(false);
event.setExpToDrop(event.getPlayer().getGameMode() == GameMode.CREATIVE ? 0
: MMOUtils.getPickaxePower(event.getPlayer()) >= block.getRequiredPower()
? block.getMaxExpDrop() == 0 && block.getMinExpDrop() == 0 ? 0
: RANDOM.nextInt((block.getMaxExpDrop() - block.getMinExpDrop()) + 1) + block.getMinExpDrop()
: 0);
? block.getMaxExpDrop() == 0 && block.getMinExpDrop() == 0 ? 0
: RANDOM.nextInt((block.getMaxExpDrop() - block.getMinExpDrop()) + 1) + block.getMinExpDrop()
: 0);
}
@Deprecated
private static int getPickaxePower(Player player) {
return MMOUtils.getPickaxePower(player);