Skip to content

Commit

Permalink
introduce proper shouldSwingHand function (#5031)
Browse files Browse the repository at this point in the history
  • Loading branch information
superblaubeere27 authored Dec 23, 2024
1 parent e231efd commit fe2bc68
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ import net.ccbluex.liquidbounce.utils.client.isOlderThanOrEquals1_7_10
import net.ccbluex.liquidbounce.utils.combat.shouldBeAttacked
import net.ccbluex.liquidbounce.utils.entity.isBlockAction
import net.ccbluex.liquidbounce.utils.entity.rotation
import net.ccbluex.liquidbounce.utils.input.shouldSwingHand
import net.minecraft.item.ItemStack
import net.minecraft.item.consume.UseAction
import net.minecraft.network.packet.c2s.play.UpdateSelectedSlotC2SPacket
Expand Down Expand Up @@ -141,9 +142,9 @@ object KillAuraAutoBlock : ToggleableConfigurable(ModuleKillAura, "AutoBlocking"

// Interact with the item in the block hand
val actionResult = interaction.interactItem(player, blockHand)

if (actionResult.isAccepted) {
if (actionResult is ActionResult.Success &&
actionResult.swingSource == ActionResult.SwingSource.CLIENT) {
if (actionResult.shouldSwingHand()) {
player.swingHand(blockHand)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ import net.ccbluex.liquidbounce.event.events.TransferOrigin
import net.ccbluex.liquidbounce.features.module.modules.combat.crystalaura.SwitchMode
import net.ccbluex.liquidbounce.utils.aiming.RotationManager
import net.ccbluex.liquidbounce.utils.block.SwingMode
import net.ccbluex.liquidbounce.utils.input.shouldSwingHand
import net.ccbluex.liquidbounce.utils.inventory.OFFHAND_SLOT
import net.minecraft.client.network.ClientPlayerEntity
import net.minecraft.client.network.ClientPlayerInteractionManager
Expand Down Expand Up @@ -89,7 +90,7 @@ fun clickBlockWithSlot(
actionResult = itemStack.useOnBlock(itemUsageContext)
}

if (actionResult is ActionResult.Success && actionResult.swingSource == ActionResult.SwingSource.CLIENT) {
if (actionResult.shouldSwingHand()) {
swingMode.swing(hand)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
package net.ccbluex.liquidbounce.utils.input

import net.minecraft.client.util.InputUtil
import net.minecraft.util.ActionResult

/**
* Translates a key name to an InputUtil.Key using GLFW key codes.
Expand Down Expand Up @@ -82,3 +83,5 @@ val keyList: Set<String>
get() = InputUtil.Type.KEYSYM.map.values
.map { key -> reduceInputName(key.translationKey) }
.toSet()

fun ActionResult.shouldSwingHand() = this is ActionResult.Success && this.swingSource == ActionResult.SwingSource.CLIENT
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ import net.ccbluex.liquidbounce.features.module.modules.player.invcleaner.*
import net.ccbluex.liquidbounce.features.module.modules.world.scaffold.ModuleScaffold
import net.ccbluex.liquidbounce.utils.aiming.RotationManager
import net.ccbluex.liquidbounce.utils.client.*
import net.ccbluex.liquidbounce.utils.input.shouldSwingHand
import net.ccbluex.liquidbounce.utils.item.isNothing
import net.fabricmc.loader.api.FabricLoader
import net.minecraft.block.Blocks
Expand Down Expand Up @@ -209,7 +210,7 @@ fun interactItem(
preInteraction()

interaction.interactItem(player, hand, yaw, pitch).takeIf { it.isAccepted }?.let {
if (it is ActionResult.Success && it.swingSource == ActionResult.SwingSource.CLIENT) {
if (it.shouldSwingHand()) {
player.swingHand(hand)
}

Expand Down

0 comments on commit fe2bc68

Please sign in to comment.