diff --git a/milo/plugins/exportTask.lua b/milo/plugins/exportTask.lua index 1e645f0..e06a102 100644 --- a/milo/plugins/exportTask.lua +++ b/milo/plugins/exportTask.lua @@ -16,9 +16,20 @@ function ExportTask:cycle(context) local slot = machine.getItemMeta(entry.slot) or { count = 0 } local maxCount = slot.maxCount or itemDB:getMaxCount(entry.name) local count = maxCount - slot.count + + -- something else is in this slot + if slot.count > 0 and slot.name ~= entry.name then + count = 0 + end if count > 0 then - context.inventoryAdapter:provide( - itemDB:splitKey(entry.name), count, entry.slot, target) + local item = Milo:getItemWithQty(entry) + if item.count > 0 then + context.inventoryAdapter:provide( + itemDB:splitKey(entry.name), + math.min(count, item.count), + entry.slot, + target) + end end end else diff --git a/milo/plugins/listing.lua b/milo/plugins/listing.lua index 50688c0..1e7e33a 100644 --- a/milo/plugins/listing.lua +++ b/milo/plugins/listing.lua @@ -81,6 +81,16 @@ local listingPage = UI.Page { q = 'quit', [ 'control-e' ] = 'eject', [ 'control-s' ] = 'eject_stack', + [ 'control-1' ] = 'eject_1', + [ 'control-2' ] = 'eject_1', + [ 'control-3' ] = 'eject_1', + [ 'control-4' ] = 'eject_1', + [ 'control-5' ] = 'eject_1', + [ 'control-6' ] = 'eject_1', + [ 'control-7' ] = 'eject_1', + [ 'control-8' ] = 'eject_1', + [ 'control-9' ] = 'eject_1', + [ 'control-0' ] = 'eject_1', [ 'control-m' ] = 'machines', [ 'control-l' ] = 'resume', },