Speed up specific node checks
This commit is contained in:
parent
bc2b58ab8e
commit
d025784f30
2
dirt.lua
2
dirt.lua
@ -73,7 +73,7 @@ minetest.register_abm({
|
||||
local count_grasses = {}
|
||||
local curr_max = 0
|
||||
local curr_type = "ethereal:green_dirt" -- fallback
|
||||
local positions = minetest.find_nodes_in_area(
|
||||
local positions = minetest.find_nodes_in_area_under_air(
|
||||
{x = (pos.x - 2), y = (pos.y - 1), z = (pos.z - 2)},
|
||||
{x = (pos.x + 2), y = (pos.y + 1), z = (pos.z + 2)},
|
||||
"group:ethereal_grass")
|
||||
|
@ -308,7 +308,7 @@ minetest.register_on_generated(function(minp, maxp)
|
||||
return
|
||||
end
|
||||
local bpos
|
||||
for key, pos in pairs(minetest.find_nodes_in_area(minp, maxp, "default:stone_with_coal")) do
|
||||
for key, pos in pairs(minetest.find_nodes_in_area_under_air(minp, maxp, "default:stone_with_coal")) do
|
||||
bpos = {x = pos.x, y = pos.y + 1, z = pos.z }
|
||||
if minetest.get_node(bpos).name == "air" then
|
||||
if bpos.y > -3000 and bpos.y < -2000 then
|
||||
|
@ -16,10 +16,10 @@ minetest.register_abm({
|
||||
local pos0 = {x = pos.x - 4, y = pos.y - 2, z = pos.z - 4}
|
||||
local pos1 = {x = pos.x + 4, y = pos.y + 2, z = pos.z + 4}
|
||||
|
||||
if #minetest.find_nodes_in_area(pos0, pos1, "group:flora") > 3 then
|
||||
if #minetest.find_nodes_in_area_under_air(pos0, pos1, "group:flora") > 3 then
|
||||
|
||||
local grass = minetest.find_nodes_in_area(pos0, pos1, {"ethereal:crystalgrass"})
|
||||
local crystal = minetest.find_nodes_in_area(pos0, pos1, {"ethereal:crystal_spike"})
|
||||
local grass = minetest.find_nodes_in_area_under_air(pos0, pos1, {"ethereal:crystalgrass"})
|
||||
local crystal = minetest.find_nodes_in_area_under_air(pos0, pos1, {"ethereal:crystal_spike"})
|
||||
|
||||
if #grass > 6 and #crystal < 1 then
|
||||
grass = grass[math.random(#grass)]
|
||||
@ -33,7 +33,7 @@ minetest.register_abm({
|
||||
return
|
||||
end
|
||||
|
||||
local seedling = minetest.find_nodes_in_area(pos0, pos1, {"group:soil"})
|
||||
local seedling = minetest.find_nodes_in_area_under_air(pos0, pos1, {"group:soil"})
|
||||
|
||||
if #seedling > 0 then
|
||||
seedling = seedling[math.random(#seedling)]
|
||||
|
@ -62,7 +62,7 @@ minetest.register_abm({
|
||||
chance = 4,
|
||||
catch_up = false,
|
||||
action = function(pos, node)
|
||||
local water = minetest.find_nodes_in_area(
|
||||
local water = minetest.find_nodes_in_area_under_air(
|
||||
{x = pos.x - 1, y = pos.y - 1, z = pos.z - 1},
|
||||
{x = pos.x + 1, y = pos.y + 1, z = pos.z + 1},
|
||||
{"default:water_source", "default:river_water_source"})
|
||||
|
Loading…
Reference in New Issue
Block a user