diff options
author | h-v-smacker <hans-von-smacker+github@gmail.com> | 2017-11-20 03:52:00 +0300 |
---|---|---|
committer | h-v-smacker <hans-von-smacker+github@gmail.com> | 2017-11-20 03:52:00 +0300 |
commit | 74e18776e7570ad5f92a50cb35f09b594e9933e1 (patch) | |
tree | 7930c1c17a3e9b8edbaffe8d188f4144e0aab704 | |
parent | 27a8ccd8a5e5d461f265d04cc3f15e1b9cef8872 (diff) |
Initial commit
-rw-r--r-- | README.md | 34 | ||||
-rw-r--r-- | depends.txt | 5 | ||||
-rw-r--r-- | init.lua | 248 | ||||
-rw-r--r-- | textures/#example_apple.xcf | bin | 0 -> 2979 bytes | |||
-rw-r--r-- | textures/apple_jam.png | bin | 0 -> 695 bytes | |||
-rw-r--r-- | textures/banana_jam.png | bin | 0 -> 809 bytes | |||
-rw-r--r-- | textures/blueberry_jam.png | bin | 0 -> 630 bytes | |||
-rw-r--r-- | textures/canned_beans.png | bin | 0 -> 675 bytes | |||
-rw-r--r-- | textures/canned_carrot.png | bin | 0 -> 755 bytes | |||
-rw-r--r-- | textures/canned_coconut.png | bin | 0 -> 700 bytes | |||
-rw-r--r-- | textures/canned_corn.png | bin | 0 -> 760 bytes | |||
-rw-r--r-- | textures/canned_cucumber.png | bin | 0 -> 681 bytes | |||
-rw-r--r-- | textures/canned_mushrooms.png | bin | 0 -> 606 bytes | |||
-rw-r--r-- | textures/canned_pumpkin.png | bin | 0 -> 786 bytes | |||
-rw-r--r-- | textures/canned_tomato.png | bin | 0 -> 852 bytes | |||
-rw-r--r-- | textures/dandelion_jam.png | bin | 0 -> 547 bytes | |||
-rw-r--r-- | textures/grape_jam.png | bin | 0 -> 737 bytes | |||
-rw-r--r-- | textures/melon_jam.png | bin | 0 -> 783 bytes | |||
-rw-r--r-- | textures/orange_jam.png | bin | 0 -> 792 bytes | |||
-rw-r--r-- | textures/raspberry_jam.png | bin | 0 -> 772 bytes | |||
-rw-r--r-- | textures/rhubarb_jam.png | bin | 0 -> 674 bytes | |||
-rw-r--r-- | textures/rose_jam.png | bin | 0 -> 573 bytes | |||
-rw-r--r-- | textures/strawberry_jam.png | bin | 0 -> 1002 bytes |
23 files changed, 285 insertions, 2 deletions
@@ -1,2 +1,32 @@ -# canned_food -Canned fruits/vegetables, and jams for Minetest game +# Canned Food + +This mod introduces a variety of canned foods to add some pleasant variety into the available +assrtment of foods and item uses. It relies on the glass bottle from the default vessels mod, +giving this otherwise little used item a considerable purpose. + +All products are defined by shapless recipes, and yield items which can be placed in the +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 default 4 items do not require sugar, even though 3 of those are jams and probably +would taste horribly IRL without sugar: +* Apple jam +* Canned brown mushrooms +* Rose petal jam +* Dandelion jam + +This is to guarantee that they will always be available in vanilla game. As you can notice, +canning also turns two othwerise inedible objects into food. + +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. + +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). + +The benefit of canning the food is higher nutritional value (since shelf life is irrelevant +in minetest game, where food never goes bad), this is a "reward" for going through effort +to obtain the glass vessels. When the contents of the jasr are consumed, +the player is left with an empty glass bottle which can be reused.
\ No newline at end of file diff --git a/depends.txt b/depends.txt new file mode 100644 index 0000000..29e384f --- /dev/null +++ b/depends.txt @@ -0,0 +1,5 @@ +default +vessels +flowers +ethereal? +farming?
\ No newline at end of file diff --git a/init.lua b/init.lua new file mode 100644 index 0000000..5c12ef8 --- /dev/null +++ b/init.lua @@ -0,0 +1,248 @@ +-- CANNED FOOD +-- Introduces new food types to add some variety. All of them rely on glass bottles +-- from the default vessels mod, which otherwise sees very little use. In vanilla game, +-- at least 4 new types will be available, two of which will also turn inedible items +-- into edible food. With farming (redo) and ethereal, pretty much anything that can +-- be harvested can also be canned. + +--[[ + Definition scheme + internal_name_of_the_product = { + proper_name = Human-readable name, + found_in = mod name where the source object is introduced + obj_name = name of source object (internal, without "modname:") + orig_nutritional_value = self-explanatory + amount = how many objects are needed to fill a bottle /not implemented/ + sugar = boolean, set if needs sugar (jams) or not + } + image files for items must follow the scheme "internal_name_of_the_product.png" +]] + +local canned_food_definitions = { + apple_jam = { + proper_name = "Apple jam", + found_in = "default", + obj_name = "apple", + orig_nutritional_value = 2, + amount = 3, + sugar = false -- must not use sugar to be available in vanilla + }, + dandelion_jam = { + proper_name = "Dandelion jam", + found_in = "flowers", + obj_name = "dandelion_yellow", + orig_nutritional_value = 1, + amount = 5, + sugar = false -- must not use sugar to be available in vanilla + }, + rose_jam = { + proper_name = "Rose petal jam", + found_in = "flowers", + obj_name = "rose", + orig_nutritional_value = 1, + amount = 5, + sugar = false -- must not use sugar to be available in vanilla + }, + canned_mushrooms = { + proper_name = "Canned mushrooms", + found_in = "flowers", + obj_name = "mushroom_brown", + orig_nutritional_value = 1, + amount = 5, + sugar = false + }, + orange_jam = { + proper_name = "Orange jam", + found_in = "ethereal", + obj_name = "orange", + orig_nutritional_value = 2, + amount = 3, + sugar = true + }, + banana_jam = { + proper_name = "Banana jam", + found_in = "ethereal", + obj_name = "banana", + orig_nutritional_value = 1, + amount = 5, + sugar = true + }, + strawberry_jam = { + proper_name = "Strawberry jam", + found_in = "ethereal", + obj_name = "strawberry", + orig_nutritional_value = 1, + amount = 5, + sugar = true + }, + blueberry_jam = { + proper_name = "Blueberry jam", + found_in = "farming", + obj_name = "blueberries", + orig_nutritional_value = 1, + amount = 6, + sugar = true + }, + raspberry_jam = { + proper_name = "Raspberry jam", + found_in = "farming", + obj_name = "raspberries", + orig_nutritional_value = 1, + amount = 6, + sugar = true + }, + grape_jam = { + proper_name = "Grape jam", + found_in = "farming", + obj_name = "grapes", + orig_nutritional_value = 2, + amount = 4, + sugar = true + }, + rhubarb_jam = { + proper_name = "Rhubarb jam", + found_in = "farming", + obj_name = "rhubarb", + orig_nutritional_value = 1, + amount = 6, + sugar = true + }, + melon_jam = { + proper_name = "Melon jam", + found_in = "farming", + obj_name = "melon_slice", + orig_nutritional_value = 2, + amount = 3, + sugar = true + }, + canned_carrot = { + proper_name = "Canned carrots", + found_in = "farming", + obj_name = "carrot", + orig_nutritional_value = 4, + amount = 3, + sugar = false + }, +-- canned_potato = { +-- proper_name = "Canned potatoes", +-- found_in = "farming", +-- obj_name = "potato", +-- orig_nutritional_value = 1, +-- amount = 5, +-- sugar = false +-- }, + canned_cucumber = { + -- aka pickles + proper_name = "Pickles", + found_in = "farming", + obj_name = "cucumber", + orig_nutritional_value = 4, + amount = 3, + sugar = false + }, + canned_tomato = { + proper_name = "Canned tomatoes", + found_in = "farming", + obj_name = "tomato", + orig_nutritional_value = 4, + amount = 3, + sugar = false + }, + canned_corn = { + proper_name = "Canned corn", + found_in = "farming", + obj_name = "corn", + orig_nutritional_value = 3, + amount = 3, + sugar = false + }, + canned_beans = { + proper_name = "Canned beans", + found_in = "farming", + obj_name = "beans", + orig_nutritional_value = 1, + amount = 6, + sugar = false + }, + canned_coconut = { + proper_name = "Canned coconut", + found_in = "ethereal", + obj_name = "coconut_slice", + orig_nutritional_value = 1, + amount = 5, + sugar = false + }, + canned_pumpkin = { + proper_name = "Canned pumpkin puree", + found_in = "farming", + obj_name = "pumpkin_slice", + orig_nutritional_value = 2, + amount = 3, + sugar = false + }, + +} + + +-- creating all objects with one universal scheme +for product, def in pairs(canned_food_definitions) do + if minetest.get_modpath(def.found_in) then + if def.sugar and minetest.get_modpath("farming") or not def.sugar then + + -- introducing a new item, a bit more nutricious than the source + -- material when sugar is used. + minetest.register_node("canned_food:" .. product, { + description = def.proper_name, + drawtype = "plantlike", + tiles = {product .. ".png"}, + inventory_image = product .. ".png", + wield_image = product .. ".png", + paramtype = "light", + is_ground_content = false, + walkable = false, + selection_box = { + type = "fixed", + fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25} + }, + groups = { canned_food = 1, + vessel = 1, + 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 + on_use = minetest.item_eat( + math.floor (def.orig_nutritional_value * 2) + + (def.sugar and 1 or 0), "vessels:glass_bottle"), + -- the empty bottle stays, of course + sounds = default.node_sound_glass_defaults(), + }) + + -- a family of shapeless recipes, with sugar for jams + -- 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) + if def.sugar then + minetest.register_craft({ + type = "shapeless", + output = "canned_food:" .. product, + recipe = {"vessels:glass_bottle", "farming:sugar", + def.found_in .. ":" .. def.obj_name}, + }) + else + minetest.register_craft({ + type = "shapeless", + output = "canned_food:" .. product, + recipe = {"vessels:glass_bottle", + def.found_in .. ":" .. def.obj_name}, + }) + end + end + end +end + + +-- The Moor has done his duty, the Moor can go +canned_food_definitions = nil diff --git a/textures/#example_apple.xcf b/textures/#example_apple.xcf Binary files differnew file mode 100644 index 0000000..a26a2cd --- /dev/null +++ b/textures/#example_apple.xcf diff --git a/textures/apple_jam.png b/textures/apple_jam.png Binary files differnew file mode 100644 index 0000000..f436dec --- /dev/null +++ b/textures/apple_jam.png diff --git a/textures/banana_jam.png b/textures/banana_jam.png Binary files differnew file mode 100644 index 0000000..19b3f42 --- /dev/null +++ b/textures/banana_jam.png diff --git a/textures/blueberry_jam.png b/textures/blueberry_jam.png Binary files differnew file mode 100644 index 0000000..982d01e --- /dev/null +++ b/textures/blueberry_jam.png diff --git a/textures/canned_beans.png b/textures/canned_beans.png Binary files differnew file mode 100644 index 0000000..95a451a --- /dev/null +++ b/textures/canned_beans.png diff --git a/textures/canned_carrot.png b/textures/canned_carrot.png Binary files differnew file mode 100644 index 0000000..a27d249 --- /dev/null +++ b/textures/canned_carrot.png diff --git a/textures/canned_coconut.png b/textures/canned_coconut.png Binary files differnew file mode 100644 index 0000000..b5ab69f --- /dev/null +++ b/textures/canned_coconut.png diff --git a/textures/canned_corn.png b/textures/canned_corn.png Binary files differnew file mode 100644 index 0000000..253f994 --- /dev/null +++ b/textures/canned_corn.png diff --git a/textures/canned_cucumber.png b/textures/canned_cucumber.png Binary files differnew file mode 100644 index 0000000..255e699 --- /dev/null +++ b/textures/canned_cucumber.png diff --git a/textures/canned_mushrooms.png b/textures/canned_mushrooms.png Binary files differnew file mode 100644 index 0000000..8b3d5ed --- /dev/null +++ b/textures/canned_mushrooms.png diff --git a/textures/canned_pumpkin.png b/textures/canned_pumpkin.png Binary files differnew file mode 100644 index 0000000..2b4c7cf --- /dev/null +++ b/textures/canned_pumpkin.png diff --git a/textures/canned_tomato.png b/textures/canned_tomato.png Binary files differnew file mode 100644 index 0000000..8d3da76 --- /dev/null +++ b/textures/canned_tomato.png diff --git a/textures/dandelion_jam.png b/textures/dandelion_jam.png Binary files differnew file mode 100644 index 0000000..dab704c --- /dev/null +++ b/textures/dandelion_jam.png diff --git a/textures/grape_jam.png b/textures/grape_jam.png Binary files differnew file mode 100644 index 0000000..b9220e7 --- /dev/null +++ b/textures/grape_jam.png diff --git a/textures/melon_jam.png b/textures/melon_jam.png Binary files differnew file mode 100644 index 0000000..b08aac0 --- /dev/null +++ b/textures/melon_jam.png diff --git a/textures/orange_jam.png b/textures/orange_jam.png Binary files differnew file mode 100644 index 0000000..a6d418e --- /dev/null +++ b/textures/orange_jam.png diff --git a/textures/raspberry_jam.png b/textures/raspberry_jam.png Binary files differnew file mode 100644 index 0000000..01d020c --- /dev/null +++ b/textures/raspberry_jam.png diff --git a/textures/rhubarb_jam.png b/textures/rhubarb_jam.png Binary files differnew file mode 100644 index 0000000..ba74329 --- /dev/null +++ b/textures/rhubarb_jam.png diff --git a/textures/rose_jam.png b/textures/rose_jam.png Binary files differnew file mode 100644 index 0000000..7da53ef --- /dev/null +++ b/textures/rose_jam.png diff --git a/textures/strawberry_jam.png b/textures/strawberry_jam.png Binary files differnew file mode 100644 index 0000000..f2b5ed4 --- /dev/null +++ b/textures/strawberry_jam.png |