From 15c9b1eb5aa3aee37e7259e4213be01e80c5b2a4 Mon Sep 17 00:00:00 2001 From: md_5 Date: Sun, 30 Dec 2018 22:27:16 +1100 Subject: [PATCH] Ignore spurious slot IDs sent by client, e.g. in enchanting tables --- src/main/java/org/bukkit/inventory/InventoryView.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/bukkit/inventory/InventoryView.java b/src/main/java/org/bukkit/inventory/InventoryView.java index 84d476a7..e13e3e33 100644 --- a/src/main/java/org/bukkit/inventory/InventoryView.java +++ b/src/main/java/org/bukkit/inventory/InventoryView.java @@ -210,7 +210,9 @@ public abstract class InventoryView { * @return corresponding inventory, or null */ public final Inventory getInventory(int rawSlot) { - if (rawSlot == OUTSIDE) { + // Slot may be -1 if not properly detected due to client bug + // e.g. dropping an item into part of the enchantment list section of an enchanting table + if (rawSlot == OUTSIDE || rawSlot == -1) { return null; } Preconditions.checkArgument(rawSlot >= 0, "Negative, non outside slot %s", rawSlot);