diff options
| -rw-r--r-- | functions.lua | 26 | ||||
| -rw-r--r-- | init.lua | 9 | 
2 files changed, 18 insertions, 17 deletions
| diff --git a/functions.lua b/functions.lua index adcc2ca..b707942 100644 --- a/functions.lua +++ b/functions.lua @@ -20,7 +20,7 @@ end  function hunger.save(player)  	local inv = player:get_inventory()  	local name = player:get_player_name() -	local value = hunger[name].lvl +	local value = hunger.players[name].lvl  	if not inv or not value then  		return nil  	end @@ -40,17 +40,17 @@ function hunger.update_hunger(player, new_lvl)  		return false  	end  	if minetest.setting_getbool("enable_damage") == false then -		hunger[name] = 20 +		hunger.players[name] = 20  		return  	end -	local lvl = hunger[name].lvl +	local lvl = hunger.players[name].lvl  	if new_lvl then  		 lvl = new_lvl  	end  	if lvl > HUNGER_MAX then  		lvl = HUNGER_MAX  	end -	hunger[name].lvl = lvl +	hunger.players[name].lvl = lvl  	if lvl > 20 then  		lvl = 20  	end @@ -65,13 +65,13 @@ function hunger.handle_node_actions(pos, oldnode, player, ext)  		return  	end  	local name = player:get_player_name() -	if not name or not hunger[name] then +	if not name or not hunger.players[name] then  		return  	end -	local exhaus = hunger[name].exhaus +	local exhaus = hunger.players[name].exhaus  	if not exhaus then -		hunger[name].exhaus = 0 +		hunger.players[name].exhaus = 0  		--return  	end @@ -91,13 +91,13 @@ function hunger.handle_node_actions(pos, oldnode, player, ext)  	if exhaus > HUNGER_EXHAUST_LVL then  		exhaus = 0 -		local h = tonumber(hunger[name].lvl) +		local h = tonumber(hunger.players[name].lvl)  		if h > 0 then  			update_hunger(player, h - 1)  		end  	end -	hunger[name].exhaus = exhaus +	hunger.players[name].exhaus = exhaus  end @@ -126,7 +126,7 @@ local function hunger_globaltimer(dtime)  	if hunger_timer > HUNGER_TICK then  		for _,player in ipairs(minetest.get_connected_players()) do  			local name = player:get_player_name() -			local tab = hunger[name] +			local tab = hunger.players[name]  			if tab then  				local hunger = tab.lvl  				if hunger > 0 then @@ -141,7 +141,7 @@ local function hunger_globaltimer(dtime)  	if health_timer > HUNGER_HEALTH_TICK then  		for _,player in ipairs(minetest.get_connected_players()) do  			local name = player:get_player_name() -			local tab = hunger[name] +			local tab = hunger.players[name]  			if tab then  				local air = player:get_breath() or 0  				local hp = player:get_hp() @@ -227,10 +227,10 @@ function hunger.item_eat(hunger_change, replace_with_item, poisen, heal, sound)      return function(itemstack, user, pointed_thing)  	if itemstack:take_item() ~= nil and user ~= nil then  		local name = user:get_player_name() -		if not hunger[name] then +		if not hunger.players[name] then  			return itemstack  		end -		local sat = tonumber(hunger[name].lvl or 0) +		local sat = tonumber(hunger.players[name].lvl or 0)  		local hp = user:get_hp()  		-- Saturation  		if sat < HUNGER_MAX and hunger_change then @@ -1,4 +1,5 @@  hunger = {} +hunger.players = {}  hunger.food = {}  HUNGER_TICK = 800			-- time in seconds after that 1 hunger point is taken @@ -31,10 +32,10 @@ if minetest.setting_getbool("enable_damage") then  	inv:set_size("hunger", 1)  	local name = player:get_player_name() -	hunger[name] = {} -	hunger[name].lvl = hunger.read(player) -	hunger[name].exhaus = 0 -	local lvl = hunger[name].lvl +	hunger.players[name] = {} +	hunger.players[name].lvl = hunger.read(player) +	hunger.players[name].exhaus = 0 +	local lvl = hunger.players[name].lvl  	if lvl > 20 then  		lvl = 20  	end | 
