From 24476caf7e3db88607ff97bdd3e093a988bb97d6 Mon Sep 17 00:00:00 2001 From: cora Date: Sun, 23 Oct 2022 22:14:52 +0200 Subject: [PATCH] Add nether bulwark --- mods/MAPGEN/mcl_nether_fortresses/init.lua | 86 +++++++++++++++++- .../mcl_nether_fortresses_nether_bulwark.mts | Bin 0 -> 2895 bytes 2 files changed, 83 insertions(+), 3 deletions(-) create mode 100644 mods/MAPGEN/mcl_nether_fortresses/schematics/mcl_nether_fortresses_nether_bulwark.mts diff --git a/mods/MAPGEN/mcl_nether_fortresses/init.lua b/mods/MAPGEN/mcl_nether_fortresses/init.lua index 996560783..a250b7fbd 100644 --- a/mods/MAPGEN/mcl_nether_fortresses/init.lua +++ b/mods/MAPGEN/mcl_nether_fortresses/init.lua @@ -1,10 +1,12 @@ local modname = minetest.get_current_modname() +local S = minetest.get_translator(modname) local modpath = minetest.get_modpath(modname) +local peaceful = minetest.settings:get_bool("only_peaceful_mobs", false) mcl_structures.register_structure("nether_outpost",{ - place_on = {"mcl_nether:netherrack","mcl_crimson:crimson_nylium","mcl_crimson:warped_nylium","mcl_blackstone:basalt","mcl_blackstone:soul_soil"}, - fill_ratio = 0.001, - chunk_probability = 600, + place_on = {"mcl_nether:netherrack","mcl_crimson:crimson_nylium","mcl_crimson:warped_nylium","mcl_blackstone:basalt","mcl_blackstone:soul_soil","mcl_blackstone:blackstone","mcl_nether:soul_sand"}, + fill_ratio = 0.01, + chunk_probability = 900, flags = "all_floors", biomes = {"Nether","SoulsandValley","WarpedForest","CrimsonForest","BasaltDelta"}, sidelen = 24, @@ -21,3 +23,81 @@ mcl_structures.register_structure("nether_outpost",{ mcl_mobspawners.setup_spawner(sp[1], "mobs_mc:blaze", 0, minetest.LIGHT_MAX+1, 10, 8, 0) end }) +mcl_structures.register_structure("nether_bulwark",{ + place_on = {"mcl_nether:netherrack","mcl_crimson:crimson_nylium","mcl_crimson:warped_nylium","mcl_blackstone:basalt","mcl_blackstone:soul_soil","mcl_blackstone:blackstone","mcl_nether:soul_sand"}, + fill_ratio = 0.01, + chunk_probability = 600, + flags = "all_floors", + biomes = {"Nether","SoulsandValley","WarpedForest","CrimsonForest"}, + sidelen = 32, + solid_ground = true, + make_foundation = true, + y_min = mcl_vars.mg_lava_nether_max - 1, + y_max = mcl_vars.mg_nether_max - 30, + filenames = { + modpath.."/schematics/mcl_nether_fortresses_nether_bulwark.mts" + }, + y_offset = 0, + construct_nodes = {"group:wall"}, + after_place = function(pos,def,pr) + if not peaceful then + local p1 = vector.offset(pos,-10,0,-10) + local p2 = vector.offset(pos,10,24,10) + local sp = minetest.find_nodes_in_area_under_air(p1,p2,{"mcl_blackstone:blackstone_brick_polished"}) + if sp and #sp > 0 then + for i=1,5 do + local pos = vector.offset(sp[pr:next(1,#sp)],0,1,0) + if pos then + minetest.add_entity(pos,"mobs_mc:piglin") + end + end + local pos = vector.offset(sp[pr:next(1,#sp)],0,1,0) + if pos then + minetest.add_entity(pos,"mobs_mc:piglin_brute") + end + end + end + end, + loot = { + ["mcl_chests:chest_small" ] ={ + { + stacks_min = 1, + stacks_max = 2, + items = { + --{ itemstring = "FIXME:spectral_arrow", weight = 1, amount_min = 10, amount_max=28 }, + { itemstring = "mcl_blackstone:blackstone_gilded", weight = 1, amount_min = 8, amount_max=12 }, + { itemstring = "mcl_core:iron_ingot", weight = 1, amount_min = 4, amount_max=9 }, + { itemstring = "mcl_core:gold_ingot", weight = 1, amount_min = 4, amount_max=9 }, + { itemstring = "mcl_core:crying_obsidian", weight = 1, amount_min = 3, amount_max=8 }, + { itemstring = "mcl_bows:crossbow", weight = 1, func = function(stack, pr) + mcl_enchanting.enchant_uniform_randomly(stack, {"soul_speed"}, pr) + end }, + { itemstring = "mcl_core:goldblock", weight = 1, }, + { itemstring = "mcl_tools:sword_gold", weight = 1, }, + { itemstring = "mcl_tools:axe_gold", weight = 1, func = function(stack, pr)mcl_enchanting.enchant_uniform_randomly(stack, {"soul_speed"}, pr) end }, + { itemstring = "mcl_armor:helmet_gold", weight = 1, func = function(stack, pr)mcl_enchanting.enchant_uniform_randomly(stack, {"soul_speed"}, pr) end }, + { itemstring = "mcl_armor:chestplate_gold", weight = 1, func = function(stack, pr)mcl_enchanting.enchant_uniform_randomly(stack, {"soul_speed"}, pr) end }, + { itemstring = "mcl_armor:leggings_gold", weight = 1, func = function(stack, pr)mcl_enchanting.enchant_uniform_randomly(stack, {"soul_speed"}, pr) end }, + { itemstring = "mcl_armor:boots_gold", weight = 1, func = function(stack, pr)mcl_enchanting.enchant_uniform_randomly(stack, {"soul_speed"}, pr) end }, + } + }, + { + stacks_min = 2, + stacks_max = 4, + items = { + { itemstring = "mcl_bows:arrow", weight = 4, amount_min = 5, amount_max=17 }, + { itemstring = "mcl_mobitems:string", weight = 4, amount_min = 1, amount_max=6 }, + { itemstring = "mcl_core:iron_nugget", weight = 1, amount_min = 2, amount_max = 6 }, + { itemstring = "mcl_core:gold_nugget", weight = 1, amount_min = 2, amount_max = 6 }, + { itemstring = "mcl_mobitems:leather", weight = 1, amount_min = 1, amount_max = 3 }, + } + }, + { + stacks_min = 1, + stacks_max = 1, + items = { + { itemstring = "mcl_compass:lodestone" }, + } + }} + }, +}) diff --git a/mods/MAPGEN/mcl_nether_fortresses/schematics/mcl_nether_fortresses_nether_bulwark.mts b/mods/MAPGEN/mcl_nether_fortresses/schematics/mcl_nether_fortresses_nether_bulwark.mts new file mode 100644 index 0000000000000000000000000000000000000000..edf8608d4296fec6771b77c5faafab4084f9066e GIT binary patch literal 2895 zcmb7Ddpy(YA73{qO3^}vgl0u)iVR)7m60C*zae?p4sIGl(j)9_R>@FlCi|1dZ_fk+?+fONls-~zD(G6*`k z%M_d6W(Zn84xMl~+3Y{%EFTBs0`UM1aQ?ht0Mhu-z*9)ZCyBBB*6hE^z|bg1zc|5B zsCef93en$>NWlez940&YuX+7_Bi2ljGhuHc*=Z#^fedFn`j4CIhXt@i+63e0a3)%P z3Bk@``c4}`CgYu^AMFt$g+iTy&la?LMv0gJ0?{AuKf_788S3AGAmfZ*-`tcreSH<5 zCp2wn4m0pN&QRYtJ&pbJaC^Jy;jrn;Gc~oJ9{ycKio|CTBgIi${=Fut(cfLr5!zZp z7R%v^=J^KE*3}P>FESV$u|u@STtc24^)bEPW$!@Bd$QHHw8pGE4RCw~6>4HqL*5Nm zHXPdFY#AgprnPxpof z`kRL{JmNo@`?f`4E)``j%NpPyEHebi7uLKSpCca%;CSu)yRV>pw*JYFzo31u-$!WR z$tO+P$4Y5&Kf1jZ$7mxB>UOmjy5OE9d1^s}5LY5qhk|S0XjzjOE-&m=drNg2!r|Sb zwytMhgSRaoC--E1JeF7O-@gpM;C`}h$r6{&6P!v11zWGTG#TY( zHm&b+&qw&ZSE4n_&Mu4ykII_Og5mdYud-^3n%I$f9jFCL8QHCrb3ZKBGu}bF8;oB3 zAZ**7AeVu$(OiI{vblq_$?+ZONV0#;NjTfUp`h=!#ojCEIq=RKJff=Uzj+YmWRa2w zc=h3ot-vrLdfmlJC_p-_Qz@ClkG*kb^M&CO4SaBY)I9zVJy2v@-s-IutSxjuc1A(l z8VM{@QpOl~biDdpxixoj*1)C=*!kx7=aL~QIy!q&mylthH`YKN-)TVUkzuGRZ_he! z^LcNx=hylUyle%0+E*%$>{+ZzpoDUI;_9NB--1scVl<4-_e`$hYq<;4_@!m9g?8>x z;Fm_CyUtvT!>Ts>?RQf=R<9jwhq~Q-Y-)*On_E0rAeWY~hnTUdkl|FnH zmgA@*ZI58E_2inpaJ&<)`UAy@07Ef#OdPA0gZ^WJ0 z!Ho&}(YngDI62d3WkL+IYzbTb=}BCGfzq{kxfg6j+(9>}NJx4TaZ_4o{3c|?%E+k5 z`jxx`;W|>az7DYj&6x~_GzI;8Uy(mo}Eo36E^6Rg0yqO~* zj2rFY$5_6Bh!NA+w^{k8nWEugL|y$ICT9+yLU8iOTwB6Bub@*rIk|c&skJw;wn#R@ zSeV^A#_ra%I2;u&W<-jm+Z211y(bfIm-Rgua%Cff)U`YBaa5u5b|0m9VKhXV=YHyA zjZ!?=7$mP%n_W#RzNL~iJ9E^9?0OY>TgvS&GkUBvoz)jua|>SAL@^lxf1TPKw_A?WNZ)Nb|HVrWahA+iwzG z{5p%q5_Ps(n)7%iZ)YKMEJTqu&hvO~XT@NxRay$?fQUb|`Zuiolbp#$ z7Z|?pZPQ$(wNHKgg!ZU-3|KGNL|*dl&l9XwTW9&=4d-^`u5RXS)9+WyUcA#Dyv_?v zJKBJMKWEmVE#L#_WJp+mjK++!5pAHq9ZLNmu{(c#UUf*(`mwO~&9N=T_o9kzf9D;{ z+?Tzy1(_3r^e_0yq%cQyvpgmy!WA8WD$?<3Tu)b@DJ#~f-%w?>bf3hb+Z>9MJt}*{ z3w~2CTV*RoT+ubnHmDG&m5*v1J&piL#$7{vGiF?(0+Cjo*&6n=q1)c-dAQf@Q$8zs zG5X8PI}(cqNdGCf;y1X?X-zjDV(Qa7HJ28&n5=A77|^-vSVD45jeO^ZEmlFYD_Idi zzlCj=Gec7c^0l^6_LNH{rd*MvZ?sLQxK_@SNAEw@J=XOw!Ypx<9*5wu!bw7?Om@kT zbwRJq-H1dcKu+zAh%_B7xlpy$bkIGXP*c)al&$zlt6&pX*XCxA_*T;L^H1pu_6aJ^ z4<>UUW`PCVvJFkBx)moDv{YC$niUV}81&EPkEM>3?7}qt_~yWlBV~*3&vIPe=aidy U@wmy$Ux5eu^D5OEOBI5@03eu81poj5 literal 0 HcmV?d00001