diff --git a/init.lua b/init.lua index b91c573..7ed73af 100644 --- a/init.lua +++ b/init.lua @@ -57,9 +57,14 @@ local function recharge_airtank(itemstack, user, pointed_thing, full_item) itemstack:set_wear(0) else local inv = user:get_inventory() - local leftover = inv:add_item("main", full_item) - if leftover:get_count() == 0 then - itemstack:set_count(itemstack:get_count()-1) + + if itemstack:get_count() == 1 then + itemstack = ItemStack(full_item) -- replace with new stack containing one full tank + else + local leftover = inv:add_item("main", full_item) + if leftover:get_count() == 0 then + itemstack:take_item(1) + end end end minetest.sound_play("airtanks_compressor", {pos = pointed_thing.under, gain = 0.5}) @@ -247,4 +252,5 @@ local function player_event_handler(player, eventname) return false end -minetest.register_playerevent(player_event_handler) \ No newline at end of file +minetest.register_playerevent(player_event_handler) +