summaryrefslogtreecommitdiffstats
path: root/nms-patches/Container.patch
diff options
context:
space:
mode:
Diffstat (limited to 'nms-patches/Container.patch')
-rw-r--r--nms-patches/Container.patch10
1 files changed, 5 insertions, 5 deletions
diff --git a/nms-patches/Container.patch b/nms-patches/Container.patch
index ef86d902..ae9b1e78 100644
--- a/nms-patches/Container.patch
+++ b/nms-patches/Container.patch
@@ -38,7 +38,7 @@
protected Slot a(Slot slot) {
@@ -128,6 +151,7 @@
- l = playerinventory.getCarried().getCount();
+ k = playerinventory.getCarried().getCount();
Iterator iterator = this.h.iterator();
+ Map<Integer, ItemStack> draggedSlots = new HashMap<Integer, ItemStack>(); // CraftBukkit - Store slots from drag in map (raw slot id -> new stack)
@@ -48,19 +48,19 @@
@@ -143,12 +167,48 @@
}
- l -= itemstack4.getCount() - j1;
+ k -= itemstack4.getCount() - j1;
- slot1.set(itemstack4);
+ // slot1.set(itemstack4);
+ draggedSlots.put(slot1.rawSlotIndex, itemstack4); // CraftBukkit - Put in map instead of setting
}
}
-- itemstack2.setCount(l);
+- itemstack2.setCount(k);
- playerinventory.setCarried(itemstack2);
+ // CraftBukkit start - InventoryDragEvent
+ InventoryView view = getBukkitView();
+ org.bukkit.inventory.ItemStack newcursor = CraftItemStack.asCraftMirror(itemstack2);
-+ newcursor.setAmount(l);
++ newcursor.setAmount(k);
+ Map<Integer, org.bukkit.inventory.ItemStack> eventmap = new HashMap<Integer, org.bukkit.inventory.ItemStack>();
+ for (Map.Entry<Integer, ItemStack> ditem : draggedSlots.entrySet()) {
+ eventmap.put(ditem.getKey(), CraftItemStack.asBukkitCopy(ditem.getValue()));
@@ -126,7 +126,7 @@
}
}
} else if (inventoryclicktype == InventoryClickType.SWAP && j >= 0 && j < 9) {
-@@ -567,6 +639,7 @@
+@@ -565,6 +637,7 @@
if (inventorycraftresult.a(world, entityplayer, irecipe) && irecipe != null) {
itemstack = irecipe.craftItem(iinventory);
}