Grass Path+Farmland→Dirt if below solid, instantly

This commit is contained in:
Wuzzy 2017-05-14 22:44:34 +02:00
parent d20de89780
commit 3f57f80d54
4 changed files with 13 additions and 16 deletions

View file

@ -445,21 +445,16 @@ minetest.register_abm({
end
})
minetest.register_abm({
label = "Turn Grass Path below solid block into Dirt",
nodenames = {"mcl_core:grass_path"},
neighbors = {"group:solid"},
interval = 8,
chance = 50,
action = function(pos, node)
local above = {x = pos.x, y = pos.y + 1, z = pos.z}
local name = minetest.get_node(above).name
local nodedef = minetest.registered_nodes[name]
if name ~= "ignore" and nodedef and (nodedef.groups and nodedef.groups.solid) then
minetest.set_node(pos, {name = "mcl_core:dirt"})
-- Turn Grass Path and similar nodes to Dirt if a solid node is placed above it
minetest.register_on_placenode(function(pos, newnode, placer, oldnode, itemstack, pointed_thing)
if minetest.get_item_group(newnode.name, "solid") ~= 0 then
local below = {x=pos.x, y=pos.y-1, z=pos.z}
local belownode = minetest.get_node(below)
if minetest.get_item_group(belownode.name, "dirtifies_below_solid") == 1 then
minetest.set_node(below, {name="mcl_core:dirt"})
end
end
})
end)
--------------------------
-- Try generate tree ---

View file

@ -407,7 +407,7 @@ minetest.register_node("mcl_core:grass_path", {
{-0.5, -0.5, -0.5, 0.5, 0.4375, 0.5},
}
},
groups = {handy=1,shovely=1, cultivatable=2, not_in_creative_inventory=1, },
groups = {handy=1,shovely=1, cultivatable=2, dirtifies_below_solid=1, not_in_creative_inventory=1, },
sounds = mcl_sounds.node_sound_dirt_defaults({
footstep = {name="default_grass_footstep", gain=0.4},
}),