From 31b94f5b2266b4ed46d9585480a9d92289312fa9 Mon Sep 17 00:00:00 2001 From: cora Date: Sun, 19 Jun 2022 00:17:43 +0200 Subject: [PATCH] Add "nether outpost" As a temporary solution until large nether fortresses are there. This is just a little tower containing some warts and a blaze spawner. --- mods/ITEMS/mcl_crimson/init.lua | 4 +- mods/MAPGEN/mcl_nether_fortresses/init.lua | 36 ++++++++++++++++++ mods/MAPGEN/mcl_nether_fortresses/mod.conf | 3 ++ .../schematics/nether_outpost.mts | Bin 0 -> 1392 bytes mods/MAPGEN/mcl_structures/api.lua | 4 ++ 5 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 mods/MAPGEN/mcl_nether_fortresses/init.lua create mode 100644 mods/MAPGEN/mcl_nether_fortresses/mod.conf create mode 100644 mods/MAPGEN/mcl_nether_fortresses/schematics/nether_outpost.mts diff --git a/mods/ITEMS/mcl_crimson/init.lua b/mods/ITEMS/mcl_crimson/init.lua index a7fe33f71..73c7f787d 100644 --- a/mods/ITEMS/mcl_crimson/init.lua +++ b/mods/ITEMS/mcl_crimson/init.lua @@ -6,11 +6,11 @@ local modpath = minetest.get_modpath(modname) -- adapted for mcl2 by cora local function generate_warped_tree(pos) - minetest.place_schematic(pos,modpath.."/schematics/warped_mushroom.mts","random",nil,false,"place_center_x,place_center_z") + minetest.place_schematic(pos,modpath.."/schematics/warped_fungus_1.mts","random",nil,false,"place_center_x,place_center_z") end function generate_crimson_tree(pos) - minetest.place_schematic(pos,modpath.."/schematics/crimson_mushroom.mts","random",nil,false,"place_center_x,place_center_z") + minetest.place_schematic(pos,modpath.."/schematics/crimson_fungus_1.mts","random",nil,false,"place_center_x,place_center_z") end minetest.register_node("mcl_crimson:warped_fungus", { diff --git a/mods/MAPGEN/mcl_nether_fortresses/init.lua b/mods/MAPGEN/mcl_nether_fortresses/init.lua new file mode 100644 index 000000000..8910669cd --- /dev/null +++ b/mods/MAPGEN/mcl_nether_fortresses/init.lua @@ -0,0 +1,36 @@ +local modname = minetest.get_current_modname() +local modpath = minetest.get_modpath(modname) + +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"}, + noise_params = { + offset = 0, + scale = 0.00022, + spread = {x = 250, y = 250, z = 250}, + seed = 333, + octaves = 1, + persist = 0.0001, + flags = "absvalue", + }, + flags = "all_floors", + biomes = {"Nether","SoulsandValley","WarpedForest","CrimsonForest","BasaltDelta"}, + on_place = function(pos,def,pr) + local sidelen = 15 + local node = minetest.get_node(vector.offset(pos,1,1,0)) + local solid = minetest.find_nodes_in_area(vector.offset(pos,-sidelen/2,-1,-sidelen/2),vector.offset(pos,sidelen/2,-1,sidelen/2),{"group:solid"}) + local air = minetest.find_nodes_in_area(vector.offset(pos,-sidelen/2,1,-sidelen/2),vector.offset(pos,sidelen/2,4,sidelen/2),{"air"}) + if #solid < ( sidelen * sidelen ) or + #air < (sidelen * sidelen ) then return false end + minetest.bulk_set_node(solid,node) + return true + end, + y_min = mcl_vars.mg_lava_nether_max, + y_max = mcl_vars.mg_nether_max - 30, + filenames = { modpath.."/schematics/nether_outpost.mts" }, + y_offset = 0, + after_place = function(pos) + local sp = minetest.find_nodes_in_area(pos,vector.offset(pos,0,20,0),{"mcl_mobspawners:spawner"}) + if not sp[1] then return end + mcl_mobspawners.setup_spawner(sp[1], "mobs_mc:blaze", 0, minetest.LIGHT_MAX+1, 10, 3, -1) + end +}) diff --git a/mods/MAPGEN/mcl_nether_fortresses/mod.conf b/mods/MAPGEN/mcl_nether_fortresses/mod.conf new file mode 100644 index 000000000..7d1565ff3 --- /dev/null +++ b/mods/MAPGEN/mcl_nether_fortresses/mod.conf @@ -0,0 +1,3 @@ +name = mcl_nether_fortresses +author = cora +depends = mcl_init, mcl_structures, mcl_mobspawners diff --git a/mods/MAPGEN/mcl_nether_fortresses/schematics/nether_outpost.mts b/mods/MAPGEN/mcl_nether_fortresses/schematics/nether_outpost.mts new file mode 100644 index 0000000000000000000000000000000000000000..7fba741bffc627745bed98dad8e688552a64664e GIT binary patch literal 1392 zcmeYb3HD`RVc=!pXW*?z1q@OQ%!!#r49dC5Iq}6MKxVNOn2OI!Ey+kNicc!aOwNwa zFD*$eVvxnFh(QV@U7nbeQ*2d~ngY=e(Qe2f4w8ciSs|N@N0TWYITMIm(o*x1Q;Sgy zj0cMm@=s=79?(Cy9c;uPjpSgUZ%~4RK?F%MJtx1sxFkO>l|cq13Jb%W#3WQbC?Sk4 z8=sP2nv|1@VsLSODbTpYyc7lrBK~+0%0(SVRt3OD2NMC(u5HtQDDkgGDw1qO3F!0&IX696*wqL@{5u) z@Wh!##hkYhy^|Iz@bq2T{cdgC_U*S{-Mjqh)p0E^j?SiAr|w9#@jYz*BP7FBaKTB- zVP^b(aoM6Kp}GnGio@bK(=Qb}iM%vC@mN>mL91ijnLql9r!M_j!1`e77bC%ylfGTi z`4oL8c+t7nJ3CHDH-~83$WB;4WBQS8ljgJ;oHLqheR4+J*%+y!)QQ@=pJ#0n@G9Oc z5jbz&z3`(7tDLW<{qqoGxU{%Q=F18B2cEOucb*QM$s085&4tg;K7770WhJ}kt>4T! zr#FgawS=VjZ~dfF^gQ=fPhK#0sFQBU{RLu&K3`K7m+qZcpj#slna{trmFsEawI&m` z9fC7Y`~8_#p3k?{LEGZ#?hDTsn7v)Wx>M|(^sO?}-v4?I-&t>e-n}7Q_kp?a+E%Lx zV&S(-6BzG4zRq;)+SNm!zBeUJ@N${^6sv6@bpW-C$^`1J# z7eA#}a;wg#Ot<+ui*|jJy??I0Rm1x;``U$T|GS@>x`plb7jfgD9ej+DhPRY+j6O1K zRdKU+OFp7iQk|0K=D&qoiZ=o%V7+9vM3U?Gj9$seFFKE9W}IP?TAN;QMWBD$%ZyC^ zlZUQs+VE@|Yutow!D4qdF52emnY^i?p3$2pX@gRSyVxDADXitGAN1DnPd)x4@<6=W z>Z*U6oI7^EQQIs~{ae`W)?*?2lP(_JdnX<^eZ^$){L?PGCm2qge4=u)_1(OL+qL%6 zIng_+zc9S}{ZrtAW@2vlvGc_XCES-^Y*9PP;KyKdnR#ARfA@K3yGRcsh21(|W>tH) zy^xQrF#F3NxnX{5?B)vzZl0?jy|}Wq!t12d