fluids should fall through vapors
parent
97b20b3f02
commit
b1e28e734c
|
@ -269,7 +269,7 @@ local function register_fluid(modname, name, info)
|
||||||
-- flowing
|
-- flowing
|
||||||
minetest.register_abm({
|
minetest.register_abm({
|
||||||
nodenames = {fname},
|
nodenames = {fname},
|
||||||
neighbors = {"group:"..gname, "air"},
|
neighbors = {"group:"..gname, "air", "group:bitumen_vapor"},
|
||||||
interval = info.flow_interval or 1,
|
interval = info.flow_interval or 1,
|
||||||
chance = info.flow_chance or 1,
|
chance = info.flow_chance or 1,
|
||||||
action = function(pos)
|
action = function(pos)
|
||||||
|
@ -284,6 +284,11 @@ local function register_fluid(modname, name, info)
|
||||||
minetest.set_node_level(below, mylevel)
|
minetest.set_node_level(below, mylevel)
|
||||||
minetest.set_node(pos, {name="air"})
|
minetest.set_node(pos, {name="air"})
|
||||||
return
|
return
|
||||||
|
elseif (minetest.registered_nodes[nbelow].groups.bitumen_vapor or 0) > 0 then
|
||||||
|
-- fall through vapors
|
||||||
|
minetest.set_node(below, {name=fname})
|
||||||
|
minetest.set_node_level(below, mylevel)
|
||||||
|
minetest.set_node(pos, {name=nbelow})
|
||||||
elseif nbelow == fname then
|
elseif nbelow == fname then
|
||||||
local blevel = minetest.get_node_level(below)
|
local blevel = minetest.get_node_level(below)
|
||||||
if blevel < 64 then
|
if blevel < 64 then
|
||||||
|
@ -321,7 +326,7 @@ local function register_fluid(modname, name, info)
|
||||||
local air_nodes = minetest.find_nodes_in_area(
|
local air_nodes = minetest.find_nodes_in_area(
|
||||||
{x=pos.x - 1, y=pos.y - 1, z=pos.z - 1},
|
{x=pos.x - 1, y=pos.y - 1, z=pos.z - 1},
|
||||||
{x=pos.x + 1, y=pos.y, z=pos.z + 1},
|
{x=pos.x + 1, y=pos.y, z=pos.z + 1},
|
||||||
"air"
|
{"air", "group:bitumen_vapor"}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,7 @@ minetest.register_node("bitumen:vapor_2", {
|
||||||
-- post_effect_color = info.post_effect_color,
|
-- post_effect_color = info.post_effect_color,
|
||||||
|
|
||||||
-- tiles = { "default_copper_block.png" },
|
-- tiles = { "default_copper_block.png" },
|
||||||
groups = { not_in_creative_inventory = 1 },
|
groups = { not_in_creative_inventory = 1, bitumen_vapor = 1 },
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ minetest.register_node("bitumen:vapor_1", {
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
-- tiles = { "default_steel_block.png" },
|
-- tiles = { "default_steel_block.png" },
|
||||||
groups = { not_in_creative_inventory = 1 },
|
groups = { not_in_creative_inventory = 1, bitumen_vapor = 1 },
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
@ -57,6 +57,7 @@ minetest.register_abm({
|
||||||
]]
|
]]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-- move around randomly
|
-- move around randomly
|
||||||
minetest.register_abm({
|
minetest.register_abm({
|
||||||
nodenames = {"bitumen:vapor_2", "bitumen:vapor_1"},
|
nodenames = {"bitumen:vapor_2", "bitumen:vapor_1"},
|
||||||
|
@ -91,7 +92,7 @@ minetest.register_abm({
|
||||||
)
|
)
|
||||||
|
|
||||||
if #air_nodes > 0 then
|
if #air_nodes > 0 then
|
||||||
off = math.random(#air_nodes)
|
local off = math.random(#air_nodes)
|
||||||
|
|
||||||
minetest.set_node(pos, {name="air"})
|
minetest.set_node(pos, {name="air"})
|
||||||
minetest.set_node(air_nodes[off], {name=name})
|
minetest.set_node(air_nodes[off], {name=name})
|
||||||
|
|
Loading…
Reference in New Issue