Skip to content

Commit 165de50

Browse files
committed
swing hand type setting for interactions
1 parent 7b0c246 commit 165de50

File tree

3 files changed

+10
-0
lines changed

3 files changed

+10
-0
lines changed

common/src/main/kotlin/com/lambda/config/groups/InteractionConfig.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,11 @@ abstract class InteractionConfig(
7979
*/
8080
abstract val swingHand: Boolean
8181

82+
/**
83+
* The style of hand swing to use
84+
*/
85+
abstract val interactSwingType: BuildConfig.SwingType
86+
8287
override fun requestInternal(request: InteractionRequest, queueIfClosed: Boolean) {
8388
InteractionManager.request(request, queueIfClosed)
8489
}

common/src/main/kotlin/com/lambda/config/groups/InteractionSettings.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ class InteractionSettings(
6666

6767
// Swing
6868
override val swingHand by c.setting("Swing Hand", true, "Whether to swing hand on interactions", visibility = vis)
69+
override val interactSwingType by c.setting("Interact Swing Type", BuildConfig.SwingType.Vanilla, "The style of swing") { vis() && swingHand }
6970

7071
companion object {
7172
const val DEFAULT_ATTACK_REACH = 3.0

common/src/main/kotlin/com/lambda/interaction/request/interacting/InteractionManager.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ import com.lambda.interaction.request.interacting.InteractedBlockHandler.startPe
3535
import com.lambda.interaction.request.interacting.InteractionManager.activeRequest
3636
import com.lambda.interaction.request.interacting.InteractionManager.processRequest
3737
import com.lambda.interaction.request.placing.PlaceManager
38+
import com.lambda.util.player.swingHand
3839
import net.minecraft.network.packet.c2s.play.PlayerInteractBlockC2SPacket
3940
import net.minecraft.util.Hand
4041

@@ -102,6 +103,9 @@ object InteractionManager : RequestHandler<InteractionRequest>(
102103
PlayerInteractBlockC2SPacket(Hand.MAIN_HAND, ctx.result, sequence)
103104
}
104105
}
106+
if (request.config.swingHand) {
107+
swingHand(request.config.interactSwingType, Hand.MAIN_HAND)
108+
}
105109
request.onInteract?.invoke(ctx.blockPos)
106110
interactionsThisTick++
107111
iterator.remove()

0 commit comments

Comments
 (0)