From 0948eefe455e236cf27ef9eaa0732ac8260835d1 Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Thu, 2 Jul 2015 10:43:00 +0100 Subject: [PATCH] Fix food.item_eat bug --- food/init.lua | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/food/init.lua b/food/init.lua index 6694ab0..7911271 100644 --- a/food/init.lua +++ b/food/init.lua @@ -100,16 +100,22 @@ function food.module(name, func, ingred) func() end +local global_exists = minetest.global_exists or function(name) + return (_G[name] ~= nil) +end + -- Checks for hunger mods to register food on function food.item_eat(amt) - if minetest.get_modpath("diet") and diet and diet.item_eat then + if minetest.get_modpath("diet") and global_exists("diet") and diet.item_eat then return diet.item_eat(amt) - elseif minetest.get_modpath("hud") and hud and hud.item_eat then + elseif minetest.get_modpath("hud") and global_exists("hud") and hud.item_eat then return hud.item_eat(amt) elseif minetest.get_modpath("hbhunger") then - if hbhunger then + if global_exists("hbhunger") then return hbhunger.item_eat(amt) - else + elseif global_exists("hunger") then + -- For backwards compatibility + -- It used to be called `hunger` rather than `hbhunger` return hunger.item_eat(amt) end else