Fix biome ores being generated in all biomes
This commit is contained in:
parent
6e7e780af9
commit
b96974e253
|
@ -1225,7 +1225,60 @@ local function register_dimension_biomes()
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Register “fake” ores directly related to the biomes
|
-- Register ores which are limited by biomes. For all mapgens except flat and singlenode.
|
||||||
|
local function register_biome_ores()
|
||||||
|
local stonelike = {"mcl_core:stone", "mcl_core:diorite", "mcl_core:andesite", "mcl_core:granite"}
|
||||||
|
|
||||||
|
-- Emeralds
|
||||||
|
minetest.register_ore({
|
||||||
|
ore_type = "scatter",
|
||||||
|
ore = "mcl_core:stone_with_emerald",
|
||||||
|
wherein = stonelike,
|
||||||
|
clust_scarcity = 16384,
|
||||||
|
clust_num_ores = 1,
|
||||||
|
clust_size = 1,
|
||||||
|
y_min = mcl_worlds.layer_to_y(4),
|
||||||
|
y_max = mcl_worlds.layer_to_y(32),
|
||||||
|
biomes = { "ExtremeHills", "ExtremeHills_beach", "ExtremeHills_ocean" },
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Rarely replace stone with stone monster eggs.
|
||||||
|
-- In v6 this can happen anywhere, in other mapgens only in Extreme Hills.
|
||||||
|
local monster_egg_scarcity
|
||||||
|
if mg_name == "v6" then
|
||||||
|
monster_egg_scarcity = 28 * 28 * 28
|
||||||
|
else
|
||||||
|
monster_egg_scarcity = 26 * 26 * 26
|
||||||
|
end
|
||||||
|
minetest.register_ore({
|
||||||
|
ore_type = "scatter",
|
||||||
|
ore = "mcl_monster_eggs:monster_egg_stone",
|
||||||
|
wherein = "mcl_core:stone",
|
||||||
|
clust_scarcity = monster_egg_scarcity,
|
||||||
|
clust_num_ores = 3,
|
||||||
|
clust_size = 2,
|
||||||
|
y_min = mcl_vars.mg_overworld_min,
|
||||||
|
y_max = mcl_worlds.layer_to_y(61),
|
||||||
|
biomes = { "ExtremeHills", "ExtremeHills_beach", "ExtremeHills_ocean" },
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Bonus gold spawn in Mesa
|
||||||
|
if mg_name ~= "v6" then
|
||||||
|
minetest.register_ore({
|
||||||
|
ore_type = "scatter",
|
||||||
|
ore = "mcl_core:stone_with_gold",
|
||||||
|
wherein = stonelike,
|
||||||
|
clust_scarcity = 3333,
|
||||||
|
clust_num_ores = 5,
|
||||||
|
clust_size = 3,
|
||||||
|
y_min = mcl_worlds.layer_to_y(32),
|
||||||
|
y_max = mcl_worlds.layer_to_y(79),
|
||||||
|
biomes = { "Mesa", "Mesa_sandlevel", "Mesa_ocean" },
|
||||||
|
})
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Register “fake” ores directly related to the biomes. These are mostly low-level landscape alternations
|
||||||
local function register_biomelike_ores()
|
local function register_biomelike_ores()
|
||||||
|
|
||||||
-- Random coarse dirt floor in Mega Taiga and Mesa Plateau F
|
-- Random coarse dirt floor in Mega Taiga and Mesa Plateau F
|
||||||
|
@ -3150,15 +3203,21 @@ local function register_dimension_decorations()
|
||||||
-- TODO
|
-- TODO
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Detect mapgen to select functions
|
-- Detect mapgen to select functions
|
||||||
--
|
--
|
||||||
if mg_name ~= "singlenode" then
|
if mg_name ~= "singlenode" then
|
||||||
if mg_name ~= "v6" and mg_name ~= "flat" then
|
if mg_name ~= "flat" then
|
||||||
register_biomes()
|
if mg_name ~= "v6" then
|
||||||
register_biomelike_ores()
|
register_biomes()
|
||||||
register_decorations()
|
register_biomelike_ores()
|
||||||
elseif mg_name == "flat" then
|
end
|
||||||
|
register_biome_ores()
|
||||||
|
if mg_name ~= "v6" then
|
||||||
|
register_decorations()
|
||||||
|
end
|
||||||
|
else
|
||||||
-- Implementation of Minecraft's Superflat mapgen, classic style
|
-- Implementation of Minecraft's Superflat mapgen, classic style
|
||||||
minetest.clear_registered_biomes()
|
minetest.clear_registered_biomes()
|
||||||
minetest.clear_registered_decorations()
|
minetest.clear_registered_decorations()
|
||||||
|
|
|
@ -303,21 +303,6 @@ minetest.register_ore({
|
||||||
y_max = mcl_worlds.layer_to_y(33),
|
y_max = mcl_worlds.layer_to_y(33),
|
||||||
})
|
})
|
||||||
|
|
||||||
-- Bonus spawn in Mesa
|
|
||||||
if mg_name ~= "v6" then
|
|
||||||
minetest.register_ore({
|
|
||||||
ore_type = "scatter",
|
|
||||||
ore = "mcl_core:stone_with_gold",
|
|
||||||
wherein = stonelike,
|
|
||||||
clust_scarcity = 3333,
|
|
||||||
clust_num_ores = 5,
|
|
||||||
clust_size = 3,
|
|
||||||
y_min = mcl_worlds.layer_to_y(32),
|
|
||||||
y_max = mcl_worlds.layer_to_y(79),
|
|
||||||
biomes = { "Mesa", "Mesa_sandlevel", "Mesa_ocean" },
|
|
||||||
})
|
|
||||||
end
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Diamond
|
-- Diamond
|
||||||
--
|
--
|
||||||
|
@ -453,20 +438,6 @@ if mg_name == "v6" then
|
||||||
y_min = mcl_worlds.layer_to_y(30),
|
y_min = mcl_worlds.layer_to_y(30),
|
||||||
y_max = mcl_worlds.layer_to_y(32),
|
y_max = mcl_worlds.layer_to_y(32),
|
||||||
})
|
})
|
||||||
else
|
|
||||||
-- Generate in Extreme Hills biome only
|
|
||||||
|
|
||||||
minetest.register_ore({
|
|
||||||
ore_type = "scatter",
|
|
||||||
ore = "mcl_core:stone_with_emerald",
|
|
||||||
wherein = stonelike,
|
|
||||||
clust_scarcity = 16384,
|
|
||||||
clust_num_ores = 1,
|
|
||||||
clust_size = 1,
|
|
||||||
y_min = mcl_worlds.layer_to_y(4),
|
|
||||||
y_max = mcl_worlds.layer_to_y(32),
|
|
||||||
biomes = { "ExtremeHills", "ExtremeHills_beach", "ExtremeHills_ocean" },
|
|
||||||
})
|
|
||||||
end
|
end
|
||||||
|
|
||||||
--
|
--
|
||||||
|
@ -654,25 +625,8 @@ minetest.register_ore({
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Rarely replace stone with stone monster eggs.
|
|
||||||
-- In v6 this can happen anywhere, in other mapgens only in Extreme Hills.
|
|
||||||
local monster_egg_scarcity
|
|
||||||
if mg_name == "v6" then
|
|
||||||
monster_egg_scarcity = 28 * 28 * 28
|
|
||||||
else
|
|
||||||
monster_egg_scarcity = 26 * 26 * 26
|
|
||||||
end
|
|
||||||
minetest.register_ore({
|
|
||||||
ore_type = "scatter",
|
|
||||||
ore = "mcl_monster_eggs:monster_egg_stone",
|
|
||||||
wherein = "mcl_core:stone",
|
|
||||||
clust_scarcity = monster_egg_scarcity,
|
|
||||||
clust_num_ores = 3,
|
|
||||||
clust_size = 2,
|
|
||||||
y_min = mcl_vars.mg_overworld_min,
|
|
||||||
y_max = mcl_worlds.layer_to_y(61),
|
|
||||||
biomes = { "ExtremeHills", "ExtremeHills_beach", "ExtremeHills_ocean" },
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
local function register_mgv6_decorations()
|
local function register_mgv6_decorations()
|
||||||
|
|
Loading…
Reference in New Issue
Block a user