From da9f253117a820da7490ef21ed1a58a2d99efaee Mon Sep 17 00:00:00 2001 From: cora Date: Thu, 3 Nov 2022 00:49:23 +0100 Subject: [PATCH] Add setting for mob-movement stop range --- mods/ENTITIES/mcl_mobs/api.lua | 5 ++++- settingtypes.txt | 5 +++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/mods/ENTITIES/mcl_mobs/api.lua b/mods/ENTITIES/mcl_mobs/api.lua index b10468dde..e8c8a3618 100644 --- a/mods/ENTITIES/mcl_mobs/api.lua +++ b/mods/ENTITIES/mcl_mobs/api.lua @@ -18,7 +18,10 @@ local PATHFINDING = "gowp" -- Localize local S = minetest.get_translator("mcl_mobs") +local mob_active_range = tonumber(minetest.settings:get("mcl_mob_active_range")) or 48 + local LOGGING_ON = minetest.settings:get_bool("mcl_logging_mobs_villager",false) + local LOG_MODULE = "[Mobs]" local function mcl_log (message) if LOGGING_ON and message then @@ -216,7 +219,7 @@ end local function player_in_active_range(self) for _,p in pairs(minetest.get_connected_players()) do - if vector.distance(self.object:get_pos(),p:get_pos()) <= 38 then return true end + if vector.distance(self.object:get_pos(),p:get_pos()) <= mob_active_range then return true end -- slightly larger than the mc 32 since mobs spawn on that circle and easily stand still immediately right after spawning. end end diff --git a/settingtypes.txt b/settingtypes.txt index 3c3344258..39dbc2e90 100644 --- a/settingtypes.txt +++ b/settingtypes.txt @@ -127,6 +127,11 @@ mcl_mob_cap_ambient (Mob cap ambient mobs) int 15 0 1024 #Display mob icons in inventory instead of mc-like spawn eggs mcl_old_spawn_icons (Old spawn icons instead of eggs) bool false +# How far from players should mobs stop moving +# Larger values will have a larger performance impact (default:48) +mcl_mob_active_range (Active mob range) int 48 0 256 + + [Audio] # Enable flame sound. flame_sound (Flame sound) bool true