diff --git a/mods/ITEMS/mcl_potions/functions.lua b/mods/ITEMS/mcl_potions/functions.lua index d66e49d58e..918156bb4e 100644 --- a/mods/ITEMS/mcl_potions/functions.lua +++ b/mods/ITEMS/mcl_potions/functions.lua @@ -72,9 +72,16 @@ function mcl_potions.poison_func(player, factor, duration) end function mcl_potions.regeneration_func(player, factor, duration) - player:set_attribute("regeneration", tostring(factor)) - print(player:get_player_name().." ".."regeneration = "..player:get_attribute("regeneration")) - minetest.after(duration, function() player:set_attribute("regeneration", tostring(0)) end ) + if minetest.is_player(player) then + + for i=1,math.floor(duration/factor) do + minetest.after(i*factor, function() + if player:get_hp() < 20 then + player:set_hp(player:get_hp() + 0.5) + end + end ) + end + end end function mcl_potions.invisiblility_func(player, duration) @@ -86,7 +93,11 @@ function mcl_potions.water_breathing_func(player, duration) if minetest.is_player(player) then for i=1,math.floor(duration) do - minetest.after(i, function() player:set_breath(10) end ) + minetest.after(i, function() + if player:get_breath() < 10 then + player:set_breath(10) + end + end ) end end diff --git a/mods/ITEMS/mcl_potions/potions.lua b/mods/ITEMS/mcl_potions/potions.lua index b39a185919..cb03521981 100644 --- a/mods/ITEMS/mcl_potions/potions.lua +++ b/mods/ITEMS/mcl_potions/potions.lua @@ -466,13 +466,13 @@ minetest.register_craftitem("mcl_potions:regeneration_2", { stack_max = 1, on_place = function(itemstack, user, pointed_thing) - mcl_potions.regeneration_func(user, 1.2, 21) + mcl_potions.regeneration_func(user, 1.2, 22) mcl_potions._use_potion(itemstack) return itemstack end, on_secondary_use = function(itemstack, user, pointed_thing) - mcl_potions.regeneration_func(user, 1.2, 21) + mcl_potions.regeneration_func(user, 1.2, 22) mcl_potions._use_potion(itemstack) return itemstack end