Skip to content

Commit bb99955

Browse files
committed
instant client sided changes for swapping hand stacks
1 parent e0c55e7 commit bb99955

File tree

1 file changed

+4
-7
lines changed

1 file changed

+4
-7
lines changed

common/src/main/kotlin/com/lambda/interaction/material/transfer/transaction/SwapHandsTransaction.kt

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,36 +17,33 @@
1717

1818
package com.lambda.interaction.material.transfer.transaction
1919

20-
import com.lambda.event.events.InventoryEvent
2120
import com.lambda.event.events.TickEvent
2221
import com.lambda.event.listener.SafeListener.Companion.listen
2322
import com.lambda.interaction.material.transfer.InventoryTransaction
2423
import net.minecraft.network.packet.c2s.play.PlayerActionC2SPacket
24+
import net.minecraft.util.Hand
2525
import net.minecraft.util.math.BlockPos
2626
import net.minecraft.util.math.Direction
2727

2828
class SwapHandsTransaction @Ta5kBuilder constructor() : InventoryTransaction() {
2929
override val name: String get() = "Swap Hand Stacks"
30-
private var confirming = false
3130

3231
init {
3332
listen<TickEvent.Pre> {
3433
if (player.isSpectator) {
3534
failure("Spectators cannot swap hands")
3635
return@listen
3736
}
37+
val offhandStack = player.getStackInHand(Hand.OFF_HAND)
38+
player.setStackInHand(Hand.OFF_HAND, player.getStackInHand(Hand.MAIN_HAND))
39+
player.setStackInHand(Hand.MAIN_HAND, offhandStack)
3840
connection.sendPacket(
3941
PlayerActionC2SPacket(
4042
PlayerActionC2SPacket.Action.SWAP_ITEM_WITH_OFFHAND,
4143
BlockPos.ORIGIN,
4244
Direction.DOWN
4345
)
4446
)
45-
confirming = true
46-
}
47-
48-
listen<InventoryEvent.HotbarSlot.Sync> {
49-
if (it.slot != player.inventory.selectedSlot) return@listen
5047
finish()
5148
}
5249
}

0 commit comments

Comments
 (0)