Recipes now require variable amount of ingredients

This commit is contained in:
h-v-smacker 2017-11-22 03:10:56 +03:00
parent 035f0866cb
commit 3b398d9741
2 changed files with 19 additions and 21 deletions

View File

@ -8,9 +8,12 @@ All products are defined by shapless recipes, and yield items which can be place
real world. Although the cans with non-symmetrical items on labels look good only from
half of the angles.
The recipes follow the scheme of "glass bottle" + "produce" [ + "sugar" ]
The recipes follow the scheme of "glass bottle" + "produce" × "amount" [ + "sugar" ]
The default 4 items do not require sugar, even though 3 of those are jams and probably
The amount of ingredients differs, roughly based on the original nutritional value of
the items, so that you'd need more less nutricious items to fill a mason jar.
The default 4 recipes do not require sugar, even though 3 of those are jams and probably
would taste horribly IRL without sugar:
* Apple jam
* Canned brown mushrooms
@ -22,6 +25,7 @@ canning also turns two othwerise inedible objects (in game - such jams do exist
Ethereal and farming (redo) mods introduce items that can be canned, too.
Some of them (jams) require sugar as the third ingredient. So some of them require both mods.
There also is a jar of honey, which requires honey from mobs/mobs_animal mod.
The mason jars with canned food can be put into vessel storage shelves. Or put on display
just like the glass vessels can, and destroyed by hand (retreiving the item).

View File

@ -185,7 +185,7 @@ local canned_food_definitions = {
found_in = "mobs_animal",
obj_name = "mobs:honey",
orig_nutritional_value = 4,
amount = 3,
amount = 4,
sugar = false
},
@ -217,12 +217,9 @@ for product, def in pairs(canned_food_definitions) do
dig_immediate = 3,
attached_node = 1 },
-- canned food prolongs shelf life IRL, but in minetest food never
-- goes bad. Instead, we will reward the effort with 2x higher
-- nutritional value, even if that's not realistic.
-- when (and if) the 'amount' could be taken into account, the
-- rate could also be adjusted
-- goes bad. Here, we increase the nutritional value instead.
on_use = minetest.item_eat(
math.floor (def.orig_nutritional_value * 2)
math.floor (def.orig_nutritional_value * def.amount * 0.33)
+ (def.sugar and 1 or 0), "vessels:glass_bottle"),
-- the empty bottle stays, of course
sounds = default.node_sound_glass_defaults(),
@ -232,21 +229,18 @@ for product, def in pairs(canned_food_definitions) do
-- except for apple: there should be at least 1 jam guaranteed
-- to be available in vanilla game (and mushrooms are the guaranteed
-- regular - not sweet - canned food)
local ingredients = {"vessels:glass_bottle"}
if def.sugar then
minetest.register_craft({
type = "shapeless",
output = "canned_food:" .. product,
recipe = {"vessels:glass_bottle", "farming:sugar",
def.obj_name},
})
else
minetest.register_craft({
type = "shapeless",
output = "canned_food:" .. product,
recipe = {"vessels:glass_bottle",
def.obj_name},
})
table.insert(ingredients, "farming:sugar")
end
for i=1,def.amount do
table.insert(ingredients, def.obj_name)
end
minetest.register_craft({
type = "shapeless",
output = "canned_food:" .. product,
recipe = ingredients
})
end
end
end