]> git.lizzy.rs Git - Crafter.git/blobdiff - mods/main/bucket.lua
Fix WAIH crashing with flint and steel
[Crafter.git] / mods / main / bucket.lua
index c02bd4036f7755d1fed2143c391e0091e9f6a98f..76c1c6edffef91ce4344cc9078b37be4b7a0b31e 100644 (file)
@@ -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
@@ -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
@@ -177,21 +164,25 @@ minetest.register_craftitem("main:bucket_lava", {
                
                --set it to lava
                if buildable_under == true then
-                       if pos_under.y > -10033 then
-                               minetest.add_node(pos_under,{name="main:lava"})
-                       else
-                               minetest.add_node(pos_under,{name="nether:lava"})
+                       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
-                       itemstack:replace(ItemStack("main:bucket"))
-                       return(itemstack)
                elseif buildable_above then
-                       if pos_above.y > -10033 then
-                               minetest.add_node(pos_above,{name="main:lava"})
-                       else
-                               minetest.add_node(pos_above,{name="nether:lava"})
+                       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
-                       itemstack:replace(ItemStack("main:bucket"))
-                       return(itemstack)
                end
        end,
        on_secondary_use = function(itemstack, user, pointed_thing)
@@ -212,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,
 })