diff --git a/src/main/java/net/minestom/server/inventory/Inventory.java b/src/main/java/net/minestom/server/inventory/Inventory.java index d8ce85aac..51ba15ca9 100644 --- a/src/main/java/net/minestom/server/inventory/Inventory.java +++ b/src/main/java/net/minestom/server/inventory/Inventory.java @@ -317,7 +317,7 @@ public non-sealed class Inventory extends AbstractInventory implements Viewable return dragHelper.test(player, slot, button, clickSlot, clickInv, // Start (clickType) -> { - final var tmp = handlePreClick(clickInv, player, -999, clickType, + final var tmp = handlePreClick(null, player, -999, clickType, getCursorItem(player), ItemStack.AIR); if (tmp.cancelled()) { update(); @@ -335,7 +335,7 @@ public non-sealed class Inventory extends AbstractInventory implements Viewable (clickType, entries) -> { var slots = entries.stream().map(dragData -> Pair.of(dragData.inventory(), dragData.slot())).toList(); // Handle last drag - final var tmp = handlePreClick(clickInv, player, -999, clickType, + final var tmp = handlePreClick(null, player, -999, clickType, getCursorItem(player), ItemStack.AIR); if (tmp.cancelled()) { update(); diff --git a/src/main/java/net/minestom/server/inventory/PlayerInventory.java b/src/main/java/net/minestom/server/inventory/PlayerInventory.java index a0d4056d5..a27d9b8b7 100644 --- a/src/main/java/net/minestom/server/inventory/PlayerInventory.java +++ b/src/main/java/net/minestom/server/inventory/PlayerInventory.java @@ -265,7 +265,7 @@ public non-sealed class PlayerInventory extends AbstractInventory implements Equ return dragHelper.test(player, slot, button, convertedSlot, this, // Start (clickType) -> { - final var tmp = handlePreClick(this, player, -999, clickType, + final var tmp = handlePreClick(null, player, -999, clickType, getCursorItem(), ItemStack.AIR); if (tmp.cancelled()) { update(); @@ -284,7 +284,7 @@ public non-sealed class PlayerInventory extends AbstractInventory implements Equ // Handle each individual drag var slots = entries.stream().map(DragHelper.Entry::slot).toList(); // Handle last drag - final var tmp = handlePreClick(this, player, -999, clickType, + final var tmp = handlePreClick(null, player, -999, clickType, getCursorItem(), ItemStack.AIR); if (tmp.cancelled()) { update(); diff --git a/src/test/java/net/minestom/server/inventory/click/integration/DragLeftClickIntegrationTest.java b/src/test/java/net/minestom/server/inventory/click/integration/DragLeftClickIntegrationTest.java index a46018b95..76bf0eac1 100644 --- a/src/test/java/net/minestom/server/inventory/click/integration/DragLeftClickIntegrationTest.java +++ b/src/test/java/net/minestom/server/inventory/click/integration/DragLeftClickIntegrationTest.java @@ -17,8 +17,7 @@ import org.junit.jupiter.api.Test; import java.util.ArrayList; import java.util.List; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.fail; +import static org.junit.jupiter.api.Assertions.*; @EnvTest public class DragLeftClickIntegrationTest { @@ -40,6 +39,7 @@ public class DragLeftClickIntegrationTest { { // Start var event = events.get(0); + assertNull(event.getInventory()); assertEquals(ClickType.START_LEFT_DRAGGING, event.getClickType()); assertEquals(-999, event.getSlot()); assertEquals(ItemStack.of(Material.STONE, 64), event.getCursorItem()); @@ -48,6 +48,7 @@ public class DragLeftClickIntegrationTest { { // Slot 1 var event = events.get(1); + assertNull(event.getInventory()); assertEquals(ClickType.LEFT_DRAGGING, event.getClickType()); assertEquals(1, event.getSlot()); assertEquals(ItemStack.of(Material.STONE, 64), event.getCursorItem()); @@ -56,6 +57,7 @@ public class DragLeftClickIntegrationTest { { // Slot 2 var event = events.get(2); + assertNull(event.getInventory()); assertEquals(ClickType.LEFT_DRAGGING, event.getClickType()); assertEquals(2, event.getSlot()); assertEquals(ItemStack.of(Material.STONE, 64), event.getCursorItem()); @@ -64,6 +66,7 @@ public class DragLeftClickIntegrationTest { { // End var event = events.get(3); + assertNull(event.getInventory()); assertEquals(ClickType.END_LEFT_DRAGGING, event.getClickType()); assertEquals(-999, event.getSlot()); assertEquals(ItemStack.of(Material.STONE, 64), event.getCursorItem()); @@ -148,7 +151,7 @@ public class DragLeftClickIntegrationTest { { // Start var event = events.get(0); - assertEquals(inventory, event.getInventory()); + assertNull(event.getInventory()); assertEquals(ClickType.START_LEFT_DRAGGING, event.getClickType()); assertEquals(-999, event.getSlot()); assertEquals(ItemStack.of(Material.STONE, 64), event.getCursorItem()); @@ -157,6 +160,7 @@ public class DragLeftClickIntegrationTest { { // Slot 1 var event = events.get(1); + assertEquals(inventory, event.getInventory()); assertEquals(ClickType.LEFT_DRAGGING, event.getClickType()); assertEquals(1, event.getSlot()); assertEquals(ItemStack.of(Material.STONE, 64), event.getCursorItem()); @@ -165,6 +169,7 @@ public class DragLeftClickIntegrationTest { { // Slot 2 var event = events.get(2); + assertEquals(inventory, event.getInventory()); assertEquals(ClickType.LEFT_DRAGGING, event.getClickType()); assertEquals(2, event.getSlot()); assertEquals(ItemStack.of(Material.STONE, 64), event.getCursorItem()); @@ -173,6 +178,7 @@ public class DragLeftClickIntegrationTest { { // End var event = events.get(3); + assertNull(event.getInventory()); assertEquals(ClickType.END_LEFT_DRAGGING, event.getClickType()); assertEquals(-999, event.getSlot()); assertEquals(ItemStack.of(Material.STONE, 64), event.getCursorItem()); diff --git a/src/test/java/net/minestom/server/inventory/click/integration/DragRightClickIntegrationTest.java b/src/test/java/net/minestom/server/inventory/click/integration/DragRightClickIntegrationTest.java index 5bcd775e8..f87ee86e2 100644 --- a/src/test/java/net/minestom/server/inventory/click/integration/DragRightClickIntegrationTest.java +++ b/src/test/java/net/minestom/server/inventory/click/integration/DragRightClickIntegrationTest.java @@ -17,8 +17,7 @@ import org.junit.jupiter.api.Test; import java.util.ArrayList; import java.util.List; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.fail; +import static org.junit.jupiter.api.Assertions.*; @EnvTest public class DragRightClickIntegrationTest { @@ -40,6 +39,7 @@ public class DragRightClickIntegrationTest { { // Start var event = events.get(0); + assertNull(event.getInventory()); assertEquals(ClickType.START_RIGHT_DRAGGING, event.getClickType()); assertEquals(-999, event.getSlot()); assertEquals(ItemStack.of(Material.STONE, 64), event.getCursorItem()); @@ -48,6 +48,7 @@ public class DragRightClickIntegrationTest { { // Slot 1 var event = events.get(1); + assertNull(event.getInventory()); assertEquals(ClickType.RIGHT_DRAGGING, event.getClickType()); assertEquals(1, event.getSlot()); assertEquals(ItemStack.of(Material.STONE, 64), event.getCursorItem()); @@ -56,6 +57,7 @@ public class DragRightClickIntegrationTest { { // Slot 2 var event = events.get(2); + assertNull(event.getInventory()); assertEquals(ClickType.RIGHT_DRAGGING, event.getClickType()); assertEquals(2, event.getSlot()); assertEquals(ItemStack.of(Material.STONE, 64), event.getCursorItem()); @@ -64,6 +66,7 @@ public class DragRightClickIntegrationTest { { // End var event = events.get(3); + assertNull(event.getInventory()); assertEquals(ClickType.END_RIGHT_DRAGGING, event.getClickType()); assertEquals(-999, event.getSlot()); assertEquals(ItemStack.of(Material.STONE, 64), event.getCursorItem()); @@ -148,7 +151,7 @@ public class DragRightClickIntegrationTest { { // Start var event = events.get(0); - assertEquals(inventory, event.getInventory()); + assertNull(event.getInventory()); assertEquals(ClickType.START_RIGHT_DRAGGING, event.getClickType()); assertEquals(-999, event.getSlot()); assertEquals(ItemStack.of(Material.STONE, 64), event.getCursorItem()); @@ -157,6 +160,7 @@ public class DragRightClickIntegrationTest { { // Slot 1 var event = events.get(1); + assertEquals(inventory, event.getInventory()); assertEquals(ClickType.RIGHT_DRAGGING, event.getClickType()); assertEquals(1, event.getSlot()); assertEquals(ItemStack.of(Material.STONE, 64), event.getCursorItem()); @@ -165,6 +169,7 @@ public class DragRightClickIntegrationTest { { // Slot 2 var event = events.get(2); + assertEquals(inventory, event.getInventory()); assertEquals(ClickType.RIGHT_DRAGGING, event.getClickType()); assertEquals(2, event.getSlot()); assertEquals(ItemStack.of(Material.STONE, 64), event.getCursorItem()); @@ -173,6 +178,7 @@ public class DragRightClickIntegrationTest { { // End var event = events.get(3); + assertNull(event.getInventory()); assertEquals(ClickType.END_RIGHT_DRAGGING, event.getClickType()); assertEquals(-999, event.getSlot()); assertEquals(ItemStack.of(Material.STONE, 64), event.getCursorItem());