Files

227 lines
8.6 KiB
Lua

nutrition_mod = {}
nutrition_mod.hud = {}
nutrition_mod.foods = {
-- farming redo
["farming:apple_pie"] = {"fruit", "carbs", "fats"},
["farming:baked_potato"] = {"vegetable", "carbs"},
["farming:beans"] = {"vegetable"},
["farming:beetroot"] = {"vegetable"},
["farming:beetroot_soup"] = {"vegetable"},
["farming:bibimbap"] = {"vegetable", "carbs", "meat"},
["farming:blueberries"] = {"fruit"},
["farming:blueberry_pie"] = {"fruit", "carbs", "fats"},
["farming:bread_multigrain"] = {"carbs"},
["farming:bread_slice"] = {"carbs"},
["farming:burger"] = {"meat", "carbs", "fats"},
["farming:cabbage"] = {"vegetable"},
["farming:carrot"] = {"vegetable"},
["farming:carrot_gold"] = {"vegetable", "mineral"},
["farming:chili_bowl"] = {"vegetable", "meat"},
["farming:chili_pepper"] = {"vegetable"},
["farming:chocolate_dark"] = {"fats"},
["farming:cookie"] = {"carbs", "fats"},
["farming:corn"] = {"vegetable", "carbs"},
["farming:corn_cob"] = {"vegetable", "carbs"},
["farming:cucumber"] = {"vegetable"},
["farming:donut"] = {"carbs", "fats"},
["farming:donut_apple"] = {"fruit", "carbs", "fats"},
["farming:donut_chocolate"] = {"carbs", "fats"},
["farming:garlic"] = {"vegetable"},
["farming:garlic_bread"] = {"vegetable", "carbs", "fats"},
["farming:grapes"] = {"fruit"},
["farming:jaffa_cake"] = {"fruit", "carbs", "fats"},
["farming:lettuce"] = {"vegetable"},
["farming:melon_slice"] = {"fruit"},
["farming:muffin_blueberry"] = {"fruit", "carbs", "fats"},
["farming:onion"] = {"vegetable"},
["farming:onion_soup"] = {"vegetable"},
["farming:pea_pod"] = {"vegetable"},
["farming:pea_soup"] = {"vegetable"},
["farming:peas"] = {"vegetable"},
["farming:pepper"] = {"vegetable"},
["farming:pepper_yellow"] = {"vegetable"},
["farming:pepper_red"] = {"vegetable"},
["farming:pineapple"] = {"fruit"},
["farming:pineapple_ring"] = {"fruit"},
["farming:porridge"] = {"carbs"},
["farming:potato"] = {"vegetable", "carbs"},
["farming:potato_salad"] = {"vegetable", "carbs", "fats"},
["farming:pumpkin_bread"] = {"vegetable", "carbs"},
["farming:pumpkin_slice"] = {"vegetable"},
["farming:raspberries"] = {"fruit"},
["farming:rhubarb"] = {"fruit"},
["farming:rhubarb_pie"] = {"fruit", "carbs", "fats"},
["farming:rice_bread"] = {"carbs"},
["farming:salad"] = {"vegetable"},
["farming:soy_beans"] = {"vegetable"},
["farming:spaghetti"] = {"carbs"},
["farming:toast"] = {"carbs"},
["farming:toast_sandwich"] = {"carbs", "fats", "meat"},
["farming:tomato"] = {"vegetable"},
["farming:turkish_delight"] = {"fats"},
["farming:vanilla"] = {"mineral"},
--default
["default:blueberries"] = {"fruit", "mineral"},
["farming:bread"] = {"carbs"}, -- nonmcl
["default:apple"] = {"fruit"},
["flowers:mushroom_brown"] = {"mineral"}, --really?, flowers?
["flowers:mushroom_red"] = {"mineral", "poison"},
-- fruit
["mcl_core:apple"] = {"fruit"},
["mcl_core:apple_gold"] = {"fruit", "mineral"},
["mcl_core:apple_gold_enchanted"] = {"fruit", "mineral"},
["mcl_farming:sweet_berry"] = {"fruit"},
["mcl_farming:melon_item"] = {"fruit"},
["mcl_end:chorus_fruit"] = {"fruit", "mineral"},
["mcl_farming:melon_item"] = {"fruit"},
-- carbs
["mcl_farming:bread"] = {"carbs"},
["mcl_farming:cookie"] = {"carbs", "fats"},
["mcl_cake:cake"] = {"carbs", "dairy", "fats"},
["mcl_cake:cake_1"] = {"carbs", "dairy", "fats"},
["mcl_cake:cake_2"] = {"carbs", "dairy", "fats"},
["mcl_cake:cake_3"] = {"carbs", "dairy", "fats"},
["mcl_cake:cake_4"] = {"carbs", "dairy", "fats"},
["mcl_cake:cake_5"] = {"carbs", "dairy", "fats"},
["mcl_cake:cake_6"] = {"carbs", "dairy", "fats"},
["mcl_honey:honey_bottle"] = {"fats"},
-- meat
["mcl_mobitems:beef"] = {"meat"},
["mcl_mobitems:chicken"] = {"meat"},
["mcl_mobitems:cooked_chicken"] = {"meat"},
["mcl_mobitems:cooked_beef"] = {"meat", "fats"}, -- cooked beef famous for fats
["mcl_mobitems:porkchop"] = {"meat"},
["mcl_mobitems:cooked_porkchop"] = {"meat"},
["mcl_mobitems:rabbit"] = {"meat"},
["mcl_mobitems:cooked_rabbit"] = {"meat"},
["mcl_mobitems:mutton"] = {"meat"},
["mcl_mobitems:cooked_mutton"] = {"meat"},
["mcl_mobitems:rotten_flesh"] = {"meat", "poison"},
-- vegetable
["mcl_farming:beetroot_item"] = {"vegetable"},
["mcl_farming:beetroot_soup"] = {"vegetable", "drink"},
["mcl_farming:pumpkin_pie"] = {"vegetable", "fats"},
["mcl_farming:carrot_item"] = {"vegetable"},
["mcl_farming:carrot_item_gold"] = {"vegetable", "mineral"},
["mcl_farming:potato_item"] = {"vegetable"},
["mcl_farming:potato_item_baked"] = {"vegetable", "carbs"}, --baked, not cooked, so no fats
["mcl_farming:potato_item_poison"] = {"vegetable", "poison"},
-- fish
["mcl_fishing:fish_cooked"] = {"fish", "fats"},
["mcl_fishing:salmon_cooked"] = {"fish"},
["mcl_fishing:salmon_raw"] = {"fish", "fats"},
["mcl_fishing:pufferfish_raw"] = {"fish", "poison", "mineral"},
["mcl_fishing:clownfish_raw"] = {"fish", "mineral"},
["mcl_mobitems:milk_bucket"] = {"dairy", "drink"}, -- fats?
-- mineral
["mcl_mobitems:spider_eye"] = {"mineral", "poison"},
["mcl_ocean:dried_kelp"] = {"mineral", "vegetable"}, --idk
["mcl_mushrooms:mushroom_brown"] = {"mineral"},
["mcl_mushrooms:mushroom_red"] = {"mineral", "poison"},
["vl_sus_stew:stew"] = {"drink", "mineral", "poison"}, --checking status effect too complicated, just do poison every time
["mcl_mushrooms:mushroom_stew"] = {"drink", "mineral"},
["mcl_mobitems:rabbit_stew"] = {"meat", "vegetable", "carbs", "mineral", "drink"},
-- not a thing yet
["mcl_farming:glow_berry"] = {"fruit"},
}
function nutrition_mod.update_hud(player)
local name = player:get_player_name()
local data = nutrition_mod.get(player)
if not data then return end
for cat, hud_id in pairs(nutrition_mod.hud[name]) do
local val = data[cat] or 0
local texture = "nutri_" .. cat .. "_empty.png"
if val >= 2 then
texture = "nutri_" .. cat .. "_full.png"
elseif val >= 1 then
texture = "nutri_" .. cat .. "_empty.png^[transformR270^[lowpart:50:nutri_" .. cat .. "_full.png\\^[transformR270^[transformR90"
end
player:hud_change(hud_id, "text", texture)
end
end
function nutrition_mod.add(player, category, amount)
local data = nutrition_mod.get(player)
data[category] = math.min((data[category] or 0) + amount, 2)
nutrition_mod.set(player, data)
end
function nutrition_mod.get(player)
local meta = player:get_meta()
return minetest.deserialize(meta:get_string("nutrition")) or {}
end
function nutrition_mod.set(player, data)
player:get_meta():set_string("nutrition", minetest.serialize(data))
end
return nutrition_mod
-- farming Redo
-- farming:apple_pie',
-- farming:baked_potato',
-- farming:beans',
-- farming:beetroot',
-- farming:beetroot_soup',
-- farming:bibimbap',
-- farming:blueberries',
-- farming:blueberry_pie',
-- farming:bread_multigrain',
-- farming:bread_slice',
-- farming:burger',
-- farming:cabbage',
-- farming:carrot',
-- farming:carrot_gold',
-- farming:chili_bowl',
-- farming:chili_pepper',
-- farming:chocolate_dark',
-- farming:cookie',
-- farming:corn',
-- farming:corn_cob',
-- farming:cucumber',
-- farming:donut',
-- farming:donut_apple',
-- farming:donut_chocolate',
-- farming:garlic',
-- farming:garlic_bread',
-- farming:grapes',
-- farming:jaffa_cake',
-- farming:lettuce',
-- farming:melon_slice',
-- farming:muffin_blueberry',
-- farming:onion',
-- farming:onion_soup',
-- farming:pea_pod',
-- farming:pea_soup',
-- farming:peas',
-- farming:pepper',
-- farming:pepper_yellow',
-- farming:pepper_red',
-- farming:pineapple',
-- farming:pineapple_ring',
-- farming:porridge',
-- farming:potato',
-- farming:potato_salad',
-- farming:pumpkin_bread',
-- farming:pumpkin_slice',
-- farming:raspberries',
-- farming:rhubarb',
-- farming:rhubarb_pie',
-- farming:rice_bread',
-- farming:salad',
-- farming:soy_beans',
-- farming:spaghetti',
-- farming:toast',
-- farming:toast_sandwich',
-- farming:tomato',
-- farming:turkish_delight',
-- farming:vanilla',