forked from MineClone5/MineClone5
#11 Generate amethyst geodes naturally
This commit is contained in:
parent
6be95762bc
commit
1a78fde1a0
|
@ -2,14 +2,18 @@ local radius_min = 3
|
||||||
local radius_max = mcl_mapgen.HALF_BS
|
local radius_max = mcl_mapgen.HALF_BS
|
||||||
local layers = {
|
local layers = {
|
||||||
{
|
{
|
||||||
[100] = "mcl_core:andesite",
|
[100] = "mcl_blackstone:basalt_polished",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
[100] = "mcl_amethyst:calcite",
|
[100] = "mcl_amethyst:calcite",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
[95] = "mcl_amethyst:amethyst_block",
|
[85] = "mcl_amethyst:amethyst_block",
|
||||||
[5] = "mcl_amethyst:budding_amethyst_block",
|
[15] = "mcl_amethyst:budding_amethyst_block",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
[98] = "mcl_amethyst:amethyst_block",
|
||||||
|
[2] = "mcl_amethyst:budding_amethyst_block",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
[100] = "air",
|
[100] = "air",
|
||||||
|
@ -72,3 +76,16 @@ mcl_structures.register_structure({
|
||||||
name = "amethyst_geode",
|
name = "amethyst_geode",
|
||||||
place_function = place,
|
place_function = place,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
local decrease_scan_area = 1
|
||||||
|
local mapblock_opacity_placement_threshold = 0.9
|
||||||
|
local threshold = math.floor(((mcl_mapgen.BS - 2 * decrease_scan_area)^3) * mapblock_opacity_placement_threshold)
|
||||||
|
mcl_mapgen.register_mapgen_block(function(minp, maxp, blockseed)
|
||||||
|
local y = minp.y
|
||||||
|
if y < 0 then return end
|
||||||
|
local pr = PseudoRandom(blockseed + 143)
|
||||||
|
if pr:next(120) ~= 54 then return end
|
||||||
|
local opacity_counter = #minetest.find_nodes_in_area(vector.add(minp, decrease_scan_area), vector.subtract(maxp, decrease_scan_area), "group:opaque")
|
||||||
|
if opacity_counter < threshold then return end
|
||||||
|
place(minp, nil,pr)
|
||||||
|
end)
|
||||||
|
|
|
@ -19,6 +19,7 @@ minetest.register_node("mcl_amethyst:amethyst_block",{
|
||||||
_doc_items_longdesc = S("The Block of Amethyst is a decoration block creft from amethyst shards."),
|
_doc_items_longdesc = S("The Block of Amethyst is a decoration block creft from amethyst shards."),
|
||||||
})
|
})
|
||||||
|
|
||||||
|
-- Budding Amethyst block
|
||||||
minetest.register_node("mcl_amethyst:budding_amethyst_block",{
|
minetest.register_node("mcl_amethyst:budding_amethyst_block",{
|
||||||
description = S("Budding Amethyst"),
|
description = S("Budding Amethyst"),
|
||||||
tiles = {"budding_amethyst.png"},
|
tiles = {"budding_amethyst.png"},
|
||||||
|
@ -35,7 +36,6 @@ minetest.register_node("mcl_amethyst:budding_amethyst_block",{
|
||||||
stack_max = 64,
|
stack_max = 64,
|
||||||
_doc_items_longdesc = S("The Budding Amethyst can grow amethyst"),
|
_doc_items_longdesc = S("The Budding Amethyst can grow amethyst"),
|
||||||
})
|
})
|
||||||
mcl_wip.register_wip_item("mcl_amethyst:budding_amethyst_block")
|
|
||||||
|
|
||||||
-- Amethyst Shard
|
-- Amethyst Shard
|
||||||
minetest.register_craftitem("mcl_amethyst:amethyst_shard",{
|
minetest.register_craftitem("mcl_amethyst:amethyst_shard",{
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
name = mcl_amethyst
|
name = mcl_amethyst
|
||||||
author = Emojiminetest
|
author = Emojiminetest
|
||||||
description = Amethyst related stuff for MCL5
|
description = Amethyst related stuff for MCL5
|
||||||
depends = mcl_init, mcl_core, mcl_wip, mcl_mapgen, mcl_structures
|
depends = mcl_init, mcl_core, mcl_wip, mcl_mapgen, mcl_structures, mcl_blackstone
|
||||||
optional_depends = mcl_spyglass, mcl_copper
|
optional_depends = mcl_spyglass, mcl_copper
|
||||||
|
|
Loading…
Reference in New Issue