diff --git a/mods/bucket/init.lua b/mods/bucket/init.lua index 2bdb471..70a9772 100644 --- a/mods/bucket/init.lua +++ b/mods/bucket/init.lua @@ -103,55 +103,55 @@ function bucket.register_liquid(source, flowing, itemname, inventory_image, name end minetest.register_craftitem("bucket:bucket_empty", { - description = "Empty Bucket", - inventory_image = "bucket.png", - stack_max = 99, - liquids_pointable = true, - on_use = function(itemstack, user, pointed_thing) - -- Must be pointing to node - if pointed_thing.type ~= "node" then - return - end - -- Check if pointing to a liquid source - local node = minetest.get_node(pointed_thing.under) - local liquiddef = bucket.liquids[node.name] - local item_count = user:get_wielded_item():get_count() + description = "Empty Bucket", + inventory_image = "bucket.png", + stack_max = 99, + liquids_pointable = true, + on_use = function(itemstack, user, pointed_thing) + -- Must be pointing to node + if pointed_thing.type ~= "node" then + return + end + -- Check if pointing to a liquid source + local node = minetest.get_node(pointed_thing.under) + local liquiddef = bucket.liquids[node.name] + local item_count = user:get_wielded_item():get_count() - if liquiddef ~= nil - and liquiddef.itemname ~= nil - and node.name == liquiddef.source then - if check_protection(pointed_thing.under, - user:get_player_name(), - "take ".. node.name) then - return - end + if liquiddef ~= nil + and liquiddef.itemname ~= nil + and node.name == liquiddef.source then + if check_protection(pointed_thing.under, + user:get_player_name(), + "take ".. node.name) then + return + end - -- default set to return filled bucket - local giving_back = liquiddef.itemname + -- default set to return filled bucket + local giving_back = liquiddef.itemname - -- check if holding more than 1 empty bucket - if item_count > 1 then + -- check if holding more than 1 empty bucket + if item_count > 1 then - -- if space in inventory add filled bucked, otherwise drop as item - local inv = user:get_inventory() - if inv:room_for_item("main", {name=liquiddef.itemname}) then - inv:add_item("main", liquiddef.itemname) - else - local pos = user:getpos() - pos.y = math.floor(pos.y + 0.5) - core.add_item(pos, liquiddef.itemname) - end + -- if space in inventory add filled bucked, otherwise drop as item + local inv = user:get_inventory() + if inv:room_for_item("main", {name=liquiddef.itemname}) then + inv:add_item("main", liquiddef.itemname) + else + local pos = user:getpos() + pos.y = math.floor(pos.y + 0.5) + core.add_item(pos, liquiddef.itemname) + end - -- set to return empty buckets minus 1 - giving_back = "bucket:bucket_empty "..tostring(item_count-1) + -- set to return empty buckets minus 1 + giving_back = "bucket:bucket_empty "..tostring(item_count-1) - end + end - minetest.add_node(pointed_thing.under, {name="air"}) + minetest.add_node(pointed_thing.under, {name="air"}) - return ItemStack(giving_back) - end - end, + return ItemStack(giving_back) + end + end, }) bucket.register_liquid(