227 lines
8.6 KiB
Lua
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', |