From edbd2c57e72ab1954e1d7b0b99ca34441cd77d7e Mon Sep 17 00:00:00 2001 From: kno10 Date: Sat, 7 Dec 2024 02:20:27 +0100 Subject: [PATCH] add forest ruins + oasis + graveyard from voxelibre plus --- mods/MAPGEN/vl_extra_structures/CREDITS.md | 12 +++++ .../vl_extra_structures/desert_oasis.lua | 49 ++++++++++++++++++ .../vl_extra_structures/forest_ruins.lua | 42 +++++++++++++++ mods/MAPGEN/vl_extra_structures/graveyard.lua | 44 ++++++++++++++++ mods/MAPGEN/vl_extra_structures/init.lua | 3 ++ ..._extra_structures_birch_forest_ruins_1.mts | Bin 0 -> 405 bytes ..._extra_structures_birch_forest_ruins_2.mts | Bin 0 -> 480 bytes .../mcl_extra_structures_desert_oasis_1.mts | Bin 0 -> 581 bytes .../mcl_extra_structures_desert_oasis_2.mts | Bin 0 -> 594 bytes .../mcl_extra_structures_graveyard_1.mts | Bin 0 -> 569 bytes .../mcl_extra_structures_graveyard_2.mts | Bin 0 -> 614 bytes 11 files changed, 150 insertions(+) create mode 100644 mods/MAPGEN/vl_extra_structures/CREDITS.md create mode 100644 mods/MAPGEN/vl_extra_structures/desert_oasis.lua create mode 100644 mods/MAPGEN/vl_extra_structures/forest_ruins.lua create mode 100644 mods/MAPGEN/vl_extra_structures/graveyard.lua create mode 100644 mods/MAPGEN/vl_extra_structures/schematics/mcl_extra_structures_birch_forest_ruins_1.mts create mode 100644 mods/MAPGEN/vl_extra_structures/schematics/mcl_extra_structures_birch_forest_ruins_2.mts create mode 100644 mods/MAPGEN/vl_extra_structures/schematics/mcl_extra_structures_desert_oasis_1.mts create mode 100644 mods/MAPGEN/vl_extra_structures/schematics/mcl_extra_structures_desert_oasis_2.mts create mode 100644 mods/MAPGEN/vl_extra_structures/schematics/mcl_extra_structures_graveyard_1.mts create mode 100644 mods/MAPGEN/vl_extra_structures/schematics/mcl_extra_structures_graveyard_2.mts diff --git a/mods/MAPGEN/vl_extra_structures/CREDITS.md b/mods/MAPGEN/vl_extra_structures/CREDITS.md new file mode 100644 index 000000000..db1e75c31 --- /dev/null +++ b/mods/MAPGEN/vl_extra_structures/CREDITS.md @@ -0,0 +1,12 @@ +Credits +======= + +Schematics +---------- +* Birch Forest Ruins - PrairieWind +* Desert Oasis - PrairieWind +* Graveyard - PrairieWind +* Campsite - kno10 +* Obelisks - kno10 +* Cocoon - kno10 +* Witches Circle - kno10 diff --git a/mods/MAPGEN/vl_extra_structures/desert_oasis.lua b/mods/MAPGEN/vl_extra_structures/desert_oasis.lua new file mode 100644 index 000000000..cdae38707 --- /dev/null +++ b/mods/MAPGEN/vl_extra_structures/desert_oasis.lua @@ -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 }, + } + }} + } +}) diff --git a/mods/MAPGEN/vl_extra_structures/forest_ruins.lua b/mods/MAPGEN/vl_extra_structures/forest_ruins.lua new file mode 100644 index 000000000..cff04bbe1 --- /dev/null +++ b/mods/MAPGEN/vl_extra_structures/forest_ruins.lua @@ -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 }, + } + }} + } +}) + diff --git a/mods/MAPGEN/vl_extra_structures/graveyard.lua b/mods/MAPGEN/vl_extra_structures/graveyard.lua new file mode 100644 index 000000000..1746a86b3 --- /dev/null +++ b/mods/MAPGEN/vl_extra_structures/graveyard.lua @@ -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 +}) diff --git a/mods/MAPGEN/vl_extra_structures/init.lua b/mods/MAPGEN/vl_extra_structures/init.lua index 85eec6a52..289f77caf 100644 --- a/mods/MAPGEN/vl_extra_structures/init.lua +++ b/mods/MAPGEN/vl_extra_structures/init.lua @@ -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") diff --git a/mods/MAPGEN/vl_extra_structures/schematics/mcl_extra_structures_birch_forest_ruins_1.mts b/mods/MAPGEN/vl_extra_structures/schematics/mcl_extra_structures_birch_forest_ruins_1.mts new file mode 100644 index 0000000000000000000000000000000000000000..e3e3d95d11c4ebb418002f74e696f1dca8bfd235 GIT binary patch literal 405 zcmeYb3HD`RVPI!qWnixd0S0ac-rVGz_~iVeRI8NCq7nuP6mEQZW=TeTdQoC=F#~gA zW)YHfaY=q&YEn^Va&~Thad9OBA6z3?hCvvW4_3(_iA69uv8XIHg+UP{Ra^qJq}ZxB zCou`ghFOqYl$e|iR3e3234<8entLPb(sfxysiHaTf(?iHrcZt_TZQG^iJecX zI~!)txwSUR&&v7e=S3fG?=}%_ay|XRb;gC8>X91@C-_|Z)p^YS%--_H>4%%QrtP^{ zZf_d%?Q`K~xnCPaB~)MK6pDPj;Ln*~QvH6){>AC<|G$t~xGUQ=B)&ez&B<$yjJm)j gO=phG1GAna961=F7QJuXXP;dQllL$x8!op80Gi{+(f|Me literal 0 HcmV?d00001 diff --git a/mods/MAPGEN/vl_extra_structures/schematics/mcl_extra_structures_desert_oasis_1.mts b/mods/MAPGEN/vl_extra_structures/schematics/mcl_extra_structures_desert_oasis_1.mts new file mode 100644 index 0000000000000000000000000000000000000000..01d4d44ee53585b14d99cccb4437cffa10b51f68 GIT binary patch literal 581 zcmeYb3HD`RVc=olV&JTY10YW*H#sLhIlm~?syHz(rMM(NFO`88MT~(tF|&w)4=z@e znwnC~APVP~CzhlZ#TVz779}HVEdi=SQk7Mjm!6ZFlbTqTTFf8;*PN1BR1#mFS&|W- zUX)l2H8w3LzdW_5*a~cNPG(LegCs~pQesh2YEH2ggpNFh|XFY$g&@M~H z>$Ak=wrc74nB|9OpT2ln+QQ)Q3&zRdh4Qu8KV zcikb21d|}kZy!JJ{*m+L&!Pvr%=RbO?JqKYB$|EdO0l8)nnbzeO`l_O@9n9&_I&Sa z*QKwE=YHCKarL!-zqd@hT|YlQ{q&LZYooX4mA?A&Ylqk;M&Zbrp# zW4PV+`q;Mz?^NHFc<6m%vZxPz=$mo#dhcPWGyUoRv@SEvp1Rj-()!{P+uhysqtyNj Q?>&2e%EVu+?4Omp03nwcwEzGB literal 0 HcmV?d00001 diff --git a/mods/MAPGEN/vl_extra_structures/schematics/mcl_extra_structures_desert_oasis_2.mts b/mods/MAPGEN/vl_extra_structures/schematics/mcl_extra_structures_desert_oasis_2.mts new file mode 100644 index 0000000000000000000000000000000000000000..f6d8102f5d678ff0f18edca7097beab10bd2f67f GIT binary patch literal 594 zcmeYb3HD`RVc=%qWZ)_~e}Y;?$IiId7-k+}5nX z<0{;~DEqGXz8(AH40$+NLcZ*qxkW6<_uMo`MmODW%MBlZW?Xy~|a z*+M4PKH4DYv}RAiq8Xc4Ki4(W3e4>*jCHRneOtO{vxxlEB*E7$_g{w;3tf!y&Apbn zI&;;f`|{nBlEg%-_LS>XU26@FUe`TmrD*M`*KM!lwsNKJSl|6x#Q*(P-OKaEUz=rn z23N%KSl>Q0MQxMo!d=_tW0z(Wo=pE9A#?lRhlrZ^>bG03SFPQ2_h!Pr+1n287TdH- z`G4xqz%N!_Z!%xL);?Ch#zMHV_w&^?rTRf`8rzRXrl#4f6T5do$F!$aWnSSEiORSZ zodpt?^MZR)-7A01W5n@ literal 0 HcmV?d00001 diff --git a/mods/MAPGEN/vl_extra_structures/schematics/mcl_extra_structures_graveyard_1.mts b/mods/MAPGEN/vl_extra_structures/schematics/mcl_extra_structures_graveyard_1.mts new file mode 100644 index 0000000000000000000000000000000000000000..45af2c48cf61fda01ec328a49669ce5fcc3ca97e GIT binary patch literal 569 zcmeYb3HD`RVc=w7W8kU>0|p@m-rVGz_~iVeRI8NCq7nuP6mEQZW=TeTdQoC=F@rcr zraUnxr`Retzqq(EIX@{WCpF%fK?orM6*I-9*c6LmGY00w%pwL6xW&o&iABY!@d)Q& zT54zjv7tCKJ+IiRxFj(zB{MHQ9>isk1R0c+SX7h>bSZ?6PtM6NPEBDD#&9XnAWY|5 z;&Q$TE(t?OxM6Xq5iTv*EHd)4@UvIqCu<_QM{?m0`T}2&V`DSLl)w=LqX!e@p bYsxcEJT1-G_hbL=)-&%7=A=b%i?{*+VesW# literal 0 HcmV?d00001 diff --git a/mods/MAPGEN/vl_extra_structures/schematics/mcl_extra_structures_graveyard_2.mts b/mods/MAPGEN/vl_extra_structures/schematics/mcl_extra_structures_graveyard_2.mts new file mode 100644 index 0000000000000000000000000000000000000000..e1c449285522c5179cdbf1e7a1c011d9ed5bc83f GIT binary patch literal 614 zcmeYb3HD`RVc=$9W8kg_0|pTW-rVGz_~iVeRI8NCq7nuP6mEQZW=TeTdQoC=F@q3D zraUnxr`RevKPf3EHQpGDm??ueLS1ftad9P7u_+eCW(>@UnMDkeARS4GMMbGVvmtbR za!!76Y6^o0+&RhliABY!@nA;^Bdma$ZfF3pw>UFBuh^=%Brz`~GcP?J#D#bX;&5aK z0kvRy$pVWQ)M!i-j39RA<|h>wB$nr;76EOBFtC^cRg7s0HfLBeVDX|+#hkYx7x|hM zc-A-{7ckrY^Wg8Vp3I8JF0Z*AkhCXwRqczpTOCv!SSyuWOBZnEywG{D{KA`uMh5E) zrLuMgNo)Pe*i@4D6J_q^=+;=lLE;nxQm?>cVTysza^_xq^^Q={%5eipEJ R!lc>X75BHBdmSrU1_0Un_{#tQ literal 0 HcmV?d00001