From 8edf220213fc5f7f5d13bd40b2212f4604be7ced Mon Sep 17 00:00:00 2001 From: "Github is a non-free platform owned by Microsoft. Reasonable alternatives exist, such as Gitea, Sourcehut. We need a federated, mastodon-like forge based on ForgeFed. See: https://forgefed.org" Date: Sun, 3 Dec 2023 08:33:53 +0100 Subject: [PATCH] fix crash when fake player dig slade (#46) When a fake player, for example a node, dig slade, it return player ~= nil but it is not a current player, the server_diggable_only function tries to check the privs of the node, then this crashes Here we use the built-in check player:is_player() so the node privs are not checked This crash occurred in the technic mod when the corium eats the slade --- df_underworld_items/slade.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/df_underworld_items/slade.lua b/df_underworld_items/slade.lua index 87adb7c..ae3d4ba 100644 --- a/df_underworld_items/slade.lua +++ b/df_underworld_items/slade.lua @@ -3,7 +3,7 @@ local S = minetest.get_translator(minetest.get_current_modname()) local invulnerable = df_underworld_items.config.invulnerable_slade and not minetest.settings:get_bool("creative_mode") local server_diggable_only = function(pos, player) - if player then + if player and player:is_player() then return minetest.check_player_privs(player, "server") end return false @@ -181,4 +181,4 @@ end if minetest.get_modpath("mesecons_mvps") and df_underworld_items.config.invulnerable_slade then mesecon.register_mvps_stopper("df_underworld_items:slade") -end \ No newline at end of file +end