Compare commits

...

68 Commits

Author SHA1 Message Date
fb733d8f6f Merge remote-tracking branch 'upstream/master' 2020-07-17 22:51:45 +02:00
e11286845d fix bibimbap recipe (thanks Orange) 2020-07-11 14:16:42 +01:00
82a6225458 fix cabbage typo 2020-07-10 20:33:57 +01:00
6f0383d5b6 code tidy and tweak 2020-07-02 14:31:12 +01:00
0aeeb70ca2 fix typo 2020-07-01 21:15:47 +01:00
da8e1fbbdf added cabbage, crop and bibimbap food item 2020-07-01 19:32:38 +01:00
3911e56659 add {drink=1} group to drinks 2020-06-30 20:06:41 +01:00
03d14b2b39 added pasta and spaghetti 2020-06-25 16:20:33 +01:00
c62e36f6da update russian translation (thanks Yellow) 2020-06-20 20:34:18 +01:00
b3f69171c3 added cactus juice (thanks OgelGames) 2020-06-18 21:02:39 +01:00
016528f585 Merge remote-tracking branch 'upstream/master' into nalc-1.2-dev 2020-06-16 21:43:22 +02:00
88ed7b5a7f Supprime la génération des carottes et du maïs 2020-06-14 15:42:23 +02:00
84d9ca7beb added wild cotton to savanna 2020-06-12 15:04:23 +01:00
bed986ad74 hemp fibre recipe gives more paper and string 2020-06-12 10:00:12 +01:00
8a9d96b526 fix hoe bomb collisionbox 2020-06-11 15:41:24 +01:00
d021cb639b added apple pie 2020-06-05 09:00:40 +01:00
722e8503c9 added italian translation (thanks Hamlet) 2020-06-03 08:06:15 +01:00
a1752b270a mint seeds shouldn't be edible :P 2020-05-28 18:39:40 +01:00
f6a61994e4 added mint and mint tea (thanks Darkstalker) 2020-05-27 11:07:31 +01:00
ca0876c6d8 onion soup added thanks to edcrypt 2020-05-17 09:51:07 +01:00
0e42a72120 whoops, added 5.0 check for dry dirt 2020-04-30 15:53:04 +01:00
42404da9bb used soil wet/dry/base features of default, added dry_soil 2020-04-30 15:49:33 +01:00
eb0255f026 update readme 2020-04-26 21:25:03 +01:00
e3f705a804 update translations, description changes 2020-04-26 19:34:43 +01:00
e6aa8f9997 Fix a few descriptions 2020-04-26 15:41:39 +01:00
f95a141210 make pumpkin and melon easier to dig with their respective tools 2020-04-23 08:47:23 +01:00
68332f2706 added farming_stage_lengh setting to determine speed of crop growth 2020-04-20 09:38:28 +01:00
17359d50af fix pumpkin drop with scythe 2020-04-06 10:03:19 +01:00
0a3b4466c0 add compatibility for new dry_soil nodes 2020-03-28 20:01:50 +00:00
a1d3e41b1f Can only hoe top of soil (thanks HybridDog for this idea), breaking sound added to hoe 2020-03-24 14:58:50 +00:00
e9d97cfeb1 Merge branch 'master' of yunohost.local:mtcontrib/farming into nalc-1.2-dev 2019-12-22 13:05:51 +01:00
02d10c376e added seed=2 group to plantable food items 2019-12-02 10:23:20 +00:00
cc0fc2c763 scythe works on use instead of right click (thanks OgelGames) 2019-11-20 20:51:34 +00:00
df1cee3b6e code tidy 2019-10-21 11:24:20 +01:00
d780097a48 add some nil checks for itemstack when right clicking on_rightclick nodes 2019-10-02 19:13:55 +01:00
faed117a6d code tidy ' to " 2019-08-05 09:12:06 +01:00
d5dab7938a add nil check for itemstack when placing and taking seed from inventory 2019-07-28 08:38:43 +01:00
4465c49a19 fix crafting bug 2019-06-25 20:27:28 +01:00
1c0a1bab8e slightly increase spawn rate of chili and hemp 2019-06-25 15:08:08 +01:00
f187396d25 add chocolate block 2019-06-19 11:37:39 +01:00
c770314dda add hoe group to hoes 2019-06-03 08:47:57 +01:00
5decae8261 remove duplicate line 2019-05-24 14:26:09 +01:00
d67b466506 changed ipairs to pairs to cover all crops 2019-05-23 19:29:06 +01:00
bacc98d0a9 fix water check for soil (3 horizontal, 1 below) 2019-05-14 08:43:55 +01:00
19577a3917 Merge branch 'master' into nalc-1.2 2019-05-09 21:40:50 +02:00
6d5e74e30c default minlight for crop growth is now 12 2019-05-08 19:42:33 +01:00
7c22eea12c changed water checks, jackolantern protection added 2019-05-08 19:30:20 +01:00
4ad40a0ecb added named license for farming_barley.png 2019-05-08 15:25:32 +01:00
aeb6b82fe6 update .conf example 2019-04-27 08:47:36 +01:00
561d0d01a1 add spawn rate for each crop in settings 2019-04-27 08:34:29 +01:00
1c8dfd0cba updated readme 2019-04-02 20:08:46 +01:00
b860998589 Added moreores silver and mithril hoe's with toolrank support 2019-04-02 20:04:49 +01:00
15087a7352 add player to any callbacks when using mithril scythe 2019-03-31 20:33:03 +01:00
ee993f9d61 1 in 3 chance of raw potato being poisonous 2019-03-22 17:17:25 +00:00
a7694d26c7 fix bug in scythe callbacks, thanks BuckarooBanzay 2019-02-12 19:55:00 +00:00
feab0cc9ca add farming.add_to_scythe_not_drops(item) function for expansion 2019-02-01 19:36:47 +00:00
99a729e488 fix scythe harvest of beanpoles and grapes 2019-02-01 17:58:40 +00:00
58c236532d added mithril scythe as special item 2019-02-01 15:36:41 +00:00
a6fe98b5c1 license updates 2019-01-30 13:50:39 +00:00
5a5c896f5a add vessel group 2019-01-30 09:11:05 +00:00
0d3faf53e7 added multigrain flour and bread 2019-01-24 11:38:21 +00:00
f872075d99 tweaked grains growing vars 2019-01-11 11:01:41 +00:00
bedade8755 fix seed changes when digging grass, force start timer on seed place 2019-01-11 10:23:22 +00:00
f908ccf660 add jaffa cake 2019-01-08 10:23:28 +00:00
44a2388887 updated seed chest lucky box 2019-01-06 10:44:41 +00:00
a4350abba1 added new oatmeal recipe 2019-01-06 10:37:41 +00:00
d2f598a1cc update readme and version 2019-01-06 10:30:49 +00:00
9253d08cd4 added oats, rye and rice thanks to ademants grains mod 2019-01-06 10:28:24 +00:00
112 changed files with 3019 additions and 2196 deletions

View File

@ -13,6 +13,14 @@ This mod works by adding your new plant to the {growing=1} group and numbering t
### Changelog: ### Changelog:
- 1.45 - Dirt and Hoes are more in line with default by using dry/wet/base, added cactus juice, added pasta, spaghetti, cabbage, korean bibimbap, code tidy
options, onion soup added (thanks edcrypt), Added apple pie, added wild cotton to savanna
- 1.44 - Added 'farming_stage_length' in mod settings for speed of crop growth, also thanks to TheDarkTiger for translation updates
- 1.43 - Scythe works on use instead of right-click, added seed=1 groups to actual seeds and seed=2 group for plantable food items.
- 1.42 - Soil needs water to be present within 3 blocks horizontally and 1 below to make wet soil, Jack 'o Lanterns now check protection, add chocolate block.
- 1.41 - Each crop has it's own spawn rate (can be changed in farming.conf)
- 1.40 - Added Mithril Scythe to quick harvest and replant crops on right-click. Added Hoe's for MoreOres with Toolrank support.
- 1.39 - Added Rice, Rye and Oats thanks to Ademants Grains mod. Added Jaffa Cake and multigrain bread.
- 1.38 - Pumpkin grows into block, use chopping board to cut into 4x slices, same with melon block, 2x2 slices makes a block, cocoa pods are no longer walkable - 1.38 - Pumpkin grows into block, use chopping board to cut into 4x slices, same with melon block, 2x2 slices makes a block, cocoa pods are no longer walkable
- 1.37 - Added custom 'growth_check(pos, nodename) function for crop nodes to use (check cocoa.lua for example) - 1.37 - Added custom 'growth_check(pos, nodename) function for crop nodes to use (check cocoa.lua for example)
- 1.36 - Added Beetroot, Beetroot Soup (6x beetroot, 1x bowl), fix register_plant() issue, add new recipes - 1.36 - Added Beetroot, Beetroot Soup (6x beetroot, 1x bowl), fix register_plant() issue, add new recipes
@ -59,4 +67,4 @@ This mod works by adding your new plant to the {growing=1} group and numbering t
- 0.1 - Fixed growing bug - 0.1 - Fixed growing bug
- 0.0 - Initial release - 0.0 - Initial release
### Lucky Blocks: 38 ### Lucky Blocks: 39

10
api.txt
View File

@ -21,7 +21,7 @@ The farming API allows you to easily register plants and hoes.
{ {
description = "", -- Description for tooltip description = "My Hoe", -- Description for tooltip
inventory_image = "unknown_item.png", -- Image to be used as wield- and inventory image inventory_image = "unknown_item.png", -- Image to be used as wield- and inventory image
max_uses = 30, -- Uses until destroyed max_uses = 30, -- Uses until destroyed
material = "", -- Material for recipes material = "", -- Material for recipes
@ -35,7 +35,7 @@ The farming API allows you to easily register plants and hoes.
### Plant definition ### Plant definition
{ {
description = "", -- Description of seed item description = "My Plant", -- Description of seed item
inventory_image = "unknown_item.png", -- Image to be used as seed's wield- and inventory image inventory_image = "unknown_item.png", -- Image to be used as seed's wield- and inventory image
steps = 8, -- How many steps the plant has to grow, until it can be harvested steps = 8, -- How many steps the plant has to grow, until it can be harvested
-- ^ Always provide a plant texture for each step, format: modname_plantname_i.png (i = stepnumber) -- ^ Always provide a plant texture for each step, format: modname_plantname_i.png (i = stepnumber)
@ -56,3 +56,9 @@ growth_check = function(pos, node_name)
end end
return true -- condition not met, skip next growth stage until next check return true -- condition not met, skip next growth stage until next check
end, end,
### Scythe items that will not drop
This is a function to add items to a list that scythes will not drop, e.g. farming:trellis or farming:beanpole.
farming.add_to_scythe_not_drops(item_name)

View File

@ -1,4 +1,6 @@
local S = farming.intllib
--= Helpers --= Helpers
local eth = minetest.get_modpath("ethereal") local eth = minetest.get_modpath("ethereal")
@ -10,13 +12,13 @@ end
minetest.override_item("default:apple", { minetest.override_item("default:apple", {
groups = {food_apple = 1, fleshy = 3, dig_immediate = 3, flammable = 2, groups = {food_apple = 1, fleshy = 3, dig_immediate = 3, flammable = 2,
leafdecay = 3, leafdecay_drop = 1}, leafdecay = 3, leafdecay_drop = 1}
}) })
if minetest.registered_nodes["flowers:mushroom_brown"] then if minetest.registered_nodes["flowers:mushroom_brown"] then
minetest.override_item("flowers:mushroom_brown", { minetest.override_item("flowers:mushroom_brown", {
light_source = 1, light_source = 1,
groups = {food_mushroom = 1, snappy = 3, attached_node = 1, flammable = 2}, groups = {food_mushroom = 1, snappy = 3, attached_node = 1, flammable = 2}
}) })
end end
@ -29,7 +31,7 @@ if eth then
alias("farming_plus:banana", "ethereal:banana") alias("farming_plus:banana", "ethereal:banana")
else else
minetest.register_node(":ethereal:banana", { minetest.register_node(":ethereal:banana", {
description = "Banana", description = S("Banana"),
drawtype = "torchlike", drawtype = "torchlike",
tiles = {"banana_single.png"}, tiles = {"banana_single.png"},
inventory_image = "banana_single.png", inventory_image = "banana_single.png",
@ -43,18 +45,18 @@ else
}, },
groups = {food_banana = 1, fleshy = 3, dig_immediate = 3, flammable = 2}, groups = {food_banana = 1, fleshy = 3, dig_immediate = 3, flammable = 2},
on_use = minetest.item_eat(2), on_use = minetest.item_eat(2),
sounds = default.node_sound_leaves_defaults(), sounds = default.node_sound_leaves_defaults()
}) })
minetest.register_node(":ethereal:bananaleaves", { minetest.register_node(":ethereal:bananaleaves", {
description = "Banana Leaves", description = S("Banana Leaves"),
tiles = {"banana_leaf.png"}, tiles = {"banana_leaf.png"},
inventory_image = "banana_leaf.png", inventory_image = "banana_leaf.png",
wield_image = "banana_leaf.png", wield_image = "banana_leaf.png",
paramtype = "light", paramtype = "light",
waving = 1, waving = 1,
groups = {snappy = 3, leafdecay = 3, leaves = 1, flammable = 2}, groups = {snappy = 3, leafdecay = 3, leaves = 1, flammable = 2},
sounds = default.node_sound_leaves_defaults(), sounds = default.node_sound_leaves_defaults()
}) })
alias("farming_plus:banana_sapling", "default:sapling") alias("farming_plus:banana_sapling", "default:sapling")
@ -87,7 +89,7 @@ if eth then
alias("farming_plus:orange_seed", "ethereal:orange_tree_sapling") alias("farming_plus:orange_seed", "ethereal:orange_tree_sapling")
else else
minetest.register_node(":ethereal:orange", { minetest.register_node(":ethereal:orange", {
description = "Orange", description = S("Orange"),
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_orange.png"}, tiles = {"farming_orange.png"},
inventory_image = "farming_orange.png", inventory_image = "farming_orange.png",
@ -101,7 +103,7 @@ else
}, },
groups = {food_orange = 1, fleshy = 3, dig_immediate = 3, flammable = 2}, groups = {food_orange = 1, fleshy = 3, dig_immediate = 3, flammable = 2},
on_use = minetest.item_eat(4), on_use = minetest.item_eat(4),
sounds = default.node_sound_leaves_defaults(), sounds = default.node_sound_leaves_defaults()
}) })
alias("farming_plus:orange_item", "ethereal:orange") alias("farming_plus:orange_item", "ethereal:orange")
@ -145,11 +147,11 @@ if eth then
alias("farming_plus:strawberry", "ethereal:strawberry_7") alias("farming_plus:strawberry", "ethereal:strawberry_7")
else else
minetest.register_craftitem(":ethereal:strawberry", { minetest.register_craftitem(":ethereal:strawberry", {
description = "Strawberry", description = S("Strawberry"),
inventory_image = "strawberry.png", inventory_image = "strawberry.png",
wield_image = "strawberry.png", wield_image = "strawberry.png",
groups = {food_strawberry = 1, flammable = 2}, groups = {food_strawberry = 1, flammable = 2},
on_use = minetest.item_eat(1), on_use = minetest.item_eat(1)
}) })
alias("farming_plus:strawberry_item", "ethereal:strawberry") alias("farming_plus:strawberry_item", "ethereal:strawberry")

View File

@ -16,14 +16,14 @@ minetest.register_node("farming:seed_barley", {
selection_box = farming.select, selection_box = farming.select,
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "farming:barley_1") return farming.place_seed(itemstack, placer, pointed_thing, "farming:barley_1")
end, end
}) })
-- harvested barley -- harvested barley
minetest.register_craftitem("farming:barley", { minetest.register_craftitem("farming:barley", {
description = S("Barley"), description = S("Barley"),
inventory_image = "farming_barley.png", inventory_image = "farming_barley.png",
groups = {food_barley = 1, flammable = 2}, groups = {food_barley = 1, flammable = 2}
}) })
-- flour -- flour
@ -34,11 +34,11 @@ minetest.register_craft({
"farming:barley", "farming:barley", "farming:barley", "farming:barley", "farming:barley", "farming:barley",
"farming:barley", "farming:mortar_pestle" "farming:barley", "farming:mortar_pestle"
}, },
replacements = {{"group:food_mortar_pestle", "farming:mortar_pestle"}}, replacements = {{"group:food_mortar_pestle", "farming:mortar_pestle"}}
}) })
-- barley definition -- barley definition
local crop_def = { local def = {
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_barley_1.png"}, tiles = {"farming_barley_1.png"},
paramtype = "light", paramtype = "light",
@ -57,52 +57,52 @@ local crop_def = {
} }
-- stage 1 -- stage 1
minetest.register_node("farming:barley_1", table.copy(crop_def)) minetest.register_node("farming:barley_1", table.copy(def))
-- stage 2 -- stage 2
crop_def.tiles = {"farming_barley_2.png"} def.tiles = {"farming_barley_2.png"}
minetest.register_node("farming:barley_2", table.copy(crop_def)) minetest.register_node("farming:barley_2", table.copy(def))
-- stage 3 -- stage 3
crop_def.tiles = {"farming_barley_3.png"} def.tiles = {"farming_barley_3.png"}
minetest.register_node("farming:barley_3", table.copy(crop_def)) minetest.register_node("farming:barley_3", table.copy(def))
-- stage 4 -- stage 4
crop_def.tiles = {"farming_barley_4.png"} def.tiles = {"farming_barley_4.png"}
minetest.register_node("farming:barley_4", table.copy(crop_def)) minetest.register_node("farming:barley_4", table.copy(def))
-- stage 5 -- stage 5
crop_def.tiles = {"farming_barley_5.png"} def.tiles = {"farming_barley_5.png"}
crop_def.drop = { def.drop = {
items = { items = {
{items = {'farming:barley'}, rarity = 2}, {items = {"farming:barley"}, rarity = 2},
{items = {'farming:seed_barley'}, rarity = 2}, {items = {"farming:seed_barley"}, rarity = 2}
} }
} }
minetest.register_node("farming:barley_5", table.copy(crop_def)) minetest.register_node("farming:barley_5", table.copy(def))
-- stage 6 -- stage 6
crop_def.tiles = {"farming_barley_6.png"} def.tiles = {"farming_barley_6.png"}
crop_def.drop = { def.drop = {
items = { items = {
{items = {'farming:barley'}, rarity = 2}, {items = {"farming:barley"}, rarity = 2},
{items = {'farming:seed_barley'}, rarity = 1}, {items = {"farming:seed_barley"}, rarity = 1}
} }
} }
minetest.register_node("farming:barley_6", table.copy(crop_def)) minetest.register_node("farming:barley_6", table.copy(def))
-- stage 7 (final) -- stage 7 (final)
crop_def.tiles = {"farming_barley_7.png"} def.tiles = {"farming_barley_7.png"}
crop_def.groups.growing = 0 def.groups.growing = nil
crop_def.drop = { def.drop = {
items = { items = {
{items = {'farming:barley'}, rarity = 1}, {items = {"farming:barley"}, rarity = 1},
{items = {'farming:barley'}, rarity = 3}, {items = {"farming:barley"}, rarity = 3},
{items = {'farming:seed_barley'}, rarity = 1}, {items = {"farming:seed_barley"}, rarity = 1},
{items = {'farming:seed_barley'}, rarity = 3}, {items = {"farming:seed_barley"}, rarity = 3}
} }
} }
minetest.register_node("farming:barley_7", table.copy(crop_def)) minetest.register_node("farming:barley_7", table.copy(def))
-- add to registered_plants -- add to registered_plants
farming.registered_plants["farming:barley"] = { farming.registered_plants["farming:barley"] = {
@ -110,5 +110,12 @@ farming.registered_plants["farming:barley"] = {
seed = "farming:seed_barley", seed = "farming:seed_barley",
minlight = 13, minlight = 13,
maxlight = 15, maxlight = 15,
steps = 8 steps = 7
} }
-- Fuel
minetest.register_craft({
type = "fuel",
recipe = "farming:barley",
burntime = 1
})

View File

@ -13,7 +13,6 @@ local function place_beans(itemstack, placer, pointed_thing, plantname)
-- check if pointing at a node -- check if pointing at a node
if not pt or pt.type ~= "node" then if not pt or pt.type ~= "node" then
return return
end end
@ -27,7 +26,7 @@ local function place_beans(itemstack, placer, pointed_thing, plantname)
-- am I right-clicking on something that has a custom on_place set? -- am I right-clicking on something that has a custom on_place set?
-- thanks to Krock for helping with this issue :) -- thanks to Krock for helping with this issue :)
local def = minetest.registered_nodes[under.name] local def = minetest.registered_nodes[under.name]
if placer and def and def.on_rightclick then if placer and itemstack and def and def.on_rightclick then
return def.on_rightclick(pt.under, under, placer, itemstack) return def.on_rightclick(pt.under, under, placer, itemstack)
end end
@ -72,19 +71,18 @@ end
minetest.register_craftitem("farming:beans", { minetest.register_craftitem("farming:beans", {
description = S("Green Beans"), description = S("Green Beans"),
inventory_image = "farming_beans.png", inventory_image = "farming_beans.png",
groups = {food_beans = 1, flammable = 2}, groups = {seed = 2, food_beans = 1, flammable = 2},
on_use = minetest.item_eat(1), on_use = minetest.item_eat(1),
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)
return place_beans(itemstack, placer, pointed_thing, "farming:beanpole_1") return place_beans(itemstack, placer, pointed_thing, "farming:beanpole_1")
end, end
}) })
-- beans can be used for green dye -- beans can be used for green dye
minetest.register_craft({ minetest.register_craft({
output = "dye:green", output = "dye:green",
recipe = { recipe = {
{'farming:beans'}, {"farming:beans"}
} }
}) })
@ -94,7 +92,7 @@ minetest.register_node("farming:beanpole", {
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_beanpole.png"}, tiles = {"farming_beanpole.png"},
inventory_image = "farming_beanpole.png", inventory_image = "farming_beanpole.png",
visual_scale = 1.90, -- 1.45, visual_scale = 1.90,
paramtype = "light", paramtype = "light",
walkable = false, walkable = false,
buildable_to = true, buildable_to = true,
@ -162,67 +160,67 @@ minetest.register_node("farming:beanpole", {
minetest.register_craft({ minetest.register_craft({
output = "farming:beanpole", output = "farming:beanpole",
recipe = { recipe = {
{'', '', ''}, {"", "", ""},
{'default:stick', '', 'default:stick'}, {"default:stick", "", "default:stick"},
{'default:stick', '', 'default:stick'}, {"default:stick", "", "default:stick"}
} }
}) })
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "farming:beanpole", recipe = "farming:beanpole",
burntime = 10, burntime = 10
}) })
-- green bean definition -- green bean definition
local crop_def = { local def = {
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_beanpole_1.png"}, tiles = {"farming_beanpole_1.png"},
visual_scale = 1.90, -- 1.45, visual_scale = 1.90,
paramtype = "light", paramtype = "light",
walkable = false, walkable = false,
buildable_to = true, buildable_to = true,
sunlight_propagates = true, sunlight_propagates = true,
drop = { drop = {
items = { items = {
{items = {'farming:beanpole'}, rarity = 1}, {items = {"farming:beanpole"}, rarity = 1}
} }
}, },
selection_box = farming.select, selection_box = farming.select,
groups = { groups = {
snappy = 3, flammable = 3, not_in_creative_inventory = 1, snappy = 3, flammable = 3, not_in_creative_inventory = 1,
attached_node = 1, growing = 1 attached_node = 1, growing = 1, plant = 1
}, },
sounds = default.node_sound_leaves_defaults() sounds = default.node_sound_leaves_defaults()
} }
-- stage 1 -- stage 1
minetest.register_node("farming:beanpole_1", table.copy(crop_def)) minetest.register_node("farming:beanpole_1", table.copy(def))
-- stage2 -- stage2
crop_def.tiles = {"farming_beanpole_2.png"} def.tiles = {"farming_beanpole_2.png"}
minetest.register_node("farming:beanpole_2", table.copy(crop_def)) minetest.register_node("farming:beanpole_2", table.copy(def))
-- stage 3 -- stage 3
crop_def.tiles = {"farming_beanpole_3.png"} def.tiles = {"farming_beanpole_3.png"}
minetest.register_node("farming:beanpole_3", table.copy(crop_def)) minetest.register_node("farming:beanpole_3", table.copy(def))
-- stage 4 -- stage 4
crop_def.tiles = {"farming_beanpole_4.png"} def.tiles = {"farming_beanpole_4.png"}
minetest.register_node("farming:beanpole_4", table.copy(crop_def)) minetest.register_node("farming:beanpole_4", table.copy(def))
-- stage 5 (final) -- stage 5 (final)
crop_def.tiles = {"farming_beanpole_5.png"} def.tiles = {"farming_beanpole_5.png"}
crop_def.groups.growing = 0 def.groups.growing = nil
crop_def.drop = { def.drop = {
items = { items = {
{items = {'farming:beanpole'}, rarity = 1}, {items = {"farming:beanpole"}, rarity = 1},
{items = {'farming:beans 3'}, rarity = 1}, {items = {"farming:beans 3"}, rarity = 1},
{items = {'farming:beans 2'}, rarity = 2}, {items = {"farming:beans 2"}, rarity = 2},
{items = {'farming:beans 2'}, rarity = 3}, {items = {"farming:beans 2"}, rarity = 3}
} }
} }
minetest.register_node("farming:beanpole_5", table.copy(crop_def)) minetest.register_node("farming:beanpole_5", table.copy(def))
-- add to registered_plants -- add to registered_plants
farming.registered_plants["farming:beans"] = { farming.registered_plants["farming:beans"] = {
@ -244,15 +242,15 @@ minetest.register_node("farming:beanbush", {
sunlight_propagates = true, sunlight_propagates = true,
drop = { drop = {
items = { items = {
{items = {'farming:beans 1'}, rarity = 1}, {items = {"farming:beans 1"}, rarity = 1},
{items = {'farming:beans 1'}, rarity = 2}, {items = {"farming:beans 1"}, rarity = 2},
{items = {'farming:beans 1'}, rarity = 3}, {items = {"farming:beans 1"}, rarity = 3}
} }
}, },
selection_box = farming.select, selection_box = farming.select,
groups = { groups = {
snappy = 3, flammable = 2, plant = 1, attached_node = 1, snappy = 3, flammable = 2, plant = 1, attached_node = 1,
not_in_creative_inventory=1 not_in_creative_inventory = 1
}, },
sounds = default.node_sound_leaves_defaults(), sounds = default.node_sound_leaves_defaults()
}) })

View File

@ -5,11 +5,11 @@ local S = farming.intllib
minetest.register_craftitem("farming:beetroot", { minetest.register_craftitem("farming:beetroot", {
description = S("Beetroot"), description = S("Beetroot"),
inventory_image = "farming_beetroot.png", inventory_image = "farming_beetroot.png",
groups = {food_beetroot = 1, flammable = 2}, groups = {seed = 2, food_beetroot = 1, flammable = 2},
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "farming:beetroot_1") return farming.place_seed(itemstack, placer, pointed_thing, "farming:beetroot_1")
end, end,
on_use = minetest.item_eat(1), on_use = minetest.item_eat(1)
}) })
-- beetroot soup -- beetroot soup
@ -17,7 +17,7 @@ minetest.register_craftitem("farming:beetroot_soup", {
description = S("Beetroot Soup"), description = S("Beetroot Soup"),
inventory_image = "farming_beetroot_soup.png", inventory_image = "farming_beetroot_soup.png",
groups = {flammable = 2}, groups = {flammable = 2},
on_use = minetest.item_eat(6, "farming:bowl"), on_use = minetest.item_eat(6, "farming:bowl")
}) })
minetest.register_craft({ minetest.register_craft({
@ -34,15 +34,13 @@ minetest.register_craft({
minetest.register_craft({ minetest.register_craft({
type = "shapeless", type = "shapeless",
output = "dye:red", output = "dye:red",
recipe = {"group:food_beetroot"}, recipe = {"group:food_beetroot"}
}) })
local crop_def = { local def = {
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_beetroot_1.png"}, tiles = {"farming_beetroot_1.png"},
paramtype = "light", paramtype = "light",
-- paramtype2 = "meshoptions",
-- place_param2 = 3,
sunlight_propagates = true, sunlight_propagates = true,
waving = 1, waving = 1,
walkable = false, walkable = false,
@ -57,32 +55,32 @@ local crop_def = {
} }
-- stage 1 -- stage 1
minetest.register_node("farming:beetroot_1", table.copy(crop_def)) minetest.register_node("farming:beetroot_1", table.copy(def))
-- stage 2 -- stage 2
crop_def.tiles = {"farming_beetroot_2.png"} def.tiles = {"farming_beetroot_2.png"}
minetest.register_node("farming:beetroot_2", table.copy(crop_def)) minetest.register_node("farming:beetroot_2", table.copy(def))
-- stage 3 -- stage 3
crop_def.tiles = {"farming_beetroot_3.png"} def.tiles = {"farming_beetroot_3.png"}
minetest.register_node("farming:beetroot_3", table.copy(crop_def)) minetest.register_node("farming:beetroot_3", table.copy(def))
-- stage 4 -- stage 4
crop_def.tiles = {"farming_beetroot_4.png"} def.tiles = {"farming_beetroot_4.png"}
minetest.register_node("farming:beetroot_4", table.copy(crop_def)) minetest.register_node("farming:beetroot_4", table.copy(def))
-- stage 5 -- stage 5
crop_def.tiles = {"farming_beetroot_5.png"} def.tiles = {"farming_beetroot_5.png"}
crop_def.groups.growing = 0 def.groups.growing = nil
crop_def.drop = { def.drop = {
max_items = 4, items = { max_items = 4, items = {
{items = {'farming:beetroot'}, rarity = 1}, {items = {"farming:beetroot"}, rarity = 1},
{items = {'farming:beetroot'}, rarity = 2}, {items = {"farming:beetroot"}, rarity = 2},
{items = {'farming:beetroot'}, rarity = 3}, {items = {"farming:beetroot"}, rarity = 3},
{items = {'farming:beetroot'}, rarity = 4}, {items = {"farming:beetroot"}, rarity = 4}
} }
} }
minetest.register_node("farming:beetroot_5", table.copy(crop_def)) minetest.register_node("farming:beetroot_5", table.copy(def))
-- add to registered_plants -- add to registered_plants
farming.registered_plants["farming:beetroot"] = { farming.registered_plants["farming:beetroot"] = {

View File

@ -5,34 +5,33 @@ local S = farming.intllib
minetest.register_craftitem("farming:blueberries", { minetest.register_craftitem("farming:blueberries", {
description = S("Blueberries"), description = S("Blueberries"),
inventory_image = "farming_blueberries.png", inventory_image = "farming_blueberries.png",
groups = {food_blueberries = 1, food_blueberry = 1, food_berry = 1, flammable = 2}, groups = {seed = 2, food_blueberries = 1, food_blueberry = 1,
food_berry = 1, flammable = 2},
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "farming:blueberry_1") return farming.place_seed(itemstack, placer, pointed_thing, "farming:blueberry_1")
end, end,
on_use = minetest.item_eat(1), on_use = minetest.item_eat(1)
}) })
-- blueberry muffin (thanks to sosogirl123 @ deviantart.com for muffin image) -- blueberry muffin (thanks to sosogirl123 @ deviantart.com for muffin image)
minetest.register_craftitem("farming:muffin_blueberry", { minetest.register_craftitem("farming:muffin_blueberry", {
description = S("Blueberry Muffin"), description = S("Blueberry Muffin"),
inventory_image = "farming_blueberry_muffin.png", inventory_image = "farming_blueberry_muffin.png",
on_use = minetest.item_eat(2), on_use = minetest.item_eat(2)
}) })
minetest.register_craft({ minetest.register_craft({
output = "farming:muffin_blueberry 2", output = "farming:muffin_blueberry 2",
recipe = { recipe = {
{"group:food_blueberries", "group:food_bread", "group:food_blueberries"}, {"group:food_blueberries", "group:food_bread", "group:food_blueberries"}
} }
}) })
-- Blueberry Pie -- Blueberry Pie
minetest.register_craftitem("farming:blueberry_pie", { minetest.register_craftitem("farming:blueberry_pie", {
description = S("Blueberry Pie"), description = S("Blueberry Pie"),
inventory_image = "farming_blueberry_pie.png", inventory_image = "farming_blueberry_pie.png",
on_use = minetest.item_eat(6), on_use = minetest.item_eat(6)
}) })
minetest.register_craft({ minetest.register_craft({
@ -46,7 +45,7 @@ minetest.register_craft({
}) })
-- blueberry definition -- blueberry definition
local crop_def = { local def = {
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_blueberry_1.png"}, tiles = {"farming_blueberry_1.png"},
paramtype = "light", paramtype = "light",
@ -63,27 +62,27 @@ local crop_def = {
} }
-- stage 1 -- stage 1
minetest.register_node("farming:blueberry_1", table.copy(crop_def)) minetest.register_node("farming:blueberry_1", table.copy(def))
-- stage 2 -- stage 2
crop_def.tiles = {"farming_blueberry_2.png"} def.tiles = {"farming_blueberry_2.png"}
minetest.register_node("farming:blueberry_2", table.copy(crop_def)) minetest.register_node("farming:blueberry_2", table.copy(def))
-- stage 3 -- stage 3
crop_def.tiles = {"farming_blueberry_3.png"} def.tiles = {"farming_blueberry_3.png"}
minetest.register_node("farming:blueberry_3", table.copy(crop_def)) minetest.register_node("farming:blueberry_3", table.copy(def))
-- stage 4 (final) -- stage 4 (final)
crop_def.tiles = {"farming_blueberry_4.png"} def.tiles = {"farming_blueberry_4.png"}
crop_def.groups.growing = 0 def.groups.growing = nil
crop_def.drop = { def.drop = {
items = { items = {
{items = {'farming:blueberries 2'}, rarity = 1}, {items = {"farming:blueberries 2"}, rarity = 1},
{items = {'farming:blueberries'}, rarity = 2}, {items = {"farming:blueberries"}, rarity = 2},
{items = {'farming:blueberries'}, rarity = 3}, {items = {"farming:blueberries"}, rarity = 3},
} }
} }
minetest.register_node("farming:blueberry_4", table.copy(crop_def)) minetest.register_node("farming:blueberry_4", table.copy(def))
-- add to registered_plants -- add to registered_plants
farming.registered_plants["farming:blueberries"] = { farming.registered_plants["farming:blueberries"] = {

69
crops/cabbage.lua Normal file
View File

@ -0,0 +1,69 @@
local S = farming.intllib
-- cabbage
minetest.register_craftitem("farming:cabbage", {
description = S("Cabbage"),
inventory_image = "farming_cabbage.png",
groups = {seed = 2, food_cabbage = 1, flammable = 2},
on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "farming:cabbage_1")
end,
on_use = minetest.item_eat(1)
})
local def = {
drawtype = "plantlike",
tiles = {"farming_cabbage_1.png"},
paramtype = "light",
sunlight_propagates = true,
waving = 1,
walkable = false,
buildable_to = true,
drop = "",
selection_box = farming.select,
groups = {
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
not_in_creative_inventory = 1, growing = 1
},
sounds = default.node_sound_leaves_defaults()
}
-- stage 1
minetest.register_node("farming:cabbage_1", table.copy(def))
-- stage 2
def.tiles = {"farming_cabbage_2.png"}
minetest.register_node("farming:cabbage_2", table.copy(def))
-- stage 3
def.tiles = {"farming_cabbage_3.png"}
minetest.register_node("farming:cabbage_3", table.copy(def))
-- stage 4
def.tiles = {"farming_cabbage_4.png"}
minetest.register_node("farming:cabbage_4", table.copy(def))
-- stage 5
def.tiles = {"farming_cabbage_5.png"}
minetest.register_node("farming:cabbage_5", table.copy(def))
-- stage 6
def.tiles = {"farming_cabbage_6.png"}
def.groups.growing = nil
def.drop = {
max_items = 2, items = {
{items = {"farming:cabbage"}, rarity = 1},
{items = {"farming:cabbage"}, rarity = 5}
}
}
minetest.register_node("farming:cabbage_6", table.copy(def))
-- add to registered_plants
farming.registered_plants["farming:cabbage"] = {
crop = "farming:cabbage",
seed = "farming:cabbage",
minlight = 13,
maxlight = 15,
steps = 6
}

View File

@ -10,11 +10,11 @@ local S = farming.intllib
minetest.register_craftitem("farming:carrot", { minetest.register_craftitem("farming:carrot", {
description = S("Carrot"), description = S("Carrot"),
inventory_image = "farming_carrot.png", inventory_image = "farming_carrot.png",
groups = {food_carrot = 1, flammable = 2}, groups = {seed = 2, food_carrot = 1, flammable = 2},
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "farming:carrot_1") return farming.place_seed(itemstack, placer, pointed_thing, "farming:carrot_1")
end, end,
on_use = minetest.item_eat(4), on_use = minetest.item_eat(4)
}) })
-- carrot juice -- carrot juice
@ -22,6 +22,7 @@ minetest.register_craftitem("farming:carrot_juice", {
description = S("Carrot Juice"), description = S("Carrot Juice"),
inventory_image = "farming_carrot_juice.png", inventory_image = "farming_carrot_juice.png",
on_use = minetest.item_eat(4, "vessels:drinking_glass"), on_use = minetest.item_eat(4, "vessels:drinking_glass"),
groups = {vessel = 1, drink = 1}
}) })
minetest.register_craft({ minetest.register_craft({
@ -31,15 +32,15 @@ minetest.register_craft({
"vessels:drinking_glass", "group:food_carrot", "farming:juicer" "vessels:drinking_glass", "group:food_carrot", "farming:juicer"
}, },
replacements = { replacements = {
{"group:food_juicer", "farming:juicer"}, {"group:food_juicer", "farming:juicer"}
}, }
}) })
-- golden carrot -- golden carrot
minetest.register_craftitem("farming:carrot_gold", { minetest.register_craftitem("farming:carrot_gold", {
description = S("Golden Carrot"), description = S("Golden Carrot"),
inventory_image = "farming_carrot_gold.png", inventory_image = "farming_carrot_gold.png",
on_use = minetest.item_eat(6), on_use = minetest.item_eat(10)
}) })
minetest.register_craft({ minetest.register_craft({
@ -47,12 +48,12 @@ minetest.register_craft({
recipe = { recipe = {
{"", "default:gold_lump", ""}, {"", "default:gold_lump", ""},
{"default:gold_lump", "group:food_carrot", "default:gold_lump"}, {"default:gold_lump", "group:food_carrot", "default:gold_lump"},
{"", "default:gold_lump", ""}, {"", "default:gold_lump", ""}
} }
}) })
-- carrot definition -- carrot definition
local crop_def = { local def = {
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_carrot_1.png"}, tiles = {"farming_carrot_1.png"},
paramtype = "light", paramtype = "light",
@ -70,48 +71,48 @@ local crop_def = {
-- stage 1 -- stage 1
minetest.register_node("farming:carrot_1", table.copy(crop_def)) minetest.register_node("farming:carrot_1", table.copy(def))
-- stage 2 -- stage 2
crop_def.tiles = {"farming_carrot_2.png"} def.tiles = {"farming_carrot_2.png"}
minetest.register_node("farming:carrot_2", table.copy(crop_def)) minetest.register_node("farming:carrot_2", table.copy(def))
-- stage 3 -- stage 3
crop_def.tiles = {"farming_carrot_3.png"} def.tiles = {"farming_carrot_3.png"}
minetest.register_node("farming:carrot_3", table.copy(crop_def)) minetest.register_node("farming:carrot_3", table.copy(def))
-- stage 4 -- stage 4
crop_def.tiles = {"farming_carrot_4.png"} def.tiles = {"farming_carrot_4.png"}
minetest.register_node("farming:carrot_4", table.copy(crop_def)) minetest.register_node("farming:carrot_4", table.copy(def))
-- stage 5 -- stage 5
crop_def.tiles = {"farming_carrot_5.png"} def.tiles = {"farming_carrot_5.png"}
minetest.register_node("farming:carrot_5", table.copy(crop_def)) minetest.register_node("farming:carrot_5", table.copy(def))
-- stage 6 -- stage 6
crop_def.tiles = {"farming_carrot_6.png"} def.tiles = {"farming_carrot_6.png"}
minetest.register_node("farming:carrot_6", table.copy(crop_def)) minetest.register_node("farming:carrot_6", table.copy(def))
-- stage 7 -- stage 7
crop_def.tiles = {"farming_carrot_7.png"} def.tiles = {"farming_carrot_7.png"}
crop_def.drop = { def.drop = {
items = { items = {
{items = {'farming:carrot'}, rarity = 1}, {items = {"farming:carrot"}, rarity = 1},
{items = {'farming:carrot 2'}, rarity = 3}, {items = {"farming:carrot 2"}, rarity = 3}
} }
} }
minetest.register_node("farming:carrot_7", table.copy(crop_def)) minetest.register_node("farming:carrot_7", table.copy(def))
-- stage 8 (final) -- stage 8 (final)
crop_def.tiles = {"farming_carrot_8.png"} def.tiles = {"farming_carrot_8.png"}
crop_def.groups.growing = 0 def.groups.growing = nil
crop_def.drop = { def.drop = {
items = { items = {
{items = {'farming:carrot 2'}, rarity = 1}, {items = {"farming:carrot 2"}, rarity = 1},
{items = {'farming:carrot 3'}, rarity = 2}, {items = {"farming:carrot 3"}, rarity = 2}
} }
} }
minetest.register_node("farming:carrot_8", table.copy(crop_def)) minetest.register_node("farming:carrot_8", table.copy(def))
-- add to registered_plants -- add to registered_plants
farming.registered_plants["farming:carrot"] = { farming.registered_plants["farming:carrot"] = {

View File

@ -5,18 +5,18 @@ local S = farming.intllib
minetest.register_craftitem("farming:chili_pepper", { minetest.register_craftitem("farming:chili_pepper", {
description = S("Chili Pepper"), description = S("Chili Pepper"),
inventory_image = "farming_chili_pepper.png", inventory_image = "farming_chili_pepper.png",
groups = {food_chili_pepper = 1, flammable = 4}, groups = {seed = 2, food_chili_pepper = 1, flammable = 4},
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "farming:chili_1") return farming.place_seed(itemstack, placer, pointed_thing, "farming:chili_1")
end, end,
on_use = minetest.item_eat(2), on_use = minetest.item_eat(2)
}) })
-- bowl of chili -- bowl of chili
minetest.register_craftitem("farming:chili_bowl", { minetest.register_craftitem("farming:chili_bowl", {
description = S("Bowl of Chili"), description = S("Bowl of Chili"),
inventory_image = "farming_chili_bowl.png", inventory_image = "farming_chili_bowl.png",
on_use = minetest.item_eat(8, "farming:bowl"), on_use = minetest.item_eat(8, "farming:bowl")
}) })
minetest.register_craft({ minetest.register_craft({
@ -25,19 +25,19 @@ minetest.register_craft({
recipe = { recipe = {
"group:food_chili_pepper", "group:food_barley", "group:food_chili_pepper", "group:food_barley",
"group:food_tomato", "group:food_beans", "group:food_bowl" "group:food_tomato", "group:food_beans", "group:food_bowl"
}, }
}) })
-- chili can be used for red dye -- chili can be used for red dye
minetest.register_craft({ minetest.register_craft({
output = "dye:red", output = "dye:red",
recipe = { recipe = {
{'farming:chili_pepper'}, {"farming:chili_pepper"}
} }
}) })
-- chili definition -- chili definition
local crop_def = { local def = {
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_chili_1.png"}, tiles = {"farming_chili_1.png"},
paramtype = "light", paramtype = "light",
@ -54,42 +54,42 @@ local crop_def = {
} }
-- stage 1 -- stage 1
minetest.register_node("farming:chili_1", table.copy(crop_def)) minetest.register_node("farming:chili_1", table.copy(def))
-- stage 2 -- stage 2
crop_def.tiles = {"farming_chili_2.png"} def.tiles = {"farming_chili_2.png"}
minetest.register_node("farming:chili_2", table.copy(crop_def)) minetest.register_node("farming:chili_2", table.copy(def))
-- stage 3 -- stage 3
crop_def.tiles = {"farming_chili_3.png"} def.tiles = {"farming_chili_3.png"}
minetest.register_node("farming:chili_3", table.copy(crop_def)) minetest.register_node("farming:chili_3", table.copy(def))
-- stage 4 -- stage 4
crop_def.tiles = {"farming_chili_4.png"} def.tiles = {"farming_chili_4.png"}
minetest.register_node("farming:chili_4", table.copy(crop_def)) minetest.register_node("farming:chili_4", table.copy(def))
-- stage 5 -- stage 5
crop_def.tiles = {"farming_chili_5.png"} def.tiles = {"farming_chili_5.png"}
minetest.register_node("farming:chili_5", table.copy(crop_def)) minetest.register_node("farming:chili_5", table.copy(def))
-- stage 6 -- stage 6
crop_def.tiles = {"farming_chili_6.png"} def.tiles = {"farming_chili_6.png"}
minetest.register_node("farming:chili_6", table.copy(crop_def)) minetest.register_node("farming:chili_6", table.copy(def))
-- stage 7 -- stage 7
crop_def.tiles = {"farming_chili_7.png"} def.tiles = {"farming_chili_7.png"}
minetest.register_node("farming:chili_7", table.copy(crop_def)) minetest.register_node("farming:chili_7", table.copy(def))
-- stage 8 (final) -- stage 8 (final)
crop_def.tiles = {"farming_chili_8.png"} def.tiles = {"farming_chili_8.png"}
crop_def.groups.growing = 0 def.groups.growing = nil
crop_def.drop = { def.drop = {
items = { items = {
{items = {'farming:chili_pepper 3'}, rarity = 1}, {items = {"farming:chili_pepper 3"}, rarity = 1},
{items = {'farming:chili_pepper 2'}, rarity = 2}, {items = {"farming:chili_pepper 2"}, rarity = 2}
} }
} }
minetest.register_node("farming:chili_8", table.copy(crop_def)) minetest.register_node("farming:chili_8", table.copy(def))
-- add to registered_plants -- add to registered_plants
farming.registered_plants["farming:chili_pepper"] = { farming.registered_plants["farming:chili_pepper"] = {

View File

@ -21,7 +21,7 @@ local function place_cocoa(itemstack, placer, pointed_thing, plantname)
-- am I right-clicking on something that has a custom on_place set? -- am I right-clicking on something that has a custom on_place set?
-- thanks to Krock for helping with this issue :) -- thanks to Krock for helping with this issue :)
local def = minetest.registered_nodes[under.name] local def = minetest.registered_nodes[under.name]
if placer and def and def.on_rightclick then if placer and itemstack and def and def.on_rightclick then
return def.on_rightclick(pt.under, under, placer, itemstack) return def.on_rightclick(pt.under, under, placer, itemstack)
end end
@ -67,16 +67,16 @@ end
minetest.register_craftitem("farming:cocoa_beans", { minetest.register_craftitem("farming:cocoa_beans", {
description = S("Cocoa Beans"), description = S("Cocoa Beans"),
inventory_image = "farming_cocoa_beans.png", inventory_image = "farming_cocoa_beans.png",
groups = {food_cocoa = 1, flammable = 2}, groups = {seed = 2, food_cocoa = 1, flammable = 2},
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)
return place_cocoa(itemstack, placer, pointed_thing, "farming:cocoa_1") return place_cocoa(itemstack, placer, pointed_thing, "farming:cocoa_1")
end, end
}) })
minetest.register_craft( { minetest.register_craft( {
output = "dye:brown 2", output = "dye:brown 2",
recipe = { recipe = {
{ "farming:cocoa_beans" }, { "farming:cocoa_beans" }
} }
}) })
@ -84,13 +84,13 @@ minetest.register_craft( {
minetest.register_craftitem("farming:cookie", { minetest.register_craftitem("farming:cookie", {
description = S("Cookie"), description = S("Cookie"),
inventory_image = "farming_cookie.png", inventory_image = "farming_cookie.png",
on_use = minetest.item_eat(2), on_use = minetest.item_eat(2)
}) })
minetest.register_craft( { minetest.register_craft( {
output = "farming:cookie 8", output = "farming:cookie 8",
recipe = { recipe = {
{"group:food_wheat", "group:food_cocoa", "group:food_wheat" }, {"group:food_wheat", "group:food_cocoa", "group:food_wheat" }
} }
}) })
@ -98,25 +98,50 @@ minetest.register_craft( {
minetest.register_craftitem("farming:chocolate_dark", { minetest.register_craftitem("farming:chocolate_dark", {
description = S("Bar of Dark Chocolate"), description = S("Bar of Dark Chocolate"),
inventory_image = "farming_chocolate_dark.png", inventory_image = "farming_chocolate_dark.png",
on_use = minetest.item_eat(3), on_use = minetest.item_eat(3)
}) })
minetest.register_craft( { minetest.register_craft( {
output = "farming:chocolate_dark", output = "farming:chocolate_dark",
recipe = { recipe = {
{"group:food_cocoa", "group:food_cocoa", "group:food_cocoa"}, {"group:food_cocoa", "group:food_cocoa", "group:food_cocoa"}
}
})
-- chocolate block
minetest.register_node("farming:chocolate_block", {
description = S("Chocolate Block"),
tiles = {"farming_chocolate_block.png"},
is_ground_content = false,
groups = {cracky = 2, oddly_breakable_by_hand = 2},
sounds = default.node_sound_stone_defaults()
})
minetest.register_craft({
output = "farming:chocolate_block",
recipe = {
{"farming:chocolate_dark", "farming:chocolate_dark", "farming:chocolate_dark"},
{"farming:chocolate_dark", "farming:chocolate_dark", "farming:chocolate_dark"},
{"farming:chocolate_dark", "farming:chocolate_dark", "farming:chocolate_dark"}
}
})
minetest.register_craft({
output = "farming:chocolate_dark 9",
recipe = {
{"farming:chocolate_block"}
} }
}) })
-- cocoa definition -- cocoa definition
local crop_def = { local def = {
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_cocoa_1.png"}, tiles = {"farming_cocoa_1.png"},
paramtype = "light", paramtype = "light",
walkable = false, walkable = false,
drop = { drop = {
items = { items = {
{items = {'farming:cocoa_beans 1'}, rarity = 2}, {items = {"farming:cocoa_beans 1"}, rarity = 2},
} }
}, },
selection_box = { selection_box = {
@ -125,7 +150,7 @@ local crop_def = {
}, },
groups = { groups = {
snappy = 3, flammable = 2, plant = 1, growing = 1, snappy = 3, flammable = 2, plant = 1, growing = 1,
not_in_creative_inventory=1, leafdecay = 1, leafdecay_drop = 1 not_in_creative_inventory = 1, leafdecay = 1, leafdecay_drop = 1
}, },
sounds = default.node_sound_leaves_defaults(), sounds = default.node_sound_leaves_defaults(),
growth_check = function(pos, node_name) growth_check = function(pos, node_name)
@ -133,37 +158,37 @@ local crop_def = {
return false return false
end end
return true return true
end, end
} }
-- stage 1 -- stage 1
minetest.register_node("farming:cocoa_1", table.copy(crop_def)) minetest.register_node("farming:cocoa_1", table.copy(def))
-- stage 2 -- stage 2
crop_def.tiles = {"farming_cocoa_2.png"} def.tiles = {"farming_cocoa_2.png"}
minetest.register_node("farming:cocoa_2", table.copy(crop_def)) minetest.register_node("farming:cocoa_2", table.copy(def))
-- stage3 -- stage3
crop_def.tiles = {"farming_cocoa_3.png"} def.tiles = {"farming_cocoa_3.png"}
crop_def.drop = { def.drop = {
items = { items = {
{items = {'farming:cocoa_beans 1'}, rarity = 1}, {items = {"farming:cocoa_beans 1"}, rarity = 1}
} }
} }
minetest.register_node("farming:cocoa_3", table.copy(crop_def)) minetest.register_node("farming:cocoa_3", table.copy(def))
-- stage 4 (final) -- stage 4 (final)
crop_def.tiles = {"farming_cocoa_4.png"} def.tiles = {"farming_cocoa_4.png"}
crop_def.groups.growing = 0 def.groups.growing = nil
crop_def.growth_check = nil def.growth_check = nil
crop_def.drop = { def.drop = {
items = { items = {
{items = {'farming:cocoa_beans 2'}, rarity = 1}, {items = {"farming:cocoa_beans 2"}, rarity = 1},
{items = {'farming:cocoa_beans 1'}, rarity = 2}, {items = {"farming:cocoa_beans 1"}, rarity = 2},
{items = {'farming:cocoa_beans 1'}, rarity = 4}, {items = {"farming:cocoa_beans 1"}, rarity = 4}
} }
} }
minetest.register_node("farming:cocoa_4", table.copy(crop_def)) minetest.register_node("farming:cocoa_4", table.copy(def))
-- add to registered_plants -- add to registered_plants
farming.registered_plants["farming:cocoa_beans"] = { farming.registered_plants["farming:cocoa_beans"] = {
@ -193,27 +218,22 @@ minetest.register_on_generated(function(minp, maxp)
dir = math.random(1, 80) dir = math.random(1, 80)
if dir == 1 then if dir == 1 then pos.x = pos.x + 1
pos.x = pos.x + 1 elseif dir == 2 then pos.x = pos.x - 1
elseif dir == 2 then elseif dir == 3 then pos.z = pos.z + 1
pos.x = pos.x - 1 elseif dir == 4 then pos.z = pos.z -1
elseif dir == 3 then
pos.z = pos.z + 1
elseif dir == 4 then
pos.z = pos.z -1
end end
if dir < 5 if dir < 5
and minetest.get_node(pos).name == "air" and minetest.get_node(pos).name == "air"
and minetest.get_node_light(pos) > 12 then and minetest.get_node_light(pos) > 12 then
--print ("Cocoa Pod added at " .. minetest.pos_to_string(pos)) --print ("Cocoa Pod added at " .. minetest.pos_to_string(pos))
minetest.swap_node(pos, { minetest.swap_node(pos, {
name = "farming:cocoa_" .. tostring(math.random(1, 4)) name = "farming:cocoa_" .. tostring(math.random(4))
}) })
end end
end end
end end
end) end)

View File

@ -5,16 +5,16 @@ local S = farming.intllib
minetest.register_craftitem("farming:coffee_beans", { minetest.register_craftitem("farming:coffee_beans", {
description = S("Coffee Beans"), description = S("Coffee Beans"),
inventory_image = "farming_coffee_beans.png", inventory_image = "farming_coffee_beans.png",
groups = {food_coffee = 1, flammable = 2}, groups = {seed = 2, food_coffee = 1, flammable = 2},
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "farming:coffee_1") return farming.place_seed(itemstack, placer, pointed_thing, "farming:coffee_1")
end, end
}) })
-- cold cup of coffee -- cold cup of coffee
minetest.register_node("farming:coffee_cup", { minetest.register_node("farming:coffee_cup", {
description = S("Cup of Coffee"), description = S("Cup of Coffee"),
drawtype = "torchlike", --"plantlike", drawtype = "torchlike",
tiles = {"farming_coffee_cup.png"}, tiles = {"farming_coffee_cup.png"},
inventory_image = "farming_coffee_cup.png", inventory_image = "farming_coffee_cup.png",
wield_image = "farming_coffee_cup.png", wield_image = "farming_coffee_cup.png",
@ -24,9 +24,9 @@ minetest.register_node("farming:coffee_cup", {
type = "fixed", type = "fixed",
fixed = {-0.25, -0.5, -0.25, 0.25, 0.25, 0.25} fixed = {-0.25, -0.5, -0.25, 0.25, 0.25, 0.25}
}, },
groups = {vessel = 1, dig_immediate = 3, attached_node = 1}, groups = {vessel = 1, dig_immediate = 3, attached_node = 1, drink = 1},
on_use = minetest.item_eat(2, "vessels:drinking_glass"), on_use = minetest.item_eat(2, "vessels:drinking_glass"),
sounds = default.node_sound_glass_defaults(), sounds = default.node_sound_glass_defaults()
}) })
minetest.register_alias("farming:coffee_cup_hot", "farming:coffee_cup") minetest.register_alias("farming:coffee_cup_hot", "farming:coffee_cup")
@ -35,16 +35,17 @@ minetest.register_alias("farming:drinking_cup", "vessels:drinking_glass")
minetest.register_craft( { minetest.register_craft( {
output = "farming:coffee_cup", output = "farming:coffee_cup",
type = "shapeless", type = "shapeless",
recipe = {"vessels:drinking_glass", "group:food_coffee", recipe = {
"vessels:drinking_glass", "group:food_coffee",
"bucket:bucket_water", "group:food_saucepan"}, "bucket:bucket_water", "group:food_saucepan"},
replacements = { replacements = {
{"bucket:bucket_water", "bucket:bucket_empty"}, {"bucket:bucket_water", "bucket:bucket_empty"},
{"group:food_saucepan", "farming:saucepan"}, {"group:food_saucepan", "farming:saucepan"}
} }
}) })
-- coffee definition -- coffee definition
local crop_def = { local def = {
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_coffee_1.png"}, tiles = {"farming_coffee_1.png"},
paramtype = "light", paramtype = "light",
@ -61,31 +62,31 @@ local crop_def = {
} }
-- stage 1 -- stage 1
minetest.register_node("farming:coffee_1", table.copy(crop_def)) minetest.register_node("farming:coffee_1", table.copy(def))
-- stage 2 -- stage 2
crop_def.tiles = {"farming_coffee_2.png"} def.tiles = {"farming_coffee_2.png"}
minetest.register_node("farming:coffee_2", table.copy(crop_def)) minetest.register_node("farming:coffee_2", table.copy(def))
-- stage 3 -- stage 3
crop_def.tiles = {"farming_coffee_3.png"} def.tiles = {"farming_coffee_3.png"}
minetest.register_node("farming:coffee_3", table.copy(crop_def)) minetest.register_node("farming:coffee_3", table.copy(def))
-- stage 4 -- stage 4
crop_def.tiles = {"farming_coffee_4.png"} def.tiles = {"farming_coffee_4.png"}
minetest.register_node("farming:coffee_4", table.copy(crop_def)) minetest.register_node("farming:coffee_4", table.copy(def))
-- stage 5 (final) -- stage 5 (final)
crop_def.tiles = {"farming_coffee_5.png"} def.tiles = {"farming_coffee_5.png"}
crop_def.groups.growing = 0 def.groups.growing = nil
crop_def.drop = { def.drop = {
items = { items = {
{items = {'farming:coffee_beans 2'}, rarity = 1}, {items = {"farming:coffee_beans 2"}, rarity = 1},
{items = {'farming:coffee_beans 2'}, rarity = 2}, {items = {"farming:coffee_beans 2"}, rarity = 2},
{items = {'farming:coffee_beans 2'}, rarity = 3}, {items = {"farming:coffee_beans 2"}, rarity = 3}
} }
} }
minetest.register_node("farming:coffee_5", table.copy(crop_def)) minetest.register_node("farming:coffee_5", table.copy(def))
-- add to registered_plants -- add to registered_plants
farming.registered_plants["farming:coffee"] = { farming.registered_plants["farming:coffee"] = {

View File

@ -10,11 +10,11 @@ local S = farming.intllib
minetest.register_craftitem("farming:corn", { minetest.register_craftitem("farming:corn", {
description = S("Corn"), description = S("Corn"),
inventory_image = "farming_corn.png", inventory_image = "farming_corn.png",
groups = {food_corn = 1, flammable = 2}, groups = {seed = 2, food_corn = 1, flammable = 2},
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "farming:corn_1") return farming.place_seed(itemstack, placer, pointed_thing, "farming:corn_1")
end, end,
on_use = minetest.item_eat(3), on_use = minetest.item_eat(3)
}) })
-- corn on the cob (texture by TenPlus1) -- corn on the cob (texture by TenPlus1)
@ -22,7 +22,7 @@ minetest.register_craftitem("farming:corn_cob", {
description = S("Corn on the Cob"), description = S("Corn on the Cob"),
inventory_image = "farming_corn_cob.png", inventory_image = "farming_corn_cob.png",
groups = {food_corn_cooked = 1, flammable = 2}, groups = {food_corn_cooked = 1, flammable = 2},
on_use = minetest.item_eat(5), on_use = minetest.item_eat(5)
}) })
minetest.register_craft({ minetest.register_craft({
@ -36,7 +36,7 @@ minetest.register_craft({
minetest.register_craftitem("farming:cornstarch", { minetest.register_craftitem("farming:cornstarch", {
description = S("Cornstarch"), description = S("Cornstarch"),
inventory_image = "farming_cornstarch.png", inventory_image = "farming_cornstarch.png",
groups = {food_cornstarch = 1, flammable = 2}, groups = {food_cornstarch = 1, flammable = 2}
}) })
minetest.register_craft({ minetest.register_craft({
@ -66,7 +66,7 @@ minetest.register_node("farming:bottle_ethanol", {
fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25} fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25}
}, },
groups = {vessel = 1, dig_immediate = 3, attached_node = 1}, groups = {vessel = 1, dig_immediate = 3, attached_node = 1},
sounds = default.node_sound_glass_defaults(), sounds = default.node_sound_glass_defaults()
}) })
minetest.register_craft( { minetest.register_craft( {
@ -74,18 +74,19 @@ minetest.register_craft( {
recipe = { recipe = {
{ "vessels:glass_bottle", "group:food_corn", "group:food_corn"}, { "vessels:glass_bottle", "group:food_corn", "group:food_corn"},
{ "group:food_corn", "group:food_corn", "group:food_corn"}, { "group:food_corn", "group:food_corn", "group:food_corn"},
{ "group:food_corn", "group:food_corn", "group:food_corn"}
} }
}) })
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "farming:bottle_ethanol", recipe = "farming:bottle_ethanol",
burntime = 80, --240, burntime = 80,
replacements = {{ "farming:bottle_ethanol", "vessels:glass_bottle"}} replacements = {{ "farming:bottle_ethanol", "vessels:glass_bottle"}}
}) })
-- corn definition -- corn definition
local crop_def = { local def = {
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_corn_1.png"}, tiles = {"farming_corn_1.png"},
paramtype = "light", paramtype = "light",
@ -102,51 +103,51 @@ local crop_def = {
} }
-- stage 1 -- stage 1
minetest.register_node("farming:corn_1", table.copy(crop_def)) minetest.register_node("farming:corn_1", table.copy(def))
-- stage 2 -- stage 2
crop_def.tiles = {"farming_corn_2.png"} def.tiles = {"farming_corn_2.png"}
minetest.register_node("farming:corn_2", table.copy(crop_def)) minetest.register_node("farming:corn_2", table.copy(def))
-- stage 3 -- stage 3
crop_def.tiles = {"farming_corn_3.png"} def.tiles = {"farming_corn_3.png"}
minetest.register_node("farming:corn_3", table.copy(crop_def)) minetest.register_node("farming:corn_3", table.copy(def))
-- stage 4 -- stage 4
crop_def.tiles = {"farming_corn_4.png"} def.tiles = {"farming_corn_4.png"}
minetest.register_node("farming:corn_4", table.copy(crop_def)) minetest.register_node("farming:corn_4", table.copy(def))
-- stage 5 -- stage 5
crop_def.tiles = {"farming_corn_5.png"} def.tiles = {"farming_corn_5.png"}
minetest.register_node("farming:corn_5", table.copy(crop_def)) minetest.register_node("farming:corn_5", table.copy(def))
-- stage 6 -- stage 6
crop_def.tiles = {"farming_corn_6.png"} def.tiles = {"farming_corn_6.png"}
crop_def.visual_scale = 1.9 -- 1.45 def.visual_scale = 1.9
minetest.register_node("farming:corn_6", table.copy(crop_def)) minetest.register_node("farming:corn_6", table.copy(def))
-- stage 7 -- stage 7
crop_def.tiles = {"farming_corn_7.png"} def.tiles = {"farming_corn_7.png"}
crop_def.drop = { def.drop = {
items = { items = {
{items = {'farming:corn'}, rarity = 1}, {items = {"farming:corn"}, rarity = 1},
{items = {'farming:corn'}, rarity = 2}, {items = {"farming:corn"}, rarity = 2},
{items = {'farming:corn'}, rarity = 3}, {items = {"farming:corn"}, rarity = 3}
} }
} }
minetest.register_node("farming:corn_7", table.copy(crop_def)) minetest.register_node("farming:corn_7", table.copy(def))
-- stage 8 (final) -- stage 8 (final)
crop_def.tiles = {"farming_corn_8.png"} def.tiles = {"farming_corn_8.png"}
crop_def.groups.growing = 0 def.groups.growing = nil
crop_def.drop = { def.drop = {
items = { items = {
{items = {'farming:corn 2'}, rarity = 1}, {items = {"farming:corn 2"}, rarity = 1},
{items = {'farming:corn 2'}, rarity = 2}, {items = {"farming:corn 2"}, rarity = 2},
{items = {'farming:corn 2'}, rarity = 2}, {items = {"farming:corn 2"}, rarity = 2}
} }
} }
minetest.register_node("farming:corn_8", table.copy(crop_def)) minetest.register_node("farming:corn_8", table.copy(def))
-- add to registered_plants -- add to registered_plants
farming.registered_plants["farming:corn"] = { farming.registered_plants["farming:corn"] = {

View File

@ -1,6 +1,32 @@
local S = farming.intllib local S = farming.intllib
-- wild cotton as a source of cotton seed and a chance of cotton itself
minetest.register_node("farming:cotton_wild", {
description = S("Wild Cotton"),
drawtype = "plantlike",
waving = 1,
tiles = {"farming_cotton_wild.png"},
inventory_image = "farming_cotton_wild.png",
wield_image = "farming_cotton_wild.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, attached_node = 1, flammable = 4},
drop = {
items = {
{items = {"farming:cotton"}, rarity = 2},
{items = {"farming:seed_cotton"}, rarity = 1}
}
},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-6 / 16, -8 / 16, -6 / 16, 6 / 16, 5 / 16, 6 / 16}
}
})
-- cotton seeds -- cotton seeds
minetest.register_node("farming:seed_cotton", { minetest.register_node("farming:seed_cotton", {
description = S("Cotton Seed"), description = S("Cotton Seed"),
@ -16,21 +42,21 @@ minetest.register_node("farming:seed_cotton", {
selection_box = farming.select, selection_box = farming.select,
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "farming:cotton_1") return farming.place_seed(itemstack, placer, pointed_thing, "farming:cotton_1")
end, end
}) })
-- cotton / string -- cotton
minetest.register_craftitem("farming:cotton", { minetest.register_craftitem("farming:cotton", {
description = S("Cotton"), description = S("Cotton"),
inventory_image = "farming_cotton.png", inventory_image = "farming_cotton.png",
groups = {flammable = 4}, groups = {flammable = 4}
}) })
-- string
minetest.register_craftitem("farming:string", { minetest.register_craftitem("farming:string", {
description = S("String"), description = S("String"),
inventory_image = "farming_string.png", inventory_image = "farming_string.png",
groups = {flammable = 2}, groups = {flammable = 2}
}) })
-- cotton to wool -- cotton to wool
@ -38,7 +64,7 @@ minetest.register_craft({
output = "wool:white", output = "wool:white",
recipe = { recipe = {
{"farming:cotton", "farming:cotton"}, {"farming:cotton", "farming:cotton"},
{"farming:cotton", "farming:cotton"}, {"farming:cotton", "farming:cotton"}
} }
}) })
@ -47,7 +73,7 @@ minetest.register_craft({
output = "farming:string 2", output = "farming:string 2",
recipe = { recipe = {
{"farming:cotton"}, {"farming:cotton"},
{"farming:cotton"}, {"farming:cotton"}
} }
}) })
@ -55,17 +81,17 @@ minetest.register_craft({
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "farming:string", recipe = "farming:string",
burntime = 1, burntime = 1
}) })
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "farming:cotton", recipe = "farming:cotton",
burntime = 1, burntime = 1
}) })
-- cotton definition -- cotton definition
local crop_def = { local def = {
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_cotton_1.png"}, tiles = {"farming_cotton_1.png"},
paramtype = "light", paramtype = "light",
@ -82,65 +108,65 @@ local crop_def = {
} }
-- stage 1 -- stage 1
minetest.register_node("farming:cotton_1", table.copy(crop_def)) minetest.register_node("farming:cotton_1", table.copy(def))
-- stage 2 -- stage 2
crop_def.tiles = {"farming_cotton_2.png"} def.tiles = {"farming_cotton_2.png"}
minetest.register_node("farming:cotton_2", table.copy(crop_def)) minetest.register_node("farming:cotton_2", table.copy(def))
-- stage 3 -- stage 3
crop_def.tiles = {"farming_cotton_3.png"} def.tiles = {"farming_cotton_3.png"}
minetest.register_node("farming:cotton_3", table.copy(crop_def)) minetest.register_node("farming:cotton_3", table.copy(def))
-- stage 4 -- stage 4
crop_def.tiles = {"farming_cotton_4.png"} def.tiles = {"farming_cotton_4.png"}
minetest.register_node("farming:cotton_4", table.copy(crop_def)) minetest.register_node("farming:cotton_4", table.copy(def))
-- stage 5 -- stage 5
crop_def.tiles = {"farming_cotton_5.png"} def.tiles = {"farming_cotton_5.png"}
crop_def.drop = { def.drop = {
items = { items = {
{items = {"farming:seed_cotton"}, rarity = 1}, {items = {"farming:seed_cotton"}, rarity = 1}
} }
} }
minetest.register_node("farming:cotton_5", table.copy(crop_def)) minetest.register_node("farming:cotton_5", table.copy(def))
-- stage 6 -- stage 6
crop_def.tiles = {"farming_cotton_6.png"} def.tiles = {"farming_cotton_6.png"}
crop_def.drop = { def.drop = {
items = { items = {
{items = {"farming:cotton"}, rarity = 1}, {items = {"farming:cotton"}, rarity = 1},
{items = {"farming:cotton"}, rarity = 2}, {items = {"farming:cotton"}, rarity = 2}
} }
} }
minetest.register_node("farming:cotton_6", table.copy(crop_def)) minetest.register_node("farming:cotton_6", table.copy(def))
-- stage 7 -- stage 7
crop_def.tiles = {"farming_cotton_7.png"} def.tiles = {"farming_cotton_7.png"}
crop_def.drop = { def.drop = {
items = { items = {
{items = {"farming:cotton"}, rarity = 1}, {items = {"farming:cotton"}, rarity = 1},
{items = {"farming:cotton"}, rarity = 2}, {items = {"farming:cotton"}, rarity = 2},
{items = {"farming:seed_cotton"}, rarity = 1}, {items = {"farming:seed_cotton"}, rarity = 1},
{items = {"farming:seed_cotton"}, rarity = 2}, {items = {"farming:seed_cotton"}, rarity = 2}
} }
} }
minetest.register_node("farming:cotton_7", table.copy(crop_def)) minetest.register_node("farming:cotton_7", table.copy(def))
-- stage 8 (final) -- stage 8 (final)
crop_def.tiles = {"farming_cotton_8.png"} def.tiles = {"farming_cotton_8.png"}
crop_def.groups.growing = 0 def.groups.growing = nil
crop_def.drop = { def.drop = {
items = { items = {
{items = {"farming:cotton"}, rarity = 1}, {items = {"farming:cotton"}, rarity = 1},
{items = {"farming:cotton"}, rarity = 2}, {items = {"farming:cotton"}, rarity = 2},
{items = {"farming:cotton"}, rarity = 3}, {items = {"farming:cotton"}, rarity = 3},
{items = {"farming:seed_cotton"}, rarity = 1}, {items = {"farming:seed_cotton"}, rarity = 1},
{items = {"farming:seed_cotton"}, rarity = 2}, {items = {"farming:seed_cotton"}, rarity = 2},
{items = {"farming:seed_cotton"}, rarity = 3}, {items = {"farming:seed_cotton"}, rarity = 3}
} }
} }
minetest.register_node("farming:cotton_8", table.copy(crop_def)) minetest.register_node("farming:cotton_8", table.copy(def))
-- add to registered_plants -- add to registered_plants
farming.registered_plants["farming:cotton"] = { farming.registered_plants["farming:cotton"] = {
@ -151,7 +177,7 @@ farming.registered_plants["farming:cotton"] = {
steps = 8 steps = 8
} }
--[[ Cotton (example, is already registered in cotton.lua) --[[ Cotton using api
farming.register_plant("farming:cotton", { farming.register_plant("farming:cotton", {
description = "Cotton seed", description = "Cotton seed",
inventory_image = "farming_cotton_seed.png", inventory_image = "farming_cotton_seed.png",

View File

@ -10,15 +10,15 @@ local S = farming.intllib
minetest.register_craftitem("farming:cucumber", { minetest.register_craftitem("farming:cucumber", {
description = S("Cucumber"), description = S("Cucumber"),
inventory_image = "farming_cucumber.png", inventory_image = "farming_cucumber.png",
groups = {food_cucumber = 1, flammable = 2}, groups = {seed = 2, food_cucumber = 1, flammable = 2},
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "farming:cucumber_1") return farming.place_seed(itemstack, placer, pointed_thing, "farming:cucumber_1")
end, end,
on_use = minetest.item_eat(4), on_use = minetest.item_eat(4)
}) })
-- cucumber definition -- cucumber definition
local crop_def = { local def = {
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_cucumber_1.png"}, tiles = {"farming_cucumber_1.png"},
paramtype = "light", paramtype = "light",
@ -34,26 +34,26 @@ local crop_def = {
} }
-- stage 1 -- stage 1
minetest.register_node("farming:cucumber_1", table.copy(crop_def)) minetest.register_node("farming:cucumber_1", table.copy(def))
-- stage 2 -- stage 2
crop_def.tiles = {"farming_cucumber_2.png"} def.tiles = {"farming_cucumber_2.png"}
minetest.register_node("farming:cucumber_2", table.copy(crop_def)) minetest.register_node("farming:cucumber_2", table.copy(def))
-- stage 3 -- stage 3
crop_def.tiles = {"farming_cucumber_3.png"} def.tiles = {"farming_cucumber_3.png"}
minetest.register_node("farming:cucumber_3", table.copy(crop_def)) minetest.register_node("farming:cucumber_3", table.copy(def))
-- stage 4 (final) -- stage 4 (final)
crop_def.tiles = {"farming_cucumber_4.png"} def.tiles = {"farming_cucumber_4.png"}
crop_def.groups.growing = 0 def.groups.growing = nil
crop_def.drop = { def.drop = {
items = { items = {
{items = {'farming:cucumber 2'}, rarity = 1}, {items = {"farming:cucumber 2"}, rarity = 1},
{items = {'farming:cucumber 2'}, rarity = 2}, {items = {"farming:cucumber 2"}, rarity = 2}
} }
} }
minetest.register_node("farming:cucumber_4", table.copy(crop_def)) minetest.register_node("farming:cucumber_4", table.copy(def))
-- add to registered_plants -- add to registered_plants
farming.registered_plants["farming:cucumber"] = { farming.registered_plants["farming:cucumber"] = {

View File

@ -11,10 +11,10 @@ local S = farming.intllib
minetest.register_craftitem("farming:garlic_clove", { minetest.register_craftitem("farming:garlic_clove", {
description = S("Garlic clove"), description = S("Garlic clove"),
inventory_image = "crops_garlic_clove.png", inventory_image = "crops_garlic_clove.png",
groups = {food_garlic_clove = 1, flammable = 3}, groups = {seed = 2, food_garlic_clove = 1, flammable = 3},
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "farming:garlic_1") return farming.place_seed(itemstack, placer, pointed_thing, "farming:garlic_1")
end, end
}) })
-- garlic bulb -- garlic bulb
@ -22,13 +22,13 @@ minetest.register_craftitem("farming:garlic", {
description = S("Garlic"), description = S("Garlic"),
inventory_image = "crops_garlic.png", inventory_image = "crops_garlic.png",
on_use = minetest.item_eat(1), on_use = minetest.item_eat(1),
groups = {food_garlic = 1, flammable = 3}, groups = {food_garlic = 1, flammable = 3}
}) })
minetest.register_craft({ minetest.register_craft({
type = "shapeless", type = "shapeless",
output = "farming:garlic_clove 8", output = "farming:garlic_clove 8",
recipe = { "farming:garlic" } recipe = {"farming:garlic"}
}) })
minetest.register_craft({ minetest.register_craft({
@ -58,8 +58,8 @@ minetest.register_node("farming:garlic_braid", {
node_box = { node_box = {
type = "fixed", type = "fixed",
fixed = { fixed = {
{-0.13, -0.45, 0.5, 0.13, 0.45, 0.24}, {-0.13, -0.45, 0.5, 0.13, 0.45, 0.24}
}, }
} }
}) })
@ -75,11 +75,11 @@ minetest.register_craft({
minetest.register_craft({ minetest.register_craft({
type = "shapeless", type = "shapeless",
output = "farming:garlic 9", output = "farming:garlic 9",
recipe = { "farming:garlic_braid" } recipe = {"farming:garlic_braid"}
}) })
-- crop definition -- crop definition
local crop_def = { local def = {
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"crops_garlic_plant_1.png"}, tiles = {"crops_garlic_plant_1.png"},
paramtype = "light", paramtype = "light",
@ -99,33 +99,31 @@ local crop_def = {
} }
-- stage 1 -- stage 1
minetest.register_node("farming:garlic_1", table.copy(crop_def)) minetest.register_node("farming:garlic_1", table.copy(def))
-- stage 2 -- stage 2
crop_def.tiles = {"crops_garlic_plant_2.png"} def.tiles = {"crops_garlic_plant_2.png"}
minetest.register_node("farming:garlic_2", table.copy(crop_def)) minetest.register_node("farming:garlic_2", table.copy(def))
-- stage 3 -- stage 3
crop_def.tiles = {"crops_garlic_plant_3.png"} def.tiles = {"crops_garlic_plant_3.png"}
minetest.register_node("farming:garlic_3", table.copy(crop_def)) minetest.register_node("farming:garlic_3", table.copy(def))
-- stage 4 -- stage 4
crop_def.tiles = {"crops_garlic_plant_4.png"} def.tiles = {"crops_garlic_plant_4.png"}
minetest.register_node("farming:garlic_4", table.copy(crop_def)) minetest.register_node("farming:garlic_4", table.copy(def))
-- stage 5 -- stage 5
crop_def.tiles = {"crops_garlic_plant_5.png"} def.tiles = {"crops_garlic_plant_5.png"}
crop_def.groups.growing = 0 def.groups.growing = nil
crop_def.drop = { def.drop = {
max_items = 5, items = { items = {
{items = {'farming:garlic'}, rarity = 1}, {items = {"farming:garlic 3"}, rarity = 1},
{items = {'farming:garlic'}, rarity = 1}, {items = {"farming:garlic"}, rarity = 2},
{items = {'farming:garlic'}, rarity = 1}, {items = {"farming:garlic"}, rarity = 5}
{items = {'farming:garlic'}, rarity = 2},
{items = {'farming:garlic'}, rarity = 5},
} }
} }
minetest.register_node("farming:garlic_5", table.copy(crop_def)) minetest.register_node("farming:garlic_5", table.copy(def))
-- add to registered_plants -- add to registered_plants
farming.registered_plants["farming:garlic"] = { farming.registered_plants["farming:garlic"] = {

View File

@ -8,7 +8,6 @@ local function place_grapes(itemstack, placer, pointed_thing, plantname)
-- check if pointing at a node -- check if pointing at a node
if not pt or pt.type ~= "node" then if not pt or pt.type ~= "node" then
return return
end end
@ -22,7 +21,7 @@ local function place_grapes(itemstack, placer, pointed_thing, plantname)
-- am I right-clicking on something that has a custom on_place set? -- am I right-clicking on something that has a custom on_place set?
-- thanks to Krock for helping with this issue :) -- thanks to Krock for helping with this issue :)
local def = minetest.registered_nodes[under.name] local def = minetest.registered_nodes[under.name]
if placer and def and def.on_rightclick then if placer and itemstack and def and def.on_rightclick then
return def.on_rightclick(pt.under, under, placer, itemstack) return def.on_rightclick(pt.under, under, placer, itemstack)
end end
@ -68,18 +67,17 @@ minetest.register_craftitem("farming:grapes", {
description = S("Grapes"), description = S("Grapes"),
inventory_image = "farming_grapes.png", inventory_image = "farming_grapes.png",
on_use = minetest.item_eat(2), on_use = minetest.item_eat(2),
groups = {food_grapes = 1, flammable = 3}, groups = {seed = 2, food_grapes = 1, flammable = 3},
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)
return place_grapes(itemstack, placer, pointed_thing, "farming:grapes_1") return place_grapes(itemstack, placer, pointed_thing, "farming:grapes_1")
end, end
}) })
-- grapes can be used for violet dye -- grapes can be used for violet dye
minetest.register_craft({ minetest.register_craft({
output = "dye:violet", output = "dye:violet",
recipe = { recipe = {
{'farming:grapes'}, {"farming:grapes"}
} }
}) })
@ -89,7 +87,7 @@ minetest.register_node("farming:trellis", {
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_trellis.png"}, tiles = {"farming_trellis.png"},
inventory_image = "farming_trellis.png", inventory_image = "farming_trellis.png",
visual_scale = 1.9, -- 1.45, visual_scale = 1.9,
paramtype = "light", paramtype = "light",
walkable = false, walkable = false,
buildable_to = true, buildable_to = true,
@ -157,79 +155,79 @@ minetest.register_node("farming:trellis", {
minetest.register_craft({ minetest.register_craft({
output = "farming:trellis", output = "farming:trellis",
recipe = { recipe = {
{'default:stick', 'default:stick', 'default:stick'}, {"default:stick", "default:stick", "default:stick"},
{'default:stick', 'default:stick', 'default:stick'}, {"default:stick", "default:stick", "default:stick"},
{'default:stick', 'default:stick', 'default:stick'}, {"default:stick", "default:stick", "default:stick"}
} }
}) })
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "farming:trellis", recipe = "farming:trellis",
burntime = 15, burntime = 15
}) })
-- grapes definition -- grapes definition
local crop_def = { local def = {
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_grapes_1.png"}, tiles = {"farming_grapes_1.png"},
visual_scale = 1.9, -- 1.45, visual_scale = 1.9,
paramtype = "light", paramtype = "light",
walkable = false, walkable = false,
buildable_to = true, buildable_to = true,
sunlight_propagates = true, sunlight_propagates = true,
drop = { drop = {
items = { items = {
{items = {'farming:trellis'}, rarity = 1}, {items = {"farming:trellis"}, rarity = 1},
} }
}, },
selection_box = farming.select, selection_box = farming.select,
groups = { groups = {
snappy = 3, flammable = 3, not_in_creative_inventory = 1, snappy = 3, flammable = 3, not_in_creative_inventory = 1,
attached_node = 1, growing = 1 attached_node = 1, growing = 1, plant = 1
}, },
sounds = default.node_sound_leaves_defaults() sounds = default.node_sound_leaves_defaults()
} }
-- stage 1 -- stage 1
minetest.register_node("farming:grapes_1", table.copy(crop_def)) minetest.register_node("farming:grapes_1", table.copy(def))
-- stage2 -- stage2
crop_def.tiles = {"farming_grapes_2.png"} def.tiles = {"farming_grapes_2.png"}
minetest.register_node("farming:grapes_2", table.copy(crop_def)) minetest.register_node("farming:grapes_2", table.copy(def))
-- stage 3 -- stage 3
crop_def.tiles = {"farming_grapes_3.png"} def.tiles = {"farming_grapes_3.png"}
minetest.register_node("farming:grapes_3", table.copy(crop_def)) minetest.register_node("farming:grapes_3", table.copy(def))
-- stage 4 -- stage 4
crop_def.tiles = {"farming_grapes_4.png"} def.tiles = {"farming_grapes_4.png"}
minetest.register_node("farming:grapes_4", table.copy(crop_def)) minetest.register_node("farming:grapes_4", table.copy(def))
-- stage 5 -- stage 5
crop_def.tiles = {"farming_grapes_5.png"} def.tiles = {"farming_grapes_5.png"}
minetest.register_node("farming:grapes_5", table.copy(crop_def)) minetest.register_node("farming:grapes_5", table.copy(def))
-- stage 6 -- stage 6
crop_def.tiles = {"farming_grapes_6.png"} def.tiles = {"farming_grapes_6.png"}
minetest.register_node("farming:grapes_6", table.copy(crop_def)) minetest.register_node("farming:grapes_6", table.copy(def))
-- stage 7 -- stage 7
crop_def.tiles = {"farming_grapes_7.png"} def.tiles = {"farming_grapes_7.png"}
minetest.register_node("farming:grapes_7", table.copy(crop_def)) minetest.register_node("farming:grapes_7", table.copy(def))
-- stage 8 (final) -- stage 8 (final)
crop_def.tiles = {"farming_grapes_8.png"} def.tiles = {"farming_grapes_8.png"}
crop_def.groups.growing = 0 def.groups.growing = nil
crop_def.drop = { def.drop = {
items = { items = {
{items = {'farming:trellis'}, rarity = 1}, {items = {"farming:trellis"}, rarity = 1},
{items = {'farming:grapes 3'}, rarity = 1}, {items = {"farming:grapes 3"}, rarity = 1},
{items = {'farming:grapes 1'}, rarity = 2}, {items = {"farming:grapes 1"}, rarity = 2},
{items = {'farming:grapes 1'}, rarity = 3}, {items = {"farming:grapes 1"}, rarity = 3}
} }
} }
minetest.register_node("farming:grapes_8", table.copy(crop_def)) minetest.register_node("farming:grapes_8", table.copy(def))
-- add to registered_plants -- add to registered_plants
farming.registered_plants["farming:grapes"] = { farming.registered_plants["farming:grapes"] = {
@ -251,15 +249,15 @@ minetest.register_node("farming:grapebush", {
sunlight_propagates = true, sunlight_propagates = true,
drop = { drop = {
items = { items = {
{items = {'farming:grapes 1'}, rarity = 1}, {items = {"farming:grapes 1"}, rarity = 1},
{items = {'farming:grapes 1'}, rarity = 2}, {items = {"farming:grapes 1"}, rarity = 2},
{items = {'farming:grapes 1'}, rarity = 3}, {items = {"farming:grapes 1"}, rarity = 3}
} }
}, },
selection_box = farming.select, selection_box = farming.select,
groups = { groups = {
snappy = 3, flammable = 2, plant = 1, attached_node = 1, snappy = 3, flammable = 2, plant = 1, attached_node = 1,
not_in_creative_inventory=1 not_in_creative_inventory = 1
}, },
sounds = default.node_sound_leaves_defaults(), sounds = default.node_sound_leaves_defaults()
}) })

View File

@ -16,13 +16,13 @@ minetest.register_node("farming:seed_hemp", {
selection_box = farming.select, selection_box = farming.select,
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "farming:hemp_1") return farming.place_seed(itemstack, placer, pointed_thing, "farming:hemp_1")
end, end
}) })
-- harvested hemp -- harvested hemp
minetest.register_craftitem("farming:hemp_leaf", { minetest.register_craftitem("farming:hemp_leaf", {
description = S("Hemp Leaf"), description = S("Hemp Leaf"),
inventory_image = "farming_hemp_leaf.png", inventory_image = "farming_hemp_leaf.png"
}) })
-- hemp oil -- hemp oil
@ -40,7 +40,7 @@ minetest.register_node("farming:hemp_oil", {
fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25} fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25}
}, },
groups = {food_oil = 1, vessel = 1, dig_immediate = 3, attached_node = 1}, groups = {food_oil = 1, vessel = 1, dig_immediate = 3, attached_node = 1},
sounds = default.node_sound_glass_defaults(), sounds = default.node_sound_glass_defaults()
}) })
minetest.register_craft( { minetest.register_craft( {
@ -71,7 +71,7 @@ minetest.register_craft({
-- hemp fibre -- hemp fibre
minetest.register_craftitem("farming:hemp_fibre", { minetest.register_craftitem("farming:hemp_fibre", {
description = S("Hemp Fibre"), description = S("Hemp Fibre"),
inventory_image = "farming_hemp_fibre.png", inventory_image = "farming_hemp_fibre.png"
}) })
minetest.register_craft( { minetest.register_craft( {
@ -108,7 +108,7 @@ minetest.register_craft( {
{"farming:hemp_fibre", "farming:hemp_fibre", "farming:hemp_fibre"}, {"farming:hemp_fibre", "farming:hemp_fibre", "farming:hemp_fibre"},
{"farming:hemp_fibre", "farming:hemp_fibre", "farming:hemp_fibre"}, {"farming:hemp_fibre", "farming:hemp_fibre", "farming:hemp_fibre"},
{"farming:hemp_fibre", "farming:hemp_fibre", "farming:hemp_fibre"} {"farming:hemp_fibre", "farming:hemp_fibre", "farming:hemp_fibre"}
}, }
}) })
-- check and register stairs -- check and register stairs
@ -134,19 +134,19 @@ end
-- paper -- paper
minetest.register_craft( { minetest.register_craft( {
output = "default:paper", output = "default:paper 3",
recipe = { recipe = {
{"farming:hemp_fibre", "farming:hemp_fibre", "farming:hemp_fibre"}, {"farming:hemp_fibre", "farming:hemp_fibre", "farming:hemp_fibre"}
} }
}) })
-- string -- string
minetest.register_craft( { minetest.register_craft( {
output = "farming:cotton", output = "farming:cotton 3",
recipe = { recipe = {
{"farming:hemp_fibre"}, {"farming:hemp_fibre"},
{"farming:hemp_fibre"}, {"farming:hemp_fibre"},
{"farming:hemp_fibre"}, {"farming:hemp_fibre"}
} }
}) })
@ -165,8 +165,8 @@ minetest.register_node("farming:hemp_rope", {
sounds = default.node_sound_leaves_defaults(), sounds = default.node_sound_leaves_defaults(),
selection_box = { selection_box = {
type = "fixed", type = "fixed",
fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7}, fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7}
}, }
}) })
-- string -- string
@ -175,12 +175,12 @@ minetest.register_craft( {
recipe = { recipe = {
{"farming:hemp_fibre", "farming:hemp_fibre", "farming:hemp_fibre"}, {"farming:hemp_fibre", "farming:hemp_fibre", "farming:hemp_fibre"},
{"farming:cotton", "farming:cotton", "farming:cotton"}, {"farming:cotton", "farming:cotton", "farming:cotton"},
{"farming:hemp_fibre", "farming:hemp_fibre", "farming:hemp_fibre"}, {"farming:hemp_fibre", "farming:hemp_fibre", "farming:hemp_fibre"}
} }
}) })
-- hemp definition -- hemp definition
local crop_def = { local def = {
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_hemp_1.png"}, tiles = {"farming_hemp_1.png"},
paramtype = "light", paramtype = "light",
@ -197,58 +197,58 @@ local crop_def = {
} }
-- stage 1 -- stage 1
minetest.register_node("farming:hemp_1", table.copy(crop_def)) minetest.register_node("farming:hemp_1", table.copy(def))
-- stage 2 -- stage 2
crop_def.tiles = {"farming_hemp_2.png"} def.tiles = {"farming_hemp_2.png"}
minetest.register_node("farming:hemp_2", table.copy(crop_def)) minetest.register_node("farming:hemp_2", table.copy(def))
-- stage 3 -- stage 3
crop_def.tiles = {"farming_hemp_3.png"} def.tiles = {"farming_hemp_3.png"}
minetest.register_node("farming:hemp_3", table.copy(crop_def)) minetest.register_node("farming:hemp_3", table.copy(def))
-- stage 4 -- stage 4
crop_def.tiles = {"farming_hemp_4.png"} def.tiles = {"farming_hemp_4.png"}
minetest.register_node("farming:hemp_4", table.copy(crop_def)) minetest.register_node("farming:hemp_4", table.copy(def))
-- stage 5 -- stage 5
crop_def.tiles = {"farming_hemp_5.png"} def.tiles = {"farming_hemp_5.png"}
minetest.register_node("farming:hemp_5", table.copy(crop_def)) minetest.register_node("farming:hemp_5", table.copy(def))
-- stage 6 -- stage 6
crop_def.tiles = {"farming_hemp_6.png"} def.tiles = {"farming_hemp_6.png"}
crop_def.drop = { def.drop = {
items = { items = {
{items = {'farming:hemp_leaf'}, rarity = 2}, {items = {"farming:hemp_leaf"}, rarity = 2},
{items = {'farming:seed_hemp'}, rarity = 1}, {items = {"farming:seed_hemp"}, rarity = 1}
} }
} }
minetest.register_node("farming:hemp_6", table.copy(crop_def)) minetest.register_node("farming:hemp_6", table.copy(def))
-- stage 7 -- stage 7
crop_def.tiles = {"farming_hemp_7.png"} def.tiles = {"farming_hemp_7.png"}
crop_def.drop = { def.drop = {
items = { items = {
{items = {'farming:hemp_leaf'}, rarity = 1}, {items = {"farming:hemp_leaf"}, rarity = 1},
{items = {'farming:hemp_leaf'}, rarity = 3}, {items = {"farming:hemp_leaf"}, rarity = 3},
{items = {'farming:seed_hemp'}, rarity = 1}, {items = {"farming:seed_hemp"}, rarity = 1},
{items = {'farming:seed_hemp'}, rarity = 3}, {items = {"farming:seed_hemp"}, rarity = 3}
} }
} }
minetest.register_node("farming:hemp_7", table.copy(crop_def)) minetest.register_node("farming:hemp_7", table.copy(def))
-- stage 8 (final) -- stage 8 (final)
crop_def.tiles = {"farming_hemp_8.png"} def.tiles = {"farming_hemp_8.png"}
crop_def.groups.growing = 0 def.groups.growing = nil
crop_def.drop = { def.drop = {
items = { items = {
{items = {'farming:hemp_leaf 2'}, rarity = 1}, {items = {"farming:hemp_leaf 2"}, rarity = 1},
{items = {'farming:hemp_leaf'}, rarity = 2}, {items = {"farming:hemp_leaf"}, rarity = 2},
{items = {'farming:seed_hemp'}, rarity = 1}, {items = {"farming:seed_hemp"}, rarity = 1},
{items = {'farming:seed_hemp'}, rarity = 2}, {items = {"farming:seed_hemp"}, rarity = 2}
} }
} }
minetest.register_node("farming:hemp_8", table.copy(crop_def)) minetest.register_node("farming:hemp_8", table.copy(def))
-- add to registered_plants -- add to registered_plants
farming.registered_plants["farming:hemp"] = { farming.registered_plants["farming:hemp"] = {

View File

@ -5,18 +5,18 @@ local S = farming.intllib
minetest.register_craftitem("farming:melon_slice", { minetest.register_craftitem("farming:melon_slice", {
description = S("Melon Slice"), description = S("Melon Slice"),
inventory_image = "farming_melon_slice.png", inventory_image = "farming_melon_slice.png",
groups = {food_melon_slice = 1, flammable = 3}, groups = {seed = 2, food_melon_slice = 1, flammable = 3},
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "farming:melon_1") return farming.place_seed(itemstack, placer, pointed_thing, "farming:melon_1")
end, end,
on_use = minetest.item_eat(2), on_use = minetest.item_eat(2)
}) })
minetest.register_craft({ minetest.register_craft({
output = "farming:melon_8", output = "farming:melon_8",
recipe = { recipe = {
{"farming:melon_slice", "farming:melon_slice"}, {"farming:melon_slice", "farming:melon_slice"},
{"farming:melon_slice", "farming:melon_slice"}, {"farming:melon_slice", "farming:melon_slice"}
} }
}) })
@ -24,11 +24,11 @@ minetest.register_craft({
type = "shapeless", type = "shapeless",
output = "farming:melon_slice 4", output = "farming:melon_slice 4",
recipe = {"farming:melon_8", "farming:cutting_board"}, recipe = {"farming:melon_8", "farming:cutting_board"},
replacements = {{"farming:cutting_board", "farming:cutting_board"}}, replacements = {{"farming:cutting_board", "farming:cutting_board"}}
}) })
-- melon definition -- melon definition
local crop_def = { local def = {
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_melon_1.png"}, tiles = {"farming_melon_1.png"},
paramtype = "light", paramtype = "light",
@ -45,45 +45,44 @@ local crop_def = {
} }
-- stage 1 -- stage 1
minetest.register_node("farming:melon_1", table.copy(crop_def)) minetest.register_node("farming:melon_1", table.copy(def))
-- stage 2 -- stage 2
crop_def.tiles = {"farming_melon_2.png"} def.tiles = {"farming_melon_2.png"}
minetest.register_node("farming:melon_2", table.copy(crop_def)) minetest.register_node("farming:melon_2", table.copy(def))
-- stage 3 -- stage 3
crop_def.tiles = {"farming_melon_3.png"} def.tiles = {"farming_melon_3.png"}
minetest.register_node("farming:melon_3", table.copy(crop_def)) minetest.register_node("farming:melon_3", table.copy(def))
-- stage 4 -- stage 4
crop_def.tiles = {"farming_melon_4.png"} def.tiles = {"farming_melon_4.png"}
minetest.register_node("farming:melon_4", table.copy(crop_def)) minetest.register_node("farming:melon_4", table.copy(def))
-- stage 5 -- stage 5
crop_def.tiles = {"farming_melon_5.png"} def.tiles = {"farming_melon_5.png"}
minetest.register_node("farming:melon_5", table.copy(crop_def)) minetest.register_node("farming:melon_5", table.copy(def))
-- stage 6 -- stage 6
crop_def.tiles = {"farming_melon_6.png"} def.tiles = {"farming_melon_6.png"}
minetest.register_node("farming:melon_6", table.copy(crop_def)) minetest.register_node("farming:melon_6", table.copy(def))
-- stage 7 -- stage 7
crop_def.tiles = {"farming_melon_7.png"} def.tiles = {"farming_melon_7.png"}
minetest.register_node("farming:melon_7", table.copy(crop_def)) minetest.register_node("farming:melon_7", table.copy(def))
-- stage 8 (final) -- stage 8 (final)
crop_def.drawtype = "nodebox" def.drawtype = "nodebox"
crop_def.description = S("Melon") def.description = S("Melon")
crop_def.tiles = {"farming_melon_top.png", "farming_melon_top.png", "farming_melon_side.png"} def.tiles = {"farming_melon_top.png", "farming_melon_top.png", "farming_melon_side.png"}
crop_def.selection_box = {-.5, -.5, -.5, .5, .5, .5} def.selection_box = {-.5, -.5, -.5, .5, .5, .5}
crop_def.walkable = true def.walkable = true
crop_def.groups = { def.groups = {
food_melon = 1, snappy = 1, oddly_breakable_by_hand = 1, food_melon = 1, snappy = 2, oddly_breakable_by_hand = 1,
flammable = 2, plant = 1 flammable = 2, plant = 1
} }
--crop_def.drop = "farming:melon_slice 9" def.drop = "farming:melon_8"
crop_def.drop = "farming:melon_8" minetest.register_node("farming:melon_8", table.copy(def))
minetest.register_node("farming:melon_8", table.copy(crop_def))
-- add to registered_plants -- add to registered_plants
farming.registered_plants["farming:melon"] = { farming.registered_plants["farming:melon"] = {

91
crops/mint.lua Normal file
View File

@ -0,0 +1,91 @@
local S = farming.intllib
-- mint seed
minetest.register_craftitem("farming:seed_mint", {
description = S("Mint Seeds"),
inventory_image = "farming_mint_seeds.png",
groups = {seed = 2, flammable = 2},
on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(
itemstack, placer, pointed_thing, "farming:mint_1")
end
})
-- mint leaf
minetest.register_craftitem("farming:mint_leaf", {
description = S("Mint Leaf"),
inventory_image = "farming_mint_leaf.png",
groups = {food_mint = 1, flammable = 4}
})
-- mint tea
minetest.register_craftitem("farming:mint_tea", {
description = S("Mint Tea"),
inventory_image = "farming_mint_tea.png",
on_use = minetest.item_eat(2, "vessels:drinking_glass"),
groups = {flammable = 4}
})
minetest.register_craft({
output = "farming:mint_tea",
type = "shapeless",
recipe = {
"vessels:drinking_glass", "group:food_mint",
"group:food_mint", "group:food_mint",
"farming:juicer", "bucket:bucket_water"
},
replacements = {
{"group:food_juicer", "farming:juicer"},
{"bucket:bucket_water", "bucket:bucket_empty"}
}
})
-- mint definition
local def = {
drawtype = "plantlike",
tiles = {"farming_mint_1.png"},
paramtype = "light",
walkable = false,
buildable_to = true,
drop = "",
selection_box = farming.select,
groups = {
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
not_in_creative_inventory = 1, growing = 1
},
sounds = default.node_sound_leaves_defaults()
}
-- stage 1
minetest.register_node("farming:mint_1", table.copy(def))
-- stage 2
def.tiles = {"farming_mint_2.png"}
minetest.register_node("farming:mint_2", table.copy(def))
-- stage 3
def.tiles = {"farming_mint_3.png"}
minetest.register_node("farming:mint_3", table.copy(def))
-- stage 4 (final)
def.tiles = {"farming_mint_4.png"}
def.groups.growing = nil
def.drop = {
items = {
{items = {"farming:mint_leaf 2"}, rarity = 1},
{items = {"farming:mint_leaf 2"}, rarity = 2},
{items = {"farming:seed_mint 1"}, rarity = 1},
{items = {"farming:seed_mint 2"}, rarity = 2},
}
}
minetest.register_node("farming:mint_4", table.copy(def))
-- add to registered_plants
farming.registered_plants["farming:mint"] = {
crop = "farming:mint",
seed = "farming:seed_mint",
minlight = 13,
maxlight = 15,
steps = 4
}

View File

@ -7,19 +7,38 @@
local S = farming.intllib local S = farming.intllib
-- potato -- onion
minetest.register_craftitem("farming:onion", { minetest.register_craftitem("farming:onion", {
description = S("Onion"), description = S("Onion"),
inventory_image = "crops_onion.png", inventory_image = "crops_onion.png",
groups = {food_onion = 1, flammable = 3}, groups = {seed = 2, food_onion = 1, flammable = 3},
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "farming:onion_1") return farming.place_seed(itemstack, placer, pointed_thing, "farming:onion_1")
end, end,
on_use = minetest.item_eat(1), on_use = minetest.item_eat(1)
})
-- onion soup
minetest.register_craftitem("farming:onion_soup", {
description = S("Onion Soup"),
inventory_image = "farming_onion_soup.png",
groups = {flammable = 2},
on_use = minetest.item_eat(6, "farming:bowl")
})
minetest.register_craft({
type = "shapeless",
output = "farming:onion_soup",
recipe = {
"group:food_onion", "group:food_onion", "group:food_pot",
"group:food_onion", "group:food_onion",
"group:food_onion", "group:food_onion", "group:food_bowl"
},
replacements = {{"farming:pot", "farming:pot"}}
}) })
-- crop definition -- crop definition
local crop_def = { local def = {
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"crops_onion_plant_1.png"}, tiles = {"crops_onion_plant_1.png"},
paramtype = "light", paramtype = "light",
@ -39,33 +58,33 @@ local crop_def = {
} }
-- stage 1 -- stage 1
minetest.register_node("farming:onion_1", table.copy(crop_def)) minetest.register_node("farming:onion_1", table.copy(def))
-- stage 2 -- stage 2
crop_def.tiles = {"crops_onion_plant_2.png"} def.tiles = {"crops_onion_plant_2.png"}
minetest.register_node("farming:onion_2", table.copy(crop_def)) minetest.register_node("farming:onion_2", table.copy(def))
-- stage 3 -- stage 3
crop_def.tiles = {"crops_onion_plant_3.png"} def.tiles = {"crops_onion_plant_3.png"}
minetest.register_node("farming:onion_3", table.copy(crop_def)) minetest.register_node("farming:onion_3", table.copy(def))
-- stage 4 -- stage 4
crop_def.tiles = {"crops_onion_plant_4.png"} def.tiles = {"crops_onion_plant_4.png"}
minetest.register_node("farming:onion_4", table.copy(crop_def)) minetest.register_node("farming:onion_4", table.copy(def))
-- stage 5 -- stage 5
crop_def.tiles = {"crops_onion_plant_5.png"} def.tiles = {"crops_onion_plant_5.png"}
crop_def.groups.growing = 0 def.groups.growing = nil
crop_def.drop = { def.drop = {
max_items = 5, items = { max_items = 5, items = {
{items = {'farming:onion'}, rarity = 1}, {items = {"farming:onion"}, rarity = 1},
{items = {'farming:onion'}, rarity = 1}, {items = {"farming:onion"}, rarity = 1},
{items = {'farming:onion'}, rarity = 2}, {items = {"farming:onion"}, rarity = 2},
{items = {'farming:onion'}, rarity = 2}, {items = {"farming:onion"}, rarity = 2},
{items = {'farming:onion'}, rarity = 5}, {items = {"farming:onion"}, rarity = 5},
} }
} }
minetest.register_node("farming:onion_5", table.copy(crop_def)) minetest.register_node("farming:onion_5", table.copy(def))
-- add to registered_plants -- add to registered_plants
farming.registered_plants["farming:onion"] = { farming.registered_plants["farming:onion"] = {

View File

@ -7,7 +7,7 @@ local S = farming.intllib
minetest.register_craftitem("farming:pea_pod", { minetest.register_craftitem("farming:pea_pod", {
description = S("Pea Pod"), description = S("Pea Pod"),
inventory_image = "farming_pea_pod.png", inventory_image = "farming_pea_pod.png",
groups = {food_pea_pod = 1, flammable = 2}, groups = {seed = 2, food_pea_pod = 1, flammable = 2},
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "farming:pea_1") return farming.place_seed(itemstack, placer, pointed_thing, "farming:pea_1")
end end
@ -31,7 +31,7 @@ minetest.register_craftitem("farming:pea_soup", {
description = S("Pea Soup"), description = S("Pea Soup"),
inventory_image = "farming_pea_soup.png", inventory_image = "farming_pea_soup.png",
groups = {flammable = 2}, groups = {flammable = 2},
on_use = minetest.item_eat(4, "farming:bowl"), on_use = minetest.item_eat(4, "farming:bowl")
}) })
minetest.register_craft({ minetest.register_craft({
@ -40,7 +40,7 @@ minetest.register_craft({
recipe = {"group:food_peas", "group:food_peas", "group:food_bowl"} recipe = {"group:food_peas", "group:food_peas", "group:food_bowl"}
}) })
local crop_def = { local def = {
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_pea_1.png"}, tiles = {"farming_pea_1.png"},
paramtype = "light", paramtype = "light",
@ -60,33 +60,32 @@ local crop_def = {
} }
-- stage 1 -- stage 1
minetest.register_node("farming:pea_1", table.copy(crop_def)) minetest.register_node("farming:pea_1", table.copy(def))
-- stage 2 -- stage 2
crop_def.tiles = {"farming_pea_2.png"} def.tiles = {"farming_pea_2.png"}
minetest.register_node("farming:pea_2", table.copy(crop_def)) minetest.register_node("farming:pea_2", table.copy(def))
-- stage 3 -- stage 3
crop_def.tiles = {"farming_pea_3.png"} def.tiles = {"farming_pea_3.png"}
minetest.register_node("farming:pea_3", table.copy(crop_def)) minetest.register_node("farming:pea_3", table.copy(def))
-- stage 4 -- stage 4
crop_def.tiles = {"farming_pea_4.png"} def.tiles = {"farming_pea_4.png"}
minetest.register_node("farming:pea_4", table.copy(crop_def)) minetest.register_node("farming:pea_4", table.copy(def))
-- stage 5 -- stage 5
crop_def.tiles = {"farming_pea_5.png"} def.tiles = {"farming_pea_5.png"}
crop_def.groups.growing = 0 def.groups.growing = nil
crop_def.drop = { def.drop = {
max_items = 5, items = { max_items = 5, items = {
{items = {'farming:pea_pod'}, rarity = 1}, {items = {"farming:pea_pod"}, rarity = 1},
{items = {'farming:pea_pod'}, rarity = 2}, {items = {"farming:pea_pod"}, rarity = 2},
{items = {'farming:pea_pod'}, rarity = 3}, {items = {"farming:pea_pod"}, rarity = 3},
{items = {'farming:pea_pod'}, rarity = 4}, {items = {"farming:pea_pod"}, rarity = 5}
{items = {'farming:pea_pod'}, rarity = 5},
} }
} }
minetest.register_node("farming:pea_5", table.copy(crop_def)) minetest.register_node("farming:pea_5", table.copy(def))
-- add to registered_plants -- add to registered_plants
farming.registered_plants["farming:pea_pod"] = { farming.registered_plants["farming:pea_pod"] = {

View File

@ -11,10 +11,10 @@ local S = farming.intllib
minetest.register_craftitem("farming:peppercorn", { minetest.register_craftitem("farming:peppercorn", {
description = S("Peppercorn"), description = S("Peppercorn"),
inventory_image = "crops_peppercorn.png", inventory_image = "crops_peppercorn.png",
groups = {food_peppercorn = 1, flammable = 3}, groups = {seed = 1, food_peppercorn = 1, flammable = 3},
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "farming:pepper_1") return farming.place_seed(itemstack, placer, pointed_thing, "farming:pepper_1")
end, end
}) })
-- green pepper -- green pepper
@ -22,7 +22,7 @@ minetest.register_craftitem("farming:pepper", {
description = S("Pepper"), description = S("Pepper"),
inventory_image = "crops_pepper.png", inventory_image = "crops_pepper.png",
on_use = minetest.item_eat(2), on_use = minetest.item_eat(2),
groups = {food_pepper = 1, flammable = 3}, groups = {food_pepper = 1, flammable = 3}
}) })
minetest.register_craft({ minetest.register_craft({
@ -33,7 +33,7 @@ minetest.register_craft({
-- ground pepper -- ground pepper
minetest.register_node("farming:pepper_ground", { minetest.register_node("farming:pepper_ground", {
description = ("Ground Pepper"), description = S("Ground Pepper"),
inventory_image = "crops_pepper_ground.png", inventory_image = "crops_pepper_ground.png",
wield_image = "crops_pepper_ground.png", wield_image = "crops_pepper_ground.png",
drawtype = "plantlike", drawtype = "plantlike",
@ -48,18 +48,18 @@ minetest.register_node("farming:pepper_ground", {
selection_box = { selection_box = {
type = "fixed", type = "fixed",
fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25} fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25}
}, }
}) })
minetest.register_craft( { minetest.register_craft( {
output = "farming:pepper_ground", output = "farming:pepper_ground",
type = "shapeless", type = "shapeless",
recipe = {"group:food_peppercorn", "vessels:glass_bottle", "farming:mortar_pestle"}, recipe = {"group:food_peppercorn", "vessels:glass_bottle", "farming:mortar_pestle"},
replacements = {{"group:food_mortar_pestle", "farming:mortar_pestle"}}, replacements = {{"group:food_mortar_pestle", "farming:mortar_pestle"}}
}) })
-- crop definition -- crop definition
local crop_def = { local def = {
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"crops_pepper_plant_1.png"}, tiles = {"crops_pepper_plant_1.png"},
paramtype = "light", paramtype = "light",
@ -79,31 +79,31 @@ local crop_def = {
} }
-- stage 1 -- stage 1
minetest.register_node("farming:pepper_1", table.copy(crop_def)) minetest.register_node("farming:pepper_1", table.copy(def))
-- stage 2 -- stage 2
crop_def.tiles = {"crops_pepper_plant_2.png"} def.tiles = {"crops_pepper_plant_2.png"}
minetest.register_node("farming:pepper_2", table.copy(crop_def)) minetest.register_node("farming:pepper_2", table.copy(def))
-- stage 3 -- stage 3
crop_def.tiles = {"crops_pepper_plant_3.png"} def.tiles = {"crops_pepper_plant_3.png"}
minetest.register_node("farming:pepper_3", table.copy(crop_def)) minetest.register_node("farming:pepper_3", table.copy(def))
-- stage 4 -- stage 4
crop_def.tiles = {"crops_pepper_plant_4.png"} def.tiles = {"crops_pepper_plant_4.png"}
minetest.register_node("farming:pepper_4", table.copy(crop_def)) minetest.register_node("farming:pepper_4", table.copy(def))
-- stage 5 -- stage 5
crop_def.tiles = {"crops_pepper_plant_5.png"} def.tiles = {"crops_pepper_plant_5.png"}
crop_def.groups.growing = 0 def.groups.growing = 0
crop_def.drop = { def.drop = {
max_items = 2, items = { items = {
{items = {'farming:pepper 2'}, rarity = 1}, {items = {"farming:pepper 2"}, rarity = 1},
{items = {'farming:pepper'}, rarity = 2}, {items = {"farming:pepper"}, rarity = 2},
{items = {'farming:pepper'}, rarity = 3}, {items = {"farming:pepper"}, rarity = 3}
} }
} }
minetest.register_node("farming:pepper_5", table.copy(crop_def)) minetest.register_node("farming:pepper_5", table.copy(def))
-- add to registered_plants -- add to registered_plants
farming.registered_plants["farming:pepper"] = { farming.registered_plants["farming:pepper"] = {

View File

@ -5,9 +5,10 @@ local S = farming.intllib
minetest.register_craftitem("farming:pineapple_top", { minetest.register_craftitem("farming:pineapple_top", {
description = S("Pineapple Top"), description = S("Pineapple Top"),
inventory_image = "farming_pineapple_top.png", inventory_image = "farming_pineapple_top.png",
groups = {seed = 2, flammable = 2},
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "farming:pineapple_1") return farming.place_seed(itemstack, placer, pointed_thing, "farming:pineapple_1")
end, end
}) })
-- pineapple -- pineapple
@ -24,7 +25,7 @@ minetest.register_node("farming:pineapple", {
type = "fixed", type = "fixed",
fixed = {-0.27, -0.37, -0.27, 0.27, 0.44, 0.27} fixed = {-0.27, -0.37, -0.27, 0.27, 0.44, 0.27}
}, },
groups = {food_pineapple = 1, fleshy = 3, dig_immediate = 3, flammable = 2}, groups = {food_pineapple = 1, fleshy = 3, dig_immediate = 3, flammable = 2}
}) })
-- pineapple -- pineapple
@ -32,7 +33,7 @@ minetest.register_craftitem("farming:pineapple_ring", {
description = S("Pineapple Ring"), description = S("Pineapple Ring"),
inventory_image = "farming_pineapple_ring.png", inventory_image = "farming_pineapple_ring.png",
groups = {food_pineapple_ring = 1, flammable = 2}, groups = {food_pineapple_ring = 1, flammable = 2},
on_use = minetest.item_eat(1), on_use = minetest.item_eat(1)
}) })
minetest.register_craft( { minetest.register_craft( {
@ -47,17 +48,19 @@ minetest.register_craftitem("farming:pineapple_juice", {
description = S("Pineapple Juice"), description = S("Pineapple Juice"),
inventory_image = "farming_pineapple_juice.png", inventory_image = "farming_pineapple_juice.png",
on_use = minetest.item_eat(4, "vessels:drinking_glass"), on_use = minetest.item_eat(4, "vessels:drinking_glass"),
groups = {vessel = 1, drink = 1}
}) })
minetest.register_craft({ minetest.register_craft({
output = "farming:pineapple_juice", output = "farming:pineapple_juice",
type = "shapeless", type = "shapeless",
recipe = {"vessels:drinking_glass", "group:food_pineapple_ring", recipe = {
"group:food_pineapple_ring", "group:food_pineapple_ring", "vessels:drinking_glass", "group:food_pineapple_ring",
"farming:juicer"}, "group:food_pineapple_ring", "group:food_pineapple_ring",
"farming:juicer"},
replacements = { replacements = {
{"group:food_juicer", "farming:juicer"}, {"group:food_juicer", "farming:juicer"}
}, }
}) })
minetest.register_craft({ minetest.register_craft({
@ -68,12 +71,12 @@ minetest.register_craft({
"group:food_pineapple", "farming:juicer" "group:food_pineapple", "farming:juicer"
}, },
replacements = { replacements = {
{"group:food_juicer", "farming:juicer"}, {"group:food_juicer", "farming:juicer"}
}, }
}) })
-- crop definition -- crop definition
local crop_def = { local def = {
drawtype = "plantlike", drawtype = "plantlike",
visual_scale = 1.5, visual_scale = 1.5,
tiles = {"farming_pineapple_1.png"}, tiles = {"farming_pineapple_1.png"},
@ -91,42 +94,42 @@ local crop_def = {
} }
-- stage 1 -- stage 1
minetest.register_node("farming:pineapple_1", table.copy(crop_def)) minetest.register_node("farming:pineapple_1", table.copy(def))
-- stage 2 -- stage 2
crop_def.tiles = {"farming_pineapple_2.png"} def.tiles = {"farming_pineapple_2.png"}
minetest.register_node("farming:pineapple_2", table.copy(crop_def)) minetest.register_node("farming:pineapple_2", table.copy(def))
-- stage 3 -- stage 3
crop_def.tiles = {"farming_pineapple_3.png"} def.tiles = {"farming_pineapple_3.png"}
minetest.register_node("farming:pineapple_3", table.copy(crop_def)) minetest.register_node("farming:pineapple_3", table.copy(def))
-- stage 4 -- stage 4
crop_def.tiles = {"farming_pineapple_4.png"} def.tiles = {"farming_pineapple_4.png"}
minetest.register_node("farming:pineapple_4", table.copy(crop_def)) minetest.register_node("farming:pineapple_4", table.copy(def))
-- stage 5 -- stage 5
crop_def.tiles = {"farming_pineapple_5.png"} def.tiles = {"farming_pineapple_5.png"}
minetest.register_node("farming:pineapple_5", table.copy(crop_def)) minetest.register_node("farming:pineapple_5", table.copy(def))
-- stage 6 -- stage 6
crop_def.tiles = {"farming_pineapple_6.png"} def.tiles = {"farming_pineapple_6.png"}
minetest.register_node("farming:pineapple_6", table.copy(crop_def)) minetest.register_node("farming:pineapple_6", table.copy(def))
-- stage 7 -- stage 7
crop_def.tiles = {"farming_pineapple_7.png"} def.tiles = {"farming_pineapple_7.png"}
minetest.register_node("farming:pineapple_7", table.copy(crop_def)) minetest.register_node("farming:pineapple_7", table.copy(def))
-- stage 8 (final) -- stage 8 (final)
crop_def.tiles = {"farming_pineapple_8.png"} def.tiles = {"farming_pineapple_8.png"}
crop_def.groups.growing = 0 def.groups.growing = nil
crop_def.drop = { def.drop = {
items = { items = {
{items = {'farming:pineapple'}, rarity = 1}, {items = {"farming:pineapple"}, rarity = 1},
{items = {'farming:pineapple'}, rarity = 15}, {items = {"farming:pineapple"}, rarity = 10}
} }
} }
minetest.register_node("farming:pineapple_8", table.copy(crop_def)) minetest.register_node("farming:pineapple_8", table.copy(def))
-- add to registered_plants -- add to registered_plants
farming.registered_plants["farming:pineapple"] = { farming.registered_plants["farming:pineapple"] = {

View File

@ -10,18 +10,27 @@ local S = farming.intllib
minetest.register_craftitem("farming:potato", { minetest.register_craftitem("farming:potato", {
description = S("Potato"), description = S("Potato"),
inventory_image = "farming_potato.png", inventory_image = "farming_potato.png",
groups = {food_potato = 1, flammable = 2}, groups = {seed = 2, food_potato = 1, flammable = 2},
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "farming:potato_1") return farming.place_seed(itemstack, placer, pointed_thing, "farming:potato_1")
end, end,
on_use = minetest.item_eat(1), -- 1 in 3 chance of being poisoned
on_use = function(itemstack, user, pointed_thing)
if user then
if math.random(3) == 1 then
return minetest.do_item_eat(-1, nil, itemstack, user, pointed_thing)
else
return minetest.do_item_eat(1, nil, itemstack, user, pointed_thing)
end
end
end
}) })
-- baked potato -- baked potato
minetest.register_craftitem("farming:baked_potato", { minetest.register_craftitem("farming:baked_potato", {
description = S("Baked Potato"), description = S("Baked Potato"),
inventory_image = "farming_baked_potato.png", inventory_image = "farming_baked_potato.png",
on_use = minetest.item_eat(6), on_use = minetest.item_eat(6)
}) })
minetest.register_craft({ minetest.register_craft({
@ -35,7 +44,7 @@ minetest.register_craft({
minetest.register_craftitem("farming:potato_salad", { minetest.register_craftitem("farming:potato_salad", {
description = S("Cucumber and Potato Salad"), description = S("Cucumber and Potato Salad"),
inventory_image = "farming_potato_salad.png", inventory_image = "farming_potato_salad.png",
on_use = minetest.item_eat(10, "farming:bowl"), on_use = minetest.item_eat(10, "farming:bowl")
}) })
minetest.register_craft({ minetest.register_craft({
@ -43,12 +52,12 @@ minetest.register_craft({
recipe = { recipe = {
{"group:food_cucumber"}, {"group:food_cucumber"},
{"farming:baked_potato"}, {"farming:baked_potato"},
{"group:food_bowl"}, {"group:food_bowl"}
} }
}) })
-- potato definition -- potato definition
local crop_def = { local def = {
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_potato_1.png"}, tiles = {"farming_potato_1.png"},
paramtype = "light", paramtype = "light",
@ -66,32 +75,32 @@ local crop_def = {
} }
-- stage 1 -- stage 1
minetest.register_node("farming:potato_1", table.copy(crop_def)) minetest.register_node("farming:potato_1", table.copy(def))
-- stage 2 -- stage 2
crop_def.tiles = {"farming_potato_2.png"} def.tiles = {"farming_potato_2.png"}
minetest.register_node("farming:potato_2", table.copy(crop_def)) minetest.register_node("farming:potato_2", table.copy(def))
-- stage 3 -- stage 3
crop_def.tiles = {"farming_potato_3.png"} def.tiles = {"farming_potato_3.png"}
crop_def.drop = { def.drop = {
items = { items = {
{items = {'farming:potato'}, rarity = 1}, {items = {"farming:potato"}, rarity = 1},
{items = {'farming:potato'}, rarity = 3}, {items = {"farming:potato"}, rarity = 3}
} }
} }
minetest.register_node("farming:potato_3", table.copy(crop_def)) minetest.register_node("farming:potato_3", table.copy(def))
-- stage 4 -- stage 4
crop_def.tiles = {"farming_potato_4.png"} def.tiles = {"farming_potato_4.png"}
crop_def.groups.growing = 0 def.groups.growing = nil
crop_def.drop = { def.drop = {
items = { items = {
{items = {'farming:potato 2'}, rarity = 1}, {items = {"farming:potato 2"}, rarity = 1},
{items = {'farming:potato 3'}, rarity = 2}, {items = {"farming:potato 3"}, rarity = 2}
} }
} }
minetest.register_node("farming:potato_4", table.copy(crop_def)) minetest.register_node("farming:potato_4", table.copy(def))
-- add to registered_plants -- add to registered_plants
farming.registered_plants["farming:potato"] = { farming.registered_plants["farming:potato"] = {

View File

@ -9,18 +9,18 @@ local S = farming.intllib
minetest.register_craftitem("farming:pumpkin_slice", { minetest.register_craftitem("farming:pumpkin_slice", {
description = S("Pumpkin Slice"), description = S("Pumpkin Slice"),
inventory_image = "farming_pumpkin_slice.png", inventory_image = "farming_pumpkin_slice.png",
groups = {food_pumpkin_slice = 1, flammable = 2}, groups = {seed = 2, food_pumpkin_slice = 1, flammable = 2},
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "farming:pumpkin_1") return farming.place_seed(itemstack, placer, pointed_thing, "farming:pumpkin_1")
end, end,
on_use = minetest.item_eat(2), on_use = minetest.item_eat(2)
}) })
minetest.register_craft({ minetest.register_craft({
output = "farming:pumpkin", output = "farming:pumpkin",
recipe = { recipe = {
{"farming:pumpkin_slice", "farming:pumpkin_slice"}, {"farming:pumpkin_slice", "farming:pumpkin_slice"},
{"farming:pumpkin_slice", "farming:pumpkin_slice"}, {"farming:pumpkin_slice", "farming:pumpkin_slice"}
} }
}) })
@ -28,37 +28,33 @@ minetest.register_craft({
type = "shapeless", type = "shapeless",
output = "farming:pumpkin_slice 4", output = "farming:pumpkin_slice 4",
recipe = {"farming:pumpkin", "farming:cutting_board"}, recipe = {"farming:pumpkin", "farming:cutting_board"},
replacements = {{"farming:cutting_board", "farming:cutting_board"}}, replacements = {{"farming:cutting_board", "farming:cutting_board"}}
}) })
-- jack 'o lantern -- jack 'o lantern
minetest.register_node("farming:jackolantern", { minetest.register_node("farming:jackolantern", {
description = S("Jack 'O Lantern (punch to turn on and off)"), description = S("Jack 'O Lantern (punch to turn on and off)"),
tiles = { tiles = {
"farming_pumpkin_top.png", "farming_pumpkin_top.png", "farming_pumpkin_top.png",
"farming_pumpkin_top.png", "farming_pumpkin_side.png", "farming_pumpkin_side.png",
"farming_pumpkin_side.png", "farming_pumpkin_side.png", "farming_pumpkin_face_off.png"
"farming_pumpkin_side.png",
"farming_pumpkin_side.png",
"farming_pumpkin_face_off.png"
}, },
paramtype2 = "facedir", paramtype2 = "facedir",
groups = {choppy = 1, oddly_breakable_by_hand = 1, flammable = 2}, groups = {choppy = 1, oddly_breakable_by_hand = 1, flammable = 2},
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
on_punch = function(pos, node, puncher) on_punch = function(pos, node, puncher)
local name = puncher:get_player_name() or ""
if minetest.is_protected(pos, name) then return end
node.name = "farming:jackolantern_on" node.name = "farming:jackolantern_on"
minetest.swap_node(pos, node) minetest.swap_node(pos, node)
end, end
}) })
minetest.register_node("farming:jackolantern_on", { minetest.register_node("farming:jackolantern_on", {
tiles = { tiles = {
"farming_pumpkin_top.png", "farming_pumpkin_top.png", "farming_pumpkin_top.png",
"farming_pumpkin_top.png", "farming_pumpkin_side.png", "farming_pumpkin_side.png",
"farming_pumpkin_side.png", "farming_pumpkin_side.png", "farming_pumpkin_face_on.png"
"farming_pumpkin_side.png",
"farming_pumpkin_side.png",
"farming_pumpkin_face_on.png"
}, },
light_source = default.LIGHT_MAX - 1, light_source = default.LIGHT_MAX - 1,
paramtype2 = "facedir", paramtype2 = "facedir",
@ -69,21 +65,24 @@ minetest.register_node("farming:jackolantern_on", {
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
drop = "farming:jackolantern", drop = "farming:jackolantern",
on_punch = function(pos, node, puncher) on_punch = function(pos, node, puncher)
local name = puncher:get_player_name() or ""
if minetest.is_protected(pos, name) then return end
node.name = "farming:jackolantern" node.name = "farming:jackolantern"
minetest.swap_node(pos, node) minetest.swap_node(pos, node)
end, end
}) })
minetest.register_craft({ minetest.register_craft({
output = "farming:jackolantern", output = "farming:jackolantern",
recipe = { recipe = {
{"default:torch"}, {"default:torch"},
{"group:food_pumpkin"}, {"group:food_pumpkin"}
} }
}) })
--- wooden scarecrow base --- wooden scarecrow base
minetest.register_node("farming:scarecrow_bottom", { minetest.register_node("farming:scarecrow_bottom", {
description = S("Scarecrow Bottom"),
paramtype = "light", paramtype = "light",
sunlight_propagates = true, sunlight_propagates = true,
paramtype2 = "facedir", paramtype2 = "facedir",
@ -94,17 +93,17 @@ minetest.register_node("farming:scarecrow_bottom", {
fixed = { fixed = {
{-1/16, -8/16, -1/16, 1/16, 8/16, 1/16}, {-1/16, -8/16, -1/16, 1/16, 8/16, 1/16},
{-12/16, 4/16, -1/16, 12/16, 2/16, 1/16}, {-12/16, 4/16, -1/16, 12/16, 2/16, 1/16},
}, }
}, },
groups = {snappy = 3, flammable = 2}, groups = {snappy = 3, flammable = 2}
}) })
minetest.register_craft({ minetest.register_craft({
output = "farming:scarecrow_bottom", output = "farming:scarecrow_bottom",
recipe = { recipe = {
{"", "group:stick", "",}, {"", "group:stick", ""},
{"group:stick", "group:stick", "group:stick",}, {"group:stick", "group:stick", "group:stick"},
{"", "group:stick", "",} {"", "group:stick", ""}
} }
}) })
@ -113,12 +112,12 @@ minetest.register_craftitem("farming:pumpkin_bread", {
description = S("Pumpkin Bread"), description = S("Pumpkin Bread"),
inventory_image = "farming_pumpkin_bread.png", inventory_image = "farming_pumpkin_bread.png",
on_use = minetest.item_eat(8), on_use = minetest.item_eat(8),
groups = {food_bread = 1, flammable = 2}, groups = {food_bread = 1, flammable = 2}
}) })
minetest.register_craftitem("farming:pumpkin_dough", { minetest.register_craftitem("farming:pumpkin_dough", {
description = S("Pumpkin Dough"), description = S("Pumpkin Dough"),
inventory_image = "farming_pumpkin_dough.png", inventory_image = "farming_pumpkin_dough.png"
}) })
minetest.register_craft({ minetest.register_craft({
@ -135,7 +134,7 @@ minetest.register_craft({
}) })
-- pumpkin definition -- pumpkin definition
local crop_def = { local def = {
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_pumpkin_1.png"}, tiles = {"farming_pumpkin_1.png"},
paramtype = "light", paramtype = "light",
@ -153,44 +152,33 @@ local crop_def = {
} }
-- stage 1 -- stage 1
minetest.register_node("farming:pumpkin_1", table.copy(crop_def)) minetest.register_node("farming:pumpkin_1", table.copy(def))
-- stage 2 -- stage 2
crop_def.tiles = {"farming_pumpkin_2.png"} def.tiles = {"farming_pumpkin_2.png"}
minetest.register_node("farming:pumpkin_2", table.copy(crop_def)) minetest.register_node("farming:pumpkin_2", table.copy(def))
-- stage 3 -- stage 3
crop_def.tiles = {"farming_pumpkin_3.png"} def.tiles = {"farming_pumpkin_3.png"}
minetest.register_node("farming:pumpkin_3", table.copy(crop_def)) minetest.register_node("farming:pumpkin_3", table.copy(def))
-- stage 4 -- stage 4
crop_def.tiles = {"farming_pumpkin_4.png"} def.tiles = {"farming_pumpkin_4.png"}
minetest.register_node("farming:pumpkin_4", table.copy(crop_def)) minetest.register_node("farming:pumpkin_4", table.copy(def))
-- stage 5 -- stage 5
crop_def.tiles = {"farming_pumpkin_5.png"} def.tiles = {"farming_pumpkin_5.png"}
minetest.register_node("farming:pumpkin_5", table.copy(crop_def)) minetest.register_node("farming:pumpkin_5", table.copy(def))
-- stage 6 -- stage 6
crop_def.tiles = {"farming_pumpkin_6.png"} def.tiles = {"farming_pumpkin_6.png"}
minetest.register_node("farming:pumpkin_6", table.copy(crop_def)) minetest.register_node("farming:pumpkin_6", table.copy(def))
-- stage 7 -- stage 7
crop_def.tiles = {"farming_pumpkin_7.png"} def.tiles = {"farming_pumpkin_7.png"}
minetest.register_node("farming:pumpkin_7", table.copy(crop_def)) minetest.register_node("farming:pumpkin_7", table.copy(def))
-- stage 8 (final) -- stage 8 (final)
--[[
crop_def.tiles = {"farming_pumpkin_8.png"}
crop_def.groups.growing = 0
crop_def.drop = {
items = {
{items = {'farming:pumpkin_slice 9'}, rarity = 1},
}
}
minetest.register_node("farming:pumpkin_8", table.copy(crop_def))
]]
minetest.register_node("farming:pumpkin_8", { minetest.register_node("farming:pumpkin_8", {
description = S("Pumpkin"), description = S("Pumpkin"),
tiles = { tiles = {
@ -199,10 +187,11 @@ minetest.register_node("farming:pumpkin_8", {
"farming_pumpkin_side.png" "farming_pumpkin_side.png"
}, },
groups = { groups = {
food_pumpkin = 1, choppy = 1, oddly_breakable_by_hand = 1, food_pumpkin = 1, choppy = 2, oddly_breakable_by_hand = 1,
flammable = 2, plant = 1 flammable = 2, plant = 1
}, },
sounds = default.node_sound_wood_defaults(), drop = "farming:pumpkin_8",
sounds = default.node_sound_wood_defaults()
}) })
minetest.register_alias("farming:pumpkin", "farming:pumpkin_8") minetest.register_alias("farming:pumpkin", "farming:pumpkin_8")

View File

@ -5,11 +5,12 @@ local S = farming.intllib
minetest.register_craftitem("farming:raspberries", { minetest.register_craftitem("farming:raspberries", {
description = S("Raspberries"), description = S("Raspberries"),
inventory_image = "farming_raspberries.png", inventory_image = "farming_raspberries.png",
groups = {food_raspberries = 1, food_raspberry = 1, food_berry = 1, flammable = 2}, groups = {seed = 2, food_raspberries = 1, food_raspberry = 1,
food_berry = 1, flammable = 2},
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "farming:raspberry_1") return farming.place_seed(itemstack, placer, pointed_thing, "farming:raspberry_1")
end, end,
on_use = minetest.item_eat(1), on_use = minetest.item_eat(1)
}) })
-- raspberry smoothie -- raspberry smoothie
@ -17,6 +18,7 @@ minetest.register_craftitem("farming:smoothie_raspberry", {
description = S("Raspberry Smoothie"), description = S("Raspberry Smoothie"),
inventory_image = "farming_raspberry_smoothie.png", inventory_image = "farming_raspberry_smoothie.png",
on_use = minetest.item_eat(2, "vessels:drinking_glass"), on_use = minetest.item_eat(2, "vessels:drinking_glass"),
groups = {vessel = 1, drink = 1}
}) })
minetest.register_craft({ minetest.register_craft({
@ -24,12 +26,12 @@ minetest.register_craft({
recipe = { recipe = {
{"default:snow"}, {"default:snow"},
{"group:food_raspberries"}, {"group:food_raspberries"},
{"vessels:drinking_glass"}, {"vessels:drinking_glass"}
} }
}) })
-- raspberries definition -- raspberries definition
local crop_def = { local def = {
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_raspberry_1.png"}, tiles = {"farming_raspberry_1.png"},
paramtype = "light", paramtype = "light",
@ -46,27 +48,27 @@ local crop_def = {
} }
-- stage 1 -- stage 1
minetest.register_node("farming:raspberry_1", table.copy(crop_def)) minetest.register_node("farming:raspberry_1", table.copy(def))
-- stage 2 -- stage 2
crop_def.tiles = {"farming_raspberry_2.png"} def.tiles = {"farming_raspberry_2.png"}
minetest.register_node("farming:raspberry_2", table.copy(crop_def)) minetest.register_node("farming:raspberry_2", table.copy(def))
-- stage 3 -- stage 3
crop_def.tiles = {"farming_raspberry_3.png"} def.tiles = {"farming_raspberry_3.png"}
minetest.register_node("farming:raspberry_3", table.copy(crop_def)) minetest.register_node("farming:raspberry_3", table.copy(def))
-- stage 4 (final) -- stage 4 (final)
crop_def.tiles = {"farming_raspberry_4.png"} def.tiles = {"farming_raspberry_4.png"}
crop_def.groups.growing = 0 def.groups.growing = nil
crop_def.drop = { def.drop = {
items = { items = {
{items = {'farming:raspberries 2'}, rarity = 1}, {items = {"farming:raspberries 2"}, rarity = 1},
{items = {'farming:raspberries'}, rarity = 2}, {items = {"farming:raspberries"}, rarity = 2},
{items = {'farming:raspberries'}, rarity = 3}, {items = {"farming:raspberries"}, rarity = 3}
} }
} }
minetest.register_node("farming:raspberry_4", table.copy(crop_def)) minetest.register_node("farming:raspberry_4", table.copy(def))
-- add to registered_plants -- add to registered_plants
farming.registered_plants["farming:raspberries"] = { farming.registered_plants["farming:raspberries"] = {

View File

@ -5,18 +5,18 @@ local S = farming.intllib
minetest.register_craftitem("farming:rhubarb", { minetest.register_craftitem("farming:rhubarb", {
description = S("Rhubarb"), description = S("Rhubarb"),
inventory_image = "farming_rhubarb.png", inventory_image = "farming_rhubarb.png",
groups = {food_rhubarb = 1, flammable = 2}, groups = {seed = 2, food_rhubarb = 1, flammable = 2},
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "farming:rhubarb_1") return farming.place_seed(itemstack, placer, pointed_thing, "farming:rhubarb_1")
end, end,
on_use = minetest.item_eat(1), on_use = minetest.item_eat(1)
}) })
-- rhubarb pie -- rhubarb pie
minetest.register_craftitem("farming:rhubarb_pie", { minetest.register_craftitem("farming:rhubarb_pie", {
description = S("Rhubarb Pie"), description = S("Rhubarb Pie"),
inventory_image = "farming_rhubarb_pie.png", inventory_image = "farming_rhubarb_pie.png",
on_use = minetest.item_eat(6), on_use = minetest.item_eat(6)
}) })
minetest.register_craft({ minetest.register_craft({
@ -24,13 +24,13 @@ minetest.register_craft({
recipe = { recipe = {
{"farming:baking_tray", "group:food_sugar", ""}, {"farming:baking_tray", "group:food_sugar", ""},
{"group:food_rhubarb", "group:food_rhubarb", "group:food_rhubarb"}, {"group:food_rhubarb", "group:food_rhubarb", "group:food_rhubarb"},
{"group:food_wheat", "group:food_wheat", "group:food_wheat"}, {"group:food_wheat", "group:food_wheat", "group:food_wheat"}
}, },
replacements = {{"group:food_baking_tray", "farming:baking_tray"}} replacements = {{"group:food_baking_tray", "farming:baking_tray"}}
}) })
-- rhubarb definition -- rhubarb definition
local crop_def = { local def = {
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_rhubarb_1.png"}, tiles = {"farming_rhubarb_1.png"},
paramtype = "light", paramtype = "light",
@ -43,27 +43,29 @@ local crop_def = {
snappy = 3, flammable = 2, plant = 1, attached_node = 1, snappy = 3, flammable = 2, plant = 1, attached_node = 1,
not_in_creative_inventory = 1, growing = 1 not_in_creative_inventory = 1, growing = 1
}, },
sounds = default.node_sound_leaves_defaults() sounds = default.node_sound_leaves_defaults(),
minlight = 10,
maxlight = 12,
} }
-- stage 1 -- stage 1
minetest.register_node("farming:rhubarb_1", table.copy(crop_def)) minetest.register_node("farming:rhubarb_1", table.copy(def))
-- stage2 -- stage2
crop_def.tiles = {"farming_rhubarb_2.png"} def.tiles = {"farming_rhubarb_2.png"}
minetest.register_node("farming:rhubarb_2", table.copy(crop_def)) minetest.register_node("farming:rhubarb_2", table.copy(def))
-- stage 3 (final) -- stage 3 (final)
crop_def.tiles = {"farming_rhubarb_3.png"} def.tiles = {"farming_rhubarb_3.png"}
crop_def.groups.growing = 0 def.groups.growing = nil
crop_def.drop = { def.drop = {
items = { items = {
{items = {'farming:rhubarb 2'}, rarity = 1}, {items = {"farming:rhubarb 2"}, rarity = 1},
{items = {'farming:rhubarb'}, rarity = 2}, {items = {"farming:rhubarb"}, rarity = 2},
{items = {'farming:rhubarb'}, rarity = 3}, {items = {"farming:rhubarb"}, rarity = 3}
} }
} }
minetest.register_node("farming:rhubarb_3", table.copy(crop_def)) minetest.register_node("farming:rhubarb_3", table.copy(def))
-- add to registered_plants -- add to registered_plants
farming.registered_plants["farming:rhubarb"] = { farming.registered_plants["farming:rhubarb"] = {

165
crops/ryeoatrice.lua Normal file
View File

@ -0,0 +1,165 @@
local S = farming.intllib
--= A nice addition from Ademant's grain mod :)
-- Rye
farming.register_plant("farming:rye", {
description = S("Rye seed"),
paramtype2 = "meshoptions",
inventory_image = "farming_rye_seed.png",
steps = 8,
place_param2 = 3
})
minetest.override_item("farming:rye", {
description = S("Rye"),
groups = {food_rye = 1, flammable = 4}
})
minetest.register_craft({
type = "shapeless",
output = "farming:flour",
recipe = {
"farming:rye", "farming:rye", "farming:rye", "farming:rye",
"farming:mortar_pestle"
},
replacements = {{"group:food_mortar_pestle", "farming:mortar_pestle"}}
})
-- Oats
farming.register_plant("farming:oat", {
description = S("Oat seed"),
paramtype2 = "meshoptions",
inventory_image = "farming_oat_seed.png",
steps = 8,
place_param2 = 3
})
minetest.override_item("farming:oat", {
description = S("Oats"),
groups = {food_oats = 1, flammable = 4}
})
minetest.register_craft({
type = "shapeless",
output = "farming:flour",
recipe = {
"farming:oat", "farming:oat", "farming:oat", "farming:oat",
"farming:mortar_pestle"
},
replacements = {{"group:food_mortar_pestle", "farming:mortar_pestle"}}
})
-- Rice
farming.register_plant("farming:rice", {
description = S("Rice grains"),
paramtype2 = "meshoptions",
inventory_image = "farming_rice_seed.png",
steps = 8,
place_param2 = 3
})
minetest.override_item("farming:rice", {
description = S("Rice"),
groups = {food_rice = 1, flammable = 4}
})
minetest.register_craftitem("farming:rice_bread", {
description = S("Rice Bread"),
inventory_image = "farming_rice_bread.png",
on_use = minetest.item_eat(5),
groups = {food_rice_bread = 1, flammable = 2}
})
minetest.register_craftitem("farming:rice_flour", {
description = S("Rice Flour"),
inventory_image = "farming_rice_flour.png",
groups = {food_rice_flour = 1, flammable = 1}
})
minetest.register_craft({
type = "shapeless",
output = "farming:rice_flour",
recipe = {
"farming:rice", "farming:rice", "farming:rice", "farming:rice",
"farming:mortar_pestle"
},
replacements = {{"group:food_mortar_pestle", "farming:mortar_pestle"}}
})
minetest.register_craft({
type = "cooking",
cooktime = 15,
output = "farming:rice_bread",
recipe = "farming:rice_flour"
})
-- Multigrain flour
minetest.register_craftitem("farming:flour_multigrain", {
description = S("Multigrain Flour"),
inventory_image = "farming_flour_multigrain.png",
groups = {food_flour = 1, flammable = 1},
})
minetest.register_craft({
type = "shapeless",
output = "farming:flour_multigrain",
recipe = {
"farming:wheat", "farming:barley", "farming:oat",
"farming:rye", "farming:mortar_pestle"
},
replacements = {{"group:food_mortar_pestle", "farming:mortar_pestle"}}
})
-- Multigrain bread
minetest.register_craftitem("farming:bread_multigrain", {
description = S("Multigrain Bread"),
inventory_image = "farming_bread_multigrain.png",
on_use = minetest.item_eat(7),
groups = {food_bread = 1, flammable = 2}
})
minetest.register_craft({
type = "cooking",
cooktime = 15,
output = "farming:bread_multigrain",
recipe = "farming:flour_multigrain"
})
-- Fuels
minetest.register_craft({
type = "fuel",
recipe = "farming:rice_bread",
burntime = 1
})
minetest.register_craft({
type = "fuel",
recipe = "farming:bread_multigrain",
burntime = 1
})
minetest.register_craft({
type = "fuel",
recipe = "farming:rye",
burntime = 1
})
minetest.register_craft({
type = "fuel",
recipe = "farming:oat",
burntime = 1
})
minetest.register_craft({
type = "fuel",
recipe = "farming:rice",
burntime = 1
})

View File

@ -10,15 +10,15 @@ local S = farming.intllib
minetest.register_craftitem("farming:tomato", { minetest.register_craftitem("farming:tomato", {
description = S("Tomato"), description = S("Tomato"),
inventory_image = "farming_tomato.png", inventory_image = "farming_tomato.png",
groups = {food_tomato = 1, flammable = 2}, groups = {seed = 2, food_tomato = 1, flammable = 2},
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "farming:tomato_1") return farming.place_seed(itemstack, placer, pointed_thing, "farming:tomato_1")
end, end,
on_use = minetest.item_eat(4), on_use = minetest.item_eat(4)
}) })
-- tomato definition -- tomato definition
local crop_def = { local def = {
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_tomato_1.png"}, tiles = {"farming_tomato_1.png"},
paramtype = "light", paramtype = "light",
@ -35,48 +35,49 @@ local crop_def = {
} }
-- stage 1 -- stage 1
minetest.register_node("farming:tomato_1", table.copy(crop_def)) minetest.register_node("farming:tomato_1", table.copy(def))
-- stage2 -- stage2
crop_def.tiles = {"farming_tomato_2.png"} def.tiles = {"farming_tomato_2.png"}
minetest.register_node("farming:tomato_2", table.copy(crop_def)) minetest.register_node("farming:tomato_2", table.copy(def))
-- stage 3 -- stage 3
crop_def.tiles = {"farming_tomato_3.png"} def.tiles = {"farming_tomato_3.png"}
minetest.register_node("farming:tomato_3", table.copy(crop_def)) minetest.register_node("farming:tomato_3", table.copy(def))
-- stage 4 -- stage 4
crop_def.tiles = {"farming_tomato_4.png"} def.tiles = {"farming_tomato_4.png"}
minetest.register_node("farming:tomato_4", table.copy(crop_def)) minetest.register_node("farming:tomato_4", table.copy(def))
-- stage 5 -- stage 5
crop_def.tiles = {"farming_tomato_5.png"} def.tiles = {"farming_tomato_5.png"}
minetest.register_node("farming:tomato_5", table.copy(crop_def)) minetest.register_node("farming:tomato_5", table.copy(def))
-- stage 6 -- stage 6
crop_def.tiles = {"farming_tomato_6.png"} def.tiles = {"farming_tomato_6.png"}
minetest.register_node("farming:tomato_6", table.copy(crop_def)) minetest.register_node("farming:tomato_6", table.copy(def))
-- stage 7 -- stage 7
crop_def.tiles = {"farming_tomato_7.png"} def.tiles = {"farming_tomato_7.png"}
crop_def.drop = { def.drop = {
items = { items = {
{items = {'farming:tomato'}, rarity = 1}, {items = {"farming:tomato"}, rarity = 1},
{items = {'farming:tomato'}, rarity = 3}, {items = {"farming:tomato"}, rarity = 3}
} }
} }
minetest.register_node("farming:tomato_7", table.copy(crop_def)) minetest.register_node("farming:tomato_7", table.copy(def))
-- stage 8 (final) -- stage 8 (final)
crop_def.tiles = {"farming_tomato_8.png"} def.tiles = {"farming_tomato_8.png"}
crop_def.groups.growing = 0 def.groups.growing = nil
crop_def.drop = { def.drop = {
items = { items = {
{items = {'farming:tomato 3'}, rarity = 1}, {items = {"farming:tomato 3"}, rarity = 1},
{items = {'farming:tomato 3'}, rarity = 2}, {items = {"farming:tomato 2"}, rarity = 2},
{items = {"farming:tomato 1"}, rarity = 3}
} }
} }
minetest.register_node("farming:tomato_8", table.copy(crop_def)) minetest.register_node("farming:tomato_8", table.copy(def))
-- add to registered_plants -- add to registered_plants
farming.registered_plants["farming:tomato"] = { farming.registered_plants["farming:tomato"] = {

View File

@ -16,14 +16,14 @@ minetest.register_node("farming:seed_wheat", {
selection_box = farming.select, selection_box = farming.select,
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "farming:wheat_1") return farming.place_seed(itemstack, placer, pointed_thing, "farming:wheat_1")
end, end
}) })
-- harvested wheat -- harvested wheat
minetest.register_craftitem("farming:wheat", { minetest.register_craftitem("farming:wheat", {
description = S("Wheat"), description = S("Wheat"),
inventory_image = "farming_wheat.png", inventory_image = "farming_wheat.png",
groups = {food_wheat = 1, flammable = 4}, groups = {food_wheat = 1, flammable = 4}
}) })
-- straw -- straw
@ -32,7 +32,7 @@ minetest.register_node("farming:straw", {
tiles = {"farming_straw.png"}, tiles = {"farming_straw.png"},
is_ground_content = false, is_ground_content = false,
groups = {snappy = 3, flammable = 4, fall_damage_add_percent = -30}, groups = {snappy = 3, flammable = 4, fall_damage_add_percent = -30},
sounds = default.node_sound_leaves_defaults(), sounds = default.node_sound_leaves_defaults()
}) })
minetest.register_craft({ minetest.register_craft({
@ -40,14 +40,14 @@ minetest.register_craft({
recipe = { recipe = {
{"farming:wheat", "farming:wheat", "farming:wheat"}, {"farming:wheat", "farming:wheat", "farming:wheat"},
{"farming:wheat", "farming:wheat", "farming:wheat"}, {"farming:wheat", "farming:wheat", "farming:wheat"},
{"farming:wheat", "farming:wheat", "farming:wheat"}, {"farming:wheat", "farming:wheat", "farming:wheat"}
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = "farming:wheat 3", output = "farming:wheat 3",
recipe = { recipe = {
{"farming:straw"}, {"farming:straw"}
} }
}) })
@ -76,7 +76,7 @@ end
minetest.register_craftitem("farming:flour", { minetest.register_craftitem("farming:flour", {
description = S("Flour"), description = S("Flour"),
inventory_image = "farming_flour.png", inventory_image = "farming_flour.png",
groups = {food_flour = 1, flammable = 1}, groups = {food_flour = 1, flammable = 1}
}) })
minetest.register_craft({ minetest.register_craft({
@ -86,7 +86,7 @@ minetest.register_craft({
"farming:wheat", "farming:wheat", "farming:wheat", "farming:wheat", "farming:wheat", "farming:wheat",
"farming:wheat", "farming:mortar_pestle" "farming:wheat", "farming:mortar_pestle"
}, },
replacements = {{"group:food_mortar_pestle", "farming:mortar_pestle"}}, replacements = {{"group:food_mortar_pestle", "farming:mortar_pestle"}}
}) })
-- bread -- bread
@ -94,7 +94,7 @@ minetest.register_craftitem("farming:bread", {
description = S("Bread"), description = S("Bread"),
inventory_image = "farming_bread.png", inventory_image = "farming_bread.png",
on_use = minetest.item_eat(5), on_use = minetest.item_eat(5),
groups = {food_bread = 1, flammable = 2}, groups = {food_bread = 1, flammable = 2}
}) })
minetest.register_craft({ minetest.register_craft({
@ -109,14 +109,14 @@ minetest.register_craftitem("farming:bread_slice", {
description = S("Sliced Bread"), description = S("Sliced Bread"),
inventory_image = "farming_bread_slice.png", inventory_image = "farming_bread_slice.png",
on_use = minetest.item_eat(1), on_use = minetest.item_eat(1),
groups = {food_bread_slice = 1, flammable = 2}, groups = {food_bread_slice = 1, flammable = 2}
}) })
minetest.register_craft({ minetest.register_craft({
type = "shapeless", type = "shapeless",
output = "farming:bread_slice 5", output = "farming:bread_slice 5",
recipe = {"farming:bread", "group:food_cutting_board"}, recipe = {"farming:bread", "group:food_cutting_board"},
replacements = {{"group:food_cutting_board", "farming:cutting_board"}}, replacements = {{"group:food_cutting_board", "farming:cutting_board"}}
}) })
-- toast -- toast
@ -124,7 +124,7 @@ minetest.register_craftitem("farming:toast", {
description = S("Toast"), description = S("Toast"),
inventory_image = "farming_toast.png", inventory_image = "farming_toast.png",
on_use = minetest.item_eat(1), on_use = minetest.item_eat(1),
groups = {food_toast = 1, flammable = 2}, groups = {food_toast = 1, flammable = 2}
}) })
minetest.register_craft({ minetest.register_craft({
@ -139,7 +139,7 @@ minetest.register_craftitem("farming:toast_sandwich", {
description = S("Toast Sandwich"), description = S("Toast Sandwich"),
inventory_image = "farming_toast_sandwich.png", inventory_image = "farming_toast_sandwich.png",
on_use = minetest.item_eat(4), on_use = minetest.item_eat(4),
groups = {flammable = 2}, groups = {flammable = 2}
}) })
minetest.register_craft({ minetest.register_craft({
@ -147,12 +147,12 @@ minetest.register_craft({
recipe = { recipe = {
{"farming:bread_slice"}, {"farming:bread_slice"},
{"farming:toast"}, {"farming:toast"},
{"farming:bread_slice"}, {"farming:bread_slice"}
} }
}) })
-- wheat definition -- wheat definition
local crop_def = { local def = {
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_wheat_1.png"}, tiles = {"farming_wheat_1.png"},
paramtype = "light", paramtype = "light",
@ -171,64 +171,64 @@ local crop_def = {
} }
-- stage 1 -- stage 1
minetest.register_node("farming:wheat_1", table.copy(crop_def)) minetest.register_node("farming:wheat_1", table.copy(def))
-- stage 2 -- stage 2
crop_def.tiles = {"farming_wheat_2.png"} def.tiles = {"farming_wheat_2.png"}
minetest.register_node("farming:wheat_2", table.copy(crop_def)) minetest.register_node("farming:wheat_2", table.copy(def))
-- stage 3 -- stage 3
crop_def.tiles = {"farming_wheat_3.png"} def.tiles = {"farming_wheat_3.png"}
minetest.register_node("farming:wheat_3", table.copy(crop_def)) minetest.register_node("farming:wheat_3", table.copy(def))
-- stage 4 -- stage 4
crop_def.tiles = {"farming_wheat_4.png"} def.tiles = {"farming_wheat_4.png"}
minetest.register_node("farming:wheat_4", table.copy(crop_def)) minetest.register_node("farming:wheat_4", table.copy(def))
-- stage 5 -- stage 5
crop_def.tiles = {"farming_wheat_5.png"} def.tiles = {"farming_wheat_5.png"}
crop_def.drop = { def.drop = {
items = { items = {
{items = {'farming:wheat'}, rarity = 2}, {items = {"farming:wheat"}, rarity = 2},
{items = {'farming:seed_wheat'}, rarity = 2}, {items = {"farming:seed_wheat"}, rarity = 2}
} }
} }
minetest.register_node("farming:wheat_5", table.copy(crop_def)) minetest.register_node("farming:wheat_5", table.copy(def))
-- stage 6 -- stage 6
crop_def.tiles = {"farming_wheat_6.png"} def.tiles = {"farming_wheat_6.png"}
crop_def.drop = { def.drop = {
items = { items = {
{items = {'farming:wheat'}, rarity = 2}, {items = {"farming:wheat"}, rarity = 2},
{items = {'farming:seed_wheat'}, rarity = 1}, {items = {"farming:seed_wheat"}, rarity = 1}
} }
} }
minetest.register_node("farming:wheat_6", table.copy(crop_def)) minetest.register_node("farming:wheat_6", table.copy(def))
-- stage 7 -- stage 7
crop_def.tiles = {"farming_wheat_7.png"} def.tiles = {"farming_wheat_7.png"}
crop_def.drop = { def.drop = {
items = { items = {
{items = {'farming:wheat'}, rarity = 1}, {items = {"farming:wheat"}, rarity = 1},
{items = {'farming:wheat'}, rarity = 3}, {items = {"farming:wheat"}, rarity = 3},
{items = {'farming:seed_wheat'}, rarity = 1}, {items = {"farming:seed_wheat"}, rarity = 1},
{items = {'farming:seed_wheat'}, rarity = 3}, {items = {"farming:seed_wheat"}, rarity = 3}
} }
} }
minetest.register_node("farming:wheat_7", table.copy(crop_def)) minetest.register_node("farming:wheat_7", table.copy(def))
-- stage 8 (final) -- stage 8 (final)
crop_def.tiles = {"farming_wheat_8.png"} def.tiles = {"farming_wheat_8.png"}
crop_def.groups.growing = 0 def.groups.growing = nil
crop_def.drop = { def.drop = {
items = { items = {
{items = {'farming:wheat'}, rarity = 1}, {items = {"farming:wheat"}, rarity = 1},
{items = {'farming:wheat'}, rarity = 3}, {items = {"farming:wheat"}, rarity = 3},
{items = {'farming:seed_wheat'}, rarity = 1}, {items = {"farming:seed_wheat"}, rarity = 1},
{items = {'farming:seed_wheat'}, rarity = 3}, {items = {"farming:seed_wheat"}, rarity = 3}
} }
} }
minetest.register_node("farming:wheat_8", table.copy(crop_def)) minetest.register_node("farming:wheat_8", table.copy(def))
-- add to registered_plants -- add to registered_plants
farming.registered_plants["farming:wheat"] = { farming.registered_plants["farming:wheat"] = {
@ -243,11 +243,11 @@ farming.registered_plants["farming:wheat"] = {
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "farming:straw", recipe = "farming:straw",
burntime = 3, burntime = 3
}) })
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "farming:wheat", recipe = "farming:wheat",
burntime = 1, burntime = 1
}) })

View File

@ -5,30 +5,33 @@
world folder for map specific settings. world folder for map specific settings.
--]] --]]
-- true to enable crop/food in-game and on mapgen -- true to enable crop/food in-game and on mapgen set spawn rarety
farming.carrot = true farming.carrot = 0.001
farming.potato = true farming.potato = 0.001
farming.tomato = true farming.tomato = 0.001
farming.cucumber = true farming.cucumber = 0.001
farming.corn = true farming.corn = 0.001
farming.coffee = true farming.coffee = 0.001
farming.melon = true farming.melon = 0.001
farming.pumpkin = true farming.pumpkin = 0.001
farming.cocoa = true farming.cocoa = true -- true or false only
farming.raspberry = true farming.raspberry = 0.001
farming.blueberry = true farming.blueberry = 0.001
farming.rhubarb = true farming.rhubarb = 0.001
farming.beans = true farming.beans = 0.001
farming.grapes = true farming.grapes = 0.001
farming.barley = true farming.barley = true -- true or false only
farming.chili = true farming.chili = 0.003
farming.hemp = true farming.hemp = 0.003
farming.onion = true farming.garlic = 0.001
farming.garlic = true farming.onion = 0.001
farming.pepper = true farming.pepper = 0.002
farming.pineapple = true farming.pineapple = 0.001
farming.peas = true farming.peas = 0.001
farming.beetroot = true farming.beetroot = 0.001
farming.mint = 0.005
farming.cabbage = 0.001
farming.grains = true -- true or false only
-- rarety of crops on map, default is 0.001 (higher number = more crops) -- default rarety of crops on map (higher number = more crops)
farming.rarety = 0.002 farming.rarety = 0.002

210
food.lua
View File

@ -6,21 +6,21 @@ local S = farming.intllib
minetest.register_craftitem("farming:sugar", { minetest.register_craftitem("farming:sugar", {
description = S("Sugar"), description = S("Sugar"),
inventory_image = "farming_sugar.png", inventory_image = "farming_sugar.png",
groups = {food_sugar = 1, flammable = 3}, groups = {food_sugar = 1, flammable = 3}
}) })
minetest.register_craft({ minetest.register_craft({
type = "cooking", type = "cooking",
cooktime = 3, cooktime = 3,
output = "farming:sugar 2", output = "farming:sugar 2",
recipe = "default:papyrus", recipe = "default:papyrus"
}) })
--= Salt --= Salt
minetest.register_node("farming:salt", { minetest.register_node("farming:salt", {
description = ("Salt"), description = S("Salt"),
inventory_image = "farming_salt.png", inventory_image = "farming_salt.png",
wield_image = "farming_salt.png", wield_image = "farming_salt.png",
drawtype = "plantlike", drawtype = "plantlike",
@ -33,7 +33,7 @@ minetest.register_node("farming:salt", {
selection_box = { selection_box = {
type = "fixed", type = "fixed",
fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25} fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25}
}, }
}) })
minetest.register_craft({ minetest.register_craft({
@ -47,7 +47,7 @@ minetest.register_craft({
--= Rose Water --= Rose Water
minetest.register_node("farming:rose_water", { minetest.register_node("farming:rose_water", {
description = ("Rose Water"), description = S("Rose Water"),
inventory_image = "farming_rose_water.png", inventory_image = "farming_rose_water.png",
wield_image = "farming_rose_water.png", wield_image = "farming_rose_water.png",
drawtype = "plantlike", drawtype = "plantlike",
@ -60,7 +60,7 @@ minetest.register_node("farming:rose_water", {
selection_box = { selection_box = {
type = "fixed", type = "fixed",
fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25} fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25}
}, }
}) })
minetest.register_craft({ minetest.register_craft({
@ -68,11 +68,11 @@ minetest.register_craft({
recipe = { recipe = {
{"flowers:rose", "flowers:rose", "flowers:rose"}, {"flowers:rose", "flowers:rose", "flowers:rose"},
{"flowers:rose", "flowers:rose", "flowers:rose"}, {"flowers:rose", "flowers:rose", "flowers:rose"},
{"bucket:bucket_water", "group:food_pot", "vessels:glass_bottle"}, {"bucket:bucket_water", "group:food_pot", "vessels:glass_bottle"}
}, },
replacements = { replacements = {
{"bucket:bucket_water", "bucket:bucket_empty"}, {"bucket:bucket_water", "bucket:bucket_empty"},
{"group:food_pot", "farming:pot"}, {"group:food_pot", "farming:pot"}
} }
}) })
@ -82,7 +82,7 @@ minetest.register_craftitem("farming:turkish_delight", {
description = S("Turkish Delight"), description = S("Turkish Delight"),
inventory_image = "farming_turkish_delight.png", inventory_image = "farming_turkish_delight.png",
groups = {flammable = 3}, groups = {flammable = 3},
on_use = minetest.item_eat(2), on_use = minetest.item_eat(2)
}) })
minetest.register_craft({ minetest.register_craft({
@ -90,12 +90,12 @@ minetest.register_craft({
recipe = { recipe = {
{"group:food_gelatin", "group:food_sugar", "group:food_gelatin"}, {"group:food_gelatin", "group:food_sugar", "group:food_gelatin"},
{"group:food_sugar", "group:food_rose_water", "group:food_sugar"}, {"group:food_sugar", "group:food_rose_water", "group:food_sugar"},
{"group:food_cornstarch", "group:food_sugar", "dye:pink"}, {"group:food_cornstarch", "group:food_sugar", "dye:pink"}
}, },
replacements = { replacements = {
{"group:food_cornstarch", "farming:bowl"}, {"group:food_cornstarch", "farming:bowl"},
{"group:food_rose_water", "vessels:glass_bottle"}, {"group:food_rose_water", "vessels:glass_bottle"}
}, }
}) })
--= Garlic Bread --= Garlic Bread
@ -104,13 +104,13 @@ minetest.register_craftitem("farming:garlic_bread", {
description = S("Garlic Bread"), description = S("Garlic Bread"),
inventory_image = "farming_garlic_bread.png", inventory_image = "farming_garlic_bread.png",
groups = {flammable = 3}, groups = {flammable = 3},
on_use = minetest.item_eat(2), on_use = minetest.item_eat(2)
}) })
minetest.register_craft({ minetest.register_craft({
type = "shapeless", type = "shapeless",
output = "farming:garlic_bread", output = "farming:garlic_bread",
recipe = {"group:food_toast", "group:food_garlic_clove", "group:food_garlic_clove"}, recipe = {"group:food_toast", "group:food_garlic_clove", "group:food_garlic_clove"}
}) })
--= Donuts (thanks to Bockwurst for making the donut images) --= Donuts (thanks to Bockwurst for making the donut images)
@ -118,7 +118,7 @@ minetest.register_craft({
minetest.register_craftitem("farming:donut", { minetest.register_craftitem("farming:donut", {
description = S("Donut"), description = S("Donut"),
inventory_image = "farming_donut.png", inventory_image = "farming_donut.png",
on_use = minetest.item_eat(4), on_use = minetest.item_eat(4)
}) })
minetest.register_craft({ minetest.register_craft({
@ -126,35 +126,35 @@ minetest.register_craft({
recipe = { recipe = {
{"", "group:food_wheat", ""}, {"", "group:food_wheat", ""},
{"group:food_wheat", "group:food_sugar", "group:food_wheat"}, {"group:food_wheat", "group:food_sugar", "group:food_wheat"},
{"", "group:food_wheat", ""}, {"", "group:food_wheat", ""}
} }
}) })
minetest.register_craftitem("farming:donut_chocolate", { minetest.register_craftitem("farming:donut_chocolate", {
description = S("Chocolate Donut"), description = S("Chocolate Donut"),
inventory_image = "farming_donut_chocolate.png", inventory_image = "farming_donut_chocolate.png",
on_use = minetest.item_eat(6), on_use = minetest.item_eat(6)
}) })
minetest.register_craft({ minetest.register_craft({
output = "farming:donut_chocolate", output = "farming:donut_chocolate",
recipe = { recipe = {
{'group:food_cocoa'}, {"group:food_cocoa"},
{'farming:donut'}, {"farming:donut"}
} }
}) })
minetest.register_craftitem("farming:donut_apple", { minetest.register_craftitem("farming:donut_apple", {
description = S("Apple Donut"), description = S("Apple Donut"),
inventory_image = "farming_donut_apple.png", inventory_image = "farming_donut_apple.png",
on_use = minetest.item_eat(6), on_use = minetest.item_eat(6)
}) })
minetest.register_craft({ minetest.register_craft({
output = "farming:donut_apple", output = "farming:donut_apple",
recipe = { recipe = {
{'default:apple'}, {"default:apple"},
{'farming:donut'}, {"farming:donut"}
} }
}) })
@ -163,7 +163,7 @@ minetest.register_craft({
minetest.register_craftitem("farming:porridge", { minetest.register_craftitem("farming:porridge", {
description = S("Porridge"), description = S("Porridge"),
inventory_image = "farming_porridge.png", inventory_image = "farming_porridge.png",
on_use = minetest.item_eat(6, "farming:bowl"), on_use = minetest.item_eat(6, "farming:bowl")
}) })
minetest.after(0, function() minetest.after(0, function()
@ -185,4 +185,168 @@ minetest.after(0, function()
}, },
replacements = {{fluid_return, "bucket:bucket_empty"}} replacements = {{fluid_return, "bucket:bucket_empty"}}
}) })
minetest.register_craft({
type = "shapeless",
output = "farming:porridge",
recipe = {
"group:food_oats", "group:food_oats", "group:food_oats",
"group:food_oats", "group:food_bowl", fluid
},
replacements = {{fluid_return, "bucket:bucket_empty"}}
})
end) end)
--= Jaffa Cake
minetest.register_craftitem("farming:jaffa_cake", {
description = S("Jaffa Cake"),
inventory_image = "farming_jaffa_cake.png",
on_use = minetest.item_eat(6)
})
minetest.register_craft({
type = "shapeless",
output = "farming:jaffa_cake",
recipe = {
"farming:baking_tray", "group:food_egg", "group:food_sugar",
"group:food_flour", "group:food_cocoa", "group:food_orange",
"group:food_milk"
},
replacements = {
{"farming:baking_tray", "farming:baking_tray"},
{"mobs:bucket_milk", "bucket:bucket_empty"}
}
})
-- Apple Pie
minetest.register_craftitem("farming:apple_pie", {
description = S("Apple Pie"),
inventory_image = "farming_apple_pie.png",
on_use = minetest.item_eat(6)
})
minetest.register_craft({
output = "farming:apple_pie",
type = "shapeless",
recipe = {
"group:food_flour", "group:food_sugar",
"group:food_apple", "group:food_baking_tray"
},
replacements = {{"group:food_baking_tray", "farming:baking_tray"}}
})
-- Cactus Juice
minetest.register_craftitem("farming:cactus_juice", {
description = S("Cactus Juice"),
inventory_image = "farming_cactus_juice.png",
groups = {vessel = 1, drink = 1},
on_use = function(itemstack, user, pointed_thing)
if user then
if math.random(5) == 1 then
return minetest.do_item_eat(-1, "vessels:drinking_glass",
itemstack, user, pointed_thing)
else
return minetest.do_item_eat(2, "vessels:drinking_glass",
itemstack, user, pointed_thing)
end
end
end
})
minetest.register_craft({
output = "farming:cactus_juice 2",
type = "shapeless",
recipe = {
"vessels:drinking_glass", "vessels:drinking_glass",
"default:cactus", "farming:juicer"
},
replacements = {
{"group:food_juicer", "farming:juicer"}
}
})
-- Pasta
minetest.register_craftitem("farming:pasta", {
description = S("Pasta"),
inventory_image = "farming_pasta.png",
groups = {food_pasta = 1}
})
if minetest.get_modpath("mobs_animal") or minetest.get_modpath("xanadu")then
minetest.register_craft({
output = "farming:pasta",
type = "shapeless",
recipe = {
"group:food_flour", "group:food_mixing_bowl",
"group:food_butter"
},
replacements = {{"group:food_mixing_bowl", "farming:mixing_bowl"}}
})
else
minetest.register_craft({
output = "farming:pasta",
type = "shapeless",
recipe = {
"group:food_flour", "group:food_mixing_bowl",
"group:food_oil"
},
replacements = {
{"group:food_mixing_bowl", "farming:mixing_bowl"},
{"group:food_oil", "vessels:glass_bottle"}
}
})
end
-- Spaghetti
minetest.register_craftitem("farming:spaghetti", {
description = S("Spaghetti"),
inventory_image = "farming_spaghetti.png",
on_use = minetest.item_eat(8)
})
minetest.register_craft({
output = "farming:spaghetti",
type = "shapeless",
recipe = {
"group:food_pasta", "group:food_saucepan",
"group:food_tomato", "group:food_garlic_clove", "group:food_garlic_clove"
},
replacements = {{"group:food_saucepan", "farming:saucepan"}}
})
-- Korean Bibimbap
minetest.register_craftitem("farming:bibimbap", {
description = S("Bibimbap"),
inventory_image = "farming_bibimbap.png",
on_use = minetest.item_eat(8, "farming:bowl")
})
if minetest.get_modpath("mobs_animal") or minetest.get_modpath("xanadu")then
minetest.register_craft({
output = "farming:bibimbap",
type = "shapeless",
recipe = {
"group:food_skillet", "group:food_bowl", "group:food_egg", "group:food_rice",
"group:food_chicken_raw", "group:food_cabbage", "group:food_carrot",
"group:food_chili_pepper"
},
replacements = {{"group:food_skillet", "farming:skillet"}}
})
else
minetest.register_craft({
output = "farming:bibimbap",
type = "shapeless",
recipe = {
"group:food_skillet", "group:food_bowl", "group:food_mushroom",
"group:food_rice", "group:food_cabbage", "group:food_carrot",
"group:food_mushroom", "group:food_chili_pepper"
},
replacements = {{"group:food_skillet", "farming:skillet"}}
})
end

View File

@ -1,19 +1,20 @@
for i = 4, 5 do for i = 4, 5 do
-- Override default grass and have it drop Wheat Seeds -- Override default grass and have it drop Wheat and Oat Seeds
minetest.override_item("default:grass_" .. i, { minetest.override_item("default:grass_" .. i, {
drop = { drop = {
max_items = 1, max_items = 1,
items = { items = {
{items = {'farming:seed_wheat'}, rarity = 5}, {items = {"farming:seed_wheat"}, rarity = 5},
{items = {'default:grass_1'}}, {items = {"farming:seed_oat"},rarity = 5},
{items = {"default:grass_1"}}
} }
}, }
}) })
-- Override default dry grass and have it drop Barley Seeds -- Override default dry grass and have it drop Barley and Rye Seeds
if minetest.registered_nodes["default:dry_grass_1"] then if minetest.registered_nodes["default:dry_grass_1"] then
@ -21,23 +22,25 @@ for i = 4, 5 do
drop = { drop = {
max_items = 1, max_items = 1,
items = { items = {
{items = {'farming:seed_barley'}, rarity = 6}, {items = {"farming:seed_barley"}, rarity = 5},
{items = {'default:dry_grass_1'}}, {items = {"farming:seed_rye"},rarity = 5},
{items = {"default:dry_grass_1"}}
} }
}, }
}) })
end end
end end
-- Override default Jungle Grass and have it drop Cotton Seeds -- Override default Jungle Grass and have it drop Cotton and Rice Seeds
minetest.override_item("default:junglegrass", { minetest.override_item("default:junglegrass", {
drop = { drop = {
max_items = 1, max_items = 1,
items = { items = {
{items = {'farming:seed_cotton'}, rarity = 8}, {items = {"farming:seed_cotton"}, rarity = 8},
{items = {'default:junglegrass'}}, {items = {"farming:seed_rice"},rarity = 8},
{items = {"default:junglegrass"}}
} }
}, }
}) })

204
hoes.lua
View File

@ -24,6 +24,10 @@ farming.register_hoe = function(name, def)
def.max_uses = 30 def.max_uses = 30
end end
-- add hoe group
def.groups = def.groups or {}
def.groups.hoe = 1
-- Register the tool -- Register the tool
minetest.register_tool(name, { minetest.register_tool(name, {
description = def.description, description = def.description,
@ -32,7 +36,7 @@ farming.register_hoe = function(name, def)
return farming.hoe_on_use(itemstack, user, pointed_thing, def.max_uses) return farming.hoe_on_use(itemstack, user, pointed_thing, def.max_uses)
end, end,
groups = def.groups, groups = def.groups,
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"}
}) })
-- Register its recipe -- Register its recipe
@ -59,8 +63,9 @@ function farming.hoe_on_use(itemstack, user, pointed_thing, uses)
local pt = pointed_thing local pt = pointed_thing
-- check if pointing at a node -- am I going to hoe the top of a dirt node?
if not pt or pt.type ~= "node" then if not pt or pt.type ~= "node"
or pt.above.y ~= pt.under.y + 1 then
return return
end end
@ -91,12 +96,24 @@ function farming.hoe_on_use(itemstack, user, pointed_thing, uses)
return return
end end
-- check if (wet) soil defined
local ndef = minetest.registered_nodes[under.name]
if ndef.soil == nil or ndef.soil.wet == nil or ndef.soil.dry == nil then
return
end
if minetest.is_protected(pt.under, user:get_player_name()) then
minetest.record_protection_violation(pt.under, user:get_player_name())
return
end
-- turn the node into soil, wear out item and play sound -- turn the node into soil, wear out item and play sound
minetest.set_node(pt.under, {name = "farming:soil"}) minetest.set_node(pt.under, {name = ndef.soil.dry})
minetest.sound_play("default_dig_crumbly", {pos = pt.under, gain = 0.5}) minetest.sound_play("default_dig_crumbly", {pos = pt.under, gain = 0.5})
local wear = 65535 / (uses -1) local wdef = itemstack:get_definition()
local wear = 65535 / (uses - 1)
if farming.is_creative(user:get_player_name()) then if farming.is_creative(user:get_player_name()) then
if tr then if tr then
@ -112,6 +129,11 @@ function farming.hoe_on_use(itemstack, user, pointed_thing, uses)
itemstack:add_wear(wear) itemstack:add_wear(wear)
end end
if itemstack:get_count() == 0 and wdef.sound and wdef.sound.breaks then
minetest.sound_play(wdef.sound.breaks, {pos = pt.above,
gain = 0.5}, true)
end
return itemstack return itemstack
end end
@ -127,7 +149,7 @@ farming.register_hoe(":farming:hoe_wood", {
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "farming:hoe_wood", recipe = "farming:hoe_wood",
burntime = 5, burntime = 5
}) })
farming.register_hoe(":farming:hoe_stone", { farming.register_hoe(":farming:hoe_stone", {
@ -148,7 +170,7 @@ farming.register_hoe(":farming:hoe_bronze", {
description = S("Bronze Hoe"), description = S("Bronze Hoe"),
inventory_image = "farming_tool_bronzehoe.png", inventory_image = "farming_tool_bronzehoe.png",
max_uses = 500, max_uses = 500,
groups = {not_in_creative_inventory = 1}, groups = {not_in_creative_inventory = 1}
}) })
farming.register_hoe(":farming:hoe_mese", { farming.register_hoe(":farming:hoe_mese", {
@ -162,7 +184,7 @@ farming.register_hoe(":farming:hoe_diamond", {
description = S("Diamond Hoe"), description = S("Diamond Hoe"),
inventory_image = "farming_tool_diamondhoe.png", inventory_image = "farming_tool_diamondhoe.png",
max_uses = 500, max_uses = 500,
groups = {not_in_creative_inventory = 1}, groups = {not_in_creative_inventory = 1}
}) })
-- Toolranks support -- Toolranks support
@ -234,7 +256,7 @@ minetest.register_entity("farming:hoebomb_entity", {
visual = "sprite", visual = "sprite",
visual_size = {x = 1.0, y = 1.0}, visual_size = {x = 1.0, y = 1.0},
textures = {"farming_hoe_bomb.png"}, textures = {"farming_hoe_bomb.png"},
collisionbox = {0,0,0,0,0,0}, collisionbox = {-0.1,-0.1,-0.1,0.1,0.1,0.1},
lastpos = {}, lastpos = {},
player = "", player = "",
@ -304,14 +326,13 @@ local function throw_potion(itemstack, player)
z = dir.z * -3 z = dir.z * -3
}) })
obj:setyaw(player:get_look_yaw() + math.pi)
obj:get_luaentity().player = player obj:get_luaentity().player = player
end end
-- hoe bomb item -- hoe bomb item
minetest.register_craftitem("farming:hoe_bomb", { minetest.register_craftitem("farming:hoe_bomb", {
description = S("Hoe Bomb (use or throw on grassy areas to hoe land"), description = S("Hoe Bomb (use or throw on grassy areas to hoe land)"),
inventory_image = "farming_hoe_bomb.png", inventory_image = "farming_hoe_bomb.png",
groups = {flammable = 2, not_in_creative_inventory = 1}, groups = {flammable = 2, not_in_creative_inventory = 1},
on_use = function(itemstack, user, pointed_thing) on_use = function(itemstack, user, pointed_thing)
@ -330,3 +351,164 @@ minetest.register_craftitem("farming:hoe_bomb", {
end end
end, end,
}) })
-- Mithril Scythe (special item)
farming.scythe_not_drops = {"farming:trellis", "farming:beanpole"}
farming.add_to_scythe_not_drops = function(item)
table.insert(farming.scythe_not_drops, item)
end
minetest.register_tool("farming:scythe_mithril", {
description = S("Mithril Scythe (Right-click to harvest and replant crops)"),
inventory_image = "farming_scythe_mithril.png",
sound = {breaks = "default_tool_breaks"},
on_use = function(itemstack, placer, pointed_thing)
if pointed_thing.type ~= "node" then
return
end
local pos = pointed_thing.under
local name = placer:get_player_name()
if minetest.is_protected(pos, name) then
return
end
local node = minetest.get_node_or_nil(pos)
if not node then
return
end
local def = minetest.registered_nodes[node.name]
if not def then
return
end
if not def.drop then
return
end
if not def.groups
or not def.groups.plant then
return
end
local drops = minetest.get_node_drops(node.name, "")
if not drops
or #drops == 0
or (#drops == 1 and drops[1] == "") then
return
end
-- get crop name
local mname = node.name:split(":")[1]
local pname = node.name:split(":")[2]
local sname = tonumber(pname:split("_")[2])
pname = pname:split("_")[1]
if not sname then
return
end
-- add dropped items
for _, dropped_item in pairs(drops) do
-- dont drop items on this list
for _, not_item in pairs(farming.scythe_not_drops) do
if dropped_item == not_item then
dropped_item = nil
end
end
if dropped_item then
local obj = minetest.add_item(pos, dropped_item)
if obj then
obj:set_velocity({
x = math.random(-10, 10) / 9,
y = 3,
z = math.random(-10, 10) / 9
})
end
end
end
-- Run script hook
for _, callback in pairs(core.registered_on_dignodes) do
callback(pos, node, placer)
end
-- play sound
minetest.sound_play("default_grass_footstep", {pos = pos, gain = 1.0})
local replace = mname .. ":" .. pname .. "_1"
if minetest.registered_nodes[replace] then
local p2 = minetest.registered_nodes[replace].place_param2 or 1
minetest.set_node(pos, {name = replace, param2 = p2})
else
minetest.set_node(pos, {name = "air"})
end
if not farming.is_creative(name) then
itemstack:add_wear(65535 / 150) -- 150 uses
return itemstack
end
end,
})
if minetest.get_modpath("moreores") then
minetest.register_craft({
output = "farming:scythe_mithril",
recipe = {
{"", "moreores:mithril_ingot", "moreores:mithril_ingot"},
{"moreores:mithril_ingot", "", "group:stick"},
{"", "", "group:stick"}
}
})
farming.register_hoe(":moreores:hoe_silver", {
description = S("%s Hoe"):format(S("Silver")),
inventory_image = "moreores_tool_silverhoe.png",
max_uses = 300,
material = "moreores:silver_ingot"
})
farming.register_hoe(":moreores:hoe_mithril", {
description = S("%s Hoe"):format(S("Mithril")),
inventory_image = "moreores_tool_mithrilhoe.png",
max_uses = 1000,
material = "moreores:mithril_ingot"
})
-- Toolranks support
if tr then
local desc = S("%s Hoe"):format(S("Silver"))
minetest.override_item("moreores:hoe_silver", {
original_description = desc,
description = toolranks.create_description(desc)})
desc = S("%s Hoe"):format(S("Mithril"))
minetest.override_item("moreores:hoe_mithril", {
original_description = desc,
description = toolranks.create_description(desc)})
end
end

View File

@ -7,7 +7,7 @@
farming = { farming = {
mod = "redo", mod = "redo",
version = "20180929", version = "20200702",
path = minetest.get_modpath("farming"), path = minetest.get_modpath("farming"),
select = { select = {
type = "fixed", type = "fixed",
@ -79,7 +79,8 @@ end
-- Growth Logic -- Growth Logic
local STAGE_LENGTH_AVG = 160.0 local STAGE_LENGTH_AVG = tonumber(
minetest.settings:get("farming_stage_length")) or 200 -- 160
local STAGE_LENGTH_DEV = STAGE_LENGTH_AVG / 6 local STAGE_LENGTH_DEV = STAGE_LENGTH_AVG / 6
@ -269,7 +270,7 @@ end
minetest.after(0, function() minetest.after(0, function()
for _, node_def in ipairs(minetest.registered_nodes) do for _, node_def in pairs(minetest.registered_nodes) do
register_plant_node(node_def) register_plant_node(node_def)
end end
end) end)
@ -278,7 +279,7 @@ end)
-- Just in case a growing type or added node is missed (also catches existing -- Just in case a growing type or added node is missed (also catches existing
-- nodes added to map before timers were incorporated). -- nodes added to map before timers were incorporated).
minetest.register_abm({ minetest.register_abm({
nodenames = { "group:growing" }, nodenames = {"group:growing"},
interval = 300, interval = 300,
chance = 1, chance = 1,
catch_up = false, catch_up = false,
@ -314,7 +315,7 @@ function farming.plant_growth_timer(pos, elapsed, node_name)
-- otherwise check for wet soil beneath crop -- otherwise check for wet soil beneath crop
else else
local under = minetest.get_node({ x = pos.x, y = pos.y - 1, z = pos.z }) local under = minetest.get_node({x = pos.x, y = pos.y - 1, z = pos.z})
if minetest.get_item_group(under.name, "soil") < 3 then if minetest.get_item_group(under.name, "soil") < 3 then
return true return true
@ -322,14 +323,14 @@ function farming.plant_growth_timer(pos, elapsed, node_name)
end end
local growth local growth
local light_pos = {x = pos.x, y = pos.y, z = pos.z} -- was y + 1 local light_pos = {x = pos.x, y = pos.y, z = pos.z}
local lambda = elapsed / STAGE_LENGTH_AVG local lambda = elapsed / STAGE_LENGTH_AVG
if lambda < 0.1 then if lambda < 0.1 then
return true return true
end end
local MIN_LIGHT = minetest.registered_nodes[node_name].minlight or 13 local MIN_LIGHT = minetest.registered_nodes[node_name].minlight or 12
local MAX_LIGHT = minetest.registered_nodes[node_name].maxlight or 15 local MAX_LIGHT = minetest.registered_nodes[node_name].maxlight or 15
--print ("---", MIN_LIGHT, MAX_LIGHT) --print ("---", MIN_LIGHT, MAX_LIGHT)
@ -421,7 +422,7 @@ function farming.place_seed(itemstack, placer, pointed_thing, plantname)
-- am I right-clicking on something that has a custom on_place set? -- am I right-clicking on something that has a custom on_place set?
-- thanks to Krock for helping with this issue :) -- thanks to Krock for helping with this issue :)
local def = minetest.registered_nodes[under.name] local def = minetest.registered_nodes[under.name]
if placer and def and def.on_rightclick then if placer and itemstack and def and def.on_rightclick then
return def.on_rightclick(pt.under, under, placer, itemstack) return def.on_rightclick(pt.under, under, placer, itemstack)
end end
@ -457,10 +458,12 @@ function farming.place_seed(itemstack, placer, pointed_thing, plantname)
minetest.set_node(pt.above, {name = plantname, param2 = p2}) minetest.set_node(pt.above, {name = plantname, param2 = p2})
--minetest.get_node_timer(pt.above):start(1) --minetest.get_node_timer(pt.above):start(1)
--farming.handle_growth(pt.above)--, node)
minetest.sound_play("default_place_node", {pos = pt.above, gain = 1.0}) minetest.sound_play("default_place_node", {pos = pt.above, gain = 1.0})
if placer and not farming.is_creative(placer:get_player_name()) then if placer and itemstack
and not farming.is_creative(placer:get_player_name()) then
local name = itemstack:get_name() local name = itemstack:get_name()
@ -496,7 +499,7 @@ farming.register_plant = function(name, def)
-- Check def -- Check def
def.description = def.description or S("Seed") def.description = def.description or S("Seed")
def.inventory_image = def.inventory_image or "unknown_item.png" def.inventory_image = def.inventory_image or "unknown_item.png"
def.minlight = def.minlight or 13 def.minlight = def.minlight or 12
def.maxlight = def.maxlight or 15 def.maxlight = def.maxlight or 15
-- Register seed -- Register seed
@ -579,7 +582,7 @@ farming.register_plant = function(name, def)
sounds = default.node_sound_leaves_defaults(), sounds = default.node_sound_leaves_defaults(),
minlight = def.minlight, minlight = def.minlight,
maxlight = def.maxlight, maxlight = def.maxlight,
next_plant = next_plant, next_plant = next_plant
}) })
end end
@ -591,37 +594,40 @@ farming.registered_plants[mname .. ":" .. pname] = {
minlight = def.minlight, minlight = def.minlight,
maxlight = def.maxlight maxlight = def.maxlight
} }
print(dump(farming.registered_plants[mname .. ":" .. pname])) --print(dump(farming.registered_plants[mname .. ":" .. pname]))
-- Return info -- Return info
return {seed = mname .. ":seed_" .. pname, harvest = mname .. ":" .. pname} return {seed = mname .. ":seed_" .. pname, harvest = mname .. ":" .. pname}
end end
-- default settings -- default settings
farming.carrot = true farming.carrot = 0.001
farming.potato = true farming.potato = 0.001
farming.tomato = true farming.tomato = 0.001
farming.cucumber = true farming.cucumber = 0.001
farming.corn = true farming.corn = 0.001
farming.coffee = true farming.coffee = 0.001
farming.melon = true farming.melon = 0.001
farming.pumpkin = true farming.pumpkin = 0.001
farming.cocoa = true farming.cocoa = true
farming.raspberry = true farming.raspberry = 0.001
farming.blueberry = true farming.blueberry = 0.001
farming.rhubarb = true farming.rhubarb = 0.001
farming.beans = true farming.beans = 0.001
farming.grapes = true farming.grapes = 0.001
farming.barley = true farming.barley = true
farming.chili = true farming.chili = 0.003
farming.hemp = true farming.hemp = 0.003
farming.garlic = true farming.garlic = 0.001
farming.onion = true farming.onion = 0.001
farming.pepper = true farming.pepper = 0.002
farming.pineapple = true farming.pineapple = 0.001
farming.peas = true farming.peas = 0.001
farming.beetroot = true farming.beetroot = 0.001
farming.rarety = 0.002 -- 0.006 farming.mint = 0.005
farming.cabbage = 0.001
farming.grains = true
farming.rarety = 0.002
-- Load new global settings if found inside mod folder -- Load new global settings if found inside mod folder
@ -629,16 +635,14 @@ local input = io.open(farming.path.."/farming.conf", "r")
if input then if input then
dofile(farming.path .. "/farming.conf") dofile(farming.path .. "/farming.conf")
input:close() input:close()
input = nil
end end
-- load new world-specific settings if found inside world folder -- load new world-specific settings if found inside world folder
local worldpath = minetest.get_worldpath() local worldpath = minetest.get_worldpath()
local input = io.open(worldpath.."/farming.conf", "r") input = io.open(worldpath.."/farming.conf", "r")
if input then if input then
dofile(worldpath .. "/farming.conf") dofile(worldpath .. "/farming.conf")
input:close() input:close()
input = nil
end end
@ -685,10 +689,13 @@ ddoo("pineapple.lua", farming.pineapple)
ddoo("peas.lua", farming.peas) ddoo("peas.lua", farming.peas)
ddoo("beetroot.lua", farming.beetroot) ddoo("beetroot.lua", farming.beetroot)
ddoo("chili.lua", farming.chili) ddoo("chili.lua", farming.chili)
ddoo("ryeoatrice.lua", farming.grains)
ddoo("mint.lua", farming.mint)
ddoo("cabbage.lua", farming.cabbage)
dofile(farming.path.."/food.lua") dofile(farming.path .. "/food.lua")
dofile(farming.path.."/mapgen.lua") dofile(farming.path .. "/mapgen.lua")
dofile(farming.path.."/compatibility.lua") -- Farming Plus compatibility dofile(farming.path .. "/compatibility.lua") -- Farming Plus compatibility
dofile(farming.path.."/lucky_block.lua") dofile(farming.path .. "/lucky_block.lua")
minetest.log("action", "[farming] loaded.") minetest.log("action", "[farming] loaded.")

View File

@ -23,7 +23,7 @@ THE SOFTWARE.
License of media (textures): License of media (textures):
---------------------------- ----------------------------
Created by PilzAdam (License: WTFPL): Created by PilzAdam (License: CC BY 3.0):
farming_bread.png farming_bread.png
farming_soil.png farming_soil.png
farming_soil_wet.png farming_soil_wet.png
@ -41,7 +41,7 @@ Created by Calinou (License: CC BY-SA):
farming_tool_mesehoe.png farming_tool_mesehoe.png
farming_tool_diamondhoe.png farming_tool_diamondhoe.png
Created by VanessaE (License: WTFPL): Created by VanessaE (License: CC BY 3.0):
farming_cotton_seed.png farming_cotton_seed.png
farming_wheat_seed.png farming_wheat_seed.png
farming_flour.png farming_flour.png
@ -63,7 +63,7 @@ Created by VanessaE (License: WTFPL):
farming_cotton_7.png farming_cotton_7.png
farming_cotton_8.png farming_cotton_8.png
Created by Doc (License: WTFPL): Created by Doc (License: CC BY 3.0):
farming_cucumber.png farming_cucumber.png
farming_cucumber_1.png farming_cucumber_1.png
farming_cucumber_2.png farming_cucumber_2.png
@ -80,7 +80,7 @@ Created by Doc (License: WTFPL):
farming_raspberry_3.png farming_raspberry_3.png
farming_raspberry_4.png farming_raspberry_4.png
Created by Gambit: Created by Gambit (License: CC BY 3.0):
default_junglegrass.png default_junglegrass.png
farming_carrot.png farming_carrot.png
farming_carrot_1.png farming_carrot_1.png
@ -92,7 +92,7 @@ Created by Gambit:
farming_carrot_7.png farming_carrot_7.png
farming_carrot_8.png farming_carrot_8.png
Created by JoseTheCrafter and edited by TenPlus1: Created by JoseTheCrafter and edited by TenPlus1 (CC BY 3.0):
farming_tomato.png farming_tomato.png
farming_tomato_1.png farming_tomato_1.png
farming_tomato_2.png farming_tomato_2.png
@ -103,7 +103,7 @@ Created by JoseTheCrafter and edited by TenPlus1:
farming_tomato_7.png farming_tomato_7.png
farming_tomato_8.png farming_tomato_8.png
Created by GeMinecraft and edited by TenPlus1: Created by GeMinecraft and edited by TenPlus1 (CC BY 3.0):
farming_corn.png farming_corn.png
farming_corn_cob.png farming_corn_cob.png
farming_corn_1.png farming_corn_1.png
@ -115,7 +115,7 @@ Created by GeMinecraft and edited by TenPlus1:
farming_corn_7.png farming_corn_7.png
farming_corn_8.png farming_corn_8.png
Created by TenPlus1 Created by TenPlus1 (CC BY 3.0)
farming_cocoa_1.png farming_cocoa_1.png
farming_cocoa_2.png farming_cocoa_2.png
farming_cocoa_3.png farming_cocoa_3.png
@ -128,3 +128,17 @@ Created by TenPlus1
farming_rhubarb.png farming_rhubarb.png
farming_rhubarb_pie.png farming_rhubarb_pie.png
farming_hemp*.png farming_hemp*.png
Created by ademant (CC-BY-3.0)
farming_rye*.png
farming_oat*.png
farming_rice*.png
Created by PilzAdam and edited by SpaghettiToastBook (CC0):
farming_bread_multigrain.png
Created by VanessaE and edited by SpaghettiToastBook (CC0):
farming_flour_multigrain.png
Created by mDiyo (Natura), modified by TenPlus1 (License: CC BY-SA 3.0):
farming_barley.png

View File

@ -1,262 +0,0 @@
# German Translation for farming mod.
# Copyright (C) 2017
# This file is distributed under the same license as the farming package.
# Xanthin.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: 1.27\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-03-31 HO:MI+ZONE\n"
"PO-Revision-Date: 2016-03-31 HO:MI+ZONE\n"
"Last-Translator: Xanthin\n"
"Language-Team: \n"
"Language: German \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: barley.lua
msgid "Barley Seed"
msgstr "Gerstenkörner"
#: barley.lua
msgid "Barley"
msgstr "Gerste"
#: beanpole.lua
msgid "Green Beans"
msgstr "Grüne Bohnen"
#: beanpole.lua
msgid "Bean Pole (place on soil before planting beans)"
msgstr "Bohnenstange (vor dem Pflanzen der Bohnen auf den\nAckerboden stellen)"
#: blueberry.lua
msgid "Blueberries"
msgstr "Blaubeeren"
#: blueberry.lua
msgid "Blueberry Muffin"
msgstr "Blaubeermuffin"
#: carrot.lua
msgid "Carrot"
msgstr "Möhre"
#: carrot.lua
msgid "Golden Carrot"
msgstr "Goldene Möhre"
#: cocoa.lua
msgid "Cocoa Beans"
msgstr "Kakaobohne"
#: cocoa.lua
msgid "Cookie"
msgstr "Keks"
#: cocoa.lua
msgid "Bar of Dark Chocolate"
msgstr "Tafel Zartbitterschokolade"
#: coffee.lua
msgid "Coffee Beans"
msgstr "Kaffeebohnen"
#: coffee.lua
msgid "Drinking Cup (empty)"
msgstr "Tasse (leer)"
#: coffee.lua
msgid "Cold Cup of Coffee"
msgstr "Kalte Tasse Kaffee"
#: coffee.lua
msgid "Hot Cup of Coffee"
msgstr "Heiße Tasse Kaffee"
#: corn.lua
msgid "Corn"
msgstr "Mais"
#: corn.lua
msgid "Corn on the Cob"
msgstr "Maiskolben"
#: corn.lua
msgid "Bottle of Ethanol"
msgstr "Flasche Ethanol"
#: cotton.lua
msgid "Cotton Seed"
msgstr "Baumwollsamen"
#: cotton.lua
msgid "Cotton"
msgstr "Baumwolle"
#: cucumber.lua
msgid "Cucumber"
msgstr "Gurke"
#: donut.lua
msgid "Donut"
msgstr "Donut"
#: donut.lua
msgid "Chocolate Donut"
msgstr "Schokodonut"
#: donut.lua
msgid "Apple Donut"
msgstr "Apfeldonut"
#: grapes.lua
msgid "Grapes"
msgstr "Weintrauben"
#: grapes.lua
msgid "Trellis (place on soil before planting grapes)"
msgstr "Spalier (vor dem Pflanzen der Weintrauben auf den\nAckerboden stellen)"
#: hemp.lua
msgid "Hemp Seed"
msgstr "Hanfsamen"
#: hemp.lua
msgid "Hemp Leaf"
msgstr "Hanfblatt"
#: hemp.lua
msgid "Bottle of Hemp Oil"
msgstr "Flasche mit Hanföl"
#: hemp.lua
msgid "Hemp Fibre"
msgstr "Hanffaser"
#: hemp.lua
msgid "Hemp Rope"
msgstr "Hanfseil"
#: hoes.lua
msgid "Hoe"
msgstr "Hacke"
#: hoes.lua
msgid "Wooden Hoe"
msgstr "Holzhacke"
#: hoes.lua
msgid "Stone Hoe"
msgstr "Steinhacke"
#: hoes.lua
msgid "Steel Hoe"
msgstr "Stahlhacke"
#: hoes.lua
msgid "Bronze Hoe"
msgstr "Bronzehacke"
#: hoes.lua
msgid "Mese Hoe"
msgstr "Mesehacke"
#: hoes.lua
msgid "Diamond Hoe"
msgstr "Diamanthacke"
#: init.lua
msgid "Seed"
msgstr "Saatgut"
#: melon.lua
msgid "Melon Slice"
msgstr "Melonenscheibe"
#: melon.lua
msgid "Melon"
msgstr "Melone"
#: potato.lua
msgid "Potato"
msgstr "Kartoffel"
#: potato.lua
msgid "Baked Potato"
msgstr "Ofenkartoffel"
#: pumpkin.lua
msgid "Pumpkin"
msgstr "Kürbis"
#: pumpkin.lua
msgid "Pumpkin Slice"
msgstr "Kürbisscheibe"
#: pumpkin.lua
msgid "Jack 'O Lantern (punch to turn on and off)"
msgstr "Kürbislaterne (Punch zum Ein- und Ausschalten)"
#: pumpkin.lua
msgid "Pumpkin Bread"
msgstr "Kürbisbrot"
#: pumpkin.lua
msgid "Pumpkin Dough"
msgstr "Kürbisteig"
#: raspberry.lua
msgid "Raspberries"
msgstr "Himbeeren"
#: raspberry.lua
msgid "Raspberry Smoothie"
msgstr "Himbeersmoothie"
#: rhubarb.lua
msgid "Rhubarb"
msgstr "Rhabarber"
#: rhubarb.lua
msgid "Rhubarb Pie"
msgstr "Rhabarberkuchen"
#: soil.lua
msgid "Soil"
msgstr "Ackerboden"
#: soil.lua
msgid "Wet Soil"
msgstr "Bewässerter Ackerboden"
#: sugar.lua
msgid "Sugar"
msgstr "Zucker"
#: tomato.lua
msgid "Tomato"
msgstr "Tomate"
#: wheat.lua
msgid "Wheat Seed"
msgstr "Weizenkörner"
#: wheat.lua
msgid "Wheat"
msgstr "Weizen"
#: wheat.lua
msgid "Straw"
msgstr "Stroh"
#: wheat.lua
msgid "Flour"
msgstr "Mehl"
#: wheat.lua
msgid "Bread"
msgstr "Brot"

195
locale/de.txt Normal file
View File

@ -0,0 +1,195 @@
# German translation of the farming mod by TenPlus1
# textdomain: farming
# author: Xanthin
# author: TheDarkTiger
# last update: 2020/Apr/26
###### folder . ######
### init.lua ###
Seed=Saatgut
### compatibility.lua ###
Banana=
Banana Leaves=
Orange=
Strawberry=
### food.lua ###
Sugar=Zucker
Salt=
Rose Water=
Turkish Delight=
Garlic Bread=
Donut=Donut
Chocolate Donut=Schokodonut
Apple Donut=Apfeldonut
Porridge=
Jaffa Cake=
### hoes.lua ###
Hoe=Hacke
Wooden Hoe=Holzhacke
Stone Hoe=Steinhacke
Steel Hoe=Stahlhacke
Bronze Hoe=Bronzehacke
Mese Hoe=Mesehacke
Diamond Hoe=Diamanthacke
# Surcharge du mod [Toolranks] à faire #
Hoe Bomb (use or throw on grassy areas to hoe land)=
Mithril Scythe (Right-click to harvest and replant crops)=
# Surcharge du mod [Toolranks] à faire #
### soil.lua ###
Soil=Ackerboden
Wet Soil=Bewässerter Ackerboden
### utensils.lua ###
Wooden Bowl=
Saucepan=
Cooking Pot=
Baking Tray=
Skillet=
Mortar and Pestle=
Cutting Board=
Juicer=
Glass Mixing Bowl=
###### folder ./crops ######
### barley.lua ###
Barley Seed=Gerstenkörner
Barley=Gerste
### beans.lua ###
Green Beans=Grüne Bohnen
Bean Pole (place on soil before planting beans)=Bohnenstange (vor dem Pflanzen der Bohnen auf den\nAckerboden stellen)
### beetroot.lua ###
Beetroot=
Beetroot Soup=
### blueberry.lua ###
Blueberries=Blaubeeren
Blueberry Muffin=Blaubeermuffin
Blueberry Pie=
### carrot.lua ##
Carrot=Möhre
Carrot Juice=
Golden Carrot=Goldene Möhre
### chili.lua ###
Chili Pepper=
Bowl of Chili=
### cocoa.lua ###
Cocoa Beans=Kakaobohne
Cookie=Keks
Bar of Dark Chocolate=Tafel Zartbitterschokolade
Chocolate Block=
### coffee.lua ###
Coffee Beans=Kaffeebohnen
Cup of Coffee=Tasse Kaffee
### corn.lua ###
Corn=Mais
Corn on the Cob=Maiskolben
Cornstarch=
Bottle of Ethanol=Flasche Ethanol
### cotton.lua ###
Cotton Seed=Baumwollsamen
Cotton=Baumwolle
String=
### cucumber.lua ###
Cucumber=Gurke
### garlic.lua ###
Garlic clove=
Garlic=
Garlic Braid=
### grapes.lua ###
Grapes=Weintrauben
Trellis (place on soil before planting grapes)=Spalier (vor dem Pflanzen der Weintrauben auf den\nAckerboden stellen)
### hemp.lua ###
Hemp Seed=Hanfsamen
Hemp Leaf=Hanfblatt
Bottle of Hemp Oil=Flasche mit Hanföl
Hemp Fibre=Hanffaser
Hemp Block=
Hemp Rope=Hanfseil
### melon.lua ###
Melon Slice=Melonenscheibe
Melon=Melone
### onion.lua ###
Onion=
### peas.lua ###
Pea Pod=
Peas=
Pea Soup=
### pepper.lua ###
Peppercorn=
Pepper=
Ground Pepper=
### pinapple.lua ###
Pineapple Top=
Pineapple=
Pineapple Ring=
Pineapple Juice=
### potato.lua ###
Potato=Kartoffel
Baked Potato=Ofenkartoffel
Cucumber and Potato Salad=
### pumpkin.lua ###
Pumpkin Slice=Kürbisscheibe
Jack 'O Lantern (punch to turn on and off)=Kürbislaterne (Punch zum Ein- und Ausschalten)
Scarecrow Bottom=
Pumpkin Bread=Kürbisbrot
Pumpkin Dough=Kürbisteig
Pumpkin=Kürbis
### raspberry.lua ###
Raspberries=Himbeeren
Raspberry Smoothie=Himbeersmoothie
### rhubarb.lua ###
Rhubarb=Rhabarber
Rhubarb Pie=Rhabarberkuchen
### ryeoatrice.lua ###
Rye=
Rye seed=
Oat=
Oat seed=
Rice=
Rice grains=
Rice Bread=
Rice Flour=
Multigrain Flour=
Multigrain Bread=
### tomato.lua ###
Tomato=Tomate
### wheat.lua ###
Wheat Seed=Weizenkörner
Wheat=Weizen
Straw=Stroh
Flour=Mehl
Bread=Brot
Sliced Bread=
Toast=
Toast Sandwich=

View File

@ -1,259 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-03-27 20:21+0200\n"
"PO-Revision-Date: 2018-03-27 22:16+0200\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.7.1\n"
"Last-Translator: \n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"Language: fr\n"
#: barley.lua
msgid "Barley Seed"
msgstr "Graine d'orge"
#: barley.lua
msgid "Barley"
msgstr "Orge"
#: beanpole.lua
msgid "Green Beans"
msgstr "Haricots verts"
#: beanpole.lua
msgid "Bean Pole (place on soil before planting beans)"
msgstr "Tuteur pour haricots (placer sur le sol avant de planter des haricots)"
#: blueberry.lua
msgid "Blueberries"
msgstr "Myrtilles"
#: blueberry.lua
msgid "Blueberry Muffin"
msgstr "Gâteau aux myrtilles"
#: carrot.lua
msgid "Carrot"
msgstr "Carotte"
#: carrot.lua
msgid "Golden Carrot"
msgstr "Carotte dorée"
#: cocoa.lua
msgid "Cocoa Beans"
msgstr "Fèves de chocolat"
#: cocoa.lua
msgid "Cookie"
msgstr "Biscuit"
#: cocoa.lua
msgid "Bar of Dark Chocolate"
msgstr "Barre de chocolat noir"
#: coffee.lua
msgid "Coffee Beans"
msgstr "Grains de café"
#: coffee.lua
msgid "Drinking Cup (empty)"
msgstr "Tasse (vide)"
#: coffee.lua
msgid "Cold Cup of Coffee"
msgstr "Tasse de café froid"
#: coffee.lua
msgid "Hot Cup of Coffee"
msgstr "Tasse de café chaud"
#: corn.lua
msgid "Corn"
msgstr "Maïs"
#: corn.lua
msgid "Corn on the Cob"
msgstr "Épi de maïs"
#: corn.lua
msgid "Bottle of Ethanol"
msgstr "Bouteille de'éthanol"
#: cotton.lua
msgid "Cotton Seed"
msgstr "Graines de coton"
#: cotton.lua
msgid "Cotton"
msgstr "Coton"
#: cucumber.lua
msgid "Cucumber"
msgstr "Concombre"
#: donut.lua
msgid "Donut"
msgstr "Beignet"
#: donut.lua
msgid "Chocolate Donut"
msgstr "Beignet au chocolat"
#: donut.lua
msgid "Apple Donut"
msgstr "Beignet aux pommes"
#: grapes.lua
msgid "Grapes"
msgstr "Raisins"
#: grapes.lua
msgid "Trellis (place on soil before planting grapes)"
msgstr "Treillis (placer sur le sol avant de planter les raisins)"
#: hemp.lua
msgid "Hemp Seed"
msgstr "Graines de chanvre"
#: hemp.lua
msgid "Hemp Leaf"
msgstr "Feuille de chanvre"
#: hemp.lua
msgid "Bottle of Hemp Oil"
msgstr "Bouteille d'huile de chanvre"
#: hemp.lua
msgid "Hemp Fibre"
msgstr "Fibre de chanvre"
#: hemp.lua
msgid "Hemp Rope"
msgstr "Corde de chanvre"
#: hoes.lua
msgid "Wooden Hoe"
msgstr "Houe en bois"
#: hoes.lua
msgid "Stone Hoe"
msgstr "Houe en pierre"
#: hoes.lua
msgid "Steel Hoe"
msgstr "Houe en acier"
#: hoes.lua
msgid "Bronze Hoe"
msgstr "Houe en bronze"
#: hoes.lua
msgid "Mese Hoe"
msgstr "Houe en mese"
#: hoes.lua
msgid "Diamond Hoe"
msgstr "Houe en diamant"
#: init.lua
msgid "Seed"
msgstr "Graine"
#: melon.lua
msgid "Melon Slice"
msgstr "Tranche de melon"
#: melon.lua
msgid "Melon"
msgstr "Melon"
#: potato.lua
msgid "Potato"
msgstr "Pomme de terre"
#: potato.lua
msgid "Baked Potato"
msgstr "Pomme de terre cuite"
#: pumpkin.lua
msgid "Pumpkin"
msgstr "Citrouille"
#: pumpkin.lua
msgid "Pumpkin Slice"
msgstr "Tranche de citrouille"
#: pumpkin.lua
msgid "Jack 'O Lantern (punch to turn on and off)"
msgstr "Jack 'O Lantern (tapé pour allumer et éteindre)"
#: pumpkin.lua
msgid "Pumpkin Bread"
msgstr "Pain à la citrouille"
#: pumpkin.lua
msgid "Pumpkin Dough"
msgstr "Pâte à la citrouille"
#: raspberry.lua
msgid "Raspberries"
msgstr "Framboises"
#: raspberry.lua
msgid "Raspberry Smoothie"
msgstr "Smoothie aux framboises"
#: rhubarb.lua
msgid "Rhubarb"
msgstr "Rhubarbe"
#: rhubarb.lua
msgid "Rhubarb Pie"
msgstr "Tarte à la rhubarbe"
#: soil.lua
msgid "Soil"
msgstr "Sol"
#: soil.lua
msgid "Wet Soil"
msgstr "Sol humide"
#: sugar.lua
msgid "Sugar"
msgstr "Sucre"
#: tomato.lua
msgid "Tomato"
msgstr "Tomate"
#: wheat.lua
msgid "Wheat Seed"
msgstr "Graine de blé"
#: wheat.lua
msgid "Wheat"
msgstr "Blé"
#: wheat.lua
msgid "Straw"
msgstr "Paille"
#: wheat.lua
msgid "Flour"
msgstr "Farine"
#: wheat.lua
msgid "Bread"
msgstr "Pain"

195
locale/fr.txt Normal file
View File

@ -0,0 +1,195 @@
# Traduction Française du mod farming par TenPlus1
# textdomain: farming
# author: Papaou30
# author: TheDarkTiger
# last update: 2020/Apr/26
###### folder . ######
### init.lua ###
Seed=Graine
### compatibility.lua ###
Banana=Banane
Banana Leaves=Feuilles de Banane
Orange=Orange
Strawberry=Fraise
### food.lua ###
Sugar=Sucre
Salt=Sel
Rose Water=Eau de Rose
Turkish Delight=Douceur Turque
Garlic Bread=Pain à l'Ail
Donut=Beignet
Chocolate Donut=Beignet au chocolat
Apple Donut=Beignet aux pommes
Porridge=Gruau de céréales
Jaffa Cake=Petit gâteau à l'orange "Jaffa"
### hoes.lua ###
Hoe=Binette
Wooden Hoe=Binette en Bois
Stone Hoe=Binette en Pierre
Steel Hoe=Binette en Acier
Bronze Hoe=Binette en Bronze
Mese Hoe=Binette en Mese
Diamond Hoe=Binette en Diamant
# Surcharge du mod [Toolranks] à faire #
Hoe Bomb (use or throw on grassy areas to hoe land)=Bombe à binnage (Actionner ou lancer sur une zone herbeuse pour la binner)
Mithril Scythe (Right-click to harvest and replant crops)=Faux en Mithril (Récolte et replante des graines)
# Surcharge du mod [Toolranks] à faire #
### soil.lua ###
Soil=Sol binné
Wet Soil=Sol binné humide
### utensils.lua ###
Wooden Bowl=Bol en Bois
Saucepan=Casserole
Cooking Pot=Fait-tout
Baking Tray=Lèche-frite
Skillet=Poêle
Mortar and Pestle=Mortier et Pilon
Cutting Board=Planche à découper
Juicer=Presse-agrumes
Glass Mixing Bowl=Terrine en Verre
###### folder ./crops ######
### barley.lua ###
Barley Seed=Graine d'Orge
Barley=Orge
### beans.lua ###
Green Beans=Haricots verts
Bean Pole (place on soil before planting beans)=Tuteur pour haricots (placer sur le sol avant de planter des haricots)
### beetroot.lua ###
Beetroot=Betrave
Beetroot Soup=Soupe de Betrave
### blueberry.lua ###
Blueberries=Myrtilles
Blueberry Muffin=Muffin aux Myrtilles
Blueberry Pie=Tarte aux Myrtilles
### carrot.lua ##
Carrot=Carotte
Carrot Juice=Jus de Carotte
Golden Carrot=Carotte dorée
### chili.lua ###
Chili Pepper=Piment Rouge
Bowl of Chili=Assiette de Chilli
### cocoa.lua ###
Cocoa Beans=Fèves de Cacao
Cookie=Cookie
Bar of Dark Chocolate=Tablette de Chocolat noir
Chocolate Block=Block de Chocolat
### coffee.lua ###
Coffee Beans=Grains de café
Cup of Coffee=Tasse de café
### corn.lua ###
Corn=Maïs
Corn on the Cob=Cobette (Maïs cuit)
Cornstarch=Fécule de Maïs
Bottle of Ethanol=Bouteille d'Éthanol
### cotton.lua ###
Cotton Seed=Graines de Coton
Cotton=Coton
String=Ficelle
### cucumber.lua ###
Cucumber=Concombre
### garlic.lua ###
Garlic clove=Gousse d'Ail
Garlic=Tête d'Ail
Garlic Braid=Ail tressé
### grapes.lua ###
Grapes=Raisins
Trellis (place on soil before planting grapes)=Treillis (placer sur le sol avant de planter la vigne)
### hemp.lua ###
Hemp Seed=Graines de Chanvre
Hemp Leaf=Feuille de Chanvre
Bottle of Hemp Oil=Bouteille d'huile de Chanvre
Hemp Fibre=Fibre de Chanvre
Hemp Block=Bloc de Chanvre
Hemp Rope=Corde de Chanvre
### melon.lua ###
Melon Slice=Tranche de Melon
Melon=Melon
### onion.lua ###
Onion=Oignon
### peas.lua ###
Pea Pod=Cosse de Petit-poids
Peas=Petit-poids
Pea Soup=Soupe de Petit-poids
### pepper.lua ###
Peppercorn=Grain de Poivre
Pepper=Poivron
Ground Pepper=Poivre moulu
### pinapple.lua ###
Pineapple Top=Pousse d'Ananas
Pineapple=Ananas
Pineapple Ring=Tranche d'Ananas
Pineapple Juice=Jus d'Ananas
### potato.lua ###
Potato=Pomme de terre
Baked Potato=Pomme de terre cuite
Cucumber and Potato Salad=Salade de Pomme de terre au Concombre
### pumpkin.lua ###
Pumpkin Slice=Tranche de Citrouille
Jack 'O Lantern (punch to turn on and off)=Jack 'O Lantern (Frapper pour allumer et éteindre)
Scarecrow Bottom=Base d'Epouventail
Pumpkin Bread=Pain à la Citrouille
Pumpkin Dough=Pâton de pain à la Citrouille
Pumpkin=Citrouille
### raspberry.lua ###
Raspberries=Framboises
Raspberry Smoothie=Smoothie aux Framboises
### rhubarb.lua ###
Rhubarb=Rhubarbe
Rhubarb Pie=Tarte à la rhubarbe
### ryeoatrice.lua ###
Rye=Seigle
Rye seed=Grains de Seigle
Oat=Orge
Oat seed=Grains d'Orge
Rice=Riz
Rice grains=Grain de Riz
Rice Bread=Pain de Riz
Rice Flour=Farine de Riz
Multigrain Flour=Farine Multi-céréales
Multigrain Bread=Pain aux Céréales
### tomato.lua ###
Tomato=Tomate
### wheat.lua ###
Wheat Seed=Grain de blé
Wheat=Blé
Straw=Paille
Flour=Farine
Bread=Pain
Sliced Bread=Tranche de Pain
Toast=Pain Grillé
Toast Sandwich=Sandwich au Pain

194
locale/it.txt Normal file
View File

@ -0,0 +1,194 @@
# Translation of the farming mod by TenPlus1
# textdomain: farming
# author: (Hamlet)
# last update: 2020/Jun/02
###### folder . ######
### init.lua ###
Seed=Seme
### compatibility.lua ###
Banana=Banana
Banana Leaves=Foglie di banano
Orange=Arancia
Strawberry=Fragola
### food.lua ###
Sugar=Zucchero
Salt=Sale
Rose Water=Acqua di rose
Turkish Delight=Lokum
Garlic Bread=Pane all'aglio
Donut=Ciambella
Chocolate Donut=Ciambella al cioccolato
Apple Donut=Ciambella alla mela
Porridge=Porridge
Jaffa Cake=Torta di jaffa
### hoes.lua ###
Hoe=Zappa
Wooden Hoe=Zappa di legno
Stone Hoe=Zappa di pietra
Steel Hoe=Zappa d'acciaio
Bronze Hoe=Zappa di bronzo
Mese Hoe=Zappa di mese
Diamond Hoe=Zappa di diamante
# Surcharge du mod [Toolranks] à faire #
Hoe Bomb (use or throw on grassy areas to hoe land)=Bomba zappa (usala o lanciala sulle aree erbose per zappare il terreno)
Mithril Scythe (Right-click to harvest and replant crops)=Falce di mithril (clicca col destro per raccogliere e ripiantare le prose)
# Surcharge du mod [Toolranks] à faire #
### soil.lua ###
Soil=Terreno coltivabile
Wet Soil=Terreno coltivabile bagnato
### utensils.lua ###
Wooden Bowl=Ciotola di legno
Saucepan=Casseruola
Cooking Pot=Pentola da cottura
Baking Tray=Teglia da forno
Skillet=Padella
Mortar and Pestle=Mortaio e pestello
Cutting Board=Tagliere
Juicer=Spremiagrumi
Glass Mixing Bowl=Terrina di vetro
###### folder ./crops ######
### barley.lua ###
Barley Seed=Seme d'orzo
Barley=Orzo
### beans.lua ###
Green Beans=Fagiolini
Bean Pole (place on soil before planting beans)=Palina per fagiolini (mettila sul terreno coltivabile prima di piantare i fagiolini)
### beetroot.lua ###
Beetroot=Barbabietola
Beetroot Soup=Zuppa di barbabietola
### blueberry.lua ###
Blueberries=Mirtilli
Blueberry Muffin=Focaccina di mirtilli
Blueberry Pie=Tortino di mirtilli
### carrot.lua ##
Carrot=Carota
Carrot Juice=Succo di carota
Golden Carrot=Carota d'oro
### chili.lua ###
Chili Pepper=Peperoncino
Bowl of Chili=Ciotola di peperoncino
### cocoa.lua ###
Cocoa Beans=Chicchi di cacao
Cookie=Biscotto
Bar of Dark Chocolate=Barra di cioccolato fondente
Chocolate Block=Blocco di cioccolato
### coffee.lua ###
Coffee Beans=Chicchi di caffè
Cup of Coffee=Tazza di caffè
### corn.lua ###
Corn=Mais
Corn on the Cob=Pannocchia arrostita
Cornstarch=Amido di mais
Bottle of Ethanol=Bottiglia di alcol etilico
### cotton.lua ###
Cotton Seed=Seme di cotone
Cotton=Cotone
String=Filo
### cucumber.lua ###
Cucumber=Cetriolo
### garlic.lua ###
Garlic clove=Spicchio d'aglio
Garlic=Aglio
Garlic Braid=Treccia d'aglio
### grapes.lua ###
Grapes=Chicchi d'uva
Trellis (place on soil before planting grapes)=Graticcio (mettilo sul terreno coltivabile prima di piantare i chicchi d'uva)
### hemp.lua ###
Hemp Seed=Seme di canapa
Hemp Leaf=Foglia di canapa
Bottle of Hemp Oil=Bottiglia d'olio di canapa
Hemp Fibre=Fibra di canapa
Hemp Block=Blocco di canapa
Hemp Rope=Corda di canapa
### melon.lua ###
Melon Slice=Fetta d'anguria
Melon=Anguria
### onion.lua ###
Onion=Cipolla
### peas.lua ###
Pea Pod=Baccello di piselli
Peas=Piselli
Pea Soup=Zuppa di piselli
### pepper.lua ###
Peppercorn=Grano di pepe
Pepper=Pepe
Ground Pepper=Pepe macinato
### pinapple.lua ###
Pineapple Top=Cima d'ananas
Pineapple=Ananas
Pineapple Ring=Anello d'ananas
Pineapple Juice=Succo d'ananas
### potato.lua ###
Potato=Patata
Baked Potato=Patata arrostita
Cucumber and Potato Salad=Insalata di patate e cetrioli
### pumpkin.lua ###
Pumpkin Slice=Fetta di zucca
Jack 'O Lantern (punch to turn on and off)=Jack Lanterna (colpirlo per accenderlo e spegnerlo)
Scarecrow Bottom=Fondo dello spaventapasseri
Pumpkin Bread=Pane alla zucca
Pumpkin Dough=Pasta di zucca
Pumpkin=Zucca
### raspberry.lua ###
Raspberries=Lamponi
Raspberry Smoothie=Purea di lamponi
### rhubarb.lua ###
Rhubarb=Rabarbaro
Rhubarb Pie=Tortino al rabarbaro
### ryeoatrice.lua ###
Rye=Segale
Rye seed=Seme di segale
Oat=Avena
Oat seed=Seme d'avena
Rice=Riso
Rice grains=Chicchi di riso
Rice Bread=Pane di riso
Rice Flour=Farina di riso
Multigrain Flour=Farina multicereale
Multigrain Bread=Pane multicereale
### tomato.lua ###
Tomato=Pomodoro
### wheat.lua ###
Wheat Seed=Seme di grano
Wheat=Grano
Straw=Paglia
Flour=Farina
Bread=Pane
Sliced Bread=Pane a fette
Toast=Pane tostato
Toast Sandwich=Panino di pane tostato

View File

@ -1,258 +0,0 @@
# Portuguese Translation for farming mod.
# Copyright (C) 2017
# This file is distributed under the same license as the farming package.
# BrunoMine <borgesdossantosbruno@gmail.com>, 2017.
#
msgid ""
msgstr ""
"Project-Id-Version: 1.27\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-16 17:38-0300\n"
"PO-Revision-Date: 2017-08-17 17:01-0300\n"
"Last-Translator: BrunoMine <borgesdossantosbruno@gmail.com>\n"
"Language-Team: \n"
"Language: Portuguese\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Gtranslator 2.91.7\n"
#: barley.lua
msgid "Barley Seed"
msgstr "Sementes de Cevada"
#: barley.lua
msgid "Barley"
msgstr "Cevada"
#: beanpole.lua
msgid "Green Beans"
msgstr "Feijoes Verdes"
#: beanpole.lua
msgid "Bean Pole (place on soil before planting beans)"
msgstr "Apoio de feijao (coloque no solo antes de plantar feijao)"
#: blueberry.lua
msgid "Blueberries"
msgstr "Mirtilos"
#: blueberry.lua
msgid "Blueberry Muffin"
msgstr "Muffin de Mirtilos"
#: carrot.lua
msgid "Carrot"
msgstr "Cenoura"
#: carrot.lua
msgid "Golden Carrot"
msgstr "Cenoura Dourada"
#: cocoa.lua
msgid "Cocoa Beans"
msgstr "Amendoas de Cacau"
#: cocoa.lua
msgid "Cookie"
msgstr "Cookie"
#: cocoa.lua
msgid "Bar of Dark Chocolate"
msgstr "Barra de Chocolate Preto"
#: coffee.lua
msgid "Coffee Beans"
msgstr "Grao de Cafe"
#: coffee.lua
msgid "Drinking Cup (empty)"
msgstr "Xicara (vazia)"
#: coffee.lua
msgid "Cold Cup of Coffee"
msgstr "Xicara de Cafe Frio"
#: coffee.lua
msgid "Hot Cup of Coffee"
msgstr "Xicara de Cafe Quente"
#: corn.lua
msgid "Corn"
msgstr "Milho"
#: corn.lua
msgid "Corn on the Cob"
msgstr "Espiga de Milho"
#: corn.lua
msgid "Bottle of Ethanol"
msgstr "Garrafa de Etanol"
#: cotton.lua
msgid "Cotton Seed"
msgstr "Sementes de Algodao"
#: cotton.lua
msgid "Cotton"
msgstr "Algodao"
#: cucumber.lua
msgid "Cucumber"
msgstr "Pepino"
#: donut.lua
msgid "Donut"
msgstr "Donut"
#: donut.lua
msgid "Chocolate Donut"
msgstr "Donut de Chocolate"
#: donut.lua
msgid "Apple Donut"
msgstr "Donut de Maça"
#: grapes.lua
msgid "Grapes"
msgstr "Uvas"
#: grapes.lua
msgid "Trellis (place on soil before planting grapes)"
msgstr "Grade de Ripas (colocar no solo antes de plantar uvas)"
#: hemp.lua
msgid "Hemp Seed"
msgstr "Sementes de Canhamo"
#: hemp.lua
msgid "Hemp Leaf"
msgstr "Folha de Canhamo"
#: hemp.lua
msgid "Bottle of Hemp Oil"
msgstr "Garrafa de Oleo de Canhamo"
#: hemp.lua
msgid "Hemp Fibre"
msgstr "Fibra de Canhamo"
#: hemp.lua
msgid "Hemp Rope"
msgstr "Corda de Canhamo"
#: hoes.lua
msgid "Wooden Hoe"
msgstr "Enxada de Madeira"
#: hoes.lua
msgid "Stone Hoe"
msgstr "Enxada de Pedra"
#: hoes.lua
msgid "Steel Hoe"
msgstr "Enxada de Aço"
#: hoes.lua
msgid "Bronze Hoe"
msgstr "Enxada de Bronze"
#: hoes.lua
msgid "Mese Hoe"
msgstr "Enxada de Mese"
#: hoes.lua
msgid "Diamond Hoe"
msgstr "Enxada de Diamante"
#: init.lua
msgid "Seed"
msgstr "Sementes"
#: melon.lua
msgid "Melon Slice"
msgstr "Sementes de Melancia"
#: melon.lua
msgid "Melon"
msgstr "Melancia"
#: potato.lua
msgid "Potato"
msgstr "Batata"
#: potato.lua
msgid "Baked Potato"
msgstr "Batata Cozida"
#: pumpkin.lua
msgid "Pumpkin"
msgstr "Abobora"
#: pumpkin.lua
msgid "Pumpkin Slice"
msgstr "Pedaço de Abobora"
#: pumpkin.lua
msgid "Jack 'O Lantern (punch to turn on and off)"
msgstr "Jack 'O Lantern (Socos para ligar e desligar)"
#: pumpkin.lua
msgid "Pumpkin Bread"
msgstr "Pao de Abobora"
#: pumpkin.lua
msgid "Pumpkin Dough"
msgstr "Massa de Abobora"
#: raspberry.lua
msgid "Raspberries"
msgstr "Framboesa"
#: raspberry.lua
msgid "Raspberry Smoothie"
msgstr "Batida de Framboesa"
#: rhubarb.lua
msgid "Rhubarb"
msgstr "Ruibarbo"
#: rhubarb.lua
msgid "Rhubarb Pie"
msgstr "Torta de Ruibarbo"
#: soil.lua
msgid "Soil"
msgstr "Solo"
#: soil.lua
msgid "Wet Soil"
msgstr "Solo Seco"
#: sugar.lua
msgid "Sugar"
msgstr "Açucar"
#: tomato.lua
msgid "Tomato"
msgstr "Tomate"
#: wheat.lua
msgid "Wheat Seed"
msgstr "Sementes de Trigo"
#: wheat.lua
msgid "Wheat"
msgstr "Trigo"
#: wheat.lua
msgid "Straw"
msgstr "Palha"
#: wheat.lua
msgid "Flour"
msgstr "Farinha"
#: wheat.lua
msgid "Bread"
msgstr "Pao"

195
locale/pt.txt Normal file
View File

@ -0,0 +1,195 @@
# Portuguese translation of the farming mod by TenPlus1
# textdomain: farming
# author: BrunoMine <borgesdossantosbruno@gmail.com>
# author: TheDarkTiger
# last update: 2020/Apr/26
###### folder . ######
### init.lua ###
Seed=Sementes
### compatibility.lua ###
Banana=
Banana Leaves=
Orange=
Strawberry=
### food.lua ###
Sugar=Açucar
Salt=
Rose Water=
Turkish Delight=
Garlic Bread=
Donut=Donut
Chocolate Donut=Donut de Chocolate
Apple Donut=Donut de Maça
Porridge=
Jaffa Cake=
### hoes.lua ###
Hoe=Enxada
Wooden Hoe=Enxada de Madeira
Stone Hoe=Enxada de Pedra
Steel Hoe=Enxada de Aço
Bronze Hoe=Enxada de Bronze
Mese Hoe=Enxada de Mese
Diamond Hoe=Enxada de Diamante
# Surcharge du mod [Toolranks] à faire #
Hoe Bomb (use or throw on grassy areas to hoe land)=
Mithril Scythe (Right-click to harvest and replant crops)=
# Surcharge du mod [Toolranks] à faire #
### soil.lua ###
Soil=Solo
Wet Soil=Solo Seco
### utensils.lua ###
Wooden Bowl=
Saucepan=
Cooking Pot=
Baking Tray=
Skillet=
Mortar and Pestle=
Cutting Board=
Juicer=
Glass Mixing Bowl=
###### folder ./crops ######
### barley.lua ###
Barley Seed=Sementes de Cevada
Barley=Cevada
### beans.lua ###
Green Beans=Feijoes Verdes
Bean Pole (place on soil before planting beans)=Apoio de feijao (coloque no solo antes de plantar feijao)
### beetroot.lua ###
Beetroot=
Beetroot Soup=
### blueberry.lua ###
Blueberries=Mirtilos
Blueberry Muffin=Muffin de Mirtilos
Blueberry Pie=
### carrot.lua ##
Carrot=Cenoura
Carrot Juice=
Golden Carrot=Cenoura Dourada
### chili.lua ###
Chili Pepper=
Bowl of Chili=
### cocoa.lua ###
Cocoa Beans=Amendoas de Cacau
Cookie=Cookie
Bar of Dark Chocolate=Barra de Chocolate Preto
Chocolate Block=
### coffee.lua ###
Coffee Beans=Grao de Cafe
Cup of Coffee=Xicara de Cafe
### corn.lua ###
Corn=Milho
Corn on the Cob=Espiga de Milho
Cornstarch=
Bottle of Ethanol=Garrafa de Etanol
### cotton.lua ###
Cotton Seed=Sementes de Algodao
Cotton=Algodao
String=
### cucumber.lua ###
Cucumber=Pepino
### garlic.lua ###
Garlic clove=
Garlic=
Garlic Braid=
### grapes.lua ###
Grapes=Uvas
Trellis (place on soil before planting grapes)=Grade de Ripas (colocar no solo antes de plantar uvas)
### hemp.lua ###
Hemp Seed=Sementes de Canhamo
Hemp Leaf=Folha de Canhamo
Bottle of Hemp Oil=Garrafa de Oleo de Canhamo
Hemp Fibre=Fibra de Canhamo
Hemp Block=
Hemp Rope=Corda de Canhamo
### melon.lua ###
Melon Slice=Sementes de Melancia
Melon=Melancia
### onion.lua ###
Onion=
### peas.lua ###
Pea Pod=
Peas=
Pea Soup=
### pepper.lua ###
Peppercorn=
Pepper=
Ground Pepper=
### pinapple.lua ###
Pineapple Top=
Pineapple=
Pineapple Ring=
Pineapple Juice=
### potato.lua ###
Potato=Batata
Baked Potato=Batata Cozida
Cucumber and Potato Salad=
### pumpkin.lua ###
Pumpkin Slice=Pedaço de Abobora
Jack 'O Lantern (punch to turn on and off)=Jack 'O Lantern (Socos para ligar e desligar)
Scarecrow Bottom=
Pumpkin Bread=Pao de Abobora
Pumpkin Dough=Massa de Abobora
Pumpkin=Abobora
### raspberry.lua ###
Raspberries=Framboesa
Raspberry Smoothie=Batida de Framboesa
### rhubarb.lua ###
Rhubarb=Ruibarbo
Rhubarb Pie=Torta de Ruibarbo
### ryeoatrice.lua ###
Rye=
Rye seed=
Oat=
Oat seed=
Rice=
Rice grains=
Rice Bread=
Rice Flour=
Multigrain Flour=
Multigrain Bread=
### tomato.lua ###
Tomato=Tomate
### wheat.lua ###
Wheat Seed=Sementes de Trigo
Wheat=Trigo
Straw=Palha
Flour=Farinha
Bread=Pao
Sliced Bread=
Toast=
Toast Sandwich=

View File

@ -1,262 +0,0 @@
# Russian translation for farming mod.
# Copyright (C) 2018
# This file is distributed under the same license as the farming package.
# codexp <codexp@gmx.net>, 2018.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: 1.27\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-03-22 01:25+0100\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: Russian\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: barley.lua
msgid "Barley Seed"
msgstr "семена ячменя"
#: barley.lua
msgid "Barley"
msgstr "ячмень"
#: beanpole.lua
msgid "Green Beans"
msgstr "зеленая фасоль"
#: beanpole.lua
msgid "Bean Pole (place on soil before planting beans)"
msgstr "жердь для бобовых (установите на почву перед посадкой бобовых)"
#: blueberry.lua
msgid "Blueberries"
msgstr "голубика"
#: blueberry.lua
msgid "Blueberry Muffin"
msgstr "кекс из голубики"
#: carrot.lua
msgid "Carrot"
msgstr "морковь"
#: carrot.lua
msgid "Golden Carrot"
msgstr "золотая морковь"
#: cocoa.lua
msgid "Cocoa Beans"
msgstr "бобы какао"
#: cocoa.lua
msgid "Cookie"
msgstr "печенье"
#: cocoa.lua
msgid "Bar of Dark Chocolate"
msgstr "плитка темного шоколада"
#: coffee.lua
msgid "Coffee Beans"
msgstr "кофе в зернах"
#: coffee.lua
msgid "Drinking Cup (empty)"
msgstr "чашка (пустая)"
#: coffee.lua
msgid "Cold Cup of Coffee"
msgstr "холодная чашка кофе"
#: coffee.lua
msgid "Hot Cup of Coffee"
msgstr "горячая чашка кофе"
#: corn.lua
msgid "Corn"
msgstr "кукуруза"
#: corn.lua
msgid "Corn on the Cob"
msgstr "початок кукурузы"
#: corn.lua
msgid "Bottle of Ethanol"
msgstr "бутылка этилового спирта"
#: cotton.lua
msgid "Cotton Seed"
msgstr "семена хлопка"
#: cotton.lua
msgid "Cotton"
msgstr "хлопок"
#: cucumber.lua
msgid "Cucumber"
msgstr "огурец"
#: donut.lua
msgid "Donut"
msgstr "пончик"
#: donut.lua
msgid "Chocolate Donut"
msgstr "шоколадный пончик"
#: donut.lua
msgid "Apple Donut"
msgstr "яблочный пончик"
#: grapes.lua
msgid "Grapes"
msgstr "виноград"
#: grapes.lua
msgid "Trellis (place on soil before planting grapes)"
msgstr "решетка (поставьте на почву для посадки винограда)"
#: hemp.lua
msgid "Hemp Seed"
msgstr "семена конопли"
#: hemp.lua
msgid "Hemp Leaf"
msgstr "листья конопли"
#: hemp.lua
msgid "Bottle of Hemp Oil"
msgstr "бутылка конопляного масла"
#: hemp.lua
msgid "Hemp Fibre"
msgstr ""
#: hemp.lua
msgid "Hemp Rope"
msgstr "Пенька"
#: hoes.lua
msgid "Hoe"
msgstr "мотыга"
#: hoes.lua
msgid "Wooden Hoe"
msgstr "деревянная мотыга"
#: hoes.lua
msgid "Stone Hoe"
msgstr "каменная мотыга"
#: hoes.lua
msgid "Steel Hoe"
msgstr "стальная мотыга"
#: hoes.lua
msgid "Bronze Hoe"
msgstr "бронзовая мотыга"
#: hoes.lua
msgid "Mese Hoe"
msgstr "магическая мотыга"
#: hoes.lua
msgid "Diamond Hoe"
msgstr "алмазная мотыга"
#: init.lua
msgid "Seed"
msgstr "семена"
#: melon.lua
msgid "Melon Slice"
msgstr "ломтик арбуза"
#: melon.lua
msgid "Melon"
msgstr "арбуз"
#: potato.lua
msgid "Potato"
msgstr "картофель"
#: potato.lua
msgid "Baked Potato"
msgstr "запеченный картофель"
#: pumpkin.lua
msgid "Pumpkin"
msgstr "тыква"
#: pumpkin.lua
msgid "Pumpkin Slice"
msgstr "ломтик тыквы"
#: pumpkin.lua
msgid "Jack 'O Lantern (punch to turn on and off)"
msgstr "светильник джека (удар для включения и отключения)"
#: pumpkin.lua
msgid "Pumpkin Bread"
msgstr "тыквенный хлеб"
#: pumpkin.lua
msgid "Pumpkin Dough"
msgstr "тыквенное тесто"
#: raspberry.lua
msgid "Raspberries"
msgstr "малина"
#: raspberry.lua
msgid "Raspberry Smoothie"
msgstr "малиновый коктейль"
#: rhubarb.lua
msgid "Rhubarb"
msgstr "ревень"
#: rhubarb.lua
msgid "Rhubarb Pie"
msgstr "пирог из ревеня"
#: soil.lua
msgid "Soil"
msgstr "земля"
#: soil.lua
msgid "Wet Soil"
msgstr "мокрая земля"
#: sugar.lua
msgid "Sugar"
msgstr "сахар"
#: tomato.lua
msgid "Tomato"
msgstr "помидор"
#: wheat.lua
msgid "Wheat Seed"
msgstr ""
#: wheat.lua
msgid "Wheat"
msgstr "семена пшеницы"
#: wheat.lua
msgid "Straw"
msgstr "солома"
#: wheat.lua
msgid "Flour"
msgstr "мука"
#: wheat.lua
msgid "Bread"
msgstr "хлеб"

212
locale/ru.txt Normal file
View File

@ -0,0 +1,212 @@
# Russian translation of the farming mod by TenPlus1
# textdomain: farming
# author: codexp <codexp@gmx.net>
# author: TheDarkTiger
# author: YELLOW <pikayellow35@gmail.com>
# last update: 2020/Jun/20
###### folder . ######
### init.lua ###
Seed=Семена
### compatibility.lua ###
Banana=Банан
Banana Leaves=Листья банана
Orange=Апельсин
Strawberry=Земляника
### food.lua ###
Sugar=Сахар
Salt=Соль
Rose Water=Розовая вода
Turkish Delight=Рахат-лукум
Garlic Bread=Чесночный хлеб
Donut=Пончик
Chocolate Donut=Шоколадный пончик
Apple Donut=Яблочный пончик
Porridge=Каша
Jaffa Cake=Яффский пирог
Apple Pie=Яблочный пирог
Cactus Juice=Кактусовый сок
### hoes.lua ###
Hoe=Мотыга
Wooden Hoe=Деревянная мотыга
Stone Hoe=Каменная мотыга
Steel Hoe=Стальная мотыга
Bronze Hoe=Бронзовая мотыга
Mese Hoe=Магическая мотыга
Diamond Hoe=Алмазная мотыга
# Surcharge du mod [Toolranks] à faire #
Hoe Bomb (use or throw on grassy areas to hoe land)=Мотыгобомба (используйте или бросьте на траву для ее обработки)
Mithril Scythe (Right-click to harvest and replant crops)=Мифриловая коса (Щелкните правой кнопкой мыши для сбора и пересадки растений)
# Surcharge du mod [Toolranks] à faire #
%s Hoe=%s мотыга
Silver=Серебряная
Mithril=Мифриловая
Silver Hoe=Серебряная
Mithril Hoe=Мифриловая
### soil.lua ###
Soil=Земля
Wet Soil=Увлажненная земля
Savanna Soil=Земля саванны
Wet Savanna Soil=Увлажненная земля саванны
### utensils.lua ###
Wooden Bowl=Деревянная миска
Saucepan=Кастрюля
Cooking Pot=Котел
Baking Tray=Противень
Skillet=Сковорода
Mortar and Pestle=Ступка и пестик
Cutting Board=Разделочная доска
Juicer=Соковыжималка
Glass Mixing Bowl=Стеклянная чаша
###### folder ./crops ######
### barley.lua ###
Barley Seed=Семена ячменя
Barley=Ячмень
### beans.lua ###
Green Beans=Зеленая фасоль
Bean Pole (place on soil before planting beans)=Жердь для бобовых (установите на почву перед посадкой бобовых)
### beetroot.lua ###
Beetroot=Свекла
Beetroot Soup=Борщ
### blueberry.lua ###
Blueberries=Голубика
Blueberry Muffin=Кекс с голубикой
Blueberry Pie=Пирог с голубикой
### carrot.lua ##
Carrot=Морковь
Carrot Juice=Морковный сок
Golden Carrot=Золотая морковь
### chili.lua ###
Chili Pepper=Перец чили
Bowl of Chili=Миска чили
### cocoa.lua ###
Cocoa Beans=Какао-бобы
Cookie=Печенье
Bar of Dark Chocolate=Плитка темного шоколада
Chocolate Block=Шоколадный блок
### coffee.lua ###
Coffee Beans=Кофейные зерна
Cup of Coffee=Чашка кофе
### corn.lua ###
Corn=Кукуруза
Corn on the Cob=Початок кукурузы
Cornstarch=Кукурузный крахмал
Bottle of Ethanol=Бутылка спирта
### cotton.lua ###
Wild Cotton=Дикорастущий хлопок
Cotton Seed=Семена хлопка
Cotton=Хлопок
String=Нить
### cucumber.lua ###
Cucumber=Огурец
### garlic.lua ###
Garlic clove=Зубчик чеснока
Garlic=Чеснок
Garlic Braid=Связка чеснока
### grapes.lua ###
Grapes=Виноград
Trellis (place on soil before planting grapes)=Решетка (поставьте на почву перед посадкой винограда)
### hemp.lua ###
Hemp Seed=Семена конопли
Hemp Leaf=Лист конопли
Bottle of Hemp Oil=Бутылка конопляного масла
Hemp Fibre=Конопляное волокно
Hemp Block=Блок конопли
Hemp Rope=Пеньковая веревка
### melon.lua ###
Melon Slice=Долька арбуза
Melon=Арбуз
### mint.lua ###
Mint Seeds=Семена мяты
Mint Leaf=Лист мяты
Mint Tea=Чай с мятой
### onion.lua ###
Onion=Лук
Onion Soup=Луковый суп
### peas.lua ###
Pea Pod=Стручок гороха
Peas=Горох
Pea Soup=Гороховый суп
### pepper.lua ###
Peppercorn=Перчинка
Pepper=Перец
Ground Pepper=Молотый перец
### pinapple.lua ###
Pineapple Top=Верхушка ананаса
Pineapple=Ананас
Pineapple Ring=Кольцо ананаса
Pineapple Juice=Ананасовый сок
### potato.lua ###
Potato=Картофель
Baked Potato=Печеный картофель
Cucumber and Potato Salad=Салат из огурцов и картофеля
### pumpkin.lua ###
Pumpkin Slice=Ломтик тыквы
Jack 'O Lantern (punch to turn on and off)=Светильник джека (удар для включения и выключения)
Scarecrow Bottom=Основание пугала
Pumpkin Bread=Тыквенный хлеб
Pumpkin Dough=Тыквенное тесто
Pumpkin=Тыква
### raspberry.lua ###
Raspberries=Малина
Raspberry Smoothie=Малиновый смузи
### rhubarb.lua ###
Rhubarb=Ревень
Rhubarb Pie=Пирог с ревенем
### ryeoatrice.lua ###
Rye=Рожь
Rye seed=Зёрна ржи
Oat=Овес
Oat seed=Семена овса
Rice grains=Зёрна риса
Rice=Рис
Rice Bread=Рисовый хлеб
Rice Flour=Рисовая мука
Multigrain Flour=Мультизерновая мука
Multigrain Bread=Мультизерновой хлеб
### tomato.lua ###
Tomato=Помидор
### wheat.lua ###
Wheat Seed=Зёрна пшеницы
Wheat=Пшеница
Straw=Солома
Flour=Мука
Bread=Хлеб
Sliced Bread=Нарезанный хлеб
Toast=Тост
Toast Sandwich=Сэндвич

View File

@ -1,258 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-16 17:38-0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: barley.lua
msgid "Barley Seed"
msgstr ""
#: barley.lua
msgid "Barley"
msgstr ""
#: beanpole.lua
msgid "Green Beans"
msgstr ""
#: beanpole.lua
msgid "Bean Pole (place on soil before planting beans)"
msgstr ""
#: blueberry.lua
msgid "Blueberries"
msgstr ""
#: blueberry.lua
msgid "Blueberry Muffin"
msgstr ""
#: carrot.lua
msgid "Carrot"
msgstr ""
#: carrot.lua
msgid "Golden Carrot"
msgstr ""
#: cocoa.lua
msgid "Cocoa Beans"
msgstr ""
#: cocoa.lua
msgid "Cookie"
msgstr ""
#: cocoa.lua
msgid "Bar of Dark Chocolate"
msgstr ""
#: coffee.lua
msgid "Coffee Beans"
msgstr ""
#: coffee.lua
msgid "Drinking Cup (empty)"
msgstr ""
#: coffee.lua
msgid "Cold Cup of Coffee"
msgstr ""
#: coffee.lua
msgid "Hot Cup of Coffee"
msgstr ""
#: corn.lua
msgid "Corn"
msgstr ""
#: corn.lua
msgid "Corn on the Cob"
msgstr ""
#: corn.lua
msgid "Bottle of Ethanol"
msgstr ""
#: cotton.lua
msgid "Cotton Seed"
msgstr ""
#: cotton.lua
msgid "Cotton"
msgstr ""
#: cucumber.lua
msgid "Cucumber"
msgstr ""
#: donut.lua
msgid "Donut"
msgstr ""
#: donut.lua
msgid "Chocolate Donut"
msgstr ""
#: donut.lua
msgid "Apple Donut"
msgstr ""
#: grapes.lua
msgid "Grapes"
msgstr ""
#: grapes.lua
msgid "Trellis (place on soil before planting grapes)"
msgstr ""
#: hemp.lua
msgid "Hemp Seed"
msgstr ""
#: hemp.lua
msgid "Hemp Leaf"
msgstr ""
#: hemp.lua
msgid "Bottle of Hemp Oil"
msgstr ""
#: hemp.lua
msgid "Hemp Fibre"
msgstr ""
#: hemp.lua
msgid "Hemp Rope"
msgstr ""
#: hoes.lua
msgid "Wooden Hoe"
msgstr ""
#: hoes.lua
msgid "Stone Hoe"
msgstr ""
#: hoes.lua
msgid "Steel Hoe"
msgstr ""
#: hoes.lua
msgid "Bronze Hoe"
msgstr ""
#: hoes.lua
msgid "Mese Hoe"
msgstr ""
#: hoes.lua
msgid "Diamond Hoe"
msgstr ""
#: init.lua
msgid "Seed"
msgstr ""
#: melon.lua
msgid "Melon Slice"
msgstr ""
#: melon.lua
msgid "Melon"
msgstr ""
#: potato.lua
msgid "Potato"
msgstr ""
#: potato.lua
msgid "Baked Potato"
msgstr ""
#: pumpkin.lua
msgid "Pumpkin"
msgstr ""
#: pumpkin.lua
msgid "Pumpkin Slice"
msgstr ""
#: pumpkin.lua
msgid "Jack 'O Lantern (punch to turn on and off)"
msgstr ""
#: pumpkin.lua
msgid "Pumpkin Bread"
msgstr ""
#: pumpkin.lua
msgid "Pumpkin Dough"
msgstr ""
#: raspberry.lua
msgid "Raspberries"
msgstr ""
#: raspberry.lua
msgid "Raspberry Smoothie"
msgstr ""
#: rhubarb.lua
msgid "Rhubarb"
msgstr ""
#: rhubarb.lua
msgid "Rhubarb Pie"
msgstr ""
#: soil.lua
msgid "Soil"
msgstr ""
#: soil.lua
msgid "Wet Soil"
msgstr ""
#: sugar.lua
msgid "Sugar"
msgstr ""
#: tomato.lua
msgid "Tomato"
msgstr ""
#: wheat.lua
msgid "Wheat Seed"
msgstr ""
#: wheat.lua
msgid "Wheat"
msgstr ""
#: wheat.lua
msgid "Straw"
msgstr ""
#: wheat.lua
msgid "Flour"
msgstr ""
#: wheat.lua
msgid "Bread"
msgstr ""

194
locale/template.txt Normal file
View File

@ -0,0 +1,194 @@
# Translation of the farming mod by TenPlus1
# textdomain: farming
# author: (you)
# last update: 2020/Apr/26
###### folder . ######
### init.lua ###
Seed=
### compatibility.lua ###
Banana=
Banana Leaves=
Orange=
Strawberry=
### food.lua ###
Sugar=
Salt=
Rose Water=
Turkish Delight=
Garlic Bread=
Donut=
Chocolate Donut=
Apple Donut=
Porridge=
Jaffa Cake=
### hoes.lua ###
Hoe=
Wooden Hoe=
Stone Hoe=
Steel Hoe=
Bronze Hoe=
Mese Hoe=
Diamond Hoe=
# Surcharge du mod [Toolranks] <20> faire #
Hoe Bomb (use or throw on grassy areas to hoe land)=
Mithril Scythe (Right-click to harvest and replant crops)=
# Surcharge du mod [Toolranks] <20> faire #
### soil.lua ###
Soil=
Wet Soil=
### utensils.lua ###
Wooden Bowl=
Saucepan=
Cooking Pot=
Baking Tray=
Skillet=
Mortar and Pestle=
Cutting Board=
Juicer=
Glass Mixing Bowl=
###### folder ./crops ######
### barley.lua ###
Barley Seed=
Barley=
### beans.lua ###
Green Beans=
Bean Pole (place on soil before planting beans)=
### beetroot.lua ###
Beetroot=
Beetroot Soup=
### blueberry.lua ###
Blueberries=
Blueberry Muffin=
Blueberry Pie=
### carrot.lua ##
Carrot=
Carrot Juice=
Golden Carrot=
### chili.lua ###
Chili Pepper=
Bowl of Chili=
### cocoa.lua ###
Cocoa Beans=
Cookie=
Bar of Dark Chocolate=
Chocolate Block=
### coffee.lua ###
Coffee Beans=
Cup of Coffee=
### corn.lua ###
Corn=
Corn on the Cob=
Cornstarch=
Bottle of Ethanol=
### cotton.lua ###
Cotton Seed=
Cotton=
String=
### cucumber.lua ###
Cucumber=
### garlic.lua ###
Garlic clove=
Garlic=
Garlic Braid=
### grapes.lua ###
Grapes=
Trellis (place on soil before planting grapes)=
### hemp.lua ###
Hemp Seed=
Hemp Leaf=
Bottle of Hemp Oil=
Hemp Fibre=
Hemp Block=
Hemp Rope=
### melon.lua ###
Melon Slice=
Melon=
### onion.lua ###
Onion=
### peas.lua ###
Pea Pod=
Peas=
Pea Soup=
### pepper.lua ###
Peppercorn=
Pepper=
Ground Pepper=
### pinapple.lua ###
Pineapple Top=
Pineapple=
Pineapple Ring=
Pineapple Juice=
### potato.lua ###
Potato=
Baked Potato=
Cucumber and Potato Salad=
### pumpkin.lua ###
Pumpkin Slice=
Jack 'O Lantern (punch to turn on and off)=
Scarecrow Bottom=
Pumpkin Bread=
Pumpkin Dough=
Pumpkin=
### raspberry.lua ###
Raspberries=
Raspberry Smoothie=
### rhubarb.lua ###
Rhubarb=
Rhubarb Pie=
### ryeoatrice.lua ###
Rye=
Rye seed=
Oat=
Oat seed=
Rice=
Rice grains=
Rice Bread=
Rice Flour=
Multigrain Flour=
Multigrain Bread=
### tomato.lua ###
Tomato=
### wheat.lua ###
Wheat Seed=
Wheat=
Straw=
Flour=
Bread=
Sliced Bread=
Toast=
Toast Sandwich=

View File

@ -34,6 +34,7 @@ if minetest.get_modpath("lucky_block") then
{"dro", {"farming:hoe_bomb"}, 10}, {"dro", {"farming:hoe_bomb"}, 10},
{"dro", {"farming:turkish_delight"}, 5}, {"dro", {"farming:turkish_delight"}, 5},
{"lig"}, {"lig"},
{"dro", {"farming:scythe_mithril"}, 1},
{"sch", "instafarm", 0, true, { {"sch", "instafarm", 0, true, {
{"farming:wheat_8", "farming:carrot_8"}, {"farming:wheat_8", "farming:carrot_8"},
{"farming:cotton_8", "farming:rhubarb_3"}, {"farming:cotton_8", "farming:rhubarb_3"},
@ -67,6 +68,9 @@ if minetest.get_modpath("lucky_block") then
{name = "farming:seed_barley", max = 15}, {name = "farming:seed_barley", max = 15},
{name = "farming:seed_barley", max = 15}, {name = "farming:seed_barley", max = 15},
{name = "farming:seed_hemp", max = 15}, {name = "farming:seed_hemp", max = 15},
{name = "farming:seed_rye", max = 15},
{name = "farming:seed_rice", max = 15},
{name = "farming:seed_oat", max = 15},
{name = "farming:soil_wet", max = 10}, {name = "farming:soil_wet", max = 10},
}}, }},
}) })

View File

@ -1,18 +1,22 @@
-- decoration function -- decoration function
local function register_plant(name, min, max, spawnon, spawnby, num, enabled) local function register_plant(name, min, max, spawnon, spawnby, num, rarety)
if enabled ~= true then -- do not place on mapgen if no value given (or not true)
if not rarety then
return return
end end
-- set rarety value or default to farming.rarety if not a number
rarety = tonumber(rarety) or farming.rarety
minetest.register_decoration({ minetest.register_decoration({
deco_type = "simple", deco_type = "simple",
place_on = spawnon or {"default:dirt_with_grass"}, place_on = spawnon or {"default:dirt_with_grass"},
sidelen = 16, sidelen = 16,
noise_params = { noise_params = {
offset = 0, offset = 0,
scale = farming.rarety, -- 0.006, scale = rarety,
spread = {x = 100, y = 100, z = 100}, spread = {x = 100, y = 100, z = 100},
seed = 329, seed = 329,
octaves = 3, octaves = 3,
@ -22,7 +26,7 @@ local function register_plant(name, min, max, spawnon, spawnby, num, enabled)
y_max = max, y_max = max,
decoration = "farming:" .. name, decoration = "farming:" .. name,
spawn_by = spawnby, spawn_by = spawnby,
num_spawn_by = num, num_spawn_by = num
}) })
end end
@ -30,9 +34,10 @@ end
-- add crops to mapgen -- add crops to mapgen
register_plant("potato_3", 15, 40, nil, "", -1, farming.potato) register_plant("potato_3", 15, 40, nil, "", -1, farming.potato)
register_plant("tomato_7", 5, 20, nil, "", -1, farming.tomato) register_plant("tomato_7", 5, 20, nil, "", -1, farming.tomato)
register_plant("corn_7", 12, 22, nil, "", -1, farming.corn) register_plant("corn_7", 12, 22, nil, "", -1, nil)
register_plant("coffee_5", 20, 45, {"default:dirt_with_dry_grass", register_plant("coffee_5", 20, 45, {"default:dirt_with_dry_grass",
"default:dirt_with_rainforest_litter"}, "", -1, farming.coffee) "default:dirt_with_rainforest_litter",
"default:dry_dirt_with_dry_grass"}, "", -1, farming.coffee)
register_plant("raspberry_4", 3, 10, nil, "", -1, farming.raspberry) register_plant("raspberry_4", 3, 10, nil, "", -1, farming.raspberry)
register_plant("rhubarb_3", 3, 15, nil, "", -1, farming.rhubarb) register_plant("rhubarb_3", 3, 15, nil, "", -1, farming.rhubarb)
register_plant("blueberry_4", 3, 10, nil, "", -1, farming.blueberry) register_plant("blueberry_4", 3, 10, nil, "", -1, farming.blueberry)
@ -42,6 +47,9 @@ register_plant("onion_5", 5, 22, nil, "", -1, farming.onion)
register_plant("garlic_5", 3, 30, nil, "group:tree", 1, farming.garlic) register_plant("garlic_5", 3, 30, nil, "group:tree", 1, farming.garlic)
register_plant("pea_5", 25, 50, nil, "", -1, farming.peas) register_plant("pea_5", 25, 50, nil, "", -1, farming.peas)
register_plant("beetroot_5", 1, 15, nil, "", -1, farming.beetroot) register_plant("beetroot_5", 1, 15, nil, "", -1, farming.beetroot)
register_plant("mint_4", 1, 75, {"default:dirt_with_grass",
"default:dirt_with_coniferous_litter"}, "group:water", 1, farming.mint)
register_plant("cabbage_6", 2, 10, nil, "", -1, farming.cabbage)
if minetest.get_mapgen_setting("mg_name") == "v6" then if minetest.get_mapgen_setting("mg_name") == "v6" then
@ -52,10 +60,10 @@ if minetest.get_mapgen_setting("mg_name") == "v6" then
register_plant("pumpkin_8", 1, 20, nil, "group:water", 1, farming.pumpkin) register_plant("pumpkin_8", 1, 20, nil, "group:water", 1, farming.pumpkin)
else else
-- v7 maps have a beach so plants growing near water is limited to 6 high -- v7 maps have a beach so plants growing near water is limited to 6 high
register_plant("carrot_8", 1, 15, nil, "", -1, farming.carrot) register_plant("carrot_8", 1, 15, nil, "", -1, nil)
register_plant("cucumber_4", 1, 10, nil, "", -1, farming.cucumber) register_plant("cucumber_4", 1, 10, nil, "", -1, farming.cucumber)
register_plant("melon_8", 1, 6, {"default:dirt_with_dry_grass", register_plant("melon_8", 1, 6, {"default:dirt_with_dry_grass",
"default:dirt_with_rainforest_litter"}, "", -1, farming.melon) "default:dirt_with_rainforest_litter"}, "", -1, farming.melon)
register_plant("pumpkin_8", 1, 6, nil, "", -1, farming.pumpkin) register_plant("pumpkin_8", 1, 6, nil, "", -1, farming.pumpkin)
end end
@ -66,7 +74,7 @@ minetest.register_decoration({
sidelen = 16, sidelen = 16,
noise_params = { noise_params = {
offset = 0, offset = 0,
scale = farming.rarety, -- 0.06, scale = tonumber(farming.hemp) or farming.rarety,
spread = {x = 100, y = 100, z = 100}, spread = {x = 100, y = 100, z = 100},
seed = 420, seed = 420,
octaves = 3, octaves = 3,
@ -76,7 +84,7 @@ minetest.register_decoration({
y_max = 45, y_max = 45,
decoration = "farming:hemp_7", decoration = "farming:hemp_7",
spawn_by = "group:tree", spawn_by = "group:tree",
num_spawn_by = 1, num_spawn_by = 1
}) })
end end
@ -87,7 +95,7 @@ minetest.register_decoration({
sidelen = 16, sidelen = 16,
noise_params = { noise_params = {
offset = 0, offset = 0,
scale = farming.rarety, -- 0.06, scale = tonumber(farming.chili) or farming.rarety,
spread = {x = 100, y = 100, z = 100}, spread = {x = 100, y = 100, z = 100},
seed = 760, seed = 760,
octaves = 3, octaves = 3,
@ -97,7 +105,7 @@ minetest.register_decoration({
y_max = 35, y_max = 35,
decoration = {"farming:chili_8"}, decoration = {"farming:chili_8"},
spawn_by = "group:tree", spawn_by = "group:tree",
num_spawn_by = 1, num_spawn_by = 1
}) })
end end
@ -108,7 +116,7 @@ minetest.register_decoration({
sidelen = 16, sidelen = 16,
noise_params = { noise_params = {
offset = 0, offset = 0,
scale = farming.rarety, -- 0.06, scale = tonumber(farming.pepper) or farming.rarety,
spread = {x = 100, y = 100, z = 100}, spread = {x = 100, y = 100, z = 100},
seed = 933, seed = 933,
octaves = 3, octaves = 3,
@ -118,18 +126,18 @@ minetest.register_decoration({
y_max = 35, y_max = 35,
decoration = {"farming:pepper_5"}, decoration = {"farming:pepper_5"},
spawn_by = "group:tree", spawn_by = "group:tree",
num_spawn_by = 1, num_spawn_by = 1
}) })
end end
if farming.pineapple then if farming.pineapple then
minetest.register_decoration({ minetest.register_decoration({
deco_type = "simple", deco_type = "simple",
place_on = {"default:dirt_with_dry_grass"}, place_on = {"default:dirt_with_dry_grass", "default:dry_dirt_with_dry_grass"},
sidelen = 16, sidelen = 16,
noise_params = { noise_params = {
offset = 0, offset = 0,
scale = farming.rarety, -- 0.06, scale = tonumber(farming.pineapple) or farming.rarety,
spread = {x = 100, y = 100, z = 100}, spread = {x = 100, y = 100, z = 100},
seed = 917, seed = 917,
octaves = 3, octaves = 3,
@ -137,6 +145,25 @@ minetest.register_decoration({
}, },
y_min = 18, y_min = 18,
y_max = 30, y_max = 30,
decoration = {"farming:pineapple_8"}, decoration = {"farming:pineapple_8"}
}) })
end end
minetest.register_decoration({
name = "farming:cotton_wild",
deco_type = "simple",
place_on = {"default:dry_dirt_with_dry_grass"},
sidelen = 16,
noise_params = {
offset = -0.1,
scale = 0.1,
spread = {x = 50, y = 50, z = 50},
seed = 4242,
octaves = 3,
persist = 0.7
},
biomes = {"savanna"},
y_max = 31000,
y_min = 1,
decoration = "farming:cotton_wild"
})

2
settingtypes.txt Normal file
View File

@ -0,0 +1,2 @@
# Contains a value used for speed of crop growth in seconds
farming_stage_length (Farming Stage Length) float 160.0

143
soil.lua
View File

@ -1,37 +1,143 @@
local S = farming.intllib local S = farming.intllib
-- add soil types to existing dirt blocks
minetest.override_item("default:dirt", {
soil = {
base = "default:dirt",
dry = "farming:soil",
wet = "farming:soil_wet"
}
})
minetest.override_item("default:dirt_with_grass", {
soil = {
base = "default:dirt_with_grass",
dry = "farming:soil",
wet = "farming:soil_wet"
}
})
minetest.override_item("default:dirt_with_dry_grass", {
soil = {
base = "default:dirt_with_dry_grass",
dry = "farming:soil",
wet = "farming:soil_wet"
}
})
minetest.override_item("default:dirt_with_rainforest_litter", {
soil = {
base = "default:dirt_with_rainforest_litter",
dry = "farming:soil",
wet = "farming:soil_wet"
}
})
minetest.override_item("default:dirt_with_coniferous_litter", {
soil = {
base = "default:dirt_with_coniferous_litter",
dry = "farming:soil",
wet = "farming:soil_wet"
}
})
minetest.override_item("default:dry_dirt", {
soil = {
base = "default:dry_dirt",
dry = "farming:dry_soil",
wet = "farming:dry_soil_wet"
}
})
minetest.override_item("default:dry_dirt_with_dry_grass", {
soil = {
base = "default:dry_dirt_with_dry_grass",
dry = "farming:dry_soil",
wet = "farming:dry_soil_wet"
}
})
-- normal soil -- normal soil
minetest.register_node("farming:soil", { minetest.register_node("farming:soil", {
description = S("Soil"), description = S("Soil"),
tiles = {"default_dirt.png^farming_soil.png", "default_dirt.png"}, tiles = {"default_dirt.png^farming_soil.png", "default_dirt.png"},
drop = "default:dirt", drop = "default:dirt",
groups = {crumbly = 3, not_in_creative_inventory = 1, soil = 2}, groups = {crumbly = 3, not_in_creative_inventory = 1, soil = 2, field = 1},
sounds = default.node_sound_dirt_defaults(), sounds = default.node_sound_dirt_defaults(),
soil = {
base = "default:dirt",
dry = "farming:soil",
wet = "farming:soil_wet"
}
}) })
-- wet soil -- wet soil
minetest.register_node("farming:soil_wet", { minetest.register_node("farming:soil_wet", {
description = S("Wet Soil"), description = S("Wet Soil"),
tiles = {"default_dirt.png^farming_soil_wet.png", "default_dirt.png^farming_soil_wet_side.png"}, tiles = {
"default_dirt.png^farming_soil_wet.png",
"default_dirt.png^farming_soil_wet_side.png"},
drop = "default:dirt", drop = "default:dirt",
groups = {crumbly = 3, not_in_creative_inventory = 1, soil = 3}, groups = {crumbly = 3, not_in_creative_inventory = 1, soil = 3, field = 1},
sounds = default.node_sound_dirt_defaults(), sounds = default.node_sound_dirt_defaults(),
soil = {
base = "default:dirt",
dry = "farming:soil",
wet = "farming:soil_wet"
}
}) })
-- sand is not soil, change existing sand-soil to use normal soil -- savanna soil
minetest.register_alias("farming:desert_sand_soil", "farming:soil") if minetest.registered_nodes["default:dry_dirt"] then
minetest.register_alias("farming:desert_sand_soil_wet", "farming:soil_wet") minetest.register_node("farming:dry_soil", {
description = S("Savanna Soil"),
tiles = {
"default_dry_dirt.png^farming_soil.png",
"default_dry_dirt.png"},
drop = "default:dry_dirt",
groups = {crumbly = 3, not_in_creative_inventory = 1, soil = 2, field = 1},
sounds = default.node_sound_dirt_defaults(),
soil = {
base = "default:dry_dirt",
dry = "farming:dry_soil",
wet = "farming:dry_soil_wet"
}
})
minetest.register_node("farming:dry_soil_wet", {
description = S("Wet Savanna Soil"),
tiles = {
"default_dry_dirt.png^farming_soil_wet.png",
"default_dry_dirt.png^farming_soil_wet_side.png"},
drop = "default:dry_dirt",
groups = {crumbly = 3, not_in_creative_inventory = 1, soil = 3, field = 1},
sounds = default.node_sound_dirt_defaults(),
soil = {
base = "default:dry_dirt",
dry = "farming:dry_soil",
wet = "farming:dry_soil_wet"
}
})
end
-- sand is not soil, change existing sand-soil to use dry soil
minetest.register_alias("farming:desert_sand_soil", "farming:dry_soil")
minetest.register_alias("farming:desert_sand_soil_wet", "farming:dry_soil_wet")
-- if water near soil then change to wet soil -- if water near soil then change to wet soil
minetest.register_abm({ minetest.register_abm({
nodenames = {"farming:soil", "farming:soil_wet"}, nodenames = {"group:field"},
interval = 15, interval = 15,
chance = 4, chance = 4,
catch_up = false, catch_up = false,
action = function(pos, node) action = function(pos, node)
local ndef = minetest.registered_nodes[node.name]
if not ndef or not ndef.soil or not ndef.soil.wet
or not ndef.soil.base or not ndef.soil.dry then return end
pos.y = pos.y + 1 pos.y = pos.y + 1
local nn = minetest.get_node_or_nil(pos) local nn = minetest.get_node_or_nil(pos)
pos.y = pos.y - 1 pos.y = pos.y - 1
@ -51,17 +157,20 @@ minetest.register_abm({
return return
end end
-- check if there is water nearby and change soil accordingly -- check if water is within 3 nodes horizontally and 1 below
if minetest.find_node_near(pos, 3, {"group:water"}) then if #minetest.find_nodes_in_area(
if node.name == "farming:soil" then {x = pos.x + 3, y = pos.y - 1, z = pos.z + 3},
minetest.set_node(pos, {name = "farming:soil_wet"}) {x = pos.x - 3, y = pos.y , z = pos.z - 3},
end {"group:water"}) > 0 then
elseif node.name == "farming:soil_wet" then minetest.set_node(pos, {name = ndef.soil.wet})
minetest.set_node(pos, {name = "farming:soil"})
elseif node.name == "farming:soil" and minetest.get_item_group(nn, "plant") == 0 then elseif node.name == ndef.soil.wet then
minetest.set_node(pos, {name = "default:dirt"}) minetest.set_node(pos, {name = ndef.soil.dry})
elseif node.name == ndef.soil.dry
and minetest.get_item_group(nn, "plant") == 0 then
minetest.set_node(pos, {name = ndef.soil.base})
end end
end, end
}) })

View File

@ -12,6 +12,7 @@ local B = 4.0 / math.pi
local C = 2.0/(math.pi * A) local C = 2.0/(math.pi * A)
local D = 1.0 / A local D = 1.0 / A
erf = function(x) erf = function(x)
if x == 0 then return 0; end if x == 0 then return 0; end
@ -23,6 +24,7 @@ erf = function(x)
return (x > 0 and v) or -v return (x > 0 and v) or -v
end end
erf_inv = function(x) erf_inv = function(x)
if x == 0 then return 0; end if x == 0 then return 0; end
@ -36,13 +38,16 @@ erf_inv = function(x)
return (x > 0 and v) or -v return (x > 0 and v) or -v
end end
local function std_normal(u) local function std_normal(u)
return ROOT_2 * erf_inv(2.0 * u - 1.0) return ROOT_2 * erf_inv(2.0 * u - 1.0)
end end
local poisson local poisson
local cdf_table = {} local cdf_table = {}
local function generate_cdf(lambda_index, lambda) local function generate_cdf(lambda_index, lambda)
local max = math.ceil(4 * lambda) local max = math.ceil(4 * lambda)
@ -59,10 +64,12 @@ local function generate_cdf(lambda_index, lambda)
return t return t
end end
for li = 1, 100 do for li = 1, 100 do
cdf_table[li] = generate_cdf(li, 0.25 * li) cdf_table[li] = generate_cdf(li, 0.25 * li)
end end
poisson = function(lambda, max) poisson = function(lambda, max)
if max < 2 then if max < 2 then
@ -107,6 +114,7 @@ poisson = function(lambda, max)
end end
end end
-- Error function. -- Error function.
statistics.erf = erf statistics.erf = erf
@ -131,6 +139,7 @@ statistics.std_normal = function()
return std_normal(u) return std_normal(u)
end end
--- Standard normal distribution function (mean 0, standard deviation 1). --- Standard normal distribution function (mean 0, standard deviation 1).
-- --
-- @param mu -- @param mu
@ -153,6 +162,7 @@ statistics.normal = function(mu, sigma)
return mu + sigma * std_normal(u) return mu + sigma * std_normal(u)
end end
--- Poisson distribution function. --- Poisson distribution function.
-- --
-- @param lambda -- @param lambda
@ -171,4 +181,5 @@ statistics.poisson = function(lambda, max)
return poisson(lambda, max) return poisson(lambda, max)
end end
return statistics return statistics

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 372 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 583 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 294 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 270 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 257 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 283 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 161 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 185 B

BIN
textures/farming_mint_1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 B

BIN
textures/farming_mint_2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 B

BIN
textures/farming_mint_3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 B

BIN
textures/farming_mint_4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 143 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 B

BIN
textures/farming_oat.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 274 B

BIN
textures/farming_oat_1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 B

BIN
textures/farming_oat_2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 143 B

BIN
textures/farming_oat_3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 B

BIN
textures/farming_oat_4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 190 B

BIN
textures/farming_oat_5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 219 B

BIN
textures/farming_oat_6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 236 B

BIN
textures/farming_oat_7.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 B

BIN
textures/farming_oat_8.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 310 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 161 B

BIN
textures/farming_pasta.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 143 B

BIN
textures/farming_rice.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 325 B

BIN
textures/farming_rice_1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 B

BIN
textures/farming_rice_2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 143 B

BIN
textures/farming_rice_3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 B

BIN
textures/farming_rice_4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 189 B

BIN
textures/farming_rice_5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 217 B

BIN
textures/farming_rice_6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 245 B

BIN
textures/farming_rice_7.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 261 B

BIN
textures/farming_rice_8.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 336 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 392 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 272 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 201 B

BIN
textures/farming_rye.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 B

Some files were not shown because too many files have changed in this diff Show More