1
0
mirror of https://github.com/minetest/minetest_game.git synced 2025-07-03 23:20:22 +02:00

Avoid parsing mapgen 'chunksize' by hand

This commit is contained in:
sfan5
2025-07-01 18:39:36 +02:00
committed by GitHub
parent 6ed522b5fc
commit 8fbfc14c3f
2 changed files with 9 additions and 11 deletions

View File

@ -66,15 +66,6 @@ local success = false
local spawn_pos = {}
-- Get world 'mapgen_limit' and 'chunksize' to calculate 'spawn_limit'.
-- This accounts for how mapchunks are not generated if they or their shell exceed
-- 'mapgen_limit'.
local mapgen_limit = tonumber(minetest.get_mapgen_setting("mapgen_limit"))
local chunksize = tonumber(minetest.get_mapgen_setting("chunksize"))
local spawn_limit = math.max(mapgen_limit - (chunksize + 1) * 16, 0)
-- Functions
------------
@ -103,6 +94,7 @@ end
-- Spawn position search
local function search()
local edge1, edge2 = core.get_mapgen_edges()
for iter = 1, checks do
local biome_data = minetest.get_biome_data(pos)
-- Sometimes biome_data is nil
@ -116,7 +108,7 @@ local function search()
pos = next_pos()
-- Check for position being outside world edge
if math.abs(pos.x) > spawn_limit or math.abs(pos.z) > spawn_limit then
if pos.x < edge1.x or pos.z < edge1.z or pos.x > edge2.x or pos.z > edge2.z then
return false
end
end