From dc9f144de16fea757d49d28543f7cff68454eaed Mon Sep 17 00:00:00 2001 From: Izzy Date: Mon, 8 Apr 2019 21:03:25 -0600 Subject: [PATCH] shells around mapgen crude oil --- fluids.lua | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ ore_gen.lua | 5 +++-- 2 files changed, 53 insertions(+), 2 deletions(-) diff --git a/fluids.lua b/fluids.lua index a109123..6cb467f 100644 --- a/fluids.lua +++ b/fluids.lua @@ -547,8 +547,58 @@ minetest.register_abm({ +minetest.register_node("bitumen:mapgen_crude_oil", { + description = "mapgen crude oil placeholder. you should not see this. if you do, wait 60 seconds.", + tiles = { "default_copper_block.png" }, + groups = { cracky = 3 }, +}) +-- build a shell around crude oil blobs +-- this keeps the oild from gushing into caves, both escaping and killing performance +minetest.register_lbm({ + name = "bitumen:crude_shell_gen", + nodenames = {"bitumen:mapgen_crude_oil"}, + run_at_every_load = true, + action = function(pos, node) + + local airs = minetest.find_nodes_in_area( + vector.add(pos, {x=-1, y=-1, z=-1}), + vector.add(pos, {x=1, y=1, z=1}), + {"air"} + ) + + for _,p in ipairs(airs) do + minetest.set_node(p, {name="default:stone"}) + end + + minetest.set_node(pos, {name = "bitumen:crude_oil_full"}) + minetest.set_node_level(pos, 64) + end +}) + +minetest.register_abm({ + nodenames = {"bitumen:mapgen_crude_oil"}, + interval = 60, + chance = 1, + action = function(pos, node) + + local airs = minetest.find_nodes_in_area( + vector.add(pos, {x=-1, y=-1, z=-1}), + vector.add(pos, {x=1, y=1, z=1}), + {"air"} + ) + + for _,p in ipairs(airs) do + minetest.set_node(p, {name="default:stone"}) + end + + minetest.set_node(pos, {name = "bitumen:crude_oil_full"}) + minetest.set_node_level(pos, 64) + end +}) + + diff --git a/ore_gen.lua b/ore_gen.lua index fd8dd1a..835f743 100644 --- a/ore_gen.lua +++ b/ore_gen.lua @@ -3,8 +3,9 @@ minetest.register_ore({ ore_type = "blob", - ore = "bitumen:crude_oil_full", - wherein = {"default:stone"}, + ore = "bitumen:mapgen_crude_oil", -- this is converted to actual oil by an lbm + wherein = {"default:stone"}, +-- wherein = {"air"}, clust_scarcity = 64 * 64 * 64, -- clust_scarcity = 16 * 16 * 16, clust_size = 30,