Fixing Junk functionality

This commit is contained in:
2024-04-15 14:45:34 -04:00
parent a2484f94eb
commit 12b6e41432
2 changed files with 12 additions and 8 deletions
@@ -332,13 +332,15 @@ public class ItemProductionMsgHandler extends AbstractClientMsgHandler {
private static void junkItem(int itemUUID, NPC vendor, ClientConnection origin) {
MobLoot targetItem;
Item targetItem;
ManageNPCMsg outMsg;
Dispatch dispatch;
if (origin.sellLock.tryLock()) {
try {
targetItem = MobLoot.getFromCache(itemUUID);
targetItem = ForgeManager.inMemoryItemLookup.get(itemUUID);
PlayerCharacter player = origin.getPlayerCharacter();
@@ -350,18 +352,17 @@ public class ItemProductionMsgHandler extends AbstractClientMsgHandler {
if (targetItem == null)
return;
if (!ForgeManager.vendorItemLookup.get(vendor).contains(targetItem))
return;
// Cannot junk items without a forge!
if (vendor.getBuilding() == null)
return;
// Delete the item and cancel any pending rolling timer jobs
// Delete the item
targetItem.recycle(vendor);
// todo fix vendor.removeItemFromForge(targetItem);
ForgeManager.inMemoryItemLookup.remove(targetItem.objectUUID);
WorkOrder workOrder = ForgeManager.itemWorkOrderLookup.get(targetItem);
workOrder.cooking.remove(targetItem);
ForgeManager.vendorItemLookup.get(workOrder.vendor).remove(targetItem);
// Refresh vendor's inventory to client