forked from NathanSalapat/minetest-thirsty
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathinterop_a_functions.lua
56 lines (47 loc) · 2.03 KB
/
interop_a_functions.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
------------------------------------------------------------
-- _____ _ _ _ --
-- |_ _| |_ (_)_ _ __| |_ _ _ --
-- | | | ' \| | '_(_-< _| || | --
-- |_| |_||_|_|_| /__/\__|\_, | --
-- |__/ --
------------------------------------------------------------
-- Thirsty mod [interoperability function] --
------------------------------------------------------------
-- because I'm lazy and like small code blocks --
------------------------------------------------------------
thirsty.register_food_drink = function (item_name,satiate_value,heal_value,hyd_value,hyd_max,rtn_item_name)
local is_hunger_ng = false
local is_hbhunger = false
if minetest.get_modpath("hunger_ng") then is_hunger_ng = true end
if minetest.get_modpath("hbhunger") then is_hbhunger = true end
if is_hunger_ng then
hunger_ng.add_hunger_data(item_name,{
satiates = satiate_value,
heals = heal_value,
returns = nil,
timeout = nil
})
end
if is_hbhunger then
hbhunger.register_food(item_name, satiate_value)
end
local def = table.copy(minetest.registered_items[item_name])
def.on_use = function(itemstack,player,pointed_thing)
thirsty.drink(player,hyd_value,hyd_max,rtn_item_name)
if minetest.registered_items[item_name]._hunger_ng then
minetest.sound_play("hunger_ng_eat", {to_player = player:get_player_name(), gain = 2.0 })
hunger_ng.alter_hunger(player:get_player_name(), satiate_value, "from:thirsty-"..item_name)
player:set_hp(player:get_hp()+heal_value)
itemstack:take_item()
return itemstack
else
minetest.do_item_eat(satiate_value,nil, itemstack:take_item(), player, pointed_thing)
return itemstack
end
end
if def.type == "node" then
minetest.register_node(":"..item_name, def)
else
minetest.register_craftitem(":"..item_name, def)
end
end