From e49dec577e9ad2693cf8b74050d78cbecd11ea0a Mon Sep 17 00:00:00 2001 From: ccetl <109693935+ccetl@users.noreply.github.com> Date: Mon, 2 Dec 2024 20:02:55 +0100 Subject: [PATCH] fix(PacketMine): use the correct efficiency (#4788) --- .../modules/world/packetmine/ModulePacketMine.kt | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/main/kotlin/net/ccbluex/liquidbounce/features/module/modules/world/packetmine/ModulePacketMine.kt b/src/main/kotlin/net/ccbluex/liquidbounce/features/module/modules/world/packetmine/ModulePacketMine.kt index cfe0b4f1c2a..4250d6119e5 100644 --- a/src/main/kotlin/net/ccbluex/liquidbounce/features/module/modules/world/packetmine/ModulePacketMine.kt +++ b/src/main/kotlin/net/ccbluex/liquidbounce/features/module/modules/world/packetmine/ModulePacketMine.kt @@ -42,10 +42,12 @@ import net.ccbluex.liquidbounce.utils.block.outlineBox import net.ccbluex.liquidbounce.utils.client.Chronometer import net.ccbluex.liquidbounce.utils.client.SilentHotbar import net.ccbluex.liquidbounce.utils.entity.eyes +import net.ccbluex.liquidbounce.utils.item.getEnchantment import net.ccbluex.liquidbounce.utils.kotlin.Priority import net.ccbluex.liquidbounce.utils.math.sq import net.ccbluex.liquidbounce.utils.render.placement.PlacementRenderer import net.minecraft.block.BlockState +import net.minecraft.enchantment.Enchantments import net.minecraft.entity.attribute.EntityAttributes import net.minecraft.entity.effect.StatusEffectUtil import net.minecraft.entity.effect.StatusEffects @@ -385,8 +387,13 @@ object ModulePacketMine : ClientModule("PacketMine", Category.WORLD) { private fun getBlockBreakingSpeed(state: BlockState, stack: ItemStack): Float { var speed = stack.getMiningSpeedMultiplier(state) - if (speed > 1f) { - speed += player.getAttributeValue(EntityAttributes.PLAYER_MINING_EFFICIENCY).toFloat() + val enchantmentLevel = stack.getEnchantment(Enchantments.EFFICIENCY) + if (speed > 1f && enchantmentLevel != 0) { + /** + * See: [EntityAttributes.PLAYER_MINING_EFFICIENCY] + */ + val enchantmentAddition = enchantmentLevel.sq() + 1f + speed += enchantmentAddition.coerceIn(0f..1024f) } if (StatusEffectUtil.hasHaste(player)) {