X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=mods%2Fmain%2Fbucket.lua;h=76c1c6edffef91ce4344cc9078b37be4b7a0b31e;hb=f81b9d8e374cc524ede759f985be5f5f280e587b;hp=7079b71e2fab659f6dbb764aff9813ff5a73a133;hpb=02d5f8c047379ab40f212e3c5717e9384c277eda;p=Crafter.git diff --git a/mods/main/bucket.lua b/mods/main/bucket.lua index 7079b71..76c1c6e 100644 --- a/mods/main/bucket.lua +++ b/mods/main/bucket.lua @@ -29,15 +29,7 @@ minetest.register_craftitem("main:bucket", { stack_max = 1, --wield_image = "bucket.png", --liquids_pointable = true, - on_place = function(itemstack, placer, pointed_thing) - --do the sucking water out of farmland thing first - if pointed_thing.under and minetest.get_node(pointed_thing.under).name == "farming:farmland_wet" then - minetest.set_node(pointed_thing.under,{name="farming:farmland_dry"}) - itemstack:replace(ItemStack("main:bucket_water")) - return(itemstack) - end - - + on_place = function(itemstack, placer, pointed_thing) local pos = bucket_raycast(placer) if not pos then @@ -52,7 +44,7 @@ minetest.register_craftitem("main:bucket", { itemstack:replace(ItemStack("main:bucket_water")) minetest.remove_node(pos_under) return(itemstack) - elseif node == "main:lava" then + elseif node == "main:lava" or node == "nether:lava" then itemstack:replace(ItemStack("main:bucket_lava")) minetest.remove_node(pos_under) return(itemstack) @@ -71,7 +63,7 @@ minetest.register_craftitem("main:bucket", { itemstack:replace(ItemStack("main:bucket_water")) minetest.remove_node(pos_under) return(itemstack) - elseif node == "main:lava" then + elseif node == "main:lava" or node == "nether:lava" then itemstack:replace(ItemStack("main:bucket_lava")) minetest.remove_node(pos_under) return(itemstack) @@ -86,11 +78,6 @@ minetest.register_craftitem("main:bucket_water", { stack_max = 1, --liquids_pointable = false, on_place = function(itemstack, placer, pointed_thing) - if pointed_thing.under and minetest.get_node(pointed_thing.under).name == "farming:farmland_dry" then - minetest.set_node(pointed_thing.under,{name="farming:farmland_wet"}) - itemstack:replace(ItemStack("main:bucket")) - return(itemstack) - end local pos = bucket_raycast(placer) if not pos then @@ -135,11 +122,11 @@ minetest.register_craftitem("main:bucket_water", { --set it to water if buildable_under == true then - minetest.set_node(pos_under,{name="main:water"}) + minetest.add_node(pos_under,{name="main:water"}) itemstack:replace(ItemStack("main:bucket")) return(itemstack) elseif buildable_above then - minetest.set_node(pos_above,{name="main:water"}) + minetest.add_node(pos_above,{name="main:water"}) itemstack:replace(ItemStack("main:bucket")) return(itemstack) end @@ -177,13 +164,25 @@ minetest.register_craftitem("main:bucket_lava", { --set it to lava if buildable_under == true then - minetest.set_node(pos_under,{name="main:lava"}) - itemstack:replace(ItemStack("main:bucket")) - return(itemstack) + if pos_under.y < 20000 then + if pos_under.y > -10033 then + minetest.add_node(pos_under,{name="main:lava"}) + else + minetest.add_node(pos_under,{name="nether:lava"}) + end + itemstack:replace(ItemStack("main:bucket")) + return(itemstack) + end elseif buildable_above then - minetest.set_node(pos_above,{name="main:lava"}) - itemstack:replace(ItemStack("main:bucket")) - return(itemstack) + if pos_above.y < 20000 then + if pos_above.y > -10033 then + minetest.add_node(pos_above,{name="main:lava"}) + else + minetest.add_node(pos_above,{name="nether:lava"}) + end + itemstack:replace(ItemStack("main:bucket")) + return(itemstack) + end end end, on_secondary_use = function(itemstack, user, pointed_thing) @@ -204,13 +203,25 @@ minetest.register_craftitem("main:bucket_lava", { --set it to lava if buildable_under == true then - minetest.set_node(pos_under,{name="main:lava"}) - itemstack:replace(ItemStack("main:bucket")) - return(itemstack) + if pos_under.y < 20000 then + if pos_under.y > -10033 then + minetest.add_node(pos_under,{name="main:lava"}) + else + minetest.add_node(pos_under,{name="nether:lava"}) + end + itemstack:replace(ItemStack("main:bucket")) + return(itemstack) + end elseif buildable_above then - minetest.set_node(pos_above,{name="main:lava"}) - itemstack:replace(ItemStack("main:bucket")) - return(itemstack) + if pos_above.y < 20000 then + if pos_above.y > -10033 then + minetest.add_node(pos_above,{name="main:lava"}) + else + minetest.add_node(pos_above,{name="nether:lava"}) + end + itemstack:replace(ItemStack("main:bucket")) + return(itemstack) + end end end, })