Compare commits

...

191 Commits

Author SHA1 Message Date
b3307e477b update hungarian translation (thx kmarton815) 2025-07-03 17:00:38 +01:00
54ae31845d increase scarecrow weed protection to 8 blocks 2025-06-26 06:52:16 +01:00
2b17abdcb8 hoe bomb removed grass on top of soil 2025-05-22 11:38:43 +01:00
2b5df9bad0 change minetest. to core. 2025-05-04 11:48:08 +01:00
1e72348a48 replace start timer abm with lbm 2025-04-17 18:17:10 +01:00
44e2b1582b tweak crop drops #2 2025-04-12 15:43:23 +01:00
701bbb89b5 tweak strawberry drops 2025-04-12 15:03:30 +01:00
3b9f7ab82e tweak crop drops to something more sensible 2025-04-12 14:55:25 +01:00
e558d18f6f tweak corn so drops arent too OP 2025-04-12 08:03:02 +01:00
b8c3d40e88 fix next stage bug 2025-03-27 10:36:19 +00:00
1416f6e615 add setting to disable weeds 2025-02-17 08:09:55 +00:00
ba4026c406 chance weeds from 1 in 15 to 1 in 35 2025-02-16 16:50:13 +00:00
45c346e763 tweak weed bale texture 2025-02-16 08:35:53 +00:00
2752ad259c add weed and weed bale 2025-02-14 13:23:41 +00:00
08cdf0ef52 hoe bome removes dry shrub along with flora 2025-01-26 15:30:49 +00:00
e247a3ea13 hoe bomb's replace dry dirt 2025-01-12 11:40:28 +00:00
ae10efceff update german translation (thx Wuzzy) 2024-12-02 10:45:45 +00:00
712005d2ac tweak asparagus,ginger,spinach offset 2024-11-03 08:16:06 +00:00
ba678f7bb6 add {drink} group to soup 2024-10-16 11:00:37 +01:00
b840b812b3 add drink group to soups 2024-10-15 13:10:59 +01:00
e302b83c43 mortar and juicer now use group:stone 2024-09-27 09:03:23 +01:00
56fb88f484 remove check 2024-09-26 09:02:36 +01:00
6356dfcdb5 fix typo, tweak deco 2024-09-25 10:21:16 +01:00
2b31a87a32 crop deco with ethereal added. 2024-09-24 12:31:06 +01:00
9d471bf6d8 16px burger 2024-09-21 13:00:05 +01:00
a23866a487 dont register decoration if ethereal active 2024-09-19 09:06:13 +01:00
d59efa22d7 new burger texture 2024-09-19 07:48:44 +01:00
6185f95bcc tweak pineapple final stage and items 2024-09-17 12:50:46 +01:00
256eac1f0f tweaked pineapple textures 2024-09-16 08:33:29 +01:00
c0104b32b4 tweak pineapple textures to be more bushlike 2024-09-15 16:51:47 +01:00
e3bf5f92a7 revert to old cocoa register_on_generate function, new one had memory leak 2024-09-15 11:36:11 +01:00
663cf0b86c 16px vanilla_flan, spaghetti, burger 2024-09-14 12:37:07 +01:00
201da1cc34 new popcorn, potato salad texture 2024-09-12 17:23:32 +01:00
a415cf5364 tweak poisson functions 2024-09-12 11:21:32 +01:00
87d6973420 tweak code 2024-09-12 07:57:25 +01:00
0040f21962 add missing {grassland} groups 2024-09-11 11:33:58 +01:00
b7603c2439 fix nil 2024-09-10 06:58:32 +01:00
45e13d263f update translation (thx adikalon) 2024-09-08 15:43:02 +01:00
a952846bde add some missing translation 2024-09-07 13:19:12 +01:00
ddd7c56a2c add " crop" translation for russian 2024-09-07 12:01:06 +01:00
2b65a7416b add descriptions to all crop stages 2024-09-07 10:45:05 +01:00
2f1a233441 add desc to crop stages (api only) 2024-09-07 08:09:35 +01:00
8dc7d4188e update russian translation (thx adikalon) 2024-09-06 17:18:56 +01:00
4bf83d3bbf log seed placement (thx Emojigit) 2024-09-06 15:15:21 +01:00
0addf044b6 add vegan butter and jerusalem artichokes. 2024-08-31 12:05:16 +01:00
4600e42021 add 16px textures, move 32px into alt_textures folder 2024-08-29 11:17:37 +01:00
6d3c0ec1ef add default damage_group 2024-08-25 11:47:36 +01:00
ebe1db179d hoes can deal damage to mobs and players 2024-08-25 10:46:50 +01:00
e2f12c8061 fix instafarm lb typo 2024-08-13 13:06:35 +01:00
141be63a92 add mineclone replacements for lucky blocks 2024-08-13 11:54:58 +01:00
45dd32c102 tweak code, fix straw recipe 2024-08-12 14:21:46 +01:00
e409fe9ecb add missing {handy} 2024-08-12 08:33:44 +01:00
5e610c936a update readme 2024-08-12 08:31:28 +01:00
95bd342cda tidy code, fix straw recipe 2024-08-12 08:29:34 +01:00
09b06ea72a better mineclone support 2024-08-12 08:02:50 +01:00
f3a7e9350f remove certain foods and recipes when using mineclone 2024-08-11 16:54:35 +01:00
a9a1b720a3 separate food /non-food items from crop files, tidy code 2024-08-11 15:38:55 +01:00
cdac09a8f4 properly detect and use sounds from default/mcl 2024-08-11 08:47:26 +01:00
a74a29c849 remove XP desc. 2024-08-03 23:55:08 +01:00
710b7ac111 update {eatable} function 2024-07-27 18:28:25 +01:00
b61998217d tidy code 2024-07-27 08:23:46 +01:00
75e3f9fb42 add helper function to add {eatable} 2024-07-26 16:30:53 +01:00
648bae7517 add {eatable} group to default apple, blueberries, mushrooms if found 2024-07-26 15:29:09 +01:00
e2ec7d707e added {eatable} group to food items and tooltip HP info 2024-07-26 13:56:45 +01:00
2f7031e717 add mcl_grass as optional dependency 2024-07-13 07:20:07 +01:00
97b2fdd2ad tidy code 2024-07-03 08:38:21 +01:00
49c8ba1892 fix mithril scythe node naming 2024-07-03 08:27:07 +01:00
5c050f3516 harden seed placement 2024-06-28 11:13:44 +01:00
877f944641 fix _mcl_hardness values for crops and seeds 2024-06-25 17:29:31 +01:00
ac4c4f48d3 add mt5.9x new farming.can_grow default function and check, deprecate but still run growth_check function 2024-06-24 07:41:40 +01:00
8bd129309c update api.txt 2024-06-20 11:21:41 +01:00
0349a7a6f1 re-add bronze hoe recipe 2024-06-12 07:31:41 +01:00
433d485292 use async env support when generating cocoa pods (thx Niklp) 2024-06-09 07:33:19 +01:00
e33dd0e275 seed drops from short grass more rare (thx skaapdev) 2024-04-22 15:03:09 +01:00
37ea21fdaf all grass have the chance of dropping seeds 2024-04-22 11:15:13 +01:00
c59162149d check for dirt_with_dry_grass before override to help with VoxelGarden issue 2024-03-28 13:25:02 +00:00
9101901afe add hungarian locale (thx gabriel1379) 2024-03-19 08:52:32 +00:00
9a2456b887 enable strawberry 2024-03-12 06:52:50 +00:00
d99f96b224 set is_ground_content for all (thx SwissAlpS) 2024-02-29 17:06:28 +00:00
1043da0b52 add screenshot.jpg 2024-01-21 10:53:10 +00:00
612aea3d31 add missing stone sounds to farming.sounds 2023-12-06 17:29:50 +00:00
51d5132708 tweak default compatibility 2023-12-04 22:31:12 +00:00
9247121b14 mcl group tweaks 2023-11-25 16:51:34 +00:00
a0dd3db65f better mineclone/mineclonia support 2023-11-25 14:07:05 +00:00
12eb5579a1 added handy=1 group to seeds, hemp block and hemp rope (thx usrib) 2023-11-25 12:05:21 +00:00
1f97cbbe00 fix hemp fibre recipe (thx fluxionary) 2023-11-04 07:56:55 +00:00
be56564c28 remove meta from french translation 2023-10-08 16:47:47 +01:00
915b93f113 update french translation (thx TheDarkTiger) 2023-10-07 11:45:05 +01:00
1d634550cb update french translation (thx TheDarkTiger) 2023-10-07 08:16:07 +01:00
421cde33a4 increase mithril scythe to 350 uses, tidy hoe code 2023-10-02 07:39:06 +01:00
98f0581c17 use set_node so 3rd party mod timers can activate 2023-09-15 07:35:47 +01:00
85c5c9abab optimize 2023-09-12 08:48:21 +01:00
fd205e10fc seeds grow on timer so players can wander 2023-09-11 14:49:37 +01:00
b6ba098396 revert on_grow change 2023-09-07 07:57:20 +01:00
0f25366203 add return growth 2023-09-06 18:14:25 +01:00
af48a0e661 if not using mineclone enable defaults 2023-09-06 10:00:46 +01:00
8606fbd202 fix api.txt error 2023-09-06 08:12:14 +01:00
426564232e Fix growth_check return value/check, add initial on_grow function 2023-09-06 08:11:07 +01:00
27aae682bd new vanilla texture (thx oz-tal) 2023-09-05 13:57:42 +01:00
971865f9f3 add barley compostability group 2023-09-05 11:10:57 +01:00
b4005685fd if mcl dont add bowl recipe 2023-09-05 07:53:51 +01:00
f5c321c04d add missing groups 2023-09-05 07:51:11 +01:00
2efa174015 update readme 2023-09-03 10:18:54 +01:00
d4b0b02fc4 Fix glass water group and recipes, fix mcl wheat item 2023-09-03 08:12:02 +01:00
8dd80159fd add potions river water bottle to food_glass_water group 2023-09-02 10:47:22 +01:00
0d52c5344d more mineclone compatible recipes 2023-09-02 08:13:32 +01:00
cca92063c4 texture update (onion,garlic,grapes,cookie - thx oz-tal) 2023-09-02 07:06:02 +01:00
0c82c6c0e9 added new garlic textures (thanks oz-tal) 2023-09-01 18:41:20 +01:00
cc0668bc57 fix string/wool 2023-09-01 10:12:30 +01:00
5107d18079 most recipes work with mineclone 2023-09-01 10:04:33 +01:00
fd58dcaab1 food recipes work with mineclone 2023-08-31 13:59:06 +01:00
8ce92bdb91 disable pumpkin in mcl2 2023-08-31 09:33:47 +01:00
df64f1117f add initial MineClone2 support (thx usrib) 2023-08-31 07:53:19 +01:00
581a1bbaef update mod.conf 2023-08-14 08:24:20 +01:00
fa4ee48828 Update translations (thanks Niklp) 2023-08-14 08:22:28 +01:00
e6d31c9442 remove intllib 2023-08-08 17:31:31 +01:00
2f461785d6 add gingerbread man, tweak pineapple drops 2023-07-13 18:54:02 +01:00
8717625d0c add 'farming_use_utensils' setting, added mayonnaise (thx felfa) 2023-07-13 18:07:25 +01:00
b2d1289353 tweak hemp block/stairs groups 2023-07-06 13:01:40 +01:00
f1dd45d903 tweak pineapple drops 2023-06-26 11:04:43 +01:00
50009ded2a fix turkish delight recipe (thx kiedtl) 2023-05-20 06:47:32 +01:00
a02be7f987 junglegrass drops rice seed instead of rice food 2023-05-01 08:11:13 +01:00
7e544333cd rice crop has chance of giving more 2023-04-28 09:25:26 +01:00
607105ed37 re-add rice seeds and recipe to dry into edible rice 2023-04-28 09:18:54 +01:00
bf697555e0 placable mint and sunflower seeds, added waving to most crops 2023-04-28 08:56:10 +01:00
c218d5aada add new burger texture (thanks Shadall) 2023-04-23 15:40:03 +01:00
31c7b589c1 tweak soil dry abm 2023-04-23 08:54:22 +01:00
ad9b0dc255 return to default wet soil behaviour (within 3 nodes all axis)
tweak wet soil > dry soil behaviour to run better
2023-04-18 08:37:47 +01:00
2446f3d76c use farming seed placer function 2023-04-09 08:57:36 +01:00
03fce8b65f seeds made with register_plant function are placed in world and germinate into stage_1 of crop. 2023-04-08 07:41:03 +01:00
b5f71d8025 check for old wheat/cotton seeds and grow to stage_1 via abm 2023-04-07 14:41:51 +01:00
02cf5688fa fix pea textures (thx fluxionary) 2023-03-19 18:19:50 +00:00
b4f577c716 capatalize spinach and asparagus descriptions 2023-03-09 08:39:51 +00:00
a95ff7a1a4 reduce onion colours to fix blur 2023-02-12 10:36:49 +00:00
498063553a Add ABM labels 2023-01-22 10:31:16 +00:00
28fda57767 update pie textures 2022-12-24 16:51:05 +00:00
9c09ac86d4 recipe for yellow dye using onion 2022-12-24 16:18:22 +00:00
bcf8814c7b add new pie textures 2022-12-19 17:54:06 +00:00
d49630d087 new pumpkin & jack o' lantern textures (thanks alerikaisattera) 2022-11-26 19:06:00 +00:00
793cadc283 fix translation (thx fluxionary) 2022-11-21 08:56:07 +00:00
53eedc328a new popcorn texture by smoke_th 2022-11-20 18:38:58 +00:00
0d16d4352e new coffee crop textures by XSSheep 2022-11-20 18:03:25 +00:00
bdec101edc new melon textures and license (thanks alerikaisattera) 2022-11-20 16:47:23 +00:00
962bb6aeff change barley textures, increase steps to 8 2022-11-14 18:06:56 +00:00
fd89705307 new sugar cube texture 2022-11-12 11:01:57 +00:00
1bca2f0010 add missing recipe 2022-11-12 10:24:17 +00:00
46e0ef5a17 add sugar cube 2022-11-12 10:20:54 +00:00
924bcd8868 fix onigiri typo (thx fluxionary) 2022-11-07 18:56:24 +00:00
9744afeb9b add Esperanto translation (thx Jolesh) 2022-11-06 08:04:52 +00:00
50f6389c6b remove some borrowed textures for new ones 2022-10-30 08:37:23 +00:00
f20abc034f remove ginger growing 2022-10-28 12:29:52 +01:00
c43020e65e fix ginger final select 2022-10-28 12:28:50 +01:00
444e923acd add ginger (thanks Atlante for textures) 2022-10-28 12:23:18 +01:00
68580d270a fix rhubarb_drops (thx Adam0207) and jaffa cake recipe (thx SFence) 2022-10-18 07:53:27 +01:00
5daf8b8bc4 change melon textures, complaints they looked too similar to minecraft 2022-10-13 08:27:18 +01:00
3992a40123 localize math.random for cocoa generation 2022-10-07 10:36:54 +01:00
8fb7d6c28e fix translations to toolrank hoe's 2022-09-26 17:34:15 +01:00
a08b471415 tweak mint and pineapple spawning 2022-09-18 11:10:20 +01:00
ff8e0d73a4 code consistency 2022-09-15 15:12:53 +01:00
7be6bee04c add items to readme craftable list 2022-09-15 14:44:46 +01:00
b5454ac0ea update readme 2022-09-15 14:13:06 +01:00
78ad44e37d update readme 2022-09-15 14:04:10 +01:00
059b7f0fae update readme 2022-09-15 13:41:59 +01:00
c34bb8a5ed fix strawberry issue 2022-09-15 08:25:44 +01:00
2a41f1e9d5 increase selection box to show crop has matured, fix strawberry plant issue, add step to rhubarb growth 2022-09-15 08:03:41 +01:00
6ac255d4c0 add random seed for each registered decoration, tidy code 2022-09-13 18:30:55 +01:00
97d15d3ea1 added spinach; eggplant; asparagus; Chili Powder; new Onigiri (thanks Atlante for new textures), mapgen now inside own crop file, added new lucky blocks 2022-09-13 12:30:10 +01:00
ff526980da change golden carrot recipe (carrot + gold lump) 2022-09-10 08:49:26 +01:00
1ba1b848dc add strawberry rarity to farming.conf_example 2022-09-10 08:46:07 +01:00
c945100237 tweak crop levels on map, add strawberry if ethereal mod not active 2022-09-10 08:44:29 +01:00
3e522de47e add mac & cheese 2022-06-25 14:44:36 +01:00
ba0ef644a0 tweak recipe for wooden bucket, nil check for refile_plant inv 2022-06-03 07:57:39 +01:00
7f9727cebc fix jaffa cake recipe to work with wooden buckets 2022-05-30 12:34:13 +01:00
0b06c7cd45 add sound to hemp block 2022-03-13 19:54:58 +00:00
2e90959a6c lower refill time, add player check (thx BuckarooBanzai) 2022-03-09 09:19:43 +00:00
33bb4a3a95 list 2022-03-02 12:59:53 +00:00
8cdca1804c update readme (thanks mckaygerhard) 2022-03-02 12:58:16 +00:00
a19f852ddf fix de translations 2022-02-28 08:18:21 +00:00
a897924b83 update translations (thanks SwissalpS) 2022-02-25 08:14:38 +00:00
35c5245b3c fix spanish translations 2022-02-24 08:15:37 +00:00
b2145204be typos 2022-02-23 18:51:10 +00:00
3cbbb3678e add spanish translation (thx mckaygerhard), add trellis setting to registered_crops (thx nixnoxus) 2022-02-23 08:27:30 +00:00
11a829baf7 typo 2022-02-22 08:28:56 +00:00
8be42d5f63 fix pea and soy crop names (thanks nixnoxus) 2022-02-21 18:39:07 +00:00
d59e200a42 better translation support 2022-01-29 09:54:24 +00:00
60a6bad9d0 tweak soil types to work better with older 0.4.x clients 2022-01-29 09:45:41 +00:00
8842235ec6 blueberries can make blue dye 2022-01-28 16:18:38 +00:00
211cedca3a fix cornstarch groups 2021-12-10 08:23:37 +00:00
273ce33bcd tidy code, tweak recipes, simplify peas, soy, rice 2021-12-04 14:06:18 +00:00
4227d967e5 add pointed_thing to on_rightclick vars 2021-11-16 20:22:43 +00:00
b84374bfa5 fix eating of sunflower bread 2021-11-08 08:05:12 +00:00
228 changed files with 8849 additions and 6561 deletions

223
README.md
View File

@ -1,18 +1,225 @@
# Farming Redo Mod Farming Redo mod for Minetest
### by TenPlus1 =============================
Information
-----------
This mod replaces the default `farming` mod with a fully compatible API that allows
players to grow crops even when they are not nearby. It also includes many new foods
and crops which can be planted directly onto tilled soil without seeds. Crops that do
require seeds like wheat and cotton are found when digging in long grasses, and will
require player to stay nearby until they germinate before growing normally.
![screenshot.png](screenshot.png)
Tech information
----------------
Crops grow by adding your new plant to the {growing = 1} group and numbering the stages from _1 to as many stages as you like, but the underscore MUST be used only once in the node name to separate plant from stage number e.g.
* "farming:cotton_1" through to "farming:cotton_8"
* "farming:wheat_1" through to "farming:wheat_8"
* "farming:cucumber_1" through to "farming:cucumber_4"
https://forum.minetest.net/viewtopic.php?id=9019 https://forum.minetest.net/viewtopic.php?id=9019
Farming Redo is a simplified version of the built-in farming mod in minetest and comes with wheat, cotton, carrot, cucumber, potato and tomato to start out with which spawn throughout the map... new foods need only be planted on tilled soil so no seeds are required, original wheat and cotton will require seeds which are found inside normal and jungle grass... Farming Redo also works with Bonemeal mod for quick growing crops and saplings which can
be found at https://notabug.org/TenPlus1/bonemeal
This mod works by adding your new plant to the {growing=1} group and numbering the stages from _1 to as many stages as you like, but the underscore MUST be used only once in the node name to separate plant from stage number e.g. #### Optional dependences:
"farming:cotton_1" through to "farming:cotton_8" * default
"farming:wheat_1" through to "farming:wheat_8" * mcl_core, mcl_sounds, mcl_farming, mcl_stairs
"farming:cucumber_4" through to "farming:cucumber_4" * stairs
* lucky_block (adds 47 lucky blocks)
* toolranks
#### Configuration
`farming.conf` is used to load custom settings for each crop and can be found in either the
farming mod folder or the world folder. Also `minetest.conf` contains a setting for crop growth speed.
| Configuration | type | default | file | Notes |
| -------------------- | ----- | ------- | ------------ | ----------------------------------------- |
| farming_stage_length | float | 160.0 | minetest.conf | Contains a value used for speed of crop growth in seconds |
| farming.min_light | int | 12 | farming.conf | default minimum light levels crops need to grow |
| farming.max_light | int | 15 | farming.conf | default maximum light levels crops need to grow |
| farming_use_utensils | bool | True | farming.conf | When True uses utensils in craft recipes |
| farming.carrot | float | 0.001 | farming.conf | rarety value to enable crop/food in-game, false to disable |
| farming.potato | float | 0.001 | farming.conf | rarety value to enable crop/food in-game, false to disable |
| farming.tomato | float | 0.001 | farming.conf | rarety value to enable crop/food in-game, false to disable |
| farming.cucumber | float | 0.001 | farming.conf | rarety value to enable crop/food in-game, false to disable |
| farming.corn | float | 0.001 | farming.conf | rarety value to enable crop/food in-game, false to disable |
| farming.coffee | float | 0.001 | farming.conf | rarety value to enable crop/food in-game, false to disable |
| farming.melon | float | 0.001 | farming.conf | rarety value to enable crop/food in-game, false to disable |
| farming.pumpkin | float | 0.001 | farming.conf | rarety value to enable crop/food in-game, false to disable |
| farming.cocoa | bool | true | farming.conf | true to enable crop/food or false to disable |
| farming.raspberry | float | 0.001 | farming.conf | rarety value to enable crop/food in-game, false to disable |
| farming.blueberry | float | 0.001 | farming.conf | rarety value to enable crop/food in-game, false to disable |
| farming.rhubarb | float | 0.001 | farming.conf | rarety value to enable crop/food in-game, false to disable |
| farming.beans | float | 0.001 | farming.conf | rarety value to enable crop/food in-game, false to disable |
| farming.grapes | float | 0.001 | farming.conf | rarety value to enable crop/food in-game, false to disable |
| farming.barley | bool | true | farming.conf | true to enable crop/food, false to disable |
| farming.chili | float | 0.003 | farming.conf | rarety value to enable crop/food in-game, false to disable |
| farming.hemp | float | 0.003 | farming.conf | rarety value to enable crop/food in-game, false to disable |
| farming.garlic | float | 0.001 | farming.conf | rarety value to enable crop/food in-game, false to disable |
| farming.onion | float | 0.001 | farming.conf | rarety value to enable crop/food in-game, false to disable |
| farming.pepper | float | 0.002 | farming.conf | rarety value to enable crop/food in-game, false to disable |
| farming.pineapple | float | 0.001 | farming.conf | rarety value to enable crop/food in-game, false to disable |
| farming.peas | float | 0.001 | farming.conf | rarety value to enable crop/food in-game, false to disable |
| farming.beetroot | float | 0.001 | farming.conf | rarety value to enable crop/food in-game, false to disable |
| farming.mint | float | 0.005 | farming.conf | rarety value to enable crop/food in-game, false to disable |
| farming.cabbage | float | 0.001 | farming.conf | rarety value to enable crop/food in-game, false to disable |
| farming.blackberry | float | 0.002 | farming.conf | rarety value to enable crop/food in-game, false to disable |
| farming.lettuce | float | 0.001 | farming.conf | rarety value to enable crop/food in-game, false to disable |
| farming.soy | float | 0.001 | farming.conf | rarety value to enable crop/food in-game, false to disable |
| farming.vanilla | float | 0.001 | farming.conf | rarety value to enable crop/food in-game, false to disable |
| farming.artichoke | float | 0.001 | farming.conf | rarety value to enable crop/food in-game, false to disable |
| farming.parsley | float | 0.002 | farming.conf | rarety value to enable crop/food in-game, false to disable |
| farming.sunflower | float | 0.001 | farming.conf | rarety value to enable crop/food in-game, false to disable |
| farming.grains | bool | true | farming.conf | true to enable crop/food or false to disable |
| farming.rice | bool | true | farming.conf | true to enable crop/food or false to disable |
| farming.asparagus | float | 0.002 | farming.conf | rarety value to enable crop/food in-game, false to disable |
| farming.eggplant | float | 0.002 | farming.conf | rarety value to enable crop/food in-game, false to disable |
| farming.spinach | float | 0.002 | farming.conf | rarety value to enable crop/food in-game, false to disable |
| farming.strawberry | float | 0.002 | farming.conf | rarety value to enable crop/food in-game, false to disable |
#### Nodes and food
This farming mod provides a large selection of craftable food and items:
| Node name | Description name |
| ----------------------- | --------------------- |
| farming:salt | Salt |
| farming:salt_crystal | Salt Crystal |
| farming:chili_powder | Chili Powder |
| farming:rose_water | Rose Water |
| farming:glass_water | Glass of Water |
| farming:sugar | Sugar |
| farming:sugar_cube | Sugar Cube |
| farming:caramel | Caramel |
| farming:turkish_delight | Turkish Delight |
| farming:garlic_bread | Garlic Bread |
| farming:donut | Donut |
| farming:donut_chocolate | Chocolate Donut |
| farming:donut_apple | Apple Donut |
| farming:porridge | Porridge |
| farming:jaffa_cake | Jaffa Cake |
| farming:apple_pie | Apple Pie |
| farming:cactus_juice | Cactus Juice |
| farming:pasta | Pasta |
| farming:mac_and_cheese | Mac & Cheese |
| farming:spaghetti | Spaghetti |
| farming:bibimbap | Bibimbap |
| farming:burger | Burger |
| farming:salad | Salad |
| farming:smoothie_berry | Triple Berry Smoothie |
| farming:spanish_potatoes | Spanish Potatoes |
| farming:potato_omelet | Potato omelet |
| farming:paella | Paella |
| farming:flan | Vanilla Flan |
| farming:cheese_vegan | Vegan Cheese |
| farming:onigiri | Onigiri |
| farming:gyoza | Gyoza |
| farming:mochi | Mochi |
| farming:beetroot_soup | Beetroot Soup |
| farming:muffin_blueberry | Blueberry Muffin |
| farming:blueberry_pie | Blueberry Pie |
| farming:carrot_juice | Carrot Juice |
| farming:carrot_gold | Golden Carrot (revives) |
| farming:chili_bowl | Bowl or Chili |
| farming:cocoa_beans | Cocoa Beans |
| farming:cookie | Chocolate Cookie |
| farming:chocolate_dark | Bar of Dark Chocolate |
| farming:chocolate_block | Chocolate Block |
| farming:coffee_cup | Cup of Coffee |
| farming:corn_cob | Corn on the Cob |
| farming:popcorn | Popcorn |
| farming:cornstarch | Cornstarch |
| farming:ethanol | Bottle of Ethanol (fuel) |
| farming:string | String |
| farming:garlic_braid | Garlic Braid |
| farming:garlic_clove | Garlic Clove |
| farming:hemp_oil | Hemp Oil |
| farming:hemp_fibre | Hemp Fibre |
| farming:hemp_block | Hemp Block |
| farming:hemp_rope | Hemp Rope |
| farming:mint_tea | Mint Tea |
| farming:onion_soup | Onion Soup |
| farming:pea_soup | Pea Soup |
| farming:pepper_ground | Ground Pepper |
| farming:pineapple_ring | Pineapple Ring |
| farming:pineapple_juice | Pineapple Juice |
| farming:baked_potato | Baked Potato |
| farming:potato_salad | Cucumber & Potato Salad |
| farming:jackolantern | Jack 'O Lantern |
| farming:scarecrow_bottom | Scarecrow Bottom |
| farming:pumpkin_dough | Pumpkin Dough |
| farming:pumpkin_bread | Pumpkin Bread |
| farming:smoothie_raspberry | Raspberry Smoothie |
| farming:rhubarb_pie | Rhybarb Pie |
| farming:rice_flour | Rice Flour |
| farming:rice_bread | Rice Bread |
| farming:flour_multigrain | Multigrain Rice |
| farming:bread_multigrain | Multigrain Bread |
| farming:soy_sauce | Soy Sauce |
| farming:soy_milk | Soy Milk |
| farming:tofu | Tofu |
| farming:tofu_cooked | Cooked Tofu |
| farming:sunflower_seeds_toasted | Toasted Sunflower Seeds |
| farming:sunflower_oil | Sunflower Oil |
| farming:sunflower_bread | Sunflower Bread |
| farming:tomato_soup | Tomato Soup |
| farming:vanilla_extract | Vanilla Extract |
| farming:flour | Flour |
| farming:bread | Bread |
| farming:straw | Straw Block |
| farming:bread_slice | Bread Slice |
| farming:toast | Toast |
| farming:toast_sandwich | Toast Sandwich |
#### Item and Tools
| node name | Description |
| ----------------------- | --------------------- |
| farming:trellis | Trellis (for growing grapes) |
| farming:beanpole | Bean Pole (for growing beans) |
| farming:scythe_mithril | Mithril Scythe (Use to harvest and replant crops) |
| farming:hoe_bomb | Hoe Bomb (use or throw on grassy areas to hoe land) |
| farming:hoe_wood | Wooden Hoe |
| farming:hoe_stone | Stone Hoe |
| farming:hoe_steel | Steel Hoe |
| farming:hoe_bronze | Bronze Hoe |
| farming:hoe_mese | Mese Hoe |
| farming:hoe_diamond | Diamond Hoe |
| farming:bowl | Wooden Bowl |
| farming:saucepan | Saucepan |
| farming:pot | Cooking Pot |
| farming:baking_tray | Baking Tray |
| farming:skillet | Skillet |
| farming:mortar_pestle | Mortar and Pestle |
| farming:cutting_board | Cutting Board |
| farming:juicer | Juicer |
| farming:mixing_bowl | Glass Mixing Bowl |
| moreores:hoe_silver | Silver Hoe |
| moreores:hoe_mithril | Mitril Hoe |
#### Nodes and Aliasing
This mod is also a direct replacement for the older Farming Plus mod and will replace all
of it's nodes and items with one's found within Farming Redo.
#### ABM
The ABM checks every 5 minutes to make sure crops in `group:growing` that were planted
on an older map are enabled and growing properly.
### Changelog: ### Changelog:
- 1.49 - Added {eatable=1} groups to food items with the value giving HP when eaten, improved mineclone support, separated foods from crop files, hoes can deal damage. Add weed and weed bale (with setting to disable weed growth).
- 1.48 - added 'farming_use_utensils' setting to enable/disable utensils in recipes, added mayonnaise (thx felfa), added gingerbread man, Added MineClone2 compatibility
- 1.47 - Now blueberries can make blue dye, tweak soil types to work better with older 0.4.x clients and add spanish translation (thx mckaygerhard), add trellis setting to registered_crops and fix pea and soy crop names (thx nixnoxus), add strawberries if ethereal mod not active, added asparagus; spinach; eggplant (thx Atlante for new textures), Sugar Cube
- 1.46 - Added min/max default light settings, added lettuce and blackberries with food items (thanks OgelGames), added soya, vanilla and sunflowers (thanks Felfa), added tofu, added salt crystals (thanks gorlock) - 1.46 - Added min/max default light settings, added lettuce and blackberries with food items (thanks OgelGames), added soya, vanilla and sunflowers (thanks Felfa), added tofu, added salt crystals (thanks gorlock)
- 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 - 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 options, onion soup added (thanks edcrypt), Added apple pie, added wild cotton to savanna
@ -67,5 +274,3 @@ options, onion soup added (thanks edcrypt), Added apple pie, added wild cotton t
- 0.2 - Fixed check for wet soil - 0.2 - Fixed check for wet soil
- 0.1 - Fixed growing bug - 0.1 - Fixed growing bug
- 0.0 - Initial release - 0.0 - Initial release
### Lucky Blocks: 39

View File

Before

Width:  |  Height:  |  Size: 421 B

After

Width:  |  Height:  |  Size: 421 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 382 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 157 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 209 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 234 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 240 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 258 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 258 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 422 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 382 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 487 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 345 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 687 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 325 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 557 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 703 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 440 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

39
api.txt
View File

@ -16,10 +16,10 @@ The farming API allows you to easily register plants and hoes.
'minlight' min light level needed to grow 'minlight' min light level needed to grow
'maxlight' max light level needed to grow 'maxlight' max light level needed to grow
'steps' number of steps crop has in growth cycle 'steps' number of steps crop has in growth cycle
'trellis' name of trellis node (e.g. "farming:trellis"), default: nil
### Hoe Definition ### Hoe Definition
{ {
description = "My Hoe", -- 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
@ -40,7 +40,8 @@ The farming API allows you to easily register plants and hoes.
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)
minlight = 13, -- Minimum light to grow minlight = 13, -- Minimum light to grow
maxlight = default.LIGHT_MAX -- Maximum light to grow maxlight = minetest.LIGHT_MAX -- Maximum light to grow
can_grow = function(pos) -- Called every growth tick to check if plant can grow returning True if needs are met (optional, defaults to checking for wet soil below plant).
} }
Note: Any crops registered with the above function will use the new growing routines, also if crops are manually added with the {growing=1} group they will also grow. Note: Any crops registered with the above function will use the new growing routines, also if crops are manually added with the {growing=1} group they will also grow.
@ -49,12 +50,12 @@ Note: Any crops registered with the above function will use the new growing rout
If a mod registers nodes to be used as crops using the {growing=1} group then an additional function can be used for custom growth checks instead of the standard 'are we above wet soil'. If a mod registers nodes to be used as crops using the {growing=1} group then an additional function can be used for custom growth checks instead of the standard 'are we above wet soil'.
growth_check = function(pos, node_name) growth_check = function(pos, [node_name]) [DEPRECATED for above can_grow function]
-- check surrounding for jungle tree -- check surrounding for jungle tree
if minetest.find_node_near(pos, 1, {"default:jungletree"}) then if minetest.find_node_near(pos, 1, {"default:jungletree"}) then
return false -- place next growth stage return true -- place next growth stage
end end
return true -- condition not met, skip next growth stage until next check return false -- condition not met, skip next growth stage until next check
end, end,
### Scythe items that will not drop ### Scythe items that will not drop
@ -62,3 +63,31 @@ end,
This is a function to add items to a list that scythes will not drop, e.g. farming:trellis or farming:beanpole. 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) farming.add_to_scythe_not_drops(item_name)
### Start timer function
A handy function that starts a crops timer with a randomly selected time set by using
stage_length setting. This is mostly used for special functions or 3rd party mods.
farming.start_seed_timer(pos)
Node Sounds
-----------
Farming Redo will detect wether the Default mod or MineClone/VoxeLibre mod is active and
store whichever sound set is available inside the following to save any other farming
mods from having to detect it themselves:
farming.node_sound_defaults()
farming.node_sound_stone_defaults()
farming.node_sound_dirt_defaults()
farming.node_sound_sand_defaults()
farming.node_sound_gravel_defaults()
farming.node_sound_wood_defaults()
farming.node_sound_leaves_defaults()
farming.node_sound_ice_defaults()
farming.node_sound_metal_defaults()
farming.node_sound_water_defaults()
farming.node_sound_snow_defaults()
farming.node_sound_glass_defaults()

View File

@ -1,29 +1,30 @@
local S = farming.intllib local S = core.get_translator("farming")
--= Helpers --= Helpers
local eth = minetest.get_modpath("ethereal") local eth = core.get_modpath("ethereal")
local alias = function(orig, new) local alias = function(orig, new)
minetest.register_alias(orig, new) core.register_alias(orig, new)
end end
--= Overrides (add food_* group to apple and brown mushroom) --= Add {eatable} group to default food items if found
minetest.override_item("default:apple", { farming.add_eatable("default:apple", 2)
groups = {food_apple = 1, fleshy = 3, dig_immediate = 3, flammable = 2, farming.add_eatable("default:blueberries", 1)
leafdecay = 3, leafdecay_drop = 1} farming.add_eatable("flowers:mushroom_brown", 1)
}) farming.add_eatable("flowers:mushroom_red", -5)
--= Aliases --= Aliases
-- Banana -- Banana
if eth then if eth then
alias("farming_plus:banana_sapling", "ethereal:banana_tree_sapling") alias("farming_plus:banana_sapling", "ethereal:banana_tree_sapling")
alias("farming_plus:banana_leaves", "ethereal:bananaleaves") alias("farming_plus:banana_leaves", "ethereal:bananaleaves")
alias("farming_plus:banana", "ethereal:banana") alias("farming_plus:banana", "ethereal:banana")
else else
minetest.register_node(":ethereal:banana", { core.register_node(":ethereal:banana", {
description = S("Banana"), description = S("Banana"),
drawtype = "torchlike", drawtype = "torchlike",
tiles = {"farming_banana_single.png"}, tiles = {"farming_banana_single.png"},
@ -33,23 +34,26 @@ else
sunlight_propagates = true, sunlight_propagates = true,
walkable = false, walkable = false,
selection_box = { selection_box = {
type = "fixed", type = "fixed", fixed = {-0.2, -0.5, -0.2, 0.2, 0.2, 0.2}
fixed = {-0.2, -0.5, -0.2, 0.2, 0.2, 0.2}
}, },
groups = {food_banana = 1, fleshy = 3, dig_immediate = 3, flammable = 2}, groups = {food_banana = 1, fleshy = 3, dig_immediate = 3},
on_use = minetest.item_eat(2), is_ground_content = false,
sounds = default.node_sound_leaves_defaults() on_use = core.item_eat(2),
sounds = farming.node_sound_leaves_defaults()
}) })
minetest.register_node(":ethereal:bananaleaves", { farming.add_eatable("ethereal:banana", 2)
core.register_node(":ethereal:bananaleaves", {
description = S("Banana Leaves"), description = S("Banana Leaves"),
tiles = {"farming_banana_leaf.png"}, tiles = {"ethereal_banana_leaf.png"},
inventory_image = "farming_banana_leaf.png", inventory_image = "ethereal_banana_leaf.png",
wield_image = "farming_banana_leaf.png", wield_image = "ethereal_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() is_ground_content = false,
sounds = farming.node_sound_leaves_defaults()
}) })
alias("farming_plus:banana_sapling", "default:sapling") alias("farming_plus:banana_sapling", "default:sapling")
@ -58,6 +62,7 @@ else
end end
-- Carrot -- Carrot
alias("farming_plus:carrot_seed", "farming:carrot") alias("farming_plus:carrot_seed", "farming:carrot")
alias("farming_plus:carrot_1", "farming:carrot_1") alias("farming_plus:carrot_1", "farming:carrot_1")
alias("farming_plus:carrot_2", "farming:carrot_4") alias("farming_plus:carrot_2", "farming:carrot_4")
@ -66,12 +71,14 @@ alias("farming_plus:carrot", "farming:carrot_8")
alias("farming_plus:carrot_item", "farming:carrot") alias("farming_plus:carrot_item", "farming:carrot")
-- Cocoa -- Cocoa
alias("farming_plus:cocoa_sapling", "farming:cocoa_beans") alias("farming_plus:cocoa_sapling", "farming:cocoa_beans")
alias("farming_plus:cocoa_leaves", "default:leaves") alias("farming_plus:cocoa_leaves", "default:leaves")
alias("farming_plus:cocoa", "default:apple") alias("farming_plus:cocoa", "default:apple")
alias("farming_plus:cocoa_bean", "farming:cocoa_beans") alias("farming_plus:cocoa_bean", "farming:cocoa_beans")
-- Orange -- Orange
alias("farming_plus:orange_1", "farming:tomato_1") alias("farming_plus:orange_1", "farming:tomato_1")
alias("farming_plus:orange_2", "farming:tomato_4") alias("farming_plus:orange_2", "farming:tomato_4")
alias("farming_plus:orange_3", "farming:tomato_6") alias("farming_plus:orange_3", "farming:tomato_6")
@ -81,7 +88,7 @@ if eth then
alias("farming_plus:orange", "ethereal:orange") alias("farming_plus:orange", "ethereal:orange")
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", { core.register_node(":ethereal:orange", {
description = S("Orange"), description = S("Orange"),
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_orange.png"}, tiles = {"farming_orange.png"},
@ -91,20 +98,23 @@ else
sunlight_propagates = true, sunlight_propagates = true,
walkable = false, walkable = false,
selection_box = { selection_box = {
type = "fixed", type = "fixed", fixed = {-0.2, -0.3, -0.2, 0.2, 0.2, 0.2}
fixed = {-0.2, -0.3, -0.2, 0.2, 0.2, 0.2}
}, },
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), is_ground_content = false,
sounds = default.node_sound_leaves_defaults() on_use = core.item_eat(4),
sounds = farming.node_sound_leaves_defaults()
}) })
farming.add_eatable("ethereal:orange", 4)
alias("farming_plus:orange_item", "ethereal:orange") alias("farming_plus:orange_item", "ethereal:orange")
alias("farming_plus:orange", "ethereal:orange") alias("farming_plus:orange", "ethereal:orange")
alias("farming_plus:orange_seed", "default:sapling") alias("farming_plus:orange_seed", "default:sapling")
end end
-- Potato -- Potato
alias("farming_plus:potato_item", "farming:potato") alias("farming_plus:potato_item", "farming:potato")
alias("farming_plus:potato_1", "farming:potato_1") alias("farming_plus:potato_1", "farming:potato_1")
alias("farming_plus:potato_2", "farming:potato_2") alias("farming_plus:potato_2", "farming:potato_2")
@ -112,6 +122,7 @@ alias("farming_plus:potato", "farming:potato_3")
alias("farming_plus:potato_seed", "farming:potato") alias("farming_plus:potato_seed", "farming:potato")
-- Pumpkin -- Pumpkin
alias("farming:pumpkin_seed", "farming:pumpkin_slice") alias("farming:pumpkin_seed", "farming:pumpkin_slice")
alias("farming:pumpkin_face", "farming:jackolantern") alias("farming:pumpkin_face", "farming:jackolantern")
alias("farming:pumpkin_face_light", "farming:jackolantern_on") alias("farming:pumpkin_face_light", "farming:jackolantern_on")
@ -124,6 +135,7 @@ alias("farming:scarecrow_light", "farming:jackolantern_on")
alias("farming:pumpkin_flour", "farming:pumpkin_dough") alias("farming:pumpkin_flour", "farming:pumpkin_dough")
-- Rhubarb -- Rhubarb
alias("farming_plus:rhubarb_seed", "farming:rhubarb") alias("farming_plus:rhubarb_seed", "farming:rhubarb")
alias("farming_plus:rhubarb_1", "farming:rhubarb_1") alias("farming_plus:rhubarb_1", "farming:rhubarb_1")
alias("farming_plus:rhubarb_2", "farming:rhubarb_2") alias("farming_plus:rhubarb_2", "farming:rhubarb_2")
@ -131,37 +143,19 @@ alias("farming_plus:rhubarb", "farming:rhubarb_3")
alias("farming_plus:rhubarb_item", "farming:rhubarb") alias("farming_plus:rhubarb_item", "farming:rhubarb")
-- Strawberry -- Strawberry
if eth then
alias("farming_plus:strawberry_item", "ethereal:strawberry")
alias("farming_plus:strawberry_seed", "ethereal:strawberry")
alias("farming_plus:strawberry_1", "ethereal:strawberry_1")
alias("farming_plus:strawberry_2", "ethereal:strawberry_3")
alias("farming_plus:strawberry_3", "ethereal:strawberry_5")
alias("farming_plus:strawberry", "ethereal:strawberry_7")
else
minetest.register_craftitem(":ethereal:strawberry", {
description = S("Strawberry"),
inventory_image = "farming_strawberry.png",
wield_image = "farming_strawberry.png",
groups = {food_strawberry = 1, flammable = 2},
on_use = minetest.item_eat(1)
})
alias("farming_plus:strawberry_item", "ethereal:strawberry") alias("farming_plus:strawberry_item", "ethereal:strawberry")
alias("farming_plus:strawberry_seed", "ethereal:strawberry") alias("farming_plus:strawberry_seed", "ethereal:strawberry")
alias("farming_plus:strawberry_1", "farming:raspberry_1") alias("farming_plus:strawberry_1", "ethereal:strawberry_1")
alias("farming_plus:strawberry_2", "farming:raspberry_2") alias("farming_plus:strawberry_2", "ethereal:strawberry_3")
alias("farming_plus:strawberry_3", "farming:raspberry_3") alias("farming_plus:strawberry_3", "ethereal:strawberry_5")
alias("farming_plus:strawberry", "farming:raspberry_4") alias("farming_plus:strawberry", "ethereal:strawberry_7")
end
-- Tomato -- Tomato
alias("farming_plus:tomato_seed", "farming:tomato") alias("farming_plus:tomato_seed", "farming:tomato")
alias("farming_plus:tomato_item", "farming:tomato") alias("farming_plus:tomato_item", "farming:tomato")
alias("farming_plus:tomato_1", "farming:tomato_2") alias("farming_plus:tomato_1", "farming:tomato_2")
alias("farming_plus:tomato_2", "farming:tomato_4") alias("farming_plus:tomato_2", "farming:tomato_4")
alias("farming_plus:tomato_3", "farming:tomato_6") alias("farming_plus:tomato_3", "farming:tomato_6")
alias("farming_plus:tomato", "farming:tomato_8") alias("farming_plus:tomato", "farming:tomato_8")
-- Weed
alias("farming:weed", "default:grass_2")

View File

@ -1,18 +1,25 @@
local S = farming.intllib
-- item definition local S = core.get_translator("farming")
minetest.register_craftitem("farming:artichoke", {
-- item/seed
core.register_craftitem("farming:artichoke", {
description = S("Artichoke"), description = S("Artichoke"),
inventory_image = "farming_artichoke.png", inventory_image = "farming_artichoke.png",
groups = {seed = 2, food_artichoke = 1, flammable = 2}, groups = {compostability = 48, seed = 2, food_artichoke = 1},
on_use = core.item_eat(4),
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "farming:artichoke_1") return farming.place_seed(itemstack, placer, pointed_thing, "farming:artichoke_1")
end, end
on_use = minetest.item_eat(4)
}) })
farming.add_eatable("farming:artichoke", 4)
-- crop definition -- crop definition
local def = { local def = {
description = S("Artichoke") .. S(" Crop"),
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_artichoke_1.png"}, tiles = {"farming_artichoke_1.png"},
paramtype = "light", paramtype = "light",
@ -20,41 +27,56 @@ local def = {
walkable = false, walkable = false,
buildable_to = true, buildable_to = true,
drop = "", drop = "",
waving = 1,
selection_box = farming.select, selection_box = farming.select,
groups = { groups = {
snappy = 3, flammable = 2, plant = 1, attached_node = 1, handy = 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() _mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
sounds = farming.node_sound_leaves_defaults()
} }
-- stage 1 -- stage 1
minetest.register_node("farming:artichoke_1", table.copy(def))
core.register_node("farming:artichoke_1", table.copy(def))
-- stage 2 -- stage 2
def.tiles = {"farming_artichoke_2.png"} def.tiles = {"farming_artichoke_2.png"}
minetest.register_node("farming:artichoke_2", table.copy(def)) core.register_node("farming:artichoke_2", table.copy(def))
-- stage 3 -- stage 3
def.tiles = {"farming_artichoke_3.png"} def.tiles = {"farming_artichoke_3.png"}
minetest.register_node("farming:artichoke_3", table.copy(def)) core.register_node("farming:artichoke_3", table.copy(def))
-- stage 4 -- stage 4
def.tiles = {"farming_artichoke_4.png"} def.tiles = {"farming_artichoke_4.png"}
minetest.register_node("farming:artichoke_4", table.copy(def)) def.drop = {
items = {
{items = {"farming:artichoke"}, rarity = 1}
}
}
core.register_node("farming:artichoke_4", table.copy(def))
-- stage 5 (final) -- stage 5 (final)
def.tiles = {"farming_artichoke_5.png"} def.tiles = {"farming_artichoke_5.png"}
def.groups.growing = nil def.groups.growing = nil
def.selection_box = farming.select_final
def.drop = { def.drop = {
items = { items = {
{items = {"farming:artichoke 2"}, rarity = 1}, {items = {"farming:artichoke 2"}, rarity = 1},
{items = {"farming:artichoke"}, rarity = 2} {items = {"farming:artichoke"}, rarity = 2}
} }
} }
minetest.register_node("farming:artichoke_5", table.copy(def)) core.register_node("farming:artichoke_5", table.copy(def))
-- add to registered_plants -- add to registered_plants
farming.registered_plants["farming:artichoke"] = { farming.registered_plants["farming:artichoke"] = {
crop = "farming:artichoke", crop = "farming:artichoke",
seed = "farming:artichoke", seed = "farming:artichoke",
@ -62,3 +84,24 @@ farming.registered_plants["farming:artichoke"] = {
maxlight = 15, maxlight = 15,
steps = 5 steps = 5
} }
-- mapgen
core.register_decoration({
deco_type = "simple",
place_on = {
"default:dirt_with_grass", "mcl_core:dirt_with_grass", "ethereal:grove_dirt"
},
sidelen = 16,
noise_params = {
offset = 0,
scale = farming.artichoke,
spread = {x = 100, y = 100, z = 100},
seed = 123,
octaves = 3,
persist = 0.6
},
y_min = 1, y_max = 13,
decoration = "farming:artichoke_4",
spawn_by = "group:tree", num_spawn_by = 1
})

108
crops/asparagus.lua Normal file
View File

@ -0,0 +1,108 @@
local S = core.get_translator("farming")
-- item/seed
core.register_craftitem("farming:asparagus", {
description = S("Asparagus"),
inventory_image = "farming_asparagus.png",
groups = {compostability = 48, seed = 2, food_asparagus = 1},
on_use = core.item_eat(1),
on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "farming:asparagus_1")
end
})
farming.add_eatable("farming:asparagus", 1)
-- crop definition
local def = {
description = S("Asparagus") .. S(" Crop"),
drawtype = "plantlike",
tiles = {"farming_asparagus_1.png"},
paramtype = "light",
paramtype2 = "meshoptions",
place_param2 = 3,
sunlight_propagates = true,
walkable = false,
buildable_to = true,
drop = "",
waving = 1,
selection_box = farming.select,
groups = {
handy = 1, snappy = 3, flammable = 2, plant = 1, attached_node = 1,
not_in_creative_inventory = 1, growing = 1
},
_mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
sounds = farming.node_sound_leaves_defaults()
}
-- stage 1
core.register_node("farming:asparagus_1", table.copy(def))
-- stage 2
def.tiles = {"farming_asparagus_2.png"}
core.register_node("farming:asparagus_2", table.copy(def))
-- stage 3
def.tiles = {"farming_asparagus_3.png"}
core.register_node("farming:asparagus_3", table.copy(def))
-- stage 4
def.tiles = {"farming_asparagus_4.png"}
def.drop = {
items = {
{items = {"farming:asparagus"}, rarity = 1}
}
}
core.register_node("farming:asparagus_4", table.copy(def))
-- stage 5 (final)
def.tiles = {"farming_asparagus_5.png"}
def.groups.growing = nil
def.selection_box = farming.select_final
def.drop = {
items = {
{items = {"farming:asparagus 2"}, rarity = 1},
{items = {"farming:asparagus"}, rarity = 2}
}
}
core.register_node("farming:asparagus_5", table.copy(def))
-- add to registered_plants
farming.registered_plants["farming:asparagus"] = {
crop = "farming:asparagus",
seed = "farming:asparagus",
minlight = 7,
maxlight = farming.max_light,
steps = 5
}
-- mapgen
core.register_decoration({
name = "farming:asparagus_5",
deco_type = "simple",
place_on = {"default:dirt_with_grass", "mcl_core:dirt_with_grass"},
sidelen = 16,
noise_params = {
offset = 0,
scale = farming.asparagus,
spread = {x = 100, y = 100, z = 100},
seed = 234,
octaves = 3,
persist = 0.6
},
y_min = 8, y_max = 32,
decoration = "farming:asparagus_4",
param2 = 3
})

View File

@ -1,43 +1,48 @@
local S = farming.intllib local S = core.get_translator("farming")
-- barley seeds -- seed
minetest.register_node("farming:seed_barley", {
core.register_node("farming:seed_barley", {
description = S("Barley Seed"), description = S("Barley Seed"),
tiles = {"farming_barley_seed.png"}, tiles = {"farming_barley_seed.png"},
inventory_image = "farming_barley_seed.png", inventory_image = "farming_barley_seed.png",
wield_image = "farming_barley_seed.png", wield_image = "farming_barley_seed.png",
drawtype = "signlike", drawtype = "signlike",
groups = {seed = 1, snappy = 3, attached_node = 1}, groups = {
handy = 1, compostability = 48, seed = 1, snappy = 3, attached_node = 1,
growing = 1
},
_mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
paramtype = "light", paramtype = "light",
paramtype2 = "wallmounted", paramtype2 = "wallmounted",
walkable = false, walkable = false,
sunlight_propagates = true, sunlight_propagates = true,
next_plant = "farming:barley_1",
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:seed_barley")
end,
on_timer = function(pos, elapsed)
core.set_node(pos, {name = "farming:barley_1", param2 = 3})
end end
}) })
-- harvested barley -- item
minetest.register_craftitem("farming:barley", {
core.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, compostability = 65}
}) })
-- flour -- crop definition
minetest.register_craft({
output = "farming:flour",
recipe = {
{"farming:barley", "farming:barley", "farming:barley"},
{"farming:barley", "farming:mortar_pestle", ""}
},
replacements = {{"group:food_mortar_pestle", "farming:mortar_pestle"}}
})
-- barley definition
local def = { local def = {
description = S("Barley") .. S(" Crop"),
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_barley_1.png"}, tiles = {"farming_barley_1.png"},
paramtype = "light", paramtype = "light",
@ -47,74 +52,84 @@ local def = {
walkable = false, walkable = false,
buildable_to = true, buildable_to = true,
drop = "", drop = "",
waving = 1,
selection_box = farming.select, selection_box = farming.select,
groups = { groups = {
snappy = 3, flammable = 2, plant = 1, attached_node = 1, handy = 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() _mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
sounds = farming.node_sound_leaves_defaults()
} }
-- stage 1 -- stage 1
minetest.register_node("farming:barley_1", table.copy(def))
core.register_node("farming:barley_1", table.copy(def))
-- stage 2 -- stage 2
def.tiles = {"farming_barley_2.png"} def.tiles = {"farming_barley_2.png"}
minetest.register_node("farming:barley_2", table.copy(def)) core.register_node("farming:barley_2", table.copy(def))
-- stage 3 -- stage 3
def.tiles = {"farming_barley_3.png"} def.tiles = {"farming_barley_3.png"}
minetest.register_node("farming:barley_3", table.copy(def)) core.register_node("farming:barley_3", table.copy(def))
-- stage 4 -- stage 4
def.tiles = {"farming_barley_4.png"} def.tiles = {"farming_barley_4.png"}
minetest.register_node("farming:barley_4", table.copy(def)) core.register_node("farming:barley_4", table.copy(def))
-- stage 5 -- stage 5
def.tiles = {"farming_barley_5.png"} def.tiles = {"farming_barley_5.png"}
core.register_node("farming:barley_5", table.copy(def))
-- stage 6
def.tiles = {"farming_barley_6.png"}
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(def)) core.register_node("farming:barley_6", table.copy(def))
-- stage 6 -- stage 7
def.tiles = {"farming_barley_6.png"}
def.tiles = {"farming_barley_7.png"}
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(def)) core.register_node("farming:barley_7", table.copy(def))
-- stage 7 (final) -- stage 8 (final)
def.tiles = {"farming_barley_7.png"}
def.tiles = {"farming_barley_8.png"}
def.groups.growing = nil def.groups.growing = nil
def.selection_box = farming.select_final
def.drop = { def.drop = {
items = { items = {
{items = {"farming:barley"}, rarity = 1}, {items = {"farming:barley 2"}, rarity = 1},
{items = {"farming:barley"}, rarity = 3}, {items = {"farming:barley"}, rarity = 2},
{items = {"farming:seed_barley"}, rarity = 1}, {items = {"farming:seed_barley 2"}, rarity = 1},
{items = {"farming:seed_barley"}, rarity = 3} {items = {"farming:seed_barley"}, rarity = 2}
} }
} }
minetest.register_node("farming:barley_7", table.copy(def)) core.register_node("farming:barley_8", table.copy(def))
-- add to registered_plants -- add to registered_plants
farming.registered_plants["farming:barley"] = { farming.registered_plants["farming:barley"] = {
crop = "farming:barley", crop = "farming:barley",
seed = "farming:seed_barley", seed = "farming:seed_barley",
minlight = farming.min_light, minlight = farming.min_light,
maxlight = farming.max_light, maxlight = farming.max_light,
steps = 7 steps = 8
} }
-- Fuel
minetest.register_craft({
type = "fuel",
recipe = "farming:barley",
burntime = 1
})

View File

@ -1,52 +1,44 @@
--[[
All textures by
(C) Auke Kok <sofar@foo-projects.org>
CC-BY-SA-3.0
]]
local S = farming.intllib -- All textures by (C) Auke Kok <sofar@foo-projects.org> CC-BY-SA-3.0
local S = core.get_translator("farming")
local a = farming.recipe_items
-- place beans helper
-- place beans
local function place_beans(itemstack, placer, pointed_thing, plantname) local function place_beans(itemstack, placer, pointed_thing, plantname)
local pt = pointed_thing local pt = pointed_thing
-- 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 end
return
end
local under = minetest.get_node(pt.under) local under = core.get_node(pt.under)
-- return if any of the nodes are not registered -- return if any of the nodes are not registered
if not minetest.registered_nodes[under.name] then if not core.registered_nodes[under.name] then return end
return
end
-- 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 = core.registered_nodes[under.name]
if placer and itemstack 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, pt)
end end
-- is player planting crop? -- is player planting crop?
local name = placer and placer:get_player_name() or "" local name = placer and placer:get_player_name() or ""
-- check for protection -- check for protection
if minetest.is_protected(pt.under, name) then if core.is_protected(pt.under, name) then return end
return
end
-- check if pointing at bean pole -- check if pointing at bean pole
if under.name ~= "farming:beanpole" then if under.name ~= "farming:beanpole" then return end
return
end
-- add the node and remove 1 item from the itemstack -- add the node and remove 1 item from the itemstack
minetest.set_node(pt.under, {name = plantname}) core.set_node(pt.under, {name = plantname})
minetest.sound_play("default_place_node", {pos = pt.under, gain = 1.0}) core.sound_play("default_place_node", {pos = pt.under, gain = 1.0}, true)
if placer or not farming.is_creative(placer:get_player_name()) then if placer or not farming.is_creative(placer:get_player_name()) then
@ -55,37 +47,32 @@ local function place_beans(itemstack, placer, pointed_thing, plantname)
-- check for refill -- check for refill
if itemstack:get_count() == 0 then if itemstack:get_count() == 0 then
minetest.after(0.20, core.after(0.20,
farming.refill_plant, farming.refill_plant, placer, "farming:beans", placer:get_wield_index())
placer,
"farming:beans",
placer:get_wield_index()
)
end end
end end
return itemstack return itemstack
end end
-- beans -- item/seed
minetest.register_craftitem("farming:beans", {
core.register_craftitem("farming:beans", {
description = S("Green Beans"), description = S("Green Beans"),
inventory_image = "farming_beans.png", inventory_image = "farming_beans.png",
groups = {seed = 2, food_beans = 1, flammable = 2}, groups = {compostability = 48, seed = 2, food_beans = 1},
on_use = minetest.item_eat(1), on_use = core.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 farming.add_eatable("farming:beans", 1)
minetest.register_craft({
output = "dye:green",
recipe = {{"farming:beans"}}
})
-- beanpole -- beanpole
minetest.register_node("farming:beanpole", {
core.register_node("farming:beanpole", {
description = S("Bean Pole (place on soil before planting beans)"), description = S("Bean Pole (place on soil before planting beans)"),
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_beanpole.png"}, tiles = {"farming_beanpole.png"},
@ -97,41 +84,37 @@ minetest.register_node("farming:beanpole", {
sunlight_propagates = true, sunlight_propagates = true,
drop = "farming:beanpole", drop = "farming:beanpole",
selection_box = farming.select, selection_box = farming.select,
groups = {snappy = 3, flammable = 2, attached_node = 1}, groups = {handy = 1, snappy = 3, flammable = 2, attached_node = 1},
sounds = default.node_sound_leaves_defaults(), is_ground_content = false,
sounds = farming.node_sound_leaves_defaults(),
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)
local pt = pointed_thing local pt = pointed_thing
-- 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 end
return
end
local under = minetest.get_node(pt.under) local under = core.get_node(pt.under)
-- return if any of the nodes are not registered -- return if any of the nodes are not registered
if not minetest.registered_nodes[under.name] then if not core.registered_nodes[under.name] then return end
return
end
-- 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 = core.registered_nodes[under.name]
if def and def.on_rightclick then if def and def.on_rightclick then
return def.on_rightclick(pt.under, under, placer, itemstack) return def.on_rightclick(pt.under, under, placer, itemstack, pt)
end end
if minetest.is_protected(pt.above, placer:get_player_name()) then if core.is_protected(pt.above, placer:get_player_name()) then
return return
end end
local nodename = under.name local nodename = under.name
if minetest.get_item_group(nodename, "soil") < 2 then if core.get_item_group(nodename, "soil") < 2 then return end
return
end
local top = { local top = {
x = pointed_thing.above.x, x = pointed_thing.above.x,
@ -139,13 +122,11 @@ minetest.register_node("farming:beanpole", {
z = pointed_thing.above.z z = pointed_thing.above.z
} }
nodename = minetest.get_node(top).name nodename = core.get_node(top).name
if nodename ~= "air" then if nodename ~= "air" then return end
return
end
minetest.set_node(pointed_thing.above, {name = "farming:beanpole"}) core.set_node(pointed_thing.above, {name = "farming:beanpole"})
if not farming.is_creative(placer:get_player_name()) then if not farming.is_creative(placer:get_player_name()) then
itemstack:take_item() itemstack:take_item()
@ -155,23 +136,10 @@ minetest.register_node("farming:beanpole", {
end end
}) })
minetest.register_craft({ -- crop definition
output = "farming:beanpole",
recipe = {
{"", "", ""},
{"default:stick", "", "default:stick"},
{"default:stick", "", "default:stick"}
}
})
minetest.register_craft({
type = "fuel",
recipe = "farming:beanpole",
burntime = 10
})
-- green bean definition
local def = { local def = {
description = S("Green Beans") .. S(" Crop"),
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_beanpole_1.png"}, tiles = {"farming_beanpole_1.png"},
visual_scale = 1.90, visual_scale = 1.90,
@ -186,42 +154,52 @@ local def = {
}, },
selection_box = farming.select, selection_box = farming.select,
groups = { groups = {
snappy = 3, flammable = 3, not_in_creative_inventory = 1, handy = 1, snappy = 3, flammable = 3, not_in_creative_inventory = 1,
attached_node = 1, growing = 1, plant = 1 attached_node = 1, growing = 1, plant = 1
}, },
sounds = default.node_sound_leaves_defaults() _mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
sounds = farming.node_sound_leaves_defaults()
} }
-- stage 1 -- stage 1
minetest.register_node("farming:beanpole_1", table.copy(def))
core.register_node("farming:beanpole_1", table.copy(def))
-- stage2 -- stage2
def.tiles = {"farming_beanpole_2.png"} def.tiles = {"farming_beanpole_2.png"}
minetest.register_node("farming:beanpole_2", table.copy(def)) core.register_node("farming:beanpole_2", table.copy(def))
-- stage 3 -- stage 3
def.tiles = {"farming_beanpole_3.png"} def.tiles = {"farming_beanpole_3.png"}
minetest.register_node("farming:beanpole_3", table.copy(def)) core.register_node("farming:beanpole_3", table.copy(def))
-- stage 4 -- stage 4
def.tiles = {"farming_beanpole_4.png"} def.tiles = {"farming_beanpole_4.png"}
minetest.register_node("farming:beanpole_4", table.copy(def)) core.register_node("farming:beanpole_4", table.copy(def))
-- stage 5 (final) -- stage 5 (final)
def.tiles = {"farming_beanpole_5.png"} def.tiles = {"farming_beanpole_5.png"}
def.groups.growing = nil def.groups.growing = nil
def.selection_box = farming.select_final
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"}, rarity = 2},
{items = {"farming:beans 2"}, rarity = 3} {items = {"farming:beans"}, rarity = 3}
} }
} }
minetest.register_node("farming:beanpole_5", table.copy(def)) core.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"] = {
trellis = "farming:beanpole",
crop = "farming:beanpole", crop = "farming:beanpole",
seed = "farming:beans", seed = "farming:beans",
minlight = farming.min_light, minlight = farming.min_light,
@ -230,7 +208,8 @@ farming.registered_plants["farming:beans"] = {
} }
-- wild green bean bush (this is what you find on the map) -- wild green bean bush (this is what you find on the map)
minetest.register_node("farming:beanbush", {
core.register_node("farming:beanbush", {
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_beanbush.png"}, tiles = {"farming_beanbush.png"},
paramtype = "light", paramtype = "light",
@ -247,8 +226,27 @@ minetest.register_node("farming:beanbush", {
}, },
selection_box = farming.select, selection_box = farming.select,
groups = { groups = {
snappy = 3, flammable = 2, plant = 1, attached_node = 1, handy = 1, snappy = 3, flammable = 2, plant = 1, attached_node = 1,
not_in_creative_inventory = 1 compostability = 35, not_in_creative_inventory = 1
}, },
sounds = default.node_sound_leaves_defaults() is_ground_content = false,
sounds = farming.node_sound_leaves_defaults()
})
-- mapgen
core.register_decoration({
deco_type = "simple",
place_on = {"default:dirt_with_grass", "mcl_core:dirt_with_grass"},
sidelen = 16,
noise_params = {
offset = 0,
scale = farming.beans,
spread = {x = 100, y = 100, z = 100},
seed = 345,
octaves = 3,
persist = 0.6
},
y_min = 18, y_max = 38,
decoration = "farming:beanbush"
}) })

View File

@ -1,40 +1,26 @@
local S = farming.intllib local S = core.get_translator("farming")
local a = farming.recipe_items
-- beetroot -- item/seed
minetest.register_craftitem("farming:beetroot", {
core.register_craftitem("farming:beetroot", {
description = S("Beetroot"), description = S("Beetroot"),
inventory_image = "farming_beetroot.png", inventory_image = "farming_beetroot.png",
groups = {seed = 2, food_beetroot = 1, flammable = 2}, groups = {compostability = 48, seed = 2, food_beetroot = 1},
on_use = core.item_eat(1),
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)
}) })
-- beetroot soup farming.add_eatable("farming:beetroot", 1)
minetest.register_craftitem("farming:beetroot_soup", {
description = S("Beetroot Soup"),
inventory_image = "farming_beetroot_soup.png",
groups = {flammable = 2},
on_use = minetest.item_eat(6, "farming:bowl")
})
minetest.register_craft({ -- crop definition
output = "farming:beetroot_soup",
recipe = {
{"group:food_beetroot", "group:food_beetroot", "group:food_beetroot"},
{"group:food_beetroot", "group:food_bowl", "group:food_beetroot"}
}
})
-- red dye
minetest.register_craft({
output = "dye:red",
recipe = {{"group:food_beetroot"}}
})
local def = { local def = {
description = S("Beetroot") .. S(" Crop"),
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_beetroot_1.png"}, tiles = {"farming_beetroot_1.png"},
paramtype = "light", paramtype = "light",
@ -45,41 +31,49 @@ local def = {
drop = "", drop = "",
selection_box = farming.select, selection_box = farming.select,
groups = { groups = {
snappy = 3, flammable = 2, plant = 1, attached_node = 1, handy = 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() _mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
sounds = farming.node_sound_leaves_defaults()
} }
-- stage 1 -- stage 1
minetest.register_node("farming:beetroot_1", table.copy(def))
core.register_node("farming:beetroot_1", table.copy(def))
-- stage 2 -- stage 2
def.tiles = {"farming_beetroot_2.png"} def.tiles = {"farming_beetroot_2.png"}
minetest.register_node("farming:beetroot_2", table.copy(def)) core.register_node("farming:beetroot_2", table.copy(def))
-- stage 3 -- stage 3
def.tiles = {"farming_beetroot_3.png"} def.tiles = {"farming_beetroot_3.png"}
minetest.register_node("farming:beetroot_3", table.copy(def)) core.register_node("farming:beetroot_3", table.copy(def))
-- stage 4 -- stage 4
def.tiles = {"farming_beetroot_4.png"}
minetest.register_node("farming:beetroot_4", table.copy(def))
-- stage 5 def.tiles = {"farming_beetroot_4.png"}
core.register_node("farming:beetroot_4", table.copy(def))
-- stage 5 (final)
def.tiles = {"farming_beetroot_5.png"} def.tiles = {"farming_beetroot_5.png"}
def.groups.growing = nil def.groups.growing = nil
def.selection_box = farming.select_final
def.drop = { def.drop = {
max_items = 4, items = { items = {
{items = {"farming:beetroot"}, rarity = 1}, {items = {"farming:beetroot 2"}, 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}
} }
} }
minetest.register_node("farming:beetroot_5", table.copy(def)) core.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"] = {
crop = "farming:beetroot", crop = "farming:beetroot",
seed = "farming:beetroot", seed = "farming:beetroot",
@ -87,3 +81,27 @@ farming.registered_plants["farming:beetroot"] = {
maxlight = farming.max_light, maxlight = farming.max_light,
steps = 5 steps = 5
} }
-- mapgen
local spawn_on = {"default:dirt_with_grass", "mcl_core:dirt_with_grass"}
if farming.eth then
spawn_on = {"ethereal:prairie_dirt"}
end
core.register_decoration({
deco_type = "simple",
place_on = spawn_on,
sidelen = 16,
noise_params = {
offset = 0,
scale = farming.beetroot,
spread = {x = 100, y = 100, z = 100},
seed = 456,
octaves = 3,
persist = 0.6
},
y_min = 1, y_max = 20,
decoration = "farming:beetroot_5"
})

View File

@ -1,19 +1,28 @@
local S = farming.intllib local S = core.get_translator("farming")
-- blackberries -- item/seed
minetest.register_craftitem("farming:blackberry", {
core.register_craftitem("farming:blackberry", {
description = S("Blackberries"), description = S("Blackberries"),
inventory_image = "farming_blackberry.png", inventory_image = "farming_blackberry.png",
groups = {seed = 2, food_blackberries = 1, food_blackberry = 1, groups = {
food_berry = 1, flammable = 2}, compostability = 48, seed = 2, food_blackberries = 1, food_blackberry = 1,
food_berry = 1
},
on_use = core.item_eat(1),
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "farming:blackberry_1") return farming.place_seed(itemstack, placer, pointed_thing, "farming:blackberry_1")
end, end
on_use = minetest.item_eat(1),
}) })
farming.add_eatable("farming:blackberry", 1)
-- crop definition
local def = { local def = {
description = S("Blackberry") .. S(" Crop"),
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_blackberry_1.png"}, tiles = {"farming_blackberry_1.png"},
paramtype = "light", paramtype = "light",
@ -23,36 +32,44 @@ local def = {
drop = "", drop = "",
selection_box = farming.select, selection_box = farming.select,
groups = { groups = {
snappy = 3, flammable = 2, plant = 1, attached_node = 1, handy = 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() _mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
sounds = farming.node_sound_leaves_defaults()
} }
-- stage 1 -- stage 1
minetest.register_node("farming:blackberry_1", table.copy(def))
core.register_node("farming:blackberry_1", table.copy(def))
-- stage 2 -- stage 2
def.tiles = {"farming_blackberry_2.png"} def.tiles = {"farming_blackberry_2.png"}
minetest.register_node("farming:blackberry_2", table.copy(def)) core.register_node("farming:blackberry_2", table.copy(def))
-- stage 3 -- stage 3
def.tiles = {"farming_blackberry_3.png"}
minetest.register_node("farming:blackberry_3", table.copy(def))
-- stage 4 def.tiles = {"farming_blackberry_3.png"}
core.register_node("farming:blackberry_3", table.copy(def))
-- stage 4 (final)
def.tiles = {"farming_blackberry_4.png"} def.tiles = {"farming_blackberry_4.png"}
def.groups.growing = nil def.groups.growing = nil
def.selection_box = farming.select_final
def.drop = { def.drop = {
items = { items = {
{items = {'farming:blackberry 2'}, rarity = 1}, {items = {"farming:blackberry 2"}, rarity = 1},
{items = {'farming:blackberry'}, rarity = 2}, {items = {"farming:blackberry"}, rarity = 2},
{items = {'farming:blackberry'}, rarity = 3}, {items = {"farming:blackberry"}, rarity = 3},
} }
} }
minetest.register_node("farming:blackberry_4", table.copy(def)) core.register_node("farming:blackberry_4", table.copy(def))
-- add to registered_plants -- add to registered_plants
farming.registered_plants["farming:blackberry"] = { farming.registered_plants["farming:blackberry"] = {
crop = "farming:blackberry", crop = "farming:blackberry",
seed = "farming:blackberry", seed = "farming:blackberry",
@ -60,3 +77,23 @@ farming.registered_plants["farming:blackberry"] = {
maxlight = farming.max_light, maxlight = farming.max_light,
steps = 4 steps = 4
} }
-- mapgen
core.register_decoration({
deco_type = "simple",
place_on = {
"default:dirt_with_grass", "mcl_core:dirt_with_grass", "ethereal:prairie_dirt"
},
sidelen = 16,
noise_params = {
offset = 0,
scale = farming.blackberry,
spread = {x = 100, y = 100, z = 100},
seed = 567,
octaves = 3,
persist = 0.6
},
y_min = 3, y_max = 20,
decoration = "farming:blackberry_4"
})

View File

@ -1,50 +1,27 @@
local S = farming.intllib local S = core.get_translator("farming")
-- blueberries -- item/seed
minetest.register_craftitem("farming:blueberries", {
core.register_craftitem("farming:blueberries", {
description = S("Wild Blueberries"), description = S("Wild Blueberries"),
inventory_image = "farming_blueberries.png", inventory_image = "farming_blueberries.png",
groups = {seed = 2, food_blueberries = 1, food_blueberry = 1, groups = {
food_berry = 1, flammable = 2}, compostability = 48,seed = 2, food_blueberries = 1, food_blueberry = 1,
food_berry = 1
},
on_use = core.item_eat(1),
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)
}) })
-- blueberry muffin (thanks to sosogirl123 @ deviantart.com for muffin image) farming.add_eatable("farming:blueberries", 1)
minetest.register_craftitem("farming:muffin_blueberry", {
description = S("Blueberry Muffin"),
inventory_image = "farming_blueberry_muffin.png",
on_use = minetest.item_eat(2)
})
minetest.register_craft({ -- ctop definition
output = "farming:muffin_blueberry 2",
recipe = {
{"group:food_blueberries", "group:food_bread", "group:food_blueberries"}
}
})
-- Blueberry Pie
minetest.register_craftitem("farming:blueberry_pie", {
description = S("Blueberry Pie"),
inventory_image = "farming_blueberry_pie.png",
on_use = minetest.item_eat(6)
})
minetest.register_craft({
output = "farming:blueberry_pie",
recipe = {
{"group:food_flour", "group:food_sugar", "group:food_blueberries"},
{"group:food_baking_tray", "", ""}
},
replacements = {{"group:food_baking_tray", "farming:baking_tray"}}
})
-- blueberry definition
local def = { local def = {
description = S("Blueberry") .. S(" Crop"),
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_blueberry_1.png"}, tiles = {"farming_blueberry_1.png"},
paramtype = "light", paramtype = "light",
@ -54,26 +31,33 @@ local def = {
drop = "", drop = "",
selection_box = farming.select, selection_box = farming.select,
groups = { groups = {
snappy = 3, flammable = 2, plant = 1, attached_node = 1, handy = 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() _mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
sounds = farming.node_sound_leaves_defaults()
} }
-- stage 1 -- stage 1
minetest.register_node("farming:blueberry_1", table.copy(def))
core.register_node("farming:blueberry_1", table.copy(def))
-- stage 2 -- stage 2
def.tiles = {"farming_blueberry_2.png"} def.tiles = {"farming_blueberry_2.png"}
minetest.register_node("farming:blueberry_2", table.copy(def)) core.register_node("farming:blueberry_2", table.copy(def))
-- stage 3 -- stage 3
def.tiles = {"farming_blueberry_3.png"} def.tiles = {"farming_blueberry_3.png"}
minetest.register_node("farming:blueberry_3", table.copy(def)) core.register_node("farming:blueberry_3", table.copy(def))
-- stage 4 (final) -- stage 4 (final)
def.tiles = {"farming_blueberry_4.png"} def.tiles = {"farming_blueberry_4.png"}
def.groups.growing = nil def.groups.growing = nil
def.selection_box = farming.select_final
def.drop = { def.drop = {
items = { items = {
{items = {"farming:blueberries 2"}, rarity = 1}, {items = {"farming:blueberries 2"}, rarity = 1},
@ -81,9 +65,10 @@ def.drop = {
{items = {"farming:blueberries"}, rarity = 3} {items = {"farming:blueberries"}, rarity = 3}
} }
} }
minetest.register_node("farming:blueberry_4", table.copy(def)) core.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"] = {
crop = "farming:blueberry", crop = "farming:blueberry",
seed = "farming:blueberries", seed = "farming:blueberries",
@ -91,3 +76,23 @@ farming.registered_plants["farming:blueberries"] = {
maxlight = farming.max_light, maxlight = farming.max_light,
steps = 4 steps = 4
} }
-- mapgen
core.register_decoration({
deco_type = "simple",
place_on = {
"default:dirt_with_grass", "mcl_core:dirt_with_grass", "ethereal:prairie_dirt"
},
sidelen = 16,
noise_params = {
offset = 0,
scale = farming.blueberry,
spread = {x = 100, y = 100, z = 100},
seed = 678,
octaves = 3,
persist = 0.6
},
y_min = 3, y_max = 15,
decoration = "farming:blueberry_4"
})

View File

@ -1,18 +1,25 @@
local S = farming.intllib local S = core.get_translator("farming")
-- cabbage -- item/seed
minetest.register_craftitem("farming:cabbage", {
core.register_craftitem("farming:cabbage", {
description = S("Cabbage"), description = S("Cabbage"),
inventory_image = "farming_cabbage.png", inventory_image = "farming_cabbage.png",
groups = {seed = 2, food_cabbage = 1, flammable = 2}, groups = {compostability = 48, seed = 2, food_cabbage = 1},
on_use = core.item_eat(1),
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "farming:cabbage_1") return farming.place_seed(itemstack, placer, pointed_thing, "farming:cabbage_1")
end, end
on_use = minetest.item_eat(1)
}) })
farming.add_eatable("farming:cabbage", 1)
-- crop definition
local def = { local def = {
description = S("Cabbage") .. S(" Crop"),
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_cabbage_1.png"}, tiles = {"farming_cabbage_1.png"},
paramtype = "light", paramtype = "light",
@ -23,43 +30,53 @@ local def = {
drop = "", drop = "",
selection_box = farming.select, selection_box = farming.select,
groups = { groups = {
snappy = 3, flammable = 2, plant = 1, attached_node = 1, handy = 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() _mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
sounds = farming.node_sound_leaves_defaults()
} }
-- stage 1 -- stage 1
minetest.register_node("farming:cabbage_1", table.copy(def))
core.register_node("farming:cabbage_1", table.copy(def))
-- stage 2 -- stage 2
def.tiles = {"farming_cabbage_2.png"} def.tiles = {"farming_cabbage_2.png"}
minetest.register_node("farming:cabbage_2", table.copy(def)) core.register_node("farming:cabbage_2", table.copy(def))
-- stage 3 -- stage 3
def.tiles = {"farming_cabbage_3.png"} def.tiles = {"farming_cabbage_3.png"}
minetest.register_node("farming:cabbage_3", table.copy(def)) core.register_node("farming:cabbage_3", table.copy(def))
-- stage 4 -- stage 4
def.tiles = {"farming_cabbage_4.png"} def.tiles = {"farming_cabbage_4.png"}
minetest.register_node("farming:cabbage_4", table.copy(def)) core.register_node("farming:cabbage_4", table.copy(def))
-- stage 5 -- stage 5
def.tiles = {"farming_cabbage_5.png"}
minetest.register_node("farming:cabbage_5", table.copy(def))
-- stage 6 def.tiles = {"farming_cabbage_5.png"}
core.register_node("farming:cabbage_5", table.copy(def))
-- stage 6 (final)
def.tiles = {"farming_cabbage_6.png"} def.tiles = {"farming_cabbage_6.png"}
def.groups.growing = nil def.groups.growing = nil
def.selection_box = farming.select_final
def.drop = { def.drop = {
max_items = 2, items = { items = {
{items = {"farming:cabbage 2"}, rarity = 1}, {items = {"farming:cabbage 2"}, rarity = 1},
{items = {"farming:cabbage 1"}, rarity = 2} {items = {"farming:cabbage"}, rarity = 3}
} }
} }
minetest.register_node("farming:cabbage_6", table.copy(def)) core.register_node("farming:cabbage_6", table.copy(def))
-- add to registered_plants -- add to registered_plants
farming.registered_plants["farming:cabbage"] = { farming.registered_plants["farming:cabbage"] = {
crop = "farming:cabbage", crop = "farming:cabbage",
seed = "farming:cabbage", seed = "farming:cabbage",
@ -67,3 +84,21 @@ farming.registered_plants["farming:cabbage"] = {
maxlight = farming.max_light, maxlight = farming.max_light,
steps = 6 steps = 6
} }
-- mapgen
core.register_decoration({
deco_type = "simple",
place_on = {"default:dirt_with_grass", "mcl_core:dirt_with_grass"},
sidelen = 16,
noise_params = {
offset = 0,
scale = farming.cabbage,
spread = {x = 100, y = 100, z = 100},
seed = 789,
octaves = 3,
persist = 0.6
},
y_min = 2, y_max = 15,
decoration = "farming:cabbage_6"
})

View File

@ -1,60 +1,29 @@
--[[ -- Original textures from PixelBox texture pack
Original textures from PixelBox texture pack -- https://forum.core.net/viewtopic.php?id=4990
https://forum.minetest.net/viewtopic.php?id=4990
]]
local S = farming.intllib local S = core.get_translator("farming")
local a = farming.recipe_items
-- carrot -- item/seed
minetest.register_craftitem("farming:carrot", {
core.register_craftitem("farming:carrot", {
description = S("Carrot"), description = S("Carrot"),
inventory_image = "farming_carrot.png", inventory_image = "farming_carrot.png",
groups = {seed = 2, food_carrot = 1, flammable = 2}, groups = {compostability = 48, seed = 2, food_carrot = 1},
on_use = core.item_eat(4),
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)
}) })
-- carrot juice farming.add_eatable("farming:carrot", 4)
minetest.register_craftitem("farming:carrot_juice", {
description = S("Carrot Juice"),
inventory_image = "farming_carrot_juice.png",
on_use = minetest.item_eat(4, "vessels:drinking_glass"),
groups = {vessel = 1, drink = 1}
})
minetest.register_craft({ -- crop definition
output = "farming:carrot_juice",
recipe = {
{"group:food_carrot"},
{"farming:juicer"},
{"vessels:drinking_glass"}
},
replacements = {
{"group:food_juicer", "farming:juicer"}
}
})
-- golden carrot
minetest.register_craftitem("farming:carrot_gold", {
description = S("Golden Carrot"),
inventory_image = "farming_carrot_gold.png",
on_use = minetest.item_eat(10)
})
minetest.register_craft({
output = "farming:carrot_gold",
recipe = {
{"", "default:gold_lump", ""},
{"default:gold_lump", "group:food_carrot", "default:gold_lump"},
{"", "default:gold_lump", ""}
}
})
-- carrot definition
local def = { local def = {
description = S("Carrot") .. S(" Crop"),
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_carrot_1.png"}, tiles = {"farming_carrot_1.png"},
paramtype = "light", paramtype = "light",
@ -62,60 +31,73 @@ local def = {
walkable = false, walkable = false,
buildable_to = true, buildable_to = true,
drop = "", drop = "",
waving = 1,
selection_box = farming.select, selection_box = farming.select,
groups = { groups = {
snappy = 3, flammable = 2, plant = 1, attached_node = 1, handy = 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() _mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
sounds = farming.node_sound_leaves_defaults()
} }
-- stage 1 -- stage 1
minetest.register_node("farming:carrot_1", table.copy(def))
core.register_node("farming:carrot_1", table.copy(def))
-- stage 2 -- stage 2
def.tiles = {"farming_carrot_2.png"} def.tiles = {"farming_carrot_2.png"}
minetest.register_node("farming:carrot_2", table.copy(def)) core.register_node("farming:carrot_2", table.copy(def))
-- stage 3 -- stage 3
def.tiles = {"farming_carrot_3.png"} def.tiles = {"farming_carrot_3.png"}
minetest.register_node("farming:carrot_3", table.copy(def)) core.register_node("farming:carrot_3", table.copy(def))
-- stage 4 -- stage 4
def.tiles = {"farming_carrot_4.png"} def.tiles = {"farming_carrot_4.png"}
minetest.register_node("farming:carrot_4", table.copy(def)) core.register_node("farming:carrot_4", table.copy(def))
-- stage 5 -- stage 5
def.tiles = {"farming_carrot_5.png"} def.tiles = {"farming_carrot_5.png"}
minetest.register_node("farming:carrot_5", table.copy(def)) core.register_node("farming:carrot_5", table.copy(def))
-- stage 6 -- stage 6
def.tiles = {"farming_carrot_6.png"} def.tiles = {"farming_carrot_6.png"}
minetest.register_node("farming:carrot_6", table.copy(def)) core.register_node("farming:carrot_6", table.copy(def))
-- stage 7 -- stage 7
def.tiles = {"farming_carrot_7.png"} def.tiles = {"farming_carrot_7.png"}
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"}, rarity = 3}
} }
} }
minetest.register_node("farming:carrot_7", table.copy(def)) core.register_node("farming:carrot_7", table.copy(def))
-- stage 8 (final) -- stage 8 (final)
def.tiles = {"farming_carrot_8.png"} def.tiles = {"farming_carrot_8.png"}
def.groups.growing = nil def.groups.growing = nil
def.selection_box = farming.select_final
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"}, rarity = 2},
{items = {"farming:carrot"}, rarity = 3},
} }
} }
minetest.register_node("farming:carrot_8", table.copy(def)) core.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"] = {
crop = "farming:carrot", crop = "farming:carrot",
seed = "farming:carrot", seed = "farming:carrot",
@ -123,3 +105,23 @@ farming.registered_plants["farming:carrot"] = {
maxlight = farming.max_light, maxlight = farming.max_light,
steps = 8 steps = 8
} }
-- mapgen
core.register_decoration({
deco_type = "simple",
place_on = {
"default:dirt_with_grass", "mcl_core:dirt_with_grass", "ethereal:prairie_dirt"
},
sidelen = 16,
noise_params = {
offset = 0,
scale = farming.carrot,
spread = {x = 100, y = 100, z = 100},
seed = 890,
octaves = 3,
persist = 0.6
},
y_min = 1, y_max = 30,
decoration = "farming:carrot_7"
})

View File

@ -1,40 +1,26 @@
local S = farming.intllib local S = core.get_translator("farming")
local a = farming.recipe_items
-- chili pepper -- item/seed
minetest.register_craftitem("farming:chili_pepper", {
core.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 = {seed = 2, food_chili_pepper = 1, flammable = 4}, groups = {compostability = 48, seed = 2, food_chili_pepper = 1},
on_use = core.item_eat(2),
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)
}) })
-- bowl of chili farming.add_eatable("farming:chili_pepper", 2)
minetest.register_craftitem("farming:chili_bowl", {
description = S("Bowl of Chili"),
inventory_image = "farming_chili_bowl.png",
on_use = minetest.item_eat(8, "farming:bowl")
})
minetest.register_craft({ -- crop definition
output = "farming:chili_bowl",
recipe = {
{"group:food_chili_pepper", "group:food_rice", "group:food_tomato"},
{"group:food_beans", "group:food_bowl", ""}
}
})
-- chili can be used for red dye
minetest.register_craft({
output = "dye:red",
recipe = {{"farming:chili_pepper"}}
})
-- chili definition
local def = { local def = {
description = S("Chili Pepper") .. S(" Crop"),
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_chili_1.png"}, tiles = {"farming_chili_1.png"},
paramtype = "light", paramtype = "light",
@ -42,53 +28,68 @@ local def = {
walkable = false, walkable = false,
buildable_to = true, buildable_to = true,
drop = "", drop = "",
waving = 1,
selection_box = farming.select, selection_box = farming.select,
groups = { groups = {
snappy = 3, flammable = 4, plant = 1, attached_node = 1, handy = 1, snappy = 3, flammable = 4, 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() _mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
sounds = farming.node_sound_leaves_defaults()
} }
-- stage 1 -- stage 1
minetest.register_node("farming:chili_1", table.copy(def))
core.register_node("farming:chili_1", table.copy(def))
-- stage 2 -- stage 2
def.tiles = {"farming_chili_2.png"} def.tiles = {"farming_chili_2.png"}
minetest.register_node("farming:chili_2", table.copy(def)) core.register_node("farming:chili_2", table.copy(def))
-- stage 3 -- stage 3
def.tiles = {"farming_chili_3.png"} def.tiles = {"farming_chili_3.png"}
minetest.register_node("farming:chili_3", table.copy(def)) core.register_node("farming:chili_3", table.copy(def))
-- stage 4 -- stage 4
def.tiles = {"farming_chili_4.png"} def.tiles = {"farming_chili_4.png"}
minetest.register_node("farming:chili_4", table.copy(def)) core.register_node("farming:chili_4", table.copy(def))
-- stage 5 -- stage 5
def.tiles = {"farming_chili_5.png"} def.tiles = {"farming_chili_5.png"}
minetest.register_node("farming:chili_5", table.copy(def)) core.register_node("farming:chili_5", table.copy(def))
-- stage 6 -- stage 6
def.tiles = {"farming_chili_6.png"} def.tiles = {"farming_chili_6.png"}
minetest.register_node("farming:chili_6", table.copy(def)) core.register_node("farming:chili_6", table.copy(def))
-- stage 7 -- stage 7
def.tiles = {"farming_chili_7.png"} def.tiles = {"farming_chili_7.png"}
minetest.register_node("farming:chili_7", table.copy(def)) core.register_node("farming:chili_7", table.copy(def))
-- stage 8 (final) -- stage 8 (final)
def.tiles = {"farming_chili_8.png"} def.tiles = {"farming_chili_8.png"}
def.groups.growing = nil def.groups.growing = nil
def.selection_box = farming.select_final
def.drop = { def.drop = {
items = { items = {
{items = {"farming:chili_pepper 3"}, rarity = 1}, {items = {"farming:chili_pepper 2"}, rarity = 1},
{items = {"farming:chili_pepper 2"}, rarity = 2} {items = {"farming:chili_pepper"}, rarity = 2},
{items = {"farming:chili_pepper"}, rarity = 3},
{items = {"farming:chili_pepper"}, rarity = 4}
} }
} }
minetest.register_node("farming:chili_8", table.copy(def)) core.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"] = {
crop = "farming:chili", crop = "farming:chili",
seed = "farming:chili_pepper", seed = "farming:chili_pepper",
@ -96,3 +97,25 @@ farming.registered_plants["farming:chili_pepper"] = {
maxlight = farming.max_light, maxlight = farming.max_light,
steps = 8 steps = 8
} }
-- mapgen
core.register_decoration({
deco_type = "simple",
place_on = {
"default:dirt_with_grass", "default:dirt_with_rainforest_litter",
"mcl_core:dirt_with_grass", "ethereal:prairie_dirt"
},
sidelen = 16,
noise_params = {
offset = 0,
scale = farming.chili,
spread = {x = 100, y = 100, z = 100},
seed = 901,
octaves = 3,
persist = 0.6
},
y_min = 5, y_max = 45,
decoration = "farming:chili_8",
spawn_by = "group:tree", num_spawn_by = 1
})

View File

@ -1,5 +1,5 @@
local S = farming.intllib local S = core.get_translator("farming")
-- place cocoa -- place cocoa
local function place_cocoa(itemstack, placer, pointed_thing, plantname) local function place_cocoa(itemstack, placer, pointed_thing, plantname)
@ -7,27 +7,24 @@ local function place_cocoa(itemstack, placer, pointed_thing, plantname)
local pt = pointed_thing local pt = pointed_thing
-- 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 end
return
end
local under = minetest.get_node(pt.under) local under = core.get_node(pt.under)
-- return if any of the nodes are not registered -- return if any of the nodes are not registered
if not minetest.registered_nodes[under.name] then if not core.registered_nodes[under.name] then return end
return
end
-- 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 = core.registered_nodes[under.name]
if placer and itemstack 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, pt)
end end
-- check if pointing at jungletree -- check if pointing at jungletree
if under.name ~= "default:jungletree" if (under.name ~= "default:jungletree" and under.name ~= "mcl_core:jungletree")
or minetest.get_node(pt.above).name ~= "air" then or core.get_node(pt.above).name ~= "air" then
return return
end end
@ -35,14 +32,12 @@ local function place_cocoa(itemstack, placer, pointed_thing, plantname)
local name = placer and placer:get_player_name() or "" local name = placer and placer:get_player_name() or ""
-- check for protection -- check for protection
if minetest.is_protected(pt.above, name) then if core.is_protected(pt.above, name) then return end
return
end
-- add the node and remove 1 item from the itemstack -- add the node and remove 1 item from the itemstack
minetest.set_node(pt.above, {name = plantname}) core.set_node(pt.above, {name = plantname})
minetest.sound_play("default_place_node", {pos = pt.above, gain = 1.0}) core.sound_play("default_place_node", {pos = pt.above, gain = 1.0}, true)
if placer and not farming.is_creative(placer:get_player_name()) then if placer and not farming.is_creative(placer:get_player_name()) then
@ -51,86 +46,30 @@ local function place_cocoa(itemstack, placer, pointed_thing, plantname)
-- check for refill -- check for refill
if itemstack:get_count() == 0 then if itemstack:get_count() == 0 then
minetest.after(0.20, core.after(0.20, farming.refill_plant, placer,
farming.refill_plant, "farming:cocoa_beans_raw", placer:get_wield_index())
placer,
"farming:cocoa_beans",
placer:get_wield_index()
)
end end
end end
return itemstack return itemstack
end end
-- cocoa beans -- item/seed
minetest.register_craftitem("farming:cocoa_beans", {
description = S("Cocoa Beans"), core.register_craftitem("farming:cocoa_beans_raw", {
inventory_image = "farming_cocoa_beans.png", description = S("Raw Cocoa Beans"),
groups = {seed = 2, food_cocoa = 1, flammable = 2}, inventory_image = "farming_cocoa_beans.png^[brighten",
groups = {compostability = 48, seed = 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( { -- crop definition
output = "dye:brown 2",
recipe = {{"farming:cocoa_beans"}}
})
-- chocolate cookie
minetest.register_craftitem("farming:cookie", {
description = S("Cookie"),
inventory_image = "farming_cookie.png",
on_use = minetest.item_eat(2)
})
minetest.register_craft( {
output = "farming:cookie 8",
recipe = {
{"group:food_wheat", "group:food_cocoa", "group:food_wheat" }
}
})
-- bar of dark chocolate (thanks to Ice Pandora for her deviantart.com chocolate tutorial)
minetest.register_craftitem("farming:chocolate_dark", {
description = S("Bar of Dark Chocolate"),
inventory_image = "farming_chocolate_dark.png",
on_use = minetest.item_eat(3)
})
minetest.register_craft( {
output = "farming:chocolate_dark",
recipe = {
{"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
local def = { local def = {
description = S("Cocoa Beans") .. S(" Crop"),
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_cocoa_1.png"}, tiles = {"farming_cocoa_1.png"},
paramtype = "light", paramtype = "light",
@ -141,89 +80,105 @@ local def = {
}, },
drop = {}, drop = {},
groups = { groups = {
snappy = 3, flammable = 2, plant = 1, growing = 1, handy = 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(), _mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
sounds = farming.node_sound_leaves_defaults(),
-- custom function that returns True when conditions are met
growth_check = function(pos, node_name) growth_check = function(pos, node_name)
if minetest.find_node_near(pos, 1, {"default:jungletree"}) then
return false if core.find_node_near(pos, 1,
{"default:jungletree", "mcl_core:jungletree"}) then
return true -- place next growth stage
end end
return true
return false -- condition not met, skip growth stage until next check
end end
} }
-- stage 1 -- stage 1
minetest.register_node("farming:cocoa_1", table.copy(def))
core.register_node("farming:cocoa_1", table.copy(def))
-- stage 2 -- stage 2
def.tiles = {"farming_cocoa_2.png"} def.tiles = {"farming_cocoa_2.png"}
minetest.register_node("farming:cocoa_2", table.copy(def)) core.register_node("farming:cocoa_2", table.copy(def))
-- stage3 -- stage3
def.tiles = {"farming_cocoa_3.png"} def.tiles = {"farming_cocoa_3.png"}
def.drop = { def.drop = {
items = { items = {
{items = {"farming:cocoa_beans 1"}, rarity = 1} {items = {"farming:cocoa_beans_raw"}, rarity = 1}
} }
} }
minetest.register_node("farming:cocoa_3", table.copy(def)) core.register_node("farming:cocoa_3", table.copy(def))
-- stage 4 (final) -- stage 4 (final)
def.tiles = {"farming_cocoa_4.png"} def.tiles = {"farming_cocoa_4.png"}
def.groups.growing = nil def.groups.growing = nil
def.growth_check = nil def.growth_check = nil
def.drop = { def.drop = {
items = { items = {
{items = {"farming:cocoa_beans 2"}, rarity = 1}, {items = {"farming:cocoa_beans_raw 2"}, rarity = 1},
{items = {"farming:cocoa_beans 1"}, rarity = 2}, {items = {"farming:cocoa_beans_raw"}, rarity = 2},
{items = {"farming:cocoa_beans 1"}, rarity = 4} {items = {"farming:cocoa_beans_raw"}, rarity = 3}
} }
} }
minetest.register_node("farming:cocoa_4", table.copy(def)) core.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"] = {
trellis = "default:jungletree",
crop = "farming:cocoa", crop = "farming:cocoa",
seed = "farming:cocoa_beans", seed = "farming:cocoa_beans_raw",
minlight = farming.min_light, minlight = farming.min_light,
maxlight = farming.max_light, maxlight = farming.max_light,
steps = 4 steps = 4
} }
-- add random cocoa pods to jungle tree's -- add random cocoa pods to jungle tree's
minetest.register_on_generated(function(minp, maxp)
if maxp.y < 0 then local random = math.random -- localise for speed
return
end core.register_on_generated(function(minp, maxp)
if maxp.y < 0 then return end
local pos, dir local pos, dir
local cocoa = minetest.find_nodes_in_area(minp, maxp, "default:jungletree") local cocoa = core.find_nodes_in_area(minp, maxp,
{"default:jungletree", "mcl_core:jungletree"})
for n = 1, #cocoa do for n = 1, #cocoa do
pos = cocoa[n] pos = cocoa[n]
if minetest.find_node_near(pos, 1, if core.find_node_near(pos, 1,
{"default:jungleleaves", "moretrees:jungletree_leaves_green"}) then {"default:jungleleaves", "moretrees:jungletree_leaves_green",
"mcl_core:jungleleaves"}) then
dir = math.random(1, 80) dir = random(80)
if dir == 1 then pos.x = pos.x + 1 if dir == 1 then pos.x = pos.x + 1
elseif dir == 2 then pos.x = pos.x - 1 elseif dir == 2 then pos.x = pos.x - 1
elseif dir == 3 then pos.z = pos.z + 1 elseif dir == 3 then pos.z = pos.z + 1
elseif dir == 4 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 core.get_node(pos).name == "air"
and minetest.get_node_light(pos) > 12 then and core.get_node_light(pos) > 12 then
--print ("Cocoa Pod added at " .. minetest.pos_to_string(pos)) --print ("Cocoa Pod added at " .. core.pos_to_string(pos))
minetest.swap_node(pos, { core.set_node(pos, {
name = "farming:cocoa_" .. tostring(math.random(4)) name = "farming:cocoa_" .. tostring(random(4))
}) })
end end
end end

View File

@ -1,65 +1,22 @@
local S = farming.intllib local S = core.get_translator("farming")
-- coffee -- item/seed
minetest.register_craftitem("farming:coffee_beans", {
core.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 = {seed = 2, food_coffee = 1, flammable = 2}, groups = {compostability = 48, 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
}) })
-- cup of coffee -- crop definition
minetest.register_node("farming:coffee_cup", {
description = S("Cup of Coffee"),
drawtype = "torchlike",
tiles = {"farming_coffee_cup.png"},
inventory_image = "farming_coffee_cup.png",
wield_image = "farming_coffee_cup.png",
paramtype = "light",
walkable = false,
selection_box = {
type = "fixed",
fixed = {-0.25, -0.5, -0.25, 0.25, 0.25, 0.25}
},
groups = {vessel = 1, dig_immediate = 3, attached_node = 1, drink = 1},
on_use = minetest.item_eat(2, "vessels:drinking_glass"),
sounds = default.node_sound_glass_defaults()
})
minetest.register_alias("farming:coffee_cup_hot", "farming:coffee_cup")
minetest.register_alias("farming:drinking_cup", "vessels:drinking_glass")
minetest.register_craft( {
output = "farming:coffee_cup",
recipe = {
{"group:food_saucepan", "group:food_coffee", "group:water_bucket"},
{"", "vessels:drinking_glass", ""}
},
replacements = {
{"group:water_bucket", "bucket:bucket_empty"},
{"group:food_saucepan", "farming:saucepan"}
}
})
if minetest.get_modpath("bucket_wooden") then
minetest.register_craft( {
output = "farming:coffee_cup",
recipe = {
{"group:food_saucepan", "group:food_coffee", "group:water_bucket_wooden"},
{"", "vessels:drinking_glass", ""}
},
replacements = {
{"group:water_bucket_wooden", "bucket_wooden:bucket_empty"},
{"group:food_saucepan", "farming:saucepan"}
}
})
end
-- coffee definition
local def = { local def = {
description = S("Coffee") .. S(" Crop"),
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_coffee_1.png"}, tiles = {"farming_coffee_1.png"},
paramtype = "light", paramtype = "light",
@ -67,42 +24,52 @@ local def = {
walkable = false, walkable = false,
buildable_to = true, buildable_to = true,
drop = "", drop = "",
waving = 1,
selection_box = farming.select, selection_box = farming.select,
groups = { groups = {
snappy = 3, flammable = 2, plant = 1, attached_node = 1, handy = 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() _mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
sounds = farming.node_sound_leaves_defaults()
} }
-- stage 1 -- stage 1
minetest.register_node("farming:coffee_1", table.copy(def))
core.register_node("farming:coffee_1", table.copy(def))
-- stage 2 -- stage 2
def.tiles = {"farming_coffee_2.png"} def.tiles = {"farming_coffee_2.png"}
minetest.register_node("farming:coffee_2", table.copy(def)) core.register_node("farming:coffee_2", table.copy(def))
-- stage 3 -- stage 3
def.tiles = {"farming_coffee_3.png"} def.tiles = {"farming_coffee_3.png"}
minetest.register_node("farming:coffee_3", table.copy(def)) core.register_node("farming:coffee_3", table.copy(def))
-- stage 4 -- stage 4
def.tiles = {"farming_coffee_4.png"} def.tiles = {"farming_coffee_4.png"}
minetest.register_node("farming:coffee_4", table.copy(def)) core.register_node("farming:coffee_4", table.copy(def))
-- stage 5 (final) -- stage 5 (final)
def.tiles = {"farming_coffee_5.png"} def.tiles = {"farming_coffee_5.png"}
def.groups.growing = nil def.groups.growing = nil
def.selection_box = farming.select_final
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"}, rarity = 2},
{items = {"farming:coffee_beans 2"}, rarity = 3} {items = {"farming:coffee_beans"}, rarity = 3}
} }
} }
minetest.register_node("farming:coffee_5", table.copy(def)) core.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"] = {
crop = "farming:coffee", crop = "farming:coffee",
seed = "farming:coffee_beans", seed = "farming:coffee_beans",
@ -110,3 +77,31 @@ farming.registered_plants["farming:coffee"] = {
maxlight = farming.max_light, maxlight = farming.max_light,
steps = 5 steps = 5
} }
-- mapgen
local spawn_on = {
"default:dirt_with_dry_grass", "default:dirt_with_rainforest_litter",
"default:dry_dirt_with_dry_grass", "mcl_core:dirt_with_grass",
"ethereal:prairie_dirt"
}
if farming.mapgen == "v6" then
spawn_on = {"default:dirt_with_grass"}
end
core.register_decoration({
deco_type = "simple",
place_on = spawn_on,
sidelen = 16,
noise_params = {
offset = 0,
scale = farming.coffee,
spread = {x = 100, y = 100, z = 100},
seed = 12,
octaves = 3,
persist = 0.6
},
y_min = 20, y_max = 55,
decoration = "farming:coffee_5"
})

View File

@ -4,108 +4,27 @@
http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/wip-mods/1440575-1-2-5-generation-minecraft-beta-1-2-farming-and http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/wip-mods/1440575-1-2-5-generation-minecraft-beta-1-2-farming-and
]] ]]
local S = farming.intllib local S = core.get_translator("farming")
-- corn -- item/seed
minetest.register_craftitem("farming:corn", {
core.register_craftitem("farming:corn", {
description = S("Corn"), description = S("Corn"),
inventory_image = "farming_corn.png", inventory_image = "farming_corn.png",
groups = {seed = 2, food_corn = 1, flammable = 2}, groups = {compostability = 45, seed = 2, food_corn = 1},
on_use = core.item_eat(3),
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)
}) })
-- corn on the cob (texture by TenPlus1) farming.add_eatable("farming:corn", 3)
minetest.register_craftitem("farming:corn_cob", {
description = S("Corn on the Cob"),
inventory_image = "farming_corn_cob.png",
groups = {food_corn_cooked = 1, flammable = 2},
on_use = minetest.item_eat(5)
})
minetest.register_craft({ -- crop definition
type = "cooking",
cooktime = 10,
output = "farming:corn_cob",
recipe = "group:food_corn"
})
-- popcorn
minetest.register_craftitem("farming:popcorn", {
description = S("Popcorn"),
inventory_image = "farming_popcorn.png",
groups = {food_popcorn = 1, flammable = 2},
on_use = minetest.item_eat(4)
})
minetest.register_craft({
output = "farming:popcorn",
recipe = {
{"group:food_pot", "group:food_oil", "group:food_corn"}
},
replacements = {
{"group:food_pot", "farming:pot"},
{"group:food_oil", "vessels:glass_bottle"}
}
})
-- cornstarch
minetest.register_craftitem("farming:cornstarch", {
description = S("Cornstarch"),
inventory_image = "farming_cornstarch.png",
groups = {food_cornstarch = 1, food_gelatin = 1, food_flammable = 2}
})
minetest.register_craft({
output = "farming:cornstarch",
recipe = {
{"group:food_mortar_pestle", "group:food_corn_cooked", "group:food_baking_tray"},
{"", "group:food_bowl", ""},
},
replacements = {
{"group:food_mortar_pestle", "farming:mortar_pestle"},
{"group:food_baking_tray", "farming:baking_tray"}
}
})
-- ethanol (thanks to JKMurray for this idea)
minetest.register_node("farming:bottle_ethanol", {
description = S("Bottle of Ethanol"),
drawtype = "plantlike",
tiles = {"farming_bottle_ethanol.png"},
inventory_image = "farming_bottle_ethanol.png",
wield_image = "farming_bottle_ethanol.png",
paramtype = "light",
is_ground_content = false,
walkable = false,
selection_box = {
type = "fixed",
fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25}
},
groups = {vessel = 1, dig_immediate = 3, attached_node = 1},
sounds = default.node_sound_glass_defaults()
})
minetest.register_craft( {
output = "farming:bottle_ethanol",
recipe = {
{"group:food_corn", "group:food_corn", "group:food_corn"},
{"group:food_corn", "vessels:glass_bottle", "group:food_corn"},
{"group:food_corn", "group:food_corn", "group:food_corn"}
}
})
minetest.register_craft({
type = "fuel",
recipe = "farming:bottle_ethanol",
burntime = 80,
replacements = {{"farming:bottle_ethanol", "vessels:glass_bottle"}}
})
-- corn definition
local def = { local def = {
description = S("Corn") .. S(" Crop"),
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_corn_1.png"}, tiles = {"farming_corn_1.png"},
paramtype = "light", paramtype = "light",
@ -113,62 +32,74 @@ local def = {
walkable = false, walkable = false,
buildable_to = true, buildable_to = true,
drop = "", drop = "",
waving = 1,
selection_box = farming.select, selection_box = farming.select,
groups = { groups = {
snappy = 3, flammable = 2, plant = 1, attached_node = 1, handy = 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() _mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
sounds = farming.node_sound_leaves_defaults()
} }
-- stage 1 -- stage 1
minetest.register_node("farming:corn_1", table.copy(def))
core.register_node("farming:corn_1", table.copy(def))
-- stage 2 -- stage 2
def.tiles = {"farming_corn_2.png"} def.tiles = {"farming_corn_2.png"}
minetest.register_node("farming:corn_2", table.copy(def)) core.register_node("farming:corn_2", table.copy(def))
-- stage 3 -- stage 3
def.tiles = {"farming_corn_3.png"} def.tiles = {"farming_corn_3.png"}
minetest.register_node("farming:corn_3", table.copy(def)) core.register_node("farming:corn_3", table.copy(def))
-- stage 4 -- stage 4
def.tiles = {"farming_corn_4.png"} def.tiles = {"farming_corn_4.png"}
minetest.register_node("farming:corn_4", table.copy(def)) core.register_node("farming:corn_4", table.copy(def))
-- stage 5 -- stage 5
def.tiles = {"farming_corn_5.png"} def.tiles = {"farming_corn_5.png"}
minetest.register_node("farming:corn_5", table.copy(def)) core.register_node("farming:corn_5", table.copy(def))
-- stage 6 -- stage 6
def.tiles = {"farming_corn_6.png"} def.tiles = {"farming_corn_6.png"}
def.visual_scale = 1.9 def.visual_scale = 1.9
minetest.register_node("farming:corn_6", table.copy(def)) core.register_node("farming:corn_6", table.copy(def))
-- stage 7 -- stage 7
def.tiles = {"farming_corn_7.png"} def.tiles = {"farming_corn_7.png"}
def.drop = { def.drop = {
items = { items = {
{items = {"farming:corn"}, rarity = 1}, {items = {"farming:corn"}, rarity = 1},
{items = {"farming:corn"}, rarity = 3}
}
}
core.register_node("farming:corn_7", table.copy(def))
-- stage 8 (final)
def.tiles = {"farming_corn_8.png"}
def.groups.growing = nil
def.selection_box = farming.select_final
def.drop = {
items = {
{items = {"farming:corn 2"}, 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(def)) core.register_node("farming:corn_8", table.copy(def))
-- stage 8 (final)
def.tiles = {"farming_corn_8.png"}
def.groups.growing = nil
def.drop = {
items = {
{items = {"farming:corn 2"}, rarity = 1},
{items = {"farming:corn 2"}, rarity = 2},
{items = {"farming:corn 2"}, rarity = 2}
}
}
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"] = {
crop = "farming:corn", crop = "farming:corn",
seed = "farming:corn", seed = "farming:corn",
@ -176,3 +107,23 @@ farming.registered_plants["farming:corn"] = {
maxlight = farming.max_light, maxlight = farming.max_light,
steps = 8 steps = 8
} }
-- mapgen
core.register_decoration({
deco_type = "simple",
place_on = {
"default:dirt_with_grass", "mcl_core:dirt_with_grass", "ethereal:prairie_dirt"
},
sidelen = 16,
noise_params = {
offset = 0,
scale = farming.corn,
spread = {x = 100, y = 100, z = 100},
seed = 134,
octaves = 3,
persist = 0.6
},
y_min = 12, y_max = 27,
decoration = "farming:corn_7"
})

View File

@ -1,97 +1,48 @@
local S = farming.intllib local S = core.get_translator("farming")
-- wild cotton as a source of cotton seed and a chance of cotton itself -- seed
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 core.register_node("farming:seed_cotton", {
minetest.register_node("farming:seed_cotton", {
description = S("Cotton Seed"), description = S("Cotton Seed"),
tiles = {"farming_cotton_seed.png"}, tiles = {"farming_cotton_seed.png"},
inventory_image = "farming_cotton_seed.png", inventory_image = "farming_cotton_seed.png",
wield_image = "farming_cotton_seed.png", wield_image = "farming_cotton_seed.png",
drawtype = "signlike", drawtype = "signlike",
groups = {seed = 1, snappy = 3, attached_node = 1, flammable = 4}, groups = {
compostability = 48, seed = 1, snappy = 3, attached_node = 1,
flammable = 4, growing = 1
},
_mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
paramtype = "light", paramtype = "light",
paramtype2 = "wallmounted", paramtype2 = "wallmounted",
walkable = false, walkable = false,
sunlight_propagates = true, sunlight_propagates = true,
selection_box = farming.select, selection_box = farming.select,
next_plant = "farming:cotton_1",
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:seed_cotton")
end,
on_timer = function(pos, elapsed)
core.set_node(pos, {name = "farming:cotton_1", param2 = 1})
end end
}) })
-- cotton -- item
minetest.register_craftitem("farming:cotton", {
core.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, compostability = 50}
}) })
-- string -- crop definition
minetest.register_craftitem("farming:string", {
description = S("String"),
inventory_image = "farming_string.png",
groups = {flammable = 2}
})
-- cotton to wool
minetest.register_craft({
output = "wool:white",
recipe = {
{"farming:cotton", "farming:cotton"},
{"farming:cotton", "farming:cotton"}
}
})
-- cotton to string
minetest.register_craft({
output = "farming:string 2",
recipe = {
{"farming:cotton"},
{"farming:cotton"}
}
})
-- can be used as fuel
minetest.register_craft({
type = "fuel",
recipe = "farming:string",
burntime = 1
})
minetest.register_craft({
type = "fuel",
recipe = "farming:cotton",
burntime = 1
})
-- cotton definition
local def = { local def = {
description = S("Cotton") .. S(" Crop"),
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_cotton_1.png"}, tiles = {"farming_cotton_1.png"},
paramtype = "light", paramtype = "light",
@ -99,63 +50,67 @@ local def = {
walkable = false, walkable = false,
buildable_to = true, buildable_to = true,
drop = "", drop = "",
waving = 1,
selection_box = farming.select, selection_box = farming.select,
groups = { groups = {
snappy = 3, flammable = 4, plant = 1, attached_node = 1, handy = 1, snappy = 3, flammable = 4, 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() _mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
sounds = farming.node_sound_leaves_defaults()
} }
-- stage 1 -- stage 1
minetest.register_node("farming:cotton_1", table.copy(def))
core.register_node("farming:cotton_1", table.copy(def))
-- stage 2 -- stage 2
def.tiles = {"farming_cotton_2.png"} def.tiles = {"farming_cotton_2.png"}
minetest.register_node("farming:cotton_2", table.copy(def)) core.register_node("farming:cotton_2", table.copy(def))
-- stage 3 -- stage 3
def.tiles = {"farming_cotton_3.png"} def.tiles = {"farming_cotton_3.png"}
minetest.register_node("farming:cotton_3", table.copy(def)) core.register_node("farming:cotton_3", table.copy(def))
-- stage 4 -- stage 4
def.tiles = {"farming_cotton_4.png"} def.tiles = {"farming_cotton_4.png"}
minetest.register_node("farming:cotton_4", table.copy(def)) core.register_node("farming:cotton_4", table.copy(def))
-- stage 5 -- stage 5
def.tiles = {"farming_cotton_5.png"} def.tiles = {"farming_cotton_5.png"}
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(def)) core.register_node("farming:cotton_5", table.copy(def))
-- stage 6 -- stage 6
def.tiles = {"farming_cotton_6.png"} def.tiles = {"farming_cotton_6.png"}
def.drop = { core.register_node("farming:cotton_6", table.copy(def))
items = {
{items = {"farming:cotton"}, rarity = 1},
{items = {"farming:cotton"}, rarity = 2}
}
}
minetest.register_node("farming:cotton_6", table.copy(def))
-- stage 7 -- stage 7
def.tiles = {"farming_cotton_7.png"} def.tiles = {"farming_cotton_7.png"}
def.drop = { def.drop = {
items = { items = {
{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}
} }
} }
minetest.register_node("farming:cotton_7", table.copy(def)) core.register_node("farming:cotton_7", table.copy(def))
-- stage 8 (final) -- stage 8 (final)
def.tiles = {"farming_cotton_8.png"} def.tiles = {"farming_cotton_8.png"}
def.groups.growing = nil def.groups.growing = nil
def.selection_box = farming.select_final
def.drop = { def.drop = {
items = { items = {
{items = {"farming:cotton"}, rarity = 1}, {items = {"farming:cotton"}, rarity = 1},
@ -166,9 +121,10 @@ def.drop = {
{items = {"farming:seed_cotton"}, rarity = 3} {items = {"farming:seed_cotton"}, rarity = 3}
} }
} }
minetest.register_node("farming:cotton_8", table.copy(def)) core.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"] = {
crop = "farming:cotton", crop = "farming:cotton",
seed = "farming:seed_cotton", seed = "farming:seed_cotton",
@ -177,6 +133,63 @@ farming.registered_plants["farming:cotton"] = {
steps = 8 steps = 8
} }
-- wild cotton (this is what you find on the map)
core.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 = {handy = 1, snappy = 3, attached_node = 1, flammable = 4, compostability = 60},
_mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
drop = {
items = {
{items = {"farming:cotton"}, rarity = 2},
{items = {"farming:seed_cotton"}, rarity = 1}
}
},
sounds = farming.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-6 / 16, -8 / 16, -6 / 16, 6 / 16, 5 / 16, 6 / 16}
}
})
-- mapgen
local spawn_on = {
"default:dry_dirt_with_dry_grass", "default:dirt_with_dry_grass",
"mcl_core:dirt_with_grass"
}
if farming.mapgen == "v6" then
spawn_on = {"default:dirt_with_grass"}
end
core.register_decoration({
name = "farming:cotton_wild",
deco_type = "simple",
place_on = spawn_on,
sidelen = 16,
noise_params = {
offset = 0,
scale = farming.cotton,
spread = {x = 100, y = 100, z = 100},
seed = 4242,
octaves = 3,
persist = 0.6
},
y_min = 1, y_max = 120,
decoration = "farming:cotton_wild"
})
--[[ Cotton using api --[[ Cotton using api
farming.register_plant("farming:cotton", { farming.register_plant("farming:cotton", {
description = "Cotton seed", description = "Cotton seed",

View File

@ -1,24 +1,30 @@
--[[ --[[
Original textures from DocFarming mod Original textures from DocFarming mod
https://forum.minetest.net/viewtopic.php?id=3948 https://forum.core.net/viewtopic.php?id=3948
]] ]]
local S = farming.intllib local S = core.get_translator("farming")
-- cucumber -- item/seed
minetest.register_craftitem("farming:cucumber", {
core.register_craftitem("farming:cucumber", {
description = S("Cucumber"), description = S("Cucumber"),
inventory_image = "farming_cucumber.png", inventory_image = "farming_cucumber.png",
groups = {seed = 2, food_cucumber = 1, flammable = 2}, groups = {compostability = 48, seed = 2, food_cucumber = 1},
on_use = core.item_eat(4),
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)
}) })
-- cucumber definition farming.add_eatable("farming:cucumber", 4)
-- crop definition
local def = { local def = {
description = S("Cucumber") .. S(" Crop"),
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_cucumber_1.png"}, tiles = {"farming_cucumber_1.png"},
paramtype = "light", paramtype = "light",
@ -27,35 +33,43 @@ local def = {
drop = "", drop = "",
selection_box = farming.select, selection_box = farming.select,
groups = { groups = {
snappy = 3, flammable = 2, plant = 1, attached_node = 1, handy = 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() _mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
sounds = farming.node_sound_leaves_defaults()
} }
-- stage 1 -- stage 1
minetest.register_node("farming:cucumber_1", table.copy(def))
core.register_node("farming:cucumber_1", table.copy(def))
-- stage 2 -- stage 2
def.tiles = {"farming_cucumber_2.png"} def.tiles = {"farming_cucumber_2.png"}
minetest.register_node("farming:cucumber_2", table.copy(def)) core.register_node("farming:cucumber_2", table.copy(def))
-- stage 3 -- stage 3
def.tiles = {"farming_cucumber_3.png"} def.tiles = {"farming_cucumber_3.png"}
minetest.register_node("farming:cucumber_3", table.copy(def)) core.register_node("farming:cucumber_3", table.copy(def))
-- stage 4 (final) -- stage 4 (final)
def.tiles = {"farming_cucumber_4.png"} def.tiles = {"farming_cucumber_4.png"}
def.groups.growing = nil def.groups.growing = nil
def.selection_box = farming.select_final
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"}, rarity = 2}
} }
} }
minetest.register_node("farming:cucumber_4", table.copy(def)) core.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"] = {
crop = "farming:cucumber", crop = "farming:cucumber",
seed = "farming:cucumber", seed = "farming:cucumber",
@ -63,3 +77,24 @@ farming.registered_plants["farming:cucumber"] = {
maxlight = farming.max_light, maxlight = farming.max_light,
steps = 4 steps = 4
} }
-- mapgen
core.register_decoration({
deco_type = "simple",
place_on = {
"default:dirt_with_grass", "mcl_core:dirt_with_grass", "ethereal:prairie_dirt"
},
sidelen = 16,
noise_params = {
offset = 0,
scale = farming.cucumber,
spread = {x = 100, y = 100, z = 100},
seed = 245,
octaves = 3,
persist = 0.6
},
y_min = 1, y_max = 20,
decoration = "farming:cucumber_4",
spawn_by = {"group:water", "group:sand"}, num_spawn_by = 1
})

102
crops/eggplant.lua Normal file
View File

@ -0,0 +1,102 @@
local S = core.get_translator("farming")
-- item/seed
core.register_craftitem("farming:eggplant", {
description = S("Eggplant"),
inventory_image = "farming_eggplant.png",
groups = {compostability = 48, seed = 2, food_eggplant = 1},
on_use = core.item_eat(3),
on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "farming:eggplant_1")
end
})
farming.add_eatable("farming:eggplant", 3)
-- crop definition
local def = {
description = S("Eggplant") .. S(" Crop"),
drawtype = "plantlike",
tiles = {"farming_eggplant_1.png"},
paramtype = "light",
sunlight_propagates = true,
waving = 1,
walkable = false,
buildable_to = true,
drop = "",
waving = 1,
selection_box = farming.select,
groups = {
handy = 1, snappy = 3, flammable = 2, plant = 1, attached_node = 1,
not_in_creative_inventory = 1, growing = 1
},
_mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
sounds = farming.node_sound_leaves_defaults()
}
-- stage 1
core.register_node("farming:eggplant_1", table.copy(def))
-- stage 2
def.tiles = {"farming_eggplant_2.png"}
core.register_node("farming:eggplant_2", table.copy(def))
-- stage 3
def.tiles = {"farming_eggplant_3.png"}
def.drop = {
items = {
{items = {"farming:eggplant"}, rarity = 1},
{items = {"farming:eggplant"}, rarity = 3}
}
}
core.register_node("farming:eggplant_3", table.copy(def))
-- stage 4 (final)
def.tiles = {"farming_eggplant_4.png"}
def.groups.growing = nil
def.selection_box = farming.select_final
def.drop = {
items = {
{items = {"farming:eggplant 2"}, rarity = 1},
{items = {"farming:eggplant"}, rarity = 2}
}
}
core.register_node("farming:eggplant_4", table.copy(def))
-- add to registered_plants
farming.registered_plants["farming:eggplant"] = {
crop = "farming:eggplant",
seed = "farming:eggplant",
minlight = 7,
maxlight = farming.max_light,
steps = 4
}
-- mapgen
core.register_decoration({
deco_type = "simple",
place_on = {"default:dirt_with_grass", "mcl_core:dirt_with_grass"},
sidelen = 16,
noise_params = {
offset = 0,
scale = farming.eggplant,
spread = {x = 100, y = 100, z = 100},
seed = 356,
octaves = 3,
persist = 0.6
},
y_min = 1, y_max = 40,
decoration = "farming:eggplant_3",
param2 = 3
})

View File

@ -1,86 +1,22 @@
--[[ local S = core.get_translator("farming")
Original textures from Crops Plus mod
Copyright (C) 2018 Grizzly Adam
https://forum.minetest.net/viewtopic.php?f=9&t=19488
]]
local S = farming.intllib -- item/seed
-- potato core.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 = {seed = 2, food_garlic_clove = 1, flammable = 3}, groups = {compostability = 35, 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
minetest.register_craftitem("farming:garlic", {
description = S("Garlic"),
inventory_image = "crops_garlic.png",
on_use = minetest.item_eat(1),
groups = {food_garlic = 1, flammable = 3}
})
minetest.register_craft({
type = "shapeless",
output = "farming:garlic_clove 8",
recipe = {"farming:garlic"}
})
minetest.register_craft({
output = "farming:garlic",
recipe = {
{"farming:garlic_clove", "farming:garlic_clove", "farming:garlic_clove"},
{"farming:garlic_clove", "", "farming:garlic_clove"},
{"farming:garlic_clove", "farming:garlic_clove", "farming:garlic_clove"}
}
})
-- garlic braid
minetest.register_node("farming:garlic_braid", {
description = S("Garlic Braid"),
inventory_image = "crops_garlic_braid.png",
wield_image = "crops_garlic_braid.png",
drawtype = "nodebox",
use_texture_alpha = "clip",
paramtype = "light",
paramtype2 = "facedir",
tiles = {
"crops_garlic_braid_side.png","crops_garlic_braid.png",
"crops_garlic_braid_side.png^[transformFx","crops_garlic_braid_side.png",
"crops_garlic_braid.png","crops_garlic_braid.png"
},
groups = {vessel = 1, dig_immediate = 3, flammable = 3},
sounds = default.node_sound_leaves_defaults(),
node_box = {
type = "fixed",
fixed = {
{-0.13, -0.45, 0.5, 0.13, 0.45, 0.24}
}
}
})
minetest.register_craft({
output = "farming:garlic_braid",
recipe = {
{"farming:garlic", "farming:garlic", "farming:garlic"},
{"farming:garlic", "farming:garlic", "farming:garlic"},
{"farming:garlic", "farming:garlic", "farming:garlic"}
}
})
minetest.register_craft({
type = "shapeless",
output = "farming:garlic 9",
recipe = {"farming:garlic_braid"}
})
-- crop definition -- crop definition
local def = { local def = {
description = S("Garlic") .. S(" Crop"),
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"crops_garlic_plant_1.png"}, tiles = {"crops_garlic_plant_1.png"},
paramtype = "light", paramtype = "light",
@ -93,40 +29,49 @@ local def = {
drop = "", drop = "",
selection_box = farming.select, selection_box = farming.select,
groups = { groups = {
snappy = 3, flammable = 3, plant = 1, attached_node = 1, handy = 1, snappy = 3, flammable = 3, 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() _mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
sounds = farming.node_sound_leaves_defaults()
} }
-- stage 1 -- stage 1
minetest.register_node("farming:garlic_1", table.copy(def))
core.register_node("farming:garlic_1", table.copy(def))
-- stage 2 -- stage 2
def.tiles = {"crops_garlic_plant_2.png"} def.tiles = {"crops_garlic_plant_2.png"}
minetest.register_node("farming:garlic_2", table.copy(def)) core.register_node("farming:garlic_2", table.copy(def))
-- stage 3 -- stage 3
def.tiles = {"crops_garlic_plant_3.png"} def.tiles = {"crops_garlic_plant_3.png"}
minetest.register_node("farming:garlic_3", table.copy(def)) core.register_node("farming:garlic_3", table.copy(def))
-- stage 4 -- stage 4
def.tiles = {"crops_garlic_plant_4.png"} def.tiles = {"crops_garlic_plant_4.png"}
minetest.register_node("farming:garlic_4", table.copy(def)) core.register_node("farming:garlic_4", table.copy(def))
-- stage 5 -- stage 5
def.tiles = {"crops_garlic_plant_5.png"} def.tiles = {"crops_garlic_plant_5.png"}
def.groups.growing = nil def.groups.growing = nil
def.selection_box = farming.select_final
def.drop = { def.drop = {
items = { items = {
{items = {"farming:garlic 3"}, rarity = 1}, {items = {"farming:garlic 2"}, rarity = 1},
{items = {"farming:garlic"}, rarity = 2}, {items = {"farming:garlic"}, rarity = 2},
{items = {"farming:garlic"}, rarity = 5} {items = {"farming:garlic"}, rarity = 3}
} }
} }
minetest.register_node("farming:garlic_5", table.copy(def)) core.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"] = {
crop = "farming:garlic", crop = "farming:garlic",
seed = "farming:garlic_clove", seed = "farming:garlic_clove",
@ -134,3 +79,25 @@ farming.registered_plants["farming:garlic"] = {
maxlight = farming.max_light, maxlight = farming.max_light,
steps = 5 steps = 5
} }
-- mapgen
core.register_decoration({
deco_type = "simple",
place_on = {
"default:dirt_with_grass", "mcl_core:dirt_with_grass", "ethereal:prairie_dirt",
"default:dirt_with_rainforest_litter"
},
sidelen = 16,
noise_params = {
offset = 0,
scale = farming.garlic,
spread = {x = 100, y = 100, z = 100},
seed = 467,
octaves = 3,
persist = 0.6
},
y_min = 3, y_max = 45,
decoration = "farming:garlic_5",
spawn_by = "group:tree", num_spawn_by = 1
})

106
crops/ginger.lua Normal file
View File

@ -0,0 +1,106 @@
local S = core.get_translator("farming")
-- item/seed
core.register_craftitem("farming:ginger", {
description = S("Ginger"),
inventory_image = "farming_ginger.png",
groups = {compostability = 48, seed = 2, food_ginger = 1},
on_use = core.item_eat(1),
on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "farming:ginger_1")
end
})
farming.add_eatable("farming:ginger", 1)
-- crop definition
local def = {
description = S("Ginger") .. S(" Crop"),
drawtype = "plantlike",
tiles = {"farming_ginger_1.png"},
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
drop = "",
waving = 1,
selection_box = farming.select,
groups = {
handy = 1, snappy = 3, flammable = 2, plant = 1, attached_node = 1,
not_in_creative_inventory = 1, growing = 1
},
_mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
sounds = farming.node_sound_leaves_defaults()
}
-- stage 1
core.register_node("farming:ginger_1", table.copy(def))
-- stage 2
def.tiles = {"farming_ginger_2.png"}
core.register_node("farming:ginger_2", table.copy(def))
-- stage 3
def.tiles = {"farming_ginger_3.png"}
def.drop = {
items = {
{items = {"farming:ginger"}, rarity = 1},
{items = {"farming:ginger"}, rarity = 3}
}
}
core.register_node("farming:ginger_3", table.copy(def))
-- stage 4 (final)
def.tiles = {"farming_ginger_4.png"}
def.groups.growing = nil
def.selection_box = farming.select_final
def.drop = {
items = {
{items = {"farming:ginger 2"}, rarity = 1},
{items = {"farming:ginger"}, rarity = 2},
{items = {"farming:ginger"}, rarity = 3}
}
}
core.register_node("farming:ginger_4", table.copy(def))
-- add to registered_plants
farming.registered_plants["farming:ginger"] = {
crop = "farming:ginger",
seed = "farming:ginger",
minlight = 5,
maxlight = core.LIGHT_MAX,
steps = 4
}
-- mapgen
core.register_decoration({
name = "farming:ginger_4",
deco_type = "simple",
place_on = {
"default:dirt_with_rainforest_litter", "mcl_core:dirt_with_grass",
"ethereal:prairie_dirt"
},
sidelen = 16,
noise_params = {
offset = 0,
scale = farming.ginger,
spread = {x = 100, y = 100, z = 100},
seed = 999,
octaves = 3,
persist = 0.6
},
y_min = 1, y_max = 80,
decoration = "farming:ginger_3",
param2 = 3
})

View File

@ -1,47 +1,41 @@
local S = farming.intllib local S = core.get_translator("farming")
-- place trellis helper
-- place trellis
local function place_grapes(itemstack, placer, pointed_thing, plantname) local function place_grapes(itemstack, placer, pointed_thing, plantname)
local pt = pointed_thing local pt = pointed_thing
-- 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 end
return
end
local under = minetest.get_node(pt.under) local under = core.get_node(pt.under)
-- return if any of the nodes are not registered -- return if any of the nodes are not registered
if not minetest.registered_nodes[under.name] then if not core.registered_nodes[under.name] then return end
return
end
-- 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 = core.registered_nodes[under.name]
if placer and itemstack 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, pt)
end end
-- is player planting seed? -- is player planting seed?
local name = placer and placer:get_player_name() or "" local name = placer and placer:get_player_name() or ""
-- check for protection -- check for protection
if minetest.is_protected(pt.under, name) then if core.is_protected(pt.under, name) then return end
return
end
-- check if pointing at trellis -- check if pointing at trellis
if under.name ~= "farming:trellis" then if under.name ~= "farming:trellis" then return end
return
end
-- add the node and remove 1 item from the itemstack -- add the node and remove 1 item from the itemstack
minetest.set_node(pt.under, {name = plantname}) core.set_node(pt.under, {name = plantname})
minetest.sound_play("default_place_node", {pos = pt.under, gain = 1.0}) core.sound_play("default_place_node", {pos = pt.under, gain = 1.0}, true)
if placer and not farming.is_creative(placer:get_player_name()) then if placer and not farming.is_creative(placer:get_player_name()) then
@ -50,11 +44,8 @@ local function place_grapes(itemstack, placer, pointed_thing, plantname)
-- check for refill -- check for refill
if itemstack:get_count() == 0 then if itemstack:get_count() == 0 then
minetest.after(0.20, core.after(0.20, farming.refill_plant, placer,
farming.refill_plant, "farming:grapes", placer:get_wield_index()
placer,
"farming:grapes",
placer:get_wield_index()
) )
end end
end end
@ -62,25 +53,24 @@ local function place_grapes(itemstack, placer, pointed_thing, plantname)
return itemstack return itemstack
end end
-- grapes -- item/seed
minetest.register_craftitem("farming:grapes", {
core.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), groups = {compostability = 48, seed = 2, food_grapes = 1},
groups = {seed = 2, food_grapes = 1, flammable = 3}, on_use = core.item_eat(2),
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 farming.add_eatable("farming:grapes", 2)
minetest.register_craft({
output = "dye:violet",
recipe = {{"farming:grapes"}}
})
-- trellis -- trellis
minetest.register_node("farming:trellis", {
core.register_node("farming:trellis", {
description = S("Trellis (place on soil before planting grapes)"), description = S("Trellis (place on soil before planting grapes)"),
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_trellis.png"}, tiles = {"farming_trellis.png"},
@ -92,41 +82,37 @@ minetest.register_node("farming:trellis", {
sunlight_propagates = true, sunlight_propagates = true,
drop = "farming:trellis", drop = "farming:trellis",
selection_box = farming.select, selection_box = farming.select,
groups = {snappy = 3, flammable = 2, attached_node = 1}, groups = {handy = 1, snappy = 3, flammable = 2, attached_node = 1},
sounds = default.node_sound_leaves_defaults(), is_ground_content = false,
sounds = farming.node_sound_leaves_defaults(),
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)
local pt = pointed_thing local pt = pointed_thing
-- 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 end
return
end
local under = minetest.get_node(pt.under) local under = core.get_node(pt.under)
-- return if any of the nodes are not registered -- return if any of the nodes are not registered
if not minetest.registered_nodes[under.name] then if not core.registered_nodes[under.name] then return end
return
end
-- 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 = core.registered_nodes[under.name]
if def and def.on_rightclick then if def and def.on_rightclick then
return def.on_rightclick(pt.under, under, placer, itemstack) return def.on_rightclick(pt.under, under, placer, itemstack, pt)
end end
if minetest.is_protected(pt.above, placer:get_player_name()) then if core.is_protected(pt.above, placer:get_player_name()) then
return return
end end
local nodename = under.name local nodename = under.name
if minetest.get_item_group(nodename, "soil") < 2 then if core.get_item_group(nodename, "soil") < 2 then return end
return
end
local top = { local top = {
x = pointed_thing.above.x, x = pointed_thing.above.x,
@ -134,13 +120,11 @@ minetest.register_node("farming:trellis", {
z = pointed_thing.above.z z = pointed_thing.above.z
} }
nodename = minetest.get_node(top).name nodename = core.get_node(top).name
if nodename ~= "air" then if nodename ~= "air" then return end
return
end
minetest.set_node(pointed_thing.above, {name = "farming:trellis"}) core.set_node(pointed_thing.above, {name = "farming:trellis"})
if not farming.is_creative(placer:get_player_name()) then if not farming.is_creative(placer:get_player_name()) then
itemstack:take_item() itemstack:take_item()
@ -150,23 +134,10 @@ minetest.register_node("farming:trellis", {
end end
}) })
minetest.register_craft({ -- crop definition
output = "farming:trellis",
recipe = {
{"default:stick", "default:stick", "default:stick"},
{"default:stick", "default:stick", "default:stick"},
{"default:stick", "default:stick", "default:stick"}
}
})
minetest.register_craft({
type = "fuel",
recipe = "farming:trellis",
burntime = 15
})
-- grapes definition
local def = { local def = {
description = S("Grapes") .. S(" Crop"),
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_grapes_1.png"}, tiles = {"farming_grapes_1.png"},
visual_scale = 1.9, visual_scale = 1.9,
@ -181,54 +152,68 @@ local def = {
}, },
selection_box = farming.select, selection_box = farming.select,
groups = { groups = {
snappy = 3, flammable = 3, not_in_creative_inventory = 1, handy = 1, snappy = 3, flammable = 3, not_in_creative_inventory = 1,
attached_node = 1, growing = 1, plant = 1 attached_node = 1, growing = 1, plant = 1
}, },
sounds = default.node_sound_leaves_defaults() _mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
sounds = farming.node_sound_leaves_defaults()
} }
-- stage 1 -- stage 1
minetest.register_node("farming:grapes_1", table.copy(def))
core.register_node("farming:grapes_1", table.copy(def))
-- stage2 -- stage2
def.tiles = {"farming_grapes_2.png"} def.tiles = {"farming_grapes_2.png"}
minetest.register_node("farming:grapes_2", table.copy(def)) core.register_node("farming:grapes_2", table.copy(def))
-- stage 3 -- stage 3
def.tiles = {"farming_grapes_3.png"} def.tiles = {"farming_grapes_3.png"}
minetest.register_node("farming:grapes_3", table.copy(def)) core.register_node("farming:grapes_3", table.copy(def))
-- stage 4 -- stage 4
def.tiles = {"farming_grapes_4.png"} def.tiles = {"farming_grapes_4.png"}
minetest.register_node("farming:grapes_4", table.copy(def)) core.register_node("farming:grapes_4", table.copy(def))
-- stage 5 -- stage 5
def.tiles = {"farming_grapes_5.png"} def.tiles = {"farming_grapes_5.png"}
minetest.register_node("farming:grapes_5", table.copy(def)) core.register_node("farming:grapes_5", table.copy(def))
-- stage 6 -- stage 6
def.tiles = {"farming_grapes_6.png"} def.tiles = {"farming_grapes_6.png"}
minetest.register_node("farming:grapes_6", table.copy(def)) core.register_node("farming:grapes_6", table.copy(def))
-- stage 7 -- stage 7
def.tiles = {"farming_grapes_7.png"} def.tiles = {"farming_grapes_7.png"}
minetest.register_node("farming:grapes_7", table.copy(def)) core.register_node("farming:grapes_7", table.copy(def))
-- stage 8 (final) -- stage 8 (final)
def.tiles = {"farming_grapes_8.png"} def.tiles = {"farming_grapes_8.png"}
def.groups.growing = nil def.groups.growing = nil
def.selection_box = farming.select_final
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 2"}, rarity = 1},
{items = {"farming:grapes 1"}, rarity = 2}, {items = {"farming:grapes"}, rarity = 2},
{items = {"farming:grapes 1"}, rarity = 3} {items = {"farming:grapes"}, rarity = 3},
{items = {"farming:grapes"}, rarity = 4}
} }
} }
minetest.register_node("farming:grapes_8", table.copy(def)) core.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"] = {
trellis = "farming:trellis",
crop = "farming:grapes", crop = "farming:grapes",
seed = "farming:grapes", seed = "farming:grapes",
minlight = farming.min_light, minlight = farming.min_light,
@ -237,7 +222,8 @@ farming.registered_plants["farming:grapes"] = {
} }
-- wild grape vine (this is what you find on the map) -- wild grape vine (this is what you find on the map)
minetest.register_node("farming:grapebush", {
core.register_node("farming:grapebush", {
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_grapebush.png"}, tiles = {"farming_grapebush.png"},
paramtype = "light", paramtype = "light",
@ -247,15 +233,36 @@ minetest.register_node("farming:grapebush", {
sunlight_propagates = true, sunlight_propagates = true,
drop = { drop = {
items = { items = {
{items = {"farming:grapes 1"}, rarity = 1}, {items = {"farming:grapes"}, rarity = 1},
{items = {"farming:grapes 1"}, rarity = 2}, {items = {"farming:grapes"}, rarity = 2},
{items = {"farming:grapes 1"}, rarity = 3} {items = {"farming:grapes"}, rarity = 3}
} }
}, },
selection_box = farming.select, selection_box = farming.select,
groups = { groups = {
snappy = 3, flammable = 2, plant = 1, attached_node = 1, handy = 1, snappy = 3, flammable = 2, plant = 1, attached_node = 1,
not_in_creative_inventory = 1 not_in_creative_inventory = 1, compostability = 35
}, },
sounds = default.node_sound_leaves_defaults() is_ground_content = false,
sounds = farming.node_sound_leaves_defaults()
})
-- mapgen
core.register_decoration({
deco_type = "simple",
place_on = {
"default:dirt_with_grass", "mcl_core:dirt_with_grass", "ethereal:prairie_dirt"
},
sidelen = 16,
noise_params = {
offset = 0,
scale = farming.grapes,
spread = {x = 100, y = 100, z = 100},
seed = 578,
octaves = 3,
persist = 0.6
},
y_min = 25, y_max = 50,
decoration = "farming:grapebush"
}) })

View File

@ -1,188 +1,48 @@
local S = farming.intllib local S = core.get_translator("farming")
-- hemp seeds -- seed
minetest.register_node("farming:seed_hemp", {
core.register_node("farming:seed_hemp", {
description = S("Hemp Seed"), description = S("Hemp Seed"),
tiles = {"farming_hemp_seed.png"}, tiles = {"farming_hemp_seed.png"},
inventory_image = "farming_hemp_seed.png", inventory_image = "farming_hemp_seed.png",
wield_image = "farming_hemp_seed.png", wield_image = "farming_hemp_seed.png",
drawtype = "signlike", drawtype = "signlike",
groups = {seed = 1, snappy = 3, attached_node = 1}, groups = {
handy = 1, compostability = 38, seed = 1, snappy = 3, attached_node = 1,
growing = 1
},
_mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
paramtype = "light", paramtype = "light",
paramtype2 = "wallmounted", paramtype2 = "wallmounted",
walkable = false, walkable = false,
sunlight_propagates = true, sunlight_propagates = true,
selection_box = farming.select, selection_box = farming.select,
next_plant = "farming:hemp_1",
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:seed_hemp")
end,
on_timer = function(pos, elapsed)
core.set_node(pos, {name = "farming:hemp_1", param2 = 1})
end end
}) })
-- harvested hemp -- item
minetest.register_craftitem("farming:hemp_leaf", {
core.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",
groups = {compostability = 35}
}) })
-- hemp oil -- crop definition
minetest.register_node("farming:hemp_oil", {
description = S("Bottle of Hemp Oil"),
drawtype = "plantlike",
tiles = {"farming_hemp_oil.png"},
inventory_image = "farming_hemp_oil.png",
wield_image = "farming_hemp_oil.png",
paramtype = "light",
is_ground_content = false,
walkable = false,
selection_box = {
type = "fixed",
fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25}
},
groups = {food_oil = 1, vessel = 1, dig_immediate = 3, attached_node = 1},
sounds = default.node_sound_glass_defaults()
})
minetest.register_craft( {
output = "farming:hemp_oil",
recipe = {
{"farming:hemp_leaf", "farming:hemp_leaf", "farming:hemp_leaf"},
{"farming:hemp_leaf", "farming:hemp_leaf", "farming:hemp_leaf"},
{"", "vessels:glass_bottle", ""}
}
})
minetest.register_craft( {
output = "farming:hemp_oil",
recipe = {
{"farming:seed_hemp", "farming:seed_hemp", "farming:seed_hemp"},
{"farming:seed_hemp", "farming:seed_hemp", "farming:seed_hemp"},
{"farming:seed_hemp", "vessels:glass_bottle", "farming:seed_hemp"}
}
})
minetest.register_craft({
type = "fuel",
recipe = "farming:hemp_oil",
burntime = 20,
replacements = {{"farming:hemp_oil", "vessels:glass_bottle"}}
})
-- hemp fibre
minetest.register_craftitem("farming:hemp_fibre", {
description = S("Hemp Fibre"),
inventory_image = "farming_hemp_fibre.png"
})
minetest.register_craft( {
output = "farming:hemp_fibre 8",
recipe = {
{"farming:hemp_leaf", "farming:hemp_leaf", "farming:hemp_leaf"},
{"farming:hemp_leaf", "group:water_bucket", "farming:hemp_leaf"},
{"farming:hemp_leaf", "farming:hemp_leaf", "farming:hemp_leaf"}
},
replacements = {{"group:water_bucket", "bucket:bucket_empty"}}
})
if minetest.get_modpath("bucket_wooden") then
minetest.register_craft( {
output = "farming:hemp_fibre 8",
recipe = {
{"farming:hemp_leaf", "farming:hemp_leaf", "farming:hemp_leaf"},
{"farming:hemp_leaf", "group:water_bucket_wooden", "farming:hemp_leaf"},
{"farming:hemp_leaf", "farming:hemp_leaf", "farming:hemp_leaf"}
},
replacements = {{"group:water_bucket_wooden", "bucket_wooden:bucket_empty"}}
})
end
-- hemp block
minetest.register_node("farming:hemp_block", {
description = S("Hemp Block"),
tiles = {"farming_hemp_block.png"},
paramtype = "light",
groups = {snappy = 1, oddly_breakable_by_hand = 1, flammable = 2}
})
minetest.register_craft( {
output = "farming:hemp_block",
recipe = {
{"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
if minetest.global_exists("stairs") then
if stairs.mod and stairs.mod == "redo" then
stairs.register_all("hemp_block", "farming:hemp_block",
{snappy = 1, flammable = 2},
{"farming_hemp_block.png"},
"Hemp Block",
default.node_sound_leaves_defaults())
else
stairs.register_stair_and_slab("hemp_block", "farming:hemp_block",
{snappy = 1, flammable = 2},
{"farming_hemp_block.png"},
"Hemp Block Stair",
"Hemp Block Slab",
default.node_sound_leaves_defaults())
end
end
-- paper
minetest.register_craft( {
output = "default:paper 3",
recipe = {
{"farming:hemp_fibre", "farming:hemp_fibre", "farming:hemp_fibre"}
}
})
-- string
minetest.register_craft( {
output = "farming:cotton 3",
recipe = {
{"farming:hemp_fibre"},
{"farming:hemp_fibre"},
{"farming:hemp_fibre"}
}
})
-- hemp rope
minetest.register_node("farming:hemp_rope", {
description = S("Hemp Rope"),
walkable = false,
climbable = true,
sunlight_propagates = true,
paramtype = "light",
tiles = {"farming_hemp_rope.png"},
wield_image = "farming_hemp_rope.png",
inventory_image = "farming_hemp_rope.png",
drawtype = "plantlike",
groups = {flammable = 2, choppy = 3, oddly_breakable_by_hand = 3},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7}
}
})
-- string
minetest.register_craft( {
output = "farming:hemp_rope 6",
recipe = {
{"farming:hemp_fibre", "farming:hemp_fibre", "farming:hemp_fibre"},
{"farming:cotton", "farming:cotton", "farming:cotton"},
{"farming:hemp_fibre", "farming:hemp_fibre", "farming:hemp_fibre"}
}
})
-- hemp definition
local def = { local def = {
description = S("Hemp") .. S(" Crop"),
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_hemp_1.png"}, tiles = {"farming_hemp_1.png"},
paramtype = "light", paramtype = "light",
@ -190,34 +50,43 @@ local def = {
walkable = false, walkable = false,
buildable_to = true, buildable_to = true,
drop = "", drop = "",
waving = 1,
selection_box = farming.select, selection_box = farming.select,
groups = { groups = {
snappy = 3, flammable = 2, plant = 1, attached_node = 1, handy = 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() _mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
sounds = farming.node_sound_leaves_defaults()
} }
-- stage 1 -- stage 1
minetest.register_node("farming:hemp_1", table.copy(def))
core.register_node("farming:hemp_1", table.copy(def))
-- stage 2 -- stage 2
def.tiles = {"farming_hemp_2.png"} def.tiles = {"farming_hemp_2.png"}
minetest.register_node("farming:hemp_2", table.copy(def)) core.register_node("farming:hemp_2", table.copy(def))
-- stage 3 -- stage 3
def.tiles = {"farming_hemp_3.png"} def.tiles = {"farming_hemp_3.png"}
minetest.register_node("farming:hemp_3", table.copy(def)) core.register_node("farming:hemp_3", table.copy(def))
-- stage 4 -- stage 4
def.tiles = {"farming_hemp_4.png"} def.tiles = {"farming_hemp_4.png"}
minetest.register_node("farming:hemp_4", table.copy(def)) core.register_node("farming:hemp_4", table.copy(def))
-- stage 5 -- stage 5
def.tiles = {"farming_hemp_5.png"} def.tiles = {"farming_hemp_5.png"}
minetest.register_node("farming:hemp_5", table.copy(def)) core.register_node("farming:hemp_5", table.copy(def))
-- stage 6 -- stage 6
def.tiles = {"farming_hemp_6.png"} def.tiles = {"farming_hemp_6.png"}
def.drop = { def.drop = {
items = { items = {
@ -225,9 +94,10 @@ def.drop = {
{items = {"farming:seed_hemp"}, rarity = 1} {items = {"farming:seed_hemp"}, rarity = 1}
} }
} }
minetest.register_node("farming:hemp_6", table.copy(def)) core.register_node("farming:hemp_6", table.copy(def))
-- stage 7 -- stage 7
def.tiles = {"farming_hemp_7.png"} def.tiles = {"farming_hemp_7.png"}
def.drop = { def.drop = {
items = { items = {
@ -237,26 +107,51 @@ def.drop = {
{items = {"farming:seed_hemp"}, rarity = 3} {items = {"farming:seed_hemp"}, rarity = 3}
} }
} }
minetest.register_node("farming:hemp_7", table.copy(def)) core.register_node("farming:hemp_7", table.copy(def))
-- stage 8 (final) -- stage 8 (final)
def.tiles = {"farming_hemp_8.png"} def.tiles = {"farming_hemp_8.png"}
def.groups.growing = nil def.groups.growing = nil
def.selection_box = farming.select_final
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 2"}, rarity = 1},
{items = {"farming:seed_hemp"}, rarity = 2} {items = {"farming:seed_hemp"}, rarity = 2}
} }
} }
minetest.register_node("farming:hemp_8", table.copy(def)) core.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"] = {
crop = "farming:hemp", crop = "farming:hemp",
seed = "farming:seed_hemp", seed = "farming:seed_hemp",
mminlight = farming.min_light, minlight = farming.min_light,
maxlight = farming.max_light, maxlight = farming.max_light,
steps = 8 steps = 8
} }
-- mapgen
core.register_decoration({
deco_type = "simple",
place_on = {
"default:dirt_with_grass", "default:dirt_with_rainforest_litter",
"mcl_core:dirt_with_grass", "ethereal:prairie_dirt"
},
sidelen = 16,
noise_params = {
offset = 0,
scale = farming.hemp,
spread = {x = 100, y = 100, z = 100},
seed = 420,
octaves = 3,
persist = 0.6
},
y_min = 3, y_max = 45,
decoration = "farming:hemp_7",
spawn_by = "group:tree", num_spawn_by = 1
})

View File

@ -1,17 +1,25 @@
local S = farming.intllib
-- lettuce local S = core.get_translator("farming")
minetest.register_craftitem("farming:lettuce", {
-- item/seed
core.register_craftitem("farming:lettuce", {
description = S("Lettuce"), description = S("Lettuce"),
inventory_image = "farming_lettuce.png", inventory_image = "farming_lettuce.png",
groups = {seed = 2, food_lettuce = 1, flammable = 2}, groups = {compostability = 48, seed = 2, food_lettuce = 1},
on_use = core.item_eat(2),
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "farming:lettuce_1") return farming.place_seed(itemstack, placer, pointed_thing, "farming:lettuce_1")
end, end
on_use = minetest.item_eat(2),
}) })
farming.add_eatable("farming:lettuce", 2)
-- crop definition
local def = { local def = {
description = S("Lettuce") .. S(" Crop"),
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_lettuce_1.png"}, tiles = {"farming_lettuce_1.png"},
paramtype = "light", paramtype = "light",
@ -21,39 +29,48 @@ local def = {
drop = "", drop = "",
selection_box = farming.select, selection_box = farming.select,
groups = { groups = {
snappy = 3, flammable = 2, plant = 1, attached_node = 1, handy = 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() _mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
sounds = farming.node_sound_leaves_defaults()
} }
-- stage 1 -- stage 1
minetest.register_node("farming:lettuce_1", table.copy(def))
core.register_node("farming:lettuce_1", table.copy(def))
-- stage 2 -- stage 2
def.tiles = {"farming_lettuce_2.png"} def.tiles = {"farming_lettuce_2.png"}
minetest.register_node("farming:lettuce_2", table.copy(def)) core.register_node("farming:lettuce_2", table.copy(def))
-- stage 3 -- stage 3
def.tiles = {"farming_lettuce_3.png"} def.tiles = {"farming_lettuce_3.png"}
minetest.register_node("farming:lettuce_3", table.copy(def)) core.register_node("farming:lettuce_3", table.copy(def))
-- stage 4 -- stage 4
def.tiles = {"farming_lettuce_4.png"} def.tiles = {"farming_lettuce_4.png"}
minetest.register_node("farming:lettuce_4", table.copy(def)) core.register_node("farming:lettuce_4", table.copy(def))
-- stage 5 -- stage 5
def.tiles = {"farming_lettuce_5.png"} def.tiles = {"farming_lettuce_5.png"}
def.groups.growing = nil def.groups.growing = nil
def.selection_box = farming.select_final
def.drop = { def.drop = {
items = { items = {
{items = {'farming:lettuce 2'}, rarity = 1}, {items = {"farming:lettuce 2"}, rarity = 1},
{items = {'farming:lettuce 1'}, rarity = 2} {items = {"farming:lettuce"}, rarity = 3}
} }
} }
minetest.register_node("farming:lettuce_5", table.copy(def)) core.register_node("farming:lettuce_5", table.copy(def))
-- add to registered_plants -- add to registered_plants
farming.registered_plants["farming:lettuce"] = { farming.registered_plants["farming:lettuce"] = {
crop = "farming:lettuce", crop = "farming:lettuce",
seed = "farming:lettuce", seed = "farming:lettuce",
@ -61,3 +78,23 @@ farming.registered_plants["farming:lettuce"] = {
maxlight = farming.max_light, maxlight = farming.max_light,
steps = 5 steps = 5
} }
-- mapgen
core.register_decoration({
deco_type = "simple",
place_on = {
"default:dirt_with_grass", "mcl_core:dirt_with_grass", "ethereal:prairie_dirt"
},
sidelen = 16,
noise_params = {
offset = 0,
scale = farming.lettuce,
spread = {x = 100, y = 100, z = 100},
seed = 689,
octaves = 3,
persist = 0.6
},
y_min = 5, y_max = 35,
decoration = "farming:lettuce_5"
})

View File

@ -1,33 +1,25 @@
local S = farming.intllib local S = core.get_translator("farming")
-- melon -- item/seed
minetest.register_craftitem("farming:melon_slice", {
core.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 = {seed = 2, food_melon_slice = 1, flammable = 3}, groups = {compostability = 48, seed = 2, food_melon_slice = 1},
on_use = core.item_eat(2),
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)
}) })
minetest.register_craft({ farming.add_eatable("farming:melon_slice", 2)
output = "farming:melon_8",
recipe = {
{"farming:melon_slice", "farming:melon_slice"},
{"farming:melon_slice", "farming:melon_slice"}
}
})
minetest.register_craft({ -- crop definition
output = "farming:melon_slice 4",
recipe = {{"farming:cutting_board", "farming:melon_8"}},
replacements = {{"farming:cutting_board", "farming:cutting_board"}}
})
-- melon definition
local def = { local def = {
description = S("Melon") .. S(" Crop"),
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_melon_1.png"}, tiles = {"farming_melon_1.png"},
paramtype = "light", paramtype = "light",
@ -37,41 +29,51 @@ local def = {
drop = "", drop = "",
selection_box = farming.select, selection_box = farming.select,
groups = { groups = {
snappy = 3, flammable = 2, plant = 1, attached_node = 1, handy = 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() _mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
sounds = farming.node_sound_leaves_defaults()
} }
-- stage 1 -- stage 1
minetest.register_node("farming:melon_1", table.copy(def))
core.register_node("farming:melon_1", table.copy(def))
-- stage 2 -- stage 2
def.tiles = {"farming_melon_2.png"} def.tiles = {"farming_melon_2.png"}
minetest.register_node("farming:melon_2", table.copy(def)) core.register_node("farming:melon_2", table.copy(def))
-- stage 3 -- stage 3
def.tiles = {"farming_melon_3.png"} def.tiles = {"farming_melon_3.png"}
minetest.register_node("farming:melon_3", table.copy(def)) core.register_node("farming:melon_3", table.copy(def))
-- stage 4 -- stage 4
def.tiles = {"farming_melon_4.png"} def.tiles = {"farming_melon_4.png"}
minetest.register_node("farming:melon_4", table.copy(def)) core.register_node("farming:melon_4", table.copy(def))
-- stage 5 -- stage 5
def.tiles = {"farming_melon_5.png"} def.tiles = {"farming_melon_5.png"}
minetest.register_node("farming:melon_5", table.copy(def)) core.register_node("farming:melon_5", table.copy(def))
-- stage 6 -- stage 6
def.tiles = {"farming_melon_6.png"} def.tiles = {"farming_melon_6.png"}
minetest.register_node("farming:melon_6", table.copy(def)) core.register_node("farming:melon_6", table.copy(def))
-- stage 7 -- stage 7
def.tiles = {"farming_melon_7.png"} def.tiles = {"farming_melon_7.png"}
minetest.register_node("farming:melon_7", table.copy(def)) core.register_node("farming:melon_7", table.copy(def))
-- stage 8 (final) -- stage 8 (final)
minetest.register_node("farming:melon_8", {
core.register_node("farming:melon_8", {
description = S("Melon"), description = S("Melon"),
tiles = { tiles = {
"farming_melon_top.png", "farming_melon_top.png",
@ -79,16 +81,20 @@ minetest.register_node("farming:melon_8", {
"farming_melon_side.png" "farming_melon_side.png"
}, },
groups = { groups = {
food_melon = 1, snappy = 2, oddly_breakable_by_hand = 1, food_melon = 1, handy = 1, snappy = 3, choppy = 3, oddly_breakable_by_hand = 2,
flammable = 2, plant = 1 flammable = 2, plant = 1, compostability = 65
}, },
is_ground_content = false,
drop = "farming:melon_8", drop = "farming:melon_8",
sounds = default.node_sound_wood_defaults(), sounds = farming.node_sound_wood_defaults(),
paramtype2 = "facedir", paramtype2 = "facedir",
on_place = minetest.rotate_node on_place = core.rotate_node,
_mcl_hardness = 0.8,
_mcl_blast_resistance = 1
}) })
-- add to registered_plants -- add to registered_plants
farming.registered_plants["farming:melon"] = { farming.registered_plants["farming:melon"] = {
crop = "farming:melon", crop = "farming:melon",
seed = "farming:melon_slice", seed = "farming:melon_slice",
@ -96,3 +102,25 @@ farming.registered_plants["farming:melon"] = {
maxlight = farming.max_light, maxlight = farming.max_light,
steps = 8 steps = 8
} }
-- mapgen
core.register_decoration({
deco_type = "simple",
place_on = {
"default:dirt_with_grass", "default:dirt_with_dry_grass",
"default:dirt_with_rainforest_litter", "mcl_core:dirt_with_grass"
},
sidelen = 16,
noise_params = {
offset = 0,
scale = farming.melon,
spread = {x = 100, y = 100, z = 100},
seed = 790,
octaves = 3,
persist = 0.6
},
y_min = 1, y_max = 3,
decoration = "farming:melon_8",
spawn_by = {"group:water", "group:sand"}, num_spawn_by = 1
})

View File

@ -1,99 +1,96 @@
local S = farming.intllib local S = core.get_translator("farming")
-- mint seed -- seed
minetest.register_craftitem("farming:seed_mint", {
core.register_node("farming:seed_mint", {
description = S("Mint Seeds"), description = S("Mint Seeds"),
tiles = {"farming_mint_seeds.png"},
inventory_image = "farming_mint_seeds.png", inventory_image = "farming_mint_seeds.png",
groups = {seed = 2, flammable = 2}, wield_image = "farming_mint_seeds.png",
drawtype = "signlike",
groups = {
compostability = 48, seed = 1, snappy = 3, attached_node = 1, growing = 1,
handy = 1, flammable = 2
},
_mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
paramtype = "light",
paramtype2 = "wallmounted",
walkable = false,
sunlight_propagates = true,
selection_box = farming.select,
next_plant = "farming:mint_1",
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed( return farming.place_seed(itemstack, placer, pointed_thing, "farming:seed_mint")
itemstack, placer, pointed_thing, "farming:mint_1") end,
on_timer = function(pos, elapsed)
core.set_node(pos, {name = "farming:mint_1", param2 = 1})
end end
}) })
-- mint leaf -- item
minetest.register_craftitem("farming:mint_leaf", {
core.register_craftitem("farming:mint_leaf", {
description = S("Mint Leaf"), description = S("Mint Leaf"),
inventory_image = "farming_mint_leaf.png", inventory_image = "farming_mint_leaf.png",
groups = {food_mint = 1, flammable = 4} groups = {food_mint = 1, flammable = 4, compostability = 48}
}) })
-- mint tea -- crop definition
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",
recipe = {
{"group:food_mint", "group:food_mint", "group:food_mint"},
{"group:water_bucket", "farming:juicer", "vessels:drinking_glass"}
},
replacements = {
{"group:food_juicer", "farming:juicer"},
{"group:water_bucket", "bucket:bucket_empty"}
}
})
if minetest.get_modpath("bucket_wooden") then
minetest.register_craft({
output = "farming:mint_tea",
recipe = {
{"group:food_mint", "group:food_mint", "group:food_mint"},
{"group:water_bucket_wooden", "farming:juicer", "vessels:drinking_glass"}
},
replacements = {
{"group:food_juicer", "farming:juicer"},
{"group:water_bucket_wooden", "bucket_wooden:bucket_empty"}
}
})
end
-- mint definition
local def = { local def = {
description = S("Mint") .. S(" Crop"),
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_mint_1.png"}, tiles = {"farming_mint_1.png"},
paramtype = "light", paramtype = "light",
walkable = false, walkable = false,
buildable_to = true, buildable_to = true,
drop = "", drop = "",
waving = 1,
selection_box = farming.select, selection_box = farming.select,
groups = { groups = {
snappy = 3, flammable = 2, plant = 1, attached_node = 1, handy = 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() _mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
sounds = farming.node_sound_leaves_defaults()
} }
-- stage 1 -- stage 1
minetest.register_node("farming:mint_1", table.copy(def))
core.register_node("farming:mint_1", table.copy(def))
-- stage 2 -- stage 2
def.tiles = {"farming_mint_2.png"} def.tiles = {"farming_mint_2.png"}
minetest.register_node("farming:mint_2", table.copy(def)) core.register_node("farming:mint_2", table.copy(def))
-- stage 3 -- stage 3
def.tiles = {"farming_mint_3.png"} def.tiles = {"farming_mint_3.png"}
minetest.register_node("farming:mint_3", table.copy(def)) core.register_node("farming:mint_3", table.copy(def))
-- stage 4 (final) -- stage 4 (final)
def.tiles = {"farming_mint_4.png"} def.tiles = {"farming_mint_4.png"}
def.groups.growing = nil def.groups.growing = nil
def.selection_box = farming.select_final
def.drop = { def.drop = {
items = { items = {
{items = {"farming:mint_leaf 2"}, rarity = 1}, {items = {"farming:mint_leaf 2"}, rarity = 1},
{items = {"farming:mint_leaf 2"}, rarity = 2}, {items = {"farming:mint_leaf"}, rarity = 2},
{items = {"farming:seed_mint 1"}, rarity = 1}, {items = {"farming:seed_mint 2"}, rarity = 1},
{items = {"farming:seed_mint 2"}, rarity = 2} {items = {"farming:seed_mint"}, rarity = 2}
} }
} }
minetest.register_node("farming:mint_4", table.copy(def)) core.register_node("farming:mint_4", table.copy(def))
-- add to registered_plants -- add to registered_plants
farming.registered_plants["farming:mint"] = { farming.registered_plants["farming:mint"] = {
crop = "farming:mint", crop = "farming:mint",
seed = "farming:seed_mint", seed = "farming:seed_mint",
@ -101,3 +98,25 @@ farming.registered_plants["farming:mint"] = {
maxlight = farming.max_light, maxlight = farming.max_light,
steps = 4 steps = 4
} }
-- mapgen
core.register_decoration({
deco_type = "simple",
place_on = {
"default:dirt_with_grass", "default:dirt_with_coniferous_litter",
"mcl_core:dirt_with_grass", "ethereal:bamboo_dirt"
},
sidelen = 16,
noise_params = {
offset = 0,
scale = farming.mint,
spread = {x = 100, y = 100, z = 100},
seed = 801,
octaves = 3,
persist = 0.6
},
y_min = 1, y_max = 75,
decoration = "farming:mint_4",
spawn_by = {"group:water", "group:sand"}, num_spawn_by = 1
})

View File

@ -2,42 +2,30 @@
--[[ --[[
Original textures from Crops Plus mod Original textures from Crops Plus mod
Copyright (C) 2018 Grizzly Adam Copyright (C) 2018 Grizzly Adam
https://forum.minetest.net/viewtopic.php?f=9&t=19488 https://forum.core.net/viewtopic.php?f=9&t=19488
]] ]]
local S = farming.intllib local S = core.get_translator("farming")
-- onion -- item/seed
minetest.register_craftitem("farming:onion", {
core.register_craftitem("farming:onion", {
description = S("Onion"), description = S("Onion"),
inventory_image = "crops_onion.png", inventory_image = "crops_onion.png",
groups = {seed = 2, food_onion = 1, flammable = 3}, groups = {compostability = 48, seed = 2, food_onion = 1},
on_use = core.item_eat(1),
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)
}) })
-- onion soup farming.add_eatable("farming:onion", 1)
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({
output = "farming:onion_soup",
recipe = {
{"group:food_onion", "group:food_onion", "group:food_onion"},
{"group:food_onion", "group:food_pot", "group:food_onion"},
{"", "group:food_bowl", ""}
},
replacements = {{"farming:pot", "farming:pot"}}
})
-- crop definition -- crop definition
local def = { local def = {
description = S("Onion") .. S(" Crop"),
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"crops_onion_plant_1.png"}, tiles = {"crops_onion_plant_1.png"},
paramtype = "light", paramtype = "light",
@ -48,44 +36,52 @@ local def = {
walkable = false, walkable = false,
buildable_to = true, buildable_to = true,
drop = "", drop = "",
waving = 1,
selection_box = farming.select, selection_box = farming.select,
groups = { groups = {
snappy = 3, flammable = 3, plant = 1, attached_node = 1, handy = 1, snappy = 3, flammable = 3, 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() _mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
sounds = farming.node_sound_leaves_defaults()
} }
-- stage 1 -- stage 1
minetest.register_node("farming:onion_1", table.copy(def))
core.register_node("farming:onion_1", table.copy(def))
-- stage 2 -- stage 2
def.tiles = {"crops_onion_plant_2.png"} def.tiles = {"crops_onion_plant_2.png"}
minetest.register_node("farming:onion_2", table.copy(def)) core.register_node("farming:onion_2", table.copy(def))
-- stage 3 -- stage 3
def.tiles = {"crops_onion_plant_3.png"} def.tiles = {"crops_onion_plant_3.png"}
minetest.register_node("farming:onion_3", table.copy(def)) core.register_node("farming:onion_3", table.copy(def))
-- stage 4 -- stage 4
def.tiles = {"crops_onion_plant_4.png"} def.tiles = {"crops_onion_plant_4.png"}
minetest.register_node("farming:onion_4", table.copy(def)) core.register_node("farming:onion_4", table.copy(def))
-- stage 5 -- stage 5
def.tiles = {"crops_onion_plant_5.png"} def.tiles = {"crops_onion_plant_5.png"}
def.groups.growing = nil def.groups.growing = nil
def.selection_box = farming.select_final
def.drop = { def.drop = {
max_items = 5, items = { items = {
{items = {"farming:onion"}, rarity = 1}, {items = {"farming:onion 2"}, 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 = 4}
{items = {"farming:onion"}, rarity = 5}
} }
} }
minetest.register_node("farming:onion_5", table.copy(def)) core.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"] = {
crop = "farming:onion", crop = "farming:onion",
seed = "farming:onion", seed = "farming:onion",
@ -93,3 +89,23 @@ farming.registered_plants["farming:onion"] = {
maxlight = farming.max_light, maxlight = farming.max_light,
steps = 5 steps = 5
} }
-- mapgen
core.register_decoration({
deco_type = "simple",
place_on = {
"default:dirt_with_grass", "mcl_core:dirt_with_grass", "ethereal:prairie_dirt"
},
sidelen = 16,
noise_params = {
offset = 0,
scale = farming.onion,
spread = {x = 100, y = 100, z = 100},
seed = 912,
octaves = 3,
persist = 0.6
},
y_min = 5, y_max = 28,
decoration = "farming:onion_5"
})

View File

@ -1,17 +1,25 @@
local S = farming.intllib
-- item definition local S = core.get_translator("farming")
minetest.register_craftitem("farming:parsley", {
-- item/seed
core.register_craftitem("farming:parsley", {
description = S("Parsley"), description = S("Parsley"),
inventory_image = "farming_parsley.png", inventory_image = "farming_parsley.png",
groups = {seed = 2, food_parsley = 1, flammable = 2}, groups = {compostability = 48, seed = 2, food_parsley = 1},
on_use = core.item_eat(1),
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "farming:parsley_1") return farming.place_seed(itemstack, placer, pointed_thing, "farming:parsley_1")
end end
}) })
farming.add_eatable("farming:parsley", 1)
-- crop definition -- crop definition
local def = { local def = {
description = S("Parsley") .. S(" Crop"),
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_parsley_1.png"}, tiles = {"farming_parsley_1.png"},
paramtype = "light", paramtype = "light",
@ -19,24 +27,31 @@ local def = {
walkable = false, walkable = false,
buildable_to = true, buildable_to = true,
drop = "", drop = "",
waving = 1,
selection_box = farming.select, selection_box = farming.select,
groups = { groups = {
snappy = 3, flammable = 2, plant = 1, attached_node = 1, handy = 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() _mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
sounds = farming.node_sound_leaves_defaults()
} }
-- stage 1 -- stage 1
minetest.register_node("farming:parsley_1", table.copy(def))
core.register_node("farming:parsley_1", table.copy(def))
-- stage 2 -- stage 2
def.tiles = {"farming_parsley_2.png"} def.tiles = {"farming_parsley_2.png"}
minetest.register_node("farming:parsley_2", table.copy(def)) core.register_node("farming:parsley_2", table.copy(def))
-- stage 3 (final) -- stage 3 (final)
def.tiles = {"farming_parsley_3.png"} def.tiles = {"farming_parsley_3.png"}
def.groups.growing = nil def.groups.growing = nil
def.selection_box = farming.select_final
def.drop = { def.drop = {
items = { items = {
{items = {"farming:parsley 2"}, rarity = 1}, {items = {"farming:parsley 2"}, rarity = 1},
@ -44,9 +59,10 @@ def.drop = {
{items = {"farming:parsley"}, rarity = 3} {items = {"farming:parsley"}, rarity = 3}
} }
} }
minetest.register_node("farming:parsley_3", table.copy(def)) core.register_node("farming:parsley_3", table.copy(def))
-- add to registered_plants -- add to registered_plants
farming.registered_plants["farming:parsley"] = { farming.registered_plants["farming:parsley"] = {
crop = "farming:parsley", crop = "farming:parsley",
seed = "farming:parsley", seed = "farming:parsley",
@ -54,3 +70,24 @@ farming.registered_plants["farming:parsley"] = {
maxlight = 15, maxlight = 15,
steps = 3 steps = 3
} }
-- mapgen
core.register_decoration({
deco_type = "simple",
place_on = {
"default:dirt_with_grass", "mcl_core:dirt_with_grass", "ethereal:prairie_dirt",
"ethereal:grove_dirt"
},
sidelen = 16,
noise_params = {
offset = 0,
scale = farming.parsley,
spread = {x = 100, y = 100, z = 100},
seed = 23,
octaves = 3,
persist = 0.6
},
y_min = 10, y_max = 40,
decoration = "farming:parsley_3"
})

View File

@ -1,48 +1,31 @@
local S = farming.intllib -- Textures for peas and their crop were done by Andrey01
-- Textures for Pea crop and Peas were done by Andrey01 local S = core.get_translator("farming")
-- pea pod -- item/seed
minetest.register_craftitem("farming:pea_pod", {
core.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 = {seed = 2, food_pea_pod = 1, flammable = 2}, groups = {compostability = 48, seed = 2, food_peas = 1, food_pea_pod = 1},
on_use = core.item_eat(1),
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
}) })
minetest.register_craftitem("farming:peas", { farming.add_eatable("farming:pea_pod", 1)
description = S("Peas"),
inventory_image = "farming_pea_peas.png",
groups = {food_peas = 1, flammable = 2},
on_use = minetest.item_eat(1)
})
minetest.register_craft({ -- replacement for separate peas item that was removed
output = "farming:peas",
recipe = {{"farming:pea_pod"}}
})
-- pea soup core.register_alias("farming:peas", "farming:pea_pod")
minetest.register_craftitem("farming:pea_soup", {
description = S("Pea Soup"),
inventory_image = "farming_pea_soup.png",
groups = {flammable = 2},
on_use = minetest.item_eat(4, "farming:bowl")
})
minetest.register_craft({ -- crop definition
output = "farming:pea_soup",
recipe = {
{"group:food_peas"},
{"group:food_peas"},
{"group:food_bowl"}
}
})
local def = { local def = {
description = S("Pea") .. S(" Crop"),
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_pea_1.png"}, tiles = {"farming_pea_1.png"},
paramtype = "light", paramtype = "light",
@ -55,41 +38,49 @@ local def = {
drop = "", drop = "",
selection_box = farming.select, selection_box = farming.select,
groups = { groups = {
snappy = 3, flammable = 2, plant = 1, attached_node = 1, handy = 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() _mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
sounds = farming.node_sound_leaves_defaults()
} }
-- stage 1 -- stage 1
minetest.register_node("farming:pea_1", table.copy(def))
core.register_node("farming:pea_1", table.copy(def))
-- stage 2 -- stage 2
def.tiles = {"farming_pea_2.png"} def.tiles = {"farming_pea_2.png"}
minetest.register_node("farming:pea_2", table.copy(def)) core.register_node("farming:pea_2", table.copy(def))
-- stage 3 -- stage 3
def.tiles = {"farming_pea_3.png"} def.tiles = {"farming_pea_3.png"}
minetest.register_node("farming:pea_3", table.copy(def)) core.register_node("farming:pea_3", table.copy(def))
-- stage 4 -- stage 4
def.tiles = {"farming_pea_4.png"}
minetest.register_node("farming:pea_4", table.copy(def))
-- stage 5 def.tiles = {"farming_pea_4.png"}
core.register_node("farming:pea_4", table.copy(def))
-- stage 5 (final)
def.tiles = {"farming_pea_5.png"} def.tiles = {"farming_pea_5.png"}
def.groups.growing = nil def.groups.growing = nil
def.selection_box = farming.select_final
def.drop = { def.drop = {
max_items = 5, items = { items = {
{items = {"farming:pea_pod"}, rarity = 1}, {items = {"farming:pea_pod 2"}, 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 = 5}
} }
} }
minetest.register_node("farming:pea_5", table.copy(def)) core.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"] = {
crop = "farming:pea", crop = "farming:pea",
seed = "farming:pea_pod", seed = "farming:pea_pod",
@ -97,3 +88,23 @@ farming.registered_plants["farming:pea_pod"] = {
maxlight = farming.max_light, maxlight = farming.max_light,
steps = 5 steps = 5
} }
-- mapgen
core.register_decoration({
deco_type = "simple",
place_on = {
"default:dirt_with_grass", "mcl_core:dirt_with_grass", "ethereal:prairie_dirt"
},
sidelen = 16,
noise_params = {
offset = 0,
scale = farming.peas,
spread = {x = 100, y = 100, z = 100},
seed = 132,
octaves = 3,
persist = 0.6
},
y_min = 25, y_max = 55,
decoration = "farming:pea_5"
})

View File

@ -2,82 +2,67 @@
--[[ --[[
Original textures from Crops Plus mod Original textures from Crops Plus mod
Copyright (C) 2018 Grizzly Adam Copyright (C) 2018 Grizzly Adam
https://forum.minetest.net/viewtopic.php?f=9&t=19488 https://forum.core.net/viewtopic.php?f=9&t=19488
]] ]]
local S = farming.intllib local S = core.get_translator("farming")
-- peppercorn (seed) -- seed
minetest.register_craftitem("farming:peppercorn", {
core.register_craftitem("farming:peppercorn", {
description = S("Peppercorn"), description = S("Peppercorn"),
inventory_image = "crops_peppercorn.png", inventory_image = "crops_peppercorn.png",
groups = {seed = 1, food_peppercorn = 1, flammable = 3}, groups = {compostability = 48, 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
minetest.register_craftitem("farming:pepper", {
core.register_craftitem("farming:pepper", {
description = S("Green Pepper"), description = S("Green Pepper"),
inventory_image = "crops_pepper.png", inventory_image = "crops_pepper.png",
on_use = minetest.item_eat(2), on_use = core.item_eat(2),
groups = {food_pepper = 1, flammable = 3} groups = {food_pepper = 1, compostability = 55}
}) })
farming.add_eatable("farming:pepper", 2)
-- yellow pepper -- yellow pepper
minetest.register_craftitem("farming:pepper_yellow", {
core.register_craftitem("farming:pepper_yellow", {
description = S("Yellow Pepper"), description = S("Yellow Pepper"),
inventory_image = "crops_pepper_yellow.png", inventory_image = "crops_pepper_yellow.png",
on_use = minetest.item_eat(3), on_use = core.item_eat(3),
groups = {food_pepper = 1, flammable = 3} groups = {food_pepper = 1, compostability = 55}
}) })
farming.add_eatable("farming:pepper_yellow", 3)
-- red pepper -- red pepper
minetest.register_craftitem("farming:pepper_red", {
core.register_craftitem("farming:pepper_red", {
description = S("Red Pepper"), description = S("Red Pepper"),
inventory_image = "crops_pepper_red.png", inventory_image = "crops_pepper_red.png",
on_use = minetest.item_eat(4), on_use = core.item_eat(4),
groups = {food_pepper = 1, flammable = 3} groups = {food_pepper = 1, compostability = 55}
}) })
minetest.register_craft({ farming.add_eatable("farming:pepper_red", 4)
-- pepper to peppercorn recipe
core.register_craft({
output = "farming:peppercorn", output = "farming:peppercorn",
recipe = {{"group:food_pepper"}} recipe = {{"group:food_pepper"}}
}) })
-- ground pepper
minetest.register_node("farming:pepper_ground", {
description = S("Ground Pepper"),
inventory_image = "crops_pepper_ground.png",
wield_image = "crops_pepper_ground.png",
drawtype = "plantlike",
visual_scale = 0.8,
paramtype = "light",
tiles = {"crops_pepper_ground.png"},
groups = {
vessel = 1, food_pepper_ground = 1,
dig_immediate = 3, attached_node = 1
},
sounds = default.node_sound_defaults(),
selection_box = {
type = "fixed",
fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25}
}
})
minetest.register_craft( {
output = "farming:pepper_ground",
recipe = {
{"group:food_peppercorn"},
{"farming:mortar_pestle"},
{"vessels:glass_bottle"}
},
replacements = {{"group:food_mortar_pestle", "farming:mortar_pestle"}}
})
-- crop definition -- crop definition
local def = { local def = {
description = S("Pepper") .. S(" Crop"),
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"crops_pepper_plant_1.png"}, tiles = {"crops_pepper_plant_1.png"},
paramtype = "light", paramtype = "light",
@ -90,62 +75,73 @@ local def = {
drop = "", drop = "",
selection_box = farming.select, selection_box = farming.select,
groups = { groups = {
snappy = 3, flammable = 3, plant = 1, attached_node = 1, handy = 1, snappy = 3, flammable = 3, 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() _mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
sounds = farming.node_sound_leaves_defaults()
} }
-- stage 1 -- stage 1
minetest.register_node("farming:pepper_1", table.copy(def))
core.register_node("farming:pepper_1", table.copy(def))
-- stage 2 -- stage 2
def.tiles = {"crops_pepper_plant_2.png"} def.tiles = {"crops_pepper_plant_2.png"}
minetest.register_node("farming:pepper_2", table.copy(def)) core.register_node("farming:pepper_2", table.copy(def))
-- stage 3 -- stage 3
def.tiles = {"crops_pepper_plant_3.png"} def.tiles = {"crops_pepper_plant_3.png"}
minetest.register_node("farming:pepper_3", table.copy(def)) core.register_node("farming:pepper_3", table.copy(def))
-- stage 4 -- stage 4
def.tiles = {"crops_pepper_plant_4.png"} def.tiles = {"crops_pepper_plant_4.png"}
minetest.register_node("farming:pepper_4", table.copy(def)) core.register_node("farming:pepper_4", table.copy(def))
-- stage 5 (green pepper) -- stage 5 (green pepper)
def.tiles = {"crops_pepper_plant_5.png"} def.tiles = {"crops_pepper_plant_5.png"}
def.selection_box = farming.select_final
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(def)) core.register_node("farming:pepper_5", table.copy(def))
-- stage 6 (yellow pepper) -- stage 6 (yellow pepper)
def.tiles = {"crops_pepper_plant_6.png"} def.tiles = {"crops_pepper_plant_6.png"}
def.drop = { def.drop = {
max_items = 2, items = { items = {
{items = {"farming:pepper_yellow 2"}, rarity = 1}, {items = {"farming:pepper_yellow 2"}, rarity = 1},
{items = {"farming:pepper_yellow"}, rarity = 2}, {items = {"farming:pepper_yellow"}, rarity = 2},
{items = {"farming:pepper_yellow"}, rarity = 3} {items = {"farming:pepper_yellow"}, rarity = 3}
} }
} }
minetest.register_node("farming:pepper_6", table.copy(def)) core.register_node("farming:pepper_6", table.copy(def))
-- stage 7 (red pepper - final)
-- stage 7 (red pepper)
def.tiles = {"crops_pepper_plant_7.png"} def.tiles = {"crops_pepper_plant_7.png"}
def.groups.growing = nil def.groups.growing = nil
def.drop = { def.drop = {
max_items = 2, items = { items = {
{items = {"farming:pepper_red 2"}, rarity = 1}, {items = {"farming:pepper_red 2"}, rarity = 1},
{items = {"farming:pepper_red"}, rarity = 2}, {items = {"farming:pepper_red"}, rarity = 2},
{items = {"farming:pepper_red"}, rarity = 3} {items = {"farming:pepper_red"}, rarity = 3}
} }
} }
minetest.register_node("farming:pepper_7", table.copy(def)) core.register_node("farming:pepper_7", table.copy(def))
-- add to registered_plants -- add to registered_plants
farming.registered_plants["farming:pepper"] = { farming.registered_plants["farming:pepper"] = {
crop = "farming:pepper", crop = "farming:pepper",
seed = "farming:peppercorn", seed = "farming:peppercorn",
@ -153,3 +149,25 @@ farming.registered_plants["farming:pepper"] = {
maxlight = farming.max_light, maxlight = farming.max_light,
steps = 5 steps = 5
} }
-- mapgen
core.register_decoration({
deco_type = "simple",
place_on = {
"default:dirt_with_grass", "default:dirt_with_rainforest_litter",
"mcl_core:dirt_with_grass", "ethereal:prairie_dirt"
},
sidelen = 16,
noise_params = {
offset = 0,
scale = farming.pepper,
spread = {x = 100, y = 100, z = 100},
seed = 243,
octaves = 3,
persist = 0.6
},
y_min = 5, y_max = 35,
decoration = {"farming:pepper_5", "farming:pepper_6", "farming:pepper_7"},
spawn_by = "group:tree", num_spawn_by = 1
})

View File

@ -1,18 +1,21 @@
local S = farming.intllib local S = core.get_translator("farming")
-- pineapple top -- seed
minetest.register_craftitem("farming:pineapple_top", {
core.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}, groups = {compostability = 48, 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 -- item
minetest.register_node("farming:pineapple", {
core.register_node("farming:pineapple", {
description = S("Pineapple"), description = S("Pineapple"),
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_pineapple.png"}, tiles = {"farming_pineapple.png"},
@ -22,61 +25,20 @@ minetest.register_node("farming:pineapple", {
sunlight_propagates = true, sunlight_propagates = true,
walkable = false, walkable = false,
selection_box = { selection_box = {
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,
compostability = 65
-- pineapple
minetest.register_craftitem("farming:pineapple_ring", {
description = S("Pineapple Ring"),
inventory_image = "farming_pineapple_ring.png",
groups = {food_pineapple_ring = 1, flammable = 2},
on_use = minetest.item_eat(1)
})
minetest.register_craft( {
output = "farming:pineapple_ring 5",
recipe = {{"group:food_pineapple"}},
replacements = {{"farming:pineapple", "farming:pineapple_top"}}
})
-- pineapple juice
minetest.register_craftitem("farming:pineapple_juice", {
description = S("Pineapple Juice"),
inventory_image = "farming_pineapple_juice.png",
on_use = minetest.item_eat(4, "vessels:drinking_glass"),
groups = {vessel = 1, drink = 1}
})
minetest.register_craft({
output = "farming:pineapple_juice",
recipe = {
{"group:food_pineapple_ring", "group:food_pineapple_ring",
"group:food_pineapple_ring"},
{"", "farming:juicer", ""},
{"", "vessels:drinking_glass", ""}
}, },
replacements = { _mcl_hardness = farming.mcl_hardness,
{"group:food_juicer", "farming:juicer"} is_ground_content = false
}
})
minetest.register_craft({
output = "farming:pineapple_juice 2",
recipe = {
{"group:food_pineapple", ""},
{"farming:juicer", ""},
{"vessels:drinking_glass", "vessels:drinking_glass"}
},
replacements = {
{"group:food_juicer", "farming:juicer"}
}
}) })
-- crop definition -- crop definition
local def = { local def = {
description = S("Pineapple") .. S(" Crop"),
drawtype = "plantlike", drawtype = "plantlike",
visual_scale = 1.5, visual_scale = 1.5,
tiles = {"farming_pineapple_1.png"}, tiles = {"farming_pineapple_1.png"},
@ -85,53 +47,66 @@ local def = {
walkable = false, walkable = false,
buildable_to = true, buildable_to = true,
drop = "", drop = "",
waving = 1,
selection_box = farming.select, selection_box = farming.select,
groups = { groups = {
snappy = 3, flammable = 2, plant = 1, attached_node = 1, handy = 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() _mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
sounds = farming.node_sound_leaves_defaults()
} }
-- stage 1 -- stage 1
minetest.register_node("farming:pineapple_1", table.copy(def))
core.register_node("farming:pineapple_1", table.copy(def))
-- stage 2 -- stage 2
def.tiles = {"farming_pineapple_2.png"} def.tiles = {"farming_pineapple_2.png"}
minetest.register_node("farming:pineapple_2", table.copy(def)) core.register_node("farming:pineapple_2", table.copy(def))
-- stage 3 -- stage 3
def.tiles = {"farming_pineapple_3.png"} def.tiles = {"farming_pineapple_3.png"}
minetest.register_node("farming:pineapple_3", table.copy(def)) core.register_node("farming:pineapple_3", table.copy(def))
-- stage 4 -- stage 4
def.tiles = {"farming_pineapple_4.png"} def.tiles = {"farming_pineapple_4.png"}
minetest.register_node("farming:pineapple_4", table.copy(def)) core.register_node("farming:pineapple_4", table.copy(def))
-- stage 5 -- stage 5
def.tiles = {"farming_pineapple_5.png"} def.tiles = {"farming_pineapple_5.png"}
minetest.register_node("farming:pineapple_5", table.copy(def)) core.register_node("farming:pineapple_5", table.copy(def))
-- stage 6 -- stage 6
def.tiles = {"farming_pineapple_6.png"} def.tiles = {"farming_pineapple_6.png"}
minetest.register_node("farming:pineapple_6", table.copy(def)) core.register_node("farming:pineapple_6", table.copy(def))
-- stage 7 -- stage 7
def.tiles = {"farming_pineapple_7.png"} def.tiles = {"farming_pineapple_7.png"}
minetest.register_node("farming:pineapple_7", table.copy(def)) core.register_node("farming:pineapple_7", table.copy(def))
-- stage 8 (final) -- stage 8 (final)
def.tiles = {"farming_pineapple_8.png"} def.tiles = {"farming_pineapple_8.png"}
def.groups.growing = nil def.groups.growing = nil
def.selection_box = farming.select_final
def.drop = { def.drop = {
items = { items = {
{items = {"farming:pineapple"}, rarity = 1}, {items = {"farming:pineapple"}, rarity = 1},
{items = {"farming:pineapple"}, rarity = 10} {items = {"farming:pineapple"}, rarity = 3}
} }
} }
minetest.register_node("farming:pineapple_8", table.copy(def)) core.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"] = {
crop = "farming:pineapple", crop = "farming:pineapple",
seed = "farming:pineapple_top", seed = "farming:pineapple_top",
@ -139,3 +114,30 @@ farming.registered_plants["farming:pineapple"] = {
maxlight = farming.max_light, maxlight = farming.max_light,
steps = 8 steps = 8
} }
-- mapgen
local spawn_on = {
"default:dirt_with_dry_grass", "default:dry_dirt_with_dry_grass",
"mcl_core:dirt_with_grass"
}
if farming.mapgen == "v6" then
spawn_on = {"default:dirt_with_grass"}
end
core.register_decoration({
deco_type = "simple",
place_on = spawn_on,
sidelen = 16,
noise_params = {
offset = 0,
scale = farming.pineapple,
spread = {x = 100, y = 100, z = 100},
seed = 354,
octaves = 3,
persist = 0.6
},
y_min = 11, y_max = 30,
decoration = "farming:pineapple_8"
})

View File

@ -1,63 +1,42 @@
--[[ --[[
Original textures from DocFarming mod Original textures from DocFarming mod
https://forum.minetest.net/viewtopic.php?id=3948 https://forum.core.net/viewtopic.php?id=3948
]] ]]
local S = farming.intllib local S = core.get_translator("farming")
-- potato -- item/seed
minetest.register_craftitem("farming:potato", {
core.register_craftitem("farming:potato", {
description = S("Potato"), description = S("Potato"),
inventory_image = "farming_potato.png", inventory_image = "farming_potato.png",
groups = {seed = 2, food_potato = 1, flammable = 2}, groups = {compostability = 48, seed = 2, food_potato = 1},
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,
-- 1 in 3 chance of being poisoned -- 1 in 3 chance of being poisoned
on_use = function(itemstack, user, pointed_thing) on_use = function(itemstack, user, pointed_thing)
if user then if user then
if math.random(3) == 1 then if math.random(3) == 1 then
return minetest.do_item_eat(-1, nil, itemstack, user, pointed_thing) return core.do_item_eat(-1, nil, itemstack, user, pointed_thing)
else else
return minetest.do_item_eat(1, nil, itemstack, user, pointed_thing) return core.do_item_eat(1, nil, itemstack, user, pointed_thing)
end end
end end
end end
}) })
-- baked potato farming.add_eatable("farming:potato", 1)
minetest.register_craftitem("farming:baked_potato", {
description = S("Baked Potato"),
inventory_image = "farming_baked_potato.png",
on_use = minetest.item_eat(6)
})
minetest.register_craft({ -- crop definition
type = "cooking",
cooktime = 10,
output = "farming:baked_potato",
recipe = "group:food_potato"
})
-- Potato and cucumber Salad
minetest.register_craftitem("farming:potato_salad", {
description = S("Cucumber and Potato Salad"),
inventory_image = "farming_potato_salad.png",
on_use = minetest.item_eat(10, "farming:bowl")
})
minetest.register_craft({
output = "farming:potato_salad",
recipe = {
{"group:food_cucumber"},
{"farming:baked_potato"},
{"group:food_bowl"}
}
})
-- potato definition
local def = { local def = {
description = S("Potato") .. S(" Crop"),
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_potato_1.png"}, tiles = {"farming_potato_1.png"},
paramtype = "light", paramtype = "light",
@ -68,20 +47,25 @@ local def = {
drop = "", drop = "",
selection_box = farming.select, selection_box = farming.select,
groups = { groups = {
snappy = 3, flammable = 2, plant = 1, attached_node = 1, handy = 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() _mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
sounds = farming.node_sound_leaves_defaults()
} }
-- stage 1 -- stage 1
minetest.register_node("farming:potato_1", table.copy(def))
core.register_node("farming:potato_1", table.copy(def))
-- stage 2 -- stage 2
def.tiles = {"farming_potato_2.png"} def.tiles = {"farming_potato_2.png"}
minetest.register_node("farming:potato_2", table.copy(def)) core.register_node("farming:potato_2", table.copy(def))
-- stage 3 -- stage 3
def.tiles = {"farming_potato_3.png"} def.tiles = {"farming_potato_3.png"}
def.drop = { def.drop = {
items = { items = {
@ -89,20 +73,24 @@ def.drop = {
{items = {"farming:potato"}, rarity = 3} {items = {"farming:potato"}, rarity = 3}
} }
} }
minetest.register_node("farming:potato_3", table.copy(def)) core.register_node("farming:potato_3", table.copy(def))
-- stage 4 (final)
-- stage 4
def.tiles = {"farming_potato_4.png"} def.tiles = {"farming_potato_4.png"}
def.groups.growing = nil def.groups.growing = nil
def.selection_box = farming.select_final
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"}, rarity = 2},
{items = {"farming:potato"}, rarity = 3}
} }
} }
minetest.register_node("farming:potato_4", table.copy(def)) core.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"] = {
crop = "farming:potato", crop = "farming:potato",
seed = "farming:potato", seed = "farming:potato",
@ -110,3 +98,24 @@ farming.registered_plants["farming:potato"] = {
maxlight = farming.max_light, maxlight = farming.max_light,
steps = 4 steps = 4
} }
-- mapgen
core.register_decoration({
deco_type = "simple",
place_on = {
"default:dirt_with_grass", "default:dirt_with_rainforest_litter",
"mcl_core:dirt_with_grass", "ethereal:prairie_dirt"
},
sidelen = 16,
noise_params = {
offset = 0,
scale = farming.potato,
spread = {x = 100, y = 100, z = 100},
seed = 465,
octaves = 3,
persist = 0.6
},
y_min = 5, y_max = 40,
decoration = "farming:potato_3"
})

View File

@ -1,140 +1,25 @@
--[[ local S = core.get_translator("farming")
Big thanks to PainterlyPack.net for allowing me to use these textures
]]
local S = farming.intllib -- seed
-- pumpkin slice core.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 = {seed = 2, food_pumpkin_slice = 1, flammable = 2}, groups = {compostability = 48, seed = 2, food_pumpkin_slice = 1},
on_use = core.item_eat(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,
on_use = minetest.item_eat(2)
})
minetest.register_craft({
output = "farming:pumpkin",
recipe = {
{"farming:pumpkin_slice", "farming:pumpkin_slice"},
{"farming:pumpkin_slice", "farming:pumpkin_slice"}
}
})
minetest.register_craft({
output = "farming:pumpkin_slice 4",
recipe = {{"farming:cutting_board", "farming:pumpkin"}},
replacements = {{"farming:cutting_board", "farming:cutting_board"}}
})
-- jack 'o lantern
minetest.register_node("farming:jackolantern", {
description = S("Jack 'O Lantern (punch to turn on and off)"),
tiles = {
"farming_pumpkin_top.png", "farming_pumpkin_top.png",
"farming_pumpkin_side.png", "farming_pumpkin_side.png",
"farming_pumpkin_side.png", "farming_pumpkin_face_off.png"
},
paramtype2 = "facedir",
groups = {choppy = 1, oddly_breakable_by_hand = 1, flammable = 2},
sounds = default.node_sound_wood_defaults(),
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"
minetest.swap_node(pos, node)
end end
}) })
minetest.register_node("farming:jackolantern_on", { farming.add_eatable("farming:pumpkin_slice", 2)
tiles = {
"farming_pumpkin_top.png", "farming_pumpkin_top.png",
"farming_pumpkin_side.png", "farming_pumpkin_side.png",
"farming_pumpkin_side.png", "farming_pumpkin_face_on.png"
},
light_source = default.LIGHT_MAX - 1,
paramtype2 = "facedir",
groups = {
choppy = 1, oddly_breakable_by_hand = 1, flammable = 2,
not_in_creative_inventory = 1
},
sounds = default.node_sound_wood_defaults(),
drop = "farming:jackolantern",
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"
minetest.swap_node(pos, node)
end
})
minetest.register_craft({ -- crop definition
output = "farming:jackolantern",
recipe = {
{"default:torch"},
{"group:food_pumpkin"}
}
})
--- wooden scarecrow base
minetest.register_node("farming:scarecrow_bottom", {
description = S("Scarecrow Bottom"),
paramtype = "light",
sunlight_propagates = true,
paramtype2 = "facedir",
tiles = {"default_wood.png"},
drawtype = "nodebox",
node_box = {
type = "fixed",
fixed = {
{-1/16, -8/16, -1/16, 1/16, 8/16, 1/16},
{-12/16, 4/16, -1/16, 12/16, 2/16, 1/16},
}
},
groups = {snappy = 3, flammable = 2}
})
minetest.register_craft({
output = "farming:scarecrow_bottom",
recipe = {
{"", "group:stick", ""},
{"group:stick", "group:stick", "group:stick"},
{"", "group:stick", ""}
}
})
-- pumpkin bread
minetest.register_craftitem("farming:pumpkin_bread", {
description = S("Pumpkin Bread"),
inventory_image = "farming_pumpkin_bread.png",
on_use = minetest.item_eat(8),
groups = {food_bread = 1, flammable = 2}
})
minetest.register_craftitem("farming:pumpkin_dough", {
description = S("Pumpkin Dough"),
inventory_image = "farming_pumpkin_dough.png"
})
minetest.register_craft({
output = "farming:pumpkin_dough",
recipe = {
{"group:food_pumpkin_slice", "group:food_flour", "group:food_pumpkin_slice"}
}
})
minetest.register_craft({
type = "cooking",
output = "farming:pumpkin_bread",
recipe = "farming:pumpkin_dough",
cooktime = 10
})
-- pumpkin definition
local def = { local def = {
description = S("Pumpkin") .. S(" Crop"),
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_pumpkin_1.png"}, tiles = {"farming_pumpkin_1.png"},
paramtype = "light", paramtype = "light",
@ -145,60 +30,74 @@ local def = {
drop = "", drop = "",
selection_box = farming.select, selection_box = farming.select,
groups = { groups = {
snappy = 3, flammable = 2, plant = 1, attached_node = 1, handy = 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() _mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
sounds = farming.node_sound_leaves_defaults()
} }
-- stage 1 -- stage 1
minetest.register_node("farming:pumpkin_1", table.copy(def))
core.register_node("farming:pumpkin_1", table.copy(def))
-- stage 2 -- stage 2
def.tiles = {"farming_pumpkin_2.png"} def.tiles = {"farming_pumpkin_2.png"}
minetest.register_node("farming:pumpkin_2", table.copy(def)) core.register_node("farming:pumpkin_2", table.copy(def))
-- stage 3 -- stage 3
def.tiles = {"farming_pumpkin_3.png"} def.tiles = {"farming_pumpkin_3.png"}
minetest.register_node("farming:pumpkin_3", table.copy(def)) core.register_node("farming:pumpkin_3", table.copy(def))
-- stage 4 -- stage 4
def.tiles = {"farming_pumpkin_4.png"} def.tiles = {"farming_pumpkin_4.png"}
minetest.register_node("farming:pumpkin_4", table.copy(def)) core.register_node("farming:pumpkin_4", table.copy(def))
-- stage 5 -- stage 5
def.tiles = {"farming_pumpkin_5.png"} def.tiles = {"farming_pumpkin_5.png"}
minetest.register_node("farming:pumpkin_5", table.copy(def)) core.register_node("farming:pumpkin_5", table.copy(def))
-- stage 6 -- stage 6
def.tiles = {"farming_pumpkin_6.png"} def.tiles = {"farming_pumpkin_6.png"}
minetest.register_node("farming:pumpkin_6", table.copy(def)) core.register_node("farming:pumpkin_6", table.copy(def))
-- stage 7 -- stage 7
def.tiles = {"farming_pumpkin_7.png"} def.tiles = {"farming_pumpkin_7.png"}
minetest.register_node("farming:pumpkin_7", table.copy(def)) core.register_node("farming:pumpkin_7", table.copy(def))
-- stage 8 (final) -- stage 8 (final)
minetest.register_node("farming:pumpkin_8", {
core.register_node("farming:pumpkin_8", {
description = S("Pumpkin"), description = S("Pumpkin"),
tiles = { tiles = {
"farming_pumpkin_top.png", "farming_pumpkin_bottom.png^farming_pumpkin_top.png",
"farming_pumpkin_bottom.png", "farming_pumpkin_bottom.png",
"farming_pumpkin_side.png" "farming_pumpkin_side.png"
}, },
groups = { groups = {
food_pumpkin = 1, choppy = 2, oddly_breakable_by_hand = 1, food_pumpkin = 1, snappy = 3, choppy = 3, oddly_breakable_by_hand = 2,
flammable = 2, plant = 1 flammable = 2, plant = 1, handy = 1
}, },
is_ground_content = false,
drop = "farming:pumpkin_8", drop = "farming:pumpkin_8",
sounds = default.node_sound_wood_defaults(), sounds = farming.node_sound_wood_defaults(),
paramtype2 = "facedir", paramtype2 = "facedir",
on_place = minetest.rotate_node on_place = core.rotate_node,
_mcl_hardness = 0.8,
_mcl_blast_resistance = 1
}) })
minetest.register_alias("farming:pumpkin", "farming:pumpkin_8") core.register_alias("farming:pumpkin", "farming:pumpkin_8")
-- add to registered_plants -- add to registered_plants
farming.registered_plants["farming:pumpkin"] = { farming.registered_plants["farming:pumpkin"] = {
crop = "farming:pumpkin", crop = "farming:pumpkin",
seed = "farming:pumpkin_slice", seed = "farming:pumpkin_slice",
@ -206,3 +105,25 @@ farming.registered_plants["farming:pumpkin"] = {
maxlight = farming.max_light, maxlight = farming.max_light,
steps = 8 steps = 8
} }
-- mapgen
core.register_decoration({
deco_type = "simple",
place_on = {
"default:dirt_with_grass", "default:dirt_with_rainforest_litter",
"mcl_core:dirt_with_grass"
},
sidelen = 16,
noise_params = {
offset = 0,
scale = farming.pumpkin,
spread = {x = 100, y = 100, z = 100},
seed = 576,
octaves = 3,
persist = 0.6
},
y_min = 1, y_max = 3,
decoration = "farming:pumpkin_8",
spawn_by = {"group:water", "group:sand"}, num_spawn_by = 1
})

View File

@ -1,37 +1,28 @@
local S = farming.intllib local S = core.get_translator("farming")
-- raspberries -- item/seed
minetest.register_craftitem("farming:raspberries", {
core.register_craftitem("farming:raspberries", {
description = S("Raspberries"), description = S("Raspberries"),
inventory_image = "farming_raspberries.png", inventory_image = "farming_raspberries.png",
groups = {seed = 2, food_raspberries = 1, food_raspberry = 1, groups = {
food_berry = 1, flammable = 2}, compostability = 48, seed = 2, food_raspberries = 1, food_raspberry = 1,
food_berry = 1
},
on_use = core.item_eat(1),
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)
}) })
-- raspberry smoothie farming.add_eatable("farming:raspberries", 1)
minetest.register_craftitem("farming:smoothie_raspberry", {
description = S("Raspberry Smoothie"),
inventory_image = "farming_raspberry_smoothie.png",
on_use = minetest.item_eat(2, "vessels:drinking_glass"),
groups = {vessel = 1, drink = 1}
})
minetest.register_craft({ -- crop definition
output = "farming:smoothie_raspberry",
recipe = {
{"default:snow"},
{"group:food_raspberries"},
{"vessels:drinking_glass"}
}
})
-- raspberries definition
local def = { local def = {
description = S("Raspberry") .. S(" Crop"),
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_raspberry_1.png"}, tiles = {"farming_raspberry_1.png"},
paramtype = "light", paramtype = "light",
@ -41,26 +32,33 @@ local def = {
drop = "", drop = "",
selection_box = farming.select, selection_box = farming.select,
groups = { groups = {
snappy = 3, flammable = 2, plant = 1, attached_node = 1, handy = 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() _mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
sounds = farming.node_sound_leaves_defaults()
} }
-- stage 1 -- stage 1
minetest.register_node("farming:raspberry_1", table.copy(def))
core.register_node("farming:raspberry_1", table.copy(def))
-- stage 2 -- stage 2
def.tiles = {"farming_raspberry_2.png"} def.tiles = {"farming_raspberry_2.png"}
minetest.register_node("farming:raspberry_2", table.copy(def)) core.register_node("farming:raspberry_2", table.copy(def))
-- stage 3 -- stage 3
def.tiles = {"farming_raspberry_3.png"} def.tiles = {"farming_raspberry_3.png"}
minetest.register_node("farming:raspberry_3", table.copy(def)) core.register_node("farming:raspberry_3", table.copy(def))
-- stage 4 (final) -- stage 4 (final)
def.tiles = {"farming_raspberry_4.png"} def.tiles = {"farming_raspberry_4.png"}
def.groups.growing = nil def.groups.growing = nil
def.selection_box = farming.select_final
def.drop = { def.drop = {
items = { items = {
{items = {"farming:raspberries 2"}, rarity = 1}, {items = {"farming:raspberries 2"}, rarity = 1},
@ -68,9 +66,10 @@ def.drop = {
{items = {"farming:raspberries"}, rarity = 3} {items = {"farming:raspberries"}, rarity = 3}
} }
} }
minetest.register_node("farming:raspberry_4", table.copy(def)) core.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"] = {
crop = "farming:raspberry", crop = "farming:raspberry",
seed = "farming:raspberries", seed = "farming:raspberries",
@ -78,3 +77,23 @@ farming.registered_plants["farming:raspberries"] = {
maxlight = farming.max_light, maxlight = farming.max_light,
steps = 4 steps = 4
} }
-- mapgen
core.register_decoration({
deco_type = "simple",
place_on = {
"default:dirt_with_grass", "mcl_core:dirt_with_grass", "ethereal:prairie_dirt"
},
sidelen = 16,
noise_params = {
offset = 0,
scale = farming.raspberry,
spread = {x = 100, y = 100, z = 100},
seed = 687,
octaves = 3,
persist = 0.6
},
y_min = 3, y_max = 15,
decoration = "farming:raspberry_4"
})

View File

@ -1,36 +1,25 @@
local S = farming.intllib local S = core.get_translator("farming")
-- rhubarb -- item/seed
minetest.register_craftitem("farming:rhubarb", {
core.register_craftitem("farming:rhubarb", {
description = S("Rhubarb"), description = S("Rhubarb"),
inventory_image = "farming_rhubarb.png", inventory_image = "farming_rhubarb.png",
groups = {seed = 2, food_rhubarb = 1, flammable = 2}, groups = {compostability = 48, seed = 2, food_rhubarb = 1},
on_use = core.item_eat(1),
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)
}) })
-- rhubarb pie farming.add_eatable("farming:rhubarb", 1)
minetest.register_craftitem("farming:rhubarb_pie", {
description = S("Rhubarb Pie"),
inventory_image = "farming_rhubarb_pie.png",
on_use = minetest.item_eat(6)
})
minetest.register_craft({ -- crop definition
output = "farming:rhubarb_pie",
recipe = {
{"farming:baking_tray", "group:food_sugar", ""},
{"group:food_rhubarb", "group:food_rhubarb", "group:food_rhubarb"},
{"group:food_wheat", "group:food_wheat", "group:food_wheat"}
},
replacements = {{"group:food_baking_tray", "farming:baking_tray"}}
})
-- rhubarb definition
local def = { local def = {
description = S("Rhubarb") .. S(" Crop"),
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_rhubarb_1.png"}, tiles = {"farming_rhubarb_1.png"},
paramtype = "light", paramtype = "light",
@ -38,26 +27,44 @@ local def = {
walkable = false, walkable = false,
buildable_to = true, buildable_to = true,
drop = "", drop = "",
waving = 1,
selection_box = farming.select, selection_box = farming.select,
groups = { groups = {
snappy = 3, flammable = 2, plant = 1, attached_node = 1, handy = 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(), _mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
sounds = farming.node_sound_leaves_defaults(),
minlight = 10, minlight = 10,
maxlight = 12 maxlight = 12
} }
-- stage 1 -- stage 1
minetest.register_node("farming:rhubarb_1", table.copy(def))
core.register_node("farming:rhubarb_1", table.copy(def))
-- stage2 -- stage2
def.tiles = {"farming_rhubarb_2.png"}
minetest.register_node("farming:rhubarb_2", table.copy(def))
-- stage 3 (final) def.tiles = {"farming_rhubarb_2.png"}
core.register_node("farming:rhubarb_2", table.copy(def))
-- stage3
def.tiles = {"farming_rhubarb_3.png"} def.tiles = {"farming_rhubarb_3.png"}
def.drop = {
items = {
{items = {"farming:rhubarb"}, rarity = 1},
{items = {"farming:rhubarb"}, rarity = 3}
}
}
core.register_node("farming:rhubarb_3", table.copy(def))
-- stage 4 (final)
def.tiles = {"farming_rhubarb_4.png"}
def.groups.growing = nil def.groups.growing = nil
def.selection_box = farming.select_final
def.drop = { def.drop = {
items = { items = {
{items = {"farming:rhubarb 2"}, rarity = 1}, {items = {"farming:rhubarb 2"}, rarity = 1},
@ -65,13 +72,34 @@ def.drop = {
{items = {"farming:rhubarb"}, rarity = 3} {items = {"farming:rhubarb"}, rarity = 3}
} }
} }
minetest.register_node("farming:rhubarb_3", table.copy(def)) core.register_node("farming:rhubarb_4", table.copy(def))
-- add to registered_plants -- add to registered_plants
farming.registered_plants["farming:rhubarb"] = { farming.registered_plants["farming:rhubarb"] = {
crop = "farming:rhubarb", crop = "farming:rhubarb",
seed = "farming:rhubarb", seed = "farming:rhubarb",
minlight = 10, minlight = 10,
maxlight = 12, maxlight = 12,
steps = 3 steps = 4
} }
-- mapgen
core.register_decoration({
deco_type = "simple",
place_on = {
"default:dirt_with_grass", "mcl_core:dirt_with_grass", "ethereal:prairie_dirt"
},
sidelen = 16,
noise_params = {
offset = 0,
scale = farming.rhubarb,
spread = {x = 100, y = 100, z = 100},
seed = 798,
octaves = 3,
persist = 0.6
},
y_min = 3, y_max = 20,
decoration = "farming:rhubarb_3"
})

143
crops/rice.lua Normal file
View File

@ -0,0 +1,143 @@
local S = core.get_translator("farming")
-- rice seed
core.register_node("farming:seed_rice", {
description = S("Rice Seed"),
tiles = {"farming_rice_seed.png"},
inventory_image = "farming_rice_seed.png",
wield_image = "farming_rice_seed.png",
drawtype = "signlike",
groups = {
handy = 1, compostability = 48, seed = 1, snappy = 3, attached_node = 1,
flammable = 4, growing = 1
},
_mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
paramtype = "light",
paramtype2 = "wallmounted",
walkable = false,
sunlight_propagates = true,
selection_box = farming.select,
next_plant = "farming:rice_1",
on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "farming:seed_rice")
end,
on_timer = function(pos, elapsed)
core.set_node(pos, {name = "farming:rice_1", param2 = 3})
end
})
-- rice item
core.register_craftitem("farming:rice", {
description = S("Rice"),
inventory_image = "farming_rice.png",
groups = {seed = 2, food_rice = 1, flammable = 2, compostability = 65},
})
-- dry rice seed to give edible rice
core.register_craft({
type = "cooking",
cooktime = 1,
output = "farming:rice",
recipe = "farming:seed_rice"
})
-- crop definition
local def = {
description = S("Rice") .. S(" Crop"),
drawtype = "plantlike",
tiles = {"farming_rice_1.png"},
paramtype = "light",
paramtype2 = "meshoptions",
place_param2 = 3,
sunlight_propagates = true,
walkable = false,
buildable_to = true,
drop = "",
waving = 1,
selection_box = farming.select,
groups = {
handy = 1, snappy = 3, flammable = 4, plant = 1, attached_node = 1,
not_in_creative_inventory = 1, growing = 1
},
_mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
sounds = farming.node_sound_leaves_defaults()
}
-- stage 1
core.register_node("farming:rice_1", table.copy(def))
-- stage 2
def.tiles = {"farming_rice_2.png"}
core.register_node("farming:rice_2", table.copy(def))
-- stage 3
def.tiles = {"farming_rice_3.png"}
core.register_node("farming:rice_3", table.copy(def))
-- stage 4
def.tiles = {"farming_rice_4.png"}
core.register_node("farming:rice_4", table.copy(def))
-- stage 5
def.tiles = {"farming_rice_5.png"}
core.register_node("farming:rice_5", table.copy(def))
-- stage 6
def.tiles = {"farming_rice_6.png"}
def.drop = {
items = {
{items = {"farming:seed_rice"}, rarity = 2}
}
}
core.register_node("farming:rice_6", table.copy(def))
-- stage 7
def.tiles = {"farming_rice_7.png"}
def.drop = {
items = {
{items = {"farming:seed_rice"}, rarity = 1},
{items = {"farming:seed_rice"}, rarity = 3}
}
}
core.register_node("farming:rice_7", table.copy(def))
-- stage 8 (final)
def.tiles = {"farming_rice_8.png"}
def.groups.growing = nil
def.selection_box = farming.select_final
def.drop = {
items = {
{items = {"farming:seed_rice 2"}, rarity = 1},
{items = {"farming:seed_rice"}, rarity = 2},
{items = {"farming:seed_rice"}, rarity = 3},
{items = {"farming:seed_rice"}, rarity = 4}
}
}
core.register_node("farming:rice_8", table.copy(def))
-- add to registered_plants
farming.registered_plants["farming:rice"] = {
crop = "farming:rice",
seed = "farming:seed_rice",
minlight = farming.min_light,
maxlight = farming.max_light,
steps = 8
}

54
crops/rye_oat.lua Normal file
View File

@ -0,0 +1,54 @@
local S = core.get_translator("farming")
--= 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
})
-- override rye item
core.override_item("farming:rye", {
description = S("Rye"),
groups = {food_rye = 1, flammable = 4, compostability = 65}
})
-- override rye crop
core.override_item("farming:rye_1", {drop = {}})
core.override_item("farming:rye_2", {drop = {}})
core.override_item("farming:rye_3", {drop = {}})
core.override_item("farming:rye_4", {drop = {}})
core.override_item("farming:rye_5", {drop = {}})
-- Oats
farming.register_plant("farming:oat", {
description = S("Oat seed"),
paramtype2 = "meshoptions",
inventory_image = "farming_oat_seed.png",
steps = 8,
place_param2 = 3
})
-- override oat item
core.override_item("farming:oat", {
description = S("Oats"),
groups = {food_oats = 1, flammable = 4, compostability = 65}
})
-- override oat crop
core.override_item("farming:oat_1", {drop = {}})
core.override_item("farming:oat_2", {drop = {}})
core.override_item("farming:oat_3", {drop = {}})
core.override_item("farming:oat_4", {drop = {}})
core.override_item("farming:oat_5", {drop = {}})

View File

@ -1,174 +0,0 @@
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.override_item("farming:rye_1", {drop = {}})
minetest.override_item("farming:rye_2", {drop = {}})
minetest.override_item("farming:rye_3", {drop = {}})
minetest.register_craft({
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.override_item("farming:oat_1", {drop = {}})
minetest.override_item("farming:oat_2", {drop = {}})
minetest.override_item("farming:oat_3", {drop = {}})
minetest.register_craft({
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.override_item("farming:rice_1", {drop = {}})
minetest.override_item("farming:rice_2", {drop = {}})
minetest.override_item("farming:rice_3", {drop = {}})
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({
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

@ -1,130 +1,26 @@
local S = farming.intllib local S = core.get_translator("farming")
-- soy pod -- item/seed
minetest.register_craftitem("farming:soy_pod", {
core.register_craftitem("farming:soy_pod", {
description = S("Soy Pod"), description = S("Soy Pod"),
inventory_image = "farming_soy_pod.png", inventory_image = "farming_soy_pod.png",
groups = {seed = 2, food_soy_pod = 1, flammable = 2}, groups = {compostability = 48, seed = 2, food_soy = 1, food_soy_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:soy_1") return farming.place_seed(itemstack, placer, pointed_thing, "farming:soy_1")
end end
}) })
minetest.register_craftitem("farming:soy_beans", { -- replacement for soy beans that was removed
description = S("Soy Beans"),
inventory_image = "farming_soy_beans.png",
groups = {food_soy = 1, flammable = 2},
on_use = minetest.item_eat(1)
})
minetest.register_craft({ core.register_alias("farming:soy_beans", "farming:soy_pod")
output = "farming:soy_beans",
recipe = {{"farming:soy_pod"}}
})
-- soy sauce
minetest.register_node("farming:soy_sauce", {
description = S("Soy Sauce"),
drawtype = "plantlike",
tiles = {"farming_soy_sauce.png"},
inventory_image = "farming_soy_sauce.png",
wield_image = "farming_soy_sauce.png",
paramtype = "light",
walkable = false,
selection_box = {
type = "fixed",
fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3}
},
groups = {
vessel = 1, food_soy_sauce = 1, dig_immediate = 3, attached_node = 1
},
sounds = default.node_sound_glass_defaults()
})
-- soy sauce recipe
minetest.register_craft( {
output = "farming:soy_sauce",
recipe = {
{"group:food_soy", "group:food_salt", "group:food_soy"},
{"", "group:food_juicer", ""},
{"", "bucket:bucket_water", "vessels:glass_bottle"}
},
replacements = {
{"bucket:bucket_water", "bucket:bucket_empty"},
{"group:food_juicer", "farming:juicer"}
}
})
-- soy milk
minetest.register_node("farming:soy_milk", {
description = S("Soy Milk"),
drawtype = "plantlike",
tiles = {"farming_soy_milk_glass.png"},
inventory_image = "farming_soy_milk_glass.png",
wield_image = "farming_soy_milk_glass.png",
paramtype = "light",
walkable = false,
selection_box = {
type = "fixed",
fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3}
},
on_use = minetest.item_eat(2, "vessels:drinking_glass"),
groups = {
vessel = 1, food_milk_glass = 1, dig_immediate = 3,
attached_node = 1, drink = 1
},
sounds = default.node_sound_glass_defaults()
})
minetest.register_craft( {
output = "farming:soy_milk",
recipe = {
{"group:food_soy", "group:food_soy", "group:food_soy"},
{"farming:vanilla_extract", "bucket:bucket_water", "vessels:drinking_glass"}
},
replacements = {
{"bucket:bucket_water", "bucket:bucket_empty"},
{"farming:vanilla_extract", "vessels:glass_bottle"}
}
})
-- tofu
minetest.register_craftitem("farming:tofu", {
description = S("Tofu"),
inventory_image = "farming_tofu.png",
groups = {food_tofu = 1, food_meat_raw = 1, flammable = 2},
on_use = minetest.item_eat(3)
})
minetest.register_craft({
output = "farming:tofu",
recipe = {
{"farming:baking_tray", "group:food_soy", "group:food_soy"},
{"group:food_soy", "group:food_soy", "group:food_soy"}
},
replacements = {{"farming:baking_tray", "farming:baking_tray"}}
})
-- cooked tofu
minetest.register_craftitem("farming:tofu_cooked", {
description = S("Cooked Tofu"),
inventory_image = "farming_tofu_cooked.png",
groups = {food_meat = 1, flammable = 2},
on_use = minetest.item_eat(6)
})
minetest.register_craft({
type = "cooking",
output = "farming:tofu_cooked",
recipe = "farming:tofu",
cooktime = 5
})
-- crop definition -- crop definition
local def = { local def = {
description = S("Soy") .. S(" Crop"),
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_soy_1.png"}, tiles = {"farming_soy_1.png"},
paramtype = "light", paramtype = "light",
@ -137,62 +33,71 @@ local def = {
drop = "", drop = "",
selection_box = farming.select, selection_box = farming.select,
groups = { groups = {
snappy = 3, flammable = 2, plant = 1, attached_node = 1, handy = 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() _mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
sounds = farming.node_sound_leaves_defaults()
} }
-- stage 1 -- stage 1
minetest.register_node("farming:soy_1", table.copy(def))
core.register_node("farming:soy_1", table.copy(def))
-- stage 2 -- stage 2
def.tiles = {"farming_soy_2.png"} def.tiles = {"farming_soy_2.png"}
minetest.register_node("farming:soy_2", table.copy(def)) core.register_node("farming:soy_2", table.copy(def))
-- stage 3 -- stage 3
def.tiles = {"farming_soy_3.png"} def.tiles = {"farming_soy_3.png"}
minetest.register_node("farming:soy_3", table.copy(def)) core.register_node("farming:soy_3", table.copy(def))
-- stage 4 -- stage 4
def.tiles = {"farming_soy_4.png"} def.tiles = {"farming_soy_4.png"}
minetest.register_node("farming:soy_4", table.copy(def)) core.register_node("farming:soy_4", table.copy(def))
-- stage 5 -- stage 5
def.tiles = {"farming_soy_5.png"} def.tiles = {"farming_soy_5.png"}
def.drop = { def.drop = {
max_items = 1, items = { items = {
{items = {"farming:soy_pod"}, rarity = 1}, {items = {"farming:soy_pod"}, rarity = 2}
} }
} }
minetest.register_node("farming:soy_5", table.copy(def)) core.register_node("farming:soy_5", table.copy(def))
-- stage 6 -- stage 6
def.tiles = {"farming_soy_6.png"} def.tiles = {"farming_soy_6.png"}
def.drop = { def.drop = {
max_items = 3, items = { items = {
{items = {"farming:soy_pod"}, rarity = 1}, {items = {"farming:soy_pod"}, rarity = 1},
{items = {"farming:soy_pod"}, rarity = 2}, {items = {"farming:soy_pod"}, rarity = 3}
{items = {"farming:soy_pod"}, rarity = 3},
} }
} }
minetest.register_node("farming:soy_6", table.copy(def)) core.register_node("farming:soy_6", table.copy(def))
-- stage 7 (final)
-- stage 7
def.tiles = {"farming_soy_7.png"} def.tiles = {"farming_soy_7.png"}
def.groups.growing = nil def.groups.growing = nil
def.selection_box = farming.select_final
def.drop = { def.drop = {
max_items = 5, items = { items = {
{items = {"farming:soy_pod"}, rarity = 1}, {items = {"farming:soy_pod 2"}, rarity = 1},
{items = {"farming:soy_pod"}, rarity = 2}, {items = {"farming:soy_pod"}, rarity = 2},
{items = {"farming:soy_pod"}, rarity = 3}, {items = {"farming:soy_pod"}, rarity = 3},
{items = {"farming:soy_pod"}, rarity = 4}, {items = {"farming:soy_pod"}, rarity = 4}
{items = {"farming:soy_pod"}, rarity = 5}
} }
} }
minetest.register_node("farming:soy_7", table.copy(def)) core.register_node("farming:soy_7", table.copy(def))
-- add to registered_plants -- add to registered_plants
farming.registered_plants["farming:soy_pod"] = { farming.registered_plants["farming:soy_pod"] = {
crop = "farming:soy", crop = "farming:soy",
seed = "farming:soy_pod", seed = "farming:soy_pod",
@ -200,3 +105,25 @@ farming.registered_plants["farming:soy_pod"] = {
maxlight = farming.max_light, maxlight = farming.max_light,
steps = 7 steps = 7
} }
-- mapgen
core.register_decoration({
deco_type = "simple",
place_on = {
"default:dirt_with_grass", "default:dirt_with_dry_grass",
"default:dirt_with_rainforest_litter", "default:dry_dirt_with_dry_grass",
"mcl_core:dirt_with_grass", "ethereal:prairie_dirt"
},
sidelen = 16,
noise_params = {
offset = 0,
scale = farming.soy,
spread = {x = 100, y = 100, z = 100},
seed = 809,
octaves = 3,
persist = 0.6
},
y_min = 20, y_max = 50,
decoration = "farming:soy_6"
})

103
crops/spinach.lua Normal file
View File

@ -0,0 +1,103 @@
local S = core.get_translator("farming")
-- item/seed
core.register_craftitem("farming:spinach", {
description = S("Spinach"),
inventory_image = "farming_spinach.png",
groups = {compostability = 48, seed = 2, food_spinach = 1},
on_use = core.item_eat(1),
on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "farming:spinach_1")
end
})
farming.add_eatable("farming:spinach", 1)
-- crop definition
local def = {
description = S("Spinach") .. S(" Crop"),
drawtype = "plantlike",
tiles = {"farming_spinach_1.png"},
paramtype = "light",
sunlight_propagates = true,
waving = 1,
walkable = false,
buildable_to = true,
drop = "",
selection_box = farming.select,
groups = {
handy = 1, snappy = 3, flammable = 2, plant = 1, attached_node = 1,
not_in_creative_inventory = 1, growing = 1
},
_mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
sounds = farming.node_sound_leaves_defaults()
}
-- stage 1
core.register_node("farming:spinach_1", table.copy(def))
-- stage 2
def.tiles = {"farming_spinach_2.png"}
core.register_node("farming:spinach_2", table.copy(def))
-- stage 3
def.tiles = {"farming_spinach_3.png"}
def.drop = {
items = {
{items = {"farming:spinach"}, rarity = 1},
{items = {"farming:spinach"}, rarity = 3}
}
}
core.register_node("farming:spinach_3", table.copy(def))
-- stage 4
def.tiles = {"farming_spinach_4.png"}
def.groups.growing = nil
def.selection_box = farming.select_final
def.drop = {
items = {
{items = {"farming:spinach 2"}, rarity = 1},
{items = {"farming:spinach"}, rarity = 2},
{items = {"farming:spinach"}, rarity = 3},
{items = {"farming:spinach"}, rarity = 4}
}
}
core.register_node("farming:spinach_4", table.copy(def))
-- add to registered_plants
farming.registered_plants["farming:spinach"] = {
crop = "farming:spinach",
seed = "farming:spinach",
minlight = 7,
maxlight = farming.max_light,
steps = 4
}
-- mapgen
core.register_decoration({
deco_type = "simple",
place_on = {"default:dirt_with_grass", "mcl_core:dirt_with_grass"},
sidelen = 16,
noise_params = {
offset = 0,
scale = farming.spinach,
spread = {x = 100, y = 100, z = 100},
seed = 910,
octaves = 3,
persist = 0.6
},
y_min = 1, y_max = 100,
decoration = "farming:spinach_3",
param2 = 3
})

127
crops/strawberry.lua Normal file
View File

@ -0,0 +1,127 @@
local S = core.get_translator("farming")
-- item/seed
core.register_craftitem(":ethereal:strawberry", {
description = S("Strawberry"),
inventory_image = "ethereal_strawberry.png",
groups = {compostability = 48, seed = 2, food_strawberry = 1, food_berry = 1},
on_use = core.item_eat(1),
on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "ethereal:strawberry_1")
end,
})
farming.add_eatable("ethereal:strawberry", 1)
-- crop definition
local def = {
description = S("Strawberry") .. S(" Crop"),
drawtype = "plantlike",
tiles = {"ethereal_strawberry_1.png"},
paramtype = "light",
sunlight_propagates = true,
waving = 1,
walkable = false,
buildable_to = true,
drop = "",
selection_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}
},
groups = {
handy = 1, snappy = 3, flammable = 2, plant = 1, attached_node = 1,
not_in_creative_inventory = 1, growing = 1
},
_mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
sounds = farming.node_sound_leaves_defaults()
}
--stage 1
core.register_node(":ethereal:strawberry_1", table.copy(def))
-- stage 2
def.tiles = {"ethereal_strawberry_2.png"}
core.register_node(":ethereal:strawberry_2", table.copy(def))
-- stage 3
def.tiles = {"ethereal_strawberry_3.png"}
core.register_node(":ethereal:strawberry_3", table.copy(def))
-- stage 4
def.tiles = {"ethereal_strawberry_4.png"}
core.register_node(":ethereal:strawberry_4", table.copy(def))
-- stage 5
def.tiles = {"ethereal_strawberry_5.png"}
core.register_node(":ethereal:strawberry_5", table.copy(def))
-- stage 6
def.tiles = {"ethereal_strawberry_6.png"}
core.register_node(":ethereal:strawberry_6", table.copy(def))
-- stage 7
def.tiles = {"ethereal_strawberry_7.png"}
def.drop = {
items = {
{items = {"ethereal:strawberry"}, rarity = 1},
{items = {"ethereal:strawberry"}, rarity = 3}
}
}
core.register_node(":ethereal:strawberry_7", table.copy(def))
-- stage 8 (final)
def.tiles = {"ethereal_strawberry_8.png"}
def.groups.growing = nil
def.selection_box = farming.select_final
def.drop = {
items = {
{items = {"ethereal:strawberry 2"}, rarity = 1},
{items = {"ethereal:strawberry"}, rarity = 2},
{items = {"ethereal:strawberry"}, rarity = 3},
{items = {"ethereal:strawberry"}, rarity = 4},
}
}
core.register_node(":ethereal:strawberry_8", table.copy(def))
-- add to registered_plants
farming.registered_plants["ethereal:strawberry"] = {
crop = "ethereal:strawberry",
seed = "ethereal:strawberry",
minlight = farming.min_light,
maxlight = farming.max_light,
steps = 8
}
-- mapgen
core.register_decoration({
deco_type = "simple",
place_on = {
"default:dirt_with_grass", "mcl_core:dirt_with_grass", "ethereal:prairie_dirt"
},
sidelen = 16,
noise_params = {
offset = 0,
scale = farming.strawberry,
spread = {x = 100, y = 100, z = 100},
seed = 143,
octaves = 3,
persist = 0.6
},
y_min = 15, y_max = 55,
decoration = "ethereal:strawberry_7"
})

View File

@ -1,101 +1,57 @@
local S = farming.intllib
-- sunflower local S = core.get_translator("farming")
minetest.register_craftitem("farming:sunflower", {
-- seed
core.register_node("farming:seed_sunflower", {
description = S("Sunflower Seeds"),
tiles = {"farming_sunflower_seeds.png"},
inventory_image = "farming_sunflower_seeds.png",
wield_image = "farming_sunflower_seeds.png",
drawtype = "signlike",
groups = {
compostability = 48, seed = 1, snappy = 3, attached_node = 1, growing = 1,
handy = 1, food_sunflower_seeds = 1, flammable = 2
},
_mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
paramtype = "light",
paramtype2 = "wallmounted",
walkable = false,
sunlight_propagates = true,
selection_box = farming.select,
next_plant = "farming:sunflower_1",
on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "farming:seed_sunflower")
end,
on_timer = function(pos, elapsed)
core.set_node(pos, {name = "farming:sunflower_1", param2 = 1})
end
})
core.register_alias("farming:sunflower_seeds", "farming:seed_sunflower")
-- item
core.register_craftitem("farming:sunflower", {
description = S("Sunflower"), description = S("Sunflower"),
inventory_image = "farming_sunflower.png", inventory_image = "farming_sunflower.png",
groups = {flammable = 2} groups = {flammable = 2}
}) })
-- sunflower seeds -- turn item into seeds
minetest.register_craftitem("farming:seed_sunflower", {
description = S("Sunflower Seeds"),
inventory_image = "farming_sunflower_seeds.png",
groups = {seed = 2, food_sunflower_seeds = 1, flammable = 2},
on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "farming:sunflower_1")
end
})
minetest.register_alias("farming:sunflower_seeds", "farming:seed_sunflower") core.register_craft({
minetest.register_craft({
output = "farming:seed_sunflower 5", output = "farming:seed_sunflower 5",
recipe = {{"farming:sunflower"}} recipe = {{"farming:sunflower"}}
}) })
-- sunflower seeds (toasted) -- crop definition
minetest.register_craftitem("farming:sunflower_seeds_toasted", {
description = S("Toasted Sunflower Seeds"),
inventory_image = "farming_sunflower_seeds_toasted.png",
groups = {food_sunflower_seeds_toasted = 1, flammable = 2},
on_use = minetest.item_eat(1)
})
minetest.register_craft({
type = "cooking",
cooktime = 10,
output = "farming:sunflower_seeds_toasted",
recipe = "farming:seed_sunflower"
})
-- sunflower oil
minetest.register_node("farming:sunflower_oil", {
description = S("Bottle of Sunflower Oil"),
drawtype = "plantlike",
tiles = {"farming_sunflower_oil.png"},
inventory_image = "farming_sunflower_oil.png",
wield_image = "farming_sunflower_oil.png",
paramtype = "light",
is_ground_content = false,
walkable = false,
selection_box = {
type = "fixed",
fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25}
},
groups = {
food_oil = 1, vessel = 1, dig_immediate = 3, attached_node = 1,
flammable = 2
},
sounds = default.node_sound_glass_defaults()
})
minetest.register_craft( {
output = "farming:sunflower_oil",
recipe = {
{"group:food_sunflower_seeds", "group:food_sunflower_seeds", "group:food_sunflower_seeds"},
{"group:food_sunflower_seeds", "group:food_sunflower_seeds", "group:food_sunflower_seeds"},
{"group:food_sunflower_seeds", "vessels:glass_bottle", "group:food_sunflower_seeds"}
}
})
minetest.register_craft({
type = "fuel",
recipe = "farming:sunflower_oil",
burntime = 30,
replacements = {{"farming:sunflower_oil", "vessels:glass_bottle"}}
})
-- sunflower seed bread
minetest.register_craftitem("farming:sunflower_bread", {
description = S("Sunflower Seed Bread"),
inventory_image = "farming_sunflower_bread.png",
on_use = minetest.item_eat(8),
groups = {food_bread = 1, flammable = 2}
})
minetest.register_craftitem("farming:sunflower_bread", {
description = S("Sunflower Bread"),
inventory_image = "farming_sunflower_bread.png"
})
minetest.register_craft({
output = "farming:sunflower_bread",
recipe = {{"group:food_sunflower_seeds_toasted", "group:food_bread", "group:food_sunflower_seeds_toasted"}}
})
-- sunflower definition
local def = { local def = {
description = S("Sunflower") .. S(" Crop"),
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_sunflower_1.png"}, tiles = {"farming_sunflower_1.png"},
paramtype = "light", paramtype = "light",
@ -103,54 +59,67 @@ local def = {
walkable = false, walkable = false,
buildable_to = true, buildable_to = true,
drop = "", drop = "",
waving = 1,
selection_box = farming.select, selection_box = farming.select,
groups = { groups = {
snappy = 3, flammable = 2, plant = 1, attached_node = 1, handy = 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() _mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
sounds = farming.node_sound_leaves_defaults()
} }
-- stage 1 -- stage 1
minetest.register_node("farming:sunflower_1", table.copy(def))
core.register_node("farming:sunflower_1", table.copy(def))
-- stage 2 -- stage 2
def.tiles = {"farming_sunflower_2.png"} def.tiles = {"farming_sunflower_2.png"}
minetest.register_node("farming:sunflower_2", table.copy(def)) core.register_node("farming:sunflower_2", table.copy(def))
-- stage 3 -- stage 3
def.tiles = {"farming_sunflower_3.png"} def.tiles = {"farming_sunflower_3.png"}
minetest.register_node("farming:sunflower_3", table.copy(def)) core.register_node("farming:sunflower_3", table.copy(def))
-- stage 4 -- stage 4
def.tiles = {"farming_sunflower_4.png"} def.tiles = {"farming_sunflower_4.png"}
minetest.register_node("farming:sunflower_4", table.copy(def)) core.register_node("farming:sunflower_4", table.copy(def))
-- stage 5 -- stage 5
def.tiles = {"farming_sunflower_5.png"} def.tiles = {"farming_sunflower_5.png"}
minetest.register_node("farming:sunflower_5", table.copy(def)) core.register_node("farming:sunflower_5", table.copy(def))
-- stage 6 -- stage 6
def.tiles = {"farming_sunflower_6.png"} def.tiles = {"farming_sunflower_6.png"}
def.visual_scale = 1.9 def.visual_scale = 1.9
minetest.register_node("farming:sunflower_6", table.copy(def)) core.register_node("farming:sunflower_6", table.copy(def))
-- stage 7 -- stage 7
def.tiles = {"farming_sunflower_7.png"} def.tiles = {"farming_sunflower_7.png"}
minetest.register_node("farming:sunflower_7", table.copy(def)) core.register_node("farming:sunflower_7", table.copy(def))
-- stage 8 (final) -- stage 8 (final)
def.tiles = {"farming_sunflower_8.png"} def.tiles = {"farming_sunflower_8.png"}
def.groups.growing = nil def.groups.growing = nil
def.selection_box = farming.select_final
def.drop = { def.drop = {
items = { items = {
{items = {"farming:sunflower"}, rarity = 1}, {items = {"farming:sunflower"}, rarity = 1},
{items = {"farming:sunflower"}, rarity = 6} {items = {"farming:sunflower"}, rarity = 6}
} }
} }
minetest.register_node("farming:sunflower_8", table.copy(def)) core.register_node("farming:sunflower_8", table.copy(def))
-- add to registered_plants -- add to registered_plants
farming.registered_plants["farming:sunflower"] = { farming.registered_plants["farming:sunflower"] = {
crop = "farming:sunflower", crop = "farming:sunflower",
seed = "farming:seed_sunflower", seed = "farming:seed_sunflower",
@ -158,3 +127,23 @@ farming.registered_plants["farming:sunflower"] = {
maxlight = farming.max_light, maxlight = farming.max_light,
steps = 8 steps = 8
} }
-- mapgen
core.register_decoration({
deco_type = "simple",
place_on = {
"default:dirt_with_grass", "mcl_core:dirt_with_grass", "ethereal:prairie_dirt"
},
sidelen = 16,
noise_params = {
offset = 0,
scale = farming.sunflower,
spread = {x = 100, y = 100, z = 100},
seed = 254,
octaves = 3,
persist = 0.6
},
y_min = 10, y_max = 40,
decoration = "farming:sunflower_8"
})

View File

@ -4,38 +4,27 @@
http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/1288375-food-plus-mod-more-food-than-you-can-imagine-v2-9) http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/1288375-food-plus-mod-more-food-than-you-can-imagine-v2-9)
]] ]]
local S = farming.intllib local S = core.get_translator("farming")
-- tomato -- item/seed
minetest.register_craftitem("farming:tomato", {
core.register_craftitem("farming:tomato", {
description = S("Tomato"), description = S("Tomato"),
inventory_image = "farming_tomato.png", inventory_image = "farming_tomato.png",
groups = {seed = 2, food_tomato = 1, flammable = 2}, groups = {compostability = 45, seed = 2, food_tomato = 1},
on_use = core.item_eat(4),
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)
}) })
-- tomato soup farming.add_eatable("farming:tomato", 4)
minetest.register_craftitem("farming:tomato_soup", {
description = S("Tomato Soup"),
inventory_image = "farming_tomato_soup.png",
groups = {flammable = 2},
on_use = minetest.item_eat(8, "farming:bowl")
})
minetest.register_craft({ -- crop definition
output = "farming:tomato_soup",
recipe = {
{"group:food_tomato"},
{"group:food_tomato"},
{"group:food_bowl"}
}
})
-- tomato definition
local def = { local def = {
description = S("Tomato") .. S(" Crop"),
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_tomato_1.png"}, tiles = {"farming_tomato_1.png"},
paramtype = "light", paramtype = "light",
@ -43,38 +32,48 @@ local def = {
walkable = false, walkable = false,
buildable_to = true, buildable_to = true,
drop = "", drop = "",
waving = 1,
selection_box = farming.select, selection_box = farming.select,
groups = { groups = {
snappy = 3, flammable = 2, plant = 1, attached_node = 1, handy = 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() _mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
sounds = farming.node_sound_leaves_defaults()
} }
-- stage 1 -- stage 1
minetest.register_node("farming:tomato_1", table.copy(def))
core.register_node("farming:tomato_1", table.copy(def))
-- stage2 -- stage2
def.tiles = {"farming_tomato_2.png"} def.tiles = {"farming_tomato_2.png"}
minetest.register_node("farming:tomato_2", table.copy(def)) core.register_node("farming:tomato_2", table.copy(def))
-- stage 3 -- stage 3
def.tiles = {"farming_tomato_3.png"} def.tiles = {"farming_tomato_3.png"}
minetest.register_node("farming:tomato_3", table.copy(def)) core.register_node("farming:tomato_3", table.copy(def))
-- stage 4 -- stage 4
def.tiles = {"farming_tomato_4.png"} def.tiles = {"farming_tomato_4.png"}
minetest.register_node("farming:tomato_4", table.copy(def)) core.register_node("farming:tomato_4", table.copy(def))
-- stage 5 -- stage 5
def.tiles = {"farming_tomato_5.png"} def.tiles = {"farming_tomato_5.png"}
minetest.register_node("farming:tomato_5", table.copy(def)) core.register_node("farming:tomato_5", table.copy(def))
-- stage 6 -- stage 6
def.tiles = {"farming_tomato_6.png"} def.tiles = {"farming_tomato_6.png"}
minetest.register_node("farming:tomato_6", table.copy(def)) core.register_node("farming:tomato_6", table.copy(def))
-- stage 7 -- stage 7
def.tiles = {"farming_tomato_7.png"} def.tiles = {"farming_tomato_7.png"}
def.drop = { def.drop = {
items = { items = {
@ -82,21 +81,25 @@ def.drop = {
{items = {"farming:tomato"}, rarity = 3} {items = {"farming:tomato"}, rarity = 3}
} }
} }
minetest.register_node("farming:tomato_7", table.copy(def)) core.register_node("farming:tomato_7", table.copy(def))
-- stage 8 (final) -- stage 8 (final)
def.tiles = {"farming_tomato_8.png"} def.tiles = {"farming_tomato_8.png"}
def.groups.growing = nil def.groups.growing = nil
def.selection_box = farming.select_final
def.drop = { def.drop = {
items = { items = {
{items = {"farming:tomato 3"}, rarity = 1}, {items = {"farming:tomato 2"}, rarity = 1},
{items = {"farming:tomato 2"}, rarity = 2}, {items = {"farming:tomato"}, rarity = 2},
{items = {"farming:tomato 1"}, rarity = 3} {items = {"farming:tomato"}, rarity = 3},
{items = {"farming:tomato"}, rarity = 4}
} }
} }
minetest.register_node("farming:tomato_8", table.copy(def)) core.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"] = {
crop = "farming:tomato", crop = "farming:tomato",
seed = "farming:tomato", seed = "farming:tomato",
@ -104,3 +107,23 @@ farming.registered_plants["farming:tomato"] = {
maxlight = farming.max_light, maxlight = farming.max_light,
steps = 8 steps = 8
} }
-- mapgen
core.register_decoration({
deco_type = "simple",
place_on = {
"default:dirt_with_grass", "mcl_core:dirt_with_grass", "ethereal:prairie_dirt"
},
sidelen = 16,
noise_params = {
offset = 0,
scale = farming.tomato,
spread = {x = 100, y = 100, z = 100},
seed = 365,
octaves = 3,
persist = 0.6
},
y_min = 5, y_max = 25,
decoration = "farming:tomato_7"
})

View File

@ -1,18 +1,25 @@
local S = farming.intllib
-- vanilla local S = core.get_translator("farming")
minetest.register_craftitem("farming:vanilla", {
-- item/seed
core.register_craftitem("farming:vanilla", {
description = S("Vanilla"), description = S("Vanilla"),
inventory_image = "farming_vanilla.png", inventory_image = "farming_vanilla.png",
groups = {seed = 2, food_vanilla = 1, flammable = 2}, groups = {compostability = 48, seed = 2, food_vanilla = 1},
on_use = core.item_eat(1),
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "farming:vanilla_1") return farming.place_seed(itemstack, placer, pointed_thing, "farming:vanilla_1")
end, end
on_use = minetest.item_eat(1)
}) })
farming.add_eatable("farming:vanilla", 1)
-- crop definition -- crop definition
local def = { local def = {
description = S("Vanilla") .. S(" Crop"),
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_vanilla_1.png"}, tiles = {"farming_vanilla_1.png"},
paramtype = "light", paramtype = "light",
@ -20,99 +27,75 @@ local def = {
walkable = false, walkable = false,
buildable_to = true, buildable_to = true,
drop = "", drop = "",
waving = 1,
selection_box = farming.select, selection_box = farming.select,
groups = { groups = {
snappy = 3, flammable = 2, plant = 1, attached_node = 1, handy = 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() _mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
sounds = farming.node_sound_leaves_defaults()
} }
-- vanilla extract
minetest.register_node("farming:vanilla_extract", {
description = S("Vanilla Extract"),
drawtype = "plantlike",
tiles = {"farming_vanilla_extract.png"},
inventory_image = "farming_vanilla_extract.png",
wield_image = "farming_vanilla_extract.png",
paramtype = "light",
is_ground_content = false,
walkable = false,
selection_box = {
type = "fixed",
fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25}
},
groups = {vessel = 1, dig_immediate = 3, attached_node = 1},
sounds = default.node_sound_glass_defaults(),
})
minetest.register_craft( {
output = "farming:vanilla_extract",
recipe = {
{"group:food_vanilla", "group:food_vanilla", "group:food_vanilla"},
{"group:food_vanilla", "farming:bottle_ethanol", "bucket:bucket_water"},
},
replacements = {
{"bucket:bucket_water", "bucket:bucket_empty"},
}
})
minetest.register_craft({
type = "fuel",
recipe = "farming:vanilla_extract",
burntime = 25,
replacements = {{"farming:vanilla_extract", "vessels:glass_bottle"}}
})
-- stage 1 -- stage 1
minetest.register_node("farming:vanilla_1", table.copy(def))
core.register_node("farming:vanilla_1", table.copy(def))
-- stage 2 -- stage 2
def.tiles = {"farming_vanilla_2.png"} def.tiles = {"farming_vanilla_2.png"}
minetest.register_node("farming:vanilla_2", table.copy(def)) core.register_node("farming:vanilla_2", table.copy(def))
-- stage 3 -- stage 3
def.tiles = {"farming_vanilla_3.png"} def.tiles = {"farming_vanilla_3.png"}
minetest.register_node("farming:vanilla_3", table.copy(def)) core.register_node("farming:vanilla_3", table.copy(def))
-- stage 4 -- stage 4
def.tiles = {"farming_vanilla_4.png"} def.tiles = {"farming_vanilla_4.png"}
minetest.register_node("farming:vanilla_4", table.copy(def)) core.register_node("farming:vanilla_4", table.copy(def))
-- stage 5 -- stage 5
def.tiles = {"farming_vanilla_5.png"} def.tiles = {"farming_vanilla_5.png"}
minetest.register_node("farming:vanilla_5", table.copy(def)) core.register_node("farming:vanilla_5", table.copy(def))
-- stage 6 -- stage 6
def.tiles = {"farming_vanilla_6.png"} def.tiles = {"farming_vanilla_6.png"}
def.visual_scale = 1.9 def.visual_scale = 1.9
minetest.register_node("farming:vanilla_6", table.copy(def)) core.register_node("farming:vanilla_6", table.copy(def))
-- stage 7 -- stage 7
def.tiles = {"farming_vanilla_7.png"} def.tiles = {"farming_vanilla_7.png"}
def.drop = { def.drop = {
items = { items = {
{items = {"farming:vanilla"}, rarity = 1}, {items = {"farming:vanilla"}, rarity = 1},
{items = {"farming:vanilla"}, rarity = 2},
{items = {"farming:vanilla"}, rarity = 3} {items = {"farming:vanilla"}, rarity = 3}
} }
} }
minetest.register_node("farming:vanilla_7", table.copy(def)) core.register_node("farming:vanilla_7", table.copy(def))
-- stage 8 (final) -- stage 8 (final)
def.tiles = {"farming_vanilla_8.png"} def.tiles = {"farming_vanilla_8.png"}
def.groups.growing = nil def.groups.growing = nil
def.selection_box = farming.select_final
def.drop = { def.drop = {
items = { items = {
{items = {"farming:vanilla 2"}, rarity = 1}, {items = {"farming:vanilla 2"}, rarity = 1},
{items = {"farming:vanilla 2"}, rarity = 2}, {items = {"farming:vanilla"}, rarity = 2},
{items = {"farming:vanilla 2"}, rarity = 2}, {items = {"farming:vanilla"}, rarity = 3},
{items = {"farming:vanilla 2"}, rarity = 3} {items = {"farming:vanilla"}, rarity = 4}
} }
} }
minetest.register_node("farming:vanilla_8", table.copy(def)) core.register_node("farming:vanilla_8", table.copy(def))
-- add to registered_plants -- add to registered_plants
farming.registered_plants["farming:vanilla"] = { farming.registered_plants["farming:vanilla"] = {
crop = "farming:vanilla", crop = "farming:vanilla",
seed = "farming:vanilla", seed = "farming:vanilla",
@ -120,3 +103,23 @@ farming.registered_plants["farming:vanilla"] = {
maxlight = farming.max_light, maxlight = farming.max_light,
steps = 8 steps = 8
} }
-- mapgen
core.register_decoration({
deco_type = "simple",
place_on = {
"default:dirt_with_grass", "mcl_core:dirt_with_grass", "ethereal:grove_dirt"
},
sidelen = 16,
noise_params = {
offset = 0,
scale = farming.vanilla,
spread = {x = 100, y = 100, z = 100},
seed = 476,
octaves = 3,
persist = 0.6
},
y_min = 5, y_max = 35,
decoration = "farming:vanilla_7"
})

View File

@ -1,154 +1,47 @@
local S = farming.intllib local S = core.get_translator("farming")
-- wheat seeds -- seed
minetest.register_node("farming:seed_wheat", {
core.register_node("farming:seed_wheat", {
description = S("Wheat Seed"), description = S("Wheat Seed"),
tiles = {"farming_wheat_seed.png"}, tiles = {"farming_wheat_seed.png"},
inventory_image = "farming_wheat_seed.png", inventory_image = "farming_wheat_seed.png",
wield_image = "farming_wheat_seed.png", wield_image = "farming_wheat_seed.png",
drawtype = "signlike", drawtype = "signlike",
groups = {seed = 1, snappy = 3, attached_node = 1, flammable = 4}, groups = {
handy = 1, seed = 1, snappy = 3, attached_node = 1, flammable = 4, growing = 1
},
_mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
paramtype = "light", paramtype = "light",
paramtype2 = "wallmounted", paramtype2 = "wallmounted",
walkable = false, walkable = false,
sunlight_propagates = true, sunlight_propagates = true,
selection_box = farming.select, selection_box = farming.select,
next_plant = "farming:wheat_1",
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:seed_wheat")
end,
on_timer = function(pos, elapsed)
core.set_node(pos, {name = "farming:wheat_1", param2 = 3})
end end
}) })
-- harvested wheat -- item
minetest.register_craftitem("farming:wheat", {
core.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 -- crop definition
minetest.register_node("farming:straw", {
description = S("Straw"),
tiles = {"farming_straw.png"},
is_ground_content = false,
groups = {snappy = 3, flammable = 4, fall_damage_add_percent = -30},
sounds = default.node_sound_leaves_defaults()
})
minetest.register_craft({
output = "farming:straw 3",
recipe = {
{"farming:wheat", "farming:wheat", "farming:wheat"},
{"farming:wheat", "farming:wheat", "farming:wheat"},
{"farming:wheat", "farming:wheat", "farming:wheat"}
}
})
minetest.register_craft({
output = "farming:wheat 3",
recipe = {{"farming:straw"}}
})
-- check and register stairs
if minetest.global_exists("stairs") then
if stairs.mod and stairs.mod == "redo" then
stairs.register_all("straw", "farming:straw",
{snappy = 3, flammable = 4},
{"farming_straw.png"},
"Straw",
default.node_sound_leaves_defaults())
else
stairs.register_stair_and_slab("straw", "farming:straw",
{snappy = 3, flammable = 4},
{"farming_straw.png"},
"Straw Stair",
"Straw Slab",
default.node_sound_leaves_defaults())
end
end
-- flour
minetest.register_craftitem("farming:flour", {
description = S("Flour"),
inventory_image = "farming_flour.png",
groups = {food_flour = 1, flammable = 1}
})
minetest.register_craft({
output = "farming:flour",
recipe = {
{"farming:wheat", "farming:wheat", "farming:wheat"},
{"farming:wheat", "farming:mortar_pestle", ""}
},
replacements = {{"group:food_mortar_pestle", "farming:mortar_pestle"}}
})
-- bread
minetest.register_craftitem("farming:bread", {
description = S("Bread"),
inventory_image = "farming_bread.png",
on_use = minetest.item_eat(5),
groups = {food_bread = 1, flammable = 2}
})
minetest.register_craft({
type = "cooking",
cooktime = 15,
output = "farming:bread",
recipe = "farming:flour"
})
-- sliced bread
minetest.register_craftitem("farming:bread_slice", {
description = S("Sliced Bread"),
inventory_image = "farming_bread_slice.png",
on_use = minetest.item_eat(1),
groups = {food_bread_slice = 1, flammable = 2}
})
minetest.register_craft({
output = "farming:bread_slice 5",
recipe = {{"group:food_cutting_board", "farming:bread"}},
replacements = {{"group:food_cutting_board", "farming:cutting_board"}}
})
-- toast
minetest.register_craftitem("farming:toast", {
description = S("Toast"),
inventory_image = "farming_toast.png",
on_use = minetest.item_eat(1),
groups = {food_toast = 1, flammable = 2}
})
minetest.register_craft({
type = "cooking",
cooktime = 3,
output = "farming:toast",
recipe = "farming:bread_slice"
})
-- toast sandwich
minetest.register_craftitem("farming:toast_sandwich", {
description = S("Toast Sandwich"),
inventory_image = "farming_toast_sandwich.png",
on_use = minetest.item_eat(4),
groups = {flammable = 2}
})
minetest.register_craft({
output = "farming:toast_sandwich",
recipe = {
{"farming:bread_slice"},
{"farming:toast"},
{"farming:bread_slice"}
}
})
-- wheat definition
local def = { local def = {
description = S("Wheat") .. S(" Crop"),
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"farming_wheat_1.png"}, tiles = {"farming_wheat_1.png"},
paramtype = "light", paramtype = "light",
@ -158,75 +51,80 @@ local def = {
walkable = false, walkable = false,
buildable_to = true, buildable_to = true,
drop = "", drop = "",
waving = 1,
selection_box = farming.select, selection_box = farming.select,
groups = { groups = {
snappy = 3, flammable = 4, plant = 1, attached_node = 1, snappy = 3, flammable = 4, 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() _mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
sounds = farming.node_sound_leaves_defaults()
} }
-- stage 1 -- stage 1
minetest.register_node("farming:wheat_1", table.copy(def))
core.register_node("farming:wheat_1", table.copy(def))
-- stage 2 -- stage 2
def.tiles = {"farming_wheat_2.png"} def.tiles = {"farming_wheat_2.png"}
minetest.register_node("farming:wheat_2", table.copy(def)) core.register_node("farming:wheat_2", table.copy(def))
-- stage 3 -- stage 3
def.tiles = {"farming_wheat_3.png"} def.tiles = {"farming_wheat_3.png"}
minetest.register_node("farming:wheat_3", table.copy(def)) core.register_node("farming:wheat_3", table.copy(def))
-- stage 4 -- stage 4
def.tiles = {"farming_wheat_4.png"} def.tiles = {"farming_wheat_4.png"}
minetest.register_node("farming:wheat_4", table.copy(def)) core.register_node("farming:wheat_4", table.copy(def))
-- stage 5 -- stage 5
def.tiles = {"farming_wheat_5.png"} def.tiles = {"farming_wheat_5.png"}
core.register_node("farming:wheat_5", table.copy(def))
-- stage 6
def.tiles = {"farming_wheat_6.png"}
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(def)) core.register_node("farming:wheat_6", table.copy(def))
-- stage 6 -- stage 7
def.tiles = {"farming_wheat_6.png"}
def.tiles = {"farming_wheat_7.png"}
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(def)) core.register_node("farming:wheat_7", table.copy(def))
-- stage 7
def.tiles = {"farming_wheat_7.png"}
def.drop = {
items = {
{items = {"farming:wheat"}, rarity = 1},
{items = {"farming:wheat"}, rarity = 3},
{items = {"farming:seed_wheat"}, rarity = 1},
{items = {"farming:seed_wheat"}, rarity = 3}
}
}
minetest.register_node("farming:wheat_7", table.copy(def))
-- stage 8 (final) -- stage 8 (final)
def.tiles = {"farming_wheat_8.png"} def.tiles = {"farming_wheat_8.png"}
def.groups.growing = nil def.groups.growing = nil
def.selection_box = farming.select_final
def.drop = { def.drop = {
items = { items = {
{items = {"farming:wheat"}, rarity = 1}, {items = {"farming:wheat 2"}, rarity = 1},
{items = {"farming:wheat"}, rarity = 3}, {items = {"farming:wheat"}, rarity = 2},
{items = {"farming:seed_wheat"}, rarity = 1}, {items = {"farming:seed_wheat 2"}, rarity = 1},
{items = {"farming:seed_wheat"}, rarity = 3} {items = {"farming:seed_wheat"}, rarity = 2}
} }
} }
minetest.register_node("farming:wheat_8", table.copy(def)) core.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"] = {
crop = "farming:wheat", crop = "farming:wheat",
seed = "farming:seed_wheat", seed = "farming:seed_wheat",
@ -234,16 +132,3 @@ farming.registered_plants["farming:wheat"] = {
maxlight = farming.max_light, maxlight = farming.max_light,
steps = 8 steps = 8
} }
-- fuels
minetest.register_craft({
type = "fuel",
recipe = "farming:straw",
burntime = 3
})
minetest.register_craft({
type = "fuel",
recipe = "farming:wheat",
burntime = 1
})

View File

@ -1,5 +0,0 @@
default
stairs?
intllib?
lucky_block?
toolranks?

View File

@ -1 +0,0 @@
Adds many plants and food to Minetest

View File

@ -6,42 +6,46 @@
--]] --]]
-- true to enable crop/food in-game and on mapgen set spawn rarety -- true to enable crop/food in-game and on mapgen set spawn rarety
farming.carrot = 0.001 farming.asparagus = 0.002
farming.potato = 0.001 farming.eggplant = 0.002
farming.tomato = 0.001 farming.spinach = 0.002
farming.cucumber = 0.001 farming.carrot = 0.002
farming.corn = 0.001 farming.potato = 0.002
farming.coffee = 0.001 farming.tomato = 0.002
farming.melon = 0.001 farming.cucumber = 0.002
farming.pumpkin = 0.001 farming.corn = 0.002
farming.coffee = 0.002
farming.melon = 0.009
farming.pumpkin = 0.009
farming.cocoa = true -- true or false only farming.cocoa = true -- true or false only
farming.raspberry = 0.001 farming.raspberry = 0.002
farming.blueberry = 0.001 farming.blueberry = 0.002
farming.rhubarb = 0.001 farming.rhubarb = 0.002
farming.beans = 0.001 farming.beans = 0.002
farming.grapes = 0.001 farming.grapes = 0.002
farming.barley = true -- true or false only farming.barley = true -- true or false only
farming.chili = 0.003 farming.chili = 0.003
farming.hemp = 0.003 farming.hemp = 0.003
farming.garlic = 0.001 farming.garlic = 0.002
farming.onion = 0.001 farming.onion = 0.002
farming.pepper = 0.002 farming.pepper = 0.002
farming.pineapple = 0.001 farming.pineapple = 0.003
farming.peas = 0.001 farming.peas = 0.002
farming.beetroot = 0.001 farming.beetroot = 0.002
farming.mint = 0.005 farming.mint = 0.005
farming.cabbage = 0.001 farming.cabbage = 0.002
farming.blackberry = 0.002 farming.blackberry = 0.002
farming.lettuce = 0.001 farming.lettuce = 0.002
farming.soy = 0.001 farming.soy = 0.002
farming.vanilla = 0.001 farming.vanilla = 0.002
farming.artichoke = 0.001 farming.artichoke = 0.002
farming.parsley = 0.002 farming.parsley = 0.002
farming.sunflower = 0.001 farming.sunflower = 0.002
farming.ginger = 0.002
farming.cotton = 0.003
farming.strawberry = 0.002
farming.grains = true -- true or false only farming.grains = true -- true or false only
farming.rice = true
-- default rarety of crops on map (higher number = more crops)
farming.rarety = 0.002
-- default minimum and maximum light levels crops need to grow -- default minimum and maximum light levels crops need to grow
farming.min_light = 12 farming.min_light = 12

694
food.lua
View File

@ -1,694 +0,0 @@
local S = farming.intllib
--= filter sea water into river water
minetest.register_craft({
output = "bucket:bucket_river_water",
recipe = {
{"farming:hemp_fibre"},
{"farming:hemp_fibre"},
{"bucket:bucket_water"}
}
})
--= glass of water
minetest.register_craftitem("farming:glass_water", {
description = S("Glass of Water"),
inventory_image = "farming_water_glass.png",
groups = {food_water_glass = 1, flammable = 3, vessel = 1}
})
minetest.register_craft({
output = "farming:glass_water 4",
recipe = {
{"vessels:drinking_glass", "vessels:drinking_glass"},
{"vessels:drinking_glass", "vessels:drinking_glass"},
{"bucket:bucket_river_water", ""}
},
replacements = {{"bucket:bucket_river_water", "bucket:bucket_empty"}}
})
minetest.register_craft({
output = "farming:glass_water 4",
recipe = {
{"vessels:drinking_glass", "vessels:drinking_glass"},
{"vessels:drinking_glass", "vessels:drinking_glass"},
{"bucket:bucket_water", "farming:hemp_fibre"}
},
replacements = {{"bucket:bucket_water", "bucket:bucket_empty"}}
})
--= Sugar
minetest.register_craftitem("farming:sugar", {
description = S("Sugar"),
inventory_image = "farming_sugar.png",
groups = {food_sugar = 1, flammable = 3}
})
minetest.register_craft({
type = "cooking",
cooktime = 3,
output = "farming:sugar 2",
recipe = "default:papyrus"
})
--= Sugar caramel
minetest.register_craftitem("farming:caramel", {
description = S("Caramel"),
inventory_image = "farming_caramel.png",
})
minetest.register_craft({
type = "cooking",
cooktime = 6,
output = "farming:caramel",
recipe = "group:food_sugar",
})
--= Salt
minetest.register_node("farming:salt", {
description = S("Salt"),
inventory_image = "farming_salt.png",
wield_image = "farming_salt.png",
drawtype = "plantlike",
visual_scale = 0.8,
paramtype = "light",
tiles = {"farming_salt.png"},
groups = {food_salt = 1, vessel = 1, dig_immediate = 3,
attached_node = 1},
sounds = default.node_sound_defaults(),
selection_box = {
type = "fixed",
fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25}
},
-- special function to make salt crystals form inside water
dropped_step = function(self, pos, dtime)
self.ctimer = (self.ctimer or 0) + dtime
if self.ctimer < 15.0 then return end
self.ctimer = 0
local needed
if self.node_inside
and self.node_inside.name == "default:water_source" then
needed = 8
elseif self.node_inside
and self.node_inside.name == "default:river_water_source" then
needed = 9
end
if not needed then return end
local objs = core.get_objects_inside_radius(pos, 0.5)
if not objs or #objs ~= 1 then return end
local salt, ent = nil, nil
for k, obj in pairs(objs) do
ent = obj:get_luaentity()
if ent and ent.name == "__builtin:item"
and ent.itemstring == "farming:salt " .. needed then
obj:remove()
core.add_item(pos, "farming:salt_crystal")
return false -- return with no further action
end
end
end
})
minetest.register_craft({
type = "cooking",
cooktime = 15,
output = "farming:salt",
recipe = "bucket:bucket_water",
replacements = {{"bucket:bucket_water", "bucket:bucket_empty"}}
})
--= Salt Crystal
minetest.register_node("farming:salt_crystal", {
description = ("Salt crystal"),
inventory_image = "farming_salt_crystal.png",
wield_image = "farming_salt_crystal.png",
drawtype = "plantlike",
visual_scale = 0.8,
paramtype = "light",
light_source = 1,
tiles = {"farming_salt_crystal.png"},
groups = { dig_immediate = 3, attached_node = 1},
sounds = default.node_sound_defaults(),
selection_box = {
type = "fixed",
fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25}
},
})
minetest.register_craft({
-- type = "shapeless",
output = "farming:salt 9",
recipe = {
{"farming:salt_crystal", "farming:mortar_pestle"}
},
replacements = {{"farming:mortar_pestle", "farming:mortar_pestle"}}
})
minetest.register_craft({
output = "farming:salt_crystal",
recipe = {
{"farming:salt", "farming:salt", "farming:salt"},
{"farming:salt", "farming:salt", "farming:salt"},
{"farming:salt", "farming:salt", "farming:salt"}
}
})
--= Rose Water
minetest.register_node("farming:rose_water", {
description = S("Rose Water"),
inventory_image = "farming_rose_water.png",
wield_image = "farming_rose_water.png",
drawtype = "plantlike",
visual_scale = 0.8,
paramtype = "light",
tiles = {"farming_rose_water.png"},
groups = {food_rose_water = 1, vessel = 1, dig_immediate = 3,
attached_node = 1},
sounds = default.node_sound_defaults(),
selection_box = {
type = "fixed",
fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25}
}
})
minetest.register_craft({
output = "farming:rose_water",
recipe = {
{"flowers:rose", "flowers:rose", "flowers:rose"},
{"flowers:rose", "flowers:rose", "flowers:rose"},
{"group:water_bucket", "group:food_pot", "vessels:glass_bottle"}
},
replacements = {
{"group:water_bucket", "bucket:bucket_empty"},
{"group:food_pot", "farming:pot"}
}
})
if minetest.get_modpath("bucket_wooden") then
minetest.register_craft({
output = "farming:rose_water",
recipe = {
{"flowers:rose", "flowers:rose", "flowers:rose"},
{"flowers:rose", "flowers:rose", "flowers:rose"},
{"group:water_bucket_wooden", "group:food_pot", "vessels:glass_bottle"}
},
replacements = {
{"group:water_bucket_wooden", "bucket_wooden:bucket_empty"},
{"group:food_pot", "farming:pot"}
}
})
end
--= Turkish Delight
minetest.register_craftitem("farming:turkish_delight", {
description = S("Turkish Delight"),
inventory_image = "farming_turkish_delight.png",
groups = {flammable = 3},
on_use = minetest.item_eat(2)
})
minetest.register_craft({
output = "farming:turkish_delight 4",
recipe = {
{"group:food_gelatin", "group:food_sugar", "group:food_gelatin"},
{"group:food_sugar", "group:food_rose_water", "group:food_sugar"},
{"group:food_sugar", "dye:pink", "group:food_sugar"}
},
replacements = {
{"group:food_cornstarch", "farming:bowl"},
{"group:food_rose_water", "vessels:glass_bottle"}
}
})
--= Garlic Bread
minetest.register_craftitem("farming:garlic_bread", {
description = S("Garlic Bread"),
inventory_image = "farming_garlic_bread.png",
groups = {flammable = 3},
on_use = minetest.item_eat(2)
})
minetest.register_craft({
-- type = "shapeless",
output = "farming:garlic_bread",
recipe = {
{"group:food_toast", "group:food_garlic_clove", "group:food_garlic_clove"}
}
})
--= Donuts (thanks to Bockwurst for making the donut images)
minetest.register_craftitem("farming:donut", {
description = S("Donut"),
inventory_image = "farming_donut.png",
on_use = minetest.item_eat(4)
})
minetest.register_craft({
output = "farming:donut 3",
recipe = {
{"", "group:food_wheat", ""},
{"group:food_wheat", "group:food_sugar", "group:food_wheat"},
{"", "group:food_wheat", ""}
}
})
minetest.register_craftitem("farming:donut_chocolate", {
description = S("Chocolate Donut"),
inventory_image = "farming_donut_chocolate.png",
on_use = minetest.item_eat(6)
})
minetest.register_craft({
output = "farming:donut_chocolate",
recipe = {
{"group:food_cocoa"},
{"farming:donut"}
}
})
minetest.register_craftitem("farming:donut_apple", {
description = S("Apple Donut"),
inventory_image = "farming_donut_apple.png",
on_use = minetest.item_eat(6)
})
minetest.register_craft({
output = "farming:donut_apple",
recipe = {
{"default:apple"},
{"farming:donut"}
}
})
--= Porridge Oats
minetest.register_craftitem("farming:porridge", {
description = S("Porridge"),
inventory_image = "farming_porridge.png",
on_use = minetest.item_eat(6, "farming:bowl")
})
minetest.register_craft({
-- type = "shapeless",
output = "farming:porridge",
recipe = {
{"group:food_oats", "group:food_oats", "group:food_oats"},
{"group:food_oats", "group:food_bowl", "group:food_milk_glass"}
},
replacements = {
{"mobs:glass_milk", "vessels:drinking_glass"},
{"farming:soy_milk", "vessels:drinking_glass"}
}
})
--= 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",
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",
recipe = {
{"default:cactus"},
{"farming:juicer"},
{"vessels:drinking_glass"}
},
replacements = {
{"group:food_juicer", "farming:juicer"}
}
})
-- Pasta
minetest.register_craftitem("farming:pasta", {
description = S("Pasta"),
inventory_image = "farming_pasta.png",
groups = {food_pasta = 1}
})
minetest.register_craft({
output = "farming:pasta",
recipe = {
{"group:food_flour", "group:food_butter", "group:food_mixing_bowl"}
},
replacements = {{"group:food_mixing_bowl", "farming:mixing_bowl"}}
})
minetest.register_craft({
output = "farming:pasta",
recipe = {
{"group:food_flour", "group:food_oil", "group:food_mixing_bowl"}
},
replacements = {
{"group:food_mixing_bowl", "farming:mixing_bowl"},
{"group:food_oil", "vessels:glass_bottle"}
}
})
-- 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",
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")
})
minetest.register_craft({
output = "farming:bibimbap",
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"}}
})
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"}}
})
-- Burger
minetest.register_craftitem("farming:burger", {
description = S("Burger"),
inventory_image = "farming_burger.png",
on_use = minetest.item_eat(16),
})
minetest.register_craft({
output = "farming:burger",
recipe = {
{"farming:bread", "group:food_meat", "group:food_cheese"},
{"group:food_tomato", "group:food_cucumber", "group:food_onion"},
{"group:food_lettuce", "", ""}
}
})
-- Salad
minetest.register_craftitem("farming:salad", {
description = S("Salad"),
inventory_image = "farming_salad.png",
on_use = minetest.item_eat(8, "farming:bowl")
})
minetest.register_craft({
output = "farming:salad",
type = "shapeless",
recipe = {
"group:food_bowl", "group:food_tomato", "group:food_cucumber",
"group:food_lettuce", "group:food_oil"
}
})
-- Triple Berry Smoothie
minetest.register_craftitem("farming:smoothie_berry", {
description = S("Triple Berry Smoothie"),
inventory_image = "farming_berry_smoothie.png",
on_use = minetest.item_eat(6, "vessels:drinking_glass"),
groups = {vessel = 1, drink = 1}
})
minetest.register_craft({
output = "farming:smoothie_berry",
type = "shapeless",
recipe = {
"group:food_raspberries", "group:food_blackberries",
"group:food_strawberry", "group:food_banana",
"vessels:drinking_glass"
}
})
-- Patatas a la importancia
minetest.register_craftitem("farming:spanish_potatoes", {
description = S("Spanish Potatoes"),
inventory_image = "farming_spanish_potatoes.png",
on_use = minetest.item_eat(8, "farming:bowl"),
})
minetest.register_craft({
type = "shapeless",
output = "farming:spanish_potatoes",
recipe = {
"farming:potato", "group:food_parsley", "farming:potato",
"group:food_egg", "group:food_flour", "farming:onion",
"farming:garlic_clove", "group:food_bowl", "group:food_skillet"
},
replacements = {{"group:food_skillet", "farming:skillet"}}
})
-- Potato omelet
minetest.register_craftitem("farming:potato_omelet", {
description = S("Potato omelet"),
inventory_image = "farming_potato_omelet.png",
on_use = minetest.item_eat(6, "farming:bowl")
})
minetest.register_craft({
type = "shapeless",
output = "farming:potato_omelet",
recipe = {
"group:food_egg", "farming:potato", "group:food_onion",
"group:food_skillet", "group:food_bowl"},
replacements = {{"group:food_skillet", "farming:skillet"}}
})
-- Paella
minetest.register_craftitem("farming:paella", {
description = S("Paella"),
inventory_image = "farming_paella.png",
on_use = minetest.item_eat(8, "farming:bowl")
})
minetest.register_craft({
type = "shapeless",
output = "farming:paella",
recipe = {
"group:food_rice", "dye:orange", "farming:pepper_red",
"group:food_peas", "group:food_chicken", "group:food_bowl", "group:food_skillet"
},
replacements = {{"group:food_skillet", "farming:skillet"}}
})
-- Flan
minetest.register_craftitem("farming:flan", {
description = S("Vanilla Flan"),
inventory_image = "farming_vanilla_flan.png",
on_use = minetest.item_eat(6)
})
minetest.register_craft({
output = "farming:flan",
recipe = {
{"group:food_sugar", "group:food_milk", "farming:caramel"},
{"group:food_egg", "group:food_egg", "farming:vanilla_extract"}
},
replacements = {
{"cucina_vegana:soy_milk", "vessels:drinking_glass"},
{"group:food_milk", "bucket:bucket_empty"},
{"farming:vanilla_extract", "vessels:glass_bottle"}
}
})
-- Vegan Cheese
minetest.register_craftitem("farming:cheese_vegan", {
description = S("Vegan Cheese"),
inventory_image = "farming_cheese_vegan.png",
on_use = minetest.item_eat(2),
groups = {food_cheese = 1, flammable = 2}
})
minetest.register_craft({
output = "farming:cheese_vegan",
recipe = {
{"farming:soy_milk", "farming:soy_milk", "farming:soy_milk"},
{"group:food_salt", "group:food_peppercorn", "farming:bottle_ethanol"},
{"group:food_gelatin", "group:food_pot", ""}
},
replacements = {
{"farming:soy_milk", "vessels:drinking_glass 3"},
{"farming:pot", "farming:pot"},
{"farming:bottle_ethanol", "vessels:glass_bottle"}
}
})
minetest.register_craft({
output = "farming:cheese_vegan",
recipe = {
{"farming:soy_milk", "farming:soy_milk", "farming:soy_milk"},
{"group:food_salt", "group:food_peppercorn", "group:food_lemon"},
{"group:food_gelatin", "group:food_pot", ""}
},
replacements = {
{"farming:soy_milk", "vessels:drinking_glass 3"},
{"farming:pot", "farming:pot"}
}
})
-- Onigiri
minetest.register_craftitem("farming:onigiri", {
description = S("Onirigi"),
inventory_image = "farming_onigiri.png",
on_use = minetest.item_eat(2),
groups = {flammable = 2}
})
minetest.register_craft({
output = "farming:onigiri",
recipe = {
{"group:food_rice", "group:food_salt", "group:food_rice"},
{"", "group:food_seaweed", ""}
}
})
-- Gyoza
minetest.register_craftitem("farming:gyoza", {
description = S("Gyoza"),
inventory_image = "farming_gyoza.png",
on_use = minetest.item_eat(4),
groups = {flammable = 2}
})
minetest.register_craft({
output = "farming:gyoza 4",
recipe = {
{"group:food_cabbage", "group:food_garlic_clove", "group:food_onion"},
{"group:food_meat_raw", "group:food_salt", "group:food_flour"},
{"", "group:food_skillet", ""}
},
replacements = {
{"group:food_skillet", "farming:skillet"}
}
})
-- Mochi
minetest.register_craftitem("farming:mochi", {
description = S("Mochi"),
inventory_image = "farming_mochi.png",
on_use = minetest.item_eat(3),
groups = {flammable = 2}
})
minetest.register_craft({
output = "farming:mochi",
recipe = {
{"group:food_rice", "group:food_sugar", "group:food_rice"},
{"", "group:food_mortar_pestle", ""},
{"", "farming:glass_water", ""}
},
replacements = {
{"group:food_mortar_pestle", "farming:mortar_pestle"},
{"farming:glass_water", "vessels:drinking_glass"}
}
})

View File

@ -1,46 +1,76 @@
for i = 4, 5 do -- Override grass to drop wheat and oat seeds
-- Override default grass and have it drop Wheat and Oat Seeds local rarity_lookup = {[1] = 50, [2] = 50, [3] = 50, [4] = 5, [5] = 5}
minetest.override_item("default:grass_" .. i, { if core.registered_nodes["default:grass_1"] then
for i = 1, 5 do
core.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 = rarity_lookup[i]},
{items = {"farming:seed_oat"},rarity = 5}, {items = {"farming:seed_oat"},rarity = rarity_lookup[i]},
{items = {"default:grass_1"}} {items = {"default:grass_1"}}
} }
} }
}) })
end
end
-- Override default dry grass and have it drop Barley and Rye Seeds -- override dry grass to drop barley and rye seeds
if minetest.registered_nodes["default:dry_grass_1"] then if core.registered_nodes["default:dry_grass_1"] then
minetest.override_item("default:dry_grass_" .. i, { for i = 1, 5 do
core.override_item("default:dry_grass_" .. i, {
drop = { drop = {
max_items = 1, max_items = 1,
items = { items = {
{items = {"farming:seed_barley"}, rarity = 5}, {items = {"farming:seed_barley"}, rarity = rarity_lookup[i]},
{items = {"farming:seed_rye"},rarity = 5}, {items = {"farming:seed_rye"}, rarity = rarity_lookup[i]},
{items = {"default:dry_grass_1"}} {items = {"default:dry_grass_1"}}
} }
} }
}) })
end end
end end
-- Override default Jungle Grass and have it drop Cotton and Rice Seeds -- override jungle grass to drop cotton and rice seeds
minetest.override_item("default:junglegrass", { if core.registered_nodes["default:junglegrass"] then
core.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 = {"farming:seed_rice"},rarity = 8}, {items = {"farming:seed_rice"}, rarity = 8},
{items = {"default:junglegrass"}} {items = {"default:junglegrass"}}
} }
} }
}) })
end
-- override mineclone tallgrass to drop all sof the above seeds
if farming.mcl then
core.override_item("mcl_flowers:tallgrass", {
drop = {
max_items = 1,
items = {
{items = {"mcl_farming:wheat_seeds"}, rarity = 5},
{items = {"farming:seed_oat"},rarity = 5},
{items = {"farming:seed_barley"}, rarity = 5},
{items = {"farming:seed_rye"},rarity = 5},
{items = {"farming:seed_cotton"}, rarity = 8},
{items = {"farming:seed_rice"},rarity = 8}
}
}
})
end

363
hoes.lua
View File

@ -1,52 +1,47 @@
local S = farming.intllib -- translation and mod check
local tr = minetest.get_modpath("toolranks")
local S = core.get_translator("farming")
local mod_tr = core.get_modpath("toolranks")
-- Hoe registration function -- Hoe registration function
farming.register_hoe = function(name, def) farming.register_hoe = function(name, def)
-- Check for : prefix (register new hoes in your mod's namespace) -- Check for : prefix (register new hoes in your mod's namespace)
if name:sub(1,1) ~= ":" then if name:sub(1,1) ~= ":" then name = ":" .. name end
name = ":" .. name
end
-- Check def table -- Check def table
if def.description == nil then if def.description == nil then def.description = S("Hoe") end
def.description = S("Hoe")
end
if def.inventory_image == nil then if def.inventory_image == nil then def.inventory_image = "unknown_item.png" end
def.inventory_image = "unknown_item.png"
end
if def.max_uses == nil then if def.max_uses == nil then def.max_uses = 30 end
def.max_uses = 30
end
-- add hoe group -- add hoe group
def.groups = def.groups or {} def.groups = def.groups or {}
def.groups.hoe = 1 def.groups.hoe = 1
-- Register the tool -- Register the tool
minetest.register_tool(name, { core.register_tool(name, {
description = def.description, description = def.description,
inventory_image = def.inventory_image, inventory_image = def.inventory_image,
groups = def.groups,
sound = {breaks = "default_tool_breaks"},
damage_groups = def.damage_groups or {fleshy = 1},
on_use = function(itemstack, user, pointed_thing) on_use = function(itemstack, user, pointed_thing)
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,
sound = {breaks = "default_tool_breaks"}
}) })
-- Register its recipe -- Register its recipe
if def.recipe then if def.recipe then
minetest.register_craft({ core.register_craft({ output = name:sub(2), recipe = def.recipe })
output = name:sub(2),
recipe = def.recipe
})
elseif def.material then elseif def.material then
minetest.register_craft({
core.register_craft({
output = name:sub(2), output = name:sub(2),
recipe = { recipe = {
{def.material, def.material, ""}, {def.material, def.material, ""},
@ -61,77 +56,87 @@ end
function farming.hoe_on_use(itemstack, user, pointed_thing, uses) function farming.hoe_on_use(itemstack, user, pointed_thing, uses)
local pt = pointed_thing local pt = pointed_thing or {}
local is_used = false
-- am I going to hoe the top of a dirt node? -- am I going to hoe the top of a dirt node?
if not pt or pt.type ~= "node" if pt.type == "node" and pt.above.y == pt.under.y + 1 then
or pt.above.y ~= pt.under.y + 1 then
return
end
local under = minetest.get_node(pt.under) local under = core.get_node(pt.under)
local upos = pointed_thing.under local upos = pointed_thing.under
if minetest.is_protected(upos, user:get_player_name()) then if core.is_protected(upos, user:get_player_name()) then
minetest.record_protection_violation(upos, user:get_player_name()) core.record_protection_violation(upos, user:get_player_name())
return return
end end
local p = {x = pt.under.x, y = pt.under.y + 1, z = pt.under.z} local p = {x = pt.under.x, y = pt.under.y + 1, z = pt.under.z}
local above = minetest.get_node(p) local above = core.get_node(p)
-- return if any of the nodes is not registered -- return if any of the nodes is not registered
if not minetest.registered_nodes[under.name] if not core.registered_nodes[under.name]
or not minetest.registered_nodes[above.name] then or not core.registered_nodes[above.name] then return end
return
end
-- check if the node above the pointed thing is air -- check if the node above the pointed thing is air
if above.name ~= "air" then if above.name ~= "air" then return end
return
end
-- check if pointing at dirt -- check if pointing at dirt
if minetest.get_item_group(under.name, "soil") ~= 1 then if core.get_item_group(under.name, "soil") ~= 1 then return end
return
end
-- check if (wet) soil defined -- check if (wet) soil defined
local ndef = minetest.registered_nodes[under.name] local ndef = core.registered_nodes[under.name]
if ndef.soil == nil or ndef.soil.wet == nil or ndef.soil.dry == nil then if ndef.soil == nil or ndef.soil.wet == nil or ndef.soil.dry == nil then
return return
end end
if minetest.is_protected(pt.under, user:get_player_name()) then if core.is_protected(pt.under, user:get_player_name()) then
minetest.record_protection_violation(pt.under, user:get_player_name()) core.record_protection_violation(pt.under, user:get_player_name())
return return
end 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 = ndef.soil.dry}) core.set_node(pt.under, {name = ndef.soil.dry}) ; is_used = true
minetest.sound_play("default_dig_crumbly", {pos = pt.under, gain = 0.5}) core.sound_play("default_dig_crumbly", {pos = pt.under, gain = 0.5}, true)
end
local wdef = itemstack:get_definition() local wdef = itemstack:get_definition()
local wear = 65535 / (uses - 1) local wear = 65535 / (uses - 1)
if farming.is_creative(user:get_player_name()) then -- using hoe as weapon
if tr then if pt.type == "object" then
wear = 1
else local ent = pt.ref and pt.ref:get_luaentity()
wear = 0 local dir = user:get_look_dir()
if (ent and ent.name ~= "__builtin:item"
and ent.name ~= "__builtin:falling_node") or pt.ref:is_player() then
pt.ref:punch(user, nil, {full_punch_interval = 1.0,
damage_groups = wdef.damage_groups}, dir)
is_used = true
end end
end end
if tr then -- only when used on soil top or external entity
if is_used then
-- cretive doesnt wear tools but toolranks registers uses with wear so set to 1
if farming.is_creative(user:get_player_name()) then
if mod_tr then wear = 1 else wear = 0 end
end
if mod_tr then
itemstack = toolranks.new_afteruse(itemstack, user, under, {wear = wear}) itemstack = toolranks.new_afteruse(itemstack, user, under, {wear = wear})
else else
itemstack:add_wear(wear) itemstack:add_wear(wear)
end end
if itemstack:get_count() == 0 and wdef.sound and wdef.sound.breaks then if itemstack:get_count() == 0 and wdef.sound and wdef.sound.breaks then
minetest.sound_play(wdef.sound.breaks, {pos = pt.above, core.sound_play(wdef.sound.breaks, {pos = pt.above, gain = 0.5}, true)
gain = 0.5}, true) end
end end
return itemstack return itemstack
@ -146,7 +151,7 @@ farming.register_hoe(":farming:hoe_wood", {
material = "group:wood" material = "group:wood"
}) })
minetest.register_craft({ core.register_craft({
type = "fuel", type = "fuel",
recipe = "farming:hoe_wood", recipe = "farming:hoe_wood",
burntime = 5 burntime = 5
@ -163,14 +168,17 @@ farming.register_hoe(":farming:hoe_steel", {
description = S("Steel Hoe"), description = S("Steel Hoe"),
inventory_image = "farming_tool_steelhoe.png", inventory_image = "farming_tool_steelhoe.png",
max_uses = 200, max_uses = 200,
material = "default:steel_ingot" material = "default:steel_ingot",
damage_groups = {fleshy = 2}
}) })
farming.register_hoe(":farming:hoe_bronze", { 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 = 250,
groups = {not_in_creative_inventory = 1} groups = {not_in_creative_inventory = 1},
material = "default:bronze_ingot",
damage_groups = {fleshy = 2}
}) })
farming.register_hoe(":farming:hoe_mese", { farming.register_hoe(":farming:hoe_mese", {
@ -178,85 +186,91 @@ farming.register_hoe(":farming:hoe_mese", {
inventory_image = "farming_tool_mesehoe.png", inventory_image = "farming_tool_mesehoe.png",
max_uses = 350, max_uses = 350,
groups = {not_in_creative_inventory = 1}, groups = {not_in_creative_inventory = 1},
damage_groups = {fleshy = 3}
}) })
farming.register_hoe(":farming:hoe_diamond", { 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},
damage_groups = {fleshy = 3}
}) })
-- Toolranks support -- Toolranks support
if tr then
minetest.override_item("farming:hoe_wood", { if mod_tr then
original_description = "Wood Hoe",
description = toolranks.create_description("Wood Hoe")})
minetest.override_item("farming:hoe_stone", { core.override_item("farming:hoe_wood", {
original_description = "Stone Hoe", original_description = S("Wood Hoe"),
description = toolranks.create_description("Stone Hoe")}) description = toolranks.create_description(S("Wood Hoe"))})
minetest.override_item("farming:hoe_steel", { core.override_item("farming:hoe_stone", {
original_description = "Steel Hoe", original_description = S("Stone Hoe"),
description = toolranks.create_description("Steel Hoe")}) description = toolranks.create_description(S("Stone Hoe"))})
minetest.override_item("farming:hoe_bronze", { core.override_item("farming:hoe_steel", {
original_description = "Bronze Hoe", original_description = S("Steel Hoe"),
description = toolranks.create_description("Bronze Hoe")}) description = toolranks.create_description(S("Steel Hoe"))})
minetest.override_item("farming:hoe_mese", { core.override_item("farming:hoe_bronze", {
original_description = "Mese Hoe", original_description = S("Bronze Hoe"),
description = toolranks.create_description("Mese Hoe")}) description = toolranks.create_description(S("Bronze Hoe"))})
minetest.override_item("farming:hoe_diamond", { core.override_item("farming:hoe_mese", {
original_description = "Diamond Hoe", original_description = S("Mese Hoe"),
description = toolranks.create_description("Diamond Hoe")}) description = toolranks.create_description(S("Mese Hoe"))})
core.override_item("farming:hoe_diamond", {
original_description = S("Diamond Hoe"),
description = toolranks.create_description(S("Diamond Hoe"))})
end end
-- hoe bomb function -- hoe bomb function
local function hoe_area(pos, player) local function hoe_area(pos, player)
-- check for protection -- check for protection
if minetest.is_protected(pos, player:get_player_name()) then if core.is_protected(pos, player:get_player_name()) then
minetest.record_protection_violation(pos, player:get_player_name()) core.record_protection_violation(pos, player:get_player_name())
return return
end end
local r = 5 -- radius local r = 5 -- radius
-- remove flora (grass, flowers etc.) -- remove flora (grass, flowers etc.)
local res = minetest.find_nodes_in_area( local res = core.find_nodes_in_area(
{x = pos.x - r, y = pos.y - 1, z = pos.z - r}, {x = pos.x - r, y = pos.y - 1, z = pos.z - r},
{x = pos.x + r, y = pos.y + 2, z = pos.z + r}, {x = pos.x + r, y = pos.y + 2, z = pos.z + r},
{"group:flora"}) {"group:flora", "group:grass", "group:dry_grass", "default:dry_shrub"})
for n = 1, #res do for n = 1, #res do
minetest.swap_node(res[n], {name = "air"}) core.swap_node(res[n], {name = "air"})
end end
-- replace dirt with tilled soil -- replace dirt with tilled soil
res = nil res = core.find_nodes_in_area_under_air(
res = minetest.find_nodes_in_area_under_air(
{x = pos.x - r, y = pos.y - 1, z = pos.z - r}, {x = pos.x - r, y = pos.y - 1, z = pos.z - r},
{x = pos.x + r, y = pos.y + 2, z = pos.z + r}, {x = pos.x + r, y = pos.y + 2, z = pos.z + r},
{"group:soil"}) {"group:soil", "ethereal:dry_dirt"})
for n = 1, #res do for n = 1, #res do
minetest.swap_node(res[n], {name = "farming:soil"}) core.swap_node(res[n], {name = "farming:soil"})
end end
end end
-- throwable hoe bomb entity
-- throwable hoe bomb core.register_entity("farming:hoebomb_entity", {
minetest.register_entity("farming:hoebomb_entity", {
initial_properties = {
physical = true, physical = true,
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.1,-0.1,-0.1,0.1,0.1,0.1}, collisionbox = {-0.1,-0.1,-0.1,0.1,0.1,0.1}
},
lastpos = {}, lastpos = {},
player = "", player = "",
@ -273,12 +287,10 @@ minetest.register_entity("farming:hoebomb_entity", {
if self.lastpos.x ~= nil then if self.lastpos.x ~= nil then
local vel = self.object:getvelocity() local vel = self.object:get_velocity()
-- only when potion hits something physical -- only when potion hits something physical
if vel.x == 0 if vel.x == 0 or vel.y == 0 or vel.z == 0 then
or vel.y == 0
or vel.z == 0 then
if self.player ~= "" then if self.player ~= "" then
@ -299,42 +311,34 @@ minetest.register_entity("farming:hoebomb_entity", {
end end
}) })
-- actual throwing function -- actual throwing function
local function throw_potion(itemstack, player) local function throw_potion(itemstack, player)
local playerpos = player:get_pos() local pos = player:get_pos()
local obj = minetest.add_entity({ local obj = core.add_entity({
x = playerpos.x, x = pos.x, y = pos.y + 1.5, z = pos.z}, "farming:hoebomb_entity")
y = playerpos.y + 1.5,
z = playerpos.z if not obj then return end
}, "farming:hoebomb_entity")
local dir = player:get_look_dir() local dir = player:get_look_dir()
local velocity = 20 local velocity = 20
obj:setvelocity({ obj:set_velocity({x = dir.x * velocity, y = dir.y * velocity, z = dir.z * velocity})
x = dir.x * velocity,
y = dir.y * velocity,
z = dir.z * velocity
})
obj:setacceleration({ obj:set_acceleration({x = dir.x * -3, y = -9.5, z = dir.z * -3})
x = dir.x * -3,
y = -9.5,
z = dir.z * -3
})
obj:get_luaentity().player = player obj:get_luaentity().player = player
end end
-- hoe bomb item -- hoe bomb item
minetest.register_craftitem("farming:hoe_bomb", {
core.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)
if pointed_thing.type == "node" then if pointed_thing.type == "node" then
@ -352,7 +356,21 @@ minetest.register_craftitem("farming:hoe_bomb", {
end, end,
}) })
-- Mithril Scythe (special item) -- helper function
local function node_not_num(nodename)
local num = #nodename:split("_")
local str = ""
if not num or num == 1 then return end
for v = 1, (num - 1) do
str = str .. nodename:split("_")[v] .. "_"
end
return str
end
farming.scythe_not_drops = {"farming:trellis", "farming:beanpole"} farming.scythe_not_drops = {"farming:trellis", "farming:beanpole"}
@ -360,62 +378,43 @@ farming.add_to_scythe_not_drops = function(item)
table.insert(farming.scythe_not_drops, item) table.insert(farming.scythe_not_drops, item)
end end
minetest.register_tool("farming:scythe_mithril", { -- Mithril Scythe (special item)
core.register_tool("farming:scythe_mithril", {
description = S("Mithril Scythe (Use to harvest and replant crops)"), description = S("Mithril Scythe (Use to harvest and replant crops)"),
inventory_image = "farming_scythe_mithril.png", inventory_image = "farming_scythe_mithril.png",
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"},
on_use = function(itemstack, placer, pointed_thing) on_use = function(itemstack, placer, pointed_thing)
if pointed_thing.type ~= "node" then if pointed_thing.type ~= "node" then return end
return
end
local pos = pointed_thing.under local pos = pointed_thing.under
local name = placer:get_player_name() local name = placer:get_player_name()
if minetest.is_protected(pos, name) then if core.is_protected(pos, name) then return end
local node = core.get_node_or_nil(pos)
if not node then return end
local def = core.registered_nodes[node.name]
if not def or not def.drop or not def.groups or not def.groups.plant then
return return
end end
local node = minetest.get_node_or_nil(pos) local drops = core.get_node_drops(node.name, "")
if not node then if not drops or #drops == 0 or (#drops == 1 and drops[1] == "") 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 return
end end
-- get crop name -- get crop name
local mname = node.name:split(":")[1] local mname = node.name:split(":")[1]
local pname = node.name:split(":")[2] local pname = node_not_num(node.name:split(":")[2])
local sname = tonumber(pname:split("_")[2])
pname = pname:split("_")[1]
if not sname then if not pname then return end
return
end
-- add dropped items -- add dropped items
for _, dropped_item in pairs(drops) do for _, dropped_item in pairs(drops) do
@ -430,15 +429,12 @@ minetest.register_tool("farming:scythe_mithril", {
if dropped_item then if dropped_item then
local obj = minetest.add_item(pos, dropped_item) local obj = core.add_item(pos, dropped_item)
if obj then if obj then
obj:set_velocity({ obj:set_velocity({
x = math.random(-10, 10) / 9, x = math.random() - 0.5, y = 3, z = math.random() - 0.5})
y = 3,
z = math.random(-10, 10) / 9
})
end end
end end
end end
@ -449,31 +445,34 @@ minetest.register_tool("farming:scythe_mithril", {
end end
-- play sound -- play sound
minetest.sound_play("default_grass_footstep", {pos = pos, gain = 1.0}) core.sound_play("default_grass_footstep", {pos = pos, gain = 1.0}, true)
local replace = mname .. ":" .. pname .. "_1" -- replace with seed or crop_1
local replace = mname .. ":" .. pname .. "1"
if minetest.registered_nodes[replace] then if core.registered_nodes[replace] then
local p2 = minetest.registered_nodes[replace].place_param2 or 1 local p2 = core.registered_nodes[replace].place_param2 or 1
minetest.set_node(pos, {name = replace, param2 = p2}) core.set_node(pos, {name = replace, param2 = p2})
else else
minetest.set_node(pos, {name = "air"}) core.set_node(pos, {name = "air"})
end end
if not farming.is_creative(name) then if not farming.is_creative(name) then
itemstack:add_wear(65535 / 150) -- 150 uses itemstack:add_wear(65535 / 350) -- 350 uses
return itemstack return itemstack
end end
end, end
}) })
if minetest.get_modpath("moreores") then -- if moreores found add mithril scythe recipe
minetest.register_craft({ if core.get_modpath("moreores") then
core.register_craft({
output = "farming:scythe_mithril", output = "farming:scythe_mithril",
recipe = { recipe = {
{"", "moreores:mithril_ingot", "moreores:mithril_ingot"}, {"", "moreores:mithril_ingot", "moreores:mithril_ingot"},
@ -481,34 +480,4 @@ if minetest.get_modpath("moreores") then
{"", "", "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 end

594
init.lua
View File

@ -1,53 +1,75 @@
--[[ --[[
Farming Redo Mod Farming Redo Mod by TenPlus1
by TenPlus1
NEW growing routine by prestidigitator NEW growing routine by prestidigitator
auto-refill by crabman77 auto-refill by crabman77
]] ]]
-- Translation support
local S = core.get_translator("farming")
-- global
farming = { farming = {
mod = "redo", mod = "redo",
version = "20210928", version = "20250626",
path = minetest.get_modpath("farming"), path = core.get_modpath("farming"),
select = { select = {type = "fixed", fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}},
type = "fixed", select_final = {type = "fixed", fixed = {-0.5, -0.5, -0.5, 0.5, -2.5/16, 0.5}},
fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}
},
registered_plants = {}, registered_plants = {},
min_light = 12, min_light = 12, max_light = 15,
max_light = 15 mapgen = core.get_mapgen_setting("mg_name"),
use_utensils = core.settings:get_bool("farming_use_utensils") ~= false,
mtg = core.get_modpath("default"),
eth = core.get_modpath("ethereal"),
mcl = core.get_modpath("mcl_core"),
mcl_hardness = 0.01,
translate = S
} }
-- determine which sounds to use, default or mcl_sounds
local creative_mode_cache = minetest.settings:get_bool("creative_mode") local function sound_helper(snd)
farming[snd] = (farming.mtg and default[snd]) or (farming.mcl and mcl_sounds[snd])
or function() return {} end
end
sound_helper("node_sound_defaults")
sound_helper("node_sound_stone_defaults")
sound_helper("node_sound_dirt_defaults")
sound_helper("node_sound_sand_defaults")
sound_helper("node_sound_gravel_defaults")
sound_helper("node_sound_wood_defaults")
sound_helper("node_sound_leaves_defaults")
sound_helper("node_sound_ice_defaults")
sound_helper("node_sound_metal_defaults")
sound_helper("node_sound_water_defaults")
sound_helper("node_sound_snow_defaults")
sound_helper("node_sound_glass_defaults")
-- check for creative mode or priv
local creative_mode_cache = core.settings:get_bool("creative_mode")
function farming.is_creative(name) function farming.is_creative(name)
return creative_mode_cache or minetest.check_player_privs(name, {creative = true}) return creative_mode_cache or core.check_player_privs(name, {creative = true})
end end
-- stats, locals, settings, function helper
local statistics = dofile(farming.path .. "/statistics.lua") local statistics = dofile(farming.path .. "/statistics.lua")
local random, floor = math.random, math.floor
-- Intllib local time_speed = tonumber(core.settings:get("time_speed")) or 72
local S = minetest.get_translator and minetest.get_translator("farming") or
dofile(farming.path .. "/intllib.lua")
farming.intllib = S
-- Utility Function
local time_speed = tonumber(minetest.settings:get("time_speed")) or 72
local SECS_PER_CYCLE = (time_speed > 0 and (24 * 60 * 60) / time_speed) or 0 local SECS_PER_CYCLE = (time_speed > 0 and (24 * 60 * 60) / time_speed) or 0
local function clamp(x, min, max) local function clamp(x, min, max) return (x < min and min) or (x > max and max) or x end
return (x < min and min) or (x > max and max) or x
end
-- return amount of day or night that has elapsed -- return amount of day or night that has elapsed
-- dt is time elapsed, count_day if true counts day, otherwise night -- dt is time elapsed, count_day if true counts day, otherwise night
local function day_or_night_time(dt, count_day) local function day_or_night_time(dt, count_day)
local t_day = minetest.get_timeofday() local t_day = core.get_timeofday()
local t1_day = t_day - dt / SECS_PER_CYCLE local t1_day = t_day - dt / SECS_PER_CYCLE
local t1_c, t2_c -- t1_c < t2_c and t2_c always in [0, 1) local t1_c, t2_c -- t1_c < t2_c and t2_c always in [0, 1)
@ -73,7 +95,9 @@ local function day_or_night_time(dt, count_day)
local dt_c = clamp(t2_c, 0, 0.5) - clamp(t1_c, 0, 0.5) -- this cycle local dt_c = clamp(t2_c, 0, 0.5) - clamp(t1_c, 0, 0.5) -- this cycle
if t1_c < -0.5 then if t1_c < -0.5 then
local nc = math.floor(-t1_c)
local nc = floor(-t1_c)
t1_c = t1_c + nc t1_c = t1_c + nc
dt_c = dt_c + 0.5 * nc + clamp(-t1_c - 0.5, 0, 0.5) dt_c = dt_c + 0.5 * nc + clamp(-t1_c - 0.5, 0, 0.5)
end end
@ -81,33 +105,39 @@ local function day_or_night_time(dt, count_day)
return dt_c * SECS_PER_CYCLE return dt_c * SECS_PER_CYCLE
end end
-- Growth Logic -- Growth Logic
local STAGE_LENGTH_AVG = tonumber(
minetest.settings:get("farming_stage_length")) or 200 -- 160 local STAGE_LENGTH_AVG = tonumber(core.settings:get("farming_stage_length")) or 200
local STAGE_LENGTH_DEV = STAGE_LENGTH_AVG / 6 local STAGE_LENGTH_DEV = STAGE_LENGTH_AVG / 6
-- quick start seed timer
farming.start_seed_timer = function(pos)
local timer = core.get_node_timer(pos)
local grow_time = floor(random(STAGE_LENGTH_DEV, STAGE_LENGTH_AVG))
timer:start(grow_time)
end
-- return plant name and stage from node provided -- return plant name and stage from node provided
local function plant_name_stage(node) local function plant_name_stage(node)
local name local name
if type(node) == "table" then if type(node) == "table" then
if node.name then if node.name then name = node.name
name = node.name
elseif node.x and node.y and node.z then elseif node.x and node.y and node.z then
node = minetest.get_node_or_nil(node) node = core.get_node_or_nil(node)
name = node and node.name name = node and node.name
end end
else else
name = tostring(node) name = tostring(node)
end end
if not name or name == "ignore" then if not name or name == "ignore" then return nil end
return nil
end
local sep_pos = name:find("_[^_]+$") local sep_pos = name:find("_[^_]+$")
@ -123,7 +153,6 @@ local function plant_name_stage(node)
return name, 0 return name, 0
end end
-- Map from node name to -- Map from node name to
-- { plant_name = ..., name = ..., stage = n, stages_left = { node_name, ... } } -- { plant_name = ..., name = ..., stage = n, stages_left = { node_name, ... } }
@ -132,32 +161,24 @@ local plant_stages = {}
farming.plant_stages = plant_stages farming.plant_stages = plant_stages
--- Registers the stages of growth of a (possible plant) node. --- Registers the stages of growth of a (possible plant) node.
-- -- @param node - Node or position table, or node name.
-- @param node -- @return - The (possibly zero) number of stages of growth the plant will go through
-- Node or position table, or node name.
-- @return
-- The (possibly zero) number of stages of growth the plant will go through
-- before being fully grown, or nil if not a plant. -- before being fully grown, or nil if not a plant.
local register_plant_node
-- Recursive helper -- Recursive helper
local function reg_plant_stages(plant_name, stage, force_last) local function reg_plant_stages(plant_name, stage, force_last)
local node_name = plant_name and plant_name .. "_" .. stage local node_name = plant_name and plant_name .. "_" .. stage
local node_def = node_name and minetest.registered_nodes[node_name] local node_def = node_name and core.registered_nodes[node_name]
if not node_def then if not node_def then return nil end
return nil
end
local stages = plant_stages[node_name] local stages = plant_stages[node_name]
if stages then if stages then return stages end
return stages
end
if minetest.get_item_group(node_name, "growing") > 0 then if core.get_item_group(node_name, "growing") > 0 then
local ns = reg_plant_stages(plant_name, stage + 1, true) local ns = reg_plant_stages(plant_name, stage + 1, true)
local stages_left = (ns and { ns.name, unpack(ns.stages_left) }) or {} local stages_left = (ns and { ns.name, unpack(ns.stages_left) }) or {}
@ -174,24 +195,20 @@ local function reg_plant_stages(plant_name, stage, force_last)
local old_constr = node_def.on_construct local old_constr = node_def.on_construct
local old_destr = node_def.on_destruct local old_destr = node_def.on_destruct
minetest.override_item(node_name, core.override_item(node_name, {
{
on_construct = function(pos) on_construct = function(pos)
if old_constr then if old_constr then old_constr(pos) end
old_constr(pos)
end
farming.handle_growth(pos) farming.handle_growth(pos)
end, end,
on_destruct = function(pos) on_destruct = function(pos)
minetest.get_node_timer(pos):stop() core.get_node_timer(pos):stop()
if old_destr then if old_destr then old_destr(pos) end
old_destr(pos)
end
end, end,
on_timer = function(pos, elapsed) on_timer = function(pos, elapsed)
@ -217,28 +234,27 @@ local function reg_plant_stages(plant_name, stage, force_last)
return stages return stages
end end
-- split name and stage and register crop
local register_plant_node = function(node) local function register_plant_node(node)
local plant_name, stage = plant_name_stage(node) local plant_name, stage = plant_name_stage(node)
if plant_name then if plant_name then
local stages = reg_plant_stages(plant_name, stage, false) local stages = reg_plant_stages(plant_name, stage, false)
return stages and #stages.stages_left return stages and #stages.stages_left
else
return nil
end end
end end
-- check for further growth and set or stop timer
local function set_growing(pos, stages_left) local function set_growing(pos, stages_left)
if not stages_left then if not stages_left then return end
return
end
local timer = minetest.get_node_timer(pos) local timer = core.get_node_timer(pos)
if stages_left > 0 then if stages_left > 0 then
@ -248,7 +264,7 @@ local function set_growing(pos, stages_left)
stage_length = clamp(stage_length, 0.5 * STAGE_LENGTH_AVG, 3.0 * STAGE_LENGTH_AVG) stage_length = clamp(stage_length, 0.5 * STAGE_LENGTH_AVG, 3.0 * STAGE_LENGTH_AVG)
timer:set(stage_length, -0.5 * math.random() * STAGE_LENGTH_AVG) timer:set(stage_length, -0.5 * random() * STAGE_LENGTH_AVG)
end end
elseif timer:is_started() then elseif timer:is_started() then
@ -256,108 +272,146 @@ local function set_growing(pos, stages_left)
end end
end end
-- detects a crop at given position, starting or stopping growth timer when needed -- detects a crop at given position, starting or stopping growth timer when needed
function farming.handle_growth(pos, node) function farming.handle_growth(pos, node)
if not pos then if not pos then return end
return
end
local stages_left = register_plant_node(node or pos) local stages_left = register_plant_node(node or pos)
if stages_left then if stages_left then set_growing(pos, stages_left) end
set_growing(pos, stages_left)
end
end end
-- register crops nodes and add timer functions
minetest.after(0, function() core.after(0, function()
for _, node_def in pairs(minetest.registered_nodes) do for _, node_def in pairs(core.registered_nodes) do
register_plant_node(node_def) register_plant_node(node_def)
end end
end) 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({
core.register_lbm({
label = "Start crop timer",
name = "farming:start_crop_timer",
nodenames = {"group:growing"},
run_at_every_load = false,
action = function(pos, node, dtime_s)
local timer = core.get_node_timer(pos)
if timer:is_started() then return end
farming.start_seed_timer(pos)
end
})
--[[
core.register_abm({
label = "Start crop timer",
nodenames = {"group:growing"}, nodenames = {"group:growing"},
interval = 300, interval = 300,
chance = 1, chance = 1,
catch_up = false, catch_up = false,
action = function(pos, node)
farming.handle_growth(pos, node)
end
})
action = function(pos, node)
-- skip if node timer already active
if core.get_node_timer(pos):is_started() then return end
-- check if group:growing node is a seed
local def = core.registered_nodes[node.name]
if def and def.groups and def.groups.seed then
if def.on_timer then -- start node timer if found
farming.start_seed_timer(pos)
return
end
local next_stage = def.next_plant
def = core.registered_nodes[next_stage]
if def then -- switch seed without timer to stage_1 of crop
local p2 = def.place_param2 or 1
core.set_node(pos, {name = next_stage, param2 = p2})
end
else
farming.handle_growth(pos, node) -- start normal crop timer
end
end
})]]
-- default check crop is on wet soil
farming.can_grow = function(pos)
local below = core.get_node({x = pos.x, y = pos.y -1, z = pos.z})
return core.get_item_group(below.name, "soil") >= 3
end
-- Plant timer function that grows plants under the right conditions. -- Plant timer function that grows plants under the right conditions.
function farming.plant_growth_timer(pos, elapsed, node_name) function farming.plant_growth_timer(pos, elapsed, node_name)
local stages = plant_stages[node_name] local stages = plant_stages[node_name]
if not stages then if not stages then return false end
return false
end
local max_growth = #stages.stages_left local max_growth = #stages.stages_left
if max_growth <= 0 then if max_growth <= 0 then return false end
return false
end
-- custom growth check local chk1 = core.registered_nodes[node_name].growth_check -- old
local chk = minetest.registered_nodes[node_name].growth_check local chk2 = core.registered_nodes[node_name].can_grow -- new
if chk then if chk1 then -- custom farming redo growth_check function
if chk(pos, node_name) then if not chk1(pos, node_name) then return true end
return true
end
-- otherwise check for wet soil beneath crop elseif chk2 then -- custom mt 5.9x farming can_grow function
else
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 not chk2(pos) then return true end
return true
end -- default mt 5.9x farming.can_grow function
end elseif not farming.can_grow(pos) then return true end
local growth local growth
local light_pos = {x = pos.x, y = pos.y, z = pos.z} 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 end
return true
end
local MIN_LIGHT = minetest.registered_nodes[node_name].minlight or farming.min_light local MIN_LIGHT = core.registered_nodes[node_name].minlight or farming.min_light
local MAX_LIGHT = minetest.registered_nodes[node_name].maxlight or farming.max_light local MAX_LIGHT = core.registered_nodes[node_name].maxlight or farming.max_light
if max_growth == 1 or lambda < 2.0 then if max_growth == 1 or lambda < 2.0 then
local light = (minetest.get_node_light(light_pos) or 0) local light = (core.get_node_light(light_pos) or 0)
--print ("light level:", light)
if light < MIN_LIGHT or light > MAX_LIGHT then if light < MIN_LIGHT or light > MAX_LIGHT then return true end
return true
end
growth = 1 growth = 1
else else
local night_light = (minetest.get_node_light(light_pos, 0) or 0) local night_light = (core.get_node_light(light_pos, 0) or 0)
local day_light = (minetest.get_node_light(light_pos, 0.5) or 0) local day_light = (core.get_node_light(light_pos, 0.5) or 0)
local night_growth = night_light >= MIN_LIGHT and night_light <= MAX_LIGHT local night_growth = night_light >= MIN_LIGHT and night_light <= MAX_LIGHT
local day_growth = day_light >= MIN_LIGHT and day_light <= MAX_LIGHT local day_growth = day_light >= MIN_LIGHT and day_light <= MAX_LIGHT
if not night_growth then if not night_growth then
if not day_growth then if not day_growth then return true end
return true
end
lambda = day_or_night_time(elapsed, true) / STAGE_LENGTH_AVG lambda = day_or_night_time(elapsed, true) / STAGE_LENGTH_AVG
@ -368,16 +422,14 @@ function farming.plant_growth_timer(pos, elapsed, node_name)
growth = statistics.poisson(lambda, max_growth) growth = statistics.poisson(lambda, max_growth)
if growth < 1 then if growth < 1 then return true end
return true
end
end end
if minetest.registered_nodes[stages.stages_left[growth]] then if core.registered_nodes[stages.stages_left[growth]] then
local p2 = minetest.registered_nodes[stages.stages_left[growth] ].place_param2 or 1 local p2 = core.registered_nodes[stages.stages_left[growth] ].place_param2 or 1
minetest.swap_node(pos, {name = stages.stages_left[growth], param2 = p2}) core.set_node(pos, {name = stages.stages_left[growth], param2 = p2})
else else
return true return true
end end
@ -385,16 +437,15 @@ function farming.plant_growth_timer(pos, elapsed, node_name)
return growth ~= max_growth return growth ~= max_growth
end end
-- refill placed plant by crabman (26/08/2015) updated by TenPlus1 -- refill placed plant by crabman (26/08/2015) updated by TenPlus1
function farming.refill_plant(player, plantname, index) function farming.refill_plant(player, plantname, index)
local inv = player:get_inventory() local inv = player and player:get_inventory() ; if not inv then return end
local old_stack = inv:get_stack("main", index) local old_stack = inv:get_stack("main", index)
if old_stack:get_name() ~= "" then if old_stack:get_name() ~= "" then return end
return
end
for i, stack in ipairs(inv:get_list("main")) do for i, stack in ipairs(inv:get_list("main")) do
@ -409,61 +460,57 @@ function farming.refill_plant(player, plantname, index)
end end
end end
-- Place Seeds on Soil -- Place Seeds on Soil
function farming.place_seed(itemstack, placer, pointed_thing, plantname) function farming.place_seed(itemstack, placer, pointed_thing, plantname)
local pt = pointed_thing local pt = pointed_thing
-- check if pointing at a node -- check if pointing at a node
if not pt or pt.type ~= "node" then if not itemstack or not pt or pt.type ~= "node" then return end
return
end
local under = minetest.get_node(pt.under) local under = core.get_node(pt.under)
-- 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 = core.registered_nodes[under.name]
if placer and itemstack 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, pt)
end end
local above = minetest.get_node(pt.above) local above = core.get_node(pt.above)
-- check if pointing at the top of the node -- check if pointing at the top of the node
if pt.above.y ~= pt.under.y + 1 then if pt.above.y ~= pt.under.y + 1 then return end
return
end
-- return if any of the nodes is not registered -- return if any of the nodes is not registered
if not minetest.registered_nodes[under.name] if not core.registered_nodes[under.name]
or not minetest.registered_nodes[above.name] then or not core.registered_nodes[above.name] then return end
return
end
-- can I replace above node, and am I pointing at soil -- can I replace above node, and am I pointing directly at soil
if not minetest.registered_nodes[above.name].buildable_to if not core.registered_nodes[above.name].buildable_to
or minetest.get_item_group(under.name, "soil") < 2 or core.get_item_group(under.name, "soil") < 2
-- avoid multiple seed placement bug or core.get_item_group(above.name, "plant") ~= 0 then return end
or minetest.get_item_group(above.name, "plant") ~= 0 then
return
end
-- is player planting seed? -- is player planting seed?
local name = placer and placer:get_player_name() or "" local name = placer and placer:get_player_name() or ""
-- if not protected then add node and remove 1 item from the itemstack -- if not protected then add node and remove 1 item from the itemstack
if not minetest.is_protected(pt.above, name) then if not core.is_protected(pt.above, name) then
local p2 = minetest.registered_nodes[plantname].place_param2 or 1 local p2 = core.registered_nodes[plantname].place_param2 or 1
minetest.set_node(pt.above, {name = plantname, param2 = p2}) core.set_node(pt.above, {name = plantname, param2 = p2})
--minetest.get_node_timer(pt.above):start(1) farming.start_seed_timer(pt.above)
--farming.handle_growth(pt.above)--, node)
minetest.sound_play("default_place_node", {pos = pt.above, gain = 1.0}) core.sound_play("default_place_node", {pos = pt.above, gain = 1.0})
core.log("action", string.format("%s planted %s at %s",
(placer and placer:is_player() and placer:get_player_name() or "A mod"),
itemstack:get_name(), core.pos_to_string(pt.above)
))
if placer and itemstack if placer and itemstack
and not farming.is_creative(placer:get_player_name()) then and not farming.is_creative(placer:get_player_name()) then
@ -475,12 +522,8 @@ function farming.place_seed(itemstack, placer, pointed_thing, plantname)
-- check for refill -- check for refill
if itemstack:get_count() == 0 then if itemstack:get_count() == 0 then
minetest.after(0.10, core.after(0.2, farming.refill_plant,
farming.refill_plant, placer, name, placer:get_wield_index())
placer,
name,
placer:get_wield_index()
)
end end
end end
@ -488,13 +531,11 @@ function farming.place_seed(itemstack, placer, pointed_thing, plantname)
end end
end end
-- Function to register plants (default farming compatibility) -- Function to register plants (default farming compatibility)
farming.register_plant = function(name, def)
if not def.steps then function farming.register_plant(name, def)
return nil
end if not def.steps then return nil end
local mname = name:split(":")[1] local mname = name:split(":")[1]
local pname = name:split(":")[2] local pname = name:split(":")[2]
@ -506,30 +547,45 @@ farming.register_plant = function(name, def)
def.maxlight = def.maxlight or 15 def.maxlight = def.maxlight or 15
-- Register seed -- Register seed
minetest.register_node(":" .. mname .. ":seed_" .. pname, { core.register_node(":" .. mname .. ":seed_" .. pname, {
description = def.description, description = def.description,
tiles = {def.inventory_image}, tiles = {def.inventory_image},
inventory_image = def.inventory_image, inventory_image = def.inventory_image,
wield_image = def.inventory_image, wield_image = def.inventory_image,
drawtype = "signlike", drawtype = "signlike",
groups = {seed = 1, snappy = 3, attached_node = 1, flammable = 2}, groups = {
seed = 1, snappy = 3, attached_node = 1, flammable = 2, growing = 1,
compostability = 65, handy = 1
},
_mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
paramtype = "light", paramtype = "light",
paramtype2 = "wallmounted", paramtype2 = "wallmounted",
walkable = false, walkable = false,
sunlight_propagates = true, sunlight_propagates = true,
selection_box = farming.select, selection_box = farming.select,
place_param2 = def.place_param2 or nil, place_param2 = 1, -- place seed flat
next_plant = mname .. ":" .. pname .. "_1", next_plant = mname .. ":" .. pname .. "_1",
on_place = function(itemstack, placer, pointed_thing) on_timer = function(pos, elapsed)
return farming.place_seed(itemstack, placer,
pointed_thing, mname .. ":" .. pname .. "_1") local def = core.registered_nodes[mname .. ":" .. pname .. "_1"]
if def then
core.set_node(pos, {name = def.name, param2 = def.place_param2})
end
end, end,
on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing,
mname .. ":seed_" .. pname)
end
}) })
-- Register harvest -- Register harvest
minetest.register_craftitem(":" .. mname .. ":" .. pname, { core.register_craftitem(":" .. mname .. ":" .. pname, {
description = pname:gsub("^%l", string.upper), description = pname:gsub("^%l", string.upper),
inventory_image = mname .. "_" .. pname .. ".png", inventory_image = mname .. "_" .. pname .. ".png",
groups = def.groups or {flammable = 2}, groups = def.groups or {flammable = 2},
@ -539,9 +595,11 @@ farming.register_plant = function(name, def)
for i = 1, def.steps do for i = 1, def.steps do
local base_rarity = 1 local base_rarity = 1
if def.steps ~= 1 then if def.steps ~= 1 then
base_rarity = 8 - (i - 1) * 7 / (def.steps - 1) base_rarity = 8 - (i - 1) * 7 / (def.steps - 1)
end end
local drop = { local drop = {
items = { items = {
{items = {mname .. ":" .. pname}, rarity = base_rarity}, {items = {mname .. ":" .. pname}, rarity = base_rarity},
@ -551,13 +609,16 @@ farming.register_plant = function(name, def)
} }
} }
local sel = farming.select
local g = { local g = {
snappy = 3, flammable = 2, plant = 1, growing = 1, handy = 1, snappy = 3, flammable = 2, plant = 1, growing = 1,
attached_node = 1, not_in_creative_inventory = 1, attached_node = 1, not_in_creative_inventory = 1,
} }
-- Last step doesn't need growing=1 so Abm never has to check these -- Last step doesn't need growing=1 so Abm never has to check these
-- also increase selection box for visual indication plant has matured
if i == def.steps then if i == def.steps then
sel = farming.select_final
g.growing = 0 g.growing = 0
end end
@ -569,7 +630,10 @@ farming.register_plant = function(name, def)
next_plant = mname .. ":" .. pname .. "_" .. (i + 1) next_plant = mname .. ":" .. pname .. "_" .. (i + 1)
end end
minetest.register_node(node_name, { local desc = pname:gsub("^%l", string.upper)
core.register_node(node_name, {
description = S(desc) .. S(" Crop"),
drawtype = "plantlike", drawtype = "plantlike",
waving = 1, waving = 1,
tiles = {mname .. "_" .. pname .. "_" .. i .. ".png"}, tiles = {mname .. "_" .. pname .. "_" .. i .. ".png"},
@ -580,99 +644,137 @@ farming.register_plant = function(name, def)
buildable_to = true, buildable_to = true,
sunlight_propagates = true, sunlight_propagates = true,
drop = drop, drop = drop,
selection_box = farming.select, selection_box = sel,
groups = g, groups = g,
sounds = default.node_sound_leaves_defaults(), _mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
sounds = farming.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
-- add to farming.registered_plants -- add to farming.registered_plants
farming.registered_plants[mname .. ":" .. pname] = { farming.registered_plants[mname .. ":" .. pname] = {
crop = mname .. ":" .. pname, crop = mname .. ":" .. pname,
seed = mname .. ":seed_" .. pname, seed = mname .. ":seed_" .. pname,
steps = def.steps, steps = def.steps,
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 {seed = mname .. ":seed_" .. pname, harvest = mname .. ":" .. pname} return {seed = mname .. ":seed_" .. pname, harvest = mname .. ":" .. pname}
end end
-- default settings -- default settings
farming.carrot = 0.001
farming.potato = 0.001 farming.asparagus = 0.002
farming.tomato = 0.001 farming.eggplant = 0.002
farming.cucumber = 0.001 farming.spinach = 0.002
farming.corn = 0.001 farming.carrot = 0.002
farming.coffee = 0.001 farming.potato = 0.002
farming.melon = 0.001 farming.tomato = 0.002
farming.pumpkin = 0.001 farming.cucumber = 0.002
farming.corn = 0.002
farming.coffee = 0.002
farming.melon = 0.009
farming.pumpkin = 0.009
farming.cocoa = true farming.cocoa = true
farming.raspberry = 0.001 farming.raspberry = 0.002
farming.blueberry = 0.001 farming.blueberry = 0.002
farming.rhubarb = 0.001 farming.rhubarb = 0.002
farming.beans = 0.001 farming.beans = 0.002
farming.grapes = 0.001 farming.grapes = 0.002
farming.barley = true farming.barley = true
farming.chili = 0.003 farming.chili = 0.003
farming.hemp = 0.003 farming.hemp = 0.003
farming.garlic = 0.001 farming.garlic = 0.002
farming.onion = 0.001 farming.onion = 0.002
farming.pepper = 0.002 farming.pepper = 0.002
farming.pineapple = 0.001 farming.pineapple = 0.003
farming.peas = 0.001 farming.peas = 0.002
farming.beetroot = 0.001 farming.beetroot = 0.002
farming.mint = 0.005 farming.mint = 0.005
farming.cabbage = 0.001 farming.cabbage = 0.002
farming.blackberry = 0.002 farming.blackberry = 0.002
farming.soy = 0.001 farming.soy = 0.002
farming.vanilla = 0.001 farming.vanilla = 0.002
farming.lettuce = 0.001 farming.lettuce = 0.002
farming.artichoke = 0.001 farming.artichoke = 0.002
farming.parsley = 0.002 farming.parsley = 0.002
farming.sunflower = 0.001 farming.sunflower = 0.002
farming.ginger = 0.002
farming.strawberry = 0.002
farming.cotton = 0.003
farming.grains = true farming.grains = true
farming.rarety = 0.002 farming.rice = true
-- Load new global settings if found inside mod folder -- Load new global settings if found inside mod folder
local input = io.open(farming.path.."/farming.conf", "r")
if input then local input = io.open(farming.path .. "/farming.conf", "r")
dofile(farming.path .. "/farming.conf")
input:close() if input then dofile(farming.path .. "/farming.conf") ; input:close() 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()
input = io.open(worldpath.."/farming.conf", "r") local worldpath = core.get_worldpath()
if input then
dofile(worldpath .. "/farming.conf") input = io.open(worldpath .. "/farming.conf", "r")
input:close()
if input then dofile(worldpath .. "/farming.conf") ; input:close() end
-- helper function to add {eatable} group to food items, also {flammable}
function farming.add_eatable(item, hp)
local def = core.registered_items[item]
if def then
local groups = table.copy(def.groups) or {}
groups.eatable = hp ; groups.flammable = 2
core.override_item(item, {groups = groups})
end
end end
-- recipe item list and alternatives
dofile(farming.path .. "/item_list.lua")
-- setup soil, register hoes, override grass
if core.get_modpath("default") then
dofile(farming.path .. "/soil.lua")
dofile(farming.path .. "/hoes.lua")
end
-- important items
dofile(farming.path.."/soil.lua")
dofile(farming.path.."/hoes.lua")
dofile(farming.path.."/grass.lua") dofile(farming.path.."/grass.lua")
dofile(farming.path.."/utensils.lua")
-- default crops -- disable crops Mineclone already has
dofile(farming.path.."/crops/wheat.lua")
dofile(farming.path.."/crops/cotton.lua")
if farming.mcl then
farming.carrot = nil
farming.potato = nil
farming.melon = nil
farming.cocoa = nil
farming.beetroot = nil
farming.sunflower = nil
farming.pumpkin = nil
else
dofile(farming.path.."/crops/wheat.lua") -- default crop outwith mineclone
end
dofile(farming.path.."/crops/cotton.lua") -- default crop
-- helper function -- helper function
local function ddoo(file, check) local function ddoo(file, check)
if check then if check then dofile(farming.path .. "/crops/" .. file) end
dofile(farming.path .. "/crops/" .. file)
end
end end
-- add additional crops and food (if enabled) -- add additional crops and food (if enabled)
@ -699,7 +801,8 @@ 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("rye_oat.lua", farming.grains)
ddoo("rice.lua", farming.rice)
ddoo("mint.lua", farming.mint) ddoo("mint.lua", farming.mint)
ddoo("cabbage.lua", farming.cabbage) ddoo("cabbage.lua", farming.cabbage)
ddoo("blackberry.lua", farming.blackberry) ddoo("blackberry.lua", farming.blackberry)
@ -709,8 +812,25 @@ ddoo("lettuce.lua", farming.lettuce)
ddoo("artichoke.lua", farming.artichoke) ddoo("artichoke.lua", farming.artichoke)
ddoo("parsley.lua", farming.parsley) ddoo("parsley.lua", farming.parsley)
ddoo("sunflower.lua", farming.sunflower) ddoo("sunflower.lua", farming.sunflower)
ddoo("strawberry.lua", farming.strawberry)
ddoo("asparagus.lua", farming.asparagus)
ddoo("eggplant.lua", farming.eggplant)
ddoo("spinach.lua", farming.eggplant)
ddoo("ginger.lua", farming.ginger)
dofile(farming.path .. "/food.lua") -- register food items, non-food items, recipes and stairs
dofile(farming.path .. "/mapgen.lua")
dofile(farming.path .. "/compatibility.lua") -- Farming Plus compatibility dofile(farming.path .. "/item_non_food.lua")
dofile(farming.path .. "/lucky_block.lua") dofile(farming.path .. "/item_food.lua")
dofile(farming.path .. "/item_recipes.lua")
dofile(farming.path .. "/item_stairs.lua")
if not farming.mcl then
dofile(farming.path .. "/compatibility.lua") -- Farming Plus compatibility
end
if core.get_modpath("lucky_block") then
dofile(farming.path .. "/lucky_block.lua")
end
print("[MOD] Farming Redo loaded")

View File

@ -1,45 +0,0 @@
-- Fallback functions for when `intllib` is not installed.
-- Code released under Unlicense <http://unlicense.org>.
-- Get the latest version of this file at:
-- https://raw.githubusercontent.com/minetest-mods/intllib/master/lib/intllib.lua
local function format(str, ...)
local args = { ... }
local function repl(escape, open, num, close)
if escape == "" then
local replacement = tostring(args[tonumber(num)])
if open == "" then
replacement = replacement..close
end
return replacement
else
return "@"..open..num..close
end
end
return (str:gsub("(@?)@(%(?)(%d+)(%)?)", repl))
end
local gettext, ngettext
if minetest.get_modpath("intllib") then
if intllib.make_gettext_pair then
-- New method using gettext.
gettext, ngettext = intllib.make_gettext_pair()
else
-- Old method using text files.
gettext = intllib.Getter()
end
end
-- Fill in missing functions.
gettext = gettext or function(msgid, ...)
return format(msgid, ...)
end
ngettext = ngettext or function(msgid, msgid_plural, n, ...)
return format(n==1 and msgid or msgid_plural, ...)
end
return gettext, ngettext

1035
item_food.lua Normal file

File diff suppressed because it is too large Load Diff

126
item_list.lua Normal file
View File

@ -0,0 +1,126 @@
-- add group helper
local function add_groups(item, groups)
local def = core.registered_items[item]
if def then
local grps = table.copy(def.groups) or {}
for k, v in pairs(groups) do
grps[k] = v
end
core.override_item(item, {groups = grps})
end
end
-- default recipe items
farming.recipe_items = {
-- if utensils are disabled then use blank item
saucepan = farming.use_utensils and "farming:saucepan" or "",
pot = farming.use_utensils and "farming:pot" or "",
baking_tray = farming.use_utensils and "farming:baking_tray" or "",
skillet = farming.use_utensils and "farming:skillet" or "",
mortar_pestle = farming.use_utensils and "farming:mortar_pestle" or "",
cutting_board = farming.use_utensils and "farming:cutting_board" or "",
juicer = farming.use_utensils and "farming:juicer" or "",
mixing_bowl = farming.use_utensils and "farming:mixing_bowl" or "",
water_source = "default:water_source",
river_water_source = "default:river_water_source",
bucket_empty = "bucket:bucket_empty",
bucket_water = "bucket:bucket_water",
bucket_river_water = "bucket:bucket_river_water",
drinking_glass = "vessels:drinking_glass",
glass_bottle = "vessels:glass_bottle",
sugar = "farming:sugar",
rose = "flowers:rose",
dye_red = "dye:red",
dye_pink = "dye:pink",
dye_orange = "dye:orange",
dye_green = "dye:green",
dye_brown = "dye:brown",
dye_blue = "dye:blue",
dye_violet = "dye:violet",
dye_yellow = "dye:yellow",
bowl = "farming:bowl",
flour = "group:food_flour",
bread = "farming:bread",
cactus = "default:cactus",
paper = "default:paper",
snow = "default:snow",
string = "farming:string",
wool = "wool:white",
steel_ingot = "default:steel_ingot",
clay_brick = "default:clay_brick",
stone = "default:stone",
glass = "default:glass",
}
add_groups("default:apple", {food_apple = 1})
-- if mineclone found then change recipe items
if farming.mcl then
local a = farming.recipe_items
a.water_source = "mcl_core:water_source"
a.river_water_source = "mclx_core:river_water_source"
a.bucket_empty = "mcl_buckets:bucket_empty"
a.bucket_water = "mcl_buckets:bucket_water"
a.bucket_river_water = "mcl_buckets:bucket_river_water"
a.drinking_glass = "mcl_potions:glass_bottle"
a.glass_bottle = "mcl_potions:glass_bottle"
a.sugar = "mcl_core:sugar"
a.rose = "mcl_flowers:rose_bush"
a.dye_red = "mcl_dye:red"
a.dye_pink = "mcl_dye:pink"
a.dye_orange = "mcl_dye:orange"
a.dye_green = "mcl_dye:green"
a.dye_brown = "mcl_dye:brown"
a.dye_blue = "mcl_dye:blue"
a.dye_violet = "mcl_dye:violet"
a.dye_yellow = "mcl_dye:yellow"
a.bowl = "mcl_core:bowl"
-- a.flour = "mcl_farming:bread"
a.bread = "mcl_farming:bread"
a.cactus = "mcl_core:cactus"
a.paper = "mcl_core:paper"
a.snow = "mcl_throwing:snowball"
a.string = "mcl_mobitems:string"
a.wool = "mcl_wool:white"
a.steel_ingot = "mcl_core:iron_ingot"
a.clay_brick = "mcl_core:clay_lump"
a.stone = "mcl_core:stone"
a.glass = "mcl_core:glass"
-- add missing groups for recipes to work properly
add_groups("mcl_core:sugar", {food_sugar = 1})
add_groups("mcl_throwing:egg", {food_egg = 1})
add_groups("mcl_farming:wheat_item", {food_wheat = 1})
add_groups("mcl_cocoas:cocoa_beans", {food_cocoa = 1})
add_groups("mcl_core:apple", {food_apple = 1})
add_groups("mcl_core:bowl", {food_bowl = 1})
add_groups("mcl_mobitems:chicken", {food_chicken_raw = 1})
add_groups("mcl_mobitems:cooked_chicken", {food_chicken = 1})
add_groups("mcl_mushrooms:mushroom_brown", {food_mushroom = 1})
add_groups("mcl_farming:carrot_item", {food_carrot = 1})
add_groups("mcl_mobitems:cooked_beef", {food_meat = 1})
add_groups("mcl_mobitems:beef", {food_meat_raw = 1})
add_groups("mcl_farming:potato_item", {food_potato = 1})
add_groups("mcl_farming:bread", {food_bread = 1})
add_groups("mcl_mobitems:milk_bucket", {food_milk = 1})
add_groups("mcl_ocean:dried_kelp", {food_seaweed = 1})
add_groups("mcl_potions:river_water", {food_glass_water = 1})
add_groups("mcl_dye:yellow", {food_lemon = 1, food_banana = 1})
add_groups("mcl_dye:orange", {food_orange = 1})
add_groups("mcl_flowers:sunflower", {food_olive_oil = 1, food_butter = 1})
end

304
item_non_food.lua Normal file
View File

@ -0,0 +1,304 @@
local S = core.get_translator("farming")
-- saucepan
core.register_craftitem("farming:saucepan", {
description = S("Saucepan"),
inventory_image = "farming_saucepan.png",
groups = {food_saucepan = 1, flammable = 2}
})
-- cooking pot
core.register_craftitem("farming:pot", {
description = S("Cooking Pot"),
inventory_image = "farming_pot.png",
groups = {food_pot = 1, flammable = 2}
})
-- baking tray
core.register_craftitem("farming:baking_tray", {
description = S("Baking Tray"),
inventory_image = "farming_baking_tray.png",
groups = {food_baking_tray = 1, flammable = 2}
})
-- skillet
core.register_craftitem("farming:skillet", {
description = S("Skillet"),
inventory_image = "farming_skillet.png",
groups = {food_skillet = 1, flammable = 2}
})
-- mortar & pestle
core.register_craftitem("farming:mortar_pestle", {
description = S("Mortar and Pestle"),
inventory_image = "farming_mortar_pestle.png",
groups = {food_mortar_pestle = 1, flammable = 2}
})
-- cutting board
core.register_craftitem("farming:cutting_board", {
description = S("Cutting Board"),
inventory_image = "farming_cutting_board.png",
groups = {food_cutting_board = 1, flammable = 2}
})
-- juicer
core.register_craftitem("farming:juicer", {
description = S("Juicer"),
inventory_image = "farming_juicer.png",
groups = {food_juicer = 1, flammable = 2}
})
-- glass mixing bowl
core.register_craftitem("farming:mixing_bowl", {
description = S("Glass Mixing Bowl"),
inventory_image = "farming_mixing_bowl.png",
groups = {food_mixing_bowl = 1, flammable = 2}
})
-- Ethanol (thanks to JKMurray for this idea)
core.register_node("farming:bottle_ethanol", {
description = S("Bottle of Ethanol"),
drawtype = "plantlike",
tiles = {"farming_bottle_ethanol.png"},
inventory_image = "farming_bottle_ethanol.png",
wield_image = "farming_bottle_ethanol.png",
paramtype = "light",
is_ground_content = false,
walkable = false,
selection_box = {
type = "fixed",
fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25}
},
groups = {vessel = 1, dig_immediate = 3, attached_node = 1, handy = 1},
sounds = farming.node_sound_glass_defaults()
})
-- straw
core.register_node("farming:straw", {
description = S("Straw"),
tiles = {"farming_straw.png"},
is_ground_content = false,
groups = {handy = 1, snappy = 3, flammable = 4, fall_damage_add_percent = -30},
sounds = farming.node_sound_leaves_defaults(),
_mcl_hardness = 0.8,
_mcl_blast_resistance = 1
})
-- weed
core.register_node("farming:weed", {
description = S("Weed"),
drawtype = "plantlike",
tiles = {"farming_weed.png"},
inventory_image = "farming_weed.png",
paramtype = "light",
paramtype2 = "meshoptions",
place_param2 = 2,
sunlight_propagates = true,
walkable = false,
buildable_to = true,
waving = 1,
selection_box = farming.select,
groups = {snappy = 3, flammable = 4, plant = 1, attached_node = 1},
_mcl_hardness = farming.mcl_hardness,
is_ground_content = false,
sounds = farming.node_sound_leaves_defaults()
})
-- weed bale
core.register_node("farming:weed_bale", {
description = S("Weed Bale"),
tiles = {
"farming_weed_bale_top.png", "farming_weed_bale_top.png",
"farming_weed_bale_side.png"
},
paramtype2 = "facedir",
groups = {handy = 1, snappy = 3, flammable = 4, fall_damage_add_percent = -30},
sounds = farming.node_sound_leaves_defaults(),
_mcl_hardness = 0.8,
_mcl_blast_resistance = 1
})
-- hemp oil
core.register_node("farming:hemp_oil", {
description = S("Bottle of Hemp Oil"),
drawtype = "plantlike",
tiles = {"farming_hemp_oil.png"},
inventory_image = "farming_hemp_oil.png",
wield_image = "farming_hemp_oil.png",
paramtype = "light",
is_ground_content = false,
walkable = false,
selection_box = {
type = "fixed", fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25}
},
groups = {
food_oil = 1, vessel = 1, dig_immediate = 3, attached_node = 1,
compostability = 45, handy = 1
},
sounds = farming.node_sound_glass_defaults()
})
-- hemp fibre
core.register_craftitem("farming:hemp_fibre", {
description = S("Hemp Fibre"),
inventory_image = "farming_hemp_fibre.png",
groups = {compostability = 55}
})
-- hemp block
core.register_node("farming:hemp_block", {
description = S("Hemp Block"),
tiles = {"farming_hemp_block.png"},
paramtype = "light",
groups = {
axey = 1, handy = 1, snappy = 2, oddly_breakable_by_hand = 1, flammable = 2,
compostability = 85
},
is_ground_content = false,
sounds = farming.node_sound_leaves_defaults(),
_mcl_hardness = 0.8,
_mcl_blast_resistance = 1
})
-- hemp rope
core.register_node("farming:hemp_rope", {
description = S("Hemp Rope"),
walkable = false,
climbable = true,
sunlight_propagates = true,
paramtype = "light",
tiles = {"farming_hemp_rope.png"},
wield_image = "farming_hemp_rope.png",
inventory_image = "farming_hemp_rope.png",
drawtype = "plantlike",
groups = {
handy = 1, axey = 1, swordy = 1, flammable = 2, choppy = 3,
oddly_breakable_by_hand = 3, compostability = 55
},
is_ground_content = false,
sounds = farming.node_sound_leaves_defaults(),
selection_box = {
type = "fixed", fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7}
},
_mcl_hardness = 0.8,
_mcl_blast_resistance = 1
})
--- Wooden scarecrow base
core.register_node("farming:scarecrow_bottom", {
description = S("Scarecrow Bottom"),
paramtype = "light",
sunlight_propagates = true,
paramtype2 = "facedir",
tiles = {"default_wood.png"},
drawtype = "nodebox",
node_box = {
type = "fixed",
fixed = {
{-1/16, -8/16, -1/16, 1/16, 8/16, 1/16},
{-12/16, 4/16, -1/16, 12/16, 2/16, 1/16},
}
},
groups = {axey = 1, handy = 1, snappy = 3, flammable = 2},
is_ground_content = false,
_mcl_hardness = 0.8,
_mcl_blast_resistance = 1
})
--= Items we shouldn't add when using Mineclonia/VoxeLibre
if not farming.mcl then
-- Wooden bowl
core.register_craftitem("farming:bowl", {
description = S("Wooden Bowl"),
inventory_image = "farming_bowl.png",
groups = {food_bowl = 1, flammable = 2}
})
-- String
core.register_craftitem("farming:string", {
description = S("String"),
inventory_image = "farming_string.png",
groups = {flammable = 2}
})
-- Jack 'O Lantern
core.register_node("farming:jackolantern", {
description = S("Jack 'O Lantern (punch to turn on and off)"),
tiles = {
"farming_pumpkin_bottom.png^farming_pumpkin_top.png",
"farming_pumpkin_bottom.png",
"farming_pumpkin_side.png",
"farming_pumpkin_side.png",
"farming_pumpkin_side.png",
"farming_pumpkin_side.png^farming_pumpkin_face_off.png"
},
paramtype2 = "facedir",
groups = {
handy = 1, snappy = 2, choppy = 2, oddly_breakable_by_hand = 2, flammable = 2
},
is_ground_content = false,
sounds = farming.node_sound_wood_defaults(),
on_punch = function(pos, node, puncher)
local name = puncher:get_player_name() or ""
if core.is_protected(pos, name) then return end
node.name = "farming:jackolantern_on"
core.swap_node(pos, node)
end,
_mcl_hardness = 0.8,
_mcl_blast_resistance = 1
})
core.register_node("farming:jackolantern_on", {
tiles = {
"farming_pumpkin_bottom.png^farming_pumpkin_top.png",
"farming_pumpkin_bottom.png",
"farming_pumpkin_side.png",
"farming_pumpkin_side.png",
"farming_pumpkin_side.png",
"farming_pumpkin_side.png^farming_pumpkin_face_on.png"
},
light_source = core.LIGHT_MAX - 1,
paramtype2 = "facedir",
groups = {
handy = 1, snappy = 2, choppy = 2, oddly_breakable_by_hand = 2, flammable = 2,
not_in_creative_inventory = 1
},
is_ground_content = false,
sounds = farming.node_sound_wood_defaults(),
drop = "farming:jackolantern",
on_punch = function(pos, node, puncher)
local name = puncher:get_player_name() or ""
if core.is_protected(pos, name) then return end
node.name = "farming:jackolantern"
core.swap_node(pos, node)
end,
_mcl_hardness = 0.8,
_mcl_blast_resistance = 1
})
end

1442
item_recipes.lua Normal file

File diff suppressed because it is too large Load Diff

35
item_stairs.lua Normal file
View File

@ -0,0 +1,35 @@
-- check and register stairs
if core.global_exists("stairs") then
if stairs.mod and stairs.mod == "redo" then
stairs.register_all("straw", "farming:straw",
{snappy = 3, flammable = 4},
{"farming_straw.png"},
"Straw",
farming.node_sound_leaves_defaults())
stairs.register_all("hemp_block", "farming:hemp_block",
{snappy = 2, oddly_breakable_by_hand = 1, flammable = 2},
{"farming_hemp_block.png"},
"Hemp Block",
farming.node_sound_leaves_defaults())
else
stairs.register_stair_and_slab("straw", "farming:straw",
{snappy = 3, flammable = 4},
{"farming_straw.png"},
"Straw Stair",
"Straw Slab",
farming.node_sound_leaves_defaults())
stairs.register_stair_and_slab("hemp_block", "farming:hemp_block",
{snappy = 2, oddly_breakable_by_hand = 1, flammable = 2},
{"farming_hemp_block.png"},
"Hemp Block Stair",
"Hemp Block Slab",
farming.node_sound_leaves_defaults())
end
end

View File

@ -23,6 +23,28 @@ THE SOFTWARE.
License of media (textures): License of media (textures):
---------------------------- ----------------------------
Created by TenPlus1 (CC0):
alt_textures/ethereal_strawberry*.png
farming_spanish_potatoes.png
Created by Hugues Ross (CC BY-SA 4.0):
ethereal_strawberry*.png
Created by NameNotQuality (CC0):
farming_vanilla_flan.png
farming_spaghetti.png
Created by Oz-tal (license: CC BY-SA 3.0):
crops_garlic_*.png
crops_onion.png
farming_cookie.png
farming_grapes.png
farming_vanilla.png
Created by Shadall (CC0):
farming_burger.png
Created by PilzAdam (License: CC BY 3.0): Created by PilzAdam (License: CC BY 3.0):
farming_bread.png farming_bread.png
farming_soil.png farming_soil.png
@ -63,10 +85,15 @@ Created by VanessaE (License: CC BY 3.0):
farming_cotton_7.png farming_cotton_7.png
farming_cotton_8.png farming_cotton_8.png
Created by 7eventy7 (https://www.planetminecraft.com/member/7eventy7/) Created by alerikaisattera (License: CC-BY-SA 4.0)
farming_melon_top.png farming_melon_top.png
farming_melon_side.png farming_melon_side.png
farming_melon_bottom.png farming_melon_bottom.png
farming_pumpkin_bottom.png
farming_pumpkin_top.png
farming_pumpkin_side.png
farming_pumpkin_face_on.png
farming_pumpkin_face_off.png
Created by Doc (License: CC BY 3.0): Created by Doc (License: CC BY 3.0):
farming_cucumber.png farming_cucumber.png
@ -125,15 +152,14 @@ Created by TenPlus1 (CC BY 3.0)
farming_cocoa_2.png farming_cocoa_2.png
farming_cocoa_3.png farming_cocoa_3.png
farming_cocoa_beans.png farming_cocoa_beans.png
farming_cookie.png
farming_raspberry_smoothie.png farming_raspberry_smoothie.png
farming_rhubarb_1.png farming_rhubarb_1.png
farming_rhubarb_2.png farming_rhubarb_2.png
farming_rhubarb_3.png farming_rhubarb_3.png
farming_rhubarb.png farming_rhubarb.png
farming_rhubarb_pie.png
farming_hemp*.png farming_hemp*.png
farming_tofu*.png farming_tofu*.png
farming_gingerbread_man.png
Created by ademant (CC-BY-3.0) Created by ademant (CC-BY-3.0)
farming_rye*.png farming_rye*.png
@ -149,24 +175,27 @@ Created by VanessaE and edited by SpaghettiToastBook (CC0):
Created by mDiyo (Natura), modified by TenPlus1 (License: CC BY-SA 3.0): Created by mDiyo (Natura), modified by TenPlus1 (License: CC BY-SA 3.0):
farming_barley.png farming_barley.png
Created by OgelGames (CC BY-SA 4.0) Created by OgelGames (CC BY-SA 4.0):
farming_berry_smoothie.png farming_berry_smoothie.png
farming_cactus_juice.png farming_cactus_juice.png
farming_salad.png farming_salad.png
Created by Huhues Ross (CC BY-SA 4.0):
farming_sunflower_bread.png
Created by Felfa (CC0) Created by Felfa (CC0)
farming_blackberry*.png farming_blackberry*.png
farming_lettuce*.png farming_lettuce*.png
farming_burger.png
farming_soy*.png farming_soy*.png
farming_vanilla*.png farming_vanilla_*.png
farming_artichoke*.png farming_artichoke*.png
farming_parsley*.png farming_parsley*.png
farming_paella.png farming_paella*.png
farming_potato_omelette.png farming_potato_omelette.png
farming_spanish_potatoes.png farming_spanish_potatoes_32px.png
farming_vanilla_flan.png farming_vanilla_flan_32px.png
farming_sunflower*.png farming_sunflower*.png [except sunflower_bread.png]
farming_mayo*.png
Created by gorlock (CC0) Created by gorlock (CC0)
farming_salt_crystal.png farming_salt_crystal.png
@ -175,8 +204,38 @@ Created by sirrobzeroone (CC0)
farming_gyoza.png farming_gyoza.png
farming_pineapple_ring.png farming_pineapple_ring.png
Created by TechM8 (https://www.deviantart.com/techm8) Created by smoke_th (CC0 - https://opengameart.org/content/popcorn-icon)
farming_popcorn.png farming_popcorn_32px.png
farming_popcorn.png [resized and edited by TenPlus1]
Created by RZR0 (CC-BY-NC-SA) Created by DMBuce (MIT - https://github.com/DMBuce/hatchling-snacks)
farming_blueberry_pie.png farming_mac_and_cheese.png
Created by XSSheep (CC BY-SA 4.0 - https://minecraft.curseforge.com/projects/pixel-perfection-freshly-updated)
farming_coffee_1.png
farming_coffee_2.png
farming_coffee_3.png
farming_coffee_4.png
farming_coffee_5.png
farming_coffee_beans.png
farming_apple_pie.png (edited by TenPlus1)
farming_blueberry_pie.png (edited by TenPlus1)
farming_rhubarb_pie.png (edited by TenPlus1)
Copyright (C) 2021-2022: Atlante - AFL-1.1
License for code: AFL-1.1
Attribution — You must give appropriate credit, provide a link to the license, and
indicate if changes were made. You may do so in any reasonable manner, but not in any way
that suggests the licensor endorses you or your use.
ShareAlike — If you remix, transform, or build upon the material, you must distribute
your contributions under the same license as the original.
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
farming_asparagus*
farming_eggplant*
farming_spinach*
farming_ginger*

View File

@ -1,195 +0,0 @@
# 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,134 +1,189 @@
# textdomain:farming # textdomain: farming
%s Hoe=%s Hacke
Apple Donut=Apfeldonut
Apple Pie=Apfelkuchen
Baked Potato=Ofenkartoffel
Baking Tray=Kuchenblech
Banana=Banane Banana=Banane
Banana Leaves=Bananenblatt Banana Leaves=Bananenblätter
Bar of Dark Chocolate=Tafel Zartbitterschokolade Orange=Orange
Artichoke=Artischocke
Crop=-Pflanze
Asparagus=Spargel
Barley Seed=Gerstensamen
Barley=Gerste Barley=Gerste
Barley Seed=Gerstenkörner
Bean Pole (place on soil before planting beans)=Bohnenstange (vor dem Pflanzen der Bohnen auf den\nAckerboden stellen)
Beetroot=Rote Beete
Beetroot Soup=Rote Beete Suppe
Bibimbap=Bibimbap
Wild Blueberries=Wilde Blaubeeren
Blueberry Muffin=Blaubeermuffin
Blueberry Pie=Blaubeerkuchen
Bottle of Ethanol=Flasche Ethanol
Bottle of Hemp Oil=Flasche mit Hanföl
Bowl of Chili=Chili Schale
Bread=Brot
Bronze Hoe=Bronzehacke
Cabbage=Weißkohl
Cactus Juice=Kaktussaft
Carrot=Möhre
Carrot Juice=Möhrensaft
Chili Pepper=Chili
Chocolate Block=Schokoladenstück
Chocolate Donut=Schokodonut
Cocoa Beans=Kakaobohne
Coffee Beans=Kaffeebohnen
Cookie=Keks
Cooking Pot=Kochtopf
Corn=Mais
Corn on the Cob=Maiskolben
Cornstarch=Speisestärke
Cotton=Baumwolle
Cotton Seed=Baumwollsamen
Cucumber=Gurke
Cucumber and Potato Salad=Gurken und Tomatensalat
Cup of Coffee=Tasse Kaffee
Cutting Board=Schneidebrett
Diamond Hoe=Diamanthacke
Donut=Donut
Flour=Mehl
Garlic=Knoblauch
Garlic Braid=Knoblauchzopf
Garlic Bread=Knoblauchbrot
Garlic clove=Knoblauchzehe
Glass Mixing Bowl=Glasschlüssel
Golden Carrot=Goldene Möhre
Grapes=Weintrauben
Green Beans=Grüne Bohnen Green Beans=Grüne Bohnen
Ground Pepper=Gemahlener Pfeffer Bean Pole (place on soil before planting beans)=Bohnenstange (vor dem Pflanzen der Bohnen auf den@nAckerboden stellen)
Hemp Block=Hanfblock Beetroot=Rote Beete
Hemp Fibre=Hanffaser Blackberries=Brombeeren
Hemp Leaf=Hanfblatt Blackberry=Brombeere
Hemp Rope=Hanfseil Wild Blueberries=Wilde Blaubeeren
Blueberry=Blaubeere
Cabbage=Kohl
Carrot=Möhre
Chili Pepper=Chili
Raw Cocoa Beans=Rohe Kakaobohnen
Cocoa Beans=Kakaobohnen
Coffee Beans=Kaffeebohnen
Coffee=Kaffee
Corn=Mais
Cotton Seed=Baumwollsamen
Cotton=Baumwolle
Wild Cotton=Wilde Baumwolle
Cucumber=Gurke
Eggplant=Aubergine
Garlic clove=Knoblauchzehe
Garlic=Knoblauch
Ginger=Lebkuchen
Grapes=Weintrauben
Trellis (place on soil before planting grapes)=Spalier (vor dem Pflanzen der Weintrauben auf den@nAckerboden stellen)
Hemp Seed=Hanfsamen Hemp Seed=Hanfsamen
Hoe=Hacke Hemp Leaf=Hanfblatt
Hoe Bomb (use or throw on grassy areas to hoe land)=Hackbombe (Auf Grasland werfen oder benutzen) Hemp=Hanf
Jack 'O Lantern (punch to turn on and off)=Kürbislaterne (Punch zum Ein- und Ausschalten) Lettuce=Kopfsalat
Jaffa Cake=Jaffakeks
Juicer=Entsafter
Melon=Melone
Melon Slice=Melonenscheibe Melon Slice=Melonenscheibe
Mese Hoe=Mesehacke Melon=Melone
Mint Leaf=Minzblatt
Mint Seeds=Minzsamen Mint Seeds=Minzsamen
Mint Tea=Minztee Mint Leaf=Minzblatt
Mithril Scythe (Right-click to harvest and replant crops)=Mithril-Sense (Rechts-Klick zum Ernten und Wiedereinpflanzen) Mint=Minze
Mortar and Pestle=Mörser und Stößel Onion=Zwiebel
Multigrain Bread=Mehrkornbrot Parsley=Petersilie
Multigrain Flour=Mehrkornmehl Pea Pod=Erbsenschote
Pea=Erbse
Peppercorn=Pfefferkorn
Green Pepper=Grüne Paprika
Yellow Pepper=Gelbe Paprika
Red Pepper=Rote Paprika
Pepper=Paprika
Pineapple Top=Ananasdeckel
Pineapple=Ananas
Potato=Kartoffel
Pumpkin Slice=Kürbisscheibe
Pumpkin=Kürbis
Raspberries=Himbeeren
Raspberry=Himbeere
Rhubarb=Rhabarber
Rice Seed=Reissamen
Rice=Reis
Rye seed=Roggensamen
Rye=Roggen
Oat seed=Hafersamen Oat seed=Hafersamen
Oats=Hafer Oats=Hafer
Onion=Zwiebel Soy Pod=Sojaschote
Onion Soup=Zwiebelsuppe Soy=Soja
Orange=Apfelsine Spinach=Spinat
Pasta=Pasta
Pea Pod=Erbsenschote
Pea Soup=Erbsensuppe
Peas=Erbsen
Pepper=Pfeffer
Peppercorn=Pfefferkorn
Pineapple=Ananas
Pineapple Juice=Ananassaft
Pineapple Ring=Ananasscheibe
Pineapple Top=Ananasdeckel
Porridge=Haferbrei
Potato=Kartoffel
Pumpkin=Kürbis
Pumpkin Bread=Kürbisbrot
Pumpkin Dough=Kürbisteig
Pumpkin Slice=Kürbisscheibe
Raspberries=Himbeeren
Raspberry Smoothie=Himbeersmoothie
Rhubarb=Rhabarber
Rhubarb Pie=Rhabarberkuchen
Rice=Reis
Rice Bread=Reiswaffel
Rice Flour=Reismehl
Rice grains=Reissaat
Rose Water=Rosenwasser
Rye=Roggen
Rye seed=Roggensaat
Salt=Salz
Saucepan=Kasserolle
Savanna Soil=Savannaerde
Scarecrow Bottom=Vogelscheuchengestell
Seed=Saatgut
Skillet=Bratpfanne
Sliced Bread=Geschnittenes Brot
Soil=Ackerboden
Spaghetti=Spaghetti
Steel Hoe=Stahlhacke
Stone Hoe=Steinhacke
Straw=Stroh
Strawberry=Erdbeere Strawberry=Erdbeere
String=Faden Sunflower Seeds=Sonnenblumensamen
Sugar=Zucker Sunflower=Sonnenblume
Toast=Toast
Toast Sandwich=Toast Sandwich
Tomato=Tomate Tomato=Tomate
Trellis (place on soil before planting grapes)=Spalier (vor dem Pflanzen der Weintrauben auf den\nAckerboden stellen) Vanilla=Vanille
Turkish Delight=Lokum Wheat Seed=Weizensamen
Wet Savanna Soil=Feuchte Savannaerde
Wet Soil=Bewässerter Ackerboden
Wheat=Weizen Wheat=Weizen
Wheat Seed=Weizenkörner Hoe=Hacke
Wild Cotton=Wilde Baumwolle
Wooden Bowl=Holzschale
Wooden Hoe=Holzhacke Wooden Hoe=Holzhacke
Stone Hoe=Steinhacke
Steel Hoe=Stahlhacke
Bronze Hoe=Bronzehacke
Mese Hoe=Mesehacke
Diamond Hoe=Diamanthacke
Wood Hoe=Holzhacke
Hoe Bomb (use or throw on grassy areas to hoe land)=Hackenbombe (Auf Grasland werfen oder benutzen,@num Land zu bestellen)
Mithril Scythe (Use to harvest and replant crops)=Mithrilsichel (Benutzen, um Nutzpflanzen zu ernten und neu zu pflanzen)
Seed=Saatgut
Flour=Mehl
Garlic Braid=Knoblauchzopf
Corn on the Cob=Maiskolben
Popcorn=Popcorn
Cornstarch=Speisestärke
Cup of Coffee=Tasse Kaffee
Bar of Dark Chocolate=Tafel Zartbitterschokolade
Chocolate Block=Schokoladenblock
Bowl of Chili=Schüssel mit Chili
Chili Powder=Chilipulver
Carrot Juice=Möhrensaft
Blueberry Pie=Blaubeerkuchen
Blueberry Muffin=Blaubeermuffin
Tomato Soup=Tomatensuppe
Sliced Bread=Geschnittenes Brot
Toast=Toast
Toast Sandwich=Toast-Sandwich
Glass of Water=Glas Wasser
Sugar Cube=Zuckerwürfel
Caramel=Karamell
Salt=Salz
Salt crystal=Salzkristall
Mayonnaise=Mayonnaise
Rose Water=Rosenwasser
Turkish Delight=Lokum
Garlic Bread=Knoblauchbrot
Donut=Donut
Chocolate Donut=Schokodonut
Apple Donut=Apfeldonut
Porridge=Haferbrei
Jaffa Cake=Jaffa
Apple Pie=Apfelkuchen
Cactus Juice=Kaktussaft
Pasta=Pasta
Mac & Cheese=Makkaroni mit Käse
Spaghetti=Spaghetti
Bibimbap=Bibimbap
Burger=Burger
Salad=Salat
Triple Berry Smoothie=Dreibeersmoothie
Spanish Potatoes=Spanische Kartoffeln
Potato omelette=Kartoffelomelette
Paella=Paella
Vanilla Flan=Vanilletorte
Vegan Cheese=Veganer Käse
Vegan Butter=Vegane Butter
Onigiri=Onigiri
Gyoza=Gyoza
Mochi=Mochi
Gingerbread Man=Lebkuchenmann
Mint Tea=Minztee
Onion Soup=Zwiebelsuppe
Pea Soup=Erbsensuppe
Ground Pepper=Gemahlener Pfeffer
Pineapple Ring=Ananasscheibe
Pineapple Juice=Ananassaft
Cucumber and Potato Salad=Gurken-Kartoffelsalat
Pumpkin Dough=Kürbisteig
Pumpkin Bread=Kürbisbrot
Raspberry Smoothie=Himbeersmoothie
Rhubarb Pie=Rhabarberkuchen
Rice Flour=Reismehl
Rice Bread=Reiswaffel
Multigrain Flour=Mehrkornmehl
Multigrain Bread=Mehrkornbrot
Soy Sauce=Sojasoße
Soy Milk=Sojamilch
Tofu=Tofu
Cooked Tofu=Gekochter Tofu
Toasted Sunflower Seeds=Geröstete Sonnenblumensamen
Bottle of Sunflower Oil=Flasche Sonnenblumenöl
Sunflower Seed Bread=Sonnenblumensamenbrot
Vanilla Extract=Vanilleextrakt
Jerusalem Artichokes=Jerusalemartischocken
Bread=Brot
Cookie=Keks
Golden Carrot=Goldene Möhre
Beetroot Soup=Rote-Beete-Suppe
Sugar=Zucker
Baked Potato=Ofenkartoffel
Saucepan=Kasserolle
Cooking Pot=Kochtopf
Baking Tray=Kuchenblech
Skillet=Bratpfanne
Mortar and Pestle=Mörser und Stößel
Cutting Board=Schneidebrett
Juicer=Entsafter
Glass Mixing Bowl=Glasschüssel
Bottle of Ethanol=Flasche Ethanol
Straw=Stroh
Bottle of Hemp Oil=Flasche mit Hanföl
Hemp Fibre=Hanffaser
Hemp Block=Hanfblock
Hemp Rope=Hanfseil
Scarecrow Bottom=Vogelscheuchengestell
Wooden Bowl=Holzschale
String=Faden
Jack 'O Lantern (punch to turn on and off)=Kürbislaterne (Hauen zum Ein- und Ausschalten)
Savanna Soil=Savannenerde
Wet Savanna Soil=Feuchte Savannenerde
Soil=Ackerboden
Wet Soil=Feuchter Ackerboden

View File

@ -1,134 +1,186 @@
# textdomain:farming # textdomain: farming
#%s Hoe= Crop=
#Apple Donut= Artichoke=
#Apple Pie= Asparagus=
#Baked Potato= Barley Seed=
#Baking Tray= Barley=
#Banana= Green Beans=
#Banana Leaves= Bean Pole (place on soil before planting beans)=
#Bar of Dark Chocolate= Beetroot=
#Barley= Beetroot Soup=
#Barley Seed= Blackberry=
#Bean Pole (place on soil before planting beans)= Blackberries=
#Beetroot= Wild Blueberries=
#Beetroot Soup= Blueberry=
#Bibimbap= Blueberry Muffin=
#Wild Blueberries= Blueberry Pie=
#Blueberry Muffin= Cabbage=
#Blueberry Pie= Carrot=
#Bottle of Ethanol= Carrot Juice=
#Bottle of Hemp Oil= Golden Carrot=
#Bowl of Chili= Chili Pepper=
#Bread= Bowl of Chili=
#Bronze Hoe= Chili Powder=
#Cabbage= Raw Cocoa Beans=
#Cactus Juice= Cocoa Beans=
#Carrot= Cookie=
#Carrot Juice= Bar of Dark Chocolate=
#Chili Pepper= Chocolate Block=
#Chocolate Block= Coffee=
#Chocolate Donut= Coffee Beans=
#Cocoa Beans= Cup of Coffee=
#Coffee Beans= Banana=
#Cookie= Banana Leaves=
#Cooking Pot= Orange=
#Corn= Corn=
#Corn on the Cob= Corn on the Cob=
#Cornstarch= Popcorn=
#Cotton= Cornstarch=
#Cotton Seed= Bottle of Ethanol=
#Cucumber= Wild Cotton=
#Cucumber and Potato Salad= Cotton Seed=
#Cup of Coffee= Cotton=
#Cutting Board= String=
#Diamond Hoe= Cucumber=
#Donut= Eggplant=
#Flour= Glass of Water=
#Garlic= Sugar=
#Garlic Braid= Sugar Cube=
#Garlic Bread= Caramel=
#Garlic clove= Salt=
#Glass Mixing Bowl= Mayonnaise=
#Golden Carrot= Rose Water=
#Grapes= Turkish Delight=
#Green Beans= Garlic Bread=
#Ground Pepper= Donut=
#Hemp Block= Chocolate Donut=
#Hemp Fibre= Apple Donut=
#Hemp Leaf= Porridge=
#Hemp Rope= Jaffa Cake=
#Hemp Seed= Apple Pie=
#Hoe= Cactus Juice=
#Hoe Bomb (use or throw on grassy areas to hoe land)= Pasta=
#Jack 'O Lantern (punch to turn on and off)= Mac & Cheese=
#Jaffa Cake= Spaghetti=
#Juicer= Bibimbap=
#Melon= Burger=
#Melon Slice= Salad=
#Mese Hoe= Triple Berry Smoothie=
#Mint Leaf= Spanish Potatoes=
#Mint Seeds= Potato omelet=
#Mint Tea= Paella=
#Mithril Scythe (Right-click to harvest and replant crops)= Vanilla Flan=
#Mortar and Pestle= Vegan Cheese=
#Multigrain Bread= Onigiri=
#Multigrain Flour= Gyoza=
#Oat seed= Mochi=
#Oats= Gingerbread Man=
#Onion= Garlic clove=
#Onion Soup= Garlic=
#Orange= Garlic Braid=
#Pasta= Ginger=
#Pea Pod= Grapes=
#Pea Soup= Trellis (place on soil before planting grapes)=
#Peas= Hemp=
#Pepper= Hemp Seed=
#Peppercorn= Hemp Leaf=
#Pineapple= Bottle of Hemp Oil=
#Pineapple Juice= Hemp Fibre=
#Pineapple Ring= Hemp Block=
#Pineapple Top= Hemp Rope=
#Porridge= Hoe=
#Potato= Wooden Hoe=
#Pumpkin= Stone Hoe=
#Pumpkin Bread= Steel Hoe=
#Pumpkin Dough= Bronze Hoe=
#Pumpkin Slice= Mese Hoe=
#Raspberries= Diamond Hoe=
#Raspberry Smoothie= Wood Hoe=
#Rhubarb= Hoe Bomb (use or throw on grassy areas to hoe land)=
#Rhubarb Pie= Mithril Scythe (Use to harvest and replant crops)=
#Rice= Seed=
#Rice Bread= Lettuce=
#Rice Flour= Melon Slice=
#Rice grains= Melon=
#Rose Water= Mint=
#Rye= Mint Seeds=
#Rye seed= Mint Leaf=
#Salt= Mint Tea=
#Saucepan= Onion=
#Savanna Soil= Onion Soup=
#Scarecrow Bottom= Parsley=
#Seed= Pea=
#Skillet= Pea Pod=
#Sliced Bread= Pea Soup=
#Soil= Pepper=
#Spaghetti= Peppercorn=
#Steel Hoe= Green Pepper=
#Stone Hoe= Yellow Pepper=
#Straw= Red Pepper=
#Strawberry= Ground Pepper=
#String= Pineapple Top=
#Sugar= Pineapple=
#Toast= Pineapple Ring=
#Toast Sandwich= Pineapple Juice=
#Tomato= Potato=
#Trellis (place on soil before planting grapes)= Baked Potato=
#Turkish Delight= Cucumber and Potato Salad=
#Wet Savanna Soil= Pumpkin Slice=
#Wet Soil= Jack 'O Lantern (punch to turn on and off)=
#Wheat= Scarecrow Bottom=
#Wheat Seed= Pumpkin Bread=
#Wild Cotton= Pumpkin Dough=
#Wooden Bowl= Pumpkin=
#Wooden Hoe= Raspberry=
Raspberries=
Raspberry Smoothie=
Rhubarb=
Rhubarb Pie=
Rice Seed=
Rice=
Rice Bread=
Rice Flour=
Rye seed=
Rye=
Oat seed=
Oats=
Multigrain Flour=
Multigrain Bread=
Savanna Soil=
Wet Savanna Soil=
Soil=
Wet Soil=
Soy=
Soy Pod=
Soy Sauce=
Soy Milk=
Tofu=
Cooked Tofu=
Spinach=
Strawberry=
Sunflower=
Sunflower Seeds=
Toasted Sunflower Seeds=
Bottle of Sunflower Oil=
Sunflower Seed Bread=
Tomato=
Tomato Soup=
Wooden Bowl=
Saucepan=
Cooking Pot=
Baking Tray=
Skillet=
Mortar and Pestle=
Cutting Board=
Juicer=
Glass Mixing Bowl=
Vanilla=
Vanilla Extract=
Wheat Seed=
Wheat=
Straw=
Flour=
Bread=
Sliced Bread=
Toast=
Toast Sandwich=

176
locale/farming.eo.tr Normal file
View File

@ -0,0 +1,176 @@
# textdomain: farming
Artichoke=
Asparagus=
Barley Seed=Hordea Semo
Barley=Hordeo
Green Beans=Verdaj Fazeoloj
Bean Pole (place on soil before planting beans)=Fazeola Poluso (metu sur grundo antaŭ planti fabojn)
Beetroot=Betoto
Beetroot Soup=Betota Supo
Blackberries=
Wild Blueberries=
Blueberry Muffin=Mirtila Mufino
Blueberry Pie=Mirtila Torto
Cabbage=
Carrot=Karoto
Carrot Juice=Karota Suko
Golden Carrot=Ora Karoto
Chili Pepper=Kapsiketo
Bowl of Chili=Bovlo da Kapsiketo
Chili Powder=
Raw Cocoa Beans=
Cocoa Beans=Kakaa Faboj
Cookie=Kuketo
Bar of Dark Chocolate=Stango de Malhela Ĉokolado
Chocolate Block=Bloko de Ĉokolado
Coffee Beans=Kafaj Seboj
Cup of Coffee=Taso da Kafo
Banana=Banano
Banana Leaves=Bananaj Folioj
Orange=Oranĝo
Corn=Maizo
Corn on the Cob=Maiza sur la Spadiko
Popcorn=
Cornstarch=Maizamelo
Bottle of Ethanol=Botelo da Etanolo
Wild Cotton=
Cotton Seed=Kotona Semo
Cotton=Kotono
String=Ŝnuro
Cucumber=Kukumo
Eggplant=
Glass of Water=
Sugar=Sukero
Sugar Cube=
Caramel=
Salt=Salo
Mayonnaise=
Rose Water=Roza Akvo
Turkish Delight=Turka Delico
Garlic Bread=Ajla Pano
Donut=Benjeto
Chocolate Donut=Ĉokolada Benjeto
Apple Donut=Poma Benjeto
Porridge=Kaĉo
Jaffa Cake=Jafa Kuko
Apple Pie=
Cactus Juice=
Pasta=
Mac & Cheese=
Spaghetti=
Bibimbap=
Burger=
Salad=
Triple Berry Smoothie=
Spanish Potatoes=
Potato omelet=
Paella=
Vanilla Flan=
Vegan Cheese=
Onigiri=
Gyoza=
Mochi=
Gingerbread Man=
Garlic clove=Ajlokloko
Garlic=Ajlo
Garlic Braid=Ajla Plektaĵo
Ginger=
Grapes=Vinberoj
Trellis (place on soil before planting grapes)=Trellis (meti sur grundo antaŭ planti vinberojn)
Hemp Seed=Kanaba Semo
Hemp Leaf=Kanaba Folio
Bottle of Hemp Oil=Botelo da Kanaba Oleo
Hemp Fibre=Kanaba Fibro
Hemp Block=Kanaba Bloko
Hemp Rope=Kanaba Ŝnuro
Hoe=Sarkilo
Wooden Hoe=Ligna Sarkilo
Stone Hoe=Ŝtona Sarkilo
Steel Hoe=Ŝtala Sarkilo
Bronze Hoe=Bronza Sarkilo
Mese Hoe=Mesea Sarkilo
Diamond Hoe=Diamanta Sarkilo
Wood Hoe=
Hoe Bomb (use or throw on grassy areas to hoe land)=
Mithril Scythe (Use to harvest and replant crops)=
Seed=Semo
Lettuce=
Melon Slice=Tranĉaĵo de Melono
Melon=Melono
Mint Seeds=
Mint Leaf=
Mint Tea=
Onion=Cepo
Onion Soup=
Parsley=
Pea Pod=Pizujo
Pea Soup=Piza Supo
Peppercorn=Piprograjno
Green Pepper=
Yellow Pepper=
Red Pepper=
Ground Pepper=Muelita Pipro
Pineapple Top=Pinto de Ananaso
Pineapple=Ananaso
Pineapple Ring=Ananasa Ringo
Pineapple Juice=Ananasa Suko
Potato=Terpomo
Baked Potato=Bakita Terpomo
Cucumber and Potato Salad=Salato de Kukumo kaj Terpomo
Pumpkin Slice=Tranĉaĵo de Kukurbo
Jack 'O Lantern (punch to turn on and off)=Kukurba Lanterno (punu por ŝalti kaj malŝalti)
Scarecrow Bottom=Birdotimigilo Fundo
Pumpkin Bread=Kukurba Pano
Pumpkin Dough=Kukurba Pasto
Pumpkin=Kukurbo
Raspberries=Framboj
Raspberry Smoothie=Fraba Glataĵo
Rhubarb=Rabarbo
Rhubarb Pie=Rabarba Torto
Rice Seed=
Rice=Rizo
Rice Bread=Riza Pano
Rice Flour=Riza Faruno
Rye seed=Sekala Semo
Rye=Sekalo
Oat seed=Avena Semo
Oats=
Multigrain Flour=Multgrajna Faruno
Multigrain Bread=Multgrajna Pano
Savanna Soil=
Wet Savanna Soil=
Soil=Tero
Wet Soil=Malseka Tero
Soy Pod=
Soy Sauce=
Soy Milk=
Tofu=
Cooked Tofu=
Spinach=
Strawberry=Frago
Sunflower=
Sunflower Seeds=
Toasted Sunflower Seeds=
Bottle of Sunflower Oil=
Sunflower Seed Bread=
Tomato=Tomato
Tomato Soup=
Wooden Bowl=Ligna Bovlo
Saucepan=Kaserolo
Cooking Pot=Kuirpoto
Baking Tray=Baka Pleto
Skillet=Pato
Mortar and Pestle=Pistujo
Cutting Board=Tranĉa Tabulo
Juicer=Spremilo
Glass Mixing Bowl=Vitra Miksa Bovlo
Vanilla=
Vanilla Extract=
Wheat Seed=Tritika Semo
Wheat=Tritiko
Straw=Pajlo
Flour=Faruno
Bread=Pano
Sliced Bread=Tranĉita Pano
Toast=Toasto
Toast Sandwich=Toasta Sandviĉo

177
locale/farming.es.tr Normal file
View File

@ -0,0 +1,177 @@
# textdomain: farming
Banana=Banana
Banana Leaves=Hojas de Banana
Orange=Naranja
Artichoke=Alcachofa
Asparagus=Esparragos
Barley Seed=Semillas de Cebada
Barley=Cebada
Green Beans=Frijoles
Bean Pole (place on soil before planting beans)=Varas para frijoles (colocar antes de plantar frijoles)
Beetroot=Remolacha
Beetroot Soup=Sopa de Remolacha
Blackberries=Zarzamoras
Wild Blueberries=Arándanos
Blueberry Muffin=Bizcocho de Arándanos
Blueberry Pie=Pastel de Arándanos
Cabbage=Coliflor
Carrot=Zanahoria
Carrot Juice=Zumo de Zanahoria
Golden Carrot=Zanahoria Dorada
Chili Pepper=Guindilla
Bowl of Chili=Tazón de chile
Chili Powder=Chile en polvo
Raw Cocoa Beans=Granos de Cacao Verde
Cocoa Beans=Granos de Cacao
Cookie=Galleta
Bar of Dark Chocolate=Barra de Chocolate amargo
Chocolate Block=Bloque de Chocolate
Coffee Beans=Granos de Café
Cup of Coffee=Taza de Café
Corn=Mazorca de Maiz
Corn on the Cob=Mazorca Frita
Popcorn=Palomitas
Cornstarch=Maicena
Bottle of Ethanol=Botella de Etanol
Wild Cotton=Algodón silvestre
Cotton Seed=Semillas de Algodón
Cotton=Algodón
String=Cuerda
Cucumber=Pepino
Eggplant=Berenjena
Garlic clove=Diente de Ajo
Garlic=Ajo
Garlic Braid=Ristra de Ajos
Ginger=Jengibre
Grapes=Uvas
Trellis (place on soil before planting grapes)=Emparrado (colocar antes de sembrar uvas)
Hemp Seed=Semillas de Cáñamo
Hemp Leaf=Hoja de Cáñamo
Bottle of Hemp Oil=Aceite de Cáñamo
Hemp Fibre=Fibra de Cáñamo
Hemp Block=Bloque de Cáñamo
Hemp Rope=Cuerda de Cáñamo
Lettuce=Lechuga
Melon Slice=Rodaja de Sandia
Melon=Sandia
Mint Seeds=Semillas de Menta
Mint Leaf=Hoja de Menta
Mint Tea=Té de Menta
Onion=Cebolla
Onion Soup=Sopa de Cebolla
Parsley=Perejil
Pea Pod=Vaina de Guisantes
Pea Soup=Sopa de Guisantes
Peppercorn=Pimienta en Grano
Green Pepper=Pimiento Verde
Yellow Pepper=Pimiento Amarillo
Red Pepper=Pimiento Rojo
Ground Pepper=Pimienta Molida
Pineapple Top=Semilla de Piña
Pineapple=Piña
Pineapple Ring=Rodaja de Piña
Pineapple Juice=Zumito de Piña
Potato=Patata
Baked Potato=Papa Asada
Cucumber and Potato Salad=Ensalada de Pepino y Patatas
Pumpkin Slice=Trozo de Calabaza
Jack 'O Lantern (punch to turn on and off)=Linterna Calabaza (golpear para encender o apagar)
Scarecrow Bottom=Cuerpo de Espantapájaros
Pumpkin Bread=Pan de Calabaza
Pumpkin Dough=Pasta de Calabaza
Pumpkin=Calabaza
Raspberries=Frambuesas
Raspberry Smoothie=Crema de Frambuesas
Rhubarb=Ruibarbo
Rhubarb Pie=Bizcocho de Ruibarbo
Rice Seed=Granos de Arroz
Rice=Arroz
Rice Bread=Pan de Arroz
Rice Flour=Harina de Arroz
Rye seed=Semillas de Centeno
Rye=Centeno
Oat seed=Semillas de Avena
Oats=Avena
Multigrain Flour=Harina Multigrano
Multigrain Bread=Pan Multigrano
Soy Pod=Vaina de Soja
Soy Sauce=Aceite de Soja
Soy Milk=Leche de Soja
Tofu=Tofu
Cooked Tofu=Tofu Cocinado
Spinach=Espinacas
Strawberry=Fresa
Sunflower=Girasol
Sunflower Seeds=Semillas de Girasol
Toasted Sunflower Seeds=Pipas de Girasol
Bottle of Sunflower Oil=Aceite de Girasol
Sunflower Seed Bread=Pan con Pipas
Tomato=Tomate
Tomato Soup=Sopa de Tomate
Vanilla=Vainilla
Vanilla Extract=Extracto de Vainilla
Wheat Seed=Semillas de Trigo
Wheat=Trigo
Straw=Heno
Flour=Harina
Bread=Pan
Sliced Bread=Rebanada de Pan
Toast=Tostada
Toast Sandwich=Bocadillo de Pan
Glass of Water=Vaso de Agua
Sugar=Azucar
Sugar Cube=Bloque de Azucar
Caramel=Caramelo
Salt=Sal
Salt crystal=Cristal de Sal
Mayonnaise=Mayonesa
Rose Water=Agua de Rosas
Turkish Delight=Delicias Turcas
Garlic Bread=Pan con Ajito
Donut=Rosquilla
Chocolate Donut=Rosquilla de Chocolate
Apple Donut=Rosquilla de Manzana
Porridge=Gachas
Jaffa Cake=Galleta Jaffa
Apple Pie=Pastel de Manzana
Cactus Juice=Zumo de Cactus
Pasta=Pasta
Mac & Cheese=Pasta con queso
Spaghetti=Espaguetis
Bibimbap=Bibimbap
Burger=Hamburguesa
Salad=Ensalada
Triple Berry Smoothie=Helado Multifrutas
Spanish Potatoes=Tortilla Española
Potato omelet=Tortilla de Patatas
Paella=Paella
Vanilla Flan=Flan de Vainilla
Vegan Cheese=Queso Vegano
Onigiri=Onigiri
Gyoza=Empanadilla Japonesa
Mochi=Mochi
Gingerbread Man=Moñequito de Jengibre
Hoe=Azada
Wooden Hoe=Azada de Madera
Stone Hoe=Azada de Piedra
Steel Hoe=Azada de Acero
Bronze Hoe=Azada de Bronce
Mese Hoe=Azada de Mese
Diamond Hoe=Azada de Diamante
Wood Hoe=Azada de Madera
Hoe Bomb (use or throw on grassy areas to hoe land)=Bomba Azada (usar o lanzar a tierra para ararla)
Mithril Scythe (Use to harvest and replant crops)=Guadaña de Mithril
Seed=Semilla
Savanna Soil=Tierra de Cultivo de Sabana
Wet Savanna Soil=Tierra de Cultivo de Sabana Humeda
Soil=Tierra de Cultivo
Wet Soil=Tierra de Cultivo Humeda
Wooden Bowl=Cuenco de Madera
Saucepan=Cazo
Cooking Pot=Olla
Baking Tray=Bandeja para Hornear
Skillet=Sartén
Mortar and Pestle=Mortero
Cutting Board=Tabla de cortar
Juicer=Exprimidor
Glass Mixing Bowl=Bol de Mezcla

View File

@ -1,134 +1,177 @@
# textdomain:farming # textdomain: farming
%s Hoe=Binette de %s
Apple Donut=Beignet aux pommes
Apple Pie=Tarte aux pommes
Baked Potato=Pomme de terre cuite
Baking Tray=Lèche-frite
Banana=Banane Banana=Banane
Banana Leaves=Feuilles de banane Banana Leaves=Feuilles de banane
Bar of Dark Chocolate=Tablette de chocolat noir Orange=Orange
Barley=Orge Artichoke=Artichaut
Asparagus=Asperge
Barley Seed=Graine d'orge Barley Seed=Graine d'orge
Barley=Orge
Green Beans=Haricots verts
Bean Pole (place on soil before planting beans)=Tuteur pour haricots (placer sur le sol avant de planter des haricots) Bean Pole (place on soil before planting beans)=Tuteur pour haricots (placer sur le sol avant de planter des haricots)
Beetroot=Betterave Beetroot=Betterave
Beetroot Soup=Soupe de betterave Beetroot Soup=Soupe de betterave
Bibimbap=Bibimbap Blackberries=Mûres
Wild Blueberries=Myrtilles Sauvages Wild Blueberries=Myrtilles sauvages
Blueberry Muffin=Muffin aux myrtilles Blueberry Muffin=Muffin aux myrtilles
Blueberry Pie=Tarte aux myrtilles Blueberry Pie=Tarte aux myrtilles
Bottle of Ethanol=Bouteille d'éthanol
Bottle of Hemp Oil=Bouteille d'huile de chanvre
Bowl of Chili=Bol de chilli
Bread=Pain
Bronze Hoe=Binette en bronze
Cabbage=Chou Cabbage=Chou
Cactus Juice=Jus de cactus
Carrot=Carotte Carrot=Carotte
Carrot Juice=Jus de carotte Carrot Juice=Jus de carotte
Golden Carrot=Carotte dorée
Chili Pepper=Piment fort Chili Pepper=Piment fort
Chocolate Block=Bloc de chocolat Bowl of Chili=Bol de chilli
Chocolate Donut=Beignet au chocolat Chili Powder=Poudre de piment
Raw Cocoa Beans=Fèves de cacao brutes
Cocoa Beans=Fèves de cacao Cocoa Beans=Fèves de cacao
Coffee Beans=Grains de café
Cookie=Biscuit Cookie=Biscuit
Cooking Pot=Marmitte Bar of Dark Chocolate=Tablette de chocolat noir
Corn=Maïs Chocolate Block=Bloc de chocolat
Corn on the Cob=Maïs cuit Coffee Beans=Grains de café
Cornstarch=Fécule de maïs
Cotton=Coton
Cotton Seed=Graines de coton
Cucumber=Concombre
Cucumber and Potato Salad=Salade de pomme de terre et concombre
Cup of Coffee=Tasse de café Cup of Coffee=Tasse de café
Cutting Board=Planche à découper Corn=Maïs
Diamond Hoe=Binette en diamant Corn on the Cob=Cobette (maïs cuit)
Donut=Beignet Popcorn=Popcorn
Flour=Farine Cornstarch=Fécule de maïs
Bottle of Ethanol=Bouteille d'éthanol
Wild Cotton=Coton sauvage
Cotton Seed=Graines de coton
Cotton=Coton
String=Ficelle
Cucumber=Concombre
Eggplant=Aubergine
Garlic clove=Gousse d'ail
Garlic=Tête d'ail Garlic=Tête d'ail
Garlic Braid=Ail tressé Garlic Braid=Ail tressé
Garlic Bread=Pain à l'ail Ginger=Gingembre
Garlic clove=Gousse d'ail
Glass Mixing Bowl=Terrine en verre
Golden Carrot=Carotte dorée
Grapes=Raisins Grapes=Raisins
Green Beans=Haricots verts Trellis (place on soil before planting grapes)=Treillis (placer sur le sol avant de planter la vigne)
Ground Pepper=Poivre moulu
Hemp Block=Bloc de chanvre
Hemp Fibre=Fibre de chanvre
Hemp Leaf=Feuille de chanvre
Hemp Rope=Corde de chanvre
Hemp Seed=Graines de chanvre Hemp Seed=Graines de chanvre
Hoe=Binette Hemp Leaf=Feuille de chanvre
Hoe Bomb (use or throw on grassy areas to hoe land)=Bombe à binnage (Actionner ou lancer sur une zone herbeuse pour la binner) Bottle of Hemp Oil=Bouteille d'huile de chanvre
Jack 'O Lantern (punch to turn on and off)=Jack 'O Lantern (Frapper pour allumer et éteindre) Hemp Fibre=Fibre de chanvre
Jaffa Cake=Petit gâteau à l'orange "Jaffa" Hemp Block=Bloc de chanvre
Juicer=Presse-agrumes Hemp Rope=Corde de chanvre
Melon=Melon Lettuce=Laitue
Melon Slice=Tranche de melon Melon Slice=Tranche de melon
Mese Hoe=Binette en mese Melon=Melon
Mint Leaf=Feuille de menthe
Mint Seeds=Graine de menthe Mint Seeds=Graine de menthe
Mint Leaf=Feuille de menthe
Mint Tea=Thé à la menthe Mint Tea=Thé à la menthe
Mithril Scythe (Right-click to harvest and replant crops)=Faux en mithril (Récolte et replante des graines)
Mortar and Pestle=Mortier et pilon
Multigrain Bread=Pain aux céréales
Multigrain Flour=Farine multi-céréales
Oat seed=Grains d'orge
Oats=Avoine
Onion=Oignon Onion=Oignon
Onion Soup=Soupe à l'oignon Onion Soup=Soupe à l'oignon
Orange=Orange Parsley=Persil
Pasta=Pâtes
Pea Pod=Cosse de petit-pois Pea Pod=Cosse de petit-pois
Pea Soup=Soupe de petit-pois Pea Soup=Soupe de petit-pois
Peas=Petit-pois
Pepper=Poivron
Peppercorn=Grain de poivre Peppercorn=Grain de poivre
Pineapple=Ananas Green Pepper=Poivron vert
Pineapple Juice=Jus d'ananas Yellow Pepper=Poivron jaune
Pineapple Ring=Tranche d'ananas Red Pepper=Poivron rouge
Ground Pepper=Poivre moulu
Pineapple Top=Pousse d'ananas Pineapple Top=Pousse d'ananas
Porridge=Gruau de céréales Pineapple=Ananas
Pineapple Ring=Tranche d'ananas
Pineapple Juice=Jus d'ananas
Potato=Pomme de terre Potato=Pomme de terre
Pumpkin=Citrouille Baked Potato=Pomme de terre cuite
Cucumber and Potato Salad=Salade de pomme de terre et concombre
Pumpkin Slice=Tranche de citrouille
Jack 'O Lantern (punch to turn on and off)=Citrouille d'halloween (Frapper pour allumer et éteindre)
Scarecrow Bottom=Base d'épouventail
Pumpkin Bread=Pain à la citrouille Pumpkin Bread=Pain à la citrouille
Pumpkin Dough=Pâton de pain à la citrouille Pumpkin Dough=Pâton de pain à la citrouille
Pumpkin Slice=Tranche de citrouille Pumpkin=Citrouille
Raspberries=Framboises Raspberries=Framboises
Raspberry Smoothie=Smoothie aux framboises Raspberry Smoothie=Smoothie aux framboises
Rhubarb=Rhubarbe Rhubarb=Rhubarbe
Rhubarb Pie=Tarte à la rhubarbe Rhubarb Pie=Tarte à la rhubarbe
Rice Seed=Riz
Rice=Riz Rice=Riz
Rice Bread=Pain de riz Rice Bread=Pain de riz
Rice Flour=Farine de riz Rice Flour=Farine de riz
Rice grains=Grain de riz
Rose Water=Eau de rose
Rye=Seigle
Rye seed=Grains de seigle Rye seed=Grains de seigle
Salt=Sel Rye=Seigle
Saucepan=Casserole Oat seed=Grains d'orge
Savanna Soil=Terre de la savane binnée Oats=Avoine
Scarecrow Bottom=Base d'épouventail Multigrain Flour=Farine multi-céréales
Seed=Graine Multigrain Bread=Pain aux céréales
Skillet=Poêle Soy Pod=Cosse de soja
Sliced Bread=Tranche de Pain Soy Sauce=Sauce de soja
Soil=Terre binnée Soy Milk=Lait de soja
Spaghetti=Spaghetti Tofu=Tofu
Steel Hoe=Binette en acier Cooked Tofu=Tofu cuit
Stone Hoe=Binette en pierre Spinach=Épinard
Straw=Paille
Strawberry=Fraise Strawberry=Fraise
String=Ficelle Sunflower=Tournesol
Sugar=Sucre Sunflower Seeds=Graines de tournesol
Toasted Sunflower Seeds=Graines de tournesol grillées
Bottle of Sunflower Oil=Bouteille d'huile de tournesol
Sunflower Seed Bread=Pain de graines de tournesol
Tomato=Tomate
Tomato Soup=Soupe de tomate
Vanilla=Vanille
Vanilla Extract=Extrait de vanille
Wheat Seed=Grain de blé
Wheat=Blé
Straw=Paille
Flour=Farine
Bread=Pain
Sliced Bread=Tranche de pain
Toast=Pain grillé Toast=Pain grillé
Toast Sandwich=Sandwich au pain grillé Toast Sandwich=Sandwich au pain grillé
Tomato=Tomate Glass of Water=Verre d'eau
Trellis (place on soil before planting grapes)=Treillis (placer sur le sol avant de planter la vigne) Sugar=Sucre
Sugar Cube=Morceau de sucre
Caramel=Caramel
Salt=Sel
Salt crystal=Cristaux de sel
Mayonnaise=Mayonnaise
Rose Water=Eau de rose
Turkish Delight=Douceur turque Turkish Delight=Douceur turque
Wet Savanna Soil=Terre humide et binnée de la savane Garlic Bread=Pain à l'ail
Wet Soil=Terre humide et binnée Donut=Beignet
Wheat=Blé Chocolate Donut=Beignet au chocolat
Wheat Seed=Grain de blé Apple Donut=Beignet aux pommes
Wild Cotton=Coton sauvage Porridge=Gruau de céréales
Wooden Bowl=Bol en bois Jaffa Cake=Petit gâteau à l'orange "Jaffa"
Apple Pie=Tarte aux pommes
Cactus Juice=Jus de cactus
Pasta=Pâtes
Mac & Cheese=Grâtin de pâtes
Spaghetti=Spaghetti
Bibimbap=Bibimbap
Burger=Hamburger
Salad=Salade verte
Triple Berry Smoothie=Smoothie aux trois baies
Spanish Potatoes=Patates sautées à l'Espagnole
Potato omelet=Omelette aux pommes de terre
Paella=Paëlla
Vanilla Flan=Flan
Vegan Cheese=Faumage végan
Onigiri=Onigiri
Gyoza=Gyoza
Mochi=Mochi
Gingerbread Man=Bonhomme en pain d'épice
Hoe=Binette
Wooden Hoe=Binette en bois 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
Wood Hoe=Binette en bois
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 (Use to harvest and replant crops)=Faux de mithril (Utiliser pour récolter et replanter les cultures)
Seed=Graine
Savanna Soil=Terre de la savane binnée
Wet Savanna Soil=Terre humide et binnée de la savane
Soil=Terre binnée
Wet Soil=Terre humide et binnée
Wooden Bowl=Bol en bois
Saucepan=Casserole
Cooking Pot=Marmitte
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

186
locale/farming.hu.tr Normal file
View File

@ -0,0 +1,186 @@
# textdomain: farming
Crop= Termény
Artichoke=Articsóka
Asparagus=Spárga
Barley Seed=Árpamag
Barley=Árpa
Green Beans=Zöldbab
Bean Pole (place on soil before planting beans)=Karó babhoz (szúrd a földbe és oda vess babot)
Beetroot=Cékla
Beetroot Soup=Céklaleves
Blackberry=Szeder
Blackberries=Szedrek
Wild Blueberries=Vadáfonya
Blueberry=Áfonya
Blueberry Muffin=Áfonyamuffin
Blueberry Pie=Áfonyatorta
Cabbage=Káposzta
Carrot=Répa
Carrot Juice=Répalé
Golden Carrot=Aranyrépa
Chili Pepper=Chilipaprika
Bowl of Chili=Chilis tál
Chili Powder=Chilipor
Raw Cocoa Beans=Nyers kakaóbab
Cocoa Beans=Kakaóbab
Cookie=Süti
Bar of Dark Chocolate=Étcsoki rúd
Chocolate Block=Csokoládé tömb
Coffee=Kávé
Coffee Beans=Kávébab
Cup of Coffee=Csésze kávé
Banana=Banán
Banana Leaves=Banánlevél
Orange=Narancs
Corn=Kukorica
Corn on the Cob=Főtt kukorica
Popcorn=Pattogatott kukorica
Cornstarch=Keményítő
Bottle of Ethanol=Üveg etanol
Wild Cotton=Vadgyapot
Cotton Seed=Gyapotmag
Cotton=Gyapot
String=Madzag
Cucumber=Uborka
Eggplant=Padlizsán
Glass of Water=Pohár víz
Sugar=Cukor
Sugar Cube=Kockacukor
Caramel=Karamell
Salt=Só
Mayonnaise=Majonéz
Rose Water=Rózsavíz
Turkish Delight=Török desszert
Garlic Bread=Fokhagymás kenyér
Donut=Fánk
Chocolate Donut=Csokis fánk
Apple Donut=Almás fánk
Porridge=Zabkása
Jaffa Cake=Jaffatorta
Apple Pie=Almáspite
Cactus Juice=Kaktuszlé
Pasta=Tészta
Mac & Cheese=Sajtos makaróni
Spaghetti=Spagetti
Bibimbap=Bibimbap
Burger=Burger
Salad=Saláta
Triple Berry Smoothie=Hárombogyós turmix
Spanish Potatoes=Tepsis krumpli
Potato omelet=Krumplis rántotta
Paella=Paella
Vanilla Flan=Vaníliás gyümölcstorta
Vegan Cheese=Vegán sajt
Onigiri=Onigiri
Gyoza=Gyoza
Mochi=Mochi
Gingerbread Man=Mézeskalács-emberke
Garlic clove=Fokhagymagerezd
Garlic=Fokhagyma
Garlic Braid=Fokhagymafüzér
Ginger=Gyömbér
Grapes=Szőlő
Trellis (place on soil before planting grapes)=Karó szőlőhöz (szúrd a földbe és oda vess szőlőt)
Hemp=Kender
Hemp Seed=Kendermag
Hemp Leaf=Kenderlevél
Bottle of Hemp Oil=Üveg kenderolaj
Hemp Fibre=Kenderrost
Hemp Block=Kender tömb
Hemp Rope=Kenderkötél
Hoe=Kapa
Wooden Hoe=Fakapa
Stone Hoe=Kőkapa
Steel Hoe=Acélkapa
Bronze Hoe=Bronzkapa
Mese Hoe=Mesekapa
Diamond Hoe=Gyémántkapa
Wood Hoe=Fakapa (2)
Hoe Bomb (use or throw on grassy areas to hoe land)=Kapabomba (használd vagy dobd füves területre a föld felkapálásához)
Mithril Scythe (Use to harvest and replant crops)=Mithrilkasza (használd termények begyűjtéséhez és újravetéséhez)
Seed=Mag
Lettuce=Saláta
Melon Slice=Dinnyeszelet
Melon=Dinnye
Mint=Menta
Mint Seeds=Mentamag
Mint Leaf=Mentalevél
Mint Tea=Mentatea
Onion=Hagyma
Onion Soup=Hagymaleves
Parsley=Petrezselyem
Pea=Borsó
Pea Pod=Hüvelyes borsó
Pea Soup=Borsóleves
Pepper=Bors
Peppercorn=Borsszemek
Green Pepper=Zöldpaprika
Yellow Pepper=Sárga paprika
Red Pepper=Pirospaprika
Ground Pepper=Őrölt bors
Pineapple Top=Ananászüstök
Pineapple=Ananász
Pineapple Ring=Ananász szelet
Pineapple Juice=Ananászlé
Potato=Krumpli
Baked Potato=Sült krumpli
Cucumber and Potato Salad=Uborkás krumplisaláta
Pumpkin Slice=Tök szelet
Jack 'O Lantern (punch to turn on and off)=Töklámpás (ütéssel kapcsold ki és be)
Scarecrow Bottom=Madárijesztő alja
Pumpkin Bread=Tökkenyér
Pumpkin Dough=Töktészta
Pumpkin=Tök
Raspberry=Málna
Raspberries=Málnák
Raspberry Smoothie=Málnaturmix
Rhubarb=Rebarbara
Rhubarb Pie=Rebarbaratorta
Rice Seed=Rizsmag
Rice=Rizs
Rice Bread=Rizskenyér
Rice Flour=Rizsliszt
Rye seed=Rozsmag
Rye=Rozs
Oat seed=Zabmag
Oats=Zab
Multigrain Flour=Vegyesliszt
Multigrain Bread=Vegyesliszt-kenyér
Savanna Soil=Szavannatalaj
Wet Savanna Soil=Nedves szavannatalaj
Soil=Talaj
Wet Soil=Nedves talaj
Soy=Szója
Soy Pod=Hüvelyes szója
Soy Sauce=Szójaszósz
Soy Milk=Szójatej
Tofu=Tofu
Cooked Tofu=Főtt tofu
Spinach=Spenót
Strawberry=Eper
Sunflower=Napraforgó
Sunflower Seeds=Napraforgómag
Toasted Sunflower Seeds=Pirított napraforgómag
Bottle of Sunflower Oil=Üveg napraforgó-olaj
Sunflower Seed Bread=Napraforgómagos kenyér
Tomato=Paradicsom
Tomato Soup=Paradicsomleves
Wooden Bowl=Fatál
Saucepan=Szószostál
Cooking Pot=Főzőedény
Baking Tray=Sütőtál
Skillet=Serpenyő
Mortar and Pestle=Mozsár és zúzó
Cutting Board=Vágódeszka
Juicer=Facsaró
Glass Mixing Bowl=Üver keverőedény
Vanilla=Vanília
Vanilla Extract=Vaníliakivonat
Wheat Seed=Búzamag
Wheat=Búza
Straw=Szalma
Flour=Liszt
Bread=Kenyér
Sliced Bread=Szeletelt kenyér
Toast=Pirítós
Toast Sandwich=Pirítósszendvics

View File

@ -1,134 +1,176 @@
# textdomain:farming # textdomain: farming
#%s Hoe= Artichoke=
Apple Donut=Ciambella alla mela Asparagus=
#Apple Pie=
Baked Potato=Patata arrostita
Baking Tray=Teglia da forno
Banana=Banana
Banana Leaves=Foglie di banano
Bar of Dark Chocolate=Barra di cioccolato fondente
Barley=Orzo
Barley Seed=Seme d'orzo Barley Seed=Seme d'orzo
Barley=Orzo
Green Beans=Fagiolini
Bean Pole (place on soil before planting beans)=Palina per fagiolini (mettila sul terreno coltivabile prima di piantare i fagiolini) Bean Pole (place on soil before planting beans)=Palina per fagiolini (mettila sul terreno coltivabile prima di piantare i fagiolini)
Beetroot=Barbabietola Beetroot=Barbabietola
Beetroot Soup=Zuppa di barbabietola Beetroot Soup=Zuppa di barbabietola
#Bibimbap= Blackberries=
Wild Blueberries=Mirtilli Selvatici Wild Blueberries=Mirtilli Selvatici
Blueberry Muffin=Focaccina di mirtilli Blueberry Muffin=Focaccina di mirtilli
Blueberry Pie=Tortino di mirtilli Blueberry Pie=Tortino di mirtilli
Bottle of Ethanol=Bottiglia di alcol etilico Cabbage=
Bottle of Hemp Oil=Bottiglia d'olio di canapa
Bowl of Chili=Ciotola di peperoncino
Bread=Pane
Bronze Hoe=Zappa di bronzo
#Cabbage=
#Cactus Juice=
Carrot=Carota Carrot=Carota
Carrot Juice=Succo di carota Carrot Juice=Succo di carota
Golden Carrot=Carota d'oro
Chili Pepper=Peperoncino Chili Pepper=Peperoncino
Chocolate Block=Blocco di cioccolato Bowl of Chili=Ciotola di peperoncino
Chocolate Donut=Ciambella al cioccolato Chili Powder=
Raw Cocoa Beans=
Cocoa Beans=Chicchi di cacao Cocoa Beans=Chicchi di cacao
Coffee Beans=Chicchi di caffè
Cookie=Biscotto Cookie=Biscotto
Cooking Pot=Pentola da cottura Bar of Dark Chocolate=Barra di cioccolato fondente
Chocolate Block=Blocco di cioccolato
Coffee Beans=Chicchi di caffè
Cup of Coffee=Tazza di caffè
Banana=Banana
Banana Leaves=Foglie di banano
Orange=Arancia
Corn=Mais Corn=Mais
Corn on the Cob=Pannocchia arrostita Corn on the Cob=Pannocchia arrostita
Popcorn=
Cornstarch=Amido di mais Cornstarch=Amido di mais
Cotton=Cotone Bottle of Ethanol=Bottiglia di alcol etilico
Wild Cotton=
Cotton Seed=Seme di cotone Cotton Seed=Seme di cotone
Cotton=Cotone
String=Filo
Cucumber=Cetriolo Cucumber=Cetriolo
Cucumber and Potato Salad=Insalata di patate e cetrioli Eggplant=
Cup of Coffee=Tazza di caffè Glass of Water=
Cutting Board=Tagliere Sugar=Zucchero
Diamond Hoe=Zappa di diamante Sugar Cube=
Caramel=
Salt=Sale
Mayonnaise=
Rose Water=Acqua di rose
Turkish Delight=Lokum
Garlic Bread=Pane all'aglio
Donut=Ciambella Donut=Ciambella
Flour=Farina Chocolate Donut=Ciambella al cioccolato
Apple Donut=Ciambella alla mela
Porridge=Porridge
Jaffa Cake=Torta di jaffa
Apple Pie=
Cactus Juice=
Pasta=
Mac & Cheese=
Spaghetti=
Bibimbap=
Burger=
Salad=
Triple Berry Smoothie=
Spanish Potatoes=
Potato omelet=
Paella=
Vanilla Flan=
Vegan Cheese=
Onigiri=
Gyoza=
Mochi=
Gingerbread Man=
Garlic clove=Spicchio d'aglio
Garlic=Aglio Garlic=Aglio
Garlic Braid=Treccia d'aglio Garlic Braid=Treccia d'aglio
Garlic Bread=Pane all'aglio Ginger=
Garlic clove=Spicchio d'aglio
Glass Mixing Bowl=Terrina di vetro
Golden Carrot=Carota d'oro
Grapes=Chicchi d'uva Grapes=Chicchi d'uva
Green Beans=Fagiolini Trellis (place on soil before planting grapes)=Graticcio (mettilo sul terreno coltivabile prima di piantare i chicchi d'uva)
Ground Pepper=Pepe macinato
Hemp Block=Blocco di canapa
Hemp Fibre=Fibra di canapa
Hemp Leaf=Foglia di canapa
Hemp Rope=Corda di canapa
Hemp Seed=Seme di canapa 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
Hoe=Zappa Hoe=Zappa
Hoe Bomb (use or throw on grassy areas to hoe land)=Bomba zappa (usala o lanciala sulle aree erbose per zappare il terreno) Wooden Hoe=Zappa di legno
Jack 'O Lantern (punch to turn on and off)=Jack Lanterna (colpirlo per accenderlo e spegnerlo) Stone Hoe=Zappa di pietra
Jaffa Cake=Torta di jaffa Steel Hoe=Zappa d'acciaio
Juicer=Spremiagrumi Bronze Hoe=Zappa di bronzo
Melon=Anguria
Melon Slice=Fetta d'anguria
Mese Hoe=Zappa di mese Mese Hoe=Zappa di mese
#Mint Leaf= Diamond Hoe=Zappa di diamante
#Mint Seeds= Wood Hoe=
#Mint Tea= 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) Mithril Scythe (Use to harvest and replant crops)=
Mortar and Pestle=Mortaio e pestello Seed=Seme
Multigrain Bread=Pane multicereale Lettuce=
Multigrain Flour=Farina multicereale Melon Slice=Fetta d'anguria
Oat seed=Seme d'avena Melon=Anguria
#Oats= Mint Seeds=
Mint Leaf=
Mint Tea=
Onion=Cipolla Onion=Cipolla
#Onion Soup= Onion Soup=
Orange=Arancia Parsley=
#Pasta=
Pea Pod=Baccello di piselli Pea Pod=Baccello di piselli
Pea Soup=Zuppa di piselli Pea Soup=Zuppa di piselli
Peas=Piselli
Pepper=Pepe
Peppercorn=Grano di pepe Peppercorn=Grano di pepe
Pineapple=Ananas Green Pepper=
Pineapple Juice=Succo d'ananas Yellow Pepper=
Pineapple Ring=Anello d'ananas Red Pepper=
Ground Pepper=Pepe macinato
Pineapple Top=Cima d'ananas Pineapple Top=Cima d'ananas
Porridge=Porridge Pineapple=Ananas
Pineapple Ring=Anello d'ananas
Pineapple Juice=Succo d'ananas
Potato=Patata Potato=Patata
Pumpkin=Zucca Baked Potato=Patata arrostita
Cucumber and Potato Salad=Insalata di patate e cetrioli
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 Bread=Pane alla zucca
Pumpkin Dough=Pasta di zucca Pumpkin Dough=Pasta di zucca
Pumpkin Slice=Fetta di zucca Pumpkin=Zucca
Raspberries=Lamponi Raspberries=Lamponi
Raspberry Smoothie=Purea di lamponi Raspberry Smoothie=Purea di lamponi
Rhubarb=Rabarbaro Rhubarb=Rabarbaro
Rhubarb Pie=Tortino al rabarbaro Rhubarb Pie=Tortino al rabarbaro
Rice Seed=
Rice=Riso Rice=Riso
Rice Bread=Pane di riso Rice Bread=Pane di riso
Rice Flour=Farina di riso Rice Flour=Farina di riso
Rice grains=Chicchi di riso
Rose Water=Acqua di rose
Rye=Segale
Rye seed=Seme di segale Rye seed=Seme di segale
Salt=Sale Rye=Segale
Saucepan=Casseruola Oat seed=Seme d'avena
#Savanna Soil= Oats=
Scarecrow Bottom=Fondo dello spaventapasseri Multigrain Flour=Farina multicereale
Seed=Seme Multigrain Bread=Pane multicereale
Skillet=Padella Savanna Soil=
Sliced Bread=Pane a fette Wet Savanna Soil=
Soil=Terreno coltivabile Soil=Terreno coltivabile
#Spaghetti= Wet Soil=Terreno coltivabile bagnato
Steel Hoe=Zappa d'acciaio Soy Pod=
Stone Hoe=Zappa di pietra Soy Sauce=
Straw=Paglia Soy Milk=
Tofu=
Cooked Tofu=
Spinach=
Strawberry=Fragola Strawberry=Fragola
String=Filo Sunflower=
Sugar=Zucchero Sunflower Seeds=
Toasted Sunflower Seeds=
Bottle of Sunflower Oil=
Sunflower Seed Bread=
Tomato=Pomodoro
Tomato Soup=
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
Vanilla=
Vanilla Extract=
Wheat Seed=Seme di grano
Wheat=Grano
Straw=Paglia
Flour=Farina
Bread=Pane
Sliced Bread=Pane a fette
Toast=Pane tostato Toast=Pane tostato
Toast Sandwich=Panino di pane tostato Toast Sandwich=Panino di pane tostato
Tomato=Pomodoro
Trellis (place on soil before planting grapes)=Graticcio (mettilo sul terreno coltivabile prima di piantare i chicchi d'uva)
Turkish Delight=Lokum
#Wet Savanna Soil=
Wet Soil=Terreno coltivabile bagnato
Wheat=Grano
Wheat Seed=Seme di grano
#Wild Cotton=
Wooden Bowl=Ciotola di legno
Wooden Hoe=Zappa di legno

View File

@ -1,134 +1,176 @@
# textdomain:farming # textdomain: farming
#%s Hoe= Artichoke=
Apple Donut=Donut de Maça Asparagus=
#Apple Pie=
Baked Potato=Batata Cozida
#Baking Tray=
#Banana=
#Banana Leaves=
Bar of Dark Chocolate=Barra de Chocolate Preto
Barley=Cevada
Barley Seed=Sementes de Cevada Barley Seed=Sementes de Cevada
Barley=Cevada
Green Beans=Feijoes Verdes
Bean Pole (place on soil before planting beans)=Apoio de feijao (coloque no solo antes de plantar feijao) Bean Pole (place on soil before planting beans)=Apoio de feijao (coloque no solo antes de plantar feijao)
#Beetroot= Beetroot=
#Beetroot Soup= Beetroot Soup=
#Bibimbap= Blackberries=
Wild Blueberries=Mirtilos Selvagens Wild Blueberries=Mirtilos Selvagens
Blueberry Muffin=Muffin de Mirtilos Blueberry Muffin=Muffin de Mirtilos
#Blueberry Pie= Blueberry Pie=
Bottle of Ethanol=Garrafa de Etanol Cabbage=
Bottle of Hemp Oil=Garrafa de Oleo de Canhamo
#Bowl of Chili=
Bread=Pao
Bronze Hoe=Enxada de Bronze
#Cabbage=
#Cactus Juice=
Carrot=Cenoura Carrot=Cenoura
#Carrot Juice= Carrot Juice=
#Chili Pepper= Golden Carrot=Cenoura Dourada
#Chocolate Block= Chili Pepper=
Chocolate Donut=Donut de Chocolate Bowl of Chili=
Chili Powder=
Raw Cocoa Beans=
Cocoa Beans=Amendoas de Cacau Cocoa Beans=Amendoas de Cacau
Coffee Beans=Grao de Cafe
Cookie=Cookie Cookie=Cookie
#Cooking Pot= Bar of Dark Chocolate=Barra de Chocolate Preto
Chocolate Block=
Coffee Beans=Grao de Cafe
Cup of Coffee=Xicara de Cafe
Banana=
Banana Leaves=
Orange=
Corn=Milho Corn=Milho
Corn on the Cob=Espiga de Milho Corn on the Cob=Espiga de Milho
#Cornstarch= Popcorn=
Cotton=Algodao Cornstarch=
Bottle of Ethanol=Garrafa de Etanol
Wild Cotton=
Cotton Seed=Sementes de Algodao Cotton Seed=Sementes de Algodao
Cotton=Algodao
String=
Cucumber=Pepino Cucumber=Pepino
#Cucumber and Potato Salad= Eggplant=
Cup of Coffee=Xicara de Cafe Glass of Water=
#Cutting Board= Sugar=Açucar
Diamond Hoe=Enxada de Diamante Sugar Cube=
Caramel=
Salt=
Mayonnaise=
Rose Water=
Turkish Delight=
Garlic Bread=
Donut=Donut Donut=Donut
Flour=Farinha Chocolate Donut=Donut de Chocolate
#Garlic= Apple Donut=Donut de Maça
#Garlic Braid= Porridge=
#Garlic Bread= Jaffa Cake=
#Garlic clove= Apple Pie=
#Glass Mixing Bowl= Cactus Juice=
Golden Carrot=Cenoura Dourada Pasta=
Mac & Cheese=
Spaghetti=
Bibimbap=
Burger=
Salad=
Triple Berry Smoothie=
Spanish Potatoes=
Potato omelet=
Paella=
Vanilla Flan=
Vegan Cheese=
Onigiri=
Gyoza=
Mochi=
Gingerbread Man=
Garlic clove=
Garlic=
Garlic Braid=
Ginger=
Grapes=Uvas Grapes=Uvas
Green Beans=Feijoes Verdes Trellis (place on soil before planting grapes)=Grade de Ripas (colocar no solo antes de plantar uvas)
#Ground Pepper=
#Hemp Block=
Hemp Fibre=Fibra de Canhamo
Hemp Leaf=Folha de Canhamo
Hemp Rope=Corda de Canhamo
Hemp Seed=Sementes de Canhamo 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
Hoe=Enxada Hoe=Enxada
#Hoe Bomb (use or throw on grassy areas to hoe land)= Wooden Hoe=Enxada de Madeira
Jack 'O Lantern (punch to turn on and off)=Jack 'O Lantern (Socos para ligar e desligar) Stone Hoe=Enxada de Pedra
#Jaffa Cake= Steel Hoe=Enxada de Aço
#Juicer= Bronze Hoe=Enxada de Bronze
Melon=Melancia
Melon Slice=Sementes de Melancia
Mese Hoe=Enxada de Mese Mese Hoe=Enxada de Mese
#Mint Leaf= Diamond Hoe=Enxada de Diamante
#Mint Seeds= Wood Hoe=
#Mint Tea= Hoe Bomb (use or throw on grassy areas to hoe land)=
#Mithril Scythe (Right-click to harvest and replant crops)= Mithril Scythe (Use to harvest and replant crops)=
#Mortar and Pestle= Seed=Sementes
#Multigrain Bread= Lettuce=
#Multigrain Flour= Melon Slice=Sementes de Melancia
#Oat seed= Melon=Melancia
#Oats= Mint Seeds=
#Onion= Mint Leaf=
#Onion Soup= Mint Tea=
#Orange= Onion=
#Pasta= Onion Soup=
#Pea Pod= Parsley=
#Pea Soup= Pea Pod=
#Peas= Pea Soup=
#Pepper= Peppercorn=
#Peppercorn= Green Pepper=
#Pineapple= Yellow Pepper=
#Pineapple Juice= Red Pepper=
#Pineapple Ring= Ground Pepper=
#Pineapple Top= Pineapple Top=
#Porridge= Pineapple=
Pineapple Ring=
Pineapple Juice=
Potato=Batata Potato=Batata
Pumpkin=Abobora Baked Potato=Batata Cozida
Cucumber and Potato Salad=
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 Bread=Pao de Abobora
Pumpkin Dough=Massa de Abobora Pumpkin Dough=Massa de Abobora
Pumpkin Slice=Pedaço de Abobora Pumpkin=Abobora
Raspberries=Framboesa Raspberries=Framboesa
Raspberry Smoothie=Batida de Framboesa Raspberry Smoothie=Batida de Framboesa
Rhubarb=Ruibarbo Rhubarb=Ruibarbo
Rhubarb Pie=Torta de Ruibarbo Rhubarb Pie=Torta de Ruibarbo
#Rice= Rice Seed=
#Rice Bread= Rice=
#Rice Flour= Rice Bread=
#Rice grains= Rice Flour=
#Rose Water= Rye seed=
#Rye= Rye=
#Rye seed= Oat seed=
#Salt= Oats=
#Saucepan= Multigrain Flour=
#Savanna Soil= Multigrain Bread=
#Scarecrow Bottom= Savanna Soil=
Seed=Sementes Wet Savanna Soil=
#Skillet=
#Sliced Bread=
Soil=Solo Soil=Solo
#Spaghetti=
Steel Hoe=Enxada de Aço
Stone Hoe=Enxada de Pedra
Straw=Palha
#Strawberry=
#String=
Sugar=Açucar
#Toast=
#Toast Sandwich=
Tomato=Tomate
Trellis (place on soil before planting grapes)=Grade de Ripas (colocar no solo antes de plantar uvas)
#Turkish Delight=
#Wet Savanna Soil=
Wet Soil=Solo Seco Wet Soil=Solo Seco
Wheat=Trigo Soy Pod=
Soy Sauce=
Soy Milk=
Tofu=
Cooked Tofu=
Spinach=
Strawberry=
Sunflower=
Sunflower Seeds=
Toasted Sunflower Seeds=
Bottle of Sunflower Oil=
Sunflower Seed Bread=
Tomato=Tomate
Tomato Soup=
Wooden Bowl=
Saucepan=
Cooking Pot=
Baking Tray=
Skillet=
Mortar and Pestle=
Cutting Board=
Juicer=
Glass Mixing Bowl=
Vanilla=
Vanilla Extract=
Wheat Seed=Sementes de Trigo Wheat Seed=Sementes de Trigo
#Wild Cotton= Wheat=Trigo
#Wooden Bowl= Straw=Palha
Wooden Hoe=Enxada de Madeira Flour=Farinha
Bread=Pao
Sliced Bread=
Toast=
Toast Sandwich=

View File

@ -1,134 +1,186 @@
# textdomain:farming # textdomain: farming
%s Hoe=%s мотыга Crop=.
Apple Donut=Яблочный пончик Artichoke=Артишок
Apple Pie=Яблочный пирог Asparagus=Спаржа
Baked Potato=Печеный картофель
Baking Tray=Противень
Banana=Банан
Banana Leaves=Листья банана
Bar of Dark Chocolate=Плитка темного шоколада
Barley=Ячмень
Barley Seed=Семена ячменя Barley Seed=Семена ячменя
Barley=Ячмень
Green Beans=Зеленая фасоль
Bean Pole (place on soil before planting beans)=Жердь для бобовых (установите на почву перед посадкой бобовых) Bean Pole (place on soil before planting beans)=Жердь для бобовых (установите на почву перед посадкой бобовых)
Beetroot=Свекла Beetroot=Свекла
Beetroot Soup=Борщ Beetroot Soup=Борщ
#Bibimbap= Blackberry=Ежевика
Blackberries=Ежевика
Wild Blueberries=Голубика Wild Blueberries=Голубика
Blueberry=Голубика
Blueberry Muffin=Кекс с голубикой Blueberry Muffin=Кекс с голубикой
Blueberry Pie=Пирог с голубикой Blueberry Pie=Пирог с голубикой
Bottle of Ethanol=Бутылка спирта Cabbage=Капуста
Bottle of Hemp Oil=Бутылка конопляного масла
Bowl of Chili=Миска чили
Bread=Хлеб
Bronze Hoe=Бронзовая мотыга
#Cabbage=
Cactus Juice=Кактусовый сок
Carrot=Морковь Carrot=Морковь
Carrot Juice=Морковный сок Carrot Juice=Морковный сок
Golden Carrot=Золотая морковь
Chili Pepper=Перец чили Chili Pepper=Перец чили
Chocolate Block=Шоколадный блок Bowl of Chili=Миска чили
Chocolate Donut=Шоколадный пончик Chili Powder=Порошок чили
Raw Cocoa Beans=Сырые какао-бобы
Cocoa Beans=Какао-бобы Cocoa Beans=Какао-бобы
Coffee Beans=Кофейные зерна
Cookie=Печенье Cookie=Печенье
Cooking Pot=Котел Bar of Dark Chocolate=Плитка темного шоколада
Chocolate Block=Шоколадный блок
Coffee=Кофе
Coffee Beans=Кофейные зерна
Cup of Coffee=Чашка кофе
Banana=Банан
Banana Leaves=Листья банана
Orange=Апельсин
Corn=Кукуруза Corn=Кукуруза
Corn on the Cob=Початок кукурузы Corn on the Cob=Початок кукурузы
Popcorn=Попкорн
Cornstarch=Кукурузный крахмал Cornstarch=Кукурузный крахмал
Cotton=Хлопок Bottle of Ethanol=Бутылка спирта
Wild Cotton=Дикорастущий хлопок
Cotton Seed=Семена хлопка Cotton Seed=Семена хлопка
Cotton=Хлопок
String=Нить
Cucumber=Огурец Cucumber=Огурец
Cucumber and Potato Salad=Салат из огурцов и картофеля Eggplant=Баклажан
Cup of Coffee=Чашка кофе Glass of Water=Стакан воды
Cutting Board=Разделочная доска Sugar=Сахар
Diamond Hoe=Алмазная мотыга Sugar Cube=Кусочек сахара
Caramel=Карамель
Salt=Соль
Mayonnaise=Майонез
Rose Water=Розовая вода
Turkish Delight=Рахат-лукум
Garlic Bread=Чесночный хлеб
Donut=Пончик Donut=Пончик
Flour=Мука Chocolate Donut=Шоколадный пончик
Apple Donut=Яблочный пончик
Porridge=Каша
Jaffa Cake=Яффский пирог
Apple Pie=Яблочный пирог
Cactus Juice=Кактусовый сок
Pasta=Паста
Mac & Cheese=Макароны с сыром
Spaghetti=Спагетти
Bibimbap=Бибимпап
Burger=Бургер
Salad=Салат
Triple Berry Smoothie=Тройной ягодный смузи
Spanish Potatoes=Испанский картофель
Potato omelet=Картофельный омлет
Paella=Паэлья
Vanilla Flan=Ванильный флан
Vegan Cheese=Веганский сыр
Onigiri=Онигири
Gyoza=Гёдза
Mochi=Моти
Gingerbread Man=Пряничный человечек
Garlic clove=Зубчик чеснока
Garlic=Чеснок Garlic=Чеснок
Garlic Braid=Связка чеснока Garlic Braid=Связка чеснока
Garlic Bread=Чесночный хлеб Ginger=Имбирь
Garlic clove=Зубчик чеснока
Glass Mixing Bowl=Стеклянная чаша
Golden Carrot=Золотая морковь
Grapes=Виноград Grapes=Виноград
Green Beans=Зеленая фасоль Trellis (place on soil before planting grapes)=Решетка (поставьте на почву перед посадкой винограда)
Ground Pepper=Молотый перец Hemp=Конопля
Hemp Block=Блок конопли
Hemp Fibre=Конопляное волокно
Hemp Leaf=Лист конопли
Hemp Rope=Пеньковая веревка
Hemp Seed=Семена конопли Hemp Seed=Семена конопли
Hemp Leaf=Лист конопли
Bottle of Hemp Oil=Бутылка конопляного масла
Hemp Fibre=Конопляное волокно
Hemp Block=Блок конопли
Hemp Rope=Пеньковая веревка
Hoe=Мотыга Hoe=Мотыга
Hoe Bomb (use or throw on grassy areas to hoe land)=Мотыгобомба (используйте или бросьте на траву для ее обработки) Wooden Hoe=Деревянная мотыга
Jack 'O Lantern (punch to turn on and off)=Светильник джека (удар для включения и выключения) Stone Hoe=Каменная мотыга
Jaffa Cake=Яффский пирог Steel Hoe=Стальная мотыга
Juicer=Соковыжималка Bronze Hoe=Бронзовая мотыга
Melon=Арбуз
Melon Slice=Долька арбуза
Mese Hoe=Магическая мотыга Mese Hoe=Магическая мотыга
Mint Leaf=Лист мяты Diamond Hoe=Алмазная мотыга
Wood Hoe=Деревянная мотыга
Hoe Bomb (use or throw on grassy areas to hoe land)=Мотыгобомба (используйте или бросьте на траву для ее обработки)
Mithril Scythe (Use to harvest and replant crops)=Мифриловая коса (используется для сбора и пересадки урожая)
Seed=Семена
Lettuce=Латук
Melon Slice=Долька арбуза
Melon=Арбуз
Mint=Мята
Mint Seeds=Семена мяты Mint Seeds=Семена мяты
Mint Leaf=Лист мяты
Mint Tea=Чай с мятой Mint Tea=Чай с мятой
Mithril Scythe (Right-click to harvest and replant crops)=Мифриловая коса (Щелкните правой кнопкой мыши для сбора и пересадки растений)
Mortar and Pestle=Ступка и пестик
Multigrain Bread=Мультизерновой хлеб
Multigrain Flour=Мультизерновая мука
Oat seed=Семена овса
#Oats=
Onion=Лук Onion=Лук
Onion Soup=Луковый суп Onion Soup=Луковый суп
Orange=Апельсин Parsley=Петрушка
#Pasta= Pea=Горох
Pea Pod=Стручок гороха Pea Pod=Стручок гороха
Pea Soup=Гороховый суп Pea Soup=Гороховый суп
Peas=Горох
Pepper=Перец Pepper=Перец
Peppercorn=Перчинка Peppercorn=Перчинка
Pineapple=Ананас Green Pepper=Зеленый перец
Pineapple Juice=Ананасовый сок Yellow Pepper=Желтый перец
Pineapple Ring=Кольцо ананаса Red Pepper=Красный перец
Ground Pepper=Молотый перец
Pineapple Top=Верхушка ананаса Pineapple Top=Верхушка ананаса
Porridge=Каша Pineapple=Ананас
Pineapple Ring=Кольцо ананаса
Pineapple Juice=Ананасовый сок
Potato=Картофель Potato=Картофель
Pumpkin=Тыква Baked Potato=Печеный картофель
Cucumber and Potato Salad=Салат из огурцов и картофеля
Pumpkin Slice=Ломтик тыквы
Jack 'O Lantern (punch to turn on and off)=Светильник джека (удар для включения и выключения)
Scarecrow Bottom=Основание пугала
Pumpkin Bread=Тыквенный хлеб Pumpkin Bread=Тыквенный хлеб
Pumpkin Dough=Тыквенное тесто Pumpkin Dough=Тыквенное тесто
Pumpkin Slice=Ломтик тыквы Pumpkin=Тыква
Raspberry=Малина
Raspberries=Малина Raspberries=Малина
Raspberry Smoothie=Малиновый смузи Raspberry Smoothie=Малиновый смузи
Rhubarb=Ревень Rhubarb=Ревень
Rhubarb Pie=Пирог с ревенем Rhubarb Pie=Пирог с ревенем
Rice Seed=Семена риса
Rice=Рис Rice=Рис
Rice Bread=Рисовый хлеб Rice Bread=Рисовый хлеб
Rice Flour=Рисовая мука Rice Flour=Рисовая мука
Rice grains=Зёрна риса
Rose Water=Розовая вода
Rye=Рожь
Rye seed=Зёрна ржи Rye seed=Зёрна ржи
Salt=Соль Rye=Рожь
Saucepan=Кастрюля Oat seed=Семена овса
Oats=Овес
Multigrain Flour=Мультизерновая мука
Multigrain Bread=Мультизерновой хлеб
Savanna Soil=Земля саванны Savanna Soil=Земля саванны
Scarecrow Bottom=Основание пугала Wet Savanna Soil=Увлажненная земля саванны
Seed=Семена
Skillet=Сковорода
Sliced Bread=Нарезанный хлеб
Soil=Земля Soil=Земля
#Spaghetti= Wet Soil=Увлажненная земля
Steel Hoe=Стальная мотыга Soy=Соя
Stone Hoe=Каменная мотыга Soy Pod=Соевый стручок
Straw=Солома Soy Sauce=Соевый соус
Soy Milk=Соевое молоко
Tofu=Тофу
Cooked Tofu=Вареный тофу
Spinach=Шпинат
Strawberry=Земляника Strawberry=Земляника
String=Нить Sunflower=Подсолнечник
Sugar=Сахар Sunflower Seeds=Семена подсолнечника
Toasted Sunflower Seeds=Жаренные семена подсолнечника
Bottle of Sunflower Oil=Бутылка подсолнечного масла
Sunflower Seed Bread=Хлеб из семян подсолнечника
Tomato=Помидор
Tomato Soup=Томатный суп
Wooden Bowl=Деревянная миска
Saucepan=Кастрюля
Cooking Pot=Котел
Baking Tray=Противень
Skillet=Сковорода
Mortar and Pestle=Ступка и пестик
Cutting Board=Разделочная доска
Juicer=Соковыжималка
Glass Mixing Bowl=Стеклянная чаша
Vanilla=Ваниль
Vanilla Extract=Экстракт ванили
Wheat Seed=Зёрна пшеницы
Wheat=Пшеница
Straw=Солома
Flour=Мука
Bread=Хлеб
Sliced Bread=Нарезанный хлеб
Toast=Тост Toast=Тост
Toast Sandwich=Сэндвич Toast Sandwich=Сэндвич
Tomato=Помидор
Trellis (place on soil before planting grapes)=Решетка (поставьте на почву перед посадкой винограда)
Turkish Delight=Рахат-лукум
Wet Savanna Soil=Увлажненная земля саванны
Wet Soil=Увлажненная земля
Wheat=Пшеница
Wheat Seed=Зёрна пшеницы
Wild Cotton=Дикорастущий хлопок
Wooden Bowl=Деревянная миска
Wooden Hoe=Деревянная мотыга

View File

@ -1,134 +1,176 @@
# textdomain:farming # textdomain: farming
#%s Hoe= Artichoke=
Apple Donut=苹果甜甜圈 Asparagus=
#Apple Pie=
Baked Potato=焗马铃薯
Baking Tray=烤盘
Banana=香蕉
Banana Leaves=香蕉叶
Bar of Dark Chocolate=黑巧克力条
Barley=大麦
Barley Seed=大麦种子 Barley Seed=大麦种子
Barley=大麦
Green Beans=青豆
Bean Pole (place on soil before planting beans)=豆杆(种豆前先放在土上) Bean Pole (place on soil before planting beans)=豆杆(种豆前先放在土上)
Beetroot=甜菜根 Beetroot=甜菜根
Beetroot Soup=甜菜根汤 Beetroot Soup=甜菜根汤
#Bibimbap= Blackberries=
Wild Blueberries=蓝莓 Wild Blueberries=蓝莓
Blueberry Muffin=蓝莓松糕 Blueberry Muffin=蓝莓松糕
Blueberry Pie=蓝莓派 Blueberry Pie=蓝莓派
Bottle of Ethanol=一瓶乙醇 Cabbage=
Bottle of Hemp Oil=一瓶大麻油
Bowl of Chili=一碗辣椒
Bread=面包
Bronze Hoe=青铜锄头
#Cabbage=
#Cactus Juice=
Carrot=胡萝卜 Carrot=胡萝卜
Carrot Juice=胡萝卜汁 Carrot Juice=胡萝卜汁
Golden Carrot=金萝卜
Chili Pepper=辣椒 Chili Pepper=辣椒
Chocolate Block=巧克力块 Bowl of Chili=一碗辣椒
Chocolate Donut=巧克力甜甜圈 Chili Powder=
Raw Cocoa Beans=
Cocoa Beans=可可豆 Cocoa Beans=可可豆
Coffee Beans=咖啡豆
Cookie=曲奇 Cookie=曲奇
Cooking Pot=锅 Bar of Dark Chocolate=黑巧克力条
Chocolate Block=巧克力块
Coffee Beans=咖啡豆
Cup of Coffee=一杯咖啡
Banana=香蕉
Banana Leaves=香蕉叶
Orange=橙色
Corn=玉米 Corn=玉米
Corn on the Cob=玉米棒 Corn on the Cob=玉米棒
Popcorn=
Cornstarch=玉米淀粉 Cornstarch=玉米淀粉
Cotton=棉花 Bottle of Ethanol=一瓶乙醇
Wild Cotton=
Cotton Seed=棉籽 Cotton Seed=棉籽
Cotton=棉花
String=线
Cucumber=黄瓜 Cucumber=黄瓜
Cucumber and Potato Salad=黄瓜土豆沙拉 Eggplant=
Cup of Coffee=一杯咖啡 Glass of Water=
Cutting Board=砧板 Sugar=糖
Diamond Hoe=钻石锄 Sugar Cube=
Caramel=
Salt=盐
Mayonnaise=
Rose Water=玫瑰汁
Turkish Delight=土耳其软糖
Garlic Bread=蒜香面包
Donut=甜甜圈 Donut=甜甜圈
Flour=面粉 Chocolate Donut=巧克力甜甜圈
Apple Donut=苹果甜甜圈
Porridge=粥
Jaffa Cake=佳发饼
Apple Pie=
Cactus Juice=
Pasta=
Mac & Cheese=
Spaghetti=
Bibimbap=
Burger=
Salad=
Triple Berry Smoothie=
Spanish Potatoes=
Potato omelet=
Paella=
Vanilla Flan=
Vegan Cheese=
Onigiri=
Gyoza=
Mochi=
Gingerbread Man=
Garlic clove=蒜瓣
Garlic=大蒜 Garlic=大蒜
Garlic Braid=蒜辫 Garlic Braid=蒜辫
Garlic Bread=蒜香面包 Ginger=
Garlic clove=蒜瓣
Glass Mixing Bowl=搅拌杯
Golden Carrot=金萝卜
Grapes=葡萄 Grapes=葡萄
Green Beans=青豆 Trellis (place on soil before planting grapes)=棚架(种植葡萄前先放在土壤上)
Ground Pepper=胡椒粉
Hemp Block=麻块
Hemp Fibre=大麻纤维
Hemp Leaf=大麻叶
Hemp Rope=麻绳
Hemp Seed=大麻籽 Hemp Seed=大麻籽
Hemp Leaf=大麻叶
Bottle of Hemp Oil=一瓶大麻油
Hemp Fibre=大麻纤维
Hemp Block=麻块
Hemp Rope=麻绳
Hoe=锄头 Hoe=锄头
Hoe Bomb (use or throw on grassy areas to hoe land)=锄弹(在草地上使用或扔在锄地上) Wooden Hoe=木锄
Jack 'O Lantern (punch to turn on and off)=南瓜灯(按一下开关) Stone Hoe=石锄
Jaffa Cake=佳发饼 Steel Hoe=钢锄头
Juicer=榨汁机 Bronze Hoe=青铜锄头
Melon=甜瓜
Melon Slice=西瓜片
Mese Hoe=黄石锄头 Mese Hoe=黄石锄头
#Mint Leaf= Diamond Hoe=钻石锄
#Mint Seeds= Wood Hoe=
#Mint Tea= Hoe Bomb (use or throw on grassy areas to hoe land)=锄弹(在草地上使用或扔在锄地上)
Mithril Scythe (Right-click to harvest and replant crops)=秘银镰刀(右击可收获并重新种植作物) Mithril Scythe (Use to harvest and replant crops)=
Mortar and Pestle=研钵 Seed=种子
Multigrain Bread=杂粮面包 Lettuce=
Multigrain Flour=多粒面粉 Melon Slice=西瓜片
Oat seed=燕麦籽 Melon=甜瓜
#Oats= Mint Seeds=
Mint Leaf=
Mint Tea=
Onion=洋葱 Onion=洋葱
#Onion Soup= Onion Soup=
Orange=橙色 Parsley=
#Pasta=
Pea Pod=豌豆荚 Pea Pod=豌豆荚
Pea Soup=豌豆汤 Pea Soup=豌豆汤
Peas=豌豆
Pepper=胡椒粉
Peppercorn=胡椒粉 Peppercorn=胡椒粉
Pineapple=菠萝 Green Pepper=
Pineapple Juice=菠萝汁 Yellow Pepper=
Pineapple Ring=菠萝圈 Red Pepper=
Ground Pepper=胡椒粉
Pineapple Top=菠萝上衣 Pineapple Top=菠萝上衣
Porridge=粥 Pineapple=菠萝
Pineapple Ring=菠萝圈
Pineapple Juice=菠萝汁
Potato=土豆 Potato=土豆
Pumpkin=南瓜 Baked Potato=焗马铃薯
Cucumber and Potato Salad=黄瓜土豆沙拉
Pumpkin Slice=南瓜片
Jack 'O Lantern (punch to turn on and off)=杰克灯(按一下开关)
Scarecrow Bottom=稻草人屁股
Pumpkin Bread=南瓜面包 Pumpkin Bread=南瓜面包
Pumpkin Dough=南瓜面团 Pumpkin Dough=南瓜面团
Pumpkin Slice=南瓜 Pumpkin=南瓜
Raspberries=覆盆子 Raspberries=覆盆子
Raspberry Smoothie=覆盆子冰沙 Raspberry Smoothie=覆盆子冰沙
Rhubarb=大黄 Rhubarb=大黄
Rhubarb Pie=大黄派 Rhubarb Pie=大黄派
Rice Seed=
Rice=大米 Rice=大米
Rice Bread=米饭面包 Rice Bread=米饭面包
Rice Flour=米粉 Rice Flour=米粉
Rice grains=稻谷
Rose Water=玫瑰汁
Rye=黑麦
Rye seed=黑麦种子 Rye seed=黑麦种子
Salt=盐 Rye=黑麦
Saucepan=平底锅 Oat seed=燕麦籽
#Savanna Soil= Oats=
Scarecrow Bottom=稻草人屁股 Multigrain Flour=多粒面粉
Seed=种子 Multigrain Bread=杂粮面包
Skillet=平底锅 Savanna Soil=
Sliced Bread=切片面包 Wet Savanna Soil=
Soil=土壤 Soil=土壤
#Spaghetti= Wet Soil=湿土
Steel Hoe=钢锄头 Soy Pod=
Stone Hoe=石锄 Soy Sauce=
Straw=稻草 Soy Milk=
Tofu=
Cooked Tofu=
Spinach=
Strawberry=草莓 Strawberry=草莓
String=线 Sunflower=
Sugar=糖 Sunflower Seeds=
Toasted Sunflower Seeds=
Bottle of Sunflower Oil=
Sunflower Seed Bread=
Tomato=番茄
Tomato Soup=
Wooden Bowl=木碗
Saucepan=平底锅
Cooking Pot=锅
Baking Tray=烤盘
Skillet=平底锅
Mortar and Pestle=研钵
Cutting Board=砧板
Juicer=榨汁机
Glass Mixing Bowl=搅拌杯
Vanilla=
Vanilla Extract=
Wheat Seed=小麦种子
Wheat=小麦
Straw=稻草
Flour=面粉
Bread=面包
Sliced Bread=切片面包
Toast=烤面包片 Toast=烤面包片
Toast Sandwich=三明治面包 Toast Sandwich=三明治面包
Tomato=番茄
Trellis (place on soil before planting grapes)=棚架(种植葡萄前先放在土壤上)
Turkish Delight=土耳其软糖
#Wet Savanna Soil=
Wet Soil=湿土
Wheat=小麦
Wheat Seed=小麦种子
#Wild Cotton=
Wooden Bowl=木碗
Wooden Hoe=木锄

View File

@ -1,134 +1,176 @@
# textdomain:farming # textdomain: farming
#%s Hoe= Artichoke=
Apple Donut=蘋果甜甜圈 Asparagus=
#Apple Pie=
Baked Potato=焗馬鈴薯
Baking Tray=烤盤
Banana=香蕉
Banana Leaves=香蕉葉
Bar of Dark Chocolate=黑巧克力條
Barley=大麥
Barley Seed=大麥種子 Barley Seed=大麥種子
Barley=大麥
Green Beans=青豆
Bean Pole (place on soil before planting beans)=豆杆(種豆前先放在土上) Bean Pole (place on soil before planting beans)=豆杆(種豆前先放在土上)
Beetroot=甜菜根 Beetroot=甜菜根
Beetroot Soup=甜菜根湯 Beetroot Soup=甜菜根湯
#Bibimbap= Blackberries=
Wild Blueberries=藍莓 Wild Blueberries=藍莓
Blueberry Muffin=藍莓鬆糕 Blueberry Muffin=藍莓鬆糕
Blueberry Pie=藍莓派 Blueberry Pie=藍莓派
Bottle of Ethanol=一瓶乙醇 Cabbage=
Bottle of Hemp Oil=一瓶大麻油
Bowl of Chili=一碗辣椒
Bread=麵包
Bronze Hoe=青銅鋤頭
#Cabbage=
#Cactus Juice=
Carrot=胡蘿蔔 Carrot=胡蘿蔔
Carrot Juice=胡蘿蔔汁 Carrot Juice=胡蘿蔔汁
Golden Carrot=金蘿蔔
Chili Pepper=辣椒 Chili Pepper=辣椒
Chocolate Block=巧克力塊 Bowl of Chili=一碗辣椒
Chocolate Donut=巧克力甜甜圈 Chili Powder=
Raw Cocoa Beans=
Cocoa Beans=可可豆 Cocoa Beans=可可豆
Coffee Beans=咖啡豆
Cookie=曲奇 Cookie=曲奇
Cooking Pot=鍋 Bar of Dark Chocolate=黑巧克力條
Chocolate Block=巧克力塊
Coffee Beans=咖啡豆
Cup of Coffee=一杯咖啡
Banana=香蕉
Banana Leaves=香蕉葉
Orange=橙色
Corn=玉米 Corn=玉米
Corn on the Cob=玉米棒 Corn on the Cob=玉米棒
Popcorn=
Cornstarch=玉米澱粉 Cornstarch=玉米澱粉
Cotton=棉花 Bottle of Ethanol=一瓶乙醇
Wild Cotton=
Cotton Seed=棉籽 Cotton Seed=棉籽
Cotton=棉花
String=字符串
Cucumber=黃瓜 Cucumber=黃瓜
Cucumber and Potato Salad=黃瓜土豆沙拉 Eggplant=
Cup of Coffee=一杯咖啡 Glass of Water=
Cutting Board=砧板 Sugar=糖
Diamond Hoe=鑽石鋤 Sugar Cube=
Caramel=
Salt=鹽
Mayonnaise=
Rose Water=玫瑰汁
Turkish Delight=土耳其軟糖
Garlic Bread=蒜香麵包
Donut=甜甜圈 Donut=甜甜圈
Flour=麵粉 Chocolate Donut=巧克力甜甜圈
Apple Donut=蘋果甜甜圈
Porridge=粥
Jaffa Cake=佳發餅
Apple Pie=
Cactus Juice=
Pasta=
Mac & Cheese=
Spaghetti=
Bibimbap=
Burger=
Salad=
Triple Berry Smoothie=
Spanish Potatoes=
Potato omelet=
Paella=
Vanilla Flan=
Vegan Cheese=
Onigiri=
Gyoza=
Mochi=
Gingerbread Man=
Garlic clove=蒜瓣
Garlic=大蒜 Garlic=大蒜
Garlic Braid=蒜辮 Garlic Braid=蒜辮
Garlic Bread=蒜香麵包 Ginger=
Garlic clove=蒜瓣
Glass Mixing Bowl=攪拌杯
Golden Carrot=金蘿蔔
Grapes=葡萄 Grapes=葡萄
Green Beans=青豆 Trellis (place on soil before planting grapes)=棚架(種植葡萄前先放在土壤上)
Ground Pepper=胡椒粉
Hemp Block=麻塊
Hemp Fibre=大麻纖維
Hemp Leaf=大麻葉
Hemp Rope=麻繩
Hemp Seed=大麻籽 Hemp Seed=大麻籽
Hemp Leaf=大麻葉
Bottle of Hemp Oil=一瓶大麻油
Hemp Fibre=大麻纖維
Hemp Block=麻塊
Hemp Rope=麻繩
Hoe=鋤頭 Hoe=鋤頭
Hoe Bomb (use or throw on grassy areas to hoe land)=鋤彈(在草地上使用或扔在鋤地上) Wooden Hoe=木鋤
Jack 'O Lantern (punch to turn on and off)=南瓜燈(按一下開關) Stone Hoe=石鋤
Jaffa Cake=佳發餅 Steel Hoe=鋼鋤頭
Juicer=榨汁機 Bronze Hoe=青銅鋤頭
Melon=甜瓜
Melon Slice=西瓜片
Mese Hoe=黃石鋤頭 Mese Hoe=黃石鋤頭
#Mint Leaf= Diamond Hoe=鑽石鋤
#Mint Seeds= Wood Hoe=
#Mint Tea= Hoe Bomb (use or throw on grassy areas to hoe land)=鋤彈(在草地上使用或扔在鋤地上)
Mithril Scythe (Right-click to harvest and replant crops)=祕銀鐮刀(右擊可收穫並重新種植作物) Mithril Scythe (Use to harvest and replant crops)=
Mortar and Pestle=研缽 Seed=種子
Multigrain Bread=雜糧麵包 Lettuce=
Multigrain Flour=多粒麵粉 Melon Slice=西瓜片
Oat seed=燕麥籽 Melon=甜瓜
#Oats= Mint Seeds=
Mint Leaf=
Mint Tea=
Onion=洋蔥 Onion=洋蔥
#Onion Soup= Onion Soup=
Orange=橙色 Parsley=
#Pasta=
Pea Pod=豌豆莢 Pea Pod=豌豆莢
Pea Soup=豌豆湯 Pea Soup=豌豆湯
Peas=豌豆
Pepper=胡椒粉
Peppercorn=胡椒粉 Peppercorn=胡椒粉
Pineapple=菠蘿 Green Pepper=
Pineapple Juice=菠蘿汁 Yellow Pepper=
Pineapple Ring=菠蘿圈 Red Pepper=
Ground Pepper=胡椒粉
Pineapple Top=菠蘿上衣 Pineapple Top=菠蘿上衣
Porridge=粥 Pineapple=菠蘿
Pineapple Ring=菠蘿圈
Pineapple Juice=菠蘿汁
Potato=土豆 Potato=土豆
Pumpkin=南瓜 Baked Potato=焗馬鈴薯
Cucumber and Potato Salad=黃瓜土豆沙拉
Pumpkin Slice=南瓜片
Jack 'O Lantern (punch to turn on and off)=南瓜燈(按一下開關)
Scarecrow Bottom=稻草人屁股
Pumpkin Bread=南瓜麵包 Pumpkin Bread=南瓜麵包
Pumpkin Dough=南瓜麵糰 Pumpkin Dough=南瓜麵糰
Pumpkin Slice=南瓜 Pumpkin=南瓜
Raspberries=覆盆子 Raspberries=覆盆子
Raspberry Smoothie=覆盆子冰沙 Raspberry Smoothie=覆盆子冰沙
Rhubarb=大黃 Rhubarb=大黃
Rhubarb Pie=大黃派 Rhubarb Pie=大黃派
Rice Seed=
Rice=大米 Rice=大米
Rice Bread=米飯麵包 Rice Bread=米飯麵包
Rice Flour=米粉 Rice Flour=米粉
Rice grains=稻穀
Rose Water=玫瑰汁
Rye=黑麥
Rye seed=黑麥種子 Rye seed=黑麥種子
Salt=鹽 Rye=黑麥
Saucepan=平底鍋 Oat seed=燕麥籽
#Savanna Soil= Oats=
Scarecrow Bottom=稻草人屁股 Multigrain Flour=多粒麵粉
Seed=種子 Multigrain Bread=雜糧麵包
Skillet=平底鍋 Savanna Soil=
Sliced Bread=切片面包 Wet Savanna Soil=
Soil=土壤 Soil=土壤
#Spaghetti= Wet Soil=溼土
Steel Hoe=鋼鋤頭 Soy Pod=
Stone Hoe=石鋤 Soy Sauce=
Straw=稻草 Soy Milk=
Tofu=
Cooked Tofu=
Spinach=
Strawberry=草莓 Strawberry=草莓
String=線 Sunflower=
Sugar=糖 Sunflower Seeds=
Toasted Sunflower Seeds=
Bottle of Sunflower Oil=
Sunflower Seed Bread=
Tomato=番茄
Tomato Soup=
Wooden Bowl=木碗
Saucepan=平底鍋
Cooking Pot=鍋
Baking Tray=烤盤
Skillet=平底鍋
Mortar and Pestle=研缽
Cutting Board=砧板
Juicer=榨汁機
Glass Mixing Bowl=攪拌杯
Vanilla=
Vanilla Extract=
Wheat Seed=小麥種子
Wheat=小麥
Straw=稻草
Flour=麵粉
Bread=麵包
Sliced Bread=切片面包
Toast=烤麵包片 Toast=烤麵包片
Toast Sandwich=三明治麵包 Toast Sandwich=三明治麵包
Tomato=番茄
Trellis (place on soil before planting grapes)=棚架(種植葡萄前先放在土壤上)
Turkish Delight=土耳其軟糖
#Wet Savanna Soil=
Wet Soil=溼土
Wheat=小麥
Wheat Seed=小麥種子
#Wild Cotton=
Wooden Bowl=木碗
Wooden Hoe=木鋤

View File

@ -1,195 +0,0 @@
# 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

View File

@ -1,194 +0,0 @@
# 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,195 +0,0 @@
# 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,212 +0,0 @@
# 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,194 +0,0 @@
# 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

@ -1,119 +0,0 @@
Seed=种子
Banana=香蕉
Banana Leaves=香蕉叶
Orange=橙色
Strawberry=草莓
Sugar=糖
Salt=盐
Rose Water=玫瑰汁
Turkish Delight=土耳其软糖
Garlic Bread=蒜香面包
Donut=甜甜圈
Chocolate Donut=巧克力甜甜圈
Apple Donut=苹果甜甜圈
Porridge=粥
Jaffa Cake=佳发饼
Hoe=锄头
Wooden Hoe=木锄
Stone Hoe=石锄
Steel Hoe=钢锄头
Bronze Hoe=青铜锄头
Mese Hoe=黄石锄头
Diamond Hoe=钻石锄
Hoe Bomb (use or throw on grassy areas to hoe land)=锄弹(在草地上使用或扔在锄地上)
Mithril Scythe (Right-click to harvest and replant crops)=秘银镰刀(右击可收获并重新种植作物)
Soil=土壤
Wet Soil=湿土
Wooden Bowl=木碗
Saucepan=平底锅
Cooking Pot=锅
Baking Tray=烤盘
Skillet=平底锅
Mortar and Pestle=研钵
Cutting Board=砧板
Juicer=榨汁机
Glass Mixing Bowl=搅拌杯
Barley Seed=大麦种子
Barley=大麦
Green Beans=青豆
Bean Pole (place on soil before planting beans)=豆杆(种豆前先放在土上)
Beetroot=甜菜根
Beetroot Soup=甜菜根汤
Blueberries=蓝莓
Blueberry Muffin=蓝莓松糕
Blueberry Pie=蓝莓派
Carrot=胡萝卜
Carrot Juice=胡萝卜汁
Golden Carrot=金萝卜
Chili Pepper=辣椒
Bowl of Chili=一碗辣椒
Cocoa Beans=可可豆
Cookie=曲奇
Bar of Dark Chocolate=黑巧克力条
Chocolate Block=巧克力块
Coffee Beans=咖啡豆
Cup of Coffee=一杯咖啡
Corn=玉米
Corn on the Cob=玉米棒
Cornstarch=玉米淀粉
Bottle of Ethanol=一瓶乙醇
Cotton Seed=棉籽
Cotton=棉花
String=线
Cucumber=黄瓜
Garlic clove=蒜瓣
Garlic=大蒜
Garlic Braid=蒜辫
Grapes=葡萄
Trellis (place on soil before planting grapes)=棚架(种植葡萄前先放在土壤上)
Hemp Seed=大麻籽
Hemp Leaf=大麻叶
Bottle of Hemp Oil=一瓶大麻油
Hemp Fibre=大麻纤维
Hemp Block=麻块
Hemp Rope=麻绳
Melon Slice=西瓜片
Melon=甜瓜
Onion=洋葱
Pea Pod=豌豆荚
Peas=豌豆
Pea Soup=豌豆汤
Peppercorn=胡椒粉
Pepper=胡椒粉
Ground Pepper=胡椒粉
Pineapple Top=菠萝上衣
Pineapple=菠萝
Pineapple Ring=菠萝圈
Pineapple Juice=菠萝汁
Potato=土豆
Baked Potato=焗马铃薯
Cucumber and Potato Salad=黄瓜土豆沙拉
Pumpkin Slice=南瓜片
Jack 'O Lantern (punch to turn on and off)=杰克灯(按一下开关)
Scarecrow Bottom=稻草人屁股
Pumpkin Bread=南瓜面包
Pumpkin Dough=南瓜面团
Pumpkin=南瓜
Raspberries=覆盆子
Raspberry Smoothie=覆盆子冰沙
Rhubarb=大黄
Rhubarb Pie=大黄派
Rye=黑麦
Rye seed=黑麦种子
Oat=燕麦
Oat seed=燕麦籽
Rice=大米
Rice grains=稻谷
Rice Bread=米饭面包
Rice Flour=米粉
Multigrain Flour=多粒面粉
Multigrain Bread=杂粮面包
Tomato=番茄
Wheat Seed=小麦种子
Wheat=小麦
Straw=稻草
Flour=面粉
Bread=面包
Sliced Bread=切片面包
Toast=烤面包片
Toast Sandwich=三明治面包

View File

@ -1,119 +0,0 @@
Seed=種子
Banana=香蕉
Banana Leaves=香蕉葉
Orange=橙色
Strawberry=草莓
Sugar=糖
Salt=鹽
Rose Water=玫瑰汁
Turkish Delight=土耳其軟糖
Garlic Bread=蒜香麵包
Donut=甜甜圈
Chocolate Donut=巧克力甜甜圈
Apple Donut=蘋果甜甜圈
Porridge=粥
Jaffa Cake=佳發餅
Hoe=鋤頭
Wooden Hoe=木鋤
Stone Hoe=石鋤
Steel Hoe=鋼鋤頭
Bronze Hoe=青銅鋤頭
Mese Hoe=黃石鋤頭
Diamond Hoe=鑽石鋤
Hoe Bomb (use or throw on grassy areas to hoe land)=鋤彈(在草地上使用或扔在鋤地上)
Mithril Scythe (Right-click to harvest and replant crops)=祕銀鐮刀(右擊可收穫並重新種植作物)
Soil=土壤
Wet Soil=溼土
Wooden Bowl=木碗
Saucepan=平底鍋
Cooking Pot=鍋
Baking Tray=烤盤
Skillet=平底鍋
Mortar and Pestle=研缽
Cutting Board=砧板
Juicer=榨汁機
Glass Mixing Bowl=攪拌杯
Barley Seed=大麥種子
Barley=大麥
Green Beans=青豆
Bean Pole (place on soil before planting beans)=豆杆(種豆前先放在土上)
Beetroot=甜菜根
Beetroot Soup=甜菜根湯
Blueberries=藍莓
Blueberry Muffin=藍莓鬆糕
Blueberry Pie=藍莓派
Carrot=胡蘿蔔
Carrot Juice=胡蘿蔔汁
Golden Carrot=金蘿蔔
Chili Pepper=辣椒
Bowl of Chili=一碗辣椒
Cocoa Beans=可可豆
Cookie=曲奇
Bar of Dark Chocolate=黑巧克力條
Chocolate Block=巧克力塊
Coffee Beans=咖啡豆
Cup of Coffee=一杯咖啡
Corn=玉米
Corn on the Cob=玉米棒
Cornstarch=玉米澱粉
Bottle of Ethanol=一瓶乙醇
Cotton Seed=棉籽
Cotton=棉花
String=字符串
Cucumber=黃瓜
Garlic clove=蒜瓣
Garlic=大蒜
Garlic Braid=蒜辮
Grapes=葡萄
Trellis (place on soil before planting grapes)=棚架(種植葡萄前先放在土壤上)
Hemp Seed=大麻籽
Hemp Leaf=大麻葉
Bottle of Hemp Oil=一瓶大麻油
Hemp Fibre=大麻纖維
Hemp Block=麻塊
Hemp Rope=麻繩
Melon Slice=西瓜片
Melon=甜瓜
Onion=洋蔥
Pea Pod=豌豆莢
Peas=豌豆
Pea Soup=豌豆湯
Peppercorn=胡椒粉
Pepper=胡椒粉
Ground Pepper=胡椒粉
Pineapple Top=菠蘿上衣
Pineapple=菠蘿
Pineapple Ring=菠蘿圈
Pineapple Juice=菠蘿汁
Potato=土豆
Baked Potato=焗馬鈴薯
Cucumber and Potato Salad=黃瓜土豆沙拉
Pumpkin Slice=南瓜片
Jack 'O Lantern (punch to turn on and off)=傑克燈(按一下開關)
Scarecrow Bottom=稻草人屁股
Pumpkin Bread=南瓜麵包
Pumpkin Dough=南瓜麵糰
Pumpkin=南瓜
Raspberries=覆盆子
Raspberry Smoothie=覆盆子冰沙
Rhubarb=大黃
Rhubarb Pie=大黃派
Rye=黑麥
Rye seed=黑麥種子
Oat=燕麥
Oat seed=燕麥籽
Rice=大米
Rice grains=稻穀
Rice Bread=米飯麵包
Rice Flour=米粉
Multigrain Flour=多粒麵粉
Multigrain Bread=雜糧麵包
Tomato=番茄
Wheat Seed=小麥種子
Wheat=小麥
Straw=稻草
Flour=麵粉
Bread=麵包
Sliced Bread=切片面包
Toast=烤麵包片
Toast Sandwich=三明治麵包

View File

@ -1,24 +1,25 @@
local mcl = farming.mcl
-- add lucky blocks -- add lucky blocks
if minetest.get_modpath("lucky_block") then lucky_block:add_blocks({
lucky_block:add_blocks({
{"dro", {"farming:corn"}, 5}, {"dro", {"farming:corn"}, 5},
{"dro", {"farming:coffee_cup_hot"}, 1}, {"dro", {"farming:coffee_cup_hot"}, 1},
{"dro", {"farming:bread"}, 5}, {"dro", {(mcl and "mcl_farming:bread" or "farming:bread")}, 5},
{"nod", "farming:jackolantern", 0}, {"nod", (mcl and "mcl_farming:pumpkin_face_light" or "farming:jackolantern"), 0},
{"tro", "farming:jackolantern_on"}, {"tro", (mcl and "mcl_farming:pumpkin_face_light" or "farming:jackolantern_on")},
{"nod", "default:river_water_source", 1}, {"nod", (mcl and "mcl_core:water_source" or "default:river_water_source"), 1},
{"tel"}, {"tel"},
{"dro", {"farming:trellis", "farming:grapes"}, 5}, {"dro", {"farming:trellis", "farming:grapes"}, 5},
{"dro", {"farming:bottle_ethanol"}, 1}, {"dro", {"farming:bottle_ethanol"}, 1},
{"nod", "farming:melon", 0}, {"nod", (mcl and "mcl_farming:melon" or "farming:melon"), 0},
{"dro", {"farming:donut", "farming:donut_chocolate", "farming:donut_apple"}, 5}, {"dro", {"farming:donut", "farming:donut_chocolate", "farming:donut_apple"}, 5},
{"dro", {"farming:hemp_leaf", "farming:hemp_fibre", "farming:seed_hemp"}, 10}, {"dro", {"farming:hemp_leaf", "farming:hemp_fibre", "farming:seed_hemp"}, 10},
{"nod", "fire:permanent_flame", 1}, {"nod", (mcl and "mcl_fire:fire" or "fire:permanent_flame"), 1},
{"dro", {"farming:chili_pepper", "farming:chili_bowl"}, 5}, {"dro", {"farming:chili_pepper", "farming:chili_bowl"}, 5},
{"dro", {"farming:bowl"}, 3}, {"dro", {(mcl and "mcl_core:bowl" or "farming:bowl")}, 3},
{"dro", {"farming:saucepan"}, 1}, {"dro", {"farming:saucepan"}, 1},
{"dro", {"farming:pot"}, 1}, {"dro", {"farming:pot"}, 1},
{"dro", {"farming:baking_tray"}, 1}, {"dro", {"farming:baking_tray"}, 1},
@ -28,44 +29,72 @@ if minetest.get_modpath("lucky_block") then
{"dro", {"farming:cutting_board"}, 1}, {"dro", {"farming:cutting_board"}, 1},
{"dro", {"farming:juicer"}, 1}, {"dro", {"farming:juicer"}, 1},
{"dro", {"farming:mixing_bowl"}, 1}, {"dro", {"farming:mixing_bowl"}, 1},
{"dro", {"farming:hoe_bronze"}, 1}, {"dro", {"farming:sunflower_oil"}, 5},
{"dro", {"farming:hoe_mese"}, 1}, {"dro", {(mcl and "mcl_farming:hoe_stone" or "farming:hoe_bronze")}, 1},
{"dro", {"farming:hoe_diamond"}, 1}, {"dro", {(mcl and "mcl_farming:hoe_gold" or "farming:hoe_mese")}, 1},
{"dro", {(mcl and "mcl_farming:hoe_diamond" or "farming:hoe_diamond")}, 1},
{"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}, {"dro", {(mcl and "mcl_farming:hoe_netherite" or "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"},
{"farming:soil_wet", (mcl and "mcl_farming:soil_wet" or "farming:soil_wet")},
{"default:dirt", (mcl and "mcl_core:dirt" or "default:dirt")},
{"default:water_source", (mcl and "mcl_core:water_source" or "default:water_source")},
}}, }},
{"sch", "instafarm", 0, true, { {"sch", "instafarm", 0, true, {
{"farming:wheat_8", "farming:pepper_5"}, {"farming:wheat_8", "farming:pepper_5"},
{"farming:cotton_8", "farming:onion_5"}, {"farming:cotton_8", "farming:onion_5"},
{"farming:soil_wet", (mcl and "mcl_farming:soil_wet" or "farming:soil_wet")},
{"default:dirt", (mcl and "mcl_core:dirt" or "default:dirt")},
{"default:water_source", (mcl and "mcl_core:water_source" or "default:water_source")},
}}, }},
{"sch", "instafarm", 0, true, { {"sch", "instafarm", 0, true, {
{"farming:wheat_8", "farming:beetroot_5"}, {"farming:wheat_8", (mcl and "mcl_farming:beetroot" or "farming:beetroot_5")},
{"farming:cotton_8", "farming:barley_7"}, {"farming:cotton_8", "farming:barley_7"},
{"farming:soil_wet", (mcl and "mcl_farming:soil_wet" or "farming:soil_wet")},
{"default:dirt", (mcl and "mcl_core:dirt" or "default:dirt")},
{"default:water_source", (mcl and "mcl_core:water_source" or "default:water_source")},
}}, }},
{"sch", "instafarm", 0, true, { {"sch", "instafarm", 0, true, {
{"farming:wheat_8", "farming:corn_8"}, {"farming:wheat_8", "farming:corn_8"},
{"farming:cotton_8", "farming:grapes_8"}, {"farming:cotton_8", "farming:grapes_8"},
{"farming:soil_wet", (mcl and "mcl_farming:soil_wet" or "farming:soil_wet")},
{"default:dirt", (mcl and "mcl_core:dirt" or "default:dirt")},
{"default:water_source", (mcl and "mcl_core:water_source" or "default:water_source")},
}}, }},
{"sch", "instafarm", 0, true, { {"sch", "instafarm", 0, true, {
{"farming:wheat_8", "farming:pea_5"}, {"farming:wheat_8", "farming:pea_5"},
{"farming:cotton_8", "farming:coffee_5"}, {"farming:cotton_8", "farming:coffee_5"},
{"farming:soil_wet", (mcl and "mcl_farming:soil_wet" or "farming:soil_wet")},
{"default:dirt", (mcl and "mcl_core:dirt" or "default:dirt")},
{"default:water_source", (mcl and "mcl_core:water_source" or "default:water_source")},
}}, }},
{"sch", "instafarm", 0, true, { {"sch", "instafarm", 0, true, {
{"farming:wheat_8", "farming:raspberry_4"}, {"farming:wheat_8", "farming:raspberry_4"},
{"farming:cotton_8", "farming:tomato_8"}, {"farming:cotton_8", "farming:tomato_8"},
{"farming:soil_wet", (mcl and "mcl_farming:soil_wet" or "farming:soil_wet")},
{"default:dirt", (mcl and "mcl_core:dirt" or "default:dirt")},
{"default:water_source", (mcl and "mcl_core:water_source" or "default:water_source")},
}}, }},
{"sch", "instafarm", 0, true, { {"sch", "instafarm", 0, true, {
{"farming:wheat_8", "farming:chili_8"}, {"farming:wheat_8", "farming:chili_8"},
{"farming:cotton_8", "farming:cucumber_4"}, {"farming:cotton_8", "farming:cucumber_4"},
{"farming:soil_wet", (mcl and "mcl_farming:soil_wet" or "farming:soil_wet")},
{"default:dirt", (mcl and "mcl_core:dirt" or "default:dirt")},
{"default:water_source", (mcl and "mcl_core:water_source" or "default:water_source")},
}},
{"sch", "instafarm", 0, true, {
{"farming:wheat_8", "farming:spinach_4"},
{"farming:cotton_8", "farming:eggplant_4"},
{"farming:soil_wet", (mcl and "mcl_farming:soil_wet" or "farming:soil_wet")},
{"default:dirt", (mcl and "mcl_core:dirt" or "default:dirt")},
{"default:water_source", (mcl and "mcl_core:water_source" or "default:water_source")},
}}, }},
{"nod", "default:chest", 0, { {"nod", "default:chest", 0, {
{name = "farming:seed_wheat", max = 15}, {name = (mcl and "mcl_farming:wheat_seeds" or "farming:seed_wheat"), 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_rye", max = 15},
@ -74,6 +103,8 @@ if minetest.get_modpath("lucky_block") then
{name = "farming:soil_wet", max = 10}, {name = "farming:soil_wet", max = 10},
{name = "farming:cotton_wild", max = 5}, {name = "farming:cotton_wild", max = 5},
{name = "farming:grapebush", max = 5}, {name = "farming:grapebush", max = 5},
{name = "farming:asparagus", max = 7}
}}, }},
}) {"dro", {"farming:chili_powder"}, 5},
end {"dro", {"farming:weed"}, 9},
})

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