From 8aedd6a76105a58bd02817ff6affcefdbc9a2300 Mon Sep 17 00:00:00 2001 From: cora Date: Fri, 28 Oct 2022 02:46:06 +0200 Subject: [PATCH] add nether bridge fragment --- mods/MAPGEN/mcl_nether_fortresses/init.lua | 57 ++++++++++++------ .../mcl_nether_fortresses_nether_bridge_1.mts | Bin 0 -> 799 bytes 2 files changed, 39 insertions(+), 18 deletions(-) create mode 100644 mods/MAPGEN/mcl_nether_fortresses/schematics/mcl_nether_fortresses_nether_bridge_1.mts diff --git a/mods/MAPGEN/mcl_nether_fortresses/init.lua b/mods/MAPGEN/mcl_nether_fortresses/init.lua index 3595719ad..035aa788c 100644 --- a/mods/MAPGEN/mcl_nether_fortresses/init.lua +++ b/mods/MAPGEN/mcl_nether_fortresses/init.lua @@ -3,6 +3,21 @@ local S = minetest.get_translator(modname) local modpath = minetest.get_modpath(modname) local peaceful = minetest.settings:get_bool("only_peaceful_mobs", false) + +local function spawn_mobs(mob,spawnon,p1,p2,pr,n) + if peaceful then return end + n = n or 1 + local sp = minetest.find_nodes_in_area_under_air(p1,p2,spawnon) + if sp and #sp > 0 then + for i=1,n do + local pos = vector.offset(sp[pr:next(1,#sp)],0,1,0) + if pos then + minetest.add_entity(pos,mob) + end + end + end +end + 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","mcl_blackstone:blackstone","mcl_nether:soul_sand"}, fill_ratio = 0.01, @@ -23,18 +38,26 @@ mcl_structures.register_structure("nether_outpost",{ end }) -local function spawn_mobs(mob,spawnon,p1,p2,pr,n) - n = n or 1 - local sp = minetest.find_nodes_in_area_under_air(p1,p2,spawnon) - if sp and #sp > 0 then - for i=1,n do - local pos = vector.offset(sp[pr:next(1,#sp)],0,1,0) - if pos then - minetest.add_entity(pos,mob) - end - end +mcl_structures.register_structure("nether_bridge",{ + place_on = {"mcl_nether:nether_lava_source"}, + fill_ratio = 0.01, + chunk_probability = 100, + flags = "all_floors liquid_surface", + --biomes = {"Nether","SoulsandValley","WarpedForest","CrimsonForest","BasaltDelta"}, + sidelen = 38, + solid_ground = false, + make_foundation = false, + y_min = mcl_vars.mg_lava_nether_max - 5, + y_max = mcl_vars.mg_lava_nether_max + 5, + filenames = { modpath.."/schematics/mcl_nether_fortresses_nether_bridge_1.mts" }, + y_offset = 0, + after_place = function(pos,def,pr) + local p1 = vector.offset(pos,-14,0,-14) + local p2 = vector.offset(pos,14,24,14) + spawn_mobs("mobs_mc:witherskeleton",{"mcl_blackstone:blackstone_chiseled_polished"},p1,p2,pr,5) end -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, @@ -62,13 +85,11 @@ mcl_structures.register_structure("nether_bulwark",{ y_offset = 0, construct_nodes = {"group:wall"}, after_place = function(pos,def,pr) - if not peaceful then - local p1 = vector.offset(pos,-14,0,-14) - local p2 = vector.offset(pos,14,24,14) - spawn_mobs("mobs_mc:piglin",{"mcl_blackstone:blackstone_brick_polished","mcl_stairs:slab_blackstone_polished"},p1,p2,pr,5) - spawn_mobs("mobs_mc:piglin_brute",{"mcl_blackstone:blackstone_brick_polished","mcl_stairs:slab_blackstone_polished"},p1,p2,pr) - spawn_mobs("mobs_mc:hoglin",{"mcl_blackstone:nether_gold"},p1,p2,pr,4) - end + local p1 = vector.offset(pos,-14,0,-14) + local p2 = vector.offset(pos,14,24,14) + spawn_mobs("mobs_mc:piglin",{"mcl_blackstone:blackstone_brick_polished","mcl_stairs:slab_blackstone_polished"},p1,p2,pr,5) + spawn_mobs("mobs_mc:piglin_brute",{"mcl_blackstone:blackstone_brick_polished","mcl_stairs:slab_blackstone_polished"},p1,p2,pr) + spawn_mobs("mobs_mc:hoglin",{"mcl_blackstone:nether_gold"},p1,p2,pr,4) end, loot = { ["mcl_chests:chest_small" ] ={ diff --git a/mods/MAPGEN/mcl_nether_fortresses/schematics/mcl_nether_fortresses_nether_bridge_1.mts b/mods/MAPGEN/mcl_nether_fortresses/schematics/mcl_nether_fortresses_nether_bridge_1.mts new file mode 100644 index 0000000000000000000000000000000000000000..366d4f3e783e162c9067dfdb8c55d8c33dc6d5b5 GIT binary patch literal 799 zcmeYb3HD`RVc=#EVo<5a01TWA%!!#r46?b&Iq}6MKxVNOn2OI!Ey+kNicc!aOwMKy z2T4OjtWYGRktB*zQ&4qjgCvu35|guwOY-wltq{!k2ldG#fG z&gbIquPt^`U#l{QEb4-PPm$+R`1j{+V&Y{pEtaHfvKpbpN^WyVbfcX@3WQVF+i^)d%j3;@;_NEFzE;2bKwK(o&D`nndxGsguXmM-+P_1BQ`AuQ(uG~~1P!@m zFMX)m&hnmbx)kH35APd2mR#Gr`)EzbnOi${@4xT#Wbw0;+1tPUQ4*~=A7l0BpOclh z>9x#xVqP1{_gmbbEzf`q1pF^`B`eGiiE>!ImKOxvLw#)n|4MI__14LfuDT+e z-4?M;@b9lXj)%Q=m+f2ecnV9=i5bkEQq^Lg^UfB2J-0J-