From 61408dc1b6fd58b9b9754ea37752d5c6e9ff6d94 Mon Sep 17 00:00:00 2001 From: kno10 <erich.schubert@gmail.com> Date: Thu, 16 Jan 2025 23:58:10 +0100 Subject: [PATCH] Guard logging in mcl_dungeons (#4857) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit No dungeon logging by default. Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4857 Reviewed-by: Mikita Wiśniewski <rudzik8@protonmail.com> Co-authored-by: kno10 <erich.schubert@gmail.com> Co-committed-by: kno10 <erich.schubert@gmail.com> --- mods/MAPGEN/mcl_dungeons/init.lua | 17 +++++++++++++---- settingtypes.txt | 3 +++ 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/mods/MAPGEN/mcl_dungeons/init.lua b/mods/MAPGEN/mcl_dungeons/init.lua index 24b5c6b4a..29201789d 100644 --- a/mods/MAPGEN/mcl_dungeons/init.lua +++ b/mods/MAPGEN/mcl_dungeons/init.lua @@ -2,6 +2,7 @@ mcl_dungeons = {} +local logging = minetest.settings:get_bool("mcl_logging_dungeons", false) local mg_name = minetest.get_mapgen_setting("mg_name") -- Are dungeons disabled? if mcl_vars.mg_dungeons == false or mg_name == "singlenode" then return end @@ -234,7 +235,9 @@ local function ecb_spawn_dungeon(blockpos, action, calls_remaining, param) -- Check conditions. If okay, start generating if check and (openings_counter < 1 or openings_counter > 5) then return end - minetest.log("action","[mcl_dungeons] Placing new dungeon at "..minetest.pos_to_string(vector_new(x, y, z))) + if logging then + minetest.log("action","[mcl_dungeons] Placing new dungeon at "..minetest.pos_to_string(vector_new(x, y, z))) + end -- Okay! Spawning starts! -- Remember spawner chest positions to set metadata later @@ -369,7 +372,9 @@ local function ecb_spawn_dungeon(blockpos, action, calls_remaining, param) set_node(pos, {name="mcl_chests:chest", param2=facedir}) local meta = get_meta(pos) - minetest.log("action", "[mcl_dungeons] Filling chest " .. tostring(c) .. " at " .. minetest.pos_to_string(pos)) + if logging then + minetest.log("action", "[mcl_dungeons] Filling chest " .. tostring(c) .. " at " .. minetest.pos_to_string(pos)) + end mcl_loot.fill_inventory(meta:get_inventory(), "main", mcl_loot.get_multi_loot(loottable, pr), pr) end @@ -404,7 +409,9 @@ local function dungeons_nodes(minp, maxp, blockseed) local z = pr:next(minp.z, maxp.z-dim.z-1) local p1 = vector_new(x, y, z) local p2 = vector_new(x+dim.x+1, y+dim.y+1, z+dim.z+1) - minetest.log("verbose","[mcl_dungeons] size=" ..minetest.pos_to_string(dim) .. ", emerge from "..minetest.pos_to_string(p1) .. " to " .. minetest.pos_to_string(p2)) + if logging then + minetest.log("verbose","[mcl_dungeons] size=" ..minetest.pos_to_string(dim) .. ", emerge from "..minetest.pos_to_string(p1) .. " to " .. minetest.pos_to_string(p2)) + end emerge_area(p1, p2, ecb_spawn_dungeon, {p1=p1, p2=p2, dim=dim, pr=pr}) end end @@ -414,7 +421,9 @@ function mcl_dungeons.spawn_dungeon(p1, _, pr) if not p1 or not pr or not p1.x or not p1.y or not p1.z then return end local dim = dungeonsizes[pr:next(1, #dungeonsizes)] local p2 = vector_new(p1.x+dim.x+1, p1.y+dim.y+1, p1.z+dim.z+1) - minetest.log("verbose","[mcl_dungeons] size=" ..minetest.pos_to_string(dim) .. ", emerge from "..minetest.pos_to_string(p1) .. " to " .. minetest.pos_to_string(p2)) + if logging then + minetest.log("verbose","[mcl_dungeons] size=" ..minetest.pos_to_string(dim) .. ", emerge from "..minetest.pos_to_string(p1) .. " to " .. minetest.pos_to_string(p2)) + end emerge_area(p1, p2, ecb_spawn_dungeon, {p1=p1, p2=p2, dim=dim, pr=pr, dontcheck=true}) end diff --git a/settingtypes.txt b/settingtypes.txt index 443d29440..5deaf2d8f 100644 --- a/settingtypes.txt +++ b/settingtypes.txt @@ -346,6 +346,9 @@ mcl_logging_mobs_movement (Log Mob Movement) bool false # If enabled mapgen timings will be dumped to log mcl_logging_mapgen (Chunk generation logging) bool false +# If enabled generated dungeons will be logged +mcl_logging_dungeons (Dungeons generation logging) bool false + # If enabled generated structures will be logged mcl_logging_structures (Structure generation logging) bool false