Page 1 of 1
I need help editing mapgen.lua

Posted:
Mon Mar 25, 2013 20:26
by 12Me21
Can someone help me edit the mapgen.lua file so that only one type of node (called "default:block") will be generated on the map? (with no caves, water, lava, ores (or anything else besides "default:block")) I also need the ground to be perfectly flat.

Posted:
Mon Mar 25, 2013 20:35
by Casimir
mapgen.lua only generates plants and ores.
You can use the settings instead. Open minetest.conf and add
Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
And have a look into mintest.conf.example for more settings.

Posted:
Mon Mar 25, 2013 20:42
by 12Me21
ok, but what do I do to mapgen.lua to make it not generate ores and plants, and how do I make all the ground be made out of only one type of block?

Posted:
Mon Mar 25, 2013 20:58
by prestidigitator
See all those "minetest.register_alias(...)" lines at the top? Set all the ones for the ground and ores ("mapgen_stone", "mapgen_gravel", "mapgen_mese", "mapgen_desert_sand", etc.) to "default:dirt" or whatever. To keep it from scattering plants and ores you should be able to remove the whole call to "minetest.register_on_generated(...)" at the bottom. You might want to leave the rest in case any mods you use depend on the functions it defines.
That plus the "flat" server setting Casimir mentioned will probably get you what you want.

Posted:
Mon Mar 25, 2013 21:03
by Casimir
Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
- Code: Select all
-- minetest/default/mapgen.lua
if not minetest.setting_get("no_game_node") then
minetest.setting_set("no_game_node", "default:stone")
end
local node_name = minetest.setting_get("no_game_node")
--
-- Aliases for map generator outputs
--
minetest.register_alias("mapgen_air", "air")
minetest.register_alias("mapgen_stone", node_name)
minetest.register_alias("mapgen_tree", node_name)
minetest.register_alias("mapgen_leaves", node_name)
minetest.register_alias("mapgen_jungletree", node_name)
minetest.register_alias("mapgen_jungleleaves", node_name)
minetest.register_alias("mapgen_apple", node_name)
minetest.register_alias("mapgen_water_source", node_name)
minetest.register_alias("mapgen_dirt", node_name)
minetest.register_alias("mapgen_sand", node_name)
minetest.register_alias("mapgen_gravel", node_name)
minetest.register_alias("mapgen_clay", node_name)
minetest.register_alias("mapgen_lava_source", node_name)
minetest.register_alias("mapgen_cobble", node_name)
minetest.register_alias("mapgen_mossycobble", node_name)
minetest.register_alias("mapgen_dirt_with_grass", node_name)
minetest.register_alias("mapgen_junglegrass", node_name)
minetest.register_alias("mapgen_stone_with_coal", node_name)
minetest.register_alias("mapgen_stone_with_iron", node_name)
minetest.register_alias("mapgen_mese", node_name)
minetest.register_alias("mapgen_desert_sand", node_name)
minetest.register_alias("mapgen_desert_stone", node_name)
Very experimental. For me that causes some funny mapgen bugs, try it you self. Backup you mapgen.lua and replace it with the code.