From 2b385540eb95b498504283e0a0405e74b667b7da Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sat, 28 Aug 2021 10:58:07 +0200 Subject: [PATCH] Add support for fake players --- hunger.lua | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/hunger.lua b/hunger.lua index cffd71d..2e0f49e 100644 --- a/hunger.lua +++ b/hunger.lua @@ -79,14 +79,24 @@ function hbhunger.item_eat(hunger_change, replace_with_item, poisen, heal, sound if h == nil or hp == nil then return end - minetest.sound_play( - {name = sound or "hbhunger_eat_generic", - gain = 1}, - {object=user, - max_hear_distance = 16, - pitch = 1 + math.random(-10, 10)*0.005,}, - true - ) + if user:is_player() then + local object, object_pos + -- Check if user is a "fake player" (unofficial imitation of a the player data structure) + if type(user) == "userdata" then + object = user + else + object_pos = user:get_pos() + end + minetest.sound_play( + {name = sound or "hbhunger_eat_generic", + gain = 1}, + {object=object, + pos=object_pos, + max_hear_distance = 16, + pitch = 1 + math.random(-10, 10)*0.005,}, + true + ) + end -- Saturation if h < hbhunger.SAT_MAX and hunger_change then