summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md23
-rw-r--r--depends.txt1
-rw-r--r--init.lua172
-rw-r--r--locale/de.txt3
-rw-r--r--locale/template.txt1
-rw-r--r--textures/food_cake_cheese.pngbin363 -> 0 bytes
6 files changed, 99 insertions, 101 deletions
diff --git a/README.md b/README.md
index 4064e1d..db2046e 100644
--- a/README.md
+++ b/README.md
@@ -3,6 +3,8 @@ The Food Mod
This is the main mod in the food mod collection.
+Version 2.1
+
The Aims
--------
@@ -14,27 +16,24 @@ All content should follow these aims:
Documentation
-------------
-Advanced documentation and a recipe guide is coming soon!
+Recipe guide: https://www.dropbox.com/s/tsvjmobv9n3isu0/food_crafting.pdf?dl=1
-Other mods
-----------
+Expansion Packs
+---------------
-There are expansion mods avaliable. Just install them in a mod folder, and everything should be fine.
+There are expansion mods available. Just install them in a mod folder, and everything should be fine.
+* Sweet Foods - https://github.com/rubenwardy/food_sweet
* Modern food (Needs updating) - burgers, soft drinks, pop corn, coffee, etc
-* English food (Coming Soon) - breakfast, pastries, pasties, buns, muffins, teas, cheese
-* Asian food (Coming Soon) - indian, chinese, thai
Licensing
---------
-The code, textures and nodeboxes in this mod are, unless otherwise notified, licensed under CC BY SA.
-
-ANDREW "RUBENWARDY" WARD
-Creative Commons BY-SA 3.0
-(or similar)
+Created by rubenwardy
+License for code: GPL 3.0 or later.
+License for textures: CC-BY-SA
-http://creativecommons.org/licenses/by-sa/3.0/
+Exceptions:
* Baked potato texture by Doc, WTFPL
* Dough, flour and wheat textures from default farming mod, WTFPL
diff --git a/depends.txt b/depends.txt
index 3eca8d4..f065794 100644
--- a/depends.txt
+++ b/depends.txt
@@ -1,3 +1,4 @@
+intllib?
default?
farming?
farming_plus?
diff --git a/init.lua b/init.lua
index b5724a8..1744273 100644
--- a/init.lua
+++ b/init.lua
@@ -7,13 +7,15 @@
-- basic foods
-- =====================================
+print("Food Mod - Version 2.1")
+
-- Boilerplate to support localized strings if intllib mod is installed.
local S
if (minetest.get_modpath("intllib")) then
- dofile(minetest.get_modpath("intllib").."/intllib.lua")
- S = intllib.Getter(minetest.get_current_modname())
+ dofile(minetest.get_modpath("intllib").."/intllib.lua")
+ S = intllib.Getter(minetest.get_current_modname())
else
- S = function ( s ) return s end
+ S = function ( s ) return s end
end
food = {
@@ -23,10 +25,13 @@ food = {
debug = false
}
+-- Checks for external content, and adds support
function food.support(group,mod,item)
food.atsup[group] = true
if not minetest.get_modpath(mod) then
- print("mod '"..mod.."' is not installed")
+ if food.debug then
+ print("[FOOD MOD DEBUG] mod '"..mod.."' is not installed")
+ end
return
end
@@ -39,7 +44,7 @@ function food.support(group,mod,item)
local data = minetest.registered_items[item]
if not data then
- print("item '"..item.."' not found")
+ print("[FOOD MOD WARNING] item '"..item.."' not found")
return
end
@@ -52,6 +57,8 @@ function food.support(group,mod,item)
end
food.supported[group] = true
end
+
+-- Defines built in items if needed
function food.asupport(group,add)
food.df[group] = true
if food.supported[group] then
@@ -64,11 +71,15 @@ function food.asupport(group,add)
return
end
end
-
- print("registering "..group.." inbuilt definition")
+
+ if food.debug then
+ print("registering "..group.." inbuilt definition")
+ end
add()
end
+
+-- Checks for hunger mods to register food on
function food.item_eat(amt)
if minetest.get_modpath("hud") then
return hud.item_eat(amt)
@@ -77,20 +88,52 @@ function food.item_eat(amt)
end
end
--- Debug to check all supports have inbuilt
+-- Registers craft item or node depending on settings
+function food.register(name,data,mod)
+ if (minetest.setting_getbool("food_use_2d") or (mod ~= nil and minetest.setting_getbool("food_"..mod.."_use_2d"))) then
+ minetest.register_craftitem(name,{
+ description = data.description,
+ inventory_image = data.inventory_image,
+ groups = data.groups,
+ on_use = data.on_use
+ })
+ else
+ local newdata = {
+ description = data.description,
+ tiles = data.tiles,
+ groups = data.groups,
+ on_use = data.on_use,
+ walkable = false,
+ sunlight_propagates = true,
+ drawtype="nodebox",
+ paramtype = "light",
+ node_box = data.node_box
+ }
+ if (minetest.setting_getbool("food_2d_inv_image")) then
+ newdata.inventory_image = data.inventory_image
+ end
+ minetest.register_node(name,newdata)
+ end
+end
+
+-- Allows for overriding in the future
+function food.craft(craft)
+ minetest.register_craft(craft)
+end
+
+-- Debug to check all supports have in built version, etc
if food.debug then
minetest.after(0, function()
for name, val in pairs(food.atsup) do
if not food.df[name] then
- print("[FOOD DEBUG] Ingredient "..name.." has no built in equiv")
+ print("[FOOD MOD DEBUG] Ingredient "..name.." has no built in equiv")
end
end
for name, val in pairs(food.df) do
if not food.atsup[name] then
- print("[FOOD DEBUG] Inbuilt ingredient "..name.." has no supported external equiv")
-
+ print("[FOOD MOD DEBUG] Inbuilt ingredient "..name.." has no supported external equiv")
end
end
end)
@@ -104,8 +147,6 @@ food.support("potato","veggies","veggies:potato")
food.support("potato","farming_plus","farming_plus:potato_item")
food.support("tomato","farming_plus","farming_plus:tomato_item")
food.support("tomato","plantlib","plantlib:tomato")
-food.support("strawberry","farming_plus","farming_plus:strawberry_item")
-food.support("strawberry","plantlib","plantlib:strawberry")
food.support("carrot","farming_plus","farming_plus:carrot_item")
food.support("carrot","docfarming","docfarming:carrot")
food.support("carrot","plantlib","plantlib:carrot")
@@ -120,7 +161,6 @@ food.support("meat_raw","animalmaterials","animalmaterials:meat_raw")
food.support("meat","mobs","mobs:meat")
food.support("meat","jkanimals","jkanimals:meat")
food.support("cup","vessels","vessels:drinking_glass")
-food.support("cup","animalmaterials","animalmaterials:glass")
food.support("sugar","jkfarming","jkfarming:sugar")
food.support("sugar","bushes_classic","bushes:sugar")
@@ -132,7 +172,7 @@ food.asupport("wheat",function()
groups = {food_wheat=1}
})
- minetest.register_craft({
+ food.craft({
output = "food:wheat",
recipe = {
{"default:dry_shrub"},
@@ -145,14 +185,14 @@ food.asupport("flour",function()
inventory_image = "food_flour.png",
groups = {food_flour = 1}
})
- minetest.register_craft({
+ food.craft({
output = "food:flour",
recipe = {
{"group:food_wheat"},
{"group:food_wheat"}
}
})
- minetest.register_craft({
+ food.craft({
output = "food:flour",
recipe = {
{"default:sand"},
@@ -166,7 +206,7 @@ food.asupport("potato",function()
inventory_image = "food_potato.png",
groups = {food_potato = 1}
})
- minetest.register_craft({
+ food.craft({
output = "food:potato",
recipe = {
{"default:dirt"},
@@ -181,7 +221,7 @@ food.asupport("tomato",function()
inventory_image = "food_tomato.png",
groups = {food_tomato = 1}
})
- minetest.register_craft({
+ food.craft({
output = "food:tomato",
recipe = {
{"", "default:desert_sand", ""},
@@ -190,20 +230,6 @@ food.asupport("tomato",function()
}
})
end)
-food.asupport("strawberry",function()
- minetest.register_craftitem("food:strawberry", {
- description = S("Strawberry"),
- inventory_image = "food_strawberry.png",
- on_use = food.item_eat(2),
- groups = {food_strawberry=1}
- })
- minetest.register_craft({
- output = "food:strawberry",
- recipe = {
- {"default:apple"},
- }
- })
-end)
food.asupport("carrot",function()
minetest.register_craftitem("food:carrot", {
description = S("Carrot"),
@@ -211,7 +237,7 @@ food.asupport("carrot",function()
groups = {food_carrot=1},
on_use = food.item_eat(3)
})
- minetest.register_craft({
+ food.craft({
output = "food:carrot",
recipe = {
{"default:apple","default:apple","default:apple"},
@@ -226,7 +252,7 @@ food.asupport("milk",function()
groups = { eatable=1, food_milk = 1 },
stack_max=10
})
- minetest.register_craft({
+ food.craft({
output = "food:milk",
recipe = {
{"default:sand"},
@@ -241,7 +267,7 @@ food.asupport("egg",function()
inventory_image = "food_egg.png",
groups = {food_egg=1}
})
- minetest.register_craft({
+ food.craft({
output = "food:egg",
recipe = {
{"", "default:sand", ""},
@@ -256,7 +282,7 @@ food.asupport("cocoa",function()
inventory_image = "food_cocoa.png",
groups = {food_cocoa=1}
})
- minetest.register_craft({
+ food.craft({
output = "food:cocoa",
recipe = {
{"","default:apple",""},
@@ -273,7 +299,7 @@ food.asupport("meat_raw",function()
groups = { meat=1, eatable=1, food_meat_raw=1 },
stack_max=25
})
- minetest.register_craft({
+ food.craft({
output = "food:meat_raw",
recipe = {
{"default:apple"},
@@ -288,7 +314,7 @@ food.asupport("meat",function()
groups = {food_meat=1,food_chicken=1}
})
- minetest.register_craft({
+ food.craft({
type = "cooking",
output = "food:meat",
recipe = "group:food_meat_raw",
@@ -297,9 +323,9 @@ food.asupport("meat",function()
end)
if minetest.get_modpath("animalmaterials") then
- minetest.register_craft({
+ food.craft({
type = "cooking",
- output = "food:meat",
+ output = "group:food_meat",
recipe = "group:food_meat_raw",
cooktime = 30
})
@@ -312,7 +338,7 @@ minetest.register_craftitem("food:sugar", {
inventory_image = "food_sugar.png",
groups = {food_sugar=1}
})
-minetest.register_craft({
+food.craft({
output = "food:sugar 20",
recipe = {
{"default:papyrus"},
@@ -325,7 +351,7 @@ minetest.register_craftitem("food:chocolate_powder", {
inventory_image = "food_chocolate_powder.png",
groups = {food_choco_powder = 1}
})
-minetest.register_craft({
+food.craft({
output = "food:chocolate_powder 16",
recipe = {
{"group:food_cocoa","group:food_cocoa","group:food_cocoa"},
@@ -340,7 +366,7 @@ minetest.register_craftitem("food:dark_chocolate",{
inventory_image = "food_dark_chocolate.png",
groups = {food_dark_chocolate=1}
})
-minetest.register_craft({
+food.craft({
output = "food:dark_chocolate",
recipe = {
{"group:food_cocoa","group:food_cocoa","group:food_cocoa"}
@@ -353,7 +379,7 @@ minetest.register_craftitem("food:milk_chocolate",{
inventory_image = "food_milk_chocolate.png",
groups = {food_milk_chocolate=1}
})
-minetest.register_craft({
+food.craft({
output = "food:milk_chocolate",
recipe = {
{"","group:food_milk",""},
@@ -367,7 +393,7 @@ minetest.register_craftitem("food:pasta",{
inventory_image = "food_pasta.png",
groups = {food_pasta=1}
})
-minetest.register_craft({
+food.craft({
output = "food:pasta 4",
type = "shapeless",
recipe = {"group:food_flour","group:food_egg","group:food_egg"}
@@ -379,7 +405,7 @@ minetest.register_craftitem("food:bowl",{
inventory_image = "food_bowl.png",
groups = {food_bowl=1}
})
-minetest.register_craft({
+food.craft({
output = "food:bowl",
recipe = {
{"default:clay_lump","","default:clay_lump"},
@@ -392,7 +418,7 @@ minetest.register_craftitem("food:butter", {
inventory_image = "food_butter.png",
groups = {food_butter=1}
})
-minetest.register_craft({
+food.craft({
output = "food:butter",
recipe = {
{"group:food_milk","group:food_milk"},
@@ -406,7 +432,7 @@ minetest.register_craftitem("food:cheese", {
on_use = food.item_eat(4),
groups = {food_cheese=1}
})
-minetest.register_craft({
+food.craft({
output = "food:cheese",
recipe = {
{"group:food_butter","group:food_butter"},
@@ -419,7 +445,7 @@ minetest.register_craftitem("food:baked_potato", {
inventory_image = "food_baked_potato.png",
on_use = food.item_eat(6),
})
-minetest.register_craft({
+food.craft({
type = "cooking",
output = "food:baked_potato",
recipe = "group:food_potato",
@@ -436,12 +462,12 @@ minetest.register_craftitem("food:pasta_bake_raw",{
description = S("Raw Pasta Bake"),
inventory_image = "food_pasta_bake_raw.png",
})
-minetest.register_craft({
+food.craft({
output = "food:pasta_bake",
type = "cooking",
recipe = "food:pasta_bake_raw"
})
-minetest.register_craft({
+food.craft({
output = "food:pasta_bake_raw",
recipe = {
{"group:food_cheese"},
@@ -468,12 +494,12 @@ for i=1, #soups do
inventory_image = "food_soup_"..flav[1].."_raw.png",
})
- minetest.register_craft({
+ food.craft({
type = "cooking",
output = "food:soup_"..flav[1],
recipe = "food:soup_"..flav[1].."_raw",
})
- minetest.register_craft({
+ food.craft({
output = "food:soup_"..flav[1].."_raw",
recipe = {
{"", "", ""},
@@ -494,7 +520,7 @@ for i=1, #juices do
on_use = minetest.item_eat(2),
})
- minetest.register_craft({
+ food.craft({
output = "food:"..flav.."_juice 4",
recipe = {
{"","",""},
@@ -510,7 +536,7 @@ minetest.register_craftitem("food:rainbow_juice", {
on_use = minetest.item_eat(20),
})
-minetest.register_craft({
+food.craft({
output = "food:rainbow_juice 99",
recipe = {
{"","",""},
@@ -595,36 +621,24 @@ minetest.register_node("food:cake_carrot", {
}
}
})
-minetest.register_craftitem("food:cake_cheese",{
- description = S("Cheese cake"),
- inventory_image = "food_cake_cheese.png",
- on_use = food.item_eat(4),
- groups={food=3,crumbly=3}
-})
-minetest.register_craft({
+food.craft({
type = "cooking",
output = "food:cake",
recipe = "food:cakemix_plain",
cooktime = 10,
})
-minetest.register_craft({
+food.craft({
type = "cooking",
output = "food:cake_choco",
recipe = "food:cakemix_choco",
cooktime = 10,
})
-minetest.register_craft({
+food.craft({
type = "cooking",
output = "food:cake_carrot",
recipe = "food:cakemix_carrot",
cooktime = 10,
})
-minetest.register_craft({
- type = "cooking",
- output = "food:cake_cheese",
- recipe = "food:cakemix_cheese",
- cooktime = 10,
-})
-- Cake mix
minetest.register_craftitem("food:cakemix_plain",{
@@ -641,35 +655,23 @@ minetest.register_craftitem("food:cakemix_carrot",{
description = S("Carrot Cake Mix"),
inventory_image = "food_cakemix_carrot.png",
})
-
-minetest.register_craftitem("food:cakemix_cheese",{
- description = S("Cheese Cake Mix"),
- inventory_image = "food_cakemix_carrot.png",
-})
minetest.register_craft({
output = "food:cakemix_plain",
recipe = {
{"group:food_flour","group:food_sugar","group:food_egg"},
}
})
-minetest.register_craft({
+food.craft({
output = "food:cakemix_choco",
recipe = {
{"","group:food_choco_powder",""},
{"group:food_flour","group:food_sugar","group:food_egg"},
}
})
-minetest.register_craft({
+food.craft({
output = "food:cakemix_carrot",
recipe = {
{"","group:food_carrot",""},
{"group:food_flour","group:food_sugar","group:food_egg"},
}
})
-minetest.register_craft({
- output = "food:cakemix_cheese",
- recipe = {
- {"group:food_cheese","group:food_strawberry",""},
- {"group:food_flour","group:food_sugar","group:food_egg"},
- }
-})
diff --git a/locale/de.txt b/locale/de.txt
index b016e4f..35e2187 100644
--- a/locale/de.txt
+++ b/locale/de.txt
@@ -4,7 +4,6 @@ Wheat = Weizen
Flour = Mehl
Potato = Kartoffel
Tomato = Tomate
-Strawberry = Erdbeere
Carrot = Karotte
Milk = Milch
Egg = Ei
@@ -32,8 +31,6 @@ Rainbow Juice = Regenbogensaft
Cake = Kuchen
Chocolate Cake = Schokoladenkuchen
Carrot Cake = Karottenkuchen
-Cheese cake = Kaesekuchen
Cake Mix = Backmischung
Chocolate Cake Mix = Backmischung fuer Schokoladenkuchen
Carrot Cake Mix = Backmischung fuer Karottenkuchen
-Cheese Cake Mix = Backmischung fuer Kaesekuchen
diff --git a/locale/template.txt b/locale/template.txt
index dc925d5..7c54b13 100644
--- a/locale/template.txt
+++ b/locale/template.txt
@@ -4,7 +4,6 @@ Wheat =
Flour =
Potato =
Tomato =
-Strawberry =
Carrot =
Milk =
Egg =
diff --git a/textures/food_cake_cheese.png b/textures/food_cake_cheese.png
deleted file mode 100644
index dc7467e..0000000
--- a/textures/food_cake_cheese.png
+++ /dev/null
Binary files differ