Dispatch InventoryCloseEvent after Player#closeInventory (#2415)

* feat: register multiple commands

* misc: requested changes

* fix: call close inventory before dispatching event
This commit is contained in:
Tech 2024-09-30 02:06:13 -04:00 committed by GitHub
parent 96bf14500a
commit e8f34c317a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -87,11 +87,11 @@ public class WindowListener {
public static void closeWindowListener(ClientCloseWindowPacket packet, Player player) {
// if windowId == 0 then it is player's inventory, meaning that they hadn't been any open inventory packet
player.closeInventory(true);
InventoryCloseEvent inventoryCloseEvent = new InventoryCloseEvent(player.getOpenInventory(), player);
EventDispatcher.call(inventoryCloseEvent);
player.closeInventory(true);
Inventory newInventory = inventoryCloseEvent.getNewInventory();
if (newInventory != null)
player.openInventory(newInventory);