aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/util/mc/SlotUtils.kt
diff options
context:
space:
mode:
authorLinnea Gräf <nea@nea.moe>2024-10-18 00:41:25 +0200
committerLinnea Gräf <nea@nea.moe>2024-10-18 14:36:51 +0200
commitc89b663acad487caeb15f7521be3dd14342dd4e7 (patch)
treeae21daabaf5de1ac5281509c6fa9446259169ae5 /src/main/kotlin/util/mc/SlotUtils.kt
parent7de0e8e7e09e3428c17ca9717c21c02469c31b76 (diff)
downloadFirmament-c89b663acad487caeb15f7521be3dd14342dd4e7.tar.gz
Firmament-c89b663acad487caeb15f7521be3dd14342dd4e7.tar.bz2
Firmament-c89b663acad487caeb15f7521be3dd14342dd4e7.zip
Add slot binding
Diffstat (limited to 'src/main/kotlin/util/mc/SlotUtils.kt')
-rw-r--r--src/main/kotlin/util/mc/SlotUtils.kt35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/main/kotlin/util/mc/SlotUtils.kt b/src/main/kotlin/util/mc/SlotUtils.kt
new file mode 100644
index 0000000..4709dcf
--- /dev/null
+++ b/src/main/kotlin/util/mc/SlotUtils.kt
@@ -0,0 +1,35 @@
+package moe.nea.firmament.util.mc
+
+import net.minecraft.screen.ScreenHandler
+import net.minecraft.screen.slot.Slot
+import net.minecraft.screen.slot.SlotActionType
+import moe.nea.firmament.util.MC
+
+object SlotUtils {
+ fun Slot.clickMiddleMouseButton(handler: ScreenHandler) {
+ MC.interactionManager?.clickSlot(
+ handler.syncId,
+ this.id,
+ 2,
+ SlotActionType.CLONE,
+ MC.player
+ )
+ }
+
+ fun Slot.swapWithHotBar(handler: ScreenHandler, hotbarIndex: Int) {
+ MC.interactionManager?.clickSlot(
+ handler.syncId, this.id,
+ hotbarIndex, SlotActionType.SWAP,
+ MC.player)
+ }
+
+ fun Slot.clickRightMouseButton(handler: ScreenHandler) {
+ MC.interactionManager?.clickSlot(
+ handler.syncId,
+ this.id,
+ 1,
+ SlotActionType.PICKUP,
+ MC.player
+ )
+ }
+}