680 lines
18 KiB
Lua
680 lines
18 KiB
Lua
-- externgen for generate some mapgenstuff extern 2015 by Glünggi wtfpl
|
|
|
|
|
|
externgen = {}
|
|
|
|
-- seeground
|
|
minetest.register_ore({
|
|
ore_type = "blob",
|
|
ore = "default:seeground",
|
|
wherein = {"default:sand", "default:gravel"},
|
|
clust_scarcity = 10*10*10,
|
|
clust_size = 7,
|
|
y_min = -100,
|
|
y_max = -8,
|
|
noise_threshold = 0,
|
|
noise_params = {
|
|
offset=0.35,
|
|
scale=0.2,
|
|
spread={x=15, y=5, z=15},
|
|
seed=-163,
|
|
octaves=1,
|
|
persist=0.5
|
|
},
|
|
})
|
|
|
|
|
|
-- coal desert_stone
|
|
minetest.register_ore({
|
|
ore_type = "scatter",
|
|
ore = "default:desert_stone_with_coal",
|
|
wherein = "default:desert_stone",
|
|
clust_scarcity = 8*8*8,
|
|
clust_num_ores = 2,
|
|
clust_size = 3,
|
|
y_min = -100,
|
|
y_max = 31000,
|
|
})
|
|
|
|
-- iron desert_stone
|
|
minetest.register_ore({
|
|
ore_type = "scatter",
|
|
ore = "default:desert_stone_with_iron",
|
|
wherein = "default:desert_stone",
|
|
clust_scarcity = 15*15*15,
|
|
clust_num_ores = 2,
|
|
clust_size = 2,
|
|
y_min = -100,
|
|
y_max = -1,
|
|
})
|
|
|
|
--- gems
|
|
minetest.register_ore({
|
|
ore_type = "scatter",
|
|
ore = "default:granite_with_ruby",
|
|
wherein = "default:granite",
|
|
clust_scarcity = 12*12*12,
|
|
clust_num_ores = 2,
|
|
clust_size = 3,
|
|
y_min = -30000,
|
|
y_max = -1,
|
|
})
|
|
|
|
minetest.register_ore({
|
|
ore_type = "scatter",
|
|
ore = "default:granite_with_amethyst",
|
|
wherein = "default:granite",
|
|
clust_scarcity = 12*12*12,
|
|
clust_num_ores = 2,
|
|
clust_size = 3,
|
|
y_min = -30000,
|
|
y_max = -1,
|
|
})
|
|
|
|
minetest.register_ore({
|
|
ore_type = "scatter",
|
|
ore = "default:granite_with_topaz",
|
|
wherein = "default:granite",
|
|
clust_scarcity = 12*12*12,
|
|
clust_num_ores = 2,
|
|
clust_size = 3,
|
|
y_min = -30000,
|
|
y_max = -1,
|
|
})
|
|
|
|
minetest.register_ore({
|
|
ore_type = "scatter",
|
|
ore = "default:granite_with_emerald",
|
|
wherein = "default:granite",
|
|
clust_scarcity = 12*12*12,
|
|
clust_num_ores = 2,
|
|
clust_size = 3,
|
|
y_min = -30000,
|
|
y_max = -1,
|
|
})
|
|
|
|
minetest.register_ore({
|
|
ore_type = "scatter",
|
|
ore = "default:granite_with_sapphire",
|
|
wherein = "default:granite",
|
|
clust_scarcity = 12*12*12,
|
|
clust_num_ores = 2,
|
|
clust_size = 3,
|
|
y_min = -30000,
|
|
y_max = -1,
|
|
})
|
|
--- Stonesalt
|
|
|
|
minetest.register_ore({
|
|
ore_type = "scatter",
|
|
ore = "default:desert_stone_with_salt",
|
|
wherein = "default:desert_stone",
|
|
clust_scarcity = 8*8*8,
|
|
clust_num_ores = 2,
|
|
clust_size = 3,
|
|
y_min = -100,
|
|
y_max = 31000,
|
|
})
|
|
|
|
minetest.register_ore({
|
|
ore_type = "scatter",
|
|
ore = "default:stone_with_salt",
|
|
wherein = "default:stone",
|
|
clust_scarcity = 8*8*8,
|
|
clust_num_ores = 2,
|
|
clust_size = 3,
|
|
y_min = -256,
|
|
y_max = 31000,
|
|
})
|
|
-- randomizers
|
|
minetest.register_ore({
|
|
ore_type = "scatter",
|
|
ore = "default:block_randomizer",
|
|
wherein = "default:granite",
|
|
clust_scarcity = 8*8*8,
|
|
clust_num_ores = 1,
|
|
clust_size = 3,
|
|
y_min = -56,
|
|
y_max = 31000,
|
|
})
|
|
|
|
minetest.register_ore({
|
|
ore_type = "scatter",
|
|
ore = "default:vase_randomizer",
|
|
wherein = {"default:stone", "default:desert_stone"},
|
|
clust_scarcity = 24*24*24,
|
|
clust_num_ores = 1,
|
|
clust_size = 3,
|
|
y_min = -30000,
|
|
y_max = 31000,
|
|
})
|
|
|
|
-- more gravel
|
|
minetest.register_ore({
|
|
ore_type = "blob",
|
|
ore = "default:gravel",
|
|
wherein = {"default:stone"},
|
|
clust_scarcity = 24*24*24,
|
|
clust_size = 18,
|
|
y_min = -30000,
|
|
y_max = 10,
|
|
noise_threshold = 0,
|
|
noise_params = {
|
|
offset=0.35,
|
|
scale=0.2,
|
|
spread={x=5, y=5, z=5},
|
|
seed=324,
|
|
octaves=1,
|
|
persist=0.5
|
|
},
|
|
})
|
|
|
|
minetest.register_ore({
|
|
ore_type = "blob",
|
|
ore = "default:desert_gravel",
|
|
wherein = {"default:desert_stone"},
|
|
clust_scarcity = 24*24*24,
|
|
clust_size = 18,
|
|
y_min = -30000,
|
|
y_max = 10,
|
|
noise_threshold = 0,
|
|
noise_params = {
|
|
offset=0.35,
|
|
scale=0.2,
|
|
spread={x=5, y=5, z=5},
|
|
seed=324,
|
|
octaves=1,
|
|
persist=0.5
|
|
},
|
|
})
|
|
|
|
-- bushes for grasland:
|
|
minetest.register_decoration({
|
|
deco_type = "simple",
|
|
place_on = "default:dirt_with_grass",
|
|
sidelen = 16, -- was 16
|
|
fill_ratio = 0.008,
|
|
biomes = {"default:grassland"},
|
|
decoration = {"simple_bushes:white", "simple_bushes:yellow",},
|
|
spawn_by = {"default:flowers_budder", "default:flowers_marg"},
|
|
num_spawn_by = 1,
|
|
})
|
|
|
|
|
|
--groundleaves for jungle
|
|
minetest.register_node("externgen:scrub", {
|
|
description = "Scrub",
|
|
drawtype = "allfaces_optional",
|
|
visual_scale = 1.3,
|
|
tiles = {"default_scrub.png"},
|
|
paramtype = "light",
|
|
is_ground_content = false,
|
|
sunlight_propagates = true,
|
|
groups = {snappy=3, flammable=2, leaves=1},
|
|
drop = {
|
|
max_items = 1,
|
|
items = {
|
|
{
|
|
items = {'default:stick'},
|
|
rarity = 20,
|
|
},
|
|
{
|
|
items = {''},
|
|
}
|
|
}
|
|
},
|
|
sounds = default.node_sound_leaves_defaults(),
|
|
})
|
|
|
|
minetest.register_decoration({
|
|
deco_type = "simple",
|
|
place_on = "default:dirt_jungle_with_grass",
|
|
sidelen = 16, -- was 16
|
|
fill_ratio = 0.9,
|
|
biomes = {"default:jungle"},
|
|
decoration = {"externgen:scrub"},
|
|
spawn_by = {"default:tree_jungle", "default:dirt_jungle_with_grass"},
|
|
num_spawn_by = 1,
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
---Sealife (original by TenPlus1)
|
|
---
|
|
-- Randomly generate Coral or Seaweed and have Seaweed grow up to 10 high
|
|
minetest.register_abm({
|
|
nodenames = {"default:seeground"},
|
|
neighbors = {"group:water"},
|
|
interval = 75,
|
|
chance = 25,
|
|
|
|
action = function(pos, node)
|
|
|
|
local sel = math.random(1,5)
|
|
if sel == 1 and minetest.get_node(pos).name == "default:seaweed" then
|
|
|
|
local height = 0
|
|
|
|
while minetest.get_node(pos).name == "default:seaweed"
|
|
or minetest.get_node(pos).name == "default:seeground"
|
|
and height < 14 do
|
|
height = height + 1
|
|
pos.y = pos.y + 1
|
|
end
|
|
|
|
if height < 14 and pos.y < 0 then
|
|
if minetest.get_node(pos).name == "default:water_source" then
|
|
minetest.set_node(pos, {name="default:seaweed"})
|
|
-- print ("GOING UP")
|
|
end
|
|
end
|
|
|
|
else
|
|
|
|
pos.y = pos.y + 1
|
|
|
|
if minetest.get_node(pos).name == "default:water_source" then
|
|
local pos0 = {x=pos.x-5,y=pos.y-5,z=pos.z-5}
|
|
local pos1 = {x=pos.x+5,y=pos.y+5,z=pos.z+5}
|
|
if #minetest.find_nodes_in_area(pos0, pos1, "group:sealife") > 3 then
|
|
return
|
|
end
|
|
if sel == 1 then
|
|
minetest.set_node(pos, {name="default:seaweed"})
|
|
else
|
|
minetest.set_node(pos, {name="default:coral"..sel})
|
|
end
|
|
-- print ("CORAL ", sel)
|
|
end
|
|
|
|
end
|
|
end,
|
|
})
|
|
|
|
-- generate Cavestuff
|
|
|
|
local path = minetest.get_modpath("externgen").."/schematics/"
|
|
|
|
|
|
minetest.register_on_generated(function(minp, maxp, seed)
|
|
|
|
local coal_nodes = minetest.find_nodes_in_area(minp, maxp, "default:stone_with_copper")
|
|
|
|
for key, pos in pairs(coal_nodes) do
|
|
|
|
local bpos = { x=pos.x, y=pos.y + 1, z=pos.z }
|
|
local bpos2 = { x=pos.x, y=pos.y + 2, z=pos.z }
|
|
if minetest.get_node(bpos).name == "air" and minetest.get_node(bpos2).name == "air" and pos.y <= -150 then
|
|
local pla = math.random(1,8)
|
|
if pla >= 7 then
|
|
return
|
|
end
|
|
local bpos = { x=pos.x - 1, y=pos.y + 1, z=pos.z - 1 }
|
|
minetest.place_schematic(bpos, path.."lavaspot.mts", 0, '', 0)
|
|
|
|
|
|
end
|
|
end
|
|
end)
|
|
|
|
minetest.register_on_generated(function(minp, maxp, seed)
|
|
local coal_nodes = minetest.find_nodes_in_area(minp, maxp, "default:stone_with_diamond")
|
|
|
|
for key, pos in pairs(coal_nodes) do
|
|
|
|
local bpos = { x=pos.x, y=pos.y + 1, z=pos.z }
|
|
local bpos2 = { x=pos.x, y=pos.y + 2, z=pos.z }
|
|
|
|
if minetest.get_node(bpos).name == "air" and minetest.get_node(bpos2).name == "air" and pos.y <= -300 then
|
|
|
|
local pla = math.random(1,8)
|
|
if pla >= 2 then
|
|
return
|
|
end
|
|
minetest.place_schematic(bpos, path.."occulus.mts", 0, '', 0)
|
|
|
|
|
|
end
|
|
end
|
|
end)
|
|
|
|
-- Dungeon
|
|
-- Vasenode
|
|
|
|
minetest.register_node("externgen:vase_level1", {
|
|
description = "Vase",
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
tiles = {"externgen_vase_level1.png", "externgen_vase_level1.png", "externgen_vase_level1side.png"},
|
|
sunlight_propagates = true,
|
|
walkable = true,
|
|
groups = {fleshy=3,dig_immediate=3,oddly_breakable_by_hand=3},
|
|
drop = {
|
|
items = {
|
|
{items = {"default:torch"}, rarity = 1},
|
|
{items = {"default:steel_ingot"}, rarity = 4},
|
|
{items = {"default:hardened_leather"}, rarity = 2},
|
|
{items = {"default:sword_steel"}, rarity = 17},
|
|
}
|
|
},
|
|
selection_box = {
|
|
type = "fixed",
|
|
fixed = {-0.25, -0.5, -0.25, 0.25, 0.5, 0.25}
|
|
},
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.0625, 0.1875, -0.0625, 0.0625, 0.5, 0.0625},
|
|
{-0.125, 0.375, -0.125, 0.125, 0.5, 0.125},
|
|
{-0.125, -0.5, -0.125, 0.125, 0.3125, 0.125},
|
|
{-0.1875, -0.375, -0.1875, 0.1875, 0.1875, 0.1875},
|
|
{-0.25, -0.25, -0.25, 0.25, 0.0625, 0.25},
|
|
}
|
|
},
|
|
sounds = default.node_sound_glass_defaults(),
|
|
})
|
|
|
|
minetest.register_node("externgen:vase_level2", {
|
|
description = "Vase",
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
tiles = {"externgen_vase_level2.png", "externgen_vase_level2.png", "externgen_vase_level2side.png"},
|
|
sunlight_propagates = true,
|
|
walkable = true,
|
|
groups = {fleshy=3,dig_immediate=3,oddly_breakable_by_hand=3},
|
|
drop = {
|
|
items = {
|
|
{items = {"default:torch"}, rarity = 1},
|
|
{items = {"default:steel_ingot"}, rarity = 2},
|
|
{items = {"default:hardened_leather"}, rarity = 1},
|
|
{items = {"default:bronze_ingot"}, rarity = 5},
|
|
{items = {"default:sword_diamond"}, rarity = 88},
|
|
}
|
|
},
|
|
selection_box = {
|
|
type = "fixed",
|
|
fixed = {-0.25, -0.5, -0.25, 0.25, 0.5, 0.25}
|
|
},
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.0625, 0.1875, -0.0625, 0.0625, 0.5, 0.0625},
|
|
{-0.125, 0.375, -0.125, 0.125, 0.5, 0.125},
|
|
{-0.125, -0.5, -0.125, 0.125, 0.3125, 0.125},
|
|
{-0.1875, -0.375, -0.1875, 0.1875, 0.1875, 0.1875},
|
|
{-0.25, -0.25, -0.25, 0.25, 0.0625, 0.25},
|
|
}
|
|
},
|
|
sounds = default.node_sound_glass_defaults(),
|
|
})
|
|
|
|
minetest.register_node("externgen:vase_level3", {
|
|
description = "Vase",
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
tiles = {"externgen_vase_level3.png", "externgen_vase_level3.png", "externgen_vase_level3side.png"},
|
|
sunlight_propagates = true,
|
|
walkable = true,
|
|
groups = {fleshy=3,dig_immediate=3,oddly_breakable_by_hand=3},
|
|
drop = {
|
|
items = {
|
|
{items = {"default:bronze_ingot"}, rarity = 1},
|
|
{items = {"default:gold_lump"}, rarity = 3},
|
|
{items = {"default:mese_crystal_fragment"}, rarity = 4},
|
|
{items = {"default:mese_crystal_fragment"}, rarity = 5},
|
|
{items = {"default:mese_crystal_fragment"}, rarity = 6},
|
|
{items = {"default:sword_diamond"}, rarity = 77},
|
|
}
|
|
},
|
|
selection_box = {
|
|
type = "fixed",
|
|
fixed = {-0.25, -0.5, -0.25, 0.25, 0.5, 0.25}
|
|
},
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.0625, 0.1875, -0.0625, 0.0625, 0.5, 0.0625},
|
|
{-0.125, 0.375, -0.125, 0.125, 0.5, 0.125},
|
|
{-0.125, -0.5, -0.125, 0.125, 0.3125, 0.125},
|
|
{-0.1875, -0.375, -0.1875, 0.1875, 0.1875, 0.1875},
|
|
{-0.25, -0.25, -0.25, 0.25, 0.0625, 0.25},
|
|
}
|
|
},
|
|
sounds = default.node_sound_glass_defaults(),
|
|
})
|
|
|
|
minetest.register_node("externgen:vase_level4", {
|
|
description = "Vase",
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
tiles = {"externgen_vase_level4.png", "externgen_vase_level4.png", "externgen_vase_level4side.png"},
|
|
sunlight_propagates = true,
|
|
walkable = true,
|
|
groups = {fleshy=3,dig_immediate=3,oddly_breakable_by_hand=3},
|
|
drop = {
|
|
items = {
|
|
{items = {"default:mese_crystal"}, rarity = 3},
|
|
{items = {"default:mese_crystal"}, rarity = 4},
|
|
{items = {"default:gold_ingot"}, rarity = 1},
|
|
{items = {"default:gold_ingot"}, rarity = 3},
|
|
{items = {"default:diamond"}, rarity = 5},
|
|
{items = {"default:sword_diamond"}, rarity = 66},
|
|
}
|
|
},
|
|
selection_box = {
|
|
type = "fixed",
|
|
fixed = {-0.25, -0.5, -0.25, 0.25, 0.5, 0.25}
|
|
},
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.0625, 0.1875, -0.0625, 0.0625, 0.5, 0.0625},
|
|
{-0.125, 0.375, -0.125, 0.125, 0.5, 0.125},
|
|
{-0.125, -0.5, -0.125, 0.125, 0.3125, 0.125},
|
|
{-0.1875, -0.375, -0.1875, 0.1875, 0.1875, 0.1875},
|
|
{-0.25, -0.25, -0.25, 0.25, 0.0625, 0.25},
|
|
}
|
|
},
|
|
sounds = default.node_sound_glass_defaults(),
|
|
})
|
|
|
|
minetest.register_node("externgen:vase_level5", {
|
|
description = "Vase",
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
tiles = {"externgen_vase_level5.png", "externgen_vase_level5.png", "externgen_vase_level5side.png"},
|
|
sunlight_propagates = true,
|
|
walkable = true,
|
|
groups = {fleshy=3,dig_immediate=3,oddly_breakable_by_hand=3},
|
|
drop = {
|
|
items = {
|
|
{items = {"default:mese_crystal"}, rarity = 1},
|
|
{items = {"default:ruby"}, rarity = 4},
|
|
{items = {"default:topaz"}, rarity = 4},
|
|
{items = {"default:emerald"}, rarity = 4},
|
|
{items = {"default:sapphire"}, rarity = 4},
|
|
{items = {"default:amethyst"}, rarity = 4},
|
|
{items = {"default:mese"}, rarity = 11},
|
|
{items = {"default:diamondblock"}, rarity = 22},
|
|
{items = {"default:diamond"}, rarity = 8},
|
|
{items = {"default:sword_diamond"}, rarity = 55},
|
|
}
|
|
},
|
|
selection_box = {
|
|
type = "fixed",
|
|
fixed = {-0.25, -0.5, -0.25, 0.25, 0.5, 0.25}
|
|
},
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.0625, 0.1875, -0.0625, 0.0625, 0.5, 0.0625},
|
|
{-0.125, 0.375, -0.125, 0.125, 0.5, 0.125},
|
|
{-0.125, -0.5, -0.125, 0.125, 0.3125, 0.125},
|
|
{-0.1875, -0.375, -0.1875, 0.1875, 0.1875, 0.1875},
|
|
{-0.25, -0.25, -0.25, 0.25, 0.0625, 0.25},
|
|
}
|
|
},
|
|
sounds = default.node_sound_glass_defaults(),
|
|
})
|
|
|
|
-- vase for craft
|
|
|
|
minetest.register_node("externgen:vase_level5_c", {
|
|
description = "Obsidian Vase",
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
tiles = {"externgen_vase_level5.png", "externgen_vase_level5.png", "externgen_vase_level5side.png"},
|
|
sunlight_propagates = true,
|
|
walkable = true,
|
|
groups = {fleshy=3,dig_immediate=3,oddly_breakable_by_hand=3},
|
|
selection_box = {
|
|
type = "fixed",
|
|
fixed = {-0.25, -0.5, -0.25, 0.25, 0.5, 0.25}
|
|
},
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.0625, 0.1875, -0.0625, 0.0625, 0.5, 0.0625},
|
|
{-0.125, 0.375, -0.125, 0.125, 0.5, 0.125},
|
|
{-0.125, -0.5, -0.125, 0.125, 0.3125, 0.125},
|
|
{-0.1875, -0.375, -0.1875, 0.1875, 0.1875, 0.1875},
|
|
{-0.25, -0.25, -0.25, 0.25, 0.0625, 0.25},
|
|
}
|
|
},
|
|
sounds = default.node_sound_glass_defaults(),
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'externgen:vase_level5_c',
|
|
recipe = {
|
|
{'', 'default:obsidian_shard', ''},
|
|
{'default:obsidian_shard', 'default:gold_ingot', 'default:obsidian_shard'},
|
|
{'default:obsidian_shard', 'default:obsidian_shard', 'default:obsidian_shard'},
|
|
}
|
|
})
|
|
|
|
minetest.register_node("externgen:vase_level1_c", {
|
|
description = "Vase",
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
tiles = {"externgen_vase_level1.png", "externgen_vase_level1.png", "externgen_vase_level1side.png"},
|
|
sunlight_propagates = true,
|
|
walkable = true,
|
|
groups = {fleshy=3,dig_immediate=3,oddly_breakable_by_hand=3},
|
|
selection_box = {
|
|
type = "fixed",
|
|
fixed = {-0.25, -0.5, -0.25, 0.25, 0.5, 0.25}
|
|
},
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.0625, 0.1875, -0.0625, 0.0625, 0.5, 0.0625},
|
|
{-0.125, 0.375, -0.125, 0.125, 0.5, 0.125},
|
|
{-0.125, -0.5, -0.125, 0.125, 0.3125, 0.125},
|
|
{-0.1875, -0.375, -0.1875, 0.1875, 0.1875, 0.1875},
|
|
{-0.25, -0.25, -0.25, 0.25, 0.0625, 0.25},
|
|
}
|
|
},
|
|
sounds = default.node_sound_glass_defaults(),
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'externgen:vase_level1_c',
|
|
recipe = {
|
|
{'', 'default:clay_lump', ''},
|
|
{'default:clay_lump', 'dye:white', 'default:clay_lump'},
|
|
{'default:clay_lump', 'default:clay_lump', 'default:clay_lump'},
|
|
}
|
|
})
|
|
|
|
-- failed code
|
|
--[[
|
|
minetest.register_on_generated(function(minp, maxp, seed)
|
|
|
|
|
|
local copper_nodes = minetest.find_nodes_in_area(minp, maxp, {"default:stone_with_coal", "default:stone_with_tin"})
|
|
|
|
for key, pos in pairs(copper_nodes) do
|
|
local bpos = { x=pos.x, y=pos.y + 1, z=pos.z }
|
|
local bpos2 = { x=pos.x, y=pos.y + 2, z=pos.z }
|
|
if minetest.get_node(bpos).name == "air" and minetest.get_node(bpos2).name == "air" and pos.y <= -110 then
|
|
|
|
local para1 = {}
|
|
local vasentyp = {}
|
|
if pos.y >= -250 then para1 = 1
|
|
elseif pos.y>= -500 and pos.y<= -251 then para1 = 2
|
|
elseif pos.y>= -750 and pos.y<= -501 then para1 = 3
|
|
elseif pos.y>= -1000 and pos.y<= -751 then para1 = 4
|
|
elseif pos.y>= -1500 and pos.y<= -1001 then para1 = 5
|
|
elseif pos.y<= -1501 then para1 = 6
|
|
end
|
|
local va_a = para1
|
|
local va_b = para1 * 2
|
|
local rndvase = math.random(va_a,va_b)
|
|
if rndvase <= 3 then vasentyp = "externgen:vase_level1"
|
|
elseif rndvase >= 4 and rndvase <= 6 then vasentyp = "externgen:vase_level2"
|
|
elseif rndvase >= 7 and rndvase <= 9 then vasentyp = "externgen:vase_level3"
|
|
elseif rndvase >= 10 and rndvase <= 11 then vasentyp = "externgen:vase_level4"
|
|
elseif rndvase >= 12 then vasentyp = "externgen:vase_level5"
|
|
end
|
|
local pla = math.random(1,8)
|
|
if pla >= 7 then
|
|
return
|
|
end
|
|
minetest.set_node(bpos, {name = vasentyp})
|
|
end
|
|
|
|
end
|
|
end)
|
|
--]]
|
|
--[[
|
|
minetest.register_on_generated(function(minp, maxp, seed)
|
|
|
|
|
|
local mossy_nodes = minetest.find_nodes_in_area(minp, maxp, "default:mossycobble")
|
|
|
|
for key, pos in pairs(mossy_nodes) do
|
|
local bpos = { x=pos.x, y=pos.y + 1, z=pos.z }
|
|
local bpos2 = { x=pos.x, y=pos.y + 2, z=pos.z }
|
|
if minetest.get_node(bpos).name == "air" and minetest.get_node(bpos2).name == "air" and pos.y <= -110 then
|
|
|
|
local para1 = {}
|
|
local vasentyp = {}
|
|
if pos.y >= -250 then para1 = 1
|
|
elseif pos.y>= -500 and pos.y<= -251 then para1 = 2
|
|
elseif pos.y>= -750 and pos.y<= -501 then para1 = 3
|
|
elseif pos.y>= -1000 and pos.y<= -751 then para1 = 4
|
|
elseif pos.y>= -1500 and pos.y<= -1001 then para1 = 5
|
|
elseif pos.y<= -1501 then para1 = 6
|
|
end
|
|
local va_a = para1
|
|
local va_b = para1 * 2
|
|
local rndvase = math.random(va_a,va_b)
|
|
if rndvase <= 3 then vasentyp = "externgen:vase_level1"
|
|
elseif rndvase >= 4 and rndvase <= 6 then vasentyp = "externgen:vase_level2"
|
|
elseif rndvase >= 7 and rndvase <= 9 then vasentyp = "externgen:vase_level3"
|
|
elseif rndvase >= 10 and rndvase <= 11 then vasentyp = "externgen:vase_level4"
|
|
elseif rndvase >= 12 then vasentyp = "externgen:vase_level5"
|
|
end
|
|
local pla = math.random(1,8)
|
|
if pla >= 7 then
|
|
return
|
|
end
|
|
minetest.set_node(bpos, {name = vasentyp})
|
|
end
|
|
|
|
end
|
|
end)
|
|
--]]
|
|
|