1
0
mirror of git://repo.or.cz/rocks.git synced 2024-09-30 08:10:39 +02:00
rocks/ign.lua

70 lines
2.2 KiB
Lua
Raw Normal View History

--
-- Igneous Layer
--
2015-04-02 20:17:56 +02:00
local ign={
top={
2015-04-02 20:17:56 +02:00
offset = -10, scale = 0,
spread = {x=80, y=80, z=80},
octaves = 0, persist = 0 },
bot={
2015-04-02 20:17:56 +02:00
offset = -180, scale = 10, seed=rocksl.GetNextSeed(),
spread = {x=80, y=80, z=80},
octaves = 2, persist = 0.7 },
primary={ name="rocks:basalt" },
localized={},
2015-04-02 20:17:56 +02:00
stats={ count=0, total=0, node={}, totalnodes=0 },
2015-04-02 21:14:05 +02:00
debugging=nil
}
2015-04-02 20:17:56 +02:00
-- Basalt Ex/Mafic hard same as diorite, byt limit=0.5
minetest.register_node( "rocks:basalt", {
description = S("Basalt"),
tiles = { "rocks_Basalt.png" },
groups = {cracky=3, stone=1},
is_ground_content = true, sounds = default.node_sound_stone_defaults(),
})
2015-04-02 20:17:56 +02:00
-- more rock defs
minetest.register_node( "rocks:granite", {
description = S("Granite"),
tiles = { "rocks_Granite.png" },
is_ground_content = true, sounds = default.node_sound_stone_defaults(),
groups = {cracky=3, stone=1},
})
minetest.register_node( "rocks:diorite", {
description = S("Diorite"),
tiles = { "rocks_Diorite.png" },
groups = {cracky=3, stone=1},
is_ground_content = true, sounds = default.node_sound_stone_defaults(),
})
minetest.register_node( "rocks:gabbro", {
description = S("Gabbro"),
tiles = { "rocks_Gabbro.png" },
groups = {cracky=3, stone=1},
is_ground_content = true, sounds = default.node_sound_stone_defaults(),
})
local reg=function(name,param)
2015-04-02 20:17:56 +02:00
rocksl.register_blob(ign,name,param)
end
rocks.register_igneous=reg
-- rock registration
2015-04-02 20:17:56 +02:00
reg("rocks:granite", { spread=40, height=32, treshold=0.04})
reg("rocks:diorite", { spread=40, height=32, treshold=0.24})
reg("rocks:gabbro", { spread=40, height=32, treshold=0.33})
minetest.register_on_generated(function(minp, maxp, seed)
2015-04-02 20:17:56 +02:00
rocksl.layergen(ign,minp,maxp,seed)
end)
minetest.register_on_shutdown(function()
2015-04-03 15:48:49 +02:00
if (ign.stats.count==0) then rocksl.print("[rocks](ign) stats not available, no chunks generated") return end
rocksl.print("[rocks](ign) generated total "..ign.stats.count.." chunks in "..ign.stats.total.." seconds ("..(ign.stats.total/ign.stats.count).." seconds per "..ign.stats.side.."^3 chunk)")
2015-04-02 20:17:56 +02:00
for name,total in pairs(ign.stats.node) do
2015-04-03 15:48:49 +02:00
rocksl.print("[rocks](ign) "..name..": "..total.." nodes placed ("..(total*100)/(ign.stats.totalnodes).." %)")
end
end)
-- ~ Tomas Brod