diff --git a/src/main/java/WayofTime/bloodmagic/item/ItemBoundAxe.java b/src/main/java/WayofTime/bloodmagic/item/ItemBoundAxe.java index 6e1889e9..1ef0fff7 100644 --- a/src/main/java/WayofTime/bloodmagic/item/ItemBoundAxe.java +++ b/src/main/java/WayofTime/bloodmagic/item/ItemBoundAxe.java @@ -6,6 +6,7 @@ import java.util.Set; import net.minecraft.block.Block; import net.minecraft.block.BlockLeaves; +import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; import net.minecraft.client.renderer.ItemMeshDefinition; import net.minecraft.enchantment.EnchantmentHelper; @@ -84,11 +85,14 @@ public class ItemBoundAxe extends ItemBoundTool implements IMeshProvider if (blockStack.getBlock().isAir(blockStack.getState(), world, blockPos)) continue; + if (blockStack.getState().getMaterial() != Material.WOOD && !EFFECTIVE_ON.contains(blockStack.getBlock())) + continue; + BlockEvent.BreakEvent event = new BlockEvent.BreakEvent(world, blockPos, blockStack.getState(), player); if (MinecraftForge.EVENT_BUS.post(event) || event.getResult() == Event.Result.DENY) continue; - if (blockStack.getBlock().getBlockHardness(blockStack.getState(), world, blockPos) != -1) + if (blockStack.getBlock().getBlockHardness(blockStack.getState(), world, blockPos) != -1.0F) { float strengthVsBlock = getStrVsBlock(stack, blockStack.getState()); diff --git a/src/main/java/WayofTime/bloodmagic/item/ItemBoundPickaxe.java b/src/main/java/WayofTime/bloodmagic/item/ItemBoundPickaxe.java index 08e0a070..429e905b 100644 --- a/src/main/java/WayofTime/bloodmagic/item/ItemBoundPickaxe.java +++ b/src/main/java/WayofTime/bloodmagic/item/ItemBoundPickaxe.java @@ -101,6 +101,9 @@ public class ItemBoundPickaxe extends ItemBoundTool implements IMeshProvider if (blockStack.getBlock().isAir(blockStack.getState(), world, blockPos)) continue; + if (blockStack.getState().getMaterial() != Material.ROCK && !EFFECTIVE_ON.contains(blockStack.getBlock())) + continue; + BlockEvent.BreakEvent event = new BlockEvent.BreakEvent(world, blockPos, blockStack.getState(), player); if (MinecraftForge.EVENT_BUS.post(event) || event.getResult() == Event.Result.DENY) continue; diff --git a/src/main/java/WayofTime/bloodmagic/item/ItemBoundShovel.java b/src/main/java/WayofTime/bloodmagic/item/ItemBoundShovel.java index 168603ba..67b359d7 100644 --- a/src/main/java/WayofTime/bloodmagic/item/ItemBoundShovel.java +++ b/src/main/java/WayofTime/bloodmagic/item/ItemBoundShovel.java @@ -5,6 +5,7 @@ import java.util.List; import java.util.Set; import net.minecraft.block.Block; +import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; import net.minecraft.client.renderer.ItemMeshDefinition; import net.minecraft.enchantment.EnchantmentHelper; @@ -83,10 +84,15 @@ public class ItemBoundShovel extends ItemBoundTool implements IMeshProvider if (blockStack.getBlock().isAir(blockStack.getState(), world, blockPos)) continue; + Material material = blockStack.getState().getMaterial(); + if (material != Material.GROUND && material != Material.CLAY && material != Material.GRASS && !EFFECTIVE_ON.contains(blockStack.getBlock())) + continue; + BlockEvent.BreakEvent event = new BlockEvent.BreakEvent(world, blockPos, blockStack.getState(), player); if (MinecraftForge.EVENT_BUS.post(event) || event.getResult() == Event.Result.DENY) continue; + if (blockStack.getBlock() != null && blockStack.getBlock().getBlockHardness(blockStack.getState(), world, blockPos) != -1) { float strengthVsBlock = getStrVsBlock(stack, blockStack.getState());