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.xcfBinary files differ new file mode 100644 index 0000000..a26a2cd --- /dev/null +++ b/textures/#example_apple.xcf diff --git a/textures/apple_jam.png b/textures/apple_jam.pngBinary files differ new file mode 100644 index 0000000..f436dec --- /dev/null +++ b/textures/apple_jam.png diff --git a/textures/banana_jam.png b/textures/banana_jam.pngBinary files differ new file mode 100644 index 0000000..19b3f42 --- /dev/null +++ b/textures/banana_jam.png diff --git a/textures/blueberry_jam.png b/textures/blueberry_jam.pngBinary files differ new file mode 100644 index 0000000..982d01e --- /dev/null +++ b/textures/blueberry_jam.png diff --git a/textures/canned_beans.png b/textures/canned_beans.pngBinary files differ new file mode 100644 index 0000000..95a451a --- /dev/null +++ b/textures/canned_beans.png diff --git a/textures/canned_carrot.png b/textures/canned_carrot.pngBinary files differ new file mode 100644 index 0000000..a27d249 --- /dev/null +++ b/textures/canned_carrot.png diff --git a/textures/canned_coconut.png b/textures/canned_coconut.pngBinary files differ new file mode 100644 index 0000000..b5ab69f --- /dev/null +++ b/textures/canned_coconut.png diff --git a/textures/canned_corn.png b/textures/canned_corn.pngBinary files differ new file mode 100644 index 0000000..253f994 --- /dev/null +++ b/textures/canned_corn.png diff --git a/textures/canned_cucumber.png b/textures/canned_cucumber.pngBinary files differ new file mode 100644 index 0000000..255e699 --- /dev/null +++ b/textures/canned_cucumber.png diff --git a/textures/canned_mushrooms.png b/textures/canned_mushrooms.pngBinary files differ new file mode 100644 index 0000000..8b3d5ed --- /dev/null +++ b/textures/canned_mushrooms.png diff --git a/textures/canned_pumpkin.png b/textures/canned_pumpkin.pngBinary files differ new file mode 100644 index 0000000..2b4c7cf --- /dev/null +++ b/textures/canned_pumpkin.png diff --git a/textures/canned_tomato.png b/textures/canned_tomato.pngBinary files differ new file mode 100644 index 0000000..8d3da76 --- /dev/null +++ b/textures/canned_tomato.png diff --git a/textures/dandelion_jam.png b/textures/dandelion_jam.pngBinary files differ new file mode 100644 index 0000000..dab704c --- /dev/null +++ b/textures/dandelion_jam.png diff --git a/textures/grape_jam.png b/textures/grape_jam.pngBinary files differ new file mode 100644 index 0000000..b9220e7 --- /dev/null +++ b/textures/grape_jam.png diff --git a/textures/melon_jam.png b/textures/melon_jam.pngBinary files differ new file mode 100644 index 0000000..b08aac0 --- /dev/null +++ b/textures/melon_jam.png diff --git a/textures/orange_jam.png b/textures/orange_jam.pngBinary files differ new file mode 100644 index 0000000..a6d418e --- /dev/null +++ b/textures/orange_jam.png diff --git a/textures/raspberry_jam.png b/textures/raspberry_jam.pngBinary files differ new file mode 100644 index 0000000..01d020c --- /dev/null +++ b/textures/raspberry_jam.png diff --git a/textures/rhubarb_jam.png b/textures/rhubarb_jam.pngBinary files differ new file mode 100644 index 0000000..ba74329 --- /dev/null +++ b/textures/rhubarb_jam.png diff --git a/textures/rose_jam.png b/textures/rose_jam.pngBinary files differ new file mode 100644 index 0000000..7da53ef --- /dev/null +++ b/textures/rose_jam.png diff --git a/textures/strawberry_jam.png b/textures/strawberry_jam.pngBinary files differ new file mode 100644 index 0000000..f2b5ed4 --- /dev/null +++ b/textures/strawberry_jam.png | 
