From 7a2b005334d405b5045af8f38142fa625c89ae36 Mon Sep 17 00:00:00 2001 From: Jerrycyx Date: Wed, 11 Feb 2026 03:39:57 +0800 Subject: [PATCH] Fix: Works incorrectly on blocks which has low hardness and can be break by axes --- src/main/java/weather2/util/WeatherUtil.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/weather2/util/WeatherUtil.java b/src/main/java/weather2/util/WeatherUtil.java index 4d6e4c72..6de102b1 100644 --- a/src/main/java/weather2/util/WeatherUtil.java +++ b/src/main/java/weather2/util/WeatherUtil.java @@ -199,10 +199,11 @@ public static boolean shouldGrabBlock(Level parWorld, BlockState state) } else { //float strVsBlock = block.getBlockHardness(block.defaultBlockState(), parWorld, new BlockPos(0, 0, 0)) - (((itemStr.getStrVsBlock(block.defaultBlockState()) - 1) / 4F)); - float strVsBlock = state.getDestroySpeed(parWorld, new BlockPos(0, 0, 0)) - (((itemStr.getDestroySpeed(block.defaultBlockState()) - 1) / 4F)); + float hardness = state.getDestroySpeed(parWorld, new BlockPos(0, 0, 0)); + float strVsBlock = hardness - ((itemStr.getDestroySpeed(block.defaultBlockState()) - 1) / 4F); //System.out.println(strVsBlock); - if (/*block.getHardness() <= 10000.6*/ (strVsBlock <= strMax && strVsBlock >= strMin) || + if (/*block.getHardness() <= 10000.6*/ (strVsBlock <= strMax && hardness >= 0.0F) || (state.getBlock().defaultMapColor() == MapColor.WOOD) || state.getBlock().defaultMapColor() == MapColor.WOOL || state.getBlock().defaultMapColor() == MapColor.PLANT ||/*