Disable treespawning on mapgen
[minetest_hades.git] / mods / hud / hunger.lua
blob64d8ee56876b35b48d566058e3a226f95272027a
1 -- Keep these for backwards compatibility
2 function hud.save_hunger(player)
3 hud.set_hunger(player)
4 end
5 function hud.load_hunger(player)
6 hud.get_hunger(player)
7 end
9 -- Poison player
10 local function poisenp(tick, time, time_left, player)
11 time_left = time_left + tick
12 if time_left < time then
13 minetest.after(tick, poisenp, tick, time, time_left, player)
14 end
15 if player:get_hp()-1 > 0 then
16 player:set_hp(player:get_hp()-1)
17 end
19 end
21 function hud.item_eat(hunger_change, replace_with_item, poisen)
22 return function(itemstack, user, pointed_thing)
23 if itemstack:take_item() ~= nil and user ~= nil then
24 local name = user:get_player_name()
25 local h = tonumber(hud.hunger[name])
26 local hp = user:get_hp()
27 user:set_hp(hp+hunger_change)
28 h=h+hunger_change
29 if h>30 then h=30 end
30 hud.hunger[name]=h
31 hud.set_hunger(user)
32 itemstack:add_item(replace_with_item) -- note: replace_with_item is optional
33 --sound:eat from adventuretest by brandon reese
34 if not sound then
35 sound = "hunger_eat"
36 end
37 minetest.sound_play(sound, {to_player = name, gain = 0.7})
39 if poisen then
40 poisenp(1.0, poisen, 0, user)
41 end
42 end
43 return itemstack
44 end
45 end
47 local function overwrite(name, hunger_change, replace_with_item, poisen)
48 local tab = minetest.registered_items[name]
49 if tab == nil then return end
50 tab.on_use = hud.item_eat(hunger_change, replace_with_item, poisen)
51 minetest.registered_items[name] = tab
52 end
54 overwrite("default:apple", 2)
55 overwrite("default:sugar", 1)
56 overwrite("default:olive_oil", 2)
57 overwrite("default:baked_potato", 4)
58 overwrite("default:pie_strawberry_raw", 3)
59 overwrite("default:pie_strawberry", 5)
60 overwrite("default:pie_apple_raw", 3)
61 overwrite("default:pie_apple", 5)
62 overwrite("default:tomatosalad", 6)
63 overwrite("default:tomato_potato_salad", 8)
64 if minetest.get_modpath("farming") ~= nil then
65 overwrite("farming:bread", 4)
66 overwrite("farming:strawberry", 2)
67 overwrite("farming:potato", 0)
68 overwrite("farming:tomato", 2)
69 overwrite("farming:spice", 0)
70 end
73 if minetest.get_modpath("moretrees") ~= nil then
74 overwrite("moretrees:coconut_milk", 1)
75 overwrite("moretrees:raw_coconut", 2)
76 overwrite("moretrees:acorn_muffin", 5)
77 overwrite("moretrees:spruce_nuts", 1)
78 overwrite("moretrees:pine_nuts", 1)
79 overwrite("moretrees:fir_nuts", 1)
80 end
82 if minetest.get_modpath("dwarves") ~= nil then
83 overwrite("dwarves:beer", 2)
84 overwrite("dwarves:apple_cider", 1)
85 overwrite("dwarves:midus", 2)
86 overwrite("dwarves:tequila", 2)
87 overwrite("dwarves:tequila_with_lime", 2)
88 overwrite("dwarves:sake", 2)
89 end
91 if minetest.get_modpath("animalmaterials") ~= nil then
92 overwrite("animalmaterials:milk", 2)
93 overwrite("animalmaterials:meat_raw", 3)
94 overwrite("animalmaterials:meat_pork", 3)
95 overwrite("animalmaterials:meat_beef", 3)
96 overwrite("animalmaterials:meat_chicken", 3)
97 overwrite("animalmaterials:meat_lamb", 3)
98 overwrite("animalmaterials:meat_venison", 3)
99 overwrite("animalmaterials:meat_undead", 3, "", 3)
100 overwrite("animalmaterials:meat_toxic", 3, "", 5)
101 overwrite("animalmaterials:meat_ostrich", 3)
102 overwrite("animalmaterials:fish_bluewhite", 2)
103 overwrite("animalmaterials:fish_clownfish", 2)
106 if minetest.get_modpath("fishing") ~= nil then
107 overwrite("fishing:fish_raw", 2)
108 overwrite("fishing:fish", 4)
109 overwrite("fishing:sushi", 6)
110 overwrite("fishing:shark", 4)
111 overwrite("fishing:shark_cooked", 8)
112 overwrite("fishing:pike", 4)
113 overwrite("fishing:pike_cooked", 8)
116 if minetest.get_modpath("glooptest") ~= nil then
117 overwrite("glooptest:kalite_lump", 1)
120 if minetest.get_modpath("bushes") ~= nil then
121 overwrite("bushes:sugar", 1)
122 overwrite("bushes:strawberry", 2)
123 overwrite("bushes:berry_pie_raw", 3)
124 overwrite("bushes:berry_pie_cooked", 5)
125 overwrite("bushes:basket_pies", 15)
128 if minetest.get_modpath("bushes_classic") then
129 -- bushes_classic mod, as found in the plantlife modpack
130 local berries = {
131 "strawberry",
132 "blackberry",
133 "blueberry",
134 "raspberry",
135 "gooseberry",
136 "mixed_berry"}
137 for _, berry in ipairs(berries) do
138 if berry ~= "mixed_berry" then
139 overwrite("bushes:"..berry, 1)
141 overwrite("bushes:"..berry.."_pie_raw", 3)
142 overwrite("bushes:"..berry.."_pie_cooked", 6)
143 overwrite("bushes:"..berry.."_pie_slice", 1)
144 overwrite("bushes:basket_"..berry, 18)
148 if minetest.get_modpath("mushroom") ~= nil then
149 overwrite("mushroom:brown", 1)
150 overwrite("mushroom:red", 1, "", 3)
153 if minetest.get_modpath("docfarming") ~= nil then
154 overwrite("docfarming:carrot", 2)
155 overwrite("docfarming:cucumber", 2)
156 overwrite("docfarming:corn", 2)
157 overwrite("docfarming:potato", 4)
158 overwrite("docfarming:bakedpotato", 5)
159 overwrite("docfarming:raspberry", 3)
162 if minetest.get_modpath("farming_plus") ~= nil then
163 overwrite("farming_plus:carrot_item", 2)
164 overwrite("farming_plus:banana", 2)
165 overwrite("farming_plus:orange_item", 2)
166 overwrite("farming:pumpkin_bread", 4)
167 overwrite("farming_plus:strawberry_item", 2)
168 overwrite("farming_plus:tomato_item", 2)
169 overwrite("farming_plus:potato_item", 0)
170 overwrite("farming_plus:rhubarb_item", 2)
171 overwrite("farming_plus:olive", 1)
174 if minetest.get_modpath("mtfoods") ~= nil then
175 overwrite("mtfoods:dandelion_milk", 1)
176 overwrite("mtfoods:sugar", 1)
177 overwrite("mtfoods:short_bread", 4)
178 overwrite("mtfoods:cream", 1)
179 overwrite("mtfoods:chocolate", 2)
180 overwrite("mtfoods:cupcake", 2)
181 overwrite("mtfoods:strawberry_shortcake", 2)
182 overwrite("mtfoods:cake", 3)
183 overwrite("mtfoods:chocolate_cake", 3)
184 overwrite("mtfoods:carrot_cake", 3)
185 overwrite("mtfoods:pie_crust", 3)
186 overwrite("mtfoods:apple_pie", 3)
187 overwrite("mtfoods:rhubarb_pie", 2)
188 overwrite("mtfoods:banana_pie", 3)
189 overwrite("mtfoods:pumpkin_pie", 3)
190 overwrite("mtfoods:cookies", 2)
191 overwrite("mtfoods:mlt_burger", 5)
192 overwrite("mtfoods:potato_slices", 2)
193 overwrite("mtfoods:potato_chips", 3)
194 --mtfoods:medicine
195 overwrite("mtfoods:casserole", 3)
196 overwrite("mtfoods:glass_flute", 2)
197 overwrite("mtfoods:orange_juice", 2)
198 overwrite("mtfoods:apple_juice", 2)
199 overwrite("mtfoods:apple_cider", 2)
200 overwrite("mtfoods:cider_rack", 2)
203 if minetest.get_modpath("fruit") ~= nil then
204 overwrite("fruit:apple", 2)
205 overwrite("fruit:pear", 2)
206 overwrite("fruit:bananna", 3)
207 overwrite("fruit:orange", 2)
210 if minetest.get_modpath("mush45") ~= nil then
211 overwrite("mush45:meal", 4)
214 if minetest.get_modpath("seaplants") ~= nil then
215 overwrite("seaplants:kelpgreen", 1)
216 overwrite("seaplants:kelpbrown", 1)
217 overwrite("seaplants:seagrassgreen", 1)
218 overwrite("seaplants:seagrassred", 1)
219 overwrite("seaplants:seasaladmix", 6)
220 overwrite("seaplants:kelpgreensalad", 1)
221 overwrite("seaplants:kelpbrownsalad", 1)
222 overwrite("seaplants:seagrassgreensalad", 1)
223 overwrite("seaplants:seagrassgreensalad", 1)
226 if minetest.get_modpath("mobfcooking") ~= nil then
227 overwrite("mobfcooking:cooked_pork", 6)
228 overwrite("mobfcooking:cooked_ostrich", 6)
229 overwrite("mobfcooking:cooked_beef", 6)
230 overwrite("mobfcooking:cooked_chicken", 6)
231 overwrite("mobfcooking:cooked_lamb", 6)
232 overwrite("mobfcooking:cooked_venison", 6)
233 overwrite("mobfcooking:cooked_fish", 6)
236 if minetest.get_modpath("cofo") ~= nil then
238 overwrite("cofo:seagrass", 1)
240 overwrite("cofo:chocolate", 2)
242 overwrite("cofo:chocobanana", 4)
244 overwrite("cofo:apple_danish", 5)
246 overwrite("cofo:carrangajuice", 5)
248 overwrite("cofo:hotpot_vegi_u", 3)
250 overwrite("cofo:hotpot_vegi", 8)
252 overwrite("cofo:hotpot", 10)
254 overwrite("cofo:milkbottle", 2, "vessels:glass_bottle")
255 overwrite("cofo:honeymilk", 6, "vessels:drinking_glass")
258 overwrite("cofo:cooked_egg", 5)
261 overwrite("cofo:rhubarb_pie_raw", 3)
263 overwrite("cofo:rhubarb_pie", 8)
265 overwrite("cofo:strawberry_pie_raw", 3)
267 overwrite("cofo:strawberry_pie", 8)
269 overwrite("cofo:sugar", 1)
271 overwrite("cofo:pumpkin_egg", 8)
276 if minetest.get_modpath("mobs") ~= nil then
278 overwrite("mobs:egg", 3)
280 overwrite("mobs:bucket_milk", 3, "bucket:bucket_empty")
282 overwrite("mobs:meat", 2)
284 overwrite("mobs:med_cooked", 4)
286 overwrite("mobs:rat_cooked", 3)