From 4c976df0a122a11d368e5fc4041428f8e96d07d8 Mon Sep 17 00:00:00 2001 From: Melledy <121644117+Melledy@users.noreply.github.com> Date: Thu, 5 Oct 2023 06:37:16 -0700 Subject: [PATCH] Fix materials not being incremented properly --- .../lunarcore/game/inventory/Inventory.java | 43 +++++++++---------- 1 file changed, 20 insertions(+), 23 deletions(-) diff --git a/src/main/java/emu/lunarcore/game/inventory/Inventory.java b/src/main/java/emu/lunarcore/game/inventory/Inventory.java index b39efdf..eb4a25a 100644 --- a/src/main/java/emu/lunarcore/game/inventory/Inventory.java +++ b/src/main/java/emu/lunarcore/game/inventory/Inventory.java @@ -103,7 +103,7 @@ public class Inventory extends BasePlayerManager { if (result != null) { // Send packet (update) - getPlayer().sendPacket(new PacketPlayerSyncScNotify(item)); + getPlayer().sendPacket(new PacketPlayerSyncScNotify(result)); return true; } @@ -160,30 +160,27 @@ public class Inventory extends BasePlayerManager { } return null; case Material: - switch (item.getExcel().getItemSubType()) { - default: - if (tab == null) { + if (tab == null) { + return null; + } + + GameItem existingItem = tab.getItemById(item.getItemId()); + + if (existingItem == null) { + // Item type didnt exist before, we will add it to main inventory map if there is enough space + if (tab.getSize() >= tab.getMaxCapacity()) { return null; } - GameItem existingItem = tab.getItemById(item.getItemId()); - if (existingItem == null) { - // Item type didnt exist before, we will add it to main inventory map if there is enough space - if (tab.getSize() >= tab.getMaxCapacity()) { - return null; - } - // Make sure item count doesnt exceed stack limit - item.setCount(Math.min(item.getCount(), item.getExcel().getPileLimit())); - // Put item to inventory - this.putItem(item, tab); - // Set ownership and save to db - item.save(); - return item; - } else { - // Add count - existingItem.setCount(Math.min(existingItem.getCount() + item.getCount(), item.getExcel().getPileLimit())); - existingItem.save(); - return existingItem; - } + // Put item to inventory + this.putItem(item, tab); + // Set ownership and save to db + item.save(); + return item; + } else { + // Add count + existingItem.setCount(Math.min(existingItem.getCount() + item.getCount(), item.getExcel().getPileLimit())); + existingItem.save(); + return existingItem; } default: return null;