From f2f6b49a7b122d25e3a54561cfa8a128e2a06f9b Mon Sep 17 00:00:00 2001
From: shillingp
Date: Fri, 27 Jun 2014 15:16:03 +0000
Subject: [PATCH] Complete inventory cycle
---
misc.py | 30 ++++++++++++++++--------------
1 file changed, 16 insertions(+), 14 deletions(-)
diff --git a/misc.py b/misc.py
index 20ab860..2e9ddb4 100644
--- a/misc.py
+++ b/misc.py
@@ -95,20 +95,22 @@ def onPlayerInteractEntity(event):
#
# Cycling around the item bar will switch between rows of the inventory
#
-#@hook.event("player.PlayerItemHeldEvent", "normal")
-#def onHeldEvent(event):
-# player = event.getPlayer()
-# prev_slot = event.getPreviousSlot()
-# new_slot = event.getNewSlot()
-# if (prev_slot == 0 and new_slot == 8):
-# doCycle(player, 27)
-# elif (prev_slot == 8 and new_slot == 0):
-# doCycle(player, 9)
-#
-#def doCycle(player, e):
-# inv = player.getInventory()
-# for x in range (0, 9):
-# inv[x], inv[x+e] = inv[x+e], inv[x]
+@hook.event("player.PlayerItemHeldEvent", "normal")
+def onHeldEvent(event):
+ player = event.getPlayer()
+ prev_slot = event.getPreviousSlot()
+ new_slot = event.getNewSlot()
+ if (prev_slot == 0 and new_slot == 8):
+ doCycle(player, -9)
+ elif (prev_slot == 8 and new_slot == 0):
+ doCycle(player, 9)
+
+def doCycle(player, e):
+ inv = player.getInventory()
+ inv2 = inv.getContents()
+ e = e % len(inv2)
+ inv2 = inv2[e:] + inv2[:e]
+ inv.setContents(inv2)
#