diff --git a/nova/src/main/kotlin/xyz/xenondevs/nova/util/item/ToolUtils.kt b/nova/src/main/kotlin/xyz/xenondevs/nova/util/item/ToolUtils.kt index 7342342b6bf..506a9385220 100644 --- a/nova/src/main/kotlin/xyz/xenondevs/nova/util/item/ToolUtils.kt +++ b/nova/src/main/kotlin/xyz/xenondevs/nova/util/item/ToolUtils.kt @@ -6,6 +6,7 @@ import net.minecraft.core.HolderSet import net.minecraft.core.component.DataComponents import net.minecraft.tags.BlockTags import net.minecraft.tags.TagKey +import net.minecraft.world.item.SwordItem import net.minecraft.world.level.block.state.pattern.BlockInWorld import org.bukkit.GameMode import org.bukkit.Material @@ -19,6 +20,7 @@ import org.bukkit.potion.PotionEffectType import xyz.xenondevs.commons.collections.takeUnlessEmpty import xyz.xenondevs.nova.util.eyeInWater import xyz.xenondevs.nova.util.hardness +import xyz.xenondevs.nova.util.nmsItem import xyz.xenondevs.nova.util.nmsState import xyz.xenondevs.nova.util.novaBlock import xyz.xenondevs.nova.util.roundToDecimalPlaces @@ -94,6 +96,11 @@ object ToolUtils { else -> Unit } + // hardcoded in BambooSaplingBlock and BambooStalkBlock, ignores block break speed attribute + // https://bugs.mojang.com/browse/MC-275705 + if ((block.type == Material.BAMBOO || block.type == Material.BAMBOO_SAPLING) && tool?.type?.nmsItem is SwordItem) + return 1.0 + var damage = calculateDamage( hardness = block.hardness, correctForDrops = isCorrectToolForDrops(block, tool),