obsidian updated
parent
c063e9909e
commit
4f2940ff04
|
@ -9,13 +9,42 @@ minetest.register_node("obsidian_rtmmp:obsidian_block", {
|
|||
material = minetest.digprop_stonelike(15.0), -- obsidian is hard, like a stone, but harder
|
||||
})
|
||||
|
||||
local function check_water(pos, dx, dy, dz)
|
||||
local n = minetest.env:get_node({x = pos.x + dx, y = pos.y + dy, z = pos.z + dz})
|
||||
return n.name == "default:water_flowing" or n.name == "default:water_source"
|
||||
end
|
||||
|
||||
local function find_water(pos)
|
||||
return check_water(pos, -1, 0, 0) or check_water(pos, 1, 0, 0)
|
||||
or check_water(pos, 0, -1, 0) or check_water(pos, 0, 1, 0)
|
||||
or check_water(pos, 0, 0, -1) or check_water(pos, 0, 0, 1)
|
||||
end
|
||||
|
||||
local function replace(pos, dx, dy, dz)
|
||||
if check_water(pos, dx, dy, dz) then
|
||||
minetest.env:remove_node({pos.x + dx, pos.y + dy, pos.z + dz})
|
||||
end
|
||||
end
|
||||
|
||||
local function replace_water(pos)
|
||||
replace(pos, -1, 0, 0)
|
||||
replace(pos, 1, 0, 0)
|
||||
replace(pos, 0, -1, 0)
|
||||
replace(pos, 0, 1, 0)
|
||||
replace(pos, 0, 0, -1)
|
||||
replace(pos, 0, 0, 1)
|
||||
end
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = {"default:lava_flowing"},
|
||||
neighbors = {"default:water_source", "default:water_flowing"},
|
||||
interval = 1,
|
||||
chance = 1,
|
||||
action = function(pos, node)
|
||||
minetest.env:add_node(pos, {name="default:cobble"})
|
||||
if find_water(pos) then
|
||||
replace_water(pos)
|
||||
minetest.env:add_node(pos, {name="default:cobble"})
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
|
@ -25,6 +54,9 @@ minetest.register_abm({
|
|||
interval = 1,
|
||||
chance = 1,
|
||||
action = function(pos, node)
|
||||
minetest.env:add_node(pos, {name="obsidian_rtmmp:obsidian_block"})
|
||||
if find_water(pos) then
|
||||
replace_water(pos)
|
||||
minetest.env:add_node(pos, {name="obsidian_rtmmp:obsidian_block"})
|
||||
end
|
||||
end
|
||||
})
|
||||
|
|
Loading…
Reference in New Issue