Tweak some textures, new chest texture
[oweals/minetest_game.git] / mods / default / functions.lua
index 4f5f85d48c135aa92637c92f078bb012c7fe1b69..fe553c516eea3393f34cada05759b82c9962a390 100644 (file)
@@ -40,9 +40,9 @@ end
 function default.node_sound_sand_defaults(table)
        table = table or {}
        table.footstep = table.footstep or
-                       {name="default_sand_footstep", gain=0.5}
+                       {name="default_sand_footstep", gain=0.2}
        table.dug = table.dug or
-                       {name="default_sand_footstep", gain=1.0}
+                       {name="default_sand_footstep", gain=0.4}
        table.place = table.place or
                        {name="default_place_node", gain=1.0}
        default.node_sound_defaults(table)
@@ -64,7 +64,7 @@ function default.node_sound_leaves_defaults(table)
        table.footstep = table.footstep or
                        {name="default_grass_footstep", gain=0.35}
        table.dug = table.dug or
-                       {name="default_grass_footstep", gain=0.85}
+                       {name="default_grass_footstep", gain=0.7}
        table.dig = table.dig or
                        {name="default_dig_crumbly", gain=0.4}
        table.place = table.place or
@@ -127,56 +127,6 @@ end
 minetest.register_on_punchnode(on_punchnode)
 
 
---
--- Grow trees
---
-
-minetest.register_abm({
-       nodenames = {"default:sapling"},
-       interval = 10,
-       chance = 50,
-       action = function(pos, node)
-               local nu =  minetest.get_node({x=pos.x, y=pos.y-1, z=pos.z}).name
-               local is_soil = minetest.get_item_group(nu, "soil")
-               if is_soil == 0 then
-                       return
-               end
-               
-               minetest.log("action", "A sapling grows into a tree at "..minetest.pos_to_string(pos))
-               local vm = minetest.get_voxel_manip()
-               local minp, maxp = vm:read_from_map({x=pos.x-16, y=pos.y, z=pos.z-16}, {x=pos.x+16, y=pos.y+16, z=pos.z+16})
-               local a = VoxelArea:new{MinEdge=minp, MaxEdge=maxp}
-               local data = vm:get_data()
-               default.grow_tree(data, a, pos, math.random(1, 4) == 1, math.random(1,100000))
-               vm:set_data(data)
-               vm:write_to_map(data)
-               vm:update_map()
-       end
-})
-
-minetest.register_abm({
-       nodenames = {"default:junglesapling"},
-       interval = 10,
-       chance = 50,
-       action = function(pos, node)
-               local nu =  minetest.get_node({x=pos.x, y=pos.y-1, z=pos.z}).name
-               local is_soil = minetest.get_item_group(nu, "soil")
-               if is_soil == 0 then
-                       return
-               end
-               
-               minetest.log("action", "A jungle sapling grows into a tree at "..minetest.pos_to_string(pos))
-               local vm = minetest.get_voxel_manip()
-               local minp, maxp = vm:read_from_map({x=pos.x-16, y=pos.y-1, z=pos.z-16}, {x=pos.x+16, y=pos.y+16, z=pos.z+16})
-               local a = VoxelArea:new{MinEdge=minp, MaxEdge=maxp}
-               local data = vm:get_data()
-               default.grow_jungletree(data, a, pos, math.random(1,100000))
-               vm:set_data(data)
-               vm:write_to_map(data)
-               vm:update_map()
-       end
-})
-
 --
 -- Lavacooling
 --
@@ -266,6 +216,19 @@ minetest.register_abm({
        end,
 })
 
+--
+-- dig upwards
+--
+
+function default.dig_up(pos, node, digger)
+       if digger == nil then return end
+       local np = {x = pos.x, y = pos.y + 1, z = pos.z}
+       local nn = minetest.get_node(np)
+       if nn.name == node.name then
+               minetest.node_dig(np, nn, digger)
+       end
+end
+
 --
 -- Leafdecay
 --