Ok, after the help I've recieved from the good people of these forums, and many headaches, I feel I am getting very close(I can
victory, don'tcha know?). But I'm not there yet, and there is no rest for the weary. Here's my updated mineral table:
Code: Select all
-- used blocks
local c_air = minetest.get_content_id("air")
local c_stone = minetest.get_content_id("default:stone")
local c_water = minetest.get_content_id("default:water_source")
local c_lava = minetest.get_content_id("default:lava_source")
local c_dirt = minetest.get_content_id("default:dirt")
local c_cobble = minetest.get_content_id("default:cobble")
local c_cobblestair = minetest.get_content_id("stairs:stair_cobble")
local c_coalblock = minetest.get_content_id("default:coalblock")
local c_dust = minetest.get_content_id("underforge:dust")
local c_coal_dust = minetest.get_content_id("underforge:coal_dust")
-----Mushrooms-----
local c_agaricus_bisporus = minetest.get_content_id("underforge:agaricus_bisporus")
local c_amanita_muscaria = minetest.get_content_id("underforge:amanita_muscaria")
local c_amanita_phalloides = minetest.get_content_id("underforge:amanita_phalloides")
local c_armillaria_mellea = minetest.get_content_id("underforge:armillaria_mellea")
local c_mycena_chlorophos = minetest.get_content_id("underforge:mycena_chlorophos")
local c_mycena_haematopus = minetest.get_content_id("underforge:mycena_haematopus")
local c_mycena_interrupta = minetest.get_content_id("underforge:mycena_interrupta")
local c_mycena_luxaeterna = minetest.get_content_id("underforge:mycena_luxaeterna")
local c_dark_tuber = minetest.get_content_id("underforge:dark_tuber")
-------------------
local c_mossy_dirt = minetest.get_content_id("underforge:mossy_dirt")
local c_torchberries = minetest.get_content_id("underforge:torchberries")
local c_moss = minetest.get_content_id("underforge:moss")
local c_dry_moss = minetest.get_content_id("underforge:dry_moss")
local c_underground_bush = minetest.get_content_id("underforge:underground_bush")
local c_dead_bush = minetest.get_content_id("underforge:dead_bush")
local c_mould = minetest.get_content_id("underforge:mould")
local c_underground_vine = minetest.get_content_id("underforge:underground_vine")
-------------------
local c_lignite = minetest.get_content_id("underforge:lignite")
-------------------
local c_amethyst_ore = minetest.get_content_id("underforge:amethyst_ore")
local c_amethyst_crystal = minetest.get_content_id("underforge:amethyst_crystal")
local c_emerald_ore = minetest.get_content_id("underforge:emerald_ore")
local c_emerald_crystal = minetest.get_content_id("underforge:emerald_crystal")
local c_ruby_ore = minetest.get_content_id("underforge:ruby_ore")
local c_ruby_crystal = minetest.get_content_id("underforge:ruby_crystal")
local c_sapphire_ore = minetest.get_content_id("underforge:saphire_ore")
local c_sapphire_crystal = minetest.get_content_id("underforge:saphire_crystal")
local c_aquamarine_ore = minetest.get_content_id("underforge:aquamarine_ore")
local c_aquamarine_crystal = minetest.get_content_id("underforge:aquamarine_crystal")
local c_quartz_ore = minetest.get_content_id("underforge:quartz_ore")
local c_quartz_crystal = minetest.get_content_id("underforge:quartz_crystal")
local c_topaz_ore = minetest.get_content_id("underforge:topaz_ore")
local c_topaz_crystal = minetest.get_content_id("underforge:topaz_crystal")
local c_onyx_ore = minetest.get_content_id("underforge:onyx_ore")
local c_onyx_crystal = minetest.get_content_id("underforge:onyx_crystal")
local c_fire = minetest.get_content_id("fire:permanent_flame")
local c_fiery_dust = minetest.get_content_id("underforge:fiery_dust")
local c_fiery_vine = minetest.get_content_id("underforge:fiery_vine")
local c_lava_crack = minetest.get_content_id("underforge:lava_crack")
local c_quartz_block = minetest.get_content_id("underforge:quartz_block")
local c_aquamarine_block = minetest.get_content_id("underforge:aquamarine_block")
local c_amethyst_block = minetest.get_content_id("underforge:amethyst_block")
local c_basalt = minetest.get_content_id("underforge:basalt")
local c_obsidian = minetest.get_content_id("default:obsidian")
local c_pumice = minetest.get_content_id("underforge:pumice")
local c_volcanic_tuff = minetest.get_content_id("underforge:volcanic_tuff")
--[[local c_amphibolite = minetest.get_content_id("underforge:amphibolite")
local c_andesite = minetest.get_content_id("underforge:andesite")
local c_basalt = minetest.get_content_id("underforge:basalt")
local c_chalk = minetest.get_content_id("underforge:chalk")
local c_chert = minetest.get_content_id("underforge:chert")
local c_diorite = minetest.get_content_id("underforge:diorite")
local c_dolomite = minetest.get_content_id("underforge:dolomite")
local c_feldspar = minetest.get_content_id("underforge:feldspar")
local c_flint = minetest.get_content_id("underforge:flint")
local c_gabbro = minetest.get_content_id("underforge:gabbro")
local c_gneiss = minetest.get_content_id("underforge:gneiss")
local c_granite = minetest.get_content_id("underforge:granite")
local c_jasper = minetest.get_content_id("underforge:jasper")
local c_kimberlite = minetest.get_content_id("underforge:kimberlite")
local c_limestone = minetest.get_content_id("underforge:limestone")
local c_marble = minetest.get_content_id("underforge:marble")
local c_mica = minetest.get_content_id("underforge:mica")
local c_olivine = minetest.get_content_id("underforge:olivine")
local c_pegmatite = minetest.get_content_id("underforge:pegmatite")
local c_phyllite = minetest.get_content_id("underforge:phyllite")
local c_pumice = minetest.get_content_id("underforge:pumice")
local c_quartzite = minetest.get_content_id("underforge:quartzite")
local c_schist = minetest.get_content_id("underforge:schist")
local c_shale = minetest.get_content_id("underforge:shale")
local c_slate = minetest.get_content_id("underforge:slate")
local c_volcanic_tuff = minetest.get_content_id("underforge:volcanic_tuff")--]]
function underforge.use_stone(vi, data, id)
underforge.functions.replace(vi, data, c_stone, underforge.stone.defs[id].base)
underforge.functions.replace(vi, data, c_cobble, underforge.stone.defs[id].cobble)
underforge.functions.replace(vi, data, c_cobblestair, underforge.stone.defs[id].stair)
end
---------- Biome Definitions ----------
underforge.biomegen = {
--Dolomite
[1] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "dolomite")
end,
--Limestone
[2] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "limestone")
end,
--Schist
[3] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "schist")
end,
--Andesite
[4] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "andesite")
end,
--Phyllite
[5] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "phyllite")
end,
--Quartzite
[6] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "quartzite")
end,
--Mica
[7] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "mica")
end,
--Slate
[8] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "slate")
end,
--Gneiss
[9] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "gneiss")
end,
--Chalk
[10] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "chalk")
end,
--Feldspar
[11] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "feldspar")
end,
--Basalt
[12] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "basalt")
end,
--Diorite
[13] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "diorite")
end,
--Chert
[14] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "chert")
end,
--Granite
[15] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "granite")
end,
--Gabbro
[16] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "gabbro")
end,
--Dolomite Cave
[17] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "dolomite")
underforge.functions.ore(vi, data, underforge.stone.defs["dolomite"].base, c_water, 1/2000)
end,
--Limestone Dust
[18] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "limestone")
underforge.functions.in_floor(x, y, z, vi, area, data, c_stone, c_air, c_dust, 1, underforge.stone.defs["limestone"].base)
end,
--Coal
[19] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "shale")
underforge.functions.in_floor(x, y, z, vi, area, data, c_stone, c_air, c_coal_dust, 1/9, underforge.stone.defs["shale"].base)
--underforge.functions.ore(vi, data, underforge.stone.defs["shale"].base, c_coal_dust, 1/9)
underforge.functions.ore(vi, data, underforge.stone.defs["shale"].base, c_lignite, 1/201)
end,
--Marble
[20] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "marble")
end,
--Fungi
[21] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "amphibolite")
underforge.functions.on_floor(x, y, z, vi, area, data, c_stone, c_air, c_mycena_luxaeterna, 1/18, underforge.stone.defs["amphibolite"].base)
underforge.functions.on_floor(x, y, z, vi, area, data, c_stone, c_air, c_mycena_haematopus, 1/18, underforge.stone.defs["amphibolite"].base)
underforge.functions.on_wall_w(x, y, z, vi, area, data, p2data, c_stone, c_air, c_mould, 1/9, lastlayer, underforge.stone.defs["amphibolite"].base)
underforge.functions.ore(vi, data, underforge.stone.defs["amphibolite"].base, c_water, 1/2000)
end,
--Torchberries
[22] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "jasper")
underforge.functions.on_roof(x, y, z, vi, area, data, c_stone, c_air, c_torchberries, 1/30, lastlayer, underforge.stone.defs["jasper"].base)
underforge.functions.on_floor(x, y, z, vi, area, data, c_stone, c_air, c_agaricus_bisporus, 1/18, underforge.stone.defs["jasper"].base)
underforge.functions.ore(vi, data, underforge.stone.defs["jasper"].base, c_water, 1/2000)
end,
--Tubers
[23] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "pegmatite")
underforge.functions.on_floor(x, y, z, vi, area, data, c_stone, c_air, c_amanita_phalloides, 1/18, underforge.stone.defs["pegmatite"].base)
underforge.functions.on_floor_rr(x, y, z, vi, area, data, p2data, c_stone, c_air, c_dark_tuber, 1/50, underforge.stone.defs["pegmatite"].base)
underforge.functions.ore(vi, data, underforge.stone.defs["pegmatite"].base, c_lignite, 1/201)
underforge.functions.ore(vi, data, underforge.stone.defs["pegmatite"].base, c_water, 1/2000)
end,
--Jasper & Flint
[24] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "jasper")
underforge.functions.ore(vi, data, underforge.stone.defs["flint"].base, 1/50)
end,
--Quartz
[25] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "quartzite")
underforge.functions.ore(vi, data, underforge.stone.defs["quartzite"].base, c_quartz_ore, 1/50)
underforge.functions.on_wall_f(x, y, z, vi, area, data, p2data, c_stone, c_air, c_quartz_crystal, 1/50, lastlayer, underforge.stone.defs["quartzite"].base)
underforge.functions.ore(vi, data, underforge.stone.defs["quartzite"].base, c_water, 1/2000)
end,
--Emerald
[26] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "olivine")
underforge.functions.on_floor(x, y, z, vi, area, data, c_stone, c_air, c_green_mushroom, 1/18, underforge.stone.defs["olivine"].base)
underforge.functions.ore(vi, data, underforge.stone.defs["olivine"].base, c_emerald_ore, 1/201)
underforge.functions.on_wall_f(x, y, z, vi, area, data, p2data, c_stone, c_air, c_emerald_crystal, 1/201, lastlayer, underforge.stone.defs["olivine"].base)
end,
--Moss
[27] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "basalt")
underforge.functions.on_wall_w(x, y, z, vi, area, data, p2data, c_stone, c_air, c_moss, 1/3, lastlayer, underforge.stone.defs["basalt"].base)
underforge.functions.on_wall_w(x, y, z, vi, area, data, p2data, c_dirt, c_air, c_moss, 1/3, lastlayer)
underforge.functions.on_floor(x, y, z, vi, area, data, c_stone, c_air, c_mycena_luxaeterna, 1/18, underforge.stone.defs["basalt"].base)
underforge.functions.ore(vi, data, underforge.stone.defs["basalt"].base, c_water, 1/2000)
end,
--Flint
[28] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "flint")
end,
--Feldspar 2
[29] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "feldspar")
end,
--Mica 2
[30] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "mica")
end,
--Torchberry Jungle
[31] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "granite")
underforge.functions.on_roof(x, y, z, vi, area, data, c_stone, c_air, c_torchberries, 1/30, lastlayer, underforge.stone.defs["granite"].base)
underforge.functions.on_floor(x, y, z, vi, area, data, c_stone, c_air, c_agaricus_bisporus, 1/30, underforge.stone.defs["granite"].base)
underforge.functions.on_floor(x, y, z, vi, area, data, c_stone, c_air, c_amanita_muscaria, 1/30, underforge.stone.defs["granite"].base)
underforge.functions.on_floor(x, y, z, vi, area, data, c_stone, c_air, c_mycena_chlorophos, 1/30, underforge.stone.defs["granite"].base)
underforge.functions.on_floor(x, y, z, vi, area, data, c_stone, c_air, c_mycena_luxaeterna, 1/30, underforge.stone.defs["granite"].base)
underforge.functions.ore(vi, data, underforge.stone.defs["granite"].base, c_mossy_dirt, 1/100)
end,
--Fungus Jungle
[32] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "andesite")
underforge.functions.ore(vi, data, underforge.stone.defs["andesite"].base, c_mossy_dirt, 1/100)
underforge.functions.on_wall_w(x, y, z, vi, area, data, p2data, c_stone, c_air, c_mould, 1/9, lastlayer, underforge.stone.defs["andesite"].base)
underforge.functions.on_wall_w(x, y, z, vi, area, data, p2data, c_stone, c_air, c_underground_vine, 1/15, lastlayer, underforge.stone.defs["andesite"].base)
underforge.functions.on_floor(x, y, z, vi, area, data, c_stone, c_air, c_agaricus_bisporus, 1/30, underforge.stone.defs["andesite"].base)
underforge.functions.on_floor(x, y, z, vi, area, data, c_stone, c_air, c_amanita_muscaria, 1/30, underforge.stone.defs["andesite"].base)
underforge.functions.on_floor(x, y, z, vi, area, data, c_stone, c_air, c_mycena_chlorophos, 1/30, underforge.stone.defs["andesite"].base)
underforge.functions.on_floor(x, y, z, vi, area, data, c_stone, c_air, c_mycena_luxaeterna, 1/30, underforge.stone.defs["andesite"].base)
underforge.functions.ore(vi, data, underforge.stone.defs["andesite"].base, c_water, 1/2000)
end,
--Lava Springs
[33] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "marble")
underforge.functions.ore(vi, data, underforge.stone.defs["marble"].base, c_lava, 1/2000)
end,
--Fungus Jungle 2
[32] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "olivine")
underforge.functions.ore(vi, data, underforge.stone.defs["olivine"].base, c_mossy_dirt, 1/100)
underforge.functions.on_wall_w(x, y, z, vi, area, data, p2data, c_stone, c_air, c_mould, 1/9, lastlayer, underforge.stone.defs["olivine"].base)
underforge.functions.on_wall_w(x, y, z, vi, area, data, p2data, c_stone, c_air, c_moss, 1/9, lastlayer, underforge.stone.defs["olivine"].base)
underforge.functions.on_wall_w(x, y, z, vi, area, data, p2data, c_stone, c_air, c_underground_vine, 1/15, lastlayer, underforge.stone.defs["olivine"].base)
underforge.functions.on_floor(x, y, z, vi, area, data, c_stone, c_air, c_agaricus_bisporus, 1/30, underforge.stone.defs["olivine"].base)
underforge.functions.on_floor(x, y, z, vi, area, data, c_stone, c_air, c_amanita_muscaria, 1/30, underforge.stone.defs["olivine"].base)
underforge.functions.on_floor(x, y, z, vi, area, data, c_stone, c_air, c_amanita_phalloides, 1/30, underforge.stone.defs["olivine"].base)
underforge.functions.on_floor(x, y, z, vi, area, data, c_stone, c_air, c_armillaria_mellea, 1/30, underforge.stone.defs["olivine"].base)
underforge.functions.on_floor(x, y, z, vi, area, data, c_stone, c_air, c_mycena_chlorophos, 1/30, underforge.stone.defs["olivine"].base)
underforge.functions.on_floor(x, y, z, vi, area, data, c_stone, c_air, c_mycena_haematopus, 1/30, underforge.stone.defs["olivine"].base)
underforge.functions.on_floor(x, y, z, vi, area, data, c_stone, c_air, c_mycena_interrupta, 1/30, underforge.stone.defs["olivine"].base)
underforge.functions.on_floor(x, y, z, vi, area, data, c_stone, c_air, c_mycena_luxaeterna, 1/30, underforge.stone.defs["olivine"].base)
underforge.functions.ore(vi, data, underforge.stone.defs["olivine"].base, c_water, 1/2000)
end,
--Gneiss 2
[35] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "gneiss")
end,
--Coal 2
[36] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "shale")
underforge.functions.in_floor(x, y, z, vi, area, data, c_stone, c_air, c_coal_dust, 1/9, underforge.stone.defs["shale"].base)
--underforge.functions.ore(vi, data, underforge.stone.defs["shale"].base, c_coal_dust, 1/9)
underforge.functions.ore(vi, data, underforge.stone.defs["shale"].base, c_lignite, 1/201)
end,
--Fungi 2
[37] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "phyllite")
underforge.functions.on_floor(x, y, z, vi, area, data, c_stone, c_air, c_mycena_haematopus, 1/40, underforge.stone.defs["phyllite"].base)
underforge.functions.on_floor(x, y, z, vi, area, data, c_stone, c_air, c_amanita_muscaria, 1/40, underforge.stone.defs["phyllite"].base)
underforge.functions.on_floor(x, y, z, vi, area, data, c_stone, c_air, c_armillaria_mellea, 1/20, underforge.stone.defs["phyllite"].base)
underforge.functions.on_floor(x, y, z, vi, area, data, c_stone, c_air, c_mycena_chlorophos, 1/20, underforge.stone.defs["phyllite"].base)
underforge.functions.on_wall_w(x, y, z, vi, area, data, p2data, c_stone, c_air, c_mould, 1/9, lastlayer, underforge.stone.defs["phyllite"].base)
underforge.functions.ore(vi, data, underforge.stone.defs["phyllite"].base, c_water, 1/2000)
end,
--Volcanic
[38] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "volcanic_tuff")
underforge.functions.in_floor(x, y, z, vi, area, data, c_stone, c_air, c_obsidian, 1/50, underforge.stone.defs["volcanic_tuff"].base)
underforge.functions.ore(vi, data, underforge.stone.defs["pumice"].base, c_fiery_dust, 1/13)
underforge.functions.on_floor(x, y, z, vi, area, data, c_stone, c_air, c_amanita_phalloides, 1/18, underforge.stone.defs["volcanic_tuff"].base)
end,
--Quartz 2
[25] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "quartzite")
underforge.functions.ore(vi, data, underforge.stone.defs["quartzite"].base, c_quartz_ore, 1/50)
underforge.functions.on_wall_f(x, y, z, vi, area, data, p2data, c_stone, c_air, c_quartz_crystal, 1/50, lastlayer, underforge.stone.defs["quartzite"].base)
underforge.functions.ore(vi, data, underforge.stone.defs["quartzite"].base, c_water, 1/2000)
end,
--Schist 2
[40] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "schist")
end,
--Amethyst & Sapphire
[41] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "gabbro")
underforge.functions.on_floor(x, y, z, vi, area, data, c_stone, c_air, c_mycena_interrupta, 1/18, underforge.stone.defs["gabbro"].base)
underforge.functions.ore(vi, data, underforge.stone.defs["gabbro"].base, c_sapphire_ore, 1/201)
underforge.functions.ore(vi, data, underforge.stone.defs["gabbro"].base, c_amethyst_ore, 1/201)
underforge.functions.on_wall_f(x, y, z, vi, area, data, p2data, c_stone, c_air, c_sapphire_crystal, 1/201, lastlayer, underforge.stone.defs["gabbro"].base)
underforge.functions.on_wall_f(x, y, z, vi, area, data, p2data, c_stone, c_air, c_amethyst_crystal, 1/201, lastlayer, underforge.stone.defs["gabbro"].base)
underforge.functions.on_wall_w(x, y, z, vi, area, data, p2data, c_stone, c_air, c_underground_vine, 1/15, lastlayer, underforge.stone.defs["gabbro"].base)
underforge.functions.ore(vi, data, underforge.stone.defs["gabbro"].base, c_water, 1/2000)
end,
--Ruby Caves
[42] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "jasper")
underforge.functions.on_floor(x, y, z, vi, area, data, c_stone, c_air, c_amanita_muscaria, 1/18, underforge.stone.defs["jasper"].base)
underforge.functions.ore(vi, data, underforge.stone.defs["jasper"].base, c_ruby_ore, 1/201)
underforge.functions.in_floor(x, y, z, vi, area, data, c_air, c_stone, c_ruby_dust, 1/450, underforge.stone.defs["jasper"].base)
underforge.functions.on_wall_f(x, y, z, vi, area, data, p2data, c_stone, c_air, c_ruby_crystal, 1/201, lastlayer, underforge.stone.defs["jasper"].base)
underforge.functions.ore(vi, data, underforge.stone.defs["jasper"].base, c_water, 1/2000)
end,
--Phyllite 2
[43] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "phyllite")
end,
--Chert 2
[44] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "chert")
end,
--Quartz 3
[45] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "quartzite")
underforge.functions.ore(vi, data, underforge.stone.defs["quartzite"].base, c_quartz_ore, 1/50)
underforge.functions.on_wall_f(x, y, z, vi, area, data, p2data, c_stone, c_air, c_quartz_crystal, 1/50, lastlayer, underforge.stone.defs["quartzite"].base)
underforge.functions.ore(vi, data, underforge.stone.defs["quartzite"].base, c_water, 1/2000)
end,
--Aquamarine & Amethyst
[46] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "diorite")
underforge.functions.ore(vi, data, underforge.stone.defs["diorite"].base, c_aquamarine_ore, 1/50)
underforge.functions.on_wall_f(x, y, z, vi, area, data, p2data, c_stone, c_air, c_aquamarine_crystal, 1/50, lastlayer, underforge.stone.defs["diorite"].base)
underforge.functions.ore(vi, data, underforge.stone.defs["diorite"].base, c_amethyst_ore, 1/50)
underforge.functions.on_wall_f(x, y, z, vi, area, data, p2data, c_stone, c_air, c_amethyst_crystal, 1/50, lastlayer, underforge.stone.defs["diorite"].base)
underforge.functions.ore(vi, data, underforge.stone.defs["diorite"].base, c_water, 1/2000)
end,
--Pegmatite 2
[47] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "pegmatite")
end,
--Lava Jungle
[48] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "gabbro")
underforge.functions.ore(vi, data, underforge.stone.defs["gabbro"].base, c_mossy_dirt, 1/100)
underforge.functions.on_floor(x, y, z, vi, area, data, c_stone, c_air, c_amanita_muscaria, 1/18, underforge.stone.defs["gabbro"].base)
underforge.functions.on_floor(x, y, z, vi, area, data, c_stone, c_air, c_armillaria_mellea, 1/18, underforge.stone.defs["gabbro"].base)
underforge.functions.on_wall_w(x, y, z, vi, area, data, p2data, c_stone, c_air, c_underground_vine, 1/15, lastlayer, underforge.stone.defs["gabbro"].base)
underforge.functions.ore(vi, data, underforge.stone.defs["gabbro"].base, c_lava, 1/5000)
end,
--Slate 2
[49] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "slate")
end,
--Diamonds
[50] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "kimberlite")
underforge.functions.ore(vi, data, underforge.stone.defs["kimberlite"].base, c_diamond_ore, 1/18)
underforge.functions.ore(vi, data, c_diamond_ore, c_diamond_block, 1/72)
underforge.functions.ore(vi, data, underforge.stone.defs["kimberlite"].base, c_lava, 1/1000)
end,
--Lava Jungle 2
[51] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "mica")
underforge.functions.ore(vi, data, underforge.stone.defs["mica"].base, c_mossy_dirt, 1/100)
underforge.functions.on_floor(x, y, z, vi, area, data, c_stone, c_air, c_amanita_muscaria, 1/18, underforge.stone.defs["mica"].base)
underforge.functions.on_floor(x, y, z, vi, area, data, c_stone, c_air, c_armillaria_mellea, 1/18, underforge.stone.defs["mica"].base)
underforge.functions.on_wall_w(x, y, z, vi, area, data, p2data, c_stone, c_air, c_underground_vine, 1/15, lastlayer, underforge.stone.defs["mica"].base)
underforge.functions.ore(vi, data, underforge.stone.defs["mica"].base, c_lava, 1/5000)
end,
--Copper
[52] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "gneiss")
underforge.functions.ore(vi, data, underforge.stone.defs["gneiss"].base, c_copper_ore, 1/201)
underforge.functions.ore(vi, data, underforge.stone.defs["gneiss"].base, c_lava, 1/1000)
end,
--Hot Slate
[53] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "slate")
underforge.functions.ore(vi, data, c_obsidian, c_lava, 1/1000)
end,
--Chalk 2
[54] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "chalk")
end,
--Wet Mica
[55] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "mica")
underforge.functions.replace(vi, data, c_air, c_water)
end,
--Emerald 2
[56] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "mica")
underforge.functions.on_floor(x, y, z, vi, area, data, c_stone, c_air, c_mycena_chlorophos, 1/18, underforge.stone.defs["mica"].base)
underforge.functions.ore(vi, data, underforge.stone.defs["mica"].base, c_emerald_ore, 1/201)
underforge.functions.on_wall_f(x, y, z, vi, area, data, p2data, c_stone, c_air, c_emerald_crystal, 1/201, lastlayer, underforge.stone.defs["mica"].base)
end,
--Diamonds
[57] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "kimberlite")
underforge.functions.ore(vi, data, underforge.stone.defs["kimberlite"].base, c_diamond_ore, 1/18)
underforge.functions.ore(vi, data, c_diamond_ore, c_diamond_block, 1/72)
underforge.functions.ore(vi, data, underforge.stone.defs["kimberlite"].base, c_lava, 1/1000)
end,
--Crystal Caves
[58] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "amphibolite")
underforge.functions.on_floor(x, y, z, vi, area, data, c_stone, c_air, c_mycena_luxaeterna, 1/30, underforge.stone.defs["amphibolite"].base)
underforge.functions.ore(vi, data, underforge.stone.defs["amphibolite"].base, c_sapphire_ore, 1/201)
underforge.functions.ore(vi, data, underforge.stone.defs["amphibolite"].base, c_amethyst_ore, 1/201)
underforge.functions.ore(vi, data, underforge.stone.defs["amphibolite"].base, c_quartz_ore_ore, 1/201)
underforge.functions.ore(vi, data, underforge.stone.defs["amphibolite"].base, c_emerald_ore_ore, 1/201)
underforge.functions.ore(vi, data, underforge.stone.defs["amphibolite"].base, c_ruby_ore, 1/201)
underforge.functions.on_wall_f(x, y, z, vi, area, data, p2data, c_stone, c_air, c_sapphire_crystal, 1/201, lastlayer, underforge.stone.defs["gabbro"].base)
underforge.functions.on_wall_f(x, y, z, vi, area, data, p2data, c_stone, c_air, c_amethyst_crystal, 1/201, lastlayer, underforge.stone.defs["gabbro"].base)
underforge.functions.on_wall_f(x, y, z, vi, area, data, p2data, c_stone, c_air, c_quartz_crystal_crystal, 1/201, lastlayer, underforge.stone.defs["gabbro"].base)
underforge.functions.on_wall_f(x, y, z, vi, area, data, p2data, c_stone, c_air, c_emerald_crystal, 1/201, lastlayer, underforge.stone.defs["gabbro"].base)
underforge.functions.on_wall_f(x, y, z, vi, area, data, p2data, c_stone, c_air, c_ruby_crystal, 1/201, lastlayer, underforge.stone.defs["gabbro"].base)
underforge.functions.on_wall_w(x, y, z, vi, area, data, p2data, c_stone, c_air, c_underground_vine, 1/15, lastlayer, underforge.stone.defs["gabbro"].base)
underforge.functions.ore(vi, data, underforge.stone.defs["amphibolite"].base, c_water, 1/2000)
end,
--Volcanic Granite
[59] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "granite")
underforge.functions.ore(vi, data, underforge.stone.defs["granite"].base, c_obsidian, 1/200)
underforge.functions.ore(vi, data, underforge.stone.defs["pumice"].base, c_lava, 1/300)
end,
--Lava
[60] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "pumice")
underforge.functions.replace(vi, data, c_air, c_lava)
end,
--Volcanic Basalt
[61] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.use_stone(vi, data, "basalt")
underforge.functions.ore(vi, data, underforge.stone.defs["basalt"].base, c_obsidian, 1/200)
underforge.functions.ore(vi, data, underforge.stone.defs["pumice"].base, c_lava, 1/300)
end,
--Volcanic Tuff
[62] = function(x, y, z, vi, data, p2data, area, lastlayer)
underforge.functions.replace(vi, data, c_stone, c_volcanic_tuff)
underforge.functions.replace(vi, data, c_cobble, c_volcanic_tuff)
underforge.functions.ore(vi, data, underforge.stone.defs["volcanic_tuff"].base, c_obsidian, 1/100)
underforge.functions.ore(vi, data, underforge.stone.defs["pumice"].base, c_lava, 1/300)
underforge.functions.replace(vi, data, c_air, c_lava)
underforge.use_stone(vi, data, "volcanic_tuff")
end,
}
local np_darkness = {
offset = 0,
scale = 1,
spread = {x=200, y=200, z=200},
seed = 6830,
octaves = 3,
persist = 0.5
}
local np_water = {
offset = 0,
scale = 1,
spread = {x=200, y=200, z=200},
seed = 6831,
octaves = 3,
persist = 0.5
}
local np_pressure = {
offset = 0,
scale = 1,
spread = {x=200, y=200, z=200},
seed = 6832,
octaves = 3,
persist = 0.5
}
minetest.register_on_generated(function(minp, maxp, seed)
--easy reference to commonly used values
--local t1 = os.clock()
local x1 = maxp.x
local y1 = maxp.y
local z1 = maxp.z
local x0 = minp.x
local y0 = minp.y
local z0 = minp.z
local vm, emin, emax = minetest.get_mapgen_object("voxelmanip")
local area = VoxelArea:new{MinEdge=emin, MaxEdge=emax}
local data = vm:get_data()
local p2data = vm:get_param2_data()
--mandatory values
local sidelen = x1 - x0 + 1 --length of a mapblock
local chulens = {x=sidelen, y=sidelen, z=sidelen} --table of chunk edges
local chulens2D = {x=sidelen, y=sidelen, z=1}
local minposxyz = {x=x0, y=y0, z=z0} --bottom corner
local minposxz = {x=x0, y=z0} --2D bottom corner
local nvals_darkness = minetest.get_perlin_map(np_darkness, chulens):get3dMap_flat(minposxyz)
local nvals_water = minetest.get_perlin_map(np_water, chulens):get3dMap_flat(minposxyz)
local nvals_pressure = minetest.get_perlin_map(np_pressure, chulens):get3dMap_flat(minposxyz)
local nixyz = 1 --3D node index
local nixz = 1 --2D node index
local nixyz2 = 1 --second 3D index for second loop
for z = z0, z1 do -- for each xy plane progressing northwards
--increment indices
nixyz = nixyz + 1
for y = y0, y1 do -- for each x row progressing upwards
local vi = area:index(x0, y, z)
for x = x0, x1 do -- for each node do
local darkness = nvals_darkness[nixyz2]
local water = nvals_water[nixyz2]
local pressure = underforge.functions.get_pressure(y, nvals_pressure[nixyz2])
--[[if y > -100 then -- limit the biome variety near surface
darkness = -0.01*y*darkness - 1 - 0.01*y
water = -0.01*y*water - 1 - 0.01*y
end--]]
local biome = underforge.functions.get_biome(darkness, water, pressure) + 1
if (biome < 1) or (biome > 62) then
print(string.format("Wrong biome %i", biome))
biome = 1
end
underforge.biomegen[biome](x, y, z, vi, data, p2data, area, y == y1)
nixyz2 = nixyz2 + 1
nixz = nixz + 1
vi = vi + 1
end
nixz = nixz - sidelen --shift the 2D index back
end
nixz = nixz + sidelen --shift the 2D index up a layer
end
--send data back to voxelmanip
vm:set_data(data)
vm:set_param2_data(p2data)
--calc lighting
vm:set_lighting({day=0, night=0})
vm:calc_lighting()
--write it to world
vm:write_to_map(data)
--local chugent = math.ceil((os.clock() - t1) * 1000) --grab how long it took
--print ("[caverealms] "..chugent.." ms") --tell people how long
end)
I think that its telling me that I seriously screwed or mislabeled something, because the nodes arent being registered with minetest. Did I goof when I changed it from 'local register_node' to minetest.register_node? (changing it back to local register_node gives a syntax error)