From 8cad4a688672e990ad4391e8b825b7713efb54a3 Mon Sep 17 00:00:00 2001 From: cora Date: Sun, 10 Jul 2022 02:32:37 +0200 Subject: [PATCH 1/2] Add ruined portals --- mods/MAPGEN/mcl_structures/init.lua | 1 + mods/MAPGEN/mcl_structures/ruined_portal.lua | 82 ++++++++++++++++++ .../mcl_structures_ruined_portal_1.mts | Bin 0 -> 524 bytes .../mcl_structures_ruined_portal_2.mts | Bin 0 -> 521 bytes .../mcl_structures_ruined_portal_99.mts | Bin 0 -> 521 bytes 5 files changed, 83 insertions(+) create mode 100644 mods/MAPGEN/mcl_structures/ruined_portal.lua create mode 100644 mods/MAPGEN/mcl_structures/schematics/mcl_structures_ruined_portal_1.mts create mode 100644 mods/MAPGEN/mcl_structures/schematics/mcl_structures_ruined_portal_2.mts create mode 100644 mods/MAPGEN/mcl_structures/schematics/mcl_structures_ruined_portal_99.mts diff --git a/mods/MAPGEN/mcl_structures/init.lua b/mods/MAPGEN/mcl_structures/init.lua index 5b6be892d..44d21cd96 100644 --- a/mods/MAPGEN/mcl_structures/init.lua +++ b/mods/MAPGEN/mcl_structures/init.lua @@ -244,6 +244,7 @@ dofile(modpath.."/ocean_ruins.lua") dofile(modpath.."/witch_hut.lua") dofile(modpath.."/igloo.lua") dofile(modpath.."/woodland_mansion.lua") +dofile(modpath.."/ruined_portal.lua") dofile(modpath.."/geode.lua") diff --git a/mods/MAPGEN/mcl_structures/ruined_portal.lua b/mods/MAPGEN/mcl_structures/ruined_portal.lua new file mode 100644 index 000000000..cea89e0e9 --- /dev/null +++ b/mods/MAPGEN/mcl_structures/ruined_portal.lua @@ -0,0 +1,82 @@ +local modname = minetest.get_current_modname() +local modpath = minetest.get_modpath(modname) + +local function get_replacements(b,c,pr) + local r = {} + if not b then return r end + for k,v in pairs(b) do + if pr:next(1,100) < c then table.insert(r,v) end + end + return r +end + +local def = { + place_on = {"group:grass_block","group:dirt","mcl_core:dirt_with_grass","group:grass_block","group:sand","group:grass_block_snow","mcl_core:snow"}, + fill_ratio = 0.01, + flags = "place_center_x, place_center_z, all_floors", + solid_ground = true, + make_foundation = true, + chunk_probability = 400, + y_max = mcl_vars.mg_overworld_max, + y_min = 1, + sidelen = 10, + y_offset = -4, + filenames = { + modpath.."/schematics/mcl_structures_ruined_portal_1.mts", + modpath.."/schematics/mcl_structures_ruined_portal_2.mts", + modpath.."/schematics/mcl_structures_ruined_portal_99.mts", + }, + after_place = function(pos,def,pr) + local hl = def.sidelen / 2 + local p1 = vector.offset(pos,-hl,-hl,-hl) + local p2 = vector.offset(pos,hl,hl,hl) + local gold = minetest.find_nodes_in_area(p1,p2,{"mcl_core:goldblock"}) + local lava = minetest.find_nodes_in_area(p1,p2,{"mcl_core:lava_source"}) + local rack = minetest.find_nodes_in_area(p1,p2,{"mcl_nether:netherrack"}) + local brick = minetest.find_nodes_in_area(p1,p2,{"mcl_core:stonebrick"}) + local obby = minetest.find_nodes_in_area(p1,p2,{"mcl_core:obsidian"}) + minetest.bulk_set_node(get_replacements(gold,30,pr),{name="air"}) + minetest.bulk_set_node(get_replacements(lava,20,pr),{name="mcl_nether:magma"}) + minetest.bulk_set_node(get_replacements(rack,7,pr),{name="mcl_nether:magma"}) + minetest.bulk_set_node(get_replacements(obby,30,pr),{name="mcl_core:crying_obsidian"}) + minetest.bulk_set_node(get_replacements(obby,10,pr),{name="air"}) + minetest.bulk_set_node(get_replacements(brick,50,pr),{name="mcl_core:stonebrickcracked"}) + brick = minetest.find_nodes_in_area(p1,p2,{"mcl_core:stonebrick"}) + minetest.bulk_set_node(get_replacements(brick,50,pr),{name="mcl_core:stonebrickmossy"}) + end, + loot = { + ["mcl_chests:chest_small" ] ={{ + stacks_min = 2, + stacks_max = 6, + items = { + { itemstring = "mcl_core:iron_nugget", weight = 40, amount_min = 9, amount_max = 18 }, + { itemstring = "mcl_core:flint", weight = 40, amount_min = 1, amount_max=4 }, + { itemstring = "mcl_core:obsidian", weight = 40, amount_min = 1, amount_max=2 }, + { itemstring = "mcl_fire:fire_charge", weight = 40, amount_min = 1, amount_max = 1 }, + { itemstring = "mcl_fire:flint_and_steel", weight = 40, amount_min = 1, amount_max = 1 }, + { itemstring = "mcl_core:gold_nugget", weight = 15, amount_min = 4, amount_max = 24 }, + { itemstring = "mcl_core:apple_gold", weight = 15, }, + + { itemstring = "mcl_books:book", weight = 1, func = function(stack, pr) + mcl_enchanting.enchant_uniform_randomly(stack, {"soul_speed"}, pr) + end }, + --{ itemstring = "mcl_bamboo:bamboo", weight = 15, amount_min = 1, amount_max=3 }, --FIXME BAMBOO + + { itemstring = "mcl_core:diamond", weight = 3, amount_min = 1, amount_max = 3 }, + { itemstring = "mcl_mobitems:saddle", weight = 3, }, + { itemstring = "mcl_core:emerald", weight = 2, amount_min = 1, amount_max = 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", weight = 15, }, + } + }} + } +} +mcl_structures.register_structure("ruined_portal_overworld",def) +local ndef = table.copy(def) +ndef.y_min=mcl_vars.mg_nether_lava_min +ndef.y_max=mcl_vars.mg_nether_max - 15 +ndef.place_on = {"mcl_nether:netherrack","group:soul_block","mcl_blackstone:basalt,mcl_blackstone:blackstone","mcl_crimson:crimson_nylium","mcl_crimson:warped_nylium"}, +mcl_structures.register_structure("ruined_portal_nether",ndef) diff --git a/mods/MAPGEN/mcl_structures/schematics/mcl_structures_ruined_portal_1.mts b/mods/MAPGEN/mcl_structures/schematics/mcl_structures_ruined_portal_1.mts new file mode 100644 index 0000000000000000000000000000000000000000..ae37576dc259184903dd7af589154b8c066aeeda GIT binary patch literal 524 zcmeYb3HD`RVPI$AVc@Js0t{RX%!!#r45GQoIq`X^B^jwjRuHNvF*%z-8YEm?0#s3K z1*U+U{JhkpqD-J9SWj|(QL0r=Vp(E*T26j>W?njj5J(SLI6XfnB`GH#s8kp(hNNEv zE(q3NoL^d$oXQ{w7tK#9&P>Tn%wv!O38A9=HP0Y!un6r1< zTd^huo;LGkN&mI=uSfHKabf!9ld@0lK4uehSa_jFgEb_ppjqd!f(83wPaP)1 z)nETt&ho^J#==}iQ>la nvOW&0qF1?=f`;PrWsSXe+-q++`F&+q{MXR^yz(C>DkcH|E$re` literal 0 HcmV?d00001 diff --git a/mods/MAPGEN/mcl_structures/schematics/mcl_structures_ruined_portal_2.mts b/mods/MAPGEN/mcl_structures/schematics/mcl_structures_ruined_portal_2.mts new file mode 100644 index 0000000000000000000000000000000000000000..fd17f1365b9e9770b5337aea9e266e52b6ff8e12 GIT binary patch literal 521 zcmeYb3HD`RVPI$AVc@Js0t{RX%!!#r45GQoIq`X^B^jwjRuHNvF*%z-8YEm?0#s3K z1*U+U{JhkpqD-Kq5J)mPzbMrzJwGQUDJLH&CJYxtQV2F2tS~3BEHOSUC%-&1FP%XI zt`;m@oL^d$oXQ{w7tK#9&P>Tn%wv!O38A9=HP0Y!um~(a7 zYoR6uf!0RTjsIu%pI&{O>%}^*Q>knC79UkO-ru~yDaGs7CaZj(gQckK&`=$J9)%ul;Yr)^BuFM%#AhX2FANWz%~lAI1o;k^MSta>cJ@RsKfS zr8CkbfAwv9C}TQf)r{x!JvR4d39Vl(dtR^PcK>gOUB99%CeK;B=J|{dbB?@N#~NfU l;^6IPTh7k#XwwFjC*{w-D?WVoJ>+I|?Zw>>nS(48V*q7<>8t<% literal 0 HcmV?d00001 diff --git a/mods/MAPGEN/mcl_structures/schematics/mcl_structures_ruined_portal_99.mts b/mods/MAPGEN/mcl_structures/schematics/mcl_structures_ruined_portal_99.mts new file mode 100644 index 0000000000000000000000000000000000000000..0834d8923e7ec5617c12bd757dc0119fa6d4133f GIT binary patch literal 521 zcmeYb3HD`RVPI$AVc@Js0t{RX%!!#r45GQoIq`X^B^jwjRuHNvF*%z-8YEm?0#s3K z1*U+U{JhkpqD-Kq5J)mPzbMrzJwGQUDJLH&CJYxtQYZo!%tMlu2JFb?LZF?z$w|TO6gg|J|(a=fZj?(xVjKwdoi1rGy9hXKs4) zbw@>glw17u=X2-HjkkIqbD-?#_4nsXub#JDDkE*X^Rw2TX!~t8{T~ kRDYhbOIfM#W`t4E_Rrd0JF3M)Yp>4#Wxj{e?Y5#e0M^an`v3p{ literal 0 HcmV?d00001 From 455fac93506bc4b27ea074c2b4325512cb7a38ba Mon Sep 17 00:00:00 2001 From: cora Date: Thu, 14 Jul 2022 06:09:55 +0200 Subject: [PATCH 2/2] Add schematics by RandomLegoBrick and PrarieWind --- mods/MAPGEN/mcl_structures/ruined_portal.lua | 5 ++++- .../mcl_structures_ruined_portal_3.mts | Bin 0 -> 684 bytes .../mcl_structures_ruined_portal_4.mts | Bin 0 -> 872 bytes .../mcl_structures_ruined_portal_5.mts | Bin 0 -> 1000 bytes 4 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 mods/MAPGEN/mcl_structures/schematics/mcl_structures_ruined_portal_3.mts create mode 100644 mods/MAPGEN/mcl_structures/schematics/mcl_structures_ruined_portal_4.mts create mode 100644 mods/MAPGEN/mcl_structures/schematics/mcl_structures_ruined_portal_5.mts diff --git a/mods/MAPGEN/mcl_structures/ruined_portal.lua b/mods/MAPGEN/mcl_structures/ruined_portal.lua index cea89e0e9..002195f76 100644 --- a/mods/MAPGEN/mcl_structures/ruined_portal.lua +++ b/mods/MAPGEN/mcl_structures/ruined_portal.lua @@ -24,6 +24,9 @@ local def = { filenames = { modpath.."/schematics/mcl_structures_ruined_portal_1.mts", modpath.."/schematics/mcl_structures_ruined_portal_2.mts", + modpath.."/schematics/mcl_structures_ruined_portal_3.mts", + modpath.."/schematics/mcl_structures_ruined_portal_4.mts", + modpath.."/schematics/mcl_structures_ruined_portal_5.mts", modpath.."/schematics/mcl_structures_ruined_portal_99.mts", }, after_place = function(pos,def,pr) @@ -76,7 +79,7 @@ local def = { } mcl_structures.register_structure("ruined_portal_overworld",def) local ndef = table.copy(def) -ndef.y_min=mcl_vars.mg_nether_lava_min +ndef.y_min=mcl_vars.mg_lava_nether_max +10 ndef.y_max=mcl_vars.mg_nether_max - 15 ndef.place_on = {"mcl_nether:netherrack","group:soul_block","mcl_blackstone:basalt,mcl_blackstone:blackstone","mcl_crimson:crimson_nylium","mcl_crimson:warped_nylium"}, mcl_structures.register_structure("ruined_portal_nether",ndef) diff --git a/mods/MAPGEN/mcl_structures/schematics/mcl_structures_ruined_portal_3.mts b/mods/MAPGEN/mcl_structures/schematics/mcl_structures_ruined_portal_3.mts new file mode 100644 index 0000000000000000000000000000000000000000..88c0acb28b77dd13e01cb54fce427260564ded6a GIT binary patch literal 684 zcmeYb3HD`RVc=olXW*(w1q^%)%!!#r3<9~yIq`X^B^jwjR=J7kxrq#-NFor4qQvBE z1`&{Oa(+>&RZe1AVtjFaX;E@2120@OC9|l6K>~#vU!GZ#5uaX^SX|5?3z8`=0a{sX z1*V{u#wQhJ0!>#0N#`Wym82Hs0Ttwz!g=w@shK&MdFc=n(o*x1Q;V%2?tD+VtG8!JH=KYMtXiuN_byvw?ezOXJzh9NmY#4q{8|7T3LJVdR>ZB-D5IHly1NjbleLnT=b2@z;lB zSSkIqaT83NvEo|toc~{c2>j9)UH?(z>8h%8>1S&A`t)?F6JP5Te4Y5sdfh~OMfG$0 zH`HXxzT8#ww^Fvy(EVrLo8T4g>yy^Iy!*7+E?>Eg@40?}wZZ&}p(f9zzg_)oytQhX zmA|I_`z7j%lP+JbG7B{Qyz&11^uO=JnZLAuoIf?ZVNIw?&dV!iN$Zm)-D*yIuru+| zN|WfKYfa}9Zst7un6xoZ>1D59?dM+GRn)$4E5lN*68XQ{Ygbmpf1Y}+Jon9G+a=<2PvzxRx-QEG0O1oW AZvX%Q literal 0 HcmV?d00001 diff --git a/mods/MAPGEN/mcl_structures/schematics/mcl_structures_ruined_portal_4.mts b/mods/MAPGEN/mcl_structures/schematics/mcl_structures_ruined_portal_4.mts new file mode 100644 index 0000000000000000000000000000000000000000..404256ed9970e7e6e50694c2fb1d752141b62649 GIT binary patch literal 872 zcmeYb3HD`RVc=%qXAr1I1q=cV%!!#r3<9~yIq`X^B^jwjR=J7kxrq#-NFor4qQvBE z1`&{Oa(+>&RZe1AVtjFaX;E@2gDgn2xCCfYu@#ttniZc^lnK)X67+Sfy9z>fT2-b zlAo6fvpYRMCk3J&96TUyQcgb5_c9>$u)xVlOhO5piaBp*z3yvP5NH+5*&h4)-TZy} z>-SYSr|?PVKbTPDvr6`0oh9G786h1fRweyE(C*Q7&b!jot!&Z}yOOqhsY|lcQN* z=NSd7uF*Bo%Jt)$di?3BvnS;x{8MNtc(Bmehjnv%qwNIMYVKy#{3t*eJ|FD>NkGb;l1i?&tZ|i31xQ-+&8yvnS8^+ z>iMz4&oX%vqN;nWzTW-Ee#tWZ{kE@@_?PUCdbW7A!reE_6NH~0Df{_q+3KSY=c<2f zp2Kd`81o^k=meioVLHRgw{z2ZH2>T>EK(E`bw{!L+@xJn2~$5U*s^KIoH+KYN#S!J zy!`z^)X7TFXcyO$$S$_ZFY>Bv-o6>uiuXT!$dPT~(YPdEwB(F}diSTx@+a-LE(HMH C#ef9> literal 0 HcmV?d00001 diff --git a/mods/MAPGEN/mcl_structures/schematics/mcl_structures_ruined_portal_5.mts b/mods/MAPGEN/mcl_structures/schematics/mcl_structures_ruined_portal_5.mts new file mode 100644 index 0000000000000000000000000000000000000000..f14105154ea4c6c51f90710a93e82b8fb385128d GIT binary patch literal 1000 zcmeYb3HD`RVc=%qXArDM1q^}=%!!#r45GQoIq`X^B^jwjRuHNvF*%z-1SFiCUzBQ< zlUSA*Uz}fBl$^>SfTTD#F+DdCq8*_wEhoP`GcTRN7^JYc1ZY9A6_|=o$^jZ%T#}!c z8lRkzS)7`ani5}-pOaaf0c7NtmZTOj=#r#~K^X2tu(3%+nLu|dVVHrCOa}QZHHASM zj~WIcxT)#+IVnjw`9MR(L1HLj6c4ctY!XzW2CF1)a})aEHn21_FWLVa=Q2ae`5Ix$n_JEP(2Vbt<= zwDN7Gx_6lQdzJYs?PtF~Hh0Gr2CjAe;(f|UuZ8C`*WtCzN8EOWHYuK7WXo_f*=?nt+E*o(P2pR@ zSS%%#8+{hee7wO%#Yt94(@#QeotW74sv90QPTg5f-!5LAGV#wXC$8hql@=Wd>uT)T zY4vE4>r}OeN=ISGv|cwR~6