From 9e3c2fe21e1cef5f4d5d35420a5ac91e8c39c112 Mon Sep 17 00:00:00 2001 From: kay27 Date: Tue, 4 May 2021 03:27:35 +0400 Subject: [PATCH] [mapgen] [mcl_ocean_monument] Support ice --- mods/MAPGEN/mcl_ocean_monument/init.lua | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/mods/MAPGEN/mcl_ocean_monument/init.lua b/mods/MAPGEN/mcl_ocean_monument/init.lua index 135e315bd..385e342df 100644 --- a/mods/MAPGEN/mcl_ocean_monument/init.lua +++ b/mods/MAPGEN/mcl_ocean_monument/init.lua @@ -4,7 +4,7 @@ local minetest_place_schematic = minetest.place_schematic local minetest_pos_to_string = minetest.pos_to_string local path = minetest.get_modpath("mcl_ocean_monument") .. "/schematics/ocean_monument.mts" -local water, air = "mcl_core:water_source", "air" +local water, air, ice = "mcl_core:water_source", "air", "mcl_core:ice" mcl_mapgen.register_chunk_generator(function(minp, maxp, seed) local minp = minp @@ -14,16 +14,19 @@ mcl_mapgen.register_chunk_generator(function(minp, maxp, seed) local x, z = minp.x, minp.z local pr = PseudoRandom(seed) for i = 1, pr:next(10,100) do - if mcl_mapgen_get_far_node({x=pr:next(0,79)+x, y=1, z=pr:next(0,79)+z}).name ~= water then return end + local pos = {x=pr:next(0,79)+x, y=1, z=pr:next(0,79)+z} + local node_name = mcl_mapgen_get_far_node(pos).name + if node_name ~= water and node_name ~= ice then return end end for i = 1, pr:next(10,100) do - if mcl_mapgen_get_far_node({x=pr:next(0,79)+x, y=2, z=pr:next(0,79)+z}).name ~= air then return end + local pos = {x=pr:next(0,79)+x, y=2, z=pr:next(0,79)+z} + local node_name = mcl_mapgen_get_far_node(pos).name + if node_name ~= air then return end end for i = 1, pr:next(10,100) do - if mcl_mapgen_get_far_node({x=pr:next(15,64)+x, y=pr:next(0,25)-25, z=pr:next(15,64)+z}).name ~= water then --- minetest_log("warning", "[mcl_ocean_monument] Not water at " .. minetest_pos_to_string(minp)) - return - end + local pos = {x=pr:next(15,64)+x, y=pr:next(0,25)-25, z=pr:next(15,64)+z} + local node_name = mcl_mapgen_get_far_node(pos).name + if node_name ~= water then return end end -- minetest_place_schematic(minp, path, tostring(pr:next(0,3)*90), nil, true)