mirror of
https://git.minetest.land/MineClone2/MineClone2.git
synced 2025-01-06 08:37:30 +01:00
add forest ruins + oasis + graveyard from voxelibre plus
This commit is contained in:
parent
4f41d0fe27
commit
edbd2c57e7
12
mods/MAPGEN/vl_extra_structures/CREDITS.md
Normal file
12
mods/MAPGEN/vl_extra_structures/CREDITS.md
Normal file
@ -0,0 +1,12 @@
|
||||
Credits
|
||||
=======
|
||||
|
||||
Schematics
|
||||
----------
|
||||
* Birch Forest Ruins - PrairieWind
|
||||
* Desert Oasis - PrairieWind
|
||||
* Graveyard - PrairieWind
|
||||
* Campsite - kno10
|
||||
* Obelisks - kno10
|
||||
* Cocoon - kno10
|
||||
* Witches Circle - kno10
|
49
mods/MAPGEN/vl_extra_structures/desert_oasis.lua
Normal file
49
mods/MAPGEN/vl_extra_structures/desert_oasis.lua
Normal file
@ -0,0 +1,49 @@
|
||||
local modname = minetest.get_current_modname()
|
||||
local S = minetest.get_translator(modname)
|
||||
local modpath = minetest.get_modpath(modname)
|
||||
|
||||
vl_structures.register_structure("desert_oasis",{
|
||||
place_on = {"group:sand"},
|
||||
flags = "place_center_x, place_center_z",
|
||||
prepare = { tolerance = 3, clear_bottom = 1, clear_top = 0, padding = 0, corners = 1, foundation = -2 },
|
||||
y_offset = function(pr) return -(pr:next(2,3)) end,
|
||||
chunk_probability = 20,
|
||||
y_max = mcl_vars.mg_overworld_max,
|
||||
y_min = 1,
|
||||
biomes = { "Desert" },
|
||||
filenames = {
|
||||
modpath.."/schematics/mcl_extra_structures_desert_oasis_1.mts",
|
||||
modpath.."/schematics/mcl_extra_structures_desert_oasis_2.mts",
|
||||
},
|
||||
loot = {
|
||||
["mcl_barrels:barrel_closed" ] ={{
|
||||
stacks_min = 2,
|
||||
stacks_max = 2,
|
||||
items = {
|
||||
{ itemstring = "mcl_mobitems:rotten_flesh", weight = 16, amount_min = 3, amount_max=7 },
|
||||
{ itemstring = "mcl_core:gold_ingot", weight = 15, amount_min = 2, amount_max = 7 },
|
||||
{ itemstring = "mcl_core:iron_ingot", weight = 15, amount_min = 1, amount_max = 5 },
|
||||
{ itemstring = "mcl_core:diamond", weight = 3, amount_min = 1, amount_max = 3 },
|
||||
{ itemstring = "mcl_mobitems:saddle", weight = 3, },
|
||||
{ itemstring = "mcl_mobitems:iron_horse_armor", weight = 1, },
|
||||
{ itemstring = "mcl_mobitems:gold_horse_armor", weight = 1, },
|
||||
{ itemstring = "mcl_mobitems:diamond_horse_armor", weight = 1, },
|
||||
{ itemstring = "mcl_core:apple_gold_enchanted", weight = 2, },
|
||||
}
|
||||
},
|
||||
{
|
||||
stacks_min = 2,
|
||||
stacks_max = 2,
|
||||
items = {
|
||||
{ itemstring = "mcl_core:tree", weight = 1, amount_min = 4, amount_max=6 },
|
||||
}
|
||||
},
|
||||
{
|
||||
stacks_min = 1,
|
||||
stacks_max = 1,
|
||||
items = {
|
||||
{ itemstring = "mcl_buckets:bucket_water", weight = 1, amount_min = 1, amount_max=1 },
|
||||
}
|
||||
}}
|
||||
}
|
||||
})
|
42
mods/MAPGEN/vl_extra_structures/forest_ruins.lua
Normal file
42
mods/MAPGEN/vl_extra_structures/forest_ruins.lua
Normal file
@ -0,0 +1,42 @@
|
||||
local modname = minetest.get_current_modname()
|
||||
local S = minetest.get_translator(modname)
|
||||
local modpath = minetest.get_modpath(modname)
|
||||
|
||||
vl_structures.register_structure("forest_ruins",{
|
||||
place_on = {"group:grass_block","group:dirt","mcl_core:dirt_with_grass"},
|
||||
flags = "place_center_x, place_center_z",
|
||||
prepare = { tolerance = 3, clear_bottom = 1, clear_top = 0, padding = 0, corners = 1, foundation = -2 },
|
||||
y_offset = function(pr) return -(pr:next(0,1)) end,
|
||||
chunk_probability = 20,
|
||||
y_max = mcl_vars.mg_overworld_max,
|
||||
y_min = 1,
|
||||
biomes = { "BirchForest" }, -- TODO: also add to some other biomes?
|
||||
filenames = {
|
||||
modpath.."/schematics/mcl_extra_structures_birch_forest_ruins_1.mts",
|
||||
modpath.."/schematics/mcl_extra_structures_birch_forest_ruins_2.mts",
|
||||
},
|
||||
loot = {
|
||||
["mcl_chests:chest_small" ] ={{
|
||||
stacks_min = 2,
|
||||
stacks_max = 4,
|
||||
items = {
|
||||
{ itemstring = "mcl_mobitems:rotten_flesh", weight = 16, amount_min = 3, amount_max=7 },
|
||||
{ itemstring = "mcl_core:gold_ingot", weight = 3, amount_min = 2, amount_max = 7 },
|
||||
{ itemstring = "mcl_core:iron_ingot", weight = 5, amount_min = 1, amount_max = 5 },
|
||||
{ itemstring = "mcl_core:diamond", weight = 1, amount_min = 1, amount_max = 3 },
|
||||
{ itemstring = "mcl_tools:sword_stone", weight = 15, },
|
||||
{ itemstring = "mcl_tools:pick_stone", weight = 15, },
|
||||
{ itemstring = "mcl_tools:shovel_stone", weight = 15, },
|
||||
{ itemstring = "mcl_torches:torch", weight = 15, amount_min = 3, amount_max=7 },
|
||||
}
|
||||
},
|
||||
{
|
||||
stacks_min = 1,
|
||||
stacks_max = 1,
|
||||
items = {
|
||||
{ itemstring = "mcl_fire:flint_and_steel", weight = 1, amount_min = 1, amount_max=1 },
|
||||
}
|
||||
}}
|
||||
}
|
||||
})
|
||||
|
44
mods/MAPGEN/vl_extra_structures/graveyard.lua
Normal file
44
mods/MAPGEN/vl_extra_structures/graveyard.lua
Normal file
@ -0,0 +1,44 @@
|
||||
local modname = minetest.get_current_modname()
|
||||
local S = minetest.get_translator(modname)
|
||||
local modpath = minetest.get_modpath(modname)
|
||||
|
||||
vl_structures.register_structure("graveyard",{
|
||||
place_on = {"group:grass_block","group:dirt","mcl_core:dirt_with_grass"},
|
||||
flags = "place_center_x, place_center_z",
|
||||
prepare = { tolerance = 3, clear_bottom = 1, clear_top = 0, padding = 0, corners = 1, foundation = -2 },
|
||||
y_offset = function(pr) return -(pr:next(3,3)) end,
|
||||
chunk_probability = 40,
|
||||
y_max = mcl_vars.mg_overworld_max,
|
||||
y_min = 1,
|
||||
biomes = { "BirchForest", "Forest", "Plains", "Taiga" },
|
||||
filenames = {
|
||||
modpath.."/schematics/mcl_extra_structures_graveyard_1.mts",
|
||||
modpath.."/schematics/mcl_extra_structures_graveyard_2.mts",
|
||||
},
|
||||
loot = {
|
||||
["mcl_barrels:barrel_closed"] ={{
|
||||
stacks_min = 2,
|
||||
stacks_max = 6,
|
||||
items = {
|
||||
{ itemstring = "mcl_mobitems:rotten_flesh", weight = 16, amount_min = 3, amount_max=7 },
|
||||
{ itemstring = "mcl_core:gold_ingot", weight = 3, amount_min = 2, amount_max = 7 },
|
||||
{ itemstring = "mcl_core:iron_ingot", weight = 5, amount_min = 1, amount_max = 5 },
|
||||
{ itemstring = "mcl_core:diamond", weight = 1, amount_min = 1, amount_max = 3 },
|
||||
{ itemstring = "mcl_tools:sword_diamond", weight = 15, },
|
||||
{ itemstring = "mcl_tools:pick_diamond", weight = 15, },
|
||||
{ itemstring = "mcl_tools:shovel_iron", weight = 15, },
|
||||
{ itemstring = "mcl_torches:torch", weight = 15, amount_min = 3, amount_max=7 },
|
||||
{ itemstring = "mcl_armor:chestplate_diamond", weight = 1 },
|
||||
{ itemstring = "mcl_armor:leggings_iron", weight = 2 },
|
||||
}
|
||||
}}
|
||||
},
|
||||
after_place = function(pos, _, pr, p1, p2)
|
||||
for _,n in pairs(minetest.find_nodes_in_area(p1,p2,{"group:wall"})) do
|
||||
mcl_walls.update_wall(n)
|
||||
end
|
||||
local sp = minetest.find_nodes_in_area(pos,vector.offset(pos,0,3,0),{"mcl_mobspawners:spawner"})
|
||||
if not sp[1] then return end
|
||||
mcl_mobspawners.setup_spawner(sp[1], "mobs_mc:zombie", 0, minetest.LIGHT_MAX+1, 10, 3, -1)
|
||||
end
|
||||
})
|
@ -2,6 +2,9 @@ local modname = minetest.get_current_modname()
|
||||
local modpath = minetest.get_modpath(modname)
|
||||
|
||||
dofile(modpath.."/campsite.lua")
|
||||
dofile(modpath.."/desert_oasis.lua")
|
||||
dofile(modpath.."/forest_ruins.lua")
|
||||
dofile(modpath.."/graveyard.lua")
|
||||
dofile(modpath.."/obelisks.lua")
|
||||
dofile(modpath.."/spider_cocoon.lua")
|
||||
dofile(modpath.."/witches_circle.lua")
|
||||
|
BIN
mods/MAPGEN/vl_extra_structures/schematics/mcl_extra_structures_birch_forest_ruins_1.mts
Normal file
BIN
mods/MAPGEN/vl_extra_structures/schematics/mcl_extra_structures_birch_forest_ruins_1.mts
Normal file
Binary file not shown.
BIN
mods/MAPGEN/vl_extra_structures/schematics/mcl_extra_structures_birch_forest_ruins_2.mts
Normal file
BIN
mods/MAPGEN/vl_extra_structures/schematics/mcl_extra_structures_birch_forest_ruins_2.mts
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue
Block a user