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 zcmb7@dmz($AIH~Cic+*tA)#53+ljWBbxw6ES{9Y+#GaYO*d_b9&Dzw_RYgwgAhJhd z84g`sqUMpBat)PRk`^mFGa6gW?4jp$lEZnPXa9Wn`~KeF&*$}if4)ETUQaY=E(i=V z0D+@s_<`1f=HQ4lkTDrg!upbM_#hyJN+G}jYA6XCLZ#sYu;Dlo31mC*9tati0`Skv zBr(>PM#KkUk5WlQAb{Y9rG|zOXrOif`w5WQWGxBjJGuCmvLMSTh+k=^0Q_IDL<(gb z)_O9)gv-eU_y8h6AdMUQ6UB5wPQp>feNx8rn8@mnCoG;oBoQh8Al+{y_y8P{0)kHN zGR5Y%8G_bNNWVISfBlR7E6(x>F+P9*gaGi*3l<TmHQ!xzW!} z&=J~NLJ`XmistzS(bm-uk1sM99I->T$6P|49Q8K6-evDV&U>=er?kebI}LDr1r=&y zQ-j|PRyG{k0k;ekCD8U)?Q$;c+U_RAxu!$VEid&A@tLFqvqQTRfBC@(oo3a3^xU(1 zo`U|T2$f8;`_kBR*vdY(-LkgJyJ71yo)ZlnHyUT|@Q%lMUe0HS0yntQgLR+S9$dQz zg`TOUBK^(78Se3)%zfITu$PLmmt_rbkd_$&)C+4~j`xud1qgz6{@qtlK3o6f$Dc7i z*Y6`W2$Yj1?PH}OaX-4g7RP9#4C;2Z7CPgfBzb5-1CduERfmFV-)LEr8O|^4ReMWy z8^RIYqPDJQo`bh7A1C)@eLR*|?bpAIu;6~OZpjko&J&zU2L)TNw=@~@Jl&QylHk9N zCg3T)&o-^^a?3~hzE@&2%FZr~2#?B|&4Lm3aIdmzi<;Pxc^&8lN*Tqqlyg5U)+63Q zyBmyI{2*-GoA!gp z=46qQ2YB}3jjg~iA!gmhN+>`+tWznO!;igjX7h#N5)DF7ebhYu4?R#+Ti)ue7OX9F zUv@@8+ZqWhQ&Pqlcyzq_T)8!Oan``54A}YR_vex!DLOiPQkPI*p*Pk*9^Yv|>rr6n zDld;ZFY|eCv**|P47_XwyxUhQj_g^iN}z^vdgAJ$n%{y?A7V6&&i6>J;%m7H)A*%j zuZ4DQP~hiAlAF$4i^Hlm`|WpA+*hw1Y=^qud~9loW}90)SD==bu!oqj%w`!vf}l3X z-<3Xm7MA0vB5#jiu=V7cy$FI6zWM{zi3me8bxa}qrNt>-Vxu1BRc2)fg23e9JJpT8 zsNRS>v4a~E^rLl^Yw>cX(aMAvX4w+9{L_;-e*>jU^KwtvinxQWP?3=QB;uyD(D+U8 zh?S91k@YKi2hwGvw69YAp4Bci`-EnFfCe-C;ySq(grj9LxmS_|A#hL>N@e7Mj|0k4 zmJy*7>rU##k*^9vu84GKqrX)kSzh;t21-rp9al=h-DfwYi`y2`J= z#_?i~1T${5haY441RzIDW8Y@wpJs}Nhmm#lcbJ?xfC|aUA9HC5@4SLZ@!;g@sif9k zq}n3c2xDP(?-;vV)8cScxR?A{OzUJE=cpVE~Xb; zn%i#@UH%VS18t4JThbrjKqu;KwKV7PO5V;wp)KG8m}E$pzbu3qXCvA`e>;@=L1K6Q`n>AkqV;28?VDp;itj}g z+y2Hon7J=|X$vYR2IW`qlSyHY>SlRNOoR)@A6=y5-MF5vK2uh#QNN+eYUw_SL$^5; zFMCw>h8OgvUbf0sjJ%?2nr%=aP%9tRIJzGJl8n2C_-4$wLR zSefjcA?t!(o4XN(N`Rc&8xd(bT5_RktLdOyJh7&vu_#;dlUBhduCC3^9`UWD<>#N$ z7wi*MoF7c)K+FOPxMdrf&~+`ti+y9Y@L*-Jj*S Zyw52&^Wt%nm%jiH^ygKoHI^y_{{|qKPXzz~ literal 0 HcmV?d00001