mods that hopefully work for a TechAge-based pack
@@ -0,0 +1 @@
|
||||
farming.conf
|
||||
@@ -0,0 +1,277 @@
|
||||
Farming Redo mod for Minetest
|
||||
=============================
|
||||
|
||||
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.
|
||||
|
||||

|
||||
|
||||
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.luanti.org/viewtopic.php?t=9019
|
||||
|
||||
Farming Redo also works with Bonemeal mod for quick growing crops and saplings which can
|
||||
be found at https://notabug.org/TenPlus1/bonemeal
|
||||
|
||||
#### Optional dependences:
|
||||
|
||||
* default
|
||||
* mcl_core, mcl_sounds, mcl_farming, mcl_stairs
|
||||
* stairs
|
||||
* lucky_block (adds 49 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:
|
||||
|
||||
- 1.50 - Add 'farming_floodable_crops' setting so that crops will drop when flooded.
|
||||
- 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.45 - Dirt and Hoes are more in line with default by using dry/wet/base, added cactus juice, added pasta, spaghetti, cabbage, korean bibimbap, code tidy
|
||||
options, onion soup added (thanks edcrypt), Added apple pie, added wild cotton to savanna
|
||||
- 1.44 - Added 'farming_stage_length' in mod settings for speed of crop growth, also thanks to TheDarkTiger for translation updates
|
||||
- 1.43 - Scythe works on use instead of right-click, added seed=1 groups to actual seeds and seed=2 group for plantable food items.
|
||||
- 1.42 - Soil needs water to be present within 3 blocks horizontally and 1 below to make wet soil, Jack 'o Lanterns now check protection, add chocolate block.
|
||||
- 1.41 - Each crop has it's own spawn rate (can be changed in farming.conf)
|
||||
- 1.40 - Added Mithril Scythe to quick harvest and replant crops on right-click. Added Hoe's for MoreOres with Toolrank support.
|
||||
- 1.39 - Added Rice, Rye and Oats thanks to Ademants Grains mod. Added Jaffa Cake and multigrain bread.
|
||||
- 1.38 - Pumpkin grows into block, use chopping board to cut into 4x slices, same with melon block, 2x2 slices makes a block, cocoa pods are no longer walkable
|
||||
- 1.37 - Added custom 'growth_check(pos, nodename) function for crop nodes to use (check cocoa.lua for example)
|
||||
- 1.36 - Added Beetroot, Beetroot Soup (6x beetroot, 1x bowl), fix register_plant() issue, add new recipes
|
||||
- 1.35 - Deprecated bronze/mese/diamond hoe's, added hoe bomb and deprecated hoe's as lucky block prizes
|
||||
- 1.34 - Added scarecrow Base (5x sticks in a cross shape)
|
||||
- 1.33 - Added cooking utensils (wooden bowl, saucepan, cooking pot, baking tray, skillet, cutting board, mortar & pestle, juicer, glass mixing bowl) for easier food crafts.
|
||||
- 1.32 - Added Pea plant (textures by Andrey01) - also added Wooden Bowl and Pea Soup crafts
|
||||
- 1.31 - Added Pineapple which can be found growing in savannah areas (place pineapple in crafting to obtain 5x rings to eat and a top for re-planting), also Salt which is made from cooking a bucket of water, added food groups so it's more compatible with Ruben's food mods.
|
||||
- 1.30 - Added Garlic, Pepper and Onions thanks to Grizzly Adam for sharing textures
|
||||
- 1.29 - Updating functions so requires Minetest 0.4.16 and above to run
|
||||
- 1.28 - Added chili peppers and bowl of chili, optimized code and fixed a few bugs, added porridge
|
||||
- 1.27 - Added meshoptions to api and wheat plants, added farming.rarity setting to spawn more/less crops on map, have separate cotton/string items (4x cotton = 1x wool, 2x cotton = 2x string)
|
||||
- 1.26 - Added support for [toolranks] mod when using hoe's
|
||||
- 1.25 - Added check for farming.conf setting file to disable specific crops globally (inside mod folder) or world specific (inside world folder)
|
||||
- 1.24 - Added Hemp which can be crafted into fibre, paper, string, rope and oil.
|
||||
- 1.23 - Huge code tweak and tidy done and added barley seeds to be found in dry grass, barley can make flour for bread also.
|
||||
- 1.22 - Added grape bushes at high climates which can be cultivated into grape vines using trellis (9 sticks).
|
||||
- 1.21 - Added auto-refill code for planting crops (thanks crabman77), also fixed a few bugs
|
||||
- 1.20b - Tidied code, made api compatible with new 0.4.13 changes and changed to soil texture overlays
|
||||
- 1.20 - NEW growing routine added that allows crops to grow while player is away doing other things (thanks prestidigitator)
|
||||
- 1.14 - Added Green Beans from Crops mod (thanks sofar), little bushels in the wild but need to be grown using beanpoles crafted with 4 sticks (2 either side)
|
||||
- 1.13 - Fixed seed double-placement glitch. Mapgen now uses 0.4.12+ for plant generation
|
||||
- 1.12 - Player cannot place seeds in protected area, also growing speeds changed to match defaults
|
||||
- 1.11 - Added Straw Bale, streamlined growing abm a little, fixed melon rotation bug with screwdriver
|
||||
- 1.10 - Added Blueberry Bush and Blueberry Muffins, also Pumpkin/Melon easier to pick up, added check for unloaded map
|
||||
- 1.09 - Corn now uses single nodes instead of 1 ontop of the other, Ethanol recipe is more expensive (requires 5 corn) and some code cleanup.
|
||||
- 1.08 - Added Farming Plus compatibility, plus can be removed and no more missing nodes
|
||||
- 1.07 - Added Rhubarb and Rhubarb Pie
|
||||
- 1.06 - register_hoe and register_plant added for compatibility with default farming mod, although any plants registered will use farming redo to grow
|
||||
- 1.05 - Added Raspberry Bushels and Raspberry Smoothie
|
||||
- 1.04 - Added Donuts... normal, chocolate and apple... and a few code cleanups and now compatible with jungletree's from MoreTrees mod
|
||||
- 1.03 - Bug fixes and more compatibility as drop-in replacement for built-in farming mod
|
||||
- 1.02 - Added farming.mod string to help other mods identify which farming mod is running, if it returns "redo" then you're using this one, "" empty is built-in mod
|
||||
- 1.01 - Crafting coffee or ethanol returns empty bucket/bottle, also Cocoa spawns a little rarer
|
||||
- 1.0 - Added Cocoa which randomly grows on jungle tree's, pods give cocoa beans which can be used to farm more pods on a jungle trunk or make Cookies which have been added (or other treats)
|
||||
- 0.9 - Added Pumpkin, Jack 'O Lantern, Pumpkin Slice and Sugar (a huge thanks to painterly.net for allowing me to use their textures)
|
||||
- 0.8 - Added Watermelon and Melon Slice
|
||||
- 0.7 - Added Coffee, Coffee Beans, Drinking Cup, Cold and Hot Cup of Coffee
|
||||
- 0.6 - Added Corn, Corn on the Cob... Also reworked Abm
|
||||
- 0.5 - Added Carrot, Cucumber, Potato (and Baked Potato), Tomato
|
||||
- 0.4 - Checks for Protection, also performance changes
|
||||
- 0.3 - Added Diamond and Mese hoe
|
||||
- 0.2 - Fixed check for wet soil
|
||||
- 0.1 - Fixed growing bug
|
||||
- 0.0 - Initial release
|
||||
|
After Width: | Height: | Size: 421 B |
|
After Width: | Height: | Size: 382 B |
|
After Width: | Height: | Size: 116 B |
|
After Width: | Height: | Size: 137 B |
|
After Width: | Height: | Size: 157 B |
|
After Width: | Height: | Size: 209 B |
|
After Width: | Height: | Size: 234 B |
|
After Width: | Height: | Size: 240 B |
|
After Width: | Height: | Size: 258 B |
|
After Width: | Height: | Size: 258 B |
|
After Width: | Height: | Size: 422 B |
|
After Width: | Height: | Size: 382 B |
|
After Width: | Height: | Size: 487 B |
|
After Width: | Height: | Size: 345 B |
|
After Width: | Height: | Size: 687 B |
|
After Width: | Height: | Size: 325 B |
|
After Width: | Height: | Size: 242 B |
|
After Width: | Height: | Size: 557 B |
|
After Width: | Height: | Size: 703 B |
|
After Width: | Height: | Size: 440 B |
|
After Width: | Height: | Size: 1.2 KiB |
@@ -0,0 +1,100 @@
|
||||
Farming API
|
||||
-----------
|
||||
|
||||
The farming API allows you to easily register plants and hoes.
|
||||
|
||||
`farming.register_hoe(name, hoe definition)`
|
||||
* Register a new hoe, see [#hoe definition]
|
||||
|
||||
`farming.register_plant(name, Plant definition)`
|
||||
* Register a new growing plant, see [#Plant definition]
|
||||
|
||||
`farming.registered_plants[name] = definition`
|
||||
* Table of registered plants, indexed by plant name
|
||||
'crop' holds name of growing crop node minus _step-number at end
|
||||
'seed' has name of seed required to plant crop
|
||||
'minlight' min light level needed to grow
|
||||
'maxlight' max light level needed to grow
|
||||
'steps' number of steps crop has in growth cycle
|
||||
'trellis' name of trellis node (e.g. "farming:trellis"), default: nil
|
||||
|
||||
### Hoe Definition
|
||||
|
||||
{
|
||||
description = "My Hoe", -- Description for tooltip
|
||||
inventory_image = "unknown_item.png", -- Image to be used as wield- and inventory image
|
||||
max_uses = 30, -- Uses until destroyed
|
||||
material = "", -- Material for recipes
|
||||
recipe = { -- Craft recipe, if material isn't used
|
||||
{"air", "air", "air"},
|
||||
{"", "group:stick", ""},
|
||||
{"", "group:stick", ""},
|
||||
}
|
||||
}
|
||||
|
||||
### Plant definition
|
||||
|
||||
{
|
||||
description = "My Plant", -- Description of seed item
|
||||
inventory_image = "unknown_item.png", -- Image to be used as seed's wield- and inventory image
|
||||
steps = 8, -- How many steps the plant has to grow, until it can be harvested
|
||||
-- ^ Always provide a plant texture for each step, format: modname_plantname_i.png (i = stepnumber)
|
||||
minlight = 13, -- Minimum light to grow
|
||||
maxlight = core.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.
|
||||
|
||||
### Crop functions
|
||||
|
||||
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]) [DEPRECATED for above can_grow function]
|
||||
-- check surrounding for jungle tree
|
||||
if core.find_node_near(pos, 1, {"default:jungletree"}) then
|
||||
return true -- place next growth stage
|
||||
end
|
||||
return false -- condition not met, skip next growth stage until next check
|
||||
end,
|
||||
|
||||
### Scythe items that will not drop
|
||||
|
||||
This is a function to add items to a list that scythes will not drop, e.g. farming:trellis or farming:beanpole.
|
||||
|
||||
farming.add_to_scythe_not_drops(item_name)
|
||||
|
||||
### 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)
|
||||
|
||||
|
||||
### Eatable
|
||||
|
||||
A quick function to add {eatable='hp', flammable=2, food='type'} groups to a food item, food_type is generally 2 for food, 3 for drink and 1 for other/unsure to tie in with other games and mods.
|
||||
|
||||
farming.add_eatable(item, hp, food_type)
|
||||
|
||||
|
||||
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()
|
||||
@@ -0,0 +1,161 @@
|
||||
|
||||
local S = core.get_translator("farming")
|
||||
|
||||
--= Helpers
|
||||
|
||||
local eth = core.get_modpath("ethereal")
|
||||
local alias = function(orig, new)
|
||||
core.register_alias(orig, new)
|
||||
end
|
||||
|
||||
--= Add {eatable} group to default food items if found
|
||||
|
||||
farming.add_eatable("default:apple", 2)
|
||||
farming.add_eatable("default:blueberries", 1)
|
||||
farming.add_eatable("flowers:mushroom_brown", 1)
|
||||
farming.add_eatable("flowers:mushroom_red", -5)
|
||||
|
||||
--= Aliases
|
||||
|
||||
-- Banana
|
||||
|
||||
if eth then
|
||||
alias("farming_plus:banana_sapling", "ethereal:banana_tree_sapling")
|
||||
alias("farming_plus:banana_leaves", "ethereal:bananaleaves")
|
||||
alias("farming_plus:banana", "ethereal:banana")
|
||||
else
|
||||
core.register_node(":ethereal:banana", {
|
||||
description = S("Banana"),
|
||||
drawtype = "torchlike",
|
||||
tiles = {"farming_banana_single.png"},
|
||||
inventory_image = "farming_banana_single.png",
|
||||
wield_image = "farming_banana_single.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
selection_box = {
|
||||
type = "fixed", fixed = {-0.2, -0.5, -0.2, 0.2, 0.2, 0.2}
|
||||
},
|
||||
groups = {food_banana = 1, fleshy = 3, dig_immediate = 3},
|
||||
is_ground_content = false,
|
||||
on_use = core.item_eat(2),
|
||||
sounds = farming.node_sound_leaves_defaults()
|
||||
})
|
||||
|
||||
farming.add_eatable("ethereal:banana", 2)
|
||||
|
||||
core.register_node(":ethereal:bananaleaves", {
|
||||
description = S("Banana Leaves"),
|
||||
tiles = {"ethereal_banana_leaf.png"},
|
||||
inventory_image = "ethereal_banana_leaf.png",
|
||||
wield_image = "ethereal_banana_leaf.png",
|
||||
paramtype = "light",
|
||||
waving = 1,
|
||||
groups = {snappy = 3, leafdecay = 3, leaves = 1, flammable = 2},
|
||||
is_ground_content = false,
|
||||
sounds = farming.node_sound_leaves_defaults()
|
||||
})
|
||||
|
||||
alias("farming_plus:banana_sapling", "default:sapling")
|
||||
alias("farming_plus:banana_leaves", "ethereal:bananaleaves")
|
||||
alias("farming_plus:banana", "ethereal:banana")
|
||||
end
|
||||
|
||||
-- Carrot
|
||||
|
||||
alias("farming_plus:carrot_seed", "farming:carrot")
|
||||
alias("farming_plus:carrot_1", "farming:carrot_1")
|
||||
alias("farming_plus:carrot_2", "farming:carrot_4")
|
||||
alias("farming_plus:carrot_3", "farming:carrot_6")
|
||||
alias("farming_plus:carrot", "farming:carrot_8")
|
||||
alias("farming_plus:carrot_item", "farming:carrot")
|
||||
|
||||
-- Cocoa
|
||||
|
||||
alias("farming_plus:cocoa_sapling", "farming:cocoa_beans")
|
||||
alias("farming_plus:cocoa_leaves", "default:leaves")
|
||||
alias("farming_plus:cocoa", "default:apple")
|
||||
alias("farming_plus:cocoa_bean", "farming:cocoa_beans")
|
||||
|
||||
-- Orange
|
||||
|
||||
alias("farming_plus:orange_1", "farming:tomato_1")
|
||||
alias("farming_plus:orange_2", "farming:tomato_4")
|
||||
alias("farming_plus:orange_3", "farming:tomato_6")
|
||||
|
||||
if eth then
|
||||
alias("farming_plus:orange_item", "ethereal:orange")
|
||||
alias("farming_plus:orange", "ethereal:orange")
|
||||
alias("farming_plus:orange_seed", "ethereal:orange_tree_sapling")
|
||||
else
|
||||
core.register_node(":ethereal:orange", {
|
||||
description = S("Orange"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_orange.png"},
|
||||
inventory_image = "farming_orange.png",
|
||||
wield_image = "farming_orange.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
selection_box = {
|
||||
type = "fixed", fixed = {-0.2, -0.3, -0.2, 0.2, 0.2, 0.2}
|
||||
},
|
||||
groups = {food_orange = 1, fleshy = 3, dig_immediate = 3, flammable = 2},
|
||||
is_ground_content = false,
|
||||
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", "ethereal:orange")
|
||||
alias("farming_plus:orange_seed", "default:sapling")
|
||||
end
|
||||
|
||||
-- Potato
|
||||
|
||||
alias("farming_plus:potato_item", "farming:potato")
|
||||
alias("farming_plus:potato_1", "farming:potato_1")
|
||||
alias("farming_plus:potato_2", "farming:potato_2")
|
||||
alias("farming_plus:potato", "farming:potato_3")
|
||||
alias("farming_plus:potato_seed", "farming:potato")
|
||||
|
||||
-- Pumpkin
|
||||
|
||||
alias("farming:pumpkin_seed", "farming:pumpkin_slice")
|
||||
alias("farming:pumpkin_face", "farming:jackolantern")
|
||||
alias("farming:pumpkin_face_light", "farming:jackolantern_on")
|
||||
alias("farming:big_pumpkin", "farming:jackolantern")
|
||||
alias("farming:big_pumpkin_side", "air")
|
||||
alias("farming:big_pumpkin_top", "air")
|
||||
alias("farming:big_pumpkin_corner", "air")
|
||||
alias("farming:scarecrow", "farming:jackolantern")
|
||||
alias("farming:scarecrow_light", "farming:jackolantern_on")
|
||||
alias("farming:pumpkin_flour", "farming:pumpkin_dough")
|
||||
|
||||
-- Rhubarb
|
||||
|
||||
alias("farming_plus:rhubarb_seed", "farming:rhubarb")
|
||||
alias("farming_plus:rhubarb_1", "farming:rhubarb_1")
|
||||
alias("farming_plus:rhubarb_2", "farming:rhubarb_2")
|
||||
alias("farming_plus:rhubarb", "farming:rhubarb_3")
|
||||
alias("farming_plus:rhubarb_item", "farming:rhubarb")
|
||||
|
||||
-- Strawberry
|
||||
|
||||
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")
|
||||
|
||||
-- Tomato
|
||||
|
||||
alias("farming_plus:tomato_seed", "farming:tomato")
|
||||
alias("farming_plus:tomato_item", "farming:tomato")
|
||||
alias("farming_plus:tomato_1", "farming:tomato_2")
|
||||
alias("farming_plus:tomato_2", "farming:tomato_4")
|
||||
alias("farming_plus:tomato_3", "farming:tomato_6")
|
||||
alias("farming_plus:tomato", "farming:tomato_8")
|
||||
@@ -0,0 +1,107 @@
|
||||
|
||||
local S = core.get_translator("farming")
|
||||
|
||||
-- item/seed
|
||||
|
||||
core.register_craftitem("farming:artichoke", {
|
||||
description = S("Artichoke"),
|
||||
inventory_image = "farming_artichoke.png",
|
||||
groups = {compostability = 48, seed = 2, food_artichoke = 1},
|
||||
on_use = core.item_eat(4),
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:artichoke_1")
|
||||
end
|
||||
})
|
||||
|
||||
farming.add_eatable("farming:artichoke", 4)
|
||||
|
||||
-- crop definition
|
||||
|
||||
local def = {
|
||||
description = S("Artichoke") .. S(" Crop"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_artichoke_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:artichoke_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
|
||||
def.tiles = {"farming_artichoke_2.png"}
|
||||
core.register_node("farming:artichoke_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
|
||||
def.tiles = {"farming_artichoke_3.png"}
|
||||
core.register_node("farming:artichoke_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
|
||||
def.tiles = {"farming_artichoke_4.png"}
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:artichoke"}, rarity = 1}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:artichoke_4", table.copy(def))
|
||||
|
||||
-- stage 5 (final)
|
||||
|
||||
def.tiles = {"farming_artichoke_5.png"}
|
||||
def.groups.growing = nil
|
||||
def.selection_box = farming.select_final
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:artichoke 2"}, rarity = 1},
|
||||
{items = {"farming:artichoke"}, rarity = 2}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:artichoke_5", table.copy(def))
|
||||
|
||||
-- add to registered_plants
|
||||
|
||||
farming.registered_plants["farming:artichoke"] = {
|
||||
crop = "farming:artichoke",
|
||||
seed = "farming:artichoke",
|
||||
minlight = 13,
|
||||
maxlight = 15,
|
||||
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
|
||||
})
|
||||
@@ -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
|
||||
})
|
||||
@@ -0,0 +1,135 @@
|
||||
|
||||
local S = core.get_translator("farming")
|
||||
|
||||
-- seed
|
||||
|
||||
core.register_node("farming:seed_barley", {
|
||||
description = S("Barley Seed"),
|
||||
tiles = {"farming_barley_seed.png"},
|
||||
inventory_image = "farming_barley_seed.png",
|
||||
wield_image = "farming_barley_seed.png",
|
||||
drawtype = "signlike",
|
||||
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",
|
||||
paramtype2 = "wallmounted",
|
||||
walkable = false,
|
||||
sunlight_propagates = true,
|
||||
next_plant = "farming:barley_1",
|
||||
selection_box = farming.select,
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
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
|
||||
})
|
||||
|
||||
-- item
|
||||
|
||||
core.register_craftitem("farming:barley", {
|
||||
description = S("Barley"),
|
||||
inventory_image = "farming_barley.png",
|
||||
groups = {food_barley = 1, flammable = 2, compostability = 65}
|
||||
})
|
||||
|
||||
-- crop definition
|
||||
|
||||
local def = {
|
||||
description = S("Barley") .. S(" Crop"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_barley_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:barley_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
|
||||
def.tiles = {"farming_barley_2.png"}
|
||||
core.register_node("farming:barley_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
|
||||
def.tiles = {"farming_barley_3.png"}
|
||||
core.register_node("farming:barley_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
|
||||
def.tiles = {"farming_barley_4.png"}
|
||||
core.register_node("farming:barley_4", table.copy(def))
|
||||
|
||||
-- stage 5
|
||||
|
||||
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 = {
|
||||
items = {
|
||||
{items = {"farming:barley"}, rarity = 2},
|
||||
{items = {"farming:seed_barley"}, rarity = 2}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:barley_6", table.copy(def))
|
||||
|
||||
-- stage 7
|
||||
|
||||
def.tiles = {"farming_barley_7.png"}
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:barley"}, rarity = 2},
|
||||
{items = {"farming:seed_barley"}, rarity = 1}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:barley_7", table.copy(def))
|
||||
|
||||
-- stage 8 (final)
|
||||
|
||||
def.tiles = {"farming_barley_8.png"}
|
||||
def.groups.growing = nil
|
||||
def.selection_box = farming.select_final
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:barley 2"}, rarity = 1},
|
||||
{items = {"farming:barley"}, rarity = 2},
|
||||
{items = {"farming:seed_barley 2"}, rarity = 1},
|
||||
{items = {"farming:seed_barley"}, rarity = 2}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:barley_8", table.copy(def))
|
||||
|
||||
-- add to registered_plants
|
||||
|
||||
farming.registered_plants["farming:barley"] = {
|
||||
crop = "farming:barley",
|
||||
seed = "farming:seed_barley",
|
||||
minlight = farming.min_light,
|
||||
maxlight = farming.max_light,
|
||||
steps = 8
|
||||
}
|
||||
@@ -0,0 +1,251 @@
|
||||
|
||||
-- All textures by (C) Auke Kok <sofar@foo-projects.org> CC-BY-SA-3.0
|
||||
|
||||
local S = core.get_translator("farming")
|
||||
|
||||
-- place beans helper
|
||||
|
||||
local function place_beans(itemstack, placer, pointed_thing, plantname)
|
||||
|
||||
local pt = pointed_thing
|
||||
|
||||
-- check if pointing at a node
|
||||
if not pt or pt.type ~= "node" then return end
|
||||
|
||||
local under = core.get_node(pt.under)
|
||||
|
||||
-- return if any of the nodes are not registered
|
||||
if not core.registered_nodes[under.name] then return end
|
||||
|
||||
-- am I right-clicking on something that has a custom on_place set?
|
||||
-- thanks to Krock for helping with this issue :)
|
||||
local def = core.registered_nodes[under.name]
|
||||
|
||||
if placer and itemstack and def and def.on_rightclick then
|
||||
return def.on_rightclick(pt.under, under, placer, itemstack, pt)
|
||||
end
|
||||
|
||||
-- is player planting crop?
|
||||
local name = placer and placer:get_player_name() or ""
|
||||
|
||||
-- check for protection
|
||||
if core.is_protected(pt.under, name) then return end
|
||||
|
||||
-- check if pointing at bean pole
|
||||
if under.name ~= "farming:beanpole" then return end
|
||||
|
||||
-- add the node and remove 1 item from the itemstack
|
||||
core.set_node(pt.under, {name = plantname})
|
||||
|
||||
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
|
||||
|
||||
itemstack:take_item()
|
||||
|
||||
-- check for refill
|
||||
if itemstack:get_count() == 0 then
|
||||
|
||||
core.after(0.20,
|
||||
farming.refill_plant, placer, "farming:beans", placer:get_wield_index())
|
||||
end
|
||||
end
|
||||
|
||||
return itemstack
|
||||
end
|
||||
|
||||
-- item/seed
|
||||
|
||||
core.register_craftitem("farming:beans", {
|
||||
description = S("Green Beans"),
|
||||
inventory_image = "farming_beans.png",
|
||||
groups = {compostability = 48, seed = 2, food_beans = 1},
|
||||
on_use = core.item_eat(1),
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return place_beans(itemstack, placer, pointed_thing, "farming:beanpole_1")
|
||||
end
|
||||
})
|
||||
|
||||
farming.add_eatable("farming:beans", 1)
|
||||
|
||||
-- beanpole
|
||||
|
||||
core.register_node("farming:beanpole", {
|
||||
description = S("Bean Pole (place on soil before planting beans)"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_beanpole.png"},
|
||||
inventory_image = "farming_beanpole.png",
|
||||
visual_scale = 1.90,
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
sunlight_propagates = true,
|
||||
drop = "farming:beanpole",
|
||||
selection_box = farming.select,
|
||||
groups = {handy = 1, snappy = 3, flammable = 2, attached_node = 1},
|
||||
is_ground_content = false,
|
||||
sounds = farming.node_sound_leaves_defaults(),
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
|
||||
local pt = pointed_thing
|
||||
|
||||
-- check if pointing at a node
|
||||
if not pt or pt.type ~= "node" then return end
|
||||
|
||||
local under = core.get_node(pt.under)
|
||||
|
||||
-- return if any of the nodes are not registered
|
||||
if not core.registered_nodes[under.name] then return end
|
||||
|
||||
-- am I right-clicking on something that has a custom on_place set?
|
||||
-- thanks to Krock for helping with this issue :)
|
||||
local def = core.registered_nodes[under.name]
|
||||
|
||||
if def and def.on_rightclick then
|
||||
return def.on_rightclick(pt.under, under, placer, itemstack, pt)
|
||||
end
|
||||
|
||||
if core.is_protected(pt.above, placer:get_player_name()) then
|
||||
return
|
||||
end
|
||||
|
||||
local nodename = under.name
|
||||
|
||||
if core.get_item_group(nodename, "soil") < 2 then return end
|
||||
|
||||
local top = {
|
||||
x = pointed_thing.above.x,
|
||||
y = pointed_thing.above.y + 1,
|
||||
z = pointed_thing.above.z
|
||||
}
|
||||
|
||||
nodename = core.get_node(top).name
|
||||
|
||||
if nodename ~= "air" then return end
|
||||
|
||||
core.set_node(pointed_thing.above, {name = "farming:beanpole"})
|
||||
|
||||
if not farming.is_creative(placer:get_player_name()) then
|
||||
itemstack:take_item()
|
||||
end
|
||||
|
||||
return itemstack
|
||||
end
|
||||
})
|
||||
|
||||
-- crop definition
|
||||
|
||||
local def = {
|
||||
description = S("Green Beans") .. S(" Crop"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_beanpole_1.png"},
|
||||
visual_scale = 1.90,
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
sunlight_propagates = true,
|
||||
drop = {
|
||||
items = {
|
||||
{items = {"farming:beanpole"}, rarity = 1}
|
||||
}
|
||||
},
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
handy = 1, snappy = 3, flammable = 3, not_in_creative_inventory = 1,
|
||||
attached_node = 1, growing = 1, plant = 1
|
||||
},
|
||||
_mcl_hardness = farming.mcl_hardness,
|
||||
is_ground_content = false,
|
||||
sounds = farming.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
|
||||
core.register_node("farming:beanpole_1", table.copy(def))
|
||||
|
||||
-- stage2
|
||||
|
||||
def.tiles = {"farming_beanpole_2.png"}
|
||||
core.register_node("farming:beanpole_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
|
||||
def.tiles = {"farming_beanpole_3.png"}
|
||||
core.register_node("farming:beanpole_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
|
||||
def.tiles = {"farming_beanpole_4.png"}
|
||||
core.register_node("farming:beanpole_4", table.copy(def))
|
||||
|
||||
-- stage 5 (final)
|
||||
|
||||
def.tiles = {"farming_beanpole_5.png"}
|
||||
def.groups.growing = nil
|
||||
def.selection_box = farming.select_final
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:beanpole"}, rarity = 1},
|
||||
{items = {"farming:beans 3"}, rarity = 1},
|
||||
{items = {"farming:beans"}, rarity = 2},
|
||||
{items = {"farming:beans"}, rarity = 3}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:beanpole_5", table.copy(def))
|
||||
|
||||
-- add to registered_plants
|
||||
|
||||
farming.registered_plants["farming:beans"] = {
|
||||
trellis = "farming:beanpole",
|
||||
crop = "farming:beanpole",
|
||||
seed = "farming:beans",
|
||||
minlight = farming.min_light,
|
||||
maxlight = farming.max_light,
|
||||
steps = 5
|
||||
}
|
||||
|
||||
-- wild green bean bush (this is what you find on the map)
|
||||
|
||||
core.register_node("farming:beanbush", {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_beanbush.png"},
|
||||
paramtype = "light",
|
||||
waving = 1,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
sunlight_propagates = true,
|
||||
drop = {
|
||||
items = {
|
||||
{items = {"farming:beans 1"}, rarity = 1},
|
||||
{items = {"farming:beans 1"}, rarity = 2},
|
||||
{items = {"farming:beans 1"}, rarity = 3}
|
||||
}
|
||||
},
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
handy = 1, snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||
compostability = 35, not_in_creative_inventory = 1
|
||||
},
|
||||
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"
|
||||
})
|
||||
@@ -0,0 +1,106 @@
|
||||
|
||||
local S = core.get_translator("farming")
|
||||
|
||||
-- item/seed
|
||||
|
||||
core.register_craftitem("farming:beetroot", {
|
||||
description = S("Beetroot"),
|
||||
inventory_image = "farming_beetroot.png",
|
||||
groups = {compostability = 48, seed = 2, food_beetroot = 1},
|
||||
on_use = core.item_eat(1),
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:beetroot_1")
|
||||
end
|
||||
})
|
||||
|
||||
farming.add_eatable("farming:beetroot", 1)
|
||||
|
||||
-- crop definition
|
||||
|
||||
local def = {
|
||||
description = S("Beetroot") .. S(" Crop"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_beetroot_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:beetroot_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
|
||||
def.tiles = {"farming_beetroot_2.png"}
|
||||
core.register_node("farming:beetroot_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
|
||||
def.tiles = {"farming_beetroot_3.png"}
|
||||
core.register_node("farming:beetroot_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
|
||||
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.groups.growing = nil
|
||||
def.selection_box = farming.select_final
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:beetroot 2"}, rarity = 1},
|
||||
{items = {"farming:beetroot"}, rarity = 2},
|
||||
{items = {"farming:beetroot"}, rarity = 3}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:beetroot_5", table.copy(def))
|
||||
|
||||
-- add to registered_plants
|
||||
|
||||
farming.registered_plants["farming:beetroot"] = {
|
||||
crop = "farming:beetroot",
|
||||
seed = "farming:beetroot",
|
||||
minlight = farming.min_light,
|
||||
maxlight = farming.max_light,
|
||||
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"
|
||||
})
|
||||
@@ -0,0 +1,99 @@
|
||||
|
||||
local S = core.get_translator("farming")
|
||||
|
||||
-- item/seed
|
||||
|
||||
core.register_craftitem("farming:blackberry", {
|
||||
description = S("Blackberries"),
|
||||
inventory_image = "farming_blackberry.png",
|
||||
groups = {
|
||||
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)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:blackberry_1")
|
||||
end
|
||||
})
|
||||
|
||||
farming.add_eatable("farming:blackberry", 1)
|
||||
|
||||
-- crop definition
|
||||
|
||||
local def = {
|
||||
description = S("Blackberry") .. S(" Crop"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_blackberry_1.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
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:blackberry_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
|
||||
def.tiles = {"farming_blackberry_2.png"}
|
||||
core.register_node("farming:blackberry_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
|
||||
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.groups.growing = nil
|
||||
def.selection_box = farming.select_final
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:blackberry 2"}, rarity = 1},
|
||||
{items = {"farming:blackberry"}, rarity = 2},
|
||||
{items = {"farming:blackberry"}, rarity = 3},
|
||||
}
|
||||
}
|
||||
core.register_node("farming:blackberry_4", table.copy(def))
|
||||
|
||||
-- add to registered_plants
|
||||
|
||||
farming.registered_plants["farming:blackberry"] = {
|
||||
crop = "farming:blackberry",
|
||||
seed = "farming:blackberry",
|
||||
minlight = farming.min_light,
|
||||
maxlight = farming.max_light,
|
||||
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"
|
||||
})
|
||||
@@ -0,0 +1,98 @@
|
||||
|
||||
local S = core.get_translator("farming")
|
||||
|
||||
-- item/seed
|
||||
|
||||
core.register_craftitem("farming:blueberries", {
|
||||
description = S("Wild Blueberries"),
|
||||
inventory_image = "farming_blueberries.png",
|
||||
groups = {
|
||||
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)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:blueberry_1")
|
||||
end
|
||||
})
|
||||
|
||||
farming.add_eatable("farming:blueberries", 1)
|
||||
|
||||
-- ctop definition
|
||||
local def = {
|
||||
description = S("Blueberry") .. S(" Crop"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_blueberry_1.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
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:blueberry_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
|
||||
def.tiles = {"farming_blueberry_2.png"}
|
||||
core.register_node("farming:blueberry_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
|
||||
def.tiles = {"farming_blueberry_3.png"}
|
||||
core.register_node("farming:blueberry_3", table.copy(def))
|
||||
|
||||
-- stage 4 (final)
|
||||
|
||||
def.tiles = {"farming_blueberry_4.png"}
|
||||
def.groups.growing = nil
|
||||
def.selection_box = farming.select_final
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:blueberries 2"}, rarity = 1},
|
||||
{items = {"farming:blueberries"}, rarity = 2},
|
||||
{items = {"farming:blueberries"}, rarity = 3}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:blueberry_4", table.copy(def))
|
||||
|
||||
-- add to registered_plants
|
||||
|
||||
farming.registered_plants["farming:blueberries"] = {
|
||||
crop = "farming:blueberry",
|
||||
seed = "farming:blueberries",
|
||||
minlight = farming.min_light,
|
||||
maxlight = farming.max_light,
|
||||
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"
|
||||
})
|
||||
@@ -0,0 +1,104 @@
|
||||
|
||||
local S = core.get_translator("farming")
|
||||
|
||||
-- item/seed
|
||||
|
||||
core.register_craftitem("farming:cabbage", {
|
||||
description = S("Cabbage"),
|
||||
inventory_image = "farming_cabbage.png",
|
||||
groups = {compostability = 48, seed = 2, food_cabbage = 1},
|
||||
on_use = core.item_eat(1),
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:cabbage_1")
|
||||
end
|
||||
})
|
||||
|
||||
farming.add_eatable("farming:cabbage", 1)
|
||||
|
||||
-- crop definition
|
||||
|
||||
local def = {
|
||||
description = S("Cabbage") .. S(" Crop"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_cabbage_1.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
waving = 1,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
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:cabbage_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
|
||||
def.tiles = {"farming_cabbage_2.png"}
|
||||
core.register_node("farming:cabbage_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
|
||||
def.tiles = {"farming_cabbage_3.png"}
|
||||
core.register_node("farming:cabbage_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
|
||||
def.tiles = {"farming_cabbage_4.png"}
|
||||
core.register_node("farming:cabbage_4", table.copy(def))
|
||||
|
||||
-- stage 5
|
||||
|
||||
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.groups.growing = nil
|
||||
def.selection_box = farming.select_final
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:cabbage 2"}, rarity = 1},
|
||||
{items = {"farming:cabbage"}, rarity = 3}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:cabbage_6", table.copy(def))
|
||||
|
||||
-- add to registered_plants
|
||||
|
||||
farming.registered_plants["farming:cabbage"] = {
|
||||
crop = "farming:cabbage",
|
||||
seed = "farming:cabbage",
|
||||
minlight = farming.min_light,
|
||||
maxlight = farming.max_light,
|
||||
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"
|
||||
})
|
||||
@@ -0,0 +1,126 @@
|
||||
|
||||
-- Original textures from PixelBox texture pack
|
||||
-- https://forum.core.net/viewtopic.php?id=4990
|
||||
|
||||
local S = core.get_translator("farming")
|
||||
|
||||
-- item/seed
|
||||
|
||||
core.register_craftitem("farming:carrot", {
|
||||
description = S("Carrot"),
|
||||
inventory_image = "farming_carrot.png",
|
||||
groups = {compostability = 48, seed = 2, food_carrot = 1},
|
||||
on_use = core.item_eat(4),
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:carrot_1")
|
||||
end
|
||||
})
|
||||
|
||||
farming.add_eatable("farming:carrot", 4)
|
||||
|
||||
-- crop definition
|
||||
|
||||
local def = {
|
||||
description = S("Carrot") .. S(" Crop"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_carrot_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:carrot_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
|
||||
def.tiles = {"farming_carrot_2.png"}
|
||||
core.register_node("farming:carrot_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
|
||||
def.tiles = {"farming_carrot_3.png"}
|
||||
core.register_node("farming:carrot_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
|
||||
def.tiles = {"farming_carrot_4.png"}
|
||||
core.register_node("farming:carrot_4", table.copy(def))
|
||||
|
||||
-- stage 5
|
||||
|
||||
def.tiles = {"farming_carrot_5.png"}
|
||||
core.register_node("farming:carrot_5", table.copy(def))
|
||||
|
||||
-- stage 6
|
||||
|
||||
def.tiles = {"farming_carrot_6.png"}
|
||||
core.register_node("farming:carrot_6", table.copy(def))
|
||||
|
||||
-- stage 7
|
||||
|
||||
def.tiles = {"farming_carrot_7.png"}
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:carrot"}, rarity = 1},
|
||||
{items = {"farming:carrot"}, rarity = 3}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:carrot_7", table.copy(def))
|
||||
|
||||
-- stage 8 (final)
|
||||
|
||||
def.tiles = {"farming_carrot_8.png"}
|
||||
def.groups.growing = nil
|
||||
def.selection_box = farming.select_final
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:carrot 2"}, rarity = 1},
|
||||
{items = {"farming:carrot"}, rarity = 2},
|
||||
{items = {"farming:carrot"}, rarity = 3},
|
||||
}
|
||||
}
|
||||
core.register_node("farming:carrot_8", table.copy(def))
|
||||
|
||||
-- add to registered_plants
|
||||
|
||||
farming.registered_plants["farming:carrot"] = {
|
||||
crop = "farming:carrot",
|
||||
seed = "farming:carrot",
|
||||
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.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"
|
||||
})
|
||||
@@ -0,0 +1,120 @@
|
||||
|
||||
local S = core.get_translator("farming")
|
||||
|
||||
-- item/seed
|
||||
|
||||
core.register_craftitem("farming:chili_pepper", {
|
||||
description = S("Chili Pepper"),
|
||||
inventory_image = "farming_chili_pepper.png",
|
||||
groups = {compostability = 48, seed = 2, food_chili_pepper = 1},
|
||||
on_use = core.item_eat(2),
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:chili_1")
|
||||
end
|
||||
})
|
||||
|
||||
farming.add_eatable("farming:chili_pepper", 2)
|
||||
|
||||
-- crop definition
|
||||
|
||||
local def = {
|
||||
description = S("Chili Pepper") .. S(" Crop"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_chili_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 = 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:chili_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
|
||||
def.tiles = {"farming_chili_2.png"}
|
||||
core.register_node("farming:chili_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
|
||||
def.tiles = {"farming_chili_3.png"}
|
||||
core.register_node("farming:chili_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
|
||||
def.tiles = {"farming_chili_4.png"}
|
||||
core.register_node("farming:chili_4", table.copy(def))
|
||||
|
||||
-- stage 5
|
||||
|
||||
def.tiles = {"farming_chili_5.png"}
|
||||
core.register_node("farming:chili_5", table.copy(def))
|
||||
|
||||
-- stage 6
|
||||
|
||||
def.tiles = {"farming_chili_6.png"}
|
||||
core.register_node("farming:chili_6", table.copy(def))
|
||||
|
||||
-- stage 7
|
||||
|
||||
def.tiles = {"farming_chili_7.png"}
|
||||
core.register_node("farming:chili_7", table.copy(def))
|
||||
|
||||
-- stage 8 (final)
|
||||
|
||||
def.tiles = {"farming_chili_8.png"}
|
||||
def.groups.growing = nil
|
||||
def.selection_box = farming.select_final
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:chili_pepper 2"}, rarity = 1},
|
||||
{items = {"farming:chili_pepper"}, rarity = 2},
|
||||
{items = {"farming:chili_pepper"}, rarity = 3},
|
||||
{items = {"farming:chili_pepper"}, rarity = 4}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:chili_8", table.copy(def))
|
||||
|
||||
-- add to registered_plants
|
||||
|
||||
farming.registered_plants["farming:chili_pepper"] = {
|
||||
crop = "farming:chili",
|
||||
seed = "farming:chili_pepper",
|
||||
minlight = farming.min_light,
|
||||
maxlight = farming.max_light,
|
||||
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
|
||||
})
|
||||
@@ -0,0 +1,186 @@
|
||||
|
||||
local S = core.get_translator("farming")
|
||||
|
||||
-- place cocoa
|
||||
local function place_cocoa(itemstack, placer, pointed_thing, plantname)
|
||||
|
||||
local pt = pointed_thing
|
||||
|
||||
-- check if pointing at a node
|
||||
if not pt or pt.type ~= "node" then return end
|
||||
|
||||
local under = core.get_node(pt.under)
|
||||
|
||||
-- return if any of the nodes are not registered
|
||||
if not core.registered_nodes[under.name] then return end
|
||||
|
||||
-- am I right-clicking on something that has a custom on_place set?
|
||||
-- thanks to Krock for helping with this issue :)
|
||||
local def = core.registered_nodes[under.name]
|
||||
|
||||
if placer and itemstack and def and def.on_rightclick then
|
||||
return def.on_rightclick(pt.under, under, placer, itemstack, pt)
|
||||
end
|
||||
|
||||
-- check if pointing at jungletree
|
||||
if (under.name ~= "default:jungletree" and under.name ~= "mcl_core:jungletree")
|
||||
or core.get_node(pt.above).name ~= "air" then
|
||||
return
|
||||
end
|
||||
|
||||
-- is player planting crop?
|
||||
local name = placer and placer:get_player_name() or ""
|
||||
|
||||
-- check for protection
|
||||
if core.is_protected(pt.above, name) then return end
|
||||
|
||||
-- add the node and remove 1 item from the itemstack
|
||||
core.set_node(pt.above, {name = plantname})
|
||||
|
||||
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
|
||||
|
||||
itemstack:take_item()
|
||||
|
||||
-- check for refill
|
||||
if itemstack:get_count() == 0 then
|
||||
|
||||
core.after(0.20, farming.refill_plant, placer,
|
||||
"farming:cocoa_beans_raw", placer:get_wield_index())
|
||||
end
|
||||
end
|
||||
|
||||
return itemstack
|
||||
end
|
||||
|
||||
-- item/seed
|
||||
|
||||
core.register_craftitem("farming:cocoa_beans_raw", {
|
||||
description = S("Raw Cocoa Beans"),
|
||||
inventory_image = "farming_cocoa_beans.png^[brighten",
|
||||
groups = {compostability = 48, seed = 1, flammable = 2},
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return place_cocoa(itemstack, placer, pointed_thing, "farming:cocoa_1")
|
||||
end
|
||||
})
|
||||
|
||||
-- crop definition
|
||||
|
||||
local def = {
|
||||
description = S("Cocoa Beans") .. S(" Crop"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_cocoa_1.png"},
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3}
|
||||
},
|
||||
drop = {},
|
||||
groups = {
|
||||
handy = 1, snappy = 3, flammable = 2, plant = 1, growing = 1,
|
||||
not_in_creative_inventory = 1, leafdecay = 1, leafdecay_drop = 1
|
||||
},
|
||||
_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)
|
||||
|
||||
if core.find_node_near(pos, 1,
|
||||
{"default:jungletree", "mcl_core:jungletree"}) then
|
||||
return true -- place next growth stage
|
||||
end
|
||||
|
||||
return false -- condition not met, skip growth stage until next check
|
||||
end
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
|
||||
core.register_node("farming:cocoa_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
|
||||
def.tiles = {"farming_cocoa_2.png"}
|
||||
core.register_node("farming:cocoa_2", table.copy(def))
|
||||
|
||||
-- stage3
|
||||
|
||||
def.tiles = {"farming_cocoa_3.png"}
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:cocoa_beans_raw"}, rarity = 1}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:cocoa_3", table.copy(def))
|
||||
|
||||
-- stage 4 (final)
|
||||
|
||||
def.tiles = {"farming_cocoa_4.png"}
|
||||
def.groups.growing = nil
|
||||
def.growth_check = nil
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:cocoa_beans_raw 2"}, rarity = 1},
|
||||
{items = {"farming:cocoa_beans_raw"}, rarity = 2},
|
||||
{items = {"farming:cocoa_beans_raw"}, rarity = 3}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:cocoa_4", table.copy(def))
|
||||
|
||||
-- add to registered_plants
|
||||
|
||||
farming.registered_plants["farming:cocoa_beans"] = {
|
||||
trellis = "default:jungletree",
|
||||
crop = "farming:cocoa",
|
||||
seed = "farming:cocoa_beans_raw",
|
||||
minlight = farming.min_light,
|
||||
maxlight = farming.max_light,
|
||||
steps = 4
|
||||
}
|
||||
|
||||
-- add random cocoa pods to jungle tree's
|
||||
|
||||
local random = math.random -- localise for speed
|
||||
|
||||
core.register_on_generated(function(minp, maxp)
|
||||
|
||||
if maxp.y < 0 then return end
|
||||
|
||||
local pos, dir
|
||||
local cocoa = core.find_nodes_in_area(minp, maxp,
|
||||
{"default:jungletree", "mcl_core:jungletree"})
|
||||
|
||||
for n = 1, #cocoa do
|
||||
|
||||
pos = cocoa[n]
|
||||
|
||||
if core.find_node_near(pos, 1,
|
||||
{"default:jungleleaves", "moretrees:jungletree_leaves_green",
|
||||
"mcl_core:jungleleaves"}) then
|
||||
|
||||
dir = random(80)
|
||||
|
||||
if dir == 1 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 == 4 then pos.z = pos.z - 1
|
||||
end
|
||||
|
||||
if dir < 5
|
||||
and core.get_node(pos).name == "air"
|
||||
and core.get_node_light(pos) > 12 then
|
||||
|
||||
--print ("Cocoa Pod added at " .. core.pos_to_string(pos))
|
||||
|
||||
core.set_node(pos, {
|
||||
name = "farming:cocoa_" .. tostring(random(4))
|
||||
})
|
||||
end
|
||||
end
|
||||
end
|
||||
end)
|
||||
@@ -0,0 +1,107 @@
|
||||
|
||||
local S = core.get_translator("farming")
|
||||
|
||||
-- item/seed
|
||||
|
||||
core.register_craftitem("farming:coffee_beans", {
|
||||
description = S("Coffee Beans"),
|
||||
inventory_image = "farming_coffee_beans.png",
|
||||
groups = {compostability = 48, seed = 2, food_coffee = 1, flammable = 2},
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:coffee_1")
|
||||
end
|
||||
})
|
||||
|
||||
-- crop definition
|
||||
|
||||
local def = {
|
||||
description = S("Coffee") .. S(" Crop"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_coffee_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:coffee_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
|
||||
def.tiles = {"farming_coffee_2.png"}
|
||||
core.register_node("farming:coffee_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
|
||||
def.tiles = {"farming_coffee_3.png"}
|
||||
core.register_node("farming:coffee_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
|
||||
def.tiles = {"farming_coffee_4.png"}
|
||||
core.register_node("farming:coffee_4", table.copy(def))
|
||||
|
||||
-- stage 5 (final)
|
||||
|
||||
def.tiles = {"farming_coffee_5.png"}
|
||||
def.groups.growing = nil
|
||||
def.selection_box = farming.select_final
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:coffee_beans 2"}, rarity = 1},
|
||||
{items = {"farming:coffee_beans"}, rarity = 2},
|
||||
{items = {"farming:coffee_beans"}, rarity = 3}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:coffee_5", table.copy(def))
|
||||
|
||||
-- add to registered_plants
|
||||
|
||||
farming.registered_plants["farming:coffee"] = {
|
||||
crop = "farming:coffee",
|
||||
seed = "farming:coffee_beans",
|
||||
minlight = farming.min_light,
|
||||
maxlight = farming.max_light,
|
||||
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"
|
||||
})
|
||||
@@ -0,0 +1,129 @@
|
||||
|
||||
--[[
|
||||
Original textures from GeMinecraft
|
||||
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 = core.get_translator("farming")
|
||||
|
||||
-- item/seed
|
||||
|
||||
core.register_craftitem("farming:corn", {
|
||||
description = S("Corn"),
|
||||
inventory_image = "farming_corn.png",
|
||||
groups = {compostability = 45, seed = 2, food_corn = 1},
|
||||
on_use = core.item_eat(3),
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:corn_1")
|
||||
end
|
||||
})
|
||||
|
||||
farming.add_eatable("farming:corn", 3)
|
||||
|
||||
-- crop definition
|
||||
|
||||
local def = {
|
||||
description = S("Corn") .. S(" Crop"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_corn_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:corn_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
|
||||
def.tiles = {"farming_corn_2.png"}
|
||||
core.register_node("farming:corn_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
|
||||
def.tiles = {"farming_corn_3.png"}
|
||||
core.register_node("farming:corn_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
|
||||
def.tiles = {"farming_corn_4.png"}
|
||||
core.register_node("farming:corn_4", table.copy(def))
|
||||
|
||||
-- stage 5
|
||||
|
||||
def.tiles = {"farming_corn_5.png"}
|
||||
core.register_node("farming:corn_5", table.copy(def))
|
||||
|
||||
-- stage 6
|
||||
|
||||
def.tiles = {"farming_corn_6.png"}
|
||||
def.visual_scale = 1.9
|
||||
core.register_node("farming:corn_6", table.copy(def))
|
||||
|
||||
-- stage 7
|
||||
|
||||
def.tiles = {"farming_corn_7.png"}
|
||||
def.drop = {
|
||||
items = {
|
||||
{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 = 3}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:corn_8", table.copy(def))
|
||||
|
||||
-- add to registered_plants
|
||||
|
||||
farming.registered_plants["farming:corn"] = {
|
||||
crop = "farming:corn",
|
||||
seed = "farming:corn",
|
||||
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.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"
|
||||
})
|
||||
@@ -0,0 +1,199 @@
|
||||
|
||||
local S = core.get_translator("farming")
|
||||
|
||||
-- seed
|
||||
|
||||
core.register_node("farming:seed_cotton", {
|
||||
description = S("Cotton Seed"),
|
||||
tiles = {"farming_cotton_seed.png"},
|
||||
inventory_image = "farming_cotton_seed.png",
|
||||
wield_image = "farming_cotton_seed.png",
|
||||
drawtype = "signlike",
|
||||
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",
|
||||
paramtype2 = "wallmounted",
|
||||
walkable = false,
|
||||
sunlight_propagates = true,
|
||||
selection_box = farming.select,
|
||||
next_plant = "farming:cotton_1",
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
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
|
||||
})
|
||||
|
||||
-- item
|
||||
|
||||
core.register_craftitem("farming:cotton", {
|
||||
description = S("Cotton"),
|
||||
inventory_image = "farming_cotton.png",
|
||||
groups = {flammable = 4, compostability = 50}
|
||||
})
|
||||
|
||||
-- crop definition
|
||||
|
||||
local def = {
|
||||
description = S("Cotton") .. S(" Crop"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_cotton_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 = 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:cotton_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
|
||||
def.tiles = {"farming_cotton_2.png"}
|
||||
core.register_node("farming:cotton_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
|
||||
def.tiles = {"farming_cotton_3.png"}
|
||||
core.register_node("farming:cotton_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
|
||||
def.tiles = {"farming_cotton_4.png"}
|
||||
core.register_node("farming:cotton_4", table.copy(def))
|
||||
|
||||
-- stage 5
|
||||
|
||||
def.tiles = {"farming_cotton_5.png"}
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:seed_cotton"}, rarity = 1}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:cotton_5", table.copy(def))
|
||||
|
||||
-- stage 6
|
||||
|
||||
def.tiles = {"farming_cotton_6.png"}
|
||||
core.register_node("farming:cotton_6", table.copy(def))
|
||||
|
||||
-- stage 7
|
||||
|
||||
def.tiles = {"farming_cotton_7.png"}
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:cotton"}, rarity = 2},
|
||||
{items = {"farming:seed_cotton"}, rarity = 1}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:cotton_7", table.copy(def))
|
||||
|
||||
-- stage 8 (final)
|
||||
|
||||
def.tiles = {"farming_cotton_8.png"}
|
||||
def.groups.growing = nil
|
||||
def.selection_box = farming.select_final
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:cotton"}, rarity = 1},
|
||||
{items = {"farming:cotton"}, rarity = 2},
|
||||
{items = {"farming:cotton"}, rarity = 3},
|
||||
{items = {"farming:seed_cotton"}, rarity = 1},
|
||||
{items = {"farming:seed_cotton"}, rarity = 2},
|
||||
{items = {"farming:seed_cotton"}, rarity = 3}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:cotton_8", table.copy(def))
|
||||
|
||||
-- add to registered_plants
|
||||
|
||||
farming.registered_plants["farming:cotton"] = {
|
||||
crop = "farming:cotton",
|
||||
seed = "farming:seed_cotton",
|
||||
minlight = farming.min_light,
|
||||
maxlight = farming.max_light,
|
||||
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
|
||||
farming.register_plant("farming:cotton", {
|
||||
description = "Cotton seed",
|
||||
inventory_image = "farming_cotton_seed.png",
|
||||
groups = {flammable = 2},
|
||||
steps = 8,
|
||||
})]]
|
||||
@@ -0,0 +1,100 @@
|
||||
|
||||
--[[
|
||||
Original textures from DocFarming mod
|
||||
https://forum.core.net/viewtopic.php?id=3948
|
||||
]]
|
||||
|
||||
local S = core.get_translator("farming")
|
||||
|
||||
-- item/seed
|
||||
|
||||
core.register_craftitem("farming:cucumber", {
|
||||
description = S("Cucumber"),
|
||||
inventory_image = "farming_cucumber.png",
|
||||
groups = {compostability = 48, seed = 2, food_cucumber = 1},
|
||||
on_use = core.item_eat(4),
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:cucumber_1")
|
||||
end
|
||||
})
|
||||
|
||||
farming.add_eatable("farming:cucumber", 4)
|
||||
|
||||
-- crop definition
|
||||
|
||||
local def = {
|
||||
description = S("Cucumber") .. S(" Crop"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_cucumber_1.png"},
|
||||
paramtype = "light",
|
||||
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:cucumber_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
|
||||
def.tiles = {"farming_cucumber_2.png"}
|
||||
core.register_node("farming:cucumber_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
|
||||
def.tiles = {"farming_cucumber_3.png"}
|
||||
core.register_node("farming:cucumber_3", table.copy(def))
|
||||
|
||||
-- stage 4 (final)
|
||||
|
||||
def.tiles = {"farming_cucumber_4.png"}
|
||||
def.groups.growing = nil
|
||||
def.selection_box = farming.select_final
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:cucumber 2"}, rarity = 1},
|
||||
{items = {"farming:cucumber"}, rarity = 2}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:cucumber_4", table.copy(def))
|
||||
|
||||
-- add to registered_plants
|
||||
|
||||
farming.registered_plants["farming:cucumber"] = {
|
||||
crop = "farming:cucumber",
|
||||
seed = "farming:cucumber",
|
||||
minlight = farming.min_light,
|
||||
maxlight = farming.max_light,
|
||||
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
|
||||
})
|
||||
@@ -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 = farming.min_light,
|
||||
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
|
||||
})
|
||||
@@ -0,0 +1,103 @@
|
||||
|
||||
local S = core.get_translator("farming")
|
||||
|
||||
-- item/seed
|
||||
|
||||
core.register_craftitem("farming:garlic_clove", {
|
||||
description = S("Garlic clove"),
|
||||
inventory_image = "crops_garlic_clove.png",
|
||||
groups = {compostability = 35, seed = 2, food_garlic_clove = 1, flammable = 3},
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:garlic_1")
|
||||
end
|
||||
})
|
||||
|
||||
-- crop definition
|
||||
|
||||
local def = {
|
||||
description = S("Garlic") .. S(" Crop"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"crops_garlic_plant_1.png"},
|
||||
paramtype = "light",
|
||||
paramtype2 = "meshoptions",
|
||||
place_param2 = 3,
|
||||
sunlight_propagates = true,
|
||||
waving = 1,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
handy = 1, snappy = 3, flammable = 3, 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:garlic_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
|
||||
def.tiles = {"crops_garlic_plant_2.png"}
|
||||
core.register_node("farming:garlic_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
|
||||
def.tiles = {"crops_garlic_plant_3.png"}
|
||||
core.register_node("farming:garlic_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
|
||||
def.tiles = {"crops_garlic_plant_4.png"}
|
||||
core.register_node("farming:garlic_4", table.copy(def))
|
||||
|
||||
-- stage 5
|
||||
|
||||
def.tiles = {"crops_garlic_plant_5.png"}
|
||||
def.groups.growing = nil
|
||||
def.selection_box = farming.select_final
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:garlic 2"}, rarity = 1},
|
||||
{items = {"farming:garlic"}, rarity = 2},
|
||||
{items = {"farming:garlic"}, rarity = 3}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:garlic_5", table.copy(def))
|
||||
|
||||
-- add to registered_plants
|
||||
|
||||
farming.registered_plants["farming:garlic"] = {
|
||||
crop = "farming:garlic",
|
||||
seed = "farming:garlic_clove",
|
||||
minlight = farming.min_light,
|
||||
maxlight = farming.max_light,
|
||||
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
|
||||
})
|
||||
@@ -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, minlight = 5,
|
||||
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 = farming.max_light,
|
||||
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
|
||||
})
|
||||
@@ -0,0 +1,268 @@
|
||||
|
||||
local S = core.get_translator("farming")
|
||||
|
||||
-- place trellis helper
|
||||
|
||||
local function place_grapes(itemstack, placer, pointed_thing, plantname)
|
||||
|
||||
local pt = pointed_thing
|
||||
|
||||
-- check if pointing at a node
|
||||
if not pt or pt.type ~= "node" then return end
|
||||
|
||||
local under = core.get_node(pt.under)
|
||||
|
||||
-- return if any of the nodes are not registered
|
||||
if not core.registered_nodes[under.name] then return end
|
||||
|
||||
-- am I right-clicking on something that has a custom on_place set?
|
||||
-- thanks to Krock for helping with this issue :)
|
||||
local def = core.registered_nodes[under.name]
|
||||
|
||||
if placer and itemstack and def and def.on_rightclick then
|
||||
return def.on_rightclick(pt.under, under, placer, itemstack, pt)
|
||||
end
|
||||
|
||||
-- is player planting seed?
|
||||
local name = placer and placer:get_player_name() or ""
|
||||
|
||||
-- check for protection
|
||||
if core.is_protected(pt.under, name) then return end
|
||||
|
||||
-- check if pointing at trellis
|
||||
if under.name ~= "farming:trellis" then return end
|
||||
|
||||
-- add the node and remove 1 item from the itemstack
|
||||
core.set_node(pt.under, {name = plantname})
|
||||
|
||||
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
|
||||
|
||||
itemstack:take_item()
|
||||
|
||||
-- check for refill
|
||||
if itemstack:get_count() == 0 then
|
||||
|
||||
core.after(0.20, farming.refill_plant, placer,
|
||||
"farming:grapes", placer:get_wield_index()
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
return itemstack
|
||||
end
|
||||
|
||||
-- item/seed
|
||||
|
||||
core.register_craftitem("farming:grapes", {
|
||||
description = S("Grapes"),
|
||||
inventory_image = "farming_grapes.png",
|
||||
groups = {compostability = 48, seed = 2, food_grapes = 1},
|
||||
on_use = core.item_eat(2),
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return place_grapes(itemstack, placer, pointed_thing, "farming:grapes_1")
|
||||
end
|
||||
})
|
||||
|
||||
farming.add_eatable("farming:grapes", 2)
|
||||
|
||||
-- trellis
|
||||
|
||||
core.register_node("farming:trellis", {
|
||||
description = S("Trellis (place on soil before planting grapes)"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_trellis.png"},
|
||||
inventory_image = "farming_trellis.png",
|
||||
visual_scale = 1.9,
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
sunlight_propagates = true,
|
||||
drop = "farming:trellis",
|
||||
selection_box = farming.select,
|
||||
groups = {handy = 1, snappy = 3, flammable = 2, attached_node = 1},
|
||||
is_ground_content = false,
|
||||
sounds = farming.node_sound_leaves_defaults(),
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
|
||||
local pt = pointed_thing
|
||||
|
||||
-- check if pointing at a node
|
||||
if not pt or pt.type ~= "node" then return end
|
||||
|
||||
local under = core.get_node(pt.under)
|
||||
|
||||
-- return if any of the nodes are not registered
|
||||
if not core.registered_nodes[under.name] then return end
|
||||
|
||||
-- am I right-clicking on something that has a custom on_place set?
|
||||
-- thanks to Krock for helping with this issue :)
|
||||
local def = core.registered_nodes[under.name]
|
||||
|
||||
if def and def.on_rightclick then
|
||||
return def.on_rightclick(pt.under, under, placer, itemstack, pt)
|
||||
end
|
||||
|
||||
if core.is_protected(pt.above, placer:get_player_name()) then
|
||||
return
|
||||
end
|
||||
|
||||
local nodename = under.name
|
||||
|
||||
if core.get_item_group(nodename, "soil") < 2 then return end
|
||||
|
||||
local top = {
|
||||
x = pointed_thing.above.x,
|
||||
y = pointed_thing.above.y + 1,
|
||||
z = pointed_thing.above.z
|
||||
}
|
||||
|
||||
nodename = core.get_node(top).name
|
||||
|
||||
if nodename ~= "air" then return end
|
||||
|
||||
core.set_node(pointed_thing.above, {name = "farming:trellis"})
|
||||
|
||||
if not farming.is_creative(placer:get_player_name()) then
|
||||
itemstack:take_item()
|
||||
end
|
||||
|
||||
return itemstack
|
||||
end
|
||||
})
|
||||
|
||||
-- crop definition
|
||||
|
||||
local def = {
|
||||
description = S("Grapes") .. S(" Crop"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_grapes_1.png"},
|
||||
visual_scale = 1.9,
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
sunlight_propagates = true,
|
||||
drop = {
|
||||
items = {
|
||||
{items = {"farming:trellis"}, rarity = 1},
|
||||
}
|
||||
},
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
handy = 1, snappy = 3, flammable = 3, not_in_creative_inventory = 1,
|
||||
attached_node = 1, growing = 1, plant = 1
|
||||
},
|
||||
_mcl_hardness = farming.mcl_hardness,
|
||||
is_ground_content = false,
|
||||
sounds = farming.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
|
||||
core.register_node("farming:grapes_1", table.copy(def))
|
||||
|
||||
-- stage2
|
||||
|
||||
def.tiles = {"farming_grapes_2.png"}
|
||||
core.register_node("farming:grapes_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
|
||||
def.tiles = {"farming_grapes_3.png"}
|
||||
core.register_node("farming:grapes_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
|
||||
def.tiles = {"farming_grapes_4.png"}
|
||||
core.register_node("farming:grapes_4", table.copy(def))
|
||||
|
||||
-- stage 5
|
||||
|
||||
def.tiles = {"farming_grapes_5.png"}
|
||||
core.register_node("farming:grapes_5", table.copy(def))
|
||||
|
||||
-- stage 6
|
||||
|
||||
def.tiles = {"farming_grapes_6.png"}
|
||||
core.register_node("farming:grapes_6", table.copy(def))
|
||||
|
||||
-- stage 7
|
||||
|
||||
def.tiles = {"farming_grapes_7.png"}
|
||||
core.register_node("farming:grapes_7", table.copy(def))
|
||||
|
||||
-- stage 8 (final)
|
||||
|
||||
def.tiles = {"farming_grapes_8.png"}
|
||||
def.groups.growing = nil
|
||||
def.selection_box = farming.select_final
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:trellis"}, rarity = 1},
|
||||
{items = {"farming:grapes 2"}, rarity = 1},
|
||||
{items = {"farming:grapes"}, rarity = 2},
|
||||
{items = {"farming:grapes"}, rarity = 3},
|
||||
{items = {"farming:grapes"}, rarity = 4}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:grapes_8", table.copy(def))
|
||||
|
||||
-- add to registered_plants
|
||||
|
||||
farming.registered_plants["farming:grapes"] = {
|
||||
trellis = "farming:trellis",
|
||||
crop = "farming:grapes",
|
||||
seed = "farming:grapes",
|
||||
minlight = farming.min_light,
|
||||
maxlight = farming.max_light,
|
||||
steps = 8
|
||||
}
|
||||
|
||||
-- wild grape vine (this is what you find on the map)
|
||||
|
||||
core.register_node("farming:grapebush", {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_grapebush.png"},
|
||||
paramtype = "light",
|
||||
waving = 1,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
sunlight_propagates = true,
|
||||
drop = {
|
||||
items = {
|
||||
{items = {"farming:grapes"}, rarity = 1},
|
||||
{items = {"farming:grapes"}, rarity = 2},
|
||||
{items = {"farming:grapes"}, rarity = 3}
|
||||
}
|
||||
},
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
handy = 1, snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, compostability = 35
|
||||
},
|
||||
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"
|
||||
})
|
||||
@@ -0,0 +1,157 @@
|
||||
|
||||
local S = core.get_translator("farming")
|
||||
|
||||
-- seed
|
||||
|
||||
core.register_node("farming:seed_hemp", {
|
||||
description = S("Hemp Seed"),
|
||||
tiles = {"farming_hemp_seed.png"},
|
||||
inventory_image = "farming_hemp_seed.png",
|
||||
wield_image = "farming_hemp_seed.png",
|
||||
drawtype = "signlike",
|
||||
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",
|
||||
paramtype2 = "wallmounted",
|
||||
walkable = false,
|
||||
sunlight_propagates = true,
|
||||
selection_box = farming.select,
|
||||
next_plant = "farming:hemp_1",
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
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
|
||||
})
|
||||
|
||||
-- item
|
||||
|
||||
core.register_craftitem("farming:hemp_leaf", {
|
||||
description = S("Hemp Leaf"),
|
||||
inventory_image = "farming_hemp_leaf.png",
|
||||
groups = {compostability = 35}
|
||||
})
|
||||
|
||||
-- crop definition
|
||||
|
||||
local def = {
|
||||
description = S("Hemp") .. S(" Crop"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_hemp_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:hemp_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
|
||||
def.tiles = {"farming_hemp_2.png"}
|
||||
core.register_node("farming:hemp_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
|
||||
def.tiles = {"farming_hemp_3.png"}
|
||||
core.register_node("farming:hemp_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
|
||||
def.tiles = {"farming_hemp_4.png"}
|
||||
core.register_node("farming:hemp_4", table.copy(def))
|
||||
|
||||
-- stage 5
|
||||
|
||||
def.tiles = {"farming_hemp_5.png"}
|
||||
core.register_node("farming:hemp_5", table.copy(def))
|
||||
|
||||
-- stage 6
|
||||
|
||||
def.tiles = {"farming_hemp_6.png"}
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:hemp_leaf"}, rarity = 2},
|
||||
{items = {"farming:seed_hemp"}, rarity = 1}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:hemp_6", table.copy(def))
|
||||
|
||||
-- stage 7
|
||||
|
||||
def.tiles = {"farming_hemp_7.png"}
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:hemp_leaf"}, rarity = 1},
|
||||
{items = {"farming:hemp_leaf"}, rarity = 3},
|
||||
{items = {"farming:seed_hemp"}, rarity = 1},
|
||||
{items = {"farming:seed_hemp"}, rarity = 3}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:hemp_7", table.copy(def))
|
||||
|
||||
-- stage 8 (final)
|
||||
|
||||
def.tiles = {"farming_hemp_8.png"}
|
||||
def.groups.growing = nil
|
||||
def.selection_box = farming.select_final
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:hemp_leaf 2"}, rarity = 1},
|
||||
{items = {"farming:hemp_leaf"}, rarity = 2},
|
||||
{items = {"farming:seed_hemp 2"}, rarity = 1},
|
||||
{items = {"farming:seed_hemp"}, rarity = 2}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:hemp_8", table.copy(def))
|
||||
|
||||
-- add to registered_plants
|
||||
|
||||
farming.registered_plants["farming:hemp"] = {
|
||||
crop = "farming:hemp",
|
||||
seed = "farming:seed_hemp",
|
||||
minlight = farming.min_light,
|
||||
maxlight = farming.max_light,
|
||||
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
|
||||
})
|
||||
@@ -0,0 +1,100 @@
|
||||
|
||||
local S = core.get_translator("farming")
|
||||
|
||||
-- item/seed
|
||||
|
||||
core.register_craftitem("farming:lettuce", {
|
||||
description = S("Lettuce"),
|
||||
inventory_image = "farming_lettuce.png",
|
||||
groups = {compostability = 48, seed = 2, food_lettuce = 1},
|
||||
on_use = core.item_eat(2),
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:lettuce_1")
|
||||
end
|
||||
})
|
||||
|
||||
farming.add_eatable("farming:lettuce", 2)
|
||||
|
||||
-- crop definition
|
||||
|
||||
local def = {
|
||||
description = S("Lettuce") .. S(" Crop"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_lettuce_1.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
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:lettuce_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
|
||||
def.tiles = {"farming_lettuce_2.png"}
|
||||
core.register_node("farming:lettuce_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
|
||||
def.tiles = {"farming_lettuce_3.png"}
|
||||
core.register_node("farming:lettuce_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
|
||||
def.tiles = {"farming_lettuce_4.png"}
|
||||
core.register_node("farming:lettuce_4", table.copy(def))
|
||||
|
||||
-- stage 5
|
||||
|
||||
def.tiles = {"farming_lettuce_5.png"}
|
||||
def.groups.growing = nil
|
||||
def.selection_box = farming.select_final
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:lettuce 2"}, rarity = 1},
|
||||
{items = {"farming:lettuce"}, rarity = 3}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:lettuce_5", table.copy(def))
|
||||
|
||||
-- add to registered_plants
|
||||
|
||||
farming.registered_plants["farming:lettuce"] = {
|
||||
crop = "farming:lettuce",
|
||||
seed = "farming:lettuce",
|
||||
minlight = farming.min_light,
|
||||
maxlight = farming.max_light,
|
||||
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"
|
||||
})
|
||||
@@ -0,0 +1,126 @@
|
||||
|
||||
local S = core.get_translator("farming")
|
||||
|
||||
-- item/seed
|
||||
|
||||
core.register_craftitem("farming:melon_slice", {
|
||||
description = S("Melon Slice"),
|
||||
inventory_image = "farming_melon_slice.png",
|
||||
groups = {compostability = 48, seed = 2, food_melon_slice = 1},
|
||||
on_use = core.item_eat(2),
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:melon_1")
|
||||
end
|
||||
})
|
||||
|
||||
farming.add_eatable("farming:melon_slice", 2)
|
||||
|
||||
-- crop definition
|
||||
|
||||
local def = {
|
||||
description = S("Melon") .. S(" Crop"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_melon_1.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
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:melon_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
|
||||
def.tiles = {"farming_melon_2.png"}
|
||||
core.register_node("farming:melon_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
|
||||
def.tiles = {"farming_melon_3.png"}
|
||||
core.register_node("farming:melon_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
|
||||
def.tiles = {"farming_melon_4.png"}
|
||||
core.register_node("farming:melon_4", table.copy(def))
|
||||
|
||||
-- stage 5
|
||||
|
||||
def.tiles = {"farming_melon_5.png"}
|
||||
core.register_node("farming:melon_5", table.copy(def))
|
||||
|
||||
-- stage 6
|
||||
|
||||
def.tiles = {"farming_melon_6.png"}
|
||||
core.register_node("farming:melon_6", table.copy(def))
|
||||
|
||||
-- stage 7
|
||||
|
||||
def.tiles = {"farming_melon_7.png"}
|
||||
core.register_node("farming:melon_7", table.copy(def))
|
||||
|
||||
-- stage 8 (final)
|
||||
|
||||
core.register_node("farming:melon_8", {
|
||||
description = S("Melon"),
|
||||
tiles = {
|
||||
"farming_melon_top.png",
|
||||
"farming_melon_bottom.png",
|
||||
"farming_melon_side.png"
|
||||
},
|
||||
groups = {
|
||||
food_melon = 1, handy = 1, snappy = 3, choppy = 3, oddly_breakable_by_hand = 2,
|
||||
flammable = 2, plant = 1, compostability = 65
|
||||
},
|
||||
is_ground_content = false,
|
||||
drop = "farming:melon_8",
|
||||
sounds = farming.node_sound_wood_defaults(),
|
||||
paramtype2 = "facedir",
|
||||
on_place = core.rotate_node,
|
||||
_mcl_hardness = 0.8,
|
||||
_mcl_blast_resistance = 1
|
||||
})
|
||||
|
||||
-- add to registered_plants
|
||||
|
||||
farming.registered_plants["farming:melon"] = {
|
||||
crop = "farming:melon",
|
||||
seed = "farming:melon_slice",
|
||||
minlight = farming.min_light,
|
||||
maxlight = farming.max_light,
|
||||
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
|
||||
})
|
||||
@@ -0,0 +1,122 @@
|
||||
|
||||
local S = core.get_translator("farming")
|
||||
|
||||
-- seed
|
||||
|
||||
core.register_node("farming:seed_mint", {
|
||||
description = S("Mint Seeds"),
|
||||
tiles = {"farming_mint_seeds.png"},
|
||||
inventory_image = "farming_mint_seeds.png",
|
||||
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)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:seed_mint")
|
||||
end,
|
||||
|
||||
on_timer = function(pos, elapsed)
|
||||
core.set_node(pos, {name = "farming:mint_1", param2 = 1})
|
||||
end
|
||||
})
|
||||
|
||||
-- item
|
||||
|
||||
core.register_craftitem("farming:mint_leaf", {
|
||||
description = S("Mint Leaf"),
|
||||
inventory_image = "farming_mint_leaf.png",
|
||||
groups = {food_mint = 1, flammable = 4, compostability = 48}
|
||||
})
|
||||
|
||||
-- crop definition
|
||||
|
||||
local def = {
|
||||
description = S("Mint") .. S(" Crop"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_mint_1.png"},
|
||||
paramtype = "light",
|
||||
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:mint_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
|
||||
def.tiles = {"farming_mint_2.png"}
|
||||
core.register_node("farming:mint_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
|
||||
def.tiles = {"farming_mint_3.png"}
|
||||
core.register_node("farming:mint_3", table.copy(def))
|
||||
|
||||
-- stage 4 (final)
|
||||
|
||||
def.tiles = {"farming_mint_4.png"}
|
||||
def.groups.growing = nil
|
||||
def.selection_box = farming.select_final
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:mint_leaf 2"}, rarity = 1},
|
||||
{items = {"farming:mint_leaf"}, rarity = 2},
|
||||
{items = {"farming:seed_mint 2"}, rarity = 1},
|
||||
{items = {"farming:seed_mint"}, rarity = 2}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:mint_4", table.copy(def))
|
||||
|
||||
-- add to registered_plants
|
||||
|
||||
farming.registered_plants["farming:mint"] = {
|
||||
crop = "farming:mint",
|
||||
seed = "farming:seed_mint",
|
||||
minlight = farming.min_light,
|
||||
maxlight = farming.max_light,
|
||||
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
|
||||
})
|
||||
@@ -0,0 +1,111 @@
|
||||
|
||||
--[[
|
||||
Original textures from Crops Plus mod
|
||||
Copyright (C) 2018 Grizzly Adam
|
||||
https://forum.core.net/viewtopic.php?f=9&t=19488
|
||||
]]
|
||||
|
||||
local S = core.get_translator("farming")
|
||||
|
||||
-- item/seed
|
||||
|
||||
core.register_craftitem("farming:onion", {
|
||||
description = S("Onion"),
|
||||
inventory_image = "crops_onion.png",
|
||||
groups = {compostability = 48, seed = 2, food_onion = 1},
|
||||
on_use = core.item_eat(1),
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:onion_1")
|
||||
end
|
||||
})
|
||||
|
||||
farming.add_eatable("farming:onion", 1)
|
||||
|
||||
-- crop definition
|
||||
|
||||
local def = {
|
||||
description = S("Onion") .. S(" Crop"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"crops_onion_plant_1.png"},
|
||||
paramtype = "light",
|
||||
paramtype2 = "meshoptions",
|
||||
place_param2 = 3,
|
||||
sunlight_propagates = true,
|
||||
waving = 1,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
waving = 1,
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
handy = 1, snappy = 3, flammable = 3, 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:onion_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
|
||||
def.tiles = {"crops_onion_plant_2.png"}
|
||||
core.register_node("farming:onion_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
|
||||
def.tiles = {"crops_onion_plant_3.png"}
|
||||
core.register_node("farming:onion_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
|
||||
def.tiles = {"crops_onion_plant_4.png"}
|
||||
core.register_node("farming:onion_4", table.copy(def))
|
||||
|
||||
-- stage 5
|
||||
|
||||
def.tiles = {"crops_onion_plant_5.png"}
|
||||
def.groups.growing = nil
|
||||
def.selection_box = farming.select_final
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:onion 2"}, rarity = 1},
|
||||
{items = {"farming:onion"}, rarity = 2},
|
||||
{items = {"farming:onion"}, rarity = 4}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:onion_5", table.copy(def))
|
||||
|
||||
-- add to registered_plants
|
||||
|
||||
farming.registered_plants["farming:onion"] = {
|
||||
crop = "farming:onion",
|
||||
seed = "farming:onion",
|
||||
minlight = farming.min_light,
|
||||
maxlight = farming.max_light,
|
||||
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"
|
||||
})
|
||||
@@ -0,0 +1,93 @@
|
||||
|
||||
local S = core.get_translator("farming")
|
||||
|
||||
-- item/seed
|
||||
|
||||
core.register_craftitem("farming:parsley", {
|
||||
description = S("Parsley"),
|
||||
inventory_image = "farming_parsley.png",
|
||||
groups = {compostability = 48, seed = 2, food_parsley = 1},
|
||||
on_use = core.item_eat(1),
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:parsley_1")
|
||||
end
|
||||
})
|
||||
|
||||
farming.add_eatable("farming:parsley", 1)
|
||||
|
||||
-- crop definition
|
||||
|
||||
local def = {
|
||||
description = S("Parsley") .. S(" Crop"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_parsley_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:parsley_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
|
||||
def.tiles = {"farming_parsley_2.png"}
|
||||
core.register_node("farming:parsley_2", table.copy(def))
|
||||
|
||||
-- stage 3 (final)
|
||||
|
||||
def.tiles = {"farming_parsley_3.png"}
|
||||
def.groups.growing = nil
|
||||
def.selection_box = farming.select_final
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:parsley 2"}, rarity = 1},
|
||||
{items = {"farming:parsley"}, rarity = 2},
|
||||
{items = {"farming:parsley"}, rarity = 3}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:parsley_3", table.copy(def))
|
||||
|
||||
-- add to registered_plants
|
||||
|
||||
farming.registered_plants["farming:parsley"] = {
|
||||
crop = "farming:parsley",
|
||||
seed = "farming:parsley",
|
||||
minlight = farming.min_light,
|
||||
maxlight = farming.max_light,
|
||||
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"
|
||||
})
|
||||
@@ -0,0 +1,110 @@
|
||||
|
||||
-- Textures for peas and their crop were done by Andrey01
|
||||
|
||||
local S = core.get_translator("farming")
|
||||
|
||||
-- item/seed
|
||||
|
||||
core.register_craftitem("farming:pea_pod", {
|
||||
description = S("Pea Pod"),
|
||||
inventory_image = "farming_pea_pod.png",
|
||||
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)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:pea_1")
|
||||
end
|
||||
})
|
||||
|
||||
farming.add_eatable("farming:pea_pod", 1)
|
||||
|
||||
-- replacement for separate peas item that was removed
|
||||
|
||||
core.register_alias("farming:peas", "farming:pea_pod")
|
||||
|
||||
-- crop definition
|
||||
|
||||
local def = {
|
||||
description = S("Pea") .. S(" Crop"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_pea_1.png"},
|
||||
paramtype = "light",
|
||||
paramtype2 = "meshoptions",
|
||||
place_param2 = 3,
|
||||
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:pea_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
|
||||
def.tiles = {"farming_pea_2.png"}
|
||||
core.register_node("farming:pea_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
|
||||
def.tiles = {"farming_pea_3.png"}
|
||||
core.register_node("farming:pea_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
|
||||
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.groups.growing = nil
|
||||
def.selection_box = farming.select_final
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:pea_pod 2"}, rarity = 1},
|
||||
{items = {"farming:pea_pod"}, rarity = 2},
|
||||
{items = {"farming:pea_pod"}, rarity = 3}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:pea_5", table.copy(def))
|
||||
|
||||
-- add to registered_plants
|
||||
|
||||
farming.registered_plants["farming:pea_pod"] = {
|
||||
crop = "farming:pea",
|
||||
seed = "farming:pea_pod",
|
||||
minlight = farming.min_light,
|
||||
maxlight = farming.max_light,
|
||||
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"
|
||||
})
|
||||
@@ -0,0 +1,173 @@
|
||||
|
||||
--[[
|
||||
Original textures from Crops Plus mod
|
||||
Copyright (C) 2018 Grizzly Adam
|
||||
https://forum.core.net/viewtopic.php?f=9&t=19488
|
||||
]]
|
||||
|
||||
local S = core.get_translator("farming")
|
||||
|
||||
-- seed
|
||||
|
||||
core.register_craftitem("farming:peppercorn", {
|
||||
description = S("Peppercorn"),
|
||||
inventory_image = "crops_peppercorn.png",
|
||||
groups = {compostability = 48, seed = 1, food_peppercorn = 1, flammable = 3},
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:pepper_1")
|
||||
end
|
||||
})
|
||||
|
||||
-- green pepper
|
||||
|
||||
core.register_craftitem("farming:pepper", {
|
||||
description = S("Green Pepper"),
|
||||
inventory_image = "crops_pepper.png",
|
||||
on_use = core.item_eat(2),
|
||||
groups = {food_pepper = 1, compostability = 55}
|
||||
})
|
||||
|
||||
farming.add_eatable("farming:pepper", 2)
|
||||
|
||||
-- yellow pepper
|
||||
|
||||
core.register_craftitem("farming:pepper_yellow", {
|
||||
description = S("Yellow Pepper"),
|
||||
inventory_image = "crops_pepper_yellow.png",
|
||||
on_use = core.item_eat(3),
|
||||
groups = {food_pepper = 1, compostability = 55}
|
||||
})
|
||||
|
||||
farming.add_eatable("farming:pepper_yellow", 3)
|
||||
|
||||
-- red pepper
|
||||
|
||||
core.register_craftitem("farming:pepper_red", {
|
||||
description = S("Red Pepper"),
|
||||
inventory_image = "crops_pepper_red.png",
|
||||
on_use = core.item_eat(4),
|
||||
groups = {food_pepper = 1, compostability = 55}
|
||||
})
|
||||
|
||||
farming.add_eatable("farming:pepper_red", 4)
|
||||
|
||||
-- pepper to peppercorn recipe
|
||||
|
||||
core.register_craft({
|
||||
output = "farming:peppercorn",
|
||||
recipe = {{"group:food_pepper"}}
|
||||
})
|
||||
|
||||
-- crop definition
|
||||
|
||||
local def = {
|
||||
description = S("Pepper") .. S(" Crop"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"crops_pepper_plant_1.png"},
|
||||
paramtype = "light",
|
||||
paramtype2 = "meshoptions",
|
||||
place_param2 = 1,
|
||||
sunlight_propagates = true,
|
||||
waving = 1,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
handy = 1, snappy = 3, flammable = 3, 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:pepper_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
|
||||
def.tiles = {"crops_pepper_plant_2.png"}
|
||||
core.register_node("farming:pepper_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
|
||||
def.tiles = {"crops_pepper_plant_3.png"}
|
||||
core.register_node("farming:pepper_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
|
||||
def.tiles = {"crops_pepper_plant_4.png"}
|
||||
core.register_node("farming:pepper_4", table.copy(def))
|
||||
|
||||
-- stage 5 (green pepper)
|
||||
|
||||
def.tiles = {"crops_pepper_plant_5.png"}
|
||||
def.selection_box = farming.select_final
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:pepper 2"}, rarity = 1},
|
||||
{items = {"farming:pepper"}, rarity = 2},
|
||||
{items = {"farming:pepper"}, rarity = 3}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:pepper_5", table.copy(def))
|
||||
|
||||
-- stage 6 (yellow pepper)
|
||||
|
||||
def.tiles = {"crops_pepper_plant_6.png"}
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:pepper_yellow 2"}, rarity = 1},
|
||||
{items = {"farming:pepper_yellow"}, rarity = 2},
|
||||
{items = {"farming:pepper_yellow"}, rarity = 3}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:pepper_6", table.copy(def))
|
||||
|
||||
-- stage 7 (red pepper - final)
|
||||
|
||||
def.tiles = {"crops_pepper_plant_7.png"}
|
||||
def.groups.growing = nil
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:pepper_red 2"}, rarity = 1},
|
||||
{items = {"farming:pepper_red"}, rarity = 2},
|
||||
{items = {"farming:pepper_red"}, rarity = 3}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:pepper_7", table.copy(def))
|
||||
|
||||
-- add to registered_plants
|
||||
|
||||
farming.registered_plants["farming:pepper"] = {
|
||||
crop = "farming:pepper",
|
||||
seed = "farming:peppercorn",
|
||||
minlight = farming.min_light,
|
||||
maxlight = farming.max_light,
|
||||
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
|
||||
})
|
||||
@@ -0,0 +1,143 @@
|
||||
|
||||
local S = core.get_translator("farming")
|
||||
|
||||
-- seed
|
||||
|
||||
core.register_craftitem("farming:pineapple_top", {
|
||||
description = S("Pineapple Top"),
|
||||
inventory_image = "farming_pineapple_top.png",
|
||||
groups = {compostability = 48, seed = 2, flammable = 2},
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:pineapple_1")
|
||||
end
|
||||
})
|
||||
|
||||
-- item
|
||||
|
||||
core.register_node("farming:pineapple", {
|
||||
description = S("Pineapple"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_pineapple.png"},
|
||||
inventory_image = "farming_pineapple.png",
|
||||
wield_image = "farming_pineapple.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
selection_box = {
|
||||
type = "fixed", fixed = {-0.27, -0.37, -0.27, 0.27, 0.44, 0.27}
|
||||
},
|
||||
groups = {
|
||||
food_pineapple = 1, fleshy = 3, dig_immediate = 3, flammable = 2,
|
||||
compostability = 65
|
||||
},
|
||||
_mcl_hardness = farming.mcl_hardness,
|
||||
is_ground_content = false
|
||||
})
|
||||
|
||||
-- crop definition
|
||||
|
||||
local def = {
|
||||
description = S("Pineapple") .. S(" Crop"),
|
||||
drawtype = "plantlike",
|
||||
visual_scale = 1.5,
|
||||
tiles = {"farming_pineapple_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:pineapple_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
|
||||
def.tiles = {"farming_pineapple_2.png"}
|
||||
core.register_node("farming:pineapple_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
|
||||
def.tiles = {"farming_pineapple_3.png"}
|
||||
core.register_node("farming:pineapple_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
|
||||
def.tiles = {"farming_pineapple_4.png"}
|
||||
core.register_node("farming:pineapple_4", table.copy(def))
|
||||
|
||||
-- stage 5
|
||||
|
||||
def.tiles = {"farming_pineapple_5.png"}
|
||||
core.register_node("farming:pineapple_5", table.copy(def))
|
||||
|
||||
-- stage 6
|
||||
|
||||
def.tiles = {"farming_pineapple_6.png"}
|
||||
core.register_node("farming:pineapple_6", table.copy(def))
|
||||
|
||||
-- stage 7
|
||||
|
||||
def.tiles = {"farming_pineapple_7.png"}
|
||||
core.register_node("farming:pineapple_7", table.copy(def))
|
||||
|
||||
-- stage 8 (final)
|
||||
|
||||
def.tiles = {"farming_pineapple_8.png"}
|
||||
def.groups.growing = nil
|
||||
def.selection_box = farming.select_final
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:pineapple"}, rarity = 1},
|
||||
{items = {"farming:pineapple"}, rarity = 3}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:pineapple_8", table.copy(def))
|
||||
|
||||
-- add to registered_plants
|
||||
|
||||
farming.registered_plants["farming:pineapple"] = {
|
||||
crop = "farming:pineapple",
|
||||
seed = "farming:pineapple_top",
|
||||
minlight = farming.min_light,
|
||||
maxlight = farming.max_light,
|
||||
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"
|
||||
})
|
||||
@@ -0,0 +1,121 @@
|
||||
|
||||
--[[
|
||||
Original textures from DocFarming mod
|
||||
https://forum.core.net/viewtopic.php?id=3948
|
||||
]]
|
||||
|
||||
local S = core.get_translator("farming")
|
||||
|
||||
-- item/seed
|
||||
|
||||
core.register_craftitem("farming:potato", {
|
||||
description = S("Potato"),
|
||||
inventory_image = "farming_potato.png",
|
||||
groups = {compostability = 48, seed = 2, food_potato = 1},
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:potato_1")
|
||||
end,
|
||||
|
||||
-- 1 in 3 chance of being poisoned
|
||||
on_use = function(itemstack, user, pointed_thing)
|
||||
|
||||
if user then
|
||||
|
||||
if math.random(3) == 1 then
|
||||
return core.do_item_eat(-1, nil, itemstack, user, pointed_thing)
|
||||
else
|
||||
return core.do_item_eat(1, nil, itemstack, user, pointed_thing)
|
||||
end
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
farming.add_eatable("farming:potato", 1)
|
||||
|
||||
-- crop definition
|
||||
|
||||
local def = {
|
||||
description = S("Potato") .. S(" Crop"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_potato_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:potato_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
|
||||
def.tiles = {"farming_potato_2.png"}
|
||||
core.register_node("farming:potato_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
|
||||
def.tiles = {"farming_potato_3.png"}
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:potato"}, rarity = 1},
|
||||
{items = {"farming:potato"}, rarity = 3}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:potato_3", table.copy(def))
|
||||
|
||||
-- stage 4 (final)
|
||||
|
||||
def.tiles = {"farming_potato_4.png"}
|
||||
def.groups.growing = nil
|
||||
def.selection_box = farming.select_final
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:potato 2"}, rarity = 1},
|
||||
{items = {"farming:potato"}, rarity = 2},
|
||||
{items = {"farming:potato"}, rarity = 3}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:potato_4", table.copy(def))
|
||||
|
||||
-- add to registered_plants
|
||||
|
||||
farming.registered_plants["farming:potato"] = {
|
||||
crop = "farming:potato",
|
||||
seed = "farming:potato",
|
||||
minlight = farming.min_light,
|
||||
maxlight = farming.max_light,
|
||||
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"
|
||||
})
|
||||
@@ -0,0 +1,129 @@
|
||||
|
||||
local S = core.get_translator("farming")
|
||||
|
||||
-- seed
|
||||
|
||||
core.register_craftitem("farming:pumpkin_slice", {
|
||||
description = S("Pumpkin Slice"),
|
||||
inventory_image = "farming_pumpkin_slice.png",
|
||||
groups = {compostability = 48, seed = 2, food_pumpkin_slice = 1},
|
||||
on_use = core.item_eat(2),
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:pumpkin_1")
|
||||
end
|
||||
})
|
||||
|
||||
farming.add_eatable("farming:pumpkin_slice", 2)
|
||||
|
||||
-- crop definition
|
||||
|
||||
local def = {
|
||||
description = S("Pumpkin") .. S(" Crop"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_pumpkin_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:pumpkin_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
|
||||
def.tiles = {"farming_pumpkin_2.png"}
|
||||
core.register_node("farming:pumpkin_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
|
||||
def.tiles = {"farming_pumpkin_3.png"}
|
||||
core.register_node("farming:pumpkin_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
|
||||
def.tiles = {"farming_pumpkin_4.png"}
|
||||
core.register_node("farming:pumpkin_4", table.copy(def))
|
||||
|
||||
-- stage 5
|
||||
|
||||
def.tiles = {"farming_pumpkin_5.png"}
|
||||
core.register_node("farming:pumpkin_5", table.copy(def))
|
||||
|
||||
-- stage 6
|
||||
|
||||
def.tiles = {"farming_pumpkin_6.png"}
|
||||
core.register_node("farming:pumpkin_6", table.copy(def))
|
||||
|
||||
-- stage 7
|
||||
|
||||
def.tiles = {"farming_pumpkin_7.png"}
|
||||
core.register_node("farming:pumpkin_7", table.copy(def))
|
||||
|
||||
-- stage 8 (final)
|
||||
|
||||
core.register_node("farming:pumpkin_8", {
|
||||
description = S("Pumpkin"),
|
||||
tiles = {
|
||||
"farming_pumpkin_bottom.png^farming_pumpkin_top.png",
|
||||
"farming_pumpkin_bottom.png",
|
||||
"farming_pumpkin_side.png"
|
||||
},
|
||||
groups = {
|
||||
food_pumpkin = 1, snappy = 3, choppy = 3, oddly_breakable_by_hand = 2,
|
||||
flammable = 2, plant = 1, handy = 1
|
||||
},
|
||||
is_ground_content = false,
|
||||
drop = "farming:pumpkin_8",
|
||||
sounds = farming.node_sound_wood_defaults(),
|
||||
paramtype2 = "facedir",
|
||||
on_place = core.rotate_node,
|
||||
_mcl_hardness = 0.8,
|
||||
_mcl_blast_resistance = 1
|
||||
})
|
||||
|
||||
core.register_alias("farming:pumpkin", "farming:pumpkin_8")
|
||||
|
||||
-- add to registered_plants
|
||||
|
||||
farming.registered_plants["farming:pumpkin"] = {
|
||||
crop = "farming:pumpkin",
|
||||
seed = "farming:pumpkin_slice",
|
||||
minlight = farming.min_light,
|
||||
maxlight = farming.max_light,
|
||||
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
|
||||
})
|
||||
@@ -0,0 +1,99 @@
|
||||
|
||||
local S = core.get_translator("farming")
|
||||
|
||||
-- item/seed
|
||||
|
||||
core.register_craftitem("farming:raspberries", {
|
||||
description = S("Raspberries"),
|
||||
inventory_image = "farming_raspberries.png",
|
||||
groups = {
|
||||
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)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:raspberry_1")
|
||||
end
|
||||
})
|
||||
|
||||
farming.add_eatable("farming:raspberries", 1)
|
||||
|
||||
-- crop definition
|
||||
|
||||
local def = {
|
||||
description = S("Raspberry") .. S(" Crop"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_raspberry_1.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
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:raspberry_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
|
||||
def.tiles = {"farming_raspberry_2.png"}
|
||||
core.register_node("farming:raspberry_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
|
||||
def.tiles = {"farming_raspberry_3.png"}
|
||||
core.register_node("farming:raspberry_3", table.copy(def))
|
||||
|
||||
-- stage 4 (final)
|
||||
|
||||
def.tiles = {"farming_raspberry_4.png"}
|
||||
def.groups.growing = nil
|
||||
def.selection_box = farming.select_final
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:raspberries 2"}, rarity = 1},
|
||||
{items = {"farming:raspberries"}, rarity = 2},
|
||||
{items = {"farming:raspberries"}, rarity = 3}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:raspberry_4", table.copy(def))
|
||||
|
||||
-- add to registered_plants
|
||||
|
||||
farming.registered_plants["farming:raspberries"] = {
|
||||
crop = "farming:raspberry",
|
||||
seed = "farming:raspberries",
|
||||
minlight = farming.min_light,
|
||||
maxlight = farming.max_light,
|
||||
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"
|
||||
})
|
||||
@@ -0,0 +1,105 @@
|
||||
|
||||
local S = core.get_translator("farming")
|
||||
|
||||
-- item/seed
|
||||
|
||||
core.register_craftitem("farming:rhubarb", {
|
||||
description = S("Rhubarb"),
|
||||
inventory_image = "farming_rhubarb.png",
|
||||
groups = {compostability = 48, seed = 2, food_rhubarb = 1},
|
||||
on_use = core.item_eat(1),
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:rhubarb_1")
|
||||
end
|
||||
})
|
||||
|
||||
farming.add_eatable("farming:rhubarb", 1)
|
||||
|
||||
-- crop definition
|
||||
|
||||
local def = {
|
||||
description = S("Rhubarb") .. S(" Crop"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_rhubarb_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(),
|
||||
minlight = 10,
|
||||
maxlight = 12
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
|
||||
core.register_node("farming:rhubarb_1", table.copy(def))
|
||||
|
||||
-- stage2
|
||||
|
||||
def.tiles = {"farming_rhubarb_2.png"}
|
||||
core.register_node("farming:rhubarb_2", table.copy(def))
|
||||
|
||||
-- stage3
|
||||
|
||||
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.selection_box = farming.select_final
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:rhubarb 2"}, rarity = 1},
|
||||
{items = {"farming:rhubarb"}, rarity = 2},
|
||||
{items = {"farming:rhubarb"}, rarity = 3}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:rhubarb_4", table.copy(def))
|
||||
|
||||
-- add to registered_plants
|
||||
|
||||
farming.registered_plants["farming:rhubarb"] = {
|
||||
crop = "farming:rhubarb",
|
||||
seed = "farming:rhubarb",
|
||||
minlight = 10,
|
||||
maxlight = 12,
|
||||
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"
|
||||
})
|
||||
@@ -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
|
||||
}
|
||||
@@ -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 = {}})
|
||||
@@ -0,0 +1,129 @@
|
||||
|
||||
local S = core.get_translator("farming")
|
||||
|
||||
-- item/seed
|
||||
|
||||
core.register_craftitem("farming:soy_pod", {
|
||||
description = S("Soy Pod"),
|
||||
inventory_image = "farming_soy_pod.png",
|
||||
groups = {compostability = 48, seed = 2, food_soy = 1, food_soy_pod = 1, flammable = 2},
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:soy_1")
|
||||
end
|
||||
})
|
||||
|
||||
-- replacement for soy beans that was removed
|
||||
|
||||
core.register_alias("farming:soy_beans", "farming:soy_pod")
|
||||
|
||||
-- crop definition
|
||||
|
||||
local def = {
|
||||
description = S("Soy") .. S(" Crop"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_soy_1.png"},
|
||||
paramtype = "light",
|
||||
paramtype2 = "meshoptions",
|
||||
place_param2 = 3,
|
||||
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:soy_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
|
||||
def.tiles = {"farming_soy_2.png"}
|
||||
core.register_node("farming:soy_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
|
||||
def.tiles = {"farming_soy_3.png"}
|
||||
core.register_node("farming:soy_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
|
||||
def.tiles = {"farming_soy_4.png"}
|
||||
core.register_node("farming:soy_4", table.copy(def))
|
||||
|
||||
-- stage 5
|
||||
|
||||
def.tiles = {"farming_soy_5.png"}
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:soy_pod"}, rarity = 2}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:soy_5", table.copy(def))
|
||||
|
||||
-- stage 6
|
||||
|
||||
def.tiles = {"farming_soy_6.png"}
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:soy_pod"}, rarity = 1},
|
||||
{items = {"farming:soy_pod"}, rarity = 3}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:soy_6", table.copy(def))
|
||||
|
||||
-- stage 7 (final)
|
||||
|
||||
def.tiles = {"farming_soy_7.png"}
|
||||
def.groups.growing = nil
|
||||
def.selection_box = farming.select_final
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:soy_pod 2"}, rarity = 1},
|
||||
{items = {"farming:soy_pod"}, rarity = 2},
|
||||
{items = {"farming:soy_pod"}, rarity = 3},
|
||||
{items = {"farming:soy_pod"}, rarity = 4}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:soy_7", table.copy(def))
|
||||
|
||||
-- add to registered_plants
|
||||
|
||||
farming.registered_plants["farming:soy_pod"] = {
|
||||
crop = "farming:soy",
|
||||
seed = "farming:soy_pod",
|
||||
minlight = farming.min_light,
|
||||
maxlight = farming.max_light,
|
||||
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"
|
||||
})
|
||||
@@ -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 = farming.min_light,
|
||||
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
|
||||
})
|
||||
@@ -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"
|
||||
})
|
||||
@@ -0,0 +1,149 @@
|
||||
|
||||
local S = core.get_translator("farming")
|
||||
|
||||
-- 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"),
|
||||
inventory_image = "farming_sunflower.png",
|
||||
groups = {flammable = 2}
|
||||
})
|
||||
|
||||
-- turn item into seeds
|
||||
|
||||
core.register_craft({
|
||||
output = "farming:seed_sunflower 5",
|
||||
recipe = {{"farming:sunflower"}}
|
||||
})
|
||||
|
||||
-- crop definition
|
||||
|
||||
local def = {
|
||||
description = S("Sunflower") .. S(" Crop"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_sunflower_1.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true, minlight = 14,
|
||||
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:sunflower_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
|
||||
def.tiles = {"farming_sunflower_2.png"}
|
||||
core.register_node("farming:sunflower_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
|
||||
def.tiles = {"farming_sunflower_3.png"}
|
||||
core.register_node("farming:sunflower_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
|
||||
def.tiles = {"farming_sunflower_4.png"}
|
||||
core.register_node("farming:sunflower_4", table.copy(def))
|
||||
|
||||
-- stage 5
|
||||
|
||||
def.tiles = {"farming_sunflower_5.png"}
|
||||
core.register_node("farming:sunflower_5", table.copy(def))
|
||||
|
||||
-- stage 6
|
||||
|
||||
def.tiles = {"farming_sunflower_6.png"}
|
||||
def.visual_scale = 1.9
|
||||
core.register_node("farming:sunflower_6", table.copy(def))
|
||||
|
||||
-- stage 7
|
||||
|
||||
def.tiles = {"farming_sunflower_7.png"}
|
||||
core.register_node("farming:sunflower_7", table.copy(def))
|
||||
|
||||
-- stage 8 (final)
|
||||
|
||||
def.tiles = {"farming_sunflower_8.png"}
|
||||
def.groups.growing = nil
|
||||
def.selection_box = farming.select_final
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:sunflower"}, rarity = 1},
|
||||
{items = {"farming:sunflower"}, rarity = 6}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:sunflower_8", table.copy(def))
|
||||
|
||||
-- add to registered_plants
|
||||
|
||||
farming.registered_plants["farming:sunflower"] = {
|
||||
crop = "farming:sunflower",
|
||||
seed = "farming:seed_sunflower",
|
||||
minlight = 14,
|
||||
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.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"
|
||||
})
|
||||
@@ -0,0 +1,129 @@
|
||||
|
||||
--[[
|
||||
Textures edited from:
|
||||
http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/1288375-food-plus-mod-more-food-than-you-can-imagine-v2-9)
|
||||
]]
|
||||
|
||||
local S = core.get_translator("farming")
|
||||
|
||||
-- item/seed
|
||||
|
||||
core.register_craftitem("farming:tomato", {
|
||||
description = S("Tomato"),
|
||||
inventory_image = "farming_tomato.png",
|
||||
groups = {compostability = 45, seed = 2, food_tomato = 1},
|
||||
on_use = core.item_eat(4),
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:tomato_1")
|
||||
end
|
||||
})
|
||||
|
||||
farming.add_eatable("farming:tomato", 4)
|
||||
|
||||
-- crop definition
|
||||
|
||||
local def = {
|
||||
description = S("Tomato") .. S(" Crop"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_tomato_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:tomato_1", table.copy(def))
|
||||
|
||||
-- stage2
|
||||
|
||||
def.tiles = {"farming_tomato_2.png"}
|
||||
core.register_node("farming:tomato_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
|
||||
def.tiles = {"farming_tomato_3.png"}
|
||||
core.register_node("farming:tomato_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
|
||||
def.tiles = {"farming_tomato_4.png"}
|
||||
core.register_node("farming:tomato_4", table.copy(def))
|
||||
|
||||
-- stage 5
|
||||
|
||||
def.tiles = {"farming_tomato_5.png"}
|
||||
core.register_node("farming:tomato_5", table.copy(def))
|
||||
|
||||
-- stage 6
|
||||
|
||||
def.tiles = {"farming_tomato_6.png"}
|
||||
core.register_node("farming:tomato_6", table.copy(def))
|
||||
|
||||
-- stage 7
|
||||
|
||||
def.tiles = {"farming_tomato_7.png"}
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:tomato"}, rarity = 1},
|
||||
{items = {"farming:tomato"}, rarity = 3}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:tomato_7", table.copy(def))
|
||||
|
||||
-- stage 8 (final)
|
||||
|
||||
def.tiles = {"farming_tomato_8.png"}
|
||||
def.groups.growing = nil
|
||||
def.selection_box = farming.select_final
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:tomato 2"}, rarity = 1},
|
||||
{items = {"farming:tomato"}, rarity = 2},
|
||||
{items = {"farming:tomato"}, rarity = 3},
|
||||
{items = {"farming:tomato"}, rarity = 4}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:tomato_8", table.copy(def))
|
||||
|
||||
-- add to registered_plants
|
||||
|
||||
farming.registered_plants["farming:tomato"] = {
|
||||
crop = "farming:tomato",
|
||||
seed = "farming:tomato",
|
||||
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.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"
|
||||
})
|
||||
@@ -0,0 +1,125 @@
|
||||
|
||||
local S = core.get_translator("farming")
|
||||
|
||||
-- item/seed
|
||||
|
||||
core.register_craftitem("farming:vanilla", {
|
||||
description = S("Vanilla"),
|
||||
inventory_image = "farming_vanilla.png",
|
||||
groups = {compostability = 48, seed = 2, food_vanilla = 1},
|
||||
on_use = core.item_eat(1),
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:vanilla_1")
|
||||
end
|
||||
})
|
||||
|
||||
farming.add_eatable("farming:vanilla", 1)
|
||||
|
||||
-- crop definition
|
||||
|
||||
local def = {
|
||||
description = S("Vanilla") .. S(" Crop"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_vanilla_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:vanilla_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
|
||||
def.tiles = {"farming_vanilla_2.png"}
|
||||
core.register_node("farming:vanilla_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
|
||||
def.tiles = {"farming_vanilla_3.png"}
|
||||
core.register_node("farming:vanilla_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
|
||||
def.tiles = {"farming_vanilla_4.png"}
|
||||
core.register_node("farming:vanilla_4", table.copy(def))
|
||||
|
||||
-- stage 5
|
||||
|
||||
def.tiles = {"farming_vanilla_5.png"}
|
||||
core.register_node("farming:vanilla_5", table.copy(def))
|
||||
|
||||
-- stage 6
|
||||
|
||||
def.tiles = {"farming_vanilla_6.png"}
|
||||
def.visual_scale = 1.9
|
||||
core.register_node("farming:vanilla_6", table.copy(def))
|
||||
|
||||
-- stage 7
|
||||
|
||||
def.tiles = {"farming_vanilla_7.png"}
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:vanilla"}, rarity = 1},
|
||||
{items = {"farming:vanilla"}, rarity = 3}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:vanilla_7", table.copy(def))
|
||||
|
||||
-- stage 8 (final)
|
||||
|
||||
def.tiles = {"farming_vanilla_8.png"}
|
||||
def.groups.growing = nil
|
||||
def.selection_box = farming.select_final
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:vanilla 2"}, rarity = 1},
|
||||
{items = {"farming:vanilla"}, rarity = 2},
|
||||
{items = {"farming:vanilla"}, rarity = 3},
|
||||
{items = {"farming:vanilla"}, rarity = 4}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:vanilla_8", table.copy(def))
|
||||
|
||||
-- add to registered_plants
|
||||
|
||||
farming.registered_plants["farming:vanilla"] = {
|
||||
crop = "farming:vanilla",
|
||||
seed = "farming:vanilla",
|
||||
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: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"
|
||||
})
|
||||
@@ -0,0 +1,134 @@
|
||||
|
||||
local S = core.get_translator("farming")
|
||||
|
||||
-- seed
|
||||
|
||||
core.register_node("farming:seed_wheat", {
|
||||
description = S("Wheat Seed"),
|
||||
tiles = {"farming_wheat_seed.png"},
|
||||
inventory_image = "farming_wheat_seed.png",
|
||||
wield_image = "farming_wheat_seed.png",
|
||||
drawtype = "signlike",
|
||||
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",
|
||||
paramtype2 = "wallmounted",
|
||||
walkable = false,
|
||||
sunlight_propagates = true,
|
||||
selection_box = farming.select,
|
||||
next_plant = "farming:wheat_1",
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
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
|
||||
})
|
||||
|
||||
-- item
|
||||
|
||||
core.register_craftitem("farming:wheat", {
|
||||
description = S("Wheat"),
|
||||
inventory_image = "farming_wheat.png",
|
||||
groups = {food_wheat = 1, flammable = 4}
|
||||
})
|
||||
|
||||
-- crop definition
|
||||
|
||||
local def = {
|
||||
description = S("Wheat") .. S(" Crop"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_wheat_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 = {
|
||||
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:wheat_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
|
||||
def.tiles = {"farming_wheat_2.png"}
|
||||
core.register_node("farming:wheat_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
|
||||
def.tiles = {"farming_wheat_3.png"}
|
||||
core.register_node("farming:wheat_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
|
||||
def.tiles = {"farming_wheat_4.png"}
|
||||
core.register_node("farming:wheat_4", table.copy(def))
|
||||
|
||||
-- stage 5
|
||||
|
||||
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 = {
|
||||
items = {
|
||||
{items = {"farming:wheat"}, rarity = 2},
|
||||
{items = {"farming:seed_wheat"}, rarity = 2}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:wheat_6", table.copy(def))
|
||||
|
||||
-- stage 7
|
||||
|
||||
def.tiles = {"farming_wheat_7.png"}
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:wheat"}, rarity = 2},
|
||||
{items = {"farming:seed_wheat"}, rarity = 1}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:wheat_7", table.copy(def))
|
||||
|
||||
-- stage 8 (final)
|
||||
|
||||
def.tiles = {"farming_wheat_8.png"}
|
||||
def.groups.growing = nil
|
||||
def.selection_box = farming.select_final
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:wheat 2"}, rarity = 1},
|
||||
{items = {"farming:wheat"}, rarity = 2},
|
||||
{items = {"farming:seed_wheat 2"}, rarity = 1},
|
||||
{items = {"farming:seed_wheat"}, rarity = 2}
|
||||
}
|
||||
}
|
||||
core.register_node("farming:wheat_8", table.copy(def))
|
||||
|
||||
-- add to registered_plants
|
||||
|
||||
farming.registered_plants["farming:wheat"] = {
|
||||
crop = "farming:wheat",
|
||||
seed = "farming:seed_wheat",
|
||||
minlight = farming.min_light,
|
||||
maxlight = farming.max_light,
|
||||
steps = 8
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
|
||||
--[[
|
||||
Farming settings can be changed here and kept inside mod folder
|
||||
even after the mod has been updated, or you can place inside
|
||||
world folder for map specific settings.
|
||||
--]]
|
||||
|
||||
-- true to enable crop/food in-game and on mapgen set spawn rarety
|
||||
farming.asparagus = 0.002
|
||||
farming.eggplant = 0.002
|
||||
farming.spinach = 0.002
|
||||
farming.carrot = 0.002
|
||||
farming.potato = 0.002
|
||||
farming.tomato = 0.002
|
||||
farming.cucumber = 0.002
|
||||
farming.corn = 0.002
|
||||
farming.coffee = 0.002
|
||||
farming.melon = 0.009
|
||||
farming.pumpkin = 0.009
|
||||
farming.cocoa = true -- true or false only
|
||||
farming.raspberry = 0.002
|
||||
farming.blueberry = 0.002
|
||||
farming.rhubarb = 0.002
|
||||
farming.beans = 0.002
|
||||
farming.grapes = 0.002
|
||||
farming.barley = true -- true or false only
|
||||
farming.chili = 0.003
|
||||
farming.hemp = 0.003
|
||||
farming.garlic = 0.002
|
||||
farming.onion = 0.002
|
||||
farming.pepper = 0.002
|
||||
farming.pineapple = 0.003
|
||||
farming.peas = 0.002
|
||||
farming.beetroot = 0.002
|
||||
farming.mint = 0.005
|
||||
farming.cabbage = 0.002
|
||||
farming.blackberry = 0.002
|
||||
farming.lettuce = 0.002
|
||||
farming.soy = 0.002
|
||||
farming.vanilla = 0.002
|
||||
farming.artichoke = 0.002
|
||||
farming.parsley = 0.002
|
||||
farming.sunflower = 0.002
|
||||
farming.ginger = 0.002
|
||||
farming.cotton = 0.003
|
||||
farming.strawberry = 0.002
|
||||
farming.grains = true -- true or false only
|
||||
farming.rice = true
|
||||
|
||||
-- default minimum and maximum light levels crops need to grow
|
||||
farming.min_light = 12
|
||||
farming.max_light = 15
|
||||
@@ -0,0 +1,76 @@
|
||||
|
||||
-- Override grass to drop wheat and oat seeds
|
||||
|
||||
local rarity_lookup = {[1] = 50, [2] = 50, [3] = 50, [4] = 5, [5] = 5}
|
||||
|
||||
if core.registered_nodes["default:grass_1"] then
|
||||
|
||||
for i = 1, 5 do
|
||||
|
||||
core.override_item("default:grass_" .. i, {
|
||||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{items = {"farming:seed_wheat"}, rarity = rarity_lookup[i]},
|
||||
{items = {"farming:seed_oat"},rarity = rarity_lookup[i]},
|
||||
{items = {"default:grass_1"}}
|
||||
}
|
||||
}
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
-- override dry grass to drop barley and rye seeds
|
||||
|
||||
if core.registered_nodes["default:dry_grass_1"] then
|
||||
|
||||
for i = 1, 5 do
|
||||
|
||||
core.override_item("default:dry_grass_" .. i, {
|
||||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{items = {"farming:seed_barley"}, rarity = rarity_lookup[i]},
|
||||
{items = {"farming:seed_rye"}, rarity = rarity_lookup[i]},
|
||||
{items = {"default:dry_grass_1"}}
|
||||
}
|
||||
}
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
-- override jungle grass to drop cotton and rice seeds
|
||||
|
||||
if core.registered_nodes["default:junglegrass"] then
|
||||
|
||||
core.override_item("default:junglegrass", {
|
||||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{items = {"farming:seed_cotton"}, rarity = 8},
|
||||
{items = {"farming:seed_rice"}, rarity = 8},
|
||||
{items = {"default:junglegrass"}}
|
||||
}
|
||||
}
|
||||
})
|
||||
end
|
||||
|
||||
-- override mineclone tallgrass to drop all of 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
|
||||
|
||||
@@ -0,0 +1,423 @@
|
||||
|
||||
-- translation and mod check
|
||||
|
||||
local S = core.get_translator("farming")
|
||||
local mod_tr = core.get_modpath("toolranks")
|
||||
local mod_mcl = core.get_modpath("mcl_core")
|
||||
|
||||
-- Hoe registration function
|
||||
|
||||
function farming.register_hoe(name, def)
|
||||
|
||||
-- Check for : prefix (register new hoes in your mod's namespace)
|
||||
if name:sub(1,1) ~= ":" then name = ":" .. name end
|
||||
|
||||
-- Check def table
|
||||
def.description = def.description or S("Hoe")
|
||||
def.inventory_image = def.inventory_image or "unknown_item.png"
|
||||
def.max_uses = def.max_uses or 30
|
||||
|
||||
-- add hoe group
|
||||
def.groups = def.groups or {}
|
||||
def.groups.hoe = 1
|
||||
|
||||
-- Register the tool
|
||||
core.register_tool(name, {
|
||||
description = def.description,
|
||||
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)
|
||||
return farming.hoe_on_use(itemstack, user, pointed_thing, def.max_uses)
|
||||
end
|
||||
})
|
||||
|
||||
-- Register its recipe
|
||||
local recipe = not mod_mcl and (def.recipe or def.material and {
|
||||
{def.material, def.material}, {"", "group:stick"}, {"", "group:stick"} })
|
||||
|
||||
if recipe then
|
||||
core.register_craft({output = name:sub(2), recipe = recipe})
|
||||
end
|
||||
end
|
||||
|
||||
-- Turns dirt with group soil=1 into soil
|
||||
|
||||
function farming.hoe_on_use(itemstack, user, pointed_thing, uses)
|
||||
|
||||
local pt = pointed_thing or {}
|
||||
local is_used = false
|
||||
|
||||
-- am I pointing at the top of a dirt node
|
||||
if pt.type == "node" and pt.above.y == pt.under.y + 1 then
|
||||
|
||||
local pname = user:get_player_name() or ""
|
||||
local upos = pointed_thing.under
|
||||
local under = core.get_node(upos)
|
||||
local udef = core.registered_nodes[under.name] ; if not udef then return end
|
||||
|
||||
if core.is_protected(upos, pname) then
|
||||
core.record_protection_violation(upos, pname) ; return
|
||||
end
|
||||
|
||||
-- do we have space above and tillable dirt below
|
||||
if core.get_node({x = upos.x, y = upos.y + 1, z = upos.z}).name ~= "air"
|
||||
or udef.groups.soil ~= 1 then return end
|
||||
|
||||
-- mineclonia compatibility check before default soil check
|
||||
if not mod_mcl and (not udef.soil or not udef.soil.wet or not udef.soil.dry) then
|
||||
return
|
||||
end
|
||||
|
||||
local new_dirt = mod_mcl and "mcl_farming:soil" or udef.soil.dry
|
||||
|
||||
-- turn the node into soil, mark hoe for wear and play sound
|
||||
core.set_node(pt.under, {name = new_dirt}) ; is_used = true
|
||||
|
||||
core.sound_play("default_dig_crumbly", {pos = upos, gain = 0.5}, true)
|
||||
end
|
||||
|
||||
local wdef = itemstack:get_definition()
|
||||
local wear = 65535 / (uses - 1)
|
||||
|
||||
-- using hoe as weapon
|
||||
if pt.type == "object" then
|
||||
|
||||
local ent = pt.ref and pt.ref:get_luaentity()
|
||||
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
|
||||
|
||||
if is_used then -- add wear when used
|
||||
|
||||
-- creative 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})
|
||||
else
|
||||
itemstack:add_wear(wear)
|
||||
end
|
||||
|
||||
if itemstack:get_count() == 0 and wdef.sound and wdef.sound.breaks then
|
||||
core.sound_play(wdef.sound.breaks, {pos = pt.above, gain = 0.5}, true)
|
||||
end
|
||||
end
|
||||
|
||||
return itemstack
|
||||
end
|
||||
|
||||
-- Define Hoes
|
||||
|
||||
farming.register_hoe(":farming:hoe_wood", {
|
||||
description = S("Wooden Hoe"),
|
||||
inventory_image = "farming_tool_woodhoe.png",
|
||||
max_uses = 30,
|
||||
material = "group:wood"
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "farming:hoe_wood",
|
||||
burntime = 5
|
||||
})
|
||||
|
||||
farming.register_hoe(":farming:hoe_stone", {
|
||||
description = S("Stone Hoe"),
|
||||
inventory_image = "farming_tool_stonehoe.png",
|
||||
max_uses = 90,
|
||||
material = "group:stone"
|
||||
})
|
||||
|
||||
farming.register_hoe(":farming:hoe_steel", {
|
||||
description = S("Steel Hoe"),
|
||||
inventory_image = "farming_tool_steelhoe.png",
|
||||
max_uses = 200,
|
||||
material = "default:steel_ingot",
|
||||
damage_groups = {fleshy = 2}
|
||||
})
|
||||
|
||||
farming.register_hoe(":farming:hoe_bronze", {
|
||||
description = S("Bronze Hoe"),
|
||||
inventory_image = "farming_tool_bronzehoe.png",
|
||||
max_uses = 250,
|
||||
groups = {not_in_creative_inventory = 1},
|
||||
material = "default:bronze_ingot",
|
||||
damage_groups = {fleshy = 2}
|
||||
})
|
||||
|
||||
farming.register_hoe(":farming:hoe_mese", {
|
||||
description = S("Mese Hoe"),
|
||||
inventory_image = "farming_tool_mesehoe.png",
|
||||
max_uses = 350,
|
||||
groups = {not_in_creative_inventory = 1},
|
||||
damage_groups = {fleshy = 3}
|
||||
})
|
||||
|
||||
farming.register_hoe(":farming:hoe_diamond", {
|
||||
description = S("Diamond Hoe"),
|
||||
inventory_image = "farming_tool_diamondhoe.png",
|
||||
max_uses = 500,
|
||||
groups = {not_in_creative_inventory = 1},
|
||||
damage_groups = {fleshy = 3}
|
||||
})
|
||||
|
||||
-- Toolranks support
|
||||
|
||||
if mod_tr then
|
||||
|
||||
core.override_item("farming:hoe_wood", {original_description = S("Wood Hoe"),
|
||||
description = toolranks.create_description(S("Wood Hoe"))})
|
||||
|
||||
core.override_item("farming:hoe_stone", {original_description = S("Stone Hoe"),
|
||||
description = toolranks.create_description(S("Stone Hoe"))})
|
||||
|
||||
core.override_item("farming:hoe_steel", {original_description = S("Steel Hoe"),
|
||||
description = toolranks.create_description(S("Steel Hoe"))})
|
||||
|
||||
core.override_item("farming:hoe_bronze", {original_description = S("Bronze Hoe"),
|
||||
description = toolranks.create_description(S("Bronze Hoe"))})
|
||||
|
||||
core.override_item("farming:hoe_mese", {original_description = S("Mese 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
|
||||
|
||||
-- hoe bomb function
|
||||
|
||||
local function hoe_area(pos, player)
|
||||
|
||||
-- check for protection
|
||||
if core.is_protected(pos, player:get_player_name()) then
|
||||
core.record_protection_violation(pos, player:get_player_name()) ; return
|
||||
end
|
||||
|
||||
local r = 5 -- radius
|
||||
|
||||
-- remove flora (grass, flowers etc.)
|
||||
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}, {"group:flora", "group:grass",
|
||||
"group:dry_grass", "default:dry_shrub", "farming:weed"})
|
||||
|
||||
for n = 1, #res do
|
||||
core.remove_node(res[n])
|
||||
end
|
||||
|
||||
-- replace dirt with tilled soil
|
||||
res = core.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 + 2, z = pos.z + r},
|
||||
{"group:soil", "ethereal:dry_dirt"})
|
||||
|
||||
for n = 1, #res do
|
||||
core.swap_node(res[n], {name = "farming:soil"})
|
||||
end
|
||||
end
|
||||
|
||||
-- throwable hoe bomb entity
|
||||
|
||||
core.register_entity("farming:hoebomb_entity", {
|
||||
|
||||
initial_properties = {
|
||||
physical = true,
|
||||
visual = "sprite",
|
||||
visual_size = {x = 1.0, y = 1.0},
|
||||
textures = {"farming_hoe_bomb.png"},
|
||||
collisionbox = {-0.2,-0.2,-0.2,0.2,0.2,0.2}
|
||||
},
|
||||
|
||||
on_step = function(self, dtime, moveresult)
|
||||
|
||||
if not self.player then
|
||||
self.object:remove() ; return
|
||||
end
|
||||
|
||||
if moveresult.collides then
|
||||
|
||||
local pos = vector.round(self.object:get_pos())
|
||||
|
||||
pos.y = pos.y - 1 ; hoe_area(pos, self.player)
|
||||
|
||||
self.object:remove()
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
-- actual throwing function
|
||||
|
||||
local function throw_potion(itemstack, player)
|
||||
|
||||
local pos = player:get_pos()
|
||||
local obj = core.add_entity(
|
||||
{x = pos.x, y = pos.y + 1.5, z = pos.z}, "farming:hoebomb_entity")
|
||||
|
||||
if not obj then return end
|
||||
|
||||
local dir = player:get_look_dir()
|
||||
local velocity = 20
|
||||
|
||||
obj:set_velocity({x = dir.x * velocity, y = dir.y * velocity, z = dir.z * velocity})
|
||||
|
||||
obj:set_acceleration({x = dir.x * -3, y = -9.5, z = dir.z * -3})
|
||||
|
||||
obj:get_luaentity().player = player
|
||||
end
|
||||
|
||||
-- hoe bomb item
|
||||
|
||||
core.register_craftitem("farming:hoe_bomb", {
|
||||
description = S("Hoe Bomb (use or throw on grassy areas to hoe land)"),
|
||||
inventory_image = "farming_hoe_bomb.png",
|
||||
groups = {flammable = 2, not_in_creative_inventory = 1},
|
||||
|
||||
on_use = function(itemstack, user, pointed_thing)
|
||||
|
||||
if pointed_thing.type == "node" then
|
||||
hoe_area(pointed_thing.under, user)
|
||||
else
|
||||
throw_potion(itemstack, user)
|
||||
end
|
||||
|
||||
if not farming.is_creative(user:get_player_name()) then
|
||||
|
||||
itemstack:take_item()
|
||||
|
||||
return itemstack
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
-- 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"] = 1,
|
||||
["farming:beanpole"] = 1
|
||||
}
|
||||
|
||||
function farming.add_to_scythe_not_drops(item)
|
||||
farming.scythe_not_drops[item] = 1
|
||||
end
|
||||
|
||||
-- Mithril Scythe (special item)
|
||||
|
||||
core.register_tool("farming:scythe_mithril", {
|
||||
description = S("Mithril Scythe (Use to harvest and replant crops)"),
|
||||
inventory_image = "farming_scythe_mithril.png",
|
||||
sound = {breaks = "default_tool_breaks"},
|
||||
|
||||
on_use = function(itemstack, placer, pointed_thing)
|
||||
|
||||
-- if punching entity/object
|
||||
if pointed_thing.type == "object" then
|
||||
pointed_thing.ref:punch(placer, 1, {full_punch_interval = 1.0})
|
||||
return itemstack
|
||||
end
|
||||
|
||||
if pointed_thing.type ~= "node" then return end
|
||||
|
||||
local pos = pointed_thing.under
|
||||
local name = placer:get_player_name()
|
||||
|
||||
if core.is_protected(pos, name) then return end
|
||||
|
||||
local node = core.get_node(pos)
|
||||
local def = core.registered_nodes[node.name]
|
||||
|
||||
if not def or not def.drop or not def.groups.plant then return end
|
||||
|
||||
local drops = core.get_node_drops(node.name, "")
|
||||
|
||||
if not drops or #drops == 0 or (#drops == 1 and drops[1] == "") then
|
||||
return
|
||||
end
|
||||
|
||||
-- get crop name
|
||||
local mname = node.name:split(":")[1]
|
||||
local pname = node_not_num(node.name:split(":")[2]) ; if not pname then return end
|
||||
|
||||
-- add dropped items apart from those on table above
|
||||
for _, dropped_item in pairs(drops) do
|
||||
|
||||
if dropped_item and not farming.scythe_not_drops[dropped_item] then
|
||||
|
||||
local obj = core.add_item(pos, dropped_item)
|
||||
|
||||
if obj then
|
||||
|
||||
obj:set_velocity({
|
||||
x = math.random() - 0.5, y = 3, z = math.random() - 0.5})
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- Run script hook
|
||||
for _, callback in pairs(core.registered_on_dignodes) do
|
||||
callback(pos, node, placer)
|
||||
end
|
||||
|
||||
-- play sound
|
||||
core.sound_play("default_grass_footstep", {pos = pos}, true)
|
||||
|
||||
-- replace with seed or crop_1
|
||||
local replace = mname .. ":" .. pname .. "1"
|
||||
|
||||
if core.registered_nodes[replace] then
|
||||
|
||||
local p2 = core.registered_nodes[replace].place_param2 or 1
|
||||
|
||||
core.set_node(pos, {name = replace, param2 = p2})
|
||||
else
|
||||
core.remove_node(pos)
|
||||
end
|
||||
|
||||
if not farming.is_creative(name) then
|
||||
|
||||
itemstack:add_wear(65535 / 350) -- 350 uses
|
||||
|
||||
return itemstack
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
-- if moreores found add mithril scythe recipe
|
||||
|
||||
if core.get_modpath("moreores") then
|
||||
|
||||
core.register_craft({
|
||||
output = "farming:scythe_mithril",
|
||||
recipe = {
|
||||
{"", "moreores:mithril_ingot", "moreores:mithril_ingot"},
|
||||
{"moreores:mithril_ingot", "", "group:stick"},
|
||||
{"", "", "group:stick"}
|
||||
}
|
||||
})
|
||||
end
|
||||
@@ -0,0 +1,816 @@
|
||||
--[[
|
||||
Farming Redo Mod by TenPlus1
|
||||
NEW growing routine by prestidigitator
|
||||
auto-refill by crabman77
|
||||
]]
|
||||
|
||||
-- Translation support
|
||||
|
||||
local S = core.get_translator("farming")
|
||||
|
||||
-- global
|
||||
|
||||
farming = {
|
||||
mod = "redo",
|
||||
version = "20260426",
|
||||
path = core.get_modpath("farming"),
|
||||
select = {type = "fixed", fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}},
|
||||
select_final = {type = "fixed", fixed = {-0.5, -0.5, -0.5, 0.5, -2.5/16, 0.5}},
|
||||
registered_plants = {},
|
||||
min_light = 12, 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 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)
|
||||
return creative_mode_cache or core.check_player_privs(name, {creative = true})
|
||||
end
|
||||
|
||||
-- stats, locals, settings, function helper
|
||||
|
||||
local statistics = dofile(farming.path .. "/statistics.lua")
|
||||
local random, floor = math.random, math.floor
|
||||
local time_speed = tonumber(core.settings:get("time_speed")) or 72
|
||||
local SECS_PER_CYCLE = (time_speed > 0 and (24 * 60 * 60) / time_speed) or 0
|
||||
local function clamp(x, min, max) return (x < min and min) or (x > max and max) or x end
|
||||
|
||||
-- return amount of day or night that has elapsed
|
||||
-- dt is time elapsed, count_day if true counts day, otherwise night
|
||||
|
||||
local function day_or_night_time(dt, count_day)
|
||||
|
||||
local t_day = core.get_timeofday()
|
||||
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)
|
||||
|
||||
if count_day then
|
||||
|
||||
if t_day < 0.25 then
|
||||
t1_c = t1_day + 0.75 -- Relative to sunup, yesterday
|
||||
t2_c = t_day + 0.75
|
||||
else
|
||||
t1_c = t1_day - 0.25 -- Relative to sunup, today
|
||||
t2_c = t_day - 0.25
|
||||
end
|
||||
else
|
||||
if t_day < 0.75 then
|
||||
t1_c = t1_day + 0.25 -- Relative to sundown, yesterday
|
||||
t2_c = t_day + 0.25
|
||||
else
|
||||
t1_c = t1_day - 0.75 -- Relative to sundown, today
|
||||
t2_c = t_day - 0.75
|
||||
end
|
||||
end
|
||||
|
||||
local dt_c = clamp(t2_c, 0, 0.5) - clamp(t1_c, 0, 0.5) -- this cycle
|
||||
|
||||
if t1_c < -0.5 then
|
||||
|
||||
local nc = floor(-t1_c)
|
||||
|
||||
t1_c = t1_c + nc
|
||||
dt_c = dt_c + 0.5 * nc + clamp(-t1_c - 0.5, 0, 0.5)
|
||||
end
|
||||
|
||||
return dt_c * SECS_PER_CYCLE
|
||||
end
|
||||
|
||||
-- Growth Logic
|
||||
|
||||
local STAGE_LENGTH_AVG = tonumber(core.settings:get("farming_stage_length")) or 200
|
||||
local STAGE_LENGTH_DEV = STAGE_LENGTH_AVG / 6
|
||||
|
||||
-- quick start seed timer
|
||||
|
||||
function farming.start_seed_timer(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
|
||||
|
||||
local function plant_name_stage(node)
|
||||
|
||||
local name
|
||||
|
||||
if type(node) == "table" then
|
||||
|
||||
if node.name then name = node.name
|
||||
elseif node.x and node.y and node.z then
|
||||
node = core.get_node_or_nil(node)
|
||||
name = node and node.name
|
||||
end
|
||||
else
|
||||
name = tostring(node)
|
||||
end
|
||||
|
||||
if not name or name == "ignore" then return nil end
|
||||
|
||||
local sep_pos = name:find("_[^_]+$")
|
||||
|
||||
if sep_pos and sep_pos > 1 then
|
||||
|
||||
local stage = tonumber(name:sub(sep_pos + 1))
|
||||
|
||||
if stage and stage >= 0 then
|
||||
return name:sub(1, sep_pos - 1), stage
|
||||
end
|
||||
end
|
||||
|
||||
return name, 0
|
||||
end
|
||||
|
||||
-- Map from node name to
|
||||
-- { plant_name = ..., name = ..., stage = n, stages_left = { node_name, ... } }
|
||||
|
||||
local plant_stages = {}
|
||||
|
||||
farming.plant_stages = plant_stages
|
||||
|
||||
--- Registers the stages of growth of a (possible plant) node.
|
||||
-- @param node - 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.
|
||||
|
||||
-- Recursive helper
|
||||
|
||||
local function reg_plant_stages(plant_name, stage, force_last)
|
||||
|
||||
local node_name = plant_name and plant_name .. "_" .. stage
|
||||
local node_def = node_name and core.registered_nodes[node_name]
|
||||
|
||||
if not node_def or plant_stages[node_name] then
|
||||
return plant_stages[node_name] -- no node or already in table
|
||||
end
|
||||
|
||||
local is_growing = core.get_item_group(node_name, "growing") > 0
|
||||
|
||||
if not is_growing and not force_last then return nil end
|
||||
|
||||
local ns = is_growing and reg_plant_stages(plant_name, stage + 1, true)
|
||||
local stages_left = (ns and { ns.name, unpack(ns.stages_left) }) or {}
|
||||
|
||||
local stages = {
|
||||
plant_name = plant_name,
|
||||
name = node_name,
|
||||
stage = stage,
|
||||
stages_left = stages_left
|
||||
}
|
||||
|
||||
if #stages_left > 0 then
|
||||
|
||||
local next_name = plant_name .. "_" .. (stage + 1) -- next plant name
|
||||
|
||||
local old_constr = node_def.on_construct
|
||||
local old_destr = node_def.on_destruct
|
||||
|
||||
core.override_item(node_name, {
|
||||
|
||||
next_plant = core.registered_nodes[next_name] and next_name,
|
||||
|
||||
on_construct = function(pos)
|
||||
|
||||
if old_constr then old_constr(pos) end
|
||||
|
||||
farming.handle_growth(pos)
|
||||
end,
|
||||
|
||||
on_destruct = function(pos)
|
||||
|
||||
core.get_node_timer(pos):stop()
|
||||
|
||||
if old_destr then old_destr(pos) end
|
||||
end,
|
||||
|
||||
on_timer = function(pos, elapsed)
|
||||
return farming.plant_growth_timer(pos, elapsed, node_name)
|
||||
end,
|
||||
})
|
||||
end
|
||||
|
||||
plant_stages[node_name] = stages
|
||||
|
||||
return stages
|
||||
end
|
||||
|
||||
-- split name and stage and register crop
|
||||
|
||||
local function register_plant_node(node)
|
||||
|
||||
local plant_name, stage = plant_name_stage(node)
|
||||
|
||||
if plant_name then
|
||||
|
||||
local stages = reg_plant_stages(plant_name, stage, false)
|
||||
|
||||
return stages and #stages.stages_left
|
||||
end
|
||||
end
|
||||
|
||||
-- check for further growth and set or stop timer
|
||||
|
||||
local function set_growing(pos, stages_left)
|
||||
|
||||
if not stages_left then return end
|
||||
|
||||
local timer = core.get_node_timer(pos)
|
||||
|
||||
if stages_left > 0 then
|
||||
|
||||
if not timer:is_started() then
|
||||
|
||||
local stage_length = statistics.normal(STAGE_LENGTH_AVG, STAGE_LENGTH_DEV)
|
||||
|
||||
stage_length = clamp(
|
||||
stage_length, 0.5 * STAGE_LENGTH_AVG, 3.0 * STAGE_LENGTH_AVG)
|
||||
|
||||
timer:set(stage_length, -0.5 * random() * STAGE_LENGTH_AVG)
|
||||
end
|
||||
|
||||
elseif timer:is_started() then
|
||||
timer:stop()
|
||||
end
|
||||
end
|
||||
|
||||
-- detects a crop at given position, starting or stopping growth timer when needed
|
||||
|
||||
function farming.handle_growth(pos, node)
|
||||
|
||||
if not pos then return end
|
||||
|
||||
local stages_left = register_plant_node(node or pos)
|
||||
|
||||
if stages_left then set_growing(pos, stages_left) end
|
||||
end
|
||||
|
||||
-- are crops floodable?
|
||||
|
||||
local floodable = core.settings:get_bool("farming_floodable_crops")
|
||||
|
||||
-- register crops nodes, add timer functions and drop when flooded
|
||||
|
||||
core.after(0, function()
|
||||
|
||||
for node, node_def in pairs(core.registered_nodes) do
|
||||
|
||||
register_plant_node(node_def)
|
||||
|
||||
if floodable then
|
||||
|
||||
if core.get_item_group(node, "plant") >= 1
|
||||
or core.get_item_group(node, "seed") >= 1 and not node_def.on_flood then
|
||||
|
||||
minetest.override_item(node, {
|
||||
floodable = true,
|
||||
on_flood = function(pos, oldnode, newnode)
|
||||
core.dig_node(pos)
|
||||
end
|
||||
})
|
||||
end
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
-- Just in case a growing type or added node is missed (also catches existing
|
||||
-- nodes added to map before timers were incorporated).
|
||||
|
||||
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
|
||||
})
|
||||
|
||||
-- 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.
|
||||
|
||||
function farming.plant_growth_timer(pos, elapsed, node_name)
|
||||
|
||||
local stages = plant_stages[node_name]
|
||||
|
||||
if not stages then return false end
|
||||
|
||||
local max_growth = #stages.stages_left
|
||||
|
||||
if max_growth <= 0 then return false end
|
||||
|
||||
local chk1 = core.registered_nodes[node_name].growth_check -- old
|
||||
local chk2 = core.registered_nodes[node_name].can_grow -- new
|
||||
|
||||
if chk1 then -- custom farming redo growth_check function
|
||||
|
||||
if not chk1(pos, node_name) then return true end
|
||||
|
||||
elseif chk2 then -- custom mt 5.9x farming can_grow function
|
||||
|
||||
if not chk2(pos) then return true end
|
||||
|
||||
-- default mt 5.9x farming.can_grow function
|
||||
elseif not farming.can_grow(pos) then return true end
|
||||
|
||||
local growth
|
||||
local light_pos = {x = pos.x, y = pos.y, z = pos.z}
|
||||
local lambda = elapsed / STAGE_LENGTH_AVG
|
||||
|
||||
if lambda < 0.1 then return true end
|
||||
|
||||
local MIN_LIGHT = core.registered_nodes[node_name].minlight or farming.min_light
|
||||
local MAX_LIGHT = core.registered_nodes[node_name].maxlight or farming.max_light
|
||||
|
||||
if max_growth == 1 or lambda < 2.0 then
|
||||
|
||||
local light = (core.get_node_light(light_pos) or 0)
|
||||
|
||||
if light < MIN_LIGHT or light > MAX_LIGHT then return true end
|
||||
|
||||
growth = 1
|
||||
else
|
||||
local night_light = core.get_node_light(light_pos, 0) 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 day_growth = day_light >= MIN_LIGHT and day_light <= MAX_LIGHT
|
||||
|
||||
if not night_growth then
|
||||
|
||||
if not day_growth then return true end
|
||||
|
||||
lambda = day_or_night_time(elapsed, true) / STAGE_LENGTH_AVG
|
||||
|
||||
elseif not day_growth then
|
||||
|
||||
lambda = day_or_night_time(elapsed, false) / STAGE_LENGTH_AVG
|
||||
end
|
||||
|
||||
growth = statistics.poisson(lambda, max_growth)
|
||||
|
||||
if growth < 1 then return true end
|
||||
end
|
||||
|
||||
if core.registered_nodes[stages.stages_left[growth]] then
|
||||
|
||||
local p2 = core.registered_nodes[stages.stages_left[growth] ].place_param2 or 1
|
||||
|
||||
core.set_node(pos, {name = stages.stages_left[growth], param2 = p2})
|
||||
else
|
||||
return true
|
||||
end
|
||||
|
||||
return growth ~= max_growth
|
||||
end
|
||||
|
||||
-- Compatibility function for default farming mod, forces a growth step
|
||||
|
||||
function farming.grow_plant(pos, elapsed)
|
||||
|
||||
local node = core.get_node(pos)
|
||||
local def = core.registered_nodes[node.name]
|
||||
|
||||
elapsed = elapsed or STAGE_LENGTH_AVG
|
||||
|
||||
farming.plant_growth_timer(pos, elapsed, node.name)
|
||||
end
|
||||
|
||||
-- refill placed plant by crabman (26/08/2015) updated by TenPlus1
|
||||
|
||||
function farming.refill_plant(player, plantname, index)
|
||||
|
||||
local inv = player and player:get_inventory() ; if not inv then return end
|
||||
|
||||
local old_stack = inv:get_stack("main", index)
|
||||
|
||||
if old_stack:get_name() ~= "" then return end
|
||||
|
||||
for i, stack in ipairs(inv:get_list("main")) do
|
||||
|
||||
if stack:get_name() == plantname and i ~= index then
|
||||
|
||||
inv:set_stack("main", index, stack)
|
||||
stack:clear()
|
||||
inv:set_stack("main", i, stack)
|
||||
|
||||
return
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- Place Seeds on Soil
|
||||
|
||||
function farming.place_seed(itemstack, placer, pointed_thing, plantname)
|
||||
|
||||
local pt = pointed_thing
|
||||
|
||||
-- check if pointing at a node
|
||||
if not itemstack or not pt or pt.type ~= "node" then return end
|
||||
|
||||
local under = core.get_node(pt.under)
|
||||
local under_def = core.registered_nodes[under.name]
|
||||
|
||||
-- am I right-clicking on something that has a custom on_place set?
|
||||
-- thanks to Krock for helping with this issue :)
|
||||
if placer and itemstack and under_def and under_def.on_rightclick then
|
||||
return under_def.on_rightclick(pt.under, under, placer, itemstack, pt)
|
||||
end
|
||||
|
||||
-- check if pointing at the top of the node
|
||||
if pt.above.y ~= pt.under.y + 1 then return end
|
||||
|
||||
local above = core.get_node(pt.above)
|
||||
local above_def = core.registered_nodes[above.name]
|
||||
|
||||
-- return if any of the nodes arent registered
|
||||
if not under_def or not above_def then return end
|
||||
|
||||
-- can I replace above node, and am I pointing directly at soil
|
||||
if not above_def.buildable_to
|
||||
or core.get_item_group(under.name, "soil") < 2
|
||||
or core.get_item_group(above.name, "plant") ~= 0 then return end
|
||||
|
||||
-- is player planting seed?
|
||||
local name = placer and placer:get_player_name() or ""
|
||||
|
||||
-- if not protected then add node and remove 1 item from the itemstack
|
||||
if not core.is_protected(pt.above, name) then
|
||||
|
||||
local p2 = core.registered_nodes[plantname].place_param2 or 1
|
||||
local item_name = itemstack:get_name()
|
||||
|
||||
core.set_node(pt.above, {name = plantname, param2 = p2})
|
||||
|
||||
farming.start_seed_timer(pt.above)
|
||||
|
||||
core.sound_play("default_place_node", {pos = pt.above}, true)
|
||||
|
||||
core.log("action", string.format("%s planted %s at %s",
|
||||
(placer and placer:is_player() and name or "A mod"),
|
||||
item_name, core.pos_to_string(pt.above)
|
||||
))
|
||||
|
||||
if placer and itemstack and not farming.is_creative(name) then
|
||||
|
||||
itemstack:take_item()
|
||||
|
||||
-- check for refill
|
||||
if itemstack:get_count() == 0 then
|
||||
core.after(0.2, farming.refill_plant, placer, item_name,
|
||||
placer:get_wield_index())
|
||||
end
|
||||
end
|
||||
|
||||
return itemstack
|
||||
end
|
||||
end
|
||||
|
||||
-- Function to register plants (default farming compatibility)
|
||||
|
||||
function farming.register_plant(name, def)
|
||||
|
||||
if not def.steps then return nil end
|
||||
|
||||
local mname = name:split(":")[1]
|
||||
local pname = name:split(":")[2]
|
||||
|
||||
-- Check def
|
||||
def.description = def.description or S("Seed")
|
||||
def.inventory_image = def.inventory_image or "unknown_item.png"
|
||||
def.minlight = def.minlight or farming.min_light
|
||||
def.maxlight = def.maxlight or farming.max_light
|
||||
|
||||
-- Register seed
|
||||
core.register_node(":" .. mname .. ":seed_" .. pname, {
|
||||
|
||||
description = def.description,
|
||||
tiles = {def.inventory_image},
|
||||
inventory_image = def.inventory_image,
|
||||
wield_image = def.inventory_image,
|
||||
drawtype = "signlike",
|
||||
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",
|
||||
paramtype2 = "wallmounted",
|
||||
walkable = false,
|
||||
sunlight_propagates = true,
|
||||
selection_box = farming.select,
|
||||
fertility = def.fertility or {},
|
||||
place_param2 = 1, -- place seed flat
|
||||
next_plant = mname .. ":" .. pname .. "_1",
|
||||
|
||||
on_timer = function(pos, elapsed)
|
||||
|
||||
local def = core.registered_nodes[mname .. ":" .. pname .. "_1"]
|
||||
|
||||
if def then
|
||||
core.set_node(pos, {name = def.name, param2 = def.place_param2})
|
||||
end
|
||||
end,
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
|
||||
return farming.place_seed(itemstack, placer, pointed_thing,
|
||||
mname .. ":seed_" .. pname)
|
||||
end
|
||||
})
|
||||
|
||||
-- Register harvest
|
||||
core.register_craftitem(":" .. mname .. ":" .. pname, {
|
||||
description = pname:gsub("^%l", string.upper),
|
||||
inventory_image = mname .. "_" .. pname .. ".png",
|
||||
groups = def.groups or {flammable = 2},
|
||||
})
|
||||
|
||||
-- Register growing steps
|
||||
for i = 1, def.steps do
|
||||
|
||||
local base_rarity = 1
|
||||
|
||||
if def.steps ~= 1 then
|
||||
base_rarity = 8 - (i - 1) * 7 / (def.steps - 1)
|
||||
end
|
||||
|
||||
local drop = {
|
||||
items = {
|
||||
{items = {mname .. ":" .. pname}, rarity = base_rarity},
|
||||
{items = {mname .. ":" .. pname}, rarity = base_rarity * 2},
|
||||
{items = {mname .. ":seed_" .. pname}, rarity = base_rarity},
|
||||
{items = {mname .. ":seed_" .. pname}, rarity = base_rarity * 2},
|
||||
}
|
||||
}
|
||||
|
||||
local sel = farming.select
|
||||
local g = {
|
||||
handy = 1, snappy = 3, flammable = 2, plant = 1, growing = 1,
|
||||
attached_node = 1, not_in_creative_inventory = 1,
|
||||
}
|
||||
|
||||
-- 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
|
||||
sel = farming.select_final
|
||||
g.growing = 0
|
||||
end
|
||||
|
||||
local node_name = mname .. ":" .. pname .. "_" .. i
|
||||
|
||||
local next_plant = nil
|
||||
|
||||
if i < def.steps then
|
||||
next_plant = mname .. ":" .. pname .. "_" .. (i + 1)
|
||||
end
|
||||
|
||||
local desc = pname:gsub("^%l", string.upper)
|
||||
|
||||
core.register_node(node_name, {
|
||||
description = S(desc) .. S(" Crop"),
|
||||
drawtype = "plantlike",
|
||||
waving = 1,
|
||||
tiles = {mname .. "_" .. pname .. "_" .. i .. ".png"},
|
||||
paramtype = "light",
|
||||
paramtype2 = def.paramtype2,
|
||||
place_param2 = def.place_param2,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
sunlight_propagates = true,
|
||||
drop = drop,
|
||||
selection_box = sel,
|
||||
groups = g,
|
||||
_mcl_hardness = farming.mcl_hardness,
|
||||
is_ground_content = false,
|
||||
sounds = farming.node_sound_leaves_defaults(),
|
||||
minlight = def.minlight,
|
||||
maxlight = def.maxlight,
|
||||
next_plant = next_plant
|
||||
})
|
||||
end
|
||||
|
||||
-- add to farming.registered_plants
|
||||
farming.registered_plants[mname .. ":" .. pname] = {
|
||||
crop = mname .. ":" .. pname,
|
||||
seed = mname .. ":seed_" .. pname,
|
||||
steps = def.steps,
|
||||
minlight = def.minlight,
|
||||
maxlight = def.maxlight
|
||||
}
|
||||
-- print(dump(farming.registered_plants[mname .. ":" .. pname]))
|
||||
|
||||
return {seed = mname .. ":seed_" .. pname, harvest = mname .. ":" .. pname}
|
||||
end
|
||||
|
||||
-- default settings
|
||||
|
||||
farming.asparagus = 0.002
|
||||
farming.eggplant = 0.002
|
||||
farming.spinach = 0.002
|
||||
farming.carrot = 0.002
|
||||
farming.potato = 0.002
|
||||
farming.tomato = 0.002
|
||||
farming.cucumber = 0.002
|
||||
farming.corn = 0.002
|
||||
farming.coffee = 0.002
|
||||
farming.melon = 0.009
|
||||
farming.pumpkin = 0.009
|
||||
farming.cocoa = true
|
||||
farming.raspberry = 0.002
|
||||
farming.blueberry = 0.002
|
||||
farming.rhubarb = 0.002
|
||||
farming.beans = 0.002
|
||||
farming.grapes = 0.002
|
||||
farming.barley = true
|
||||
farming.chili = 0.003
|
||||
farming.hemp = 0.003
|
||||
farming.garlic = 0.002
|
||||
farming.onion = 0.002
|
||||
farming.pepper = 0.002
|
||||
farming.pineapple = 0.003
|
||||
farming.peas = 0.002
|
||||
farming.beetroot = 0.002
|
||||
farming.mint = 0.005
|
||||
farming.cabbage = 0.002
|
||||
farming.blackberry = 0.002
|
||||
farming.soy = 0.002
|
||||
farming.vanilla = 0.002
|
||||
farming.lettuce = 0.002
|
||||
farming.artichoke = 0.002
|
||||
farming.parsley = 0.002
|
||||
farming.sunflower = 0.002
|
||||
farming.ginger = 0.002
|
||||
farming.strawberry = 0.002
|
||||
farming.cotton = 0.003
|
||||
farming.grains = true
|
||||
farming.rice = true
|
||||
|
||||
-- Load new global settings if found inside mod folder
|
||||
|
||||
local input = io.open(farming.path .. "/farming.conf", "r")
|
||||
|
||||
if input then dofile(farming.path .. "/farming.conf") ; input:close() end
|
||||
|
||||
-- load new world-specific settings if found inside world folder
|
||||
|
||||
local worldpath = core.get_worldpath()
|
||||
|
||||
input = io.open(worldpath .. "/farming.conf", "r")
|
||||
|
||||
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, ftype)
|
||||
|
||||
local def = core.registered_items[item]
|
||||
|
||||
if def then
|
||||
|
||||
local groups = table.copy(def.groups) or {}
|
||||
|
||||
groups.eatable = hp ; groups.flammable = 2 ; groups.food = ftype or 2
|
||||
|
||||
core.override_item(item, {groups = groups})
|
||||
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")
|
||||
end
|
||||
|
||||
dofile(farming.path .. "/hoes.lua")
|
||||
dofile(farming.path .. "/grass.lua")
|
||||
|
||||
-- disable crops Mineclone already has
|
||||
|
||||
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
|
||||
|
||||
local function ddoo(file, check)
|
||||
|
||||
if check then dofile(farming.path .. "/crops/" .. file) end
|
||||
end
|
||||
|
||||
-- add additional crops and food (if enabled)
|
||||
ddoo("carrot.lua", farming.carrot)
|
||||
ddoo("potato.lua", farming.potato)
|
||||
ddoo("tomato.lua", farming.tomato)
|
||||
ddoo("cucumber.lua", farming.cucumber)
|
||||
ddoo("corn.lua", farming.corn)
|
||||
ddoo("coffee.lua", farming.coffee)
|
||||
ddoo("melon.lua", farming.melon)
|
||||
ddoo("pumpkin.lua", farming.pumpkin)
|
||||
ddoo("cocoa.lua", farming.cocoa)
|
||||
ddoo("raspberry.lua", farming.raspberry)
|
||||
ddoo("blueberry.lua", farming.blueberry)
|
||||
ddoo("rhubarb.lua", farming.rhubarb)
|
||||
ddoo("beans.lua", farming.beans)
|
||||
ddoo("grapes.lua", farming.grapes)
|
||||
ddoo("barley.lua", farming.barley)
|
||||
ddoo("hemp.lua", farming.hemp)
|
||||
ddoo("garlic.lua", farming.garlic)
|
||||
ddoo("onion.lua", farming.onion)
|
||||
ddoo("pepper.lua", farming.pepper)
|
||||
ddoo("pineapple.lua", farming.pineapple)
|
||||
ddoo("peas.lua", farming.peas)
|
||||
ddoo("beetroot.lua", farming.beetroot)
|
||||
ddoo("chili.lua", farming.chili)
|
||||
ddoo("rye_oat.lua", farming.grains)
|
||||
ddoo("rice.lua", farming.rice)
|
||||
ddoo("mint.lua", farming.mint)
|
||||
ddoo("cabbage.lua", farming.cabbage)
|
||||
ddoo("blackberry.lua", farming.blackberry)
|
||||
ddoo("soy.lua", farming.soy)
|
||||
ddoo("vanilla.lua", farming.vanilla)
|
||||
ddoo("lettuce.lua", farming.lettuce)
|
||||
ddoo("artichoke.lua", farming.artichoke)
|
||||
ddoo("parsley.lua", farming.parsley)
|
||||
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)
|
||||
|
||||
-- register food items, non-food items, recipes and stairs
|
||||
|
||||
dofile(farming.path .. "/item_non_food.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")
|
||||
@@ -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
|
||||
@@ -0,0 +1,312 @@
|
||||
|
||||
local S = core.get_translator("farming")
|
||||
|
||||
-- water floorb
|
||||
|
||||
core.register_craftitem("farming:water_floorb", {
|
||||
description = S("Water Floorb"),
|
||||
inventory_image = "farming_water_floorb.png",
|
||||
groups = {flammable = 1}
|
||||
})
|
||||
|
||||
-- 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, rope = 1
|
||||
},
|
||||
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
|
||||
@@ -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
|
||||
@@ -0,0 +1,246 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2016 TenPlus1
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
|
||||
License of media (textures):
|
||||
----------------------------
|
||||
|
||||
Created by TenPlus1 (CC0):
|
||||
alt_textures/ethereal_strawberry*.png
|
||||
farming_spanish_potatoes.png
|
||||
|
||||
Created by SkyBuilder1717 (CC BY-SA 4.0):
|
||||
farming_mixing_bowl.png
|
||||
farming_pot.png [edited]
|
||||
farming_saucepan.png [edited]
|
||||
|
||||
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):
|
||||
farming_bread.png
|
||||
farming_soil.png
|
||||
farming_soil_wet.png
|
||||
farming_soil_wet_side.png
|
||||
farming_string.png
|
||||
|
||||
Created by Napiophelios (CC BY-SA 3.0):
|
||||
farming_cotton.png
|
||||
|
||||
Created by Calinou (License: CC BY-SA):
|
||||
farming_tool_bronzehoe.png
|
||||
farming_tool_steelhoe.png
|
||||
farming_tool_stonehoe.png
|
||||
farming_tool_woodhoe.png
|
||||
farming_tool_mesehoe.png
|
||||
farming_tool_diamondhoe.png
|
||||
|
||||
Created by VanessaE (License: CC BY 3.0):
|
||||
farming_cotton_seed.png
|
||||
farming_wheat_seed.png
|
||||
farming_flour.png
|
||||
farming_wheat.png
|
||||
farming_wheat_1.png
|
||||
farming_wheat_2.png
|
||||
farming_wheat_3.png
|
||||
farming_wheat_4.png
|
||||
farming_wheat_5.png
|
||||
farming_wheat_5.png
|
||||
farming_wheat_7.png
|
||||
farming_wheat_8.png
|
||||
farming_cotton_1.png
|
||||
farming_cotton_2.png
|
||||
farming_cotton_3.png
|
||||
farming_cotton_4.png
|
||||
farming_cotton_5.png
|
||||
farming_cotton_6.png
|
||||
farming_cotton_7.png
|
||||
farming_cotton_8.png
|
||||
|
||||
Created by alerikaisattera (License: CC-BY-SA 4.0)
|
||||
farming_melon_top.png
|
||||
farming_melon_side.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):
|
||||
farming_cucumber.png
|
||||
farming_cucumber_1.png
|
||||
farming_cucumber_2.png
|
||||
farming_cucumber_3.png
|
||||
farming_cucumber_4.png
|
||||
farming_potato.png
|
||||
farming_potato_1.png
|
||||
farming_potato_2.png
|
||||
farming_potato_3.png
|
||||
farming_potato_4.png
|
||||
farming_raspberries.png
|
||||
farming_raspberry_1.png
|
||||
farming_raspberry_2.png
|
||||
farming_raspberry_3.png
|
||||
farming_raspberry_4.png
|
||||
|
||||
Created by Gambit (License: CC BY 3.0):
|
||||
default_junglegrass.png
|
||||
farming_carrot.png
|
||||
farming_carrot_1.png
|
||||
farming_carrot_2.png
|
||||
farming_carrot_3.png
|
||||
farming_carrot_4.png
|
||||
farming_carrot_5.png
|
||||
farming_carrot_6.png
|
||||
farming_carrot_7.png
|
||||
farming_carrot_8.png
|
||||
|
||||
Created by JoseTheCrafter and edited by TenPlus1 (CC BY 3.0):
|
||||
farming_tomato.png
|
||||
farming_tomato_1.png
|
||||
farming_tomato_2.png
|
||||
farming_tomato_3.png
|
||||
farming_tomato_4.png
|
||||
farming_tomato_5.png
|
||||
farming_tomato_6.png
|
||||
farming_tomato_7.png
|
||||
farming_tomato_8.png
|
||||
|
||||
Created by GeMinecraft and edited by TenPlus1 (CC BY 3.0):
|
||||
farming_corn.png
|
||||
farming_corn_cob.png
|
||||
farming_corn_1.png
|
||||
farming_corn_2.png
|
||||
farming_corn_3.png
|
||||
farming_corn_4.png
|
||||
farming_corn_5.png
|
||||
farming_corn_6.png
|
||||
farming_corn_7.png
|
||||
farming_corn_8.png
|
||||
|
||||
Created by TenPlus1 (CC BY 3.0)
|
||||
farming_cocoa_1.png
|
||||
farming_cocoa_2.png
|
||||
farming_cocoa_3.png
|
||||
farming_cocoa_beans.png
|
||||
farming_raspberry_smoothie.png
|
||||
farming_rhubarb_1.png
|
||||
farming_rhubarb_2.png
|
||||
farming_rhubarb_3.png
|
||||
farming_rhubarb.png
|
||||
farming_hemp*.png
|
||||
farming_tofu*.png
|
||||
farming_gingerbread_man.png
|
||||
|
||||
Created by ademant (CC-BY-3.0)
|
||||
farming_rye*.png
|
||||
farming_oat*.png
|
||||
farming_rice*.png
|
||||
|
||||
Created by PilzAdam and edited by SpaghettiToastBook (CC0):
|
||||
farming_bread_multigrain.png
|
||||
|
||||
Created by VanessaE and edited by SpaghettiToastBook (CC0):
|
||||
farming_flour_multigrain.png
|
||||
|
||||
Created by mDiyo (Natura), modified by TenPlus1 (License: CC BY-SA 3.0):
|
||||
farming_barley.png
|
||||
|
||||
Created by OgelGames (CC BY-SA 4.0):
|
||||
farming_berry_smoothie.png
|
||||
farming_cactus_juice.png
|
||||
farming_salad.png
|
||||
|
||||
Created by Huhues Ross (CC BY-SA 4.0):
|
||||
farming_sunflower_bread.png
|
||||
|
||||
Created by Felfa (CC0)
|
||||
farming_blackberry*.png
|
||||
farming_lettuce*.png
|
||||
farming_soy*.png
|
||||
farming_vanilla_*.png
|
||||
farming_artichoke*.png
|
||||
farming_parsley*.png
|
||||
farming_paella*.png
|
||||
farming_potato_omelette.png
|
||||
farming_spanish_potatoes_32px.png
|
||||
farming_vanilla_flan_32px.png
|
||||
farming_sunflower*.png [except sunflower_bread.png]
|
||||
farming_mayo*.png
|
||||
|
||||
Created by gorlock (CC0)
|
||||
farming_salt_crystal.png
|
||||
|
||||
Created by sirrobzeroone (CC0)
|
||||
farming_gyoza.png
|
||||
farming_pineapple_ring.png
|
||||
|
||||
Created by smoke_th (CC0 - https://opengameart.org/content/popcorn-icon)
|
||||
farming_popcorn_32px.png
|
||||
farming_popcorn.png [resized and edited by TenPlus1]
|
||||
|
||||
Created by DMBuce (MIT - https://github.com/DMBuce/hatchling-snacks)
|
||||
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*
|
||||
@@ -0,0 +1,189 @@
|
||||
# textdomain: farming
|
||||
Banana=Banan
|
||||
Banana Leaves=Bananblade
|
||||
Orange=Appelsin
|
||||
Artichoke=Artiskok
|
||||
Crop=Afgrøde
|
||||
Asparagus=Asparges
|
||||
Barley Seed=Bygkorn
|
||||
Barley=Byg
|
||||
Green Beans=Grønne bønner
|
||||
Bean Pole (place on soil before planting beans)=Bønnestang (placer på jord før bønner plantes)
|
||||
Beetroot=Rødbede
|
||||
Blackberries=Brombær
|
||||
Blackberry=Brombær
|
||||
Wild Blueberries=Vilde blåbær
|
||||
Blueberry=Blåbær
|
||||
Cabbage=Kål
|
||||
Carrot=Gulerod
|
||||
Chili Pepper=Chili
|
||||
Raw Cocoa Beans=Rå kakaobønner
|
||||
Cocoa Beans=Kakaobønner
|
||||
Coffee Beans=Kaffebønner
|
||||
Coffee=Kaffe
|
||||
Corn=Majs
|
||||
Cotton Seed=Bomuldsfrø
|
||||
Cotton=Bomuld
|
||||
Wild Cotton=Vild bomuld
|
||||
Cucumber=Agurk
|
||||
Eggplant=Aubergine
|
||||
Garlic clove=Hvidløgsfed
|
||||
Garlic=Hvidløg
|
||||
Ginger=Ingefær
|
||||
Grapes=Druer
|
||||
Trellis (place on soil before planting grapes)=Espalier (placer på jord før druer plantes)
|
||||
Hemp Seed=Hampfrø
|
||||
Hemp Leaf=Hampblad
|
||||
Hemp=Hamp
|
||||
Lettuce=Salat
|
||||
Melon Slice=Melonskive
|
||||
Melon=Melon
|
||||
Mint Seeds=Myntefrø
|
||||
Mint Leaf=Mynteblad
|
||||
Mint=Mynte
|
||||
Onion=Løg
|
||||
Parsley=Persille
|
||||
Pea Pod=Ærteskæl
|
||||
Pea=Ært
|
||||
Peppercorn=Peberkorn
|
||||
Green Pepper=Grøn peberfrugt
|
||||
Yellow Pepper=Gul peberfrugt
|
||||
Red Pepper=Rød peberfrugt
|
||||
Pepper=Peberfrugt
|
||||
Pineapple Top=Ananas-top
|
||||
Pineapple=Ananas
|
||||
Potato=Kartoffel
|
||||
Pumpkin Slice=Græskarstykke
|
||||
Pumpkin=Græskar
|
||||
Raspberries=Hindbær
|
||||
Raspberry=Hindbær
|
||||
Rhubarb=Rabarber
|
||||
Rice Seed=Riskorn
|
||||
Rice=Ris
|
||||
Rye seed=Rugforn
|
||||
Rye=Rug
|
||||
Oat seed=Havrekorn
|
||||
Oats=Havre
|
||||
Soy Pod=Sojabælg
|
||||
Soy=Soya
|
||||
Spinach=Spinat
|
||||
Strawberry=Jordbær
|
||||
Sunflower Seeds=Solsikkefrø
|
||||
Sunflower=Solsikke
|
||||
Tomato=Tomat
|
||||
Vanilla=Vanilje
|
||||
Wheat Seed=Hvedekorn
|
||||
Wheat=Hvede
|
||||
Hoe=Hakke
|
||||
Wooden Hoe=Træhakke
|
||||
Stone Hoe=Stenhakke
|
||||
Steel Hoe=Stålhakke
|
||||
Bronze Hoe=Bronzehakke
|
||||
Mese Hoe=Mesehakke
|
||||
Diamond Hoe=Diamanthakke
|
||||
Wood Hoe=Træhakke
|
||||
Hoe Bomb (use or throw on grassy areas to hoe land)=Hakke-bombe (brug eller kast på græsarealer for at hakke jord)
|
||||
Mithril Scythe (Use to harvest and replant crops)=Mithril-le (brug til at høste og genplante afgrøder)
|
||||
Seed=Frø
|
||||
Flour=Mel
|
||||
Garlic Braid=Hvidløgsfletning
|
||||
Corn on the Cob=Majskolbe
|
||||
Popcorn=Popcorn
|
||||
Cornstarch=Majsstivelse
|
||||
Cup of Coffee=Kop kaffe
|
||||
Bar of Dark Chocolate=Plade mørk chokolade
|
||||
Chocolate Block=Chokoladeblok
|
||||
Bowl of Chili=Chiliret
|
||||
Chili Powder=Chilipulver
|
||||
Carrot Juice=Gulerodssaft
|
||||
Blueberry Pie=Blåbærkage
|
||||
Blueberry Muffin=Blåbærmuffin
|
||||
Tomato Soup=Tomatsuppe
|
||||
Sliced Bread=Skåret brød
|
||||
Toast=Ristet brød
|
||||
Toast Sandwich=Toast
|
||||
Glass of Water=Glas vand
|
||||
Sugar Cube=Sukkertop
|
||||
Caramel=Karamel
|
||||
Salt=Salt
|
||||
Salt crystal=Saltkrystal
|
||||
Mayonnaise=Mayonnaise
|
||||
Rose Water=Rosenvand
|
||||
Turkish Delight=Tyrkisk delight
|
||||
Garlic Bread=Hvidløgsbrød
|
||||
Donut=Donut
|
||||
Chocolate Donut=Chokoladedonut
|
||||
Apple Donut=Æbledonut
|
||||
Porridge=Grød
|
||||
Jaffa Cake= Jaffakage
|
||||
Apple Pie=Æblekage
|
||||
Cactus Juice=Kaktussaft
|
||||
Pasta=Pasta
|
||||
Mac & Cheese=Macaroni med ost
|
||||
Spaghetti=Spaghetti
|
||||
Bibimbap=Bibimbap
|
||||
Burger=Burger
|
||||
Salad=Salat
|
||||
Triple Berry Smoothie=Trebærsmoothie
|
||||
Spanish Potatoes=Spanske kartofler
|
||||
Potato omelette=Kartoflomelet
|
||||
Paella=Paella
|
||||
Vanilla Flan=Vaniljecreme
|
||||
Vegan Cheese=Vegansk ost
|
||||
Vegan Butter=Vegansk smør
|
||||
Onigiri=Onigiri
|
||||
Gyoza=Gyoza
|
||||
Mochi=Mochi
|
||||
Gingerbread Man=Peberkagemand
|
||||
Mint Tea=Myntete
|
||||
Onion Soup=Løgsuppe
|
||||
Pea Soup=Ærtesuppe
|
||||
Ground Pepper=Kværnet peber
|
||||
Pineapple Ring=Ananasskive
|
||||
Pineapple Juice=Ananassaft
|
||||
Cucumber and Potato Salad=Agurk- og kartoflsalat
|
||||
Pumpkin Dough=Græskardej
|
||||
Pumpkin Bread=Græskarbrød
|
||||
Raspberry Smoothie=Hindbærsmoothie
|
||||
Rhubarb Pie=Rabarberkage
|
||||
Rice Flour=Rismel
|
||||
Rice Bread=Risbrød
|
||||
Multigrain Flour=Flerkornsmel
|
||||
Multigrain Bread=Flerkornsbrød
|
||||
Soy Sauce=Sojasovs
|
||||
Soy Milk=Soyamælk
|
||||
Tofu=Tofu
|
||||
Cooked Tofu=Tilberedt tofu
|
||||
Toasted Sunflower Seeds=Ristede solsikkefrø
|
||||
Bottle of Sunflower Oil=Flaske solsikkeolie
|
||||
Sunflower Seed Bread=Solsikkefrøbrød
|
||||
Vanilla Extract=Vaniljeekstrakt
|
||||
Jerusalem Artichokes=Jordskokker
|
||||
Bread=Brød
|
||||
Cookie=Småkage
|
||||
Golden Carrot=Gylden gulerod
|
||||
Beetroot Soup=Rødbedesuppe
|
||||
Sugar=Sukker
|
||||
Baked Potato=Bagt kartoffel
|
||||
Saucepan=Gryde
|
||||
Cooking Pot=Kogegrej
|
||||
Baking Tray=Bageplade
|
||||
Skillet=Stegepande
|
||||
Mortar and Pestle=Morter og stødder
|
||||
Cutting Board=Skærebræt
|
||||
Juicer=Juicer
|
||||
Glass Mixing Bowl=Glasskål
|
||||
Bottle of Ethanol=Flaske ethanol
|
||||
Straw=Strå
|
||||
Bottle of Hemp Oil=Flaske hampolie
|
||||
Hemp Fibre=Hampfiber
|
||||
Hemp Block=Hampblok
|
||||
Hemp Rope=Hampreb
|
||||
Scarecrow Bottom=Fugleskræmselsunderskab
|
||||
Wooden Bowl=Træskål
|
||||
String=Snor
|
||||
Jack 'O Lantern (punch to turn on and off)=Halloween-græskar (bank for at tænde/slukke)
|
||||
Savanna Soil=Savannejord
|
||||
Wet Savanna Soil=Fugtig savannejord
|
||||
Soil=Jord
|
||||
Wet Soil=Fugtig jord
|
||||
@@ -0,0 +1,189 @@
|
||||
# textdomain: farming
|
||||
Banana=Banane
|
||||
Banana Leaves=Bananenblätter
|
||||
Orange=Orange
|
||||
Artichoke=Artischocke
|
||||
Crop=-Pflanze
|
||||
Asparagus=Spargel
|
||||
Barley Seed=Gerstensamen
|
||||
Barley=Gerste
|
||||
Green Beans=Grüne Bohnen
|
||||
Bean Pole (place on soil before planting beans)=Bohnenstange (vor dem Pflanzen der Bohnen auf den@nAckerboden stellen)
|
||||
Beetroot=Rote Beete
|
||||
Blackberries=Brombeeren
|
||||
Blackberry=Brombeere
|
||||
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 Leaf=Hanfblatt
|
||||
Hemp=Hanf
|
||||
Lettuce=Kopfsalat
|
||||
Melon Slice=Melonenscheibe
|
||||
Melon=Melone
|
||||
Mint Seeds=Minzsamen
|
||||
Mint Leaf=Minzblatt
|
||||
Mint=Minze
|
||||
Onion=Zwiebel
|
||||
Parsley=Petersilie
|
||||
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
|
||||
Oats=Hafer
|
||||
Soy Pod=Sojaschote
|
||||
Soy=Soja
|
||||
Spinach=Spinat
|
||||
Strawberry=Erdbeere
|
||||
Sunflower Seeds=Sonnenblumensamen
|
||||
Sunflower=Sonnenblume
|
||||
Tomato=Tomate
|
||||
Vanilla=Vanille
|
||||
Wheat Seed=Weizensamen
|
||||
Wheat=Weizen
|
||||
Hoe=Hacke
|
||||
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
|
||||
@@ -0,0 +1,186 @@
|
||||
# textdomain: farming
|
||||
Crop=
|
||||
Artichoke=
|
||||
Asparagus=
|
||||
Barley Seed=
|
||||
Barley=
|
||||
Green Beans=
|
||||
Bean Pole (place on soil before planting beans)=
|
||||
Beetroot=
|
||||
Beetroot Soup=
|
||||
Blackberry=
|
||||
Blackberries=
|
||||
Wild Blueberries=
|
||||
Blueberry=
|
||||
Blueberry Muffin=
|
||||
Blueberry Pie=
|
||||
Cabbage=
|
||||
Carrot=
|
||||
Carrot Juice=
|
||||
Golden Carrot=
|
||||
Chili Pepper=
|
||||
Bowl of Chili=
|
||||
Chili Powder=
|
||||
Raw Cocoa Beans=
|
||||
Cocoa Beans=
|
||||
Cookie=
|
||||
Bar of Dark Chocolate=
|
||||
Chocolate Block=
|
||||
Coffee=
|
||||
Coffee Beans=
|
||||
Cup of Coffee=
|
||||
Banana=
|
||||
Banana Leaves=
|
||||
Orange=
|
||||
Corn=
|
||||
Corn on the Cob=
|
||||
Popcorn=
|
||||
Cornstarch=
|
||||
Bottle of Ethanol=
|
||||
Wild Cotton=
|
||||
Cotton Seed=
|
||||
Cotton=
|
||||
String=
|
||||
Cucumber=
|
||||
Eggplant=
|
||||
Glass of Water=
|
||||
Sugar=
|
||||
Sugar Cube=
|
||||
Caramel=
|
||||
Salt=
|
||||
Mayonnaise=
|
||||
Rose Water=
|
||||
Turkish Delight=
|
||||
Garlic Bread=
|
||||
Donut=
|
||||
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 Braid=
|
||||
Ginger=
|
||||
Grapes=
|
||||
Trellis (place on soil before planting grapes)=
|
||||
Hemp=
|
||||
Hemp Seed=
|
||||
Hemp Leaf=
|
||||
Bottle of Hemp Oil=
|
||||
Hemp Fibre=
|
||||
Hemp Block=
|
||||
Hemp Rope=
|
||||
Hoe=
|
||||
Wooden Hoe=
|
||||
Stone Hoe=
|
||||
Steel Hoe=
|
||||
Bronze Hoe=
|
||||
Mese Hoe=
|
||||
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 Leaf=
|
||||
Mint Tea=
|
||||
Onion=
|
||||
Onion Soup=
|
||||
Parsley=
|
||||
Pea=
|
||||
Pea Pod=
|
||||
Pea Soup=
|
||||
Pepper=
|
||||
Peppercorn=
|
||||
Green Pepper=
|
||||
Yellow Pepper=
|
||||
Red 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=
|
||||
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=
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -0,0 +1,177 @@
|
||||
# textdomain: farming
|
||||
Banana=Banane
|
||||
Banana Leaves=Feuilles de banane
|
||||
Orange=Orange
|
||||
Artichoke=Artichaut
|
||||
Asparagus=Asperge
|
||||
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)
|
||||
Beetroot=Betterave
|
||||
Beetroot Soup=Soupe de betterave
|
||||
Blackberries=Mûres
|
||||
Wild Blueberries=Myrtilles sauvages
|
||||
Blueberry Muffin=Muffin aux myrtilles
|
||||
Blueberry Pie=Tarte aux myrtilles
|
||||
Cabbage=Chou
|
||||
Carrot=Carotte
|
||||
Carrot Juice=Jus de carotte
|
||||
Golden Carrot=Carotte dorée
|
||||
Chili Pepper=Piment fort
|
||||
Bowl of Chili=Bol de chilli
|
||||
Chili Powder=Poudre de piment
|
||||
Raw Cocoa Beans=Fèves de cacao brutes
|
||||
Cocoa Beans=Fèves de cacao
|
||||
Cookie=Biscuit
|
||||
Bar of Dark Chocolate=Tablette de chocolat noir
|
||||
Chocolate Block=Bloc de chocolat
|
||||
Coffee Beans=Grains de café
|
||||
Cup of Coffee=Tasse de café
|
||||
Corn=Maïs
|
||||
Corn on the Cob=Cobette (maïs cuit)
|
||||
Popcorn=Popcorn
|
||||
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 Braid=Ail tressé
|
||||
Ginger=Gingembre
|
||||
Grapes=Raisins
|
||||
Trellis (place on soil before planting grapes)=Treillis (placer sur le sol avant de planter la vigne)
|
||||
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
|
||||
Lettuce=Laitue
|
||||
Melon Slice=Tranche de melon
|
||||
Melon=Melon
|
||||
Mint Seeds=Graine de menthe
|
||||
Mint Leaf=Feuille de menthe
|
||||
Mint Tea=Thé à la menthe
|
||||
Onion=Oignon
|
||||
Onion Soup=Soupe à l'oignon
|
||||
Parsley=Persil
|
||||
Pea Pod=Cosse de petit-pois
|
||||
Pea Soup=Soupe de petit-pois
|
||||
Peppercorn=Grain de poivre
|
||||
Green Pepper=Poivron vert
|
||||
Yellow Pepper=Poivron jaune
|
||||
Red Pepper=Poivron rouge
|
||||
Ground Pepper=Poivre moulu
|
||||
Pineapple Top=Pousse d'ananas
|
||||
Pineapple=Ananas
|
||||
Pineapple Ring=Tranche d'ananas
|
||||
Pineapple Juice=Jus d'ananas
|
||||
Potato=Pomme de terre
|
||||
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 Dough=Pâton de pain à la citrouille
|
||||
Pumpkin=Citrouille
|
||||
Raspberries=Framboises
|
||||
Raspberry Smoothie=Smoothie aux framboises
|
||||
Rhubarb=Rhubarbe
|
||||
Rhubarb Pie=Tarte à la rhubarbe
|
||||
Rice Seed=Riz
|
||||
Rice=Riz
|
||||
Rice Bread=Pain de riz
|
||||
Rice Flour=Farine de riz
|
||||
Rye seed=Grains de seigle
|
||||
Rye=Seigle
|
||||
Oat seed=Grains d'avoine
|
||||
Oats=Avoine
|
||||
Multigrain Flour=Farine multi-céréales
|
||||
Multigrain Bread=Pain aux céréales
|
||||
Soy Pod=Cosse de soja
|
||||
Soy Sauce=Sauce de soja
|
||||
Soy Milk=Lait de soja
|
||||
Tofu=Tofu
|
||||
Cooked Tofu=Tofu cuit
|
||||
Spinach=Épinard
|
||||
Strawberry=Fraise
|
||||
Sunflower=Tournesol
|
||||
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 Sandwich=Sandwich au pain grillé
|
||||
Glass of Water=Verre d'eau
|
||||
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
|
||||
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"
|
||||
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
|
||||
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
|
||||
@@ -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
|
||||
@@ -0,0 +1,176 @@
|
||||
# textdomain: farming
|
||||
Artichoke=
|
||||
Asparagus=
|
||||
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)
|
||||
Beetroot=Barbabietola
|
||||
Beetroot Soup=Zuppa di barbabietola
|
||||
Blackberries=
|
||||
Wild Blueberries=Mirtilli Selvatici
|
||||
Blueberry Muffin=Focaccina di mirtilli
|
||||
Blueberry Pie=Tortino di mirtilli
|
||||
Cabbage=
|
||||
Carrot=Carota
|
||||
Carrot Juice=Succo di carota
|
||||
Golden Carrot=Carota d'oro
|
||||
Chili Pepper=Peperoncino
|
||||
Bowl of Chili=Ciotola di peperoncino
|
||||
Chili Powder=
|
||||
Raw Cocoa Beans=
|
||||
Cocoa Beans=Chicchi di cacao
|
||||
Cookie=Biscotto
|
||||
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 on the Cob=Pannocchia arrostita
|
||||
Popcorn=
|
||||
Cornstarch=Amido di mais
|
||||
Bottle of Ethanol=Bottiglia di alcol etilico
|
||||
Wild Cotton=
|
||||
Cotton Seed=Seme di cotone
|
||||
Cotton=Cotone
|
||||
String=Filo
|
||||
Cucumber=Cetriolo
|
||||
Eggplant=
|
||||
Glass of Water=
|
||||
Sugar=Zucchero
|
||||
Sugar Cube=
|
||||
Caramel=
|
||||
Salt=Sale
|
||||
Mayonnaise=
|
||||
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
|
||||
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 Braid=Treccia d'aglio
|
||||
Ginger=
|
||||
Grapes=Chicchi d'uva
|
||||
Trellis (place on soil before planting grapes)=Graticcio (mettilo sul terreno coltivabile prima di piantare i chicchi d'uva)
|
||||
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
|
||||
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
|
||||
Wood Hoe=
|
||||
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 (Use to harvest and replant crops)=
|
||||
Seed=Seme
|
||||
Lettuce=
|
||||
Melon Slice=Fetta d'anguria
|
||||
Melon=Anguria
|
||||
Mint Seeds=
|
||||
Mint Leaf=
|
||||
Mint Tea=
|
||||
Onion=Cipolla
|
||||
Onion Soup=
|
||||
Parsley=
|
||||
Pea Pod=Baccello di piselli
|
||||
Pea Soup=Zuppa di piselli
|
||||
Peppercorn=Grano di pepe
|
||||
Green Pepper=
|
||||
Yellow Pepper=
|
||||
Red Pepper=
|
||||
Ground Pepper=Pepe macinato
|
||||
Pineapple Top=Cima d'ananas
|
||||
Pineapple=Ananas
|
||||
Pineapple Ring=Anello d'ananas
|
||||
Pineapple Juice=Succo d'ananas
|
||||
Potato=Patata
|
||||
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 Dough=Pasta di zucca
|
||||
Pumpkin=Zucca
|
||||
Raspberries=Lamponi
|
||||
Raspberry Smoothie=Purea di lamponi
|
||||
Rhubarb=Rabarbaro
|
||||
Rhubarb Pie=Tortino al rabarbaro
|
||||
Rice Seed=
|
||||
Rice=Riso
|
||||
Rice Bread=Pane di riso
|
||||
Rice Flour=Farina di riso
|
||||
Rye seed=Seme di segale
|
||||
Rye=Segale
|
||||
Oat seed=Seme d'avena
|
||||
Oats=
|
||||
Multigrain Flour=Farina multicereale
|
||||
Multigrain Bread=Pane multicereale
|
||||
Savanna Soil=
|
||||
Wet Savanna Soil=
|
||||
Soil=Terreno coltivabile
|
||||
Wet Soil=Terreno coltivabile bagnato
|
||||
Soy Pod=
|
||||
Soy Sauce=
|
||||
Soy Milk=
|
||||
Tofu=
|
||||
Cooked Tofu=
|
||||
Spinach=
|
||||
Strawberry=Fragola
|
||||
Sunflower=
|
||||
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 Sandwich=Panino di pane tostato
|
||||
@@ -0,0 +1,186 @@
|
||||
# textdomain: farming
|
||||
Crop=Roślina
|
||||
Artichoke=Karczhoch
|
||||
Asparagus=Szparag
|
||||
Barley Seed=Nasiona Jęczmienia
|
||||
Barley=Jęczmień
|
||||
Green Beans=Fasola
|
||||
Bean Pole (place on soil before planting beans)=Tyczka Fasolowa (postaw na glebie prrzed zasadzeniem fasoli)
|
||||
Beetroot=Burak
|
||||
Beetroot Soup=Barszcz
|
||||
Blackberry=Jeżyna
|
||||
Blackberries=Jeżyny
|
||||
Wild Blueberries=Dzikie borówki
|
||||
Blueberry=Borówka
|
||||
Blueberry Muffin=Muffinka Borówkowa
|
||||
Blueberry Pie=Ciasto Borówkowe
|
||||
Cabbage=Kapusta
|
||||
Carrot=Marchewka
|
||||
Carrot Juice=Sok Marchewkowy
|
||||
Golden Carrot=Złota Marchewka
|
||||
Chili Pepper=Papryka Chili
|
||||
Bowl of Chili=Miska Chili
|
||||
Chili Powder=Chili W Proszku
|
||||
Raw Cocoa Beans=Surowe Ziarna Kakao
|
||||
Cocoa Beans=Ziarna Kakao
|
||||
Cookie=Ciastko
|
||||
Bar of Dark Chocolate=Tabliczka Czarnej Czekolady
|
||||
Chocolate Block=Blok Czekolady
|
||||
Coffee=Kawa
|
||||
Coffee Beans=Ziarna Kawy
|
||||
Cup of Coffee=Filiżanka Kawy
|
||||
Banana=Banan
|
||||
Banana Leaves=Liście Bananowca
|
||||
Orange=Pomarańcza
|
||||
Corn=Kukurydza
|
||||
Corn on the Cob=Pieczona Kukurydza
|
||||
Popcorn=Popcorn
|
||||
Cornstarch=Skrobia Kukurydziana
|
||||
Bottle of Ethanol=Butelka Etanolu
|
||||
Wild Cotton=Dzika Bawełna
|
||||
Cotton Seed=Nasiona Bawełny
|
||||
Cotton=Bawełna
|
||||
String=Nić
|
||||
Cucumber=Ogórek
|
||||
Eggplant=Bakłażan
|
||||
Glass of Water=Szklanka wody
|
||||
Sugar=Cukier
|
||||
Sugar Cube=Kostka Cukru
|
||||
Caramel=Karmel
|
||||
Salt=Sól
|
||||
Mayonnaise=Majonez
|
||||
Rose Water=Woda różana
|
||||
Turkish Delight=Rachatłukum
|
||||
Garlic Bread=Chleb Czosnkowy
|
||||
Donut=Pączek
|
||||
Chocolate Donut=Czekoladowy Pączek
|
||||
Apple Donut=Jabłkowy Pączek
|
||||
Porridge=Owsianka
|
||||
Jaffa Cake=Ciastko Z Dżemem Pomarańczowym
|
||||
Apple Pie=Ciasto Jabłkowe
|
||||
Cactus Juice=Sok Kaktusowy
|
||||
Pasta=Makaron
|
||||
Mac & Cheese=Makaron Z Serem
|
||||
Spaghetti=Spaghetti
|
||||
Bibimbap=Bibimbap
|
||||
Burger=Burger
|
||||
Salad=Sałatka
|
||||
Triple Berry Smoothie=Koktajl Jagodowy
|
||||
Spanish Potatoes=Ziemniaki Po Hiszpańsku
|
||||
Potato omelet=Omlet Z Ziemniakami
|
||||
Paella=Paella
|
||||
Vanilla Flan=Flan Waniliowy
|
||||
Vegan Cheese=Wegański Ser
|
||||
Onigiri=Onigiri
|
||||
Gyoza=Gyoza
|
||||
Mochi=Mochi
|
||||
Gingerbread Man=Piernikowy Ludzik
|
||||
Garlic clove=Ząbek Czosnku
|
||||
Garlic=Czosnek
|
||||
Garlic Braid=Warkocz Czosnku
|
||||
Ginger=Imbir
|
||||
Grapes=Winogrona
|
||||
Trellis (place on soil before planting grapes)=Trelaż (postaw na glebie przed posadzeniem winogron)
|
||||
Hemp=Konopia
|
||||
Hemp Seed=Nasiono Konopii
|
||||
Hemp Leaf=Liść Konopii
|
||||
Bottle of Hemp Oil=Butelka Oleju Konopnego
|
||||
Hemp Fibre=Włókno Konopne
|
||||
Hemp Block=Blok Konopii
|
||||
Hemp Rope=Lina Konopna
|
||||
Hoe=Motyka
|
||||
Wooden Hoe=Drewniana Motyka
|
||||
Stone Hoe=Kamienna Motyka
|
||||
Steel Hoe=Stalowa Motyka
|
||||
Bronze Hoe=Brązowa Motyka
|
||||
Mese Hoe=Mesowa Motyka
|
||||
Diamond Hoe=Diamentowa Motyka
|
||||
Wood Hoe=Drewniana Motyka
|
||||
Hoe Bomb (use or throw on grassy areas to hoe land)=Motykowa Bomba (użyj lub rzuć na trawie, aby spulchniać glebę)
|
||||
Mithril Scythe (Use to harvest and replant crops)=Mithrilowa Kosa (Użyj, aby zbierać i na nowo siać rośliny)
|
||||
Seed=Nasiono
|
||||
Lettuce=Sałata
|
||||
Melon Slice=Kawałek Arbuza
|
||||
Melon=Arbuz
|
||||
Mint=Mięta
|
||||
Mint Seeds=Nasiona Mięty
|
||||
Mint Leaf=Liść Mięty
|
||||
Mint Tea=Liść Herbaty
|
||||
Onion=Cebula
|
||||
Onion Soup=Zupa Cebulowa
|
||||
Parsley=Pietruszka
|
||||
Pea=Groszek
|
||||
Pea Pod=Strąk Groszku
|
||||
Pea Soup=Zupa Crochowa
|
||||
Pepper=Papryka
|
||||
Peppercorn=Ziarna Pieprzu
|
||||
Green Pepper=Zielona Papryka
|
||||
Yellow Pepper=Zółta Papryka
|
||||
Red Pepper=Czerwona Papryka
|
||||
Ground Pepper=Pieprz Mielony
|
||||
Pineapple Top=Piętka Ananasa
|
||||
Pineapple=Ananas
|
||||
Pineapple Ring=Kawałek Ananasa
|
||||
Pineapple Juice=Sok Ananasowy
|
||||
Potato=Ziemniak
|
||||
Baked Potato=Pieczony Ziemniak
|
||||
Cucumber and Potato Salad=Sałatka Ziemniaczana
|
||||
Pumpkin Slice=Kawałek Dyni
|
||||
Jack 'O Lantern (punch to turn on and off)= Latarnia Z Dyni (uderz, aby włączyć lub wyłączyć)
|
||||
Scarecrow Bottom=tułów Stracha Na Wróble
|
||||
Pumpkin Bread=Chleb Dyniowy
|
||||
Pumpkin Dough=Ciasto Dyniowe
|
||||
Pumpkin=Dynia
|
||||
Raspberry=Malina
|
||||
Raspberries=Maliny
|
||||
Raspberry Smoothie=Koktajl Malinowy
|
||||
Rhubarb=Rabarbar
|
||||
Rhubarb Pie=Cisto Rabarbarowe
|
||||
Rice Seed=Nasiona Ryżu
|
||||
Rice=Ryż
|
||||
Rice Bread=Chleb Ryżowy
|
||||
Rice Flour=Mąka Ryżowa
|
||||
Rye seed=Nasiona Żyta
|
||||
Rye=Żyto
|
||||
Oat seed=Nasiona Owsa
|
||||
Oats=Owies
|
||||
Multigrain Flour=Mąka Wielozbożowa
|
||||
Multigrain Bread=Chleb Wielozbożowy
|
||||
Savanna Soil=Sawannowa Gleba
|
||||
Wet Savanna Soil=Wilgotna Sawannowa Gleba
|
||||
Soil=Gleba
|
||||
Wet Soil=Wilgotna Gleba
|
||||
Soy=Soja
|
||||
Soy Pod=Strąk Soi
|
||||
Soy Sauce=Sos Sojowy
|
||||
Soy Milk=Mleko Sojowe
|
||||
Tofu=Tofu
|
||||
Cooked Tofu=Pieczone Tofu
|
||||
Spinach=Szpinak
|
||||
Strawberry=Truskawka
|
||||
Sunflower=Słonecznik
|
||||
Sunflower Seeds=Ziarna Słonecznika
|
||||
Toasted Sunflower Seeds=Piecone Nasiona Słonecznika
|
||||
Bottle of Sunflower Oil=Butelka Oleju Słonecznikowego
|
||||
Sunflower Seed Bread=Chleb Z Ziarnami Słonecznika
|
||||
Tomato=Pomidor
|
||||
Tomato Soup=Zupa Pomidorowa
|
||||
Wooden Bowl=Drewniana Miska
|
||||
Saucepan=Patelnia
|
||||
Cooking Pot=Garnek
|
||||
Baking Tray=Blacha Do Pieczenia
|
||||
Skillet=Rondel
|
||||
Mortar and Pestle=Moździerz I Tłuczek
|
||||
Cutting Board=Deska Do Krojenia
|
||||
Juicer=Wyciskarka Do Soku
|
||||
Glass Mixing Bowl=Miska Do Mieszania
|
||||
Vanilla=Wanilia
|
||||
Vanilla Extract=Ekstrakt Z Wanilii
|
||||
Wheat Seed=Nasiono Pszenicy
|
||||
Wheat=Pszenica
|
||||
Straw=Siano
|
||||
Flour=Mąka
|
||||
Bread=Chleb
|
||||
Sliced Bread=Kromka Chleba
|
||||
Toast=Tost
|
||||
Toast Sandwich=Kanapka Tostowa
|
||||
@@ -0,0 +1,176 @@
|
||||
# textdomain: farming
|
||||
Artichoke=
|
||||
Asparagus=
|
||||
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)
|
||||
Beetroot=
|
||||
Beetroot Soup=
|
||||
Blackberries=
|
||||
Wild Blueberries=Mirtilos Selvagens
|
||||
Blueberry Muffin=Muffin de Mirtilos
|
||||
Blueberry Pie=
|
||||
Cabbage=
|
||||
Carrot=Cenoura
|
||||
Carrot Juice=
|
||||
Golden Carrot=Cenoura Dourada
|
||||
Chili Pepper=
|
||||
Bowl of Chili=
|
||||
Chili Powder=
|
||||
Raw Cocoa Beans=
|
||||
Cocoa Beans=Amendoas de Cacau
|
||||
Cookie=Cookie
|
||||
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 on the Cob=Espiga de Milho
|
||||
Popcorn=
|
||||
Cornstarch=
|
||||
Bottle of Ethanol=Garrafa de Etanol
|
||||
Wild Cotton=
|
||||
Cotton Seed=Sementes de Algodao
|
||||
Cotton=Algodao
|
||||
String=
|
||||
Cucumber=Pepino
|
||||
Eggplant=
|
||||
Glass of Water=
|
||||
Sugar=Açucar
|
||||
Sugar Cube=
|
||||
Caramel=
|
||||
Salt=
|
||||
Mayonnaise=
|
||||
Rose Water=
|
||||
Turkish Delight=
|
||||
Garlic Bread=
|
||||
Donut=Donut
|
||||
Chocolate Donut=Donut de Chocolate
|
||||
Apple Donut=Donut de Maça
|
||||
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 Braid=
|
||||
Ginger=
|
||||
Grapes=Uvas
|
||||
Trellis (place on soil before planting grapes)=Grade de Ripas (colocar no solo antes de plantar uvas)
|
||||
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
|
||||
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
|
||||
Wood Hoe=
|
||||
Hoe Bomb (use or throw on grassy areas to hoe land)=
|
||||
Mithril Scythe (Use to harvest and replant crops)=
|
||||
Seed=Sementes
|
||||
Lettuce=
|
||||
Melon Slice=Sementes de Melancia
|
||||
Melon=Melancia
|
||||
Mint Seeds=
|
||||
Mint Leaf=
|
||||
Mint Tea=
|
||||
Onion=
|
||||
Onion Soup=
|
||||
Parsley=
|
||||
Pea Pod=
|
||||
Pea Soup=
|
||||
Peppercorn=
|
||||
Green Pepper=
|
||||
Yellow Pepper=
|
||||
Red Pepper=
|
||||
Ground Pepper=
|
||||
Pineapple Top=
|
||||
Pineapple=
|
||||
Pineapple Ring=
|
||||
Pineapple Juice=
|
||||
Potato=Batata
|
||||
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 Dough=Massa de Abobora
|
||||
Pumpkin=Abobora
|
||||
Raspberries=Framboesa
|
||||
Raspberry Smoothie=Batida de Framboesa
|
||||
Rhubarb=Ruibarbo
|
||||
Rhubarb Pie=Torta de Ruibarbo
|
||||
Rice Seed=
|
||||
Rice=
|
||||
Rice Bread=
|
||||
Rice Flour=
|
||||
Rye seed=
|
||||
Rye=
|
||||
Oat seed=
|
||||
Oats=
|
||||
Multigrain Flour=
|
||||
Multigrain Bread=
|
||||
Savanna Soil=
|
||||
Wet Savanna Soil=
|
||||
Soil=Solo
|
||||
Wet Soil=Solo Seco
|
||||
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=Trigo
|
||||
Straw=Palha
|
||||
Flour=Farinha
|
||||
Bread=Pao
|
||||
Sliced Bread=
|
||||
Toast=
|
||||
Toast Sandwich=
|
||||
@@ -0,0 +1,186 @@
|
||||
# textdomain: farming
|
||||
Crop=.
|
||||
Artichoke=Артишок
|
||||
Asparagus=Спаржа
|
||||
Barley Seed=Семена ячменя
|
||||
Barley=Ячмень
|
||||
Green Beans=Зеленая фасоль
|
||||
Bean Pole (place on soil before planting beans)=Жердь для бобовых (установите на почву перед посадкой бобовых)
|
||||
Beetroot=Свекла
|
||||
Beetroot Soup=Борщ
|
||||
Blackberry=Ежевика
|
||||
Blackberries=Ежевика
|
||||
Wild Blueberries=Голубика
|
||||
Blueberry=Голубика
|
||||
Blueberry Muffin=Кекс с голубикой
|
||||
Blueberry Pie=Пирог с голубикой
|
||||
Cabbage=Капуста
|
||||
Carrot=Морковь
|
||||
Carrot Juice=Морковный сок
|
||||
Golden Carrot=Золотая морковь
|
||||
Chili Pepper=Перец чили
|
||||
Bowl of Chili=Миска чили
|
||||
Chili Powder=Порошок чили
|
||||
Raw Cocoa Beans=Сырые какао-бобы
|
||||
Cocoa Beans=Какао-бобы
|
||||
Cookie=Печенье
|
||||
Bar of Dark Chocolate=Плитка темного шоколада
|
||||
Chocolate Block=Шоколадный блок
|
||||
Coffee=Кофе
|
||||
Coffee Beans=Кофейные зерна
|
||||
Cup of Coffee=Чашка кофе
|
||||
Banana=Банан
|
||||
Banana Leaves=Листья банана
|
||||
Orange=Апельсин
|
||||
Corn=Кукуруза
|
||||
Corn on the Cob=Початок кукурузы
|
||||
Popcorn=Попкорн
|
||||
Cornstarch=Кукурузный крахмал
|
||||
Bottle of Ethanol=Бутылка спирта
|
||||
Wild Cotton=Дикорастущий хлопок
|
||||
Cotton Seed=Семена хлопка
|
||||
Cotton=Хлопок
|
||||
String=Нить
|
||||
Cucumber=Огурец
|
||||
Eggplant=Баклажан
|
||||
Glass of Water=Стакан воды
|
||||
Sugar=Сахар
|
||||
Sugar Cube=Кусочек сахара
|
||||
Caramel=Карамель
|
||||
Salt=Соль
|
||||
Mayonnaise=Майонез
|
||||
Rose Water=Розовая вода
|
||||
Turkish Delight=Рахат-лукум
|
||||
Garlic Bread=Чесночный хлеб
|
||||
Donut=Пончик
|
||||
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 Braid=Связка чеснока
|
||||
Ginger=Имбирь
|
||||
Grapes=Виноград
|
||||
Trellis (place on soil before planting grapes)=Решетка (поставьте на почву перед посадкой винограда)
|
||||
Hemp=Конопля
|
||||
Hemp Seed=Семена конопли
|
||||
Hemp Leaf=Лист конопли
|
||||
Bottle of Hemp Oil=Бутылка конопляного масла
|
||||
Hemp Fibre=Конопляное волокно
|
||||
Hemp Block=Блок конопли
|
||||
Hemp Rope=Пеньковая веревка
|
||||
Hoe=Мотыга
|
||||
Wooden Hoe=Деревянная мотыга
|
||||
Stone Hoe=Каменная мотыга
|
||||
Steel Hoe=Стальная мотыга
|
||||
Bronze Hoe=Бронзовая мотыга
|
||||
Mese Hoe=Магическая мотыга
|
||||
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 Leaf=Лист мяты
|
||||
Mint Tea=Чай с мятой
|
||||
Onion=Лук
|
||||
Onion Soup=Луковый суп
|
||||
Parsley=Петрушка
|
||||
Pea=Горох
|
||||
Pea Pod=Стручок гороха
|
||||
Pea Soup=Гороховый суп
|
||||
Pepper=Перец
|
||||
Peppercorn=Перчинка
|
||||
Green Pepper=Зеленый перец
|
||||
Yellow Pepper=Желтый перец
|
||||
Red 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=Тыква
|
||||
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=Сэндвич
|
||||
@@ -0,0 +1,193 @@
|
||||
# textdomain: farming
|
||||
Crop=植株
|
||||
Artichoke=洋蓟
|
||||
Asparagus=芦笋
|
||||
Barley Seed=大麦种子
|
||||
Barley=大麦
|
||||
Green Beans=青豆
|
||||
Bean Pole (place on soil before planting beans)=豆杆(种豆前先放在土上)
|
||||
Beetroot=甜菜根
|
||||
Beetroot Soup=甜菜根汤
|
||||
Blackberry=黑莓
|
||||
Blackberries=黑莓
|
||||
Blueberry=蓝莓
|
||||
Wild Blueberries=蓝莓
|
||||
Blueberry Muffin=蓝莓松糕
|
||||
Blueberry Pie=蓝莓派
|
||||
Cabbage=包菜
|
||||
Carrot=胡萝卜
|
||||
Carrot Juice=胡萝卜汁
|
||||
Golden Carrot=金胡萝卜
|
||||
Chili Pepper=辣椒
|
||||
Bowl of Chili=辣椒炒饭
|
||||
Chili Powder=辣椒面
|
||||
Raw Cocoa Beans=生可可豆
|
||||
Cocoa Beans=可可豆
|
||||
Cookie=曲奇
|
||||
Bar of Dark Chocolate=黑巧克力条
|
||||
Chocolate Block=巧克力块
|
||||
Coffee=咖啡
|
||||
Coffee Beans=咖啡豆
|
||||
Cup of Coffee=一杯咖啡
|
||||
Banana=香蕉
|
||||
Banana Leaves=香蕉叶
|
||||
Orange=橙子
|
||||
Corn=玉米
|
||||
Corn on the Cob=玉米棒
|
||||
Popcorn=爆米花
|
||||
Cornstarch=玉米淀粉
|
||||
Bottle of Ethanol=一瓶乙醇
|
||||
Wild Cotton=野生棉花
|
||||
Cotton Seed=棉籽
|
||||
Cotton=棉花
|
||||
String=线
|
||||
Cucumber=黄瓜
|
||||
Eggplant=茄子
|
||||
Glass of Water=一杯水
|
||||
Sugar=糖
|
||||
Sugar Cube=方糖
|
||||
Caramel=焦糖
|
||||
Salt=盐
|
||||
Mayonnaise=蛋黄酱
|
||||
Rose Water=玫瑰水
|
||||
Turkish Delight=土耳其软糖
|
||||
Garlic Bread=蒜香面包
|
||||
Donut=甜甜圈
|
||||
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=土豆煎蛋饼
|
||||
Potato omelette=土豆煎蛋饼
|
||||
Paella=西班牙什锦饭
|
||||
Vanilla Flan=香草布丁
|
||||
Vegan Cheese=植物奶酪
|
||||
Onigiri=饭团
|
||||
Gyoza=煎饺
|
||||
Mochi=麻薯
|
||||
Gingerbread Man=姜饼人
|
||||
Garlic clove=蒜瓣
|
||||
Garlic=大蒜
|
||||
Garlic Braid=蒜辫
|
||||
Ginger=姜
|
||||
Grapes=葡萄
|
||||
Trellis (place on soil before planting grapes)=棚架(种植葡萄前先放在土壤上)
|
||||
Hemp=大麻
|
||||
Hemp Seed=大麻籽
|
||||
Hemp Leaf=大麻叶
|
||||
Bottle of Hemp Oil=一瓶大麻油
|
||||
Hemp Fibre=大麻纤维
|
||||
Hemp Block=麻块
|
||||
Hemp Rope=麻绳
|
||||
Hoe=锄头
|
||||
Wooden Hoe=木锄
|
||||
Stone Hoe=石锄
|
||||
Steel Hoe=钢锄
|
||||
Bronze Hoe=青铜锄
|
||||
Mese Hoe=黄石锄
|
||||
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 Leaf=薄荷叶
|
||||
Mint Tea=薄荷茶
|
||||
Onion=洋葱
|
||||
Onion Soup=洋葱汤
|
||||
Parsley=欧芹
|
||||
Pea=豌豆
|
||||
Pea Pod=豌豆荚
|
||||
Pea Soup=豌豆汤
|
||||
Pepper=胡椒
|
||||
Peppercorn=胡椒粒
|
||||
Green Pepper=青椒
|
||||
Yellow Pepper=黄椒
|
||||
Red 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=南瓜
|
||||
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=三明治面包
|
||||
Salt crystal=盐晶
|
||||
Vegan Butter=植物黄油
|
||||
# Jerusalem Artichoke(洋姜) is an ingredient, but in the game it refers to a dish.
|
||||
Jerusalem Artichokes=
|
||||
Weed=杂草
|
||||
Weed Bale=杂草捆
|
||||
@@ -0,0 +1,176 @@
|
||||
# textdomain: farming
|
||||
Artichoke=
|
||||
Asparagus=
|
||||
Barley Seed=大麥種子
|
||||
Barley=大麥
|
||||
Green Beans=青豆
|
||||
Bean Pole (place on soil before planting beans)=豆杆(種豆前先放在土上)
|
||||
Beetroot=甜菜根
|
||||
Beetroot Soup=甜菜根湯
|
||||
Blackberries=
|
||||
Wild Blueberries=藍莓
|
||||
Blueberry Muffin=藍莓鬆糕
|
||||
Blueberry Pie=藍莓派
|
||||
Cabbage=
|
||||
Carrot=胡蘿蔔
|
||||
Carrot Juice=胡蘿蔔汁
|
||||
Golden Carrot=金蘿蔔
|
||||
Chili Pepper=辣椒
|
||||
Bowl of Chili=一碗辣椒
|
||||
Chili Powder=
|
||||
Raw Cocoa Beans=
|
||||
Cocoa Beans=可可豆
|
||||
Cookie=曲奇
|
||||
Bar of Dark Chocolate=黑巧克力條
|
||||
Chocolate Block=巧克力塊
|
||||
Coffee Beans=咖啡豆
|
||||
Cup of Coffee=一杯咖啡
|
||||
Banana=香蕉
|
||||
Banana Leaves=香蕉葉
|
||||
Orange=橙色
|
||||
Corn=玉米
|
||||
Corn on the Cob=玉米棒
|
||||
Popcorn=
|
||||
Cornstarch=玉米澱粉
|
||||
Bottle of Ethanol=一瓶乙醇
|
||||
Wild Cotton=
|
||||
Cotton Seed=棉籽
|
||||
Cotton=棉花
|
||||
String=字符串
|
||||
Cucumber=黃瓜
|
||||
Eggplant=
|
||||
Glass of Water=
|
||||
Sugar=糖
|
||||
Sugar Cube=
|
||||
Caramel=
|
||||
Salt=鹽
|
||||
Mayonnaise=
|
||||
Rose Water=玫瑰汁
|
||||
Turkish Delight=土耳其軟糖
|
||||
Garlic Bread=蒜香麵包
|
||||
Donut=甜甜圈
|
||||
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 Braid=蒜辮
|
||||
Ginger=
|
||||
Grapes=葡萄
|
||||
Trellis (place on soil before planting grapes)=棚架(種植葡萄前先放在土壤上)
|
||||
Hemp Seed=大麻籽
|
||||
Hemp Leaf=大麻葉
|
||||
Bottle of Hemp Oil=一瓶大麻油
|
||||
Hemp Fibre=大麻纖維
|
||||
Hemp Block=麻塊
|
||||
Hemp Rope=麻繩
|
||||
Hoe=鋤頭
|
||||
Wooden Hoe=木鋤
|
||||
Stone Hoe=石鋤
|
||||
Steel Hoe=鋼鋤頭
|
||||
Bronze Hoe=青銅鋤頭
|
||||
Mese Hoe=黃石鋤頭
|
||||
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 Seeds=
|
||||
Mint Leaf=
|
||||
Mint Tea=
|
||||
Onion=洋蔥
|
||||
Onion Soup=
|
||||
Parsley=
|
||||
Pea Pod=豌豆莢
|
||||
Pea Soup=豌豆湯
|
||||
Peppercorn=胡椒粉
|
||||
Green Pepper=
|
||||
Yellow Pepper=
|
||||
Red 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=大黃派
|
||||
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 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=三明治麵包
|
||||
@@ -0,0 +1,125 @@
|
||||
|
||||
local mcl = farming.mcl
|
||||
|
||||
-- add lucky blocks
|
||||
|
||||
lucky_block:add_blocks({
|
||||
|
||||
{"dro", {"farming:corn"}, 5},
|
||||
{"dro", {"farming:coffee_cup_hot"}, 1},
|
||||
{"dro", {(mcl and "mcl_farming:bread" or "farming:bread")}, 5},
|
||||
{"nod", (mcl and "mcl_farming:pumpkin_face_light" or "farming:jackolantern"), 0},
|
||||
{"tro", (mcl and "mcl_farming:pumpkin_face_light" or "farming:jackolantern_on")},
|
||||
{"nod", (mcl and "mcl_core:water_source" or "default:river_water_source"), 1},
|
||||
{"tel"},
|
||||
{"dro", {"farming:trellis", "farming:grapes"}, 5},
|
||||
{"dro", {"farming:bottle_ethanol"}, 1},
|
||||
{"nod", (mcl and "mcl_farming:melon" or "farming:melon"), 0},
|
||||
{"dro", {"farming:donut", "farming:donut_chocolate", "farming:donut_apple"}, 5},
|
||||
{"dro", {"farming:hemp_leaf", "farming:hemp_fibre", "farming:seed_hemp"}, 10},
|
||||
{"nod", (mcl and "mcl_fire:fire" or "fire:permanent_flame"), 1},
|
||||
{"dro", {"farming:chili_pepper", "farming:chili_bowl"}, 5},
|
||||
{"dro", {(mcl and "mcl_core:bowl" or "farming:bowl")}, 3},
|
||||
{"dro", {"farming:saucepan"}, 1},
|
||||
{"dro", {"farming:pot"}, 1},
|
||||
{"dro", {"farming:baking_tray"}, 1},
|
||||
{"dro", {"farming:skillet"}, 1},
|
||||
{"exp", 4},
|
||||
{"dro", {"farming:mortar_pestle"}, 1},
|
||||
{"dro", {"farming:cutting_board"}, 1},
|
||||
{"dro", {"farming:juicer"}, 1},
|
||||
{"dro", {"farming:mixing_bowl"}, 1},
|
||||
{"dro", {"farming:sunflower_oil"}, 5},
|
||||
{"dro", {(mcl and "mcl_farming:hoe_stone" or "farming:hoe_bronze")}, 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:turkish_delight"}, 5},
|
||||
{"lig"},
|
||||
{"dro", {(mcl and "mcl_farming:hoe_netherite" or "farming:scythe_mithril")}, 1},
|
||||
{"sch", "instafarm", 0, true, {
|
||||
{"farming:wheat_8", "farming:carrot_8"},
|
||||
{"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, {
|
||||
{"farming:wheat_8", "farming:pepper_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, {
|
||||
{"farming:wheat_8", (mcl and "mcl_farming:beetroot" or "farming:beetroot_5")},
|
||||
{"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, {
|
||||
{"farming:wheat_8", "farming:corn_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, {
|
||||
{"farming:wheat_8", "farming:pea_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, {
|
||||
{"farming:wheat_8", "farming:raspberry_4"},
|
||||
{"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, {
|
||||
{"farming:wheat_8", "farming:chili_8"},
|
||||
{"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")},
|
||||
}},
|
||||
{"sch", "instafarm", 0, true, {
|
||||
{"farming:wheat_8", "farming:parsley_3"},
|
||||
{"farming:cotton_8", "farming:mint_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:soy_7"},
|
||||
{"farming:cotton_8", "farming:ginger_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:river_water_source")},
|
||||
}},
|
||||
{"nod", "default:chest", 0, {
|
||||
{name = (mcl and "mcl_farming:wheat_seeds" or "farming:seed_wheat"), max = 15},
|
||||
{name = "farming:seed_barley", max = 15},
|
||||
{name = "farming:seed_hemp", max = 15},
|
||||
{name = "farming:seed_rye", max = 15},
|
||||
{name = "farming:seed_rice", max = 15},
|
||||
{name = "farming:seed_oat", max = 15},
|
||||
{name = "farming:soil_wet", max = 10},
|
||||
{name = "farming:cotton_wild", max = 5},
|
||||
{name = "farming:grapebush", max = 5},
|
||||
{name = "farming:asparagus", max = 7}
|
||||
}},
|
||||
{"dro", {"farming:chili_powder"}, 5},
|
||||
{"dro", {"farming:weed"}, 9},
|
||||
})
|
||||
@@ -0,0 +1,4 @@
|
||||
name = farming
|
||||
description = Adds many new plants and food into Minetest.
|
||||
optional_depends = default, flowers, mcl_core, mcl_sounds, mcl_farming, mcl_stairs, mcl_flowers, stairs, lucky_block, toolranks
|
||||
min_minetest_version = 5.0
|
||||
|
After Width: | Height: | Size: 293 KiB |
@@ -0,0 +1,8 @@
|
||||
# Contains a value used for speed of crop growth in seconds
|
||||
farming_stage_length (Farming Stage Length) float 160.0
|
||||
|
||||
farming_use_utensils (Use utensil recipes) bool true
|
||||
|
||||
farming_disable_weeds (Disable Weed growth) bool false
|
||||
|
||||
farming_floodable_crops (Crops will drop when flooded) bool false
|
||||
@@ -0,0 +1,218 @@
|
||||
|
||||
local S = core.get_translator("farming")
|
||||
local get_node = core.get_node
|
||||
|
||||
-- default dry soil node
|
||||
|
||||
local dry_soil = "farming:soil"
|
||||
|
||||
-- add soil types to existing dirt blocks
|
||||
|
||||
core.override_item("default:dirt", {
|
||||
soil = {
|
||||
base = "default:dirt", dry = "farming:soil", wet = "farming:soil_wet"
|
||||
}
|
||||
})
|
||||
|
||||
core.override_item("default:dirt_with_grass", {
|
||||
soil = {
|
||||
base = "default:dirt_with_grass", dry = "farming:soil", wet = "farming:soil_wet"
|
||||
}
|
||||
})
|
||||
|
||||
if core.registered_nodes["default:dirt_with_dry_grass"] then
|
||||
|
||||
core.override_item("default:dirt_with_dry_grass", {
|
||||
soil = {
|
||||
base = "default:dirt_with_dry_grass", dry = "farming:soil",
|
||||
wet = "farming:soil_wet"
|
||||
}
|
||||
})
|
||||
end
|
||||
|
||||
core.override_item("default:dirt_with_rainforest_litter", {
|
||||
soil = {
|
||||
base = "default:dirt_with_rainforest_litter", dry = "farming:soil",
|
||||
wet = "farming:soil_wet"
|
||||
}
|
||||
})
|
||||
|
||||
if core.registered_nodes["default:dirt_with_coniferous_litter"] then
|
||||
|
||||
core.override_item("default:dirt_with_coniferous_litter", {
|
||||
soil = {
|
||||
base = "default:dirt_with_coniferous_litter", dry = "farming:soil",
|
||||
wet = "farming:soil_wet"
|
||||
}
|
||||
})
|
||||
end
|
||||
|
||||
-- savanna soil
|
||||
|
||||
if core.registered_nodes["default:dry_dirt"] then
|
||||
|
||||
core.override_item("default:dry_dirt", {
|
||||
soil = {
|
||||
base = "default:dry_dirt", dry = "farming:dry_soil",
|
||||
wet = "farming:dry_soil_wet"
|
||||
}
|
||||
})
|
||||
|
||||
core.override_item("default:dry_dirt_with_dry_grass", {
|
||||
soil = {
|
||||
base = "default:dry_dirt_with_dry_grass", dry = "farming:dry_soil",
|
||||
wet = "farming:dry_soil_wet"
|
||||
}
|
||||
})
|
||||
|
||||
core.register_node("farming:dry_soil", {
|
||||
description = S("Savanna Soil"),
|
||||
tiles = {
|
||||
"default_dry_dirt.png^farming_soil.png",
|
||||
"default_dry_dirt.png"
|
||||
},
|
||||
drop = "default:dry_dirt",
|
||||
groups = {crumbly = 3, not_in_creative_inventory = 1, soil = 2, grassland = 1,
|
||||
field = 1},
|
||||
is_ground_content = false,
|
||||
sounds = default.node_sound_dirt_defaults(),
|
||||
soil = {
|
||||
base = "default:dry_dirt", dry = "farming:dry_soil",
|
||||
wet = "farming:dry_soil_wet"
|
||||
}
|
||||
})
|
||||
|
||||
core.register_node("farming:dry_soil_wet", {
|
||||
description = S("Wet Savanna Soil"),
|
||||
tiles = {
|
||||
"default_dry_dirt.png^farming_soil_wet.png",
|
||||
"default_dry_dirt.png^farming_soil_wet_side.png"
|
||||
},
|
||||
drop = "default:dry_dirt",
|
||||
groups = {crumbly = 3, not_in_creative_inventory = 1, soil = 3, grassland = 1,
|
||||
field = 1},
|
||||
is_ground_content = false,
|
||||
sounds = default.node_sound_dirt_defaults(),
|
||||
soil = {
|
||||
base = "default:dry_dirt", dry = "farming:dry_soil",
|
||||
wet = "farming:dry_soil_wet"
|
||||
}
|
||||
})
|
||||
|
||||
dry_soil = "farming:dry_soil"
|
||||
end
|
||||
|
||||
-- normal soil
|
||||
|
||||
core.register_node("farming:soil", {
|
||||
description = S("Soil"),
|
||||
tiles = {"default_dirt.png^farming_soil.png", "default_dirt.png"},
|
||||
drop = "default:dirt",
|
||||
groups = {crumbly = 3, not_in_creative_inventory = 1, soil = 2, grassland = 1,
|
||||
field = 1},
|
||||
is_ground_content = false,
|
||||
sounds = default.node_sound_dirt_defaults(),
|
||||
soil = {
|
||||
base = "default:dirt", dry = "farming:soil", wet = "farming:soil_wet"
|
||||
}
|
||||
})
|
||||
|
||||
-- wet soil
|
||||
|
||||
core.register_node("farming:soil_wet", {
|
||||
description = S("Wet Soil"),
|
||||
tiles = {
|
||||
"default_dirt.png^farming_soil_wet.png",
|
||||
"default_dirt.png^farming_soil_wet_side.png"
|
||||
},
|
||||
drop = "default:dirt",
|
||||
groups = {crumbly = 3, not_in_creative_inventory = 1, soil = 3, grassland = 1,
|
||||
field = 1},
|
||||
is_ground_content = false,
|
||||
sounds = default.node_sound_dirt_defaults(),
|
||||
soil = {
|
||||
base = "default:dirt", dry = "farming:soil", wet = "farming:soil_wet"
|
||||
}
|
||||
})
|
||||
|
||||
-- sand is not soil, change existing sand-soil to use dry soil
|
||||
|
||||
core.register_alias("farming:desert_sand_soil", dry_soil)
|
||||
core.register_alias("farming:desert_sand_soil_wet", dry_soil .. "_wet")
|
||||
|
||||
-- if water near soil then change to wet soil
|
||||
|
||||
core.register_abm({
|
||||
label = "Soil changes",
|
||||
nodenames = {"group:field"},
|
||||
interval = 15,
|
||||
chance = 4,
|
||||
catch_up = false,
|
||||
|
||||
action = function(pos, node)
|
||||
|
||||
local ndef = core.registered_nodes[node.name]
|
||||
if not ndef or not ndef.soil or not ndef.soil.wet
|
||||
or not ndef.soil.base or not ndef.soil.dry then return end
|
||||
|
||||
local nn = get_node({x = pos.x, y = pos.y + 1, z = pos.z}).name
|
||||
|
||||
-- what's on top of soil, if solid/not plant change soil to dirt
|
||||
if core.registered_nodes[nn]
|
||||
and core.registered_nodes[nn].walkable
|
||||
and core.get_item_group(nn, "plant") == 0
|
||||
and core.get_item_group(nn, "growing") == 0 then
|
||||
|
||||
core.set_node(pos, {name = ndef.soil.base}) ; return
|
||||
end
|
||||
|
||||
-- check if water is within 3 nodes
|
||||
if core.find_node_near(pos, 3, {"group:water"}) then
|
||||
|
||||
-- only change if it's not already wet soil
|
||||
if node.name ~= ndef.soil.wet then
|
||||
core.set_node(pos, {name = ndef.soil.wet})
|
||||
end
|
||||
|
||||
-- only dry out soil if no unloaded blocks nearby, just incase
|
||||
elseif not core.find_node_near(pos, 3, {"ignore"}) then
|
||||
|
||||
if node.name == ndef.soil.wet then
|
||||
core.set_node(pos, {name = ndef.soil.dry})
|
||||
|
||||
-- if crop or seed found don't turn into base soil
|
||||
elseif node.name == ndef.soil.dry
|
||||
and core.get_item_group(nn, "plant") == 0
|
||||
and core.get_item_group(nn, "growing") == 0 then
|
||||
core.set_node(pos, {name = ndef.soil.base})
|
||||
end
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
-- those darn weeds
|
||||
|
||||
if core.settings:get_bool("farming_disable_weeds") ~= true then
|
||||
|
||||
core.register_abm({
|
||||
nodenames = {"group:field"},
|
||||
neighbors = {"air"},
|
||||
interval = 50,
|
||||
chance = 70,
|
||||
catch_up = false,
|
||||
|
||||
action = function(pos, node)
|
||||
|
||||
if core.find_node_near(pos, 8, {"farming:scarecrow_bottom"}) then
|
||||
return
|
||||
end
|
||||
|
||||
pos.y = pos.y + 1
|
||||
|
||||
if core.get_node(pos).name == "air" then
|
||||
core.set_node(pos, {name = "farming:weed", param2 = 10})
|
||||
end
|
||||
end
|
||||
})
|
||||
end
|
||||
|
||||
@@ -0,0 +1,163 @@
|
||||
|
||||
-- Approximations for erf(x) and erfInv(x) from
|
||||
-- https://en.wikipedia.org/wiki/Error_function
|
||||
|
||||
local statistics = {}
|
||||
local random, floor, ceil = math.random, math.floor, math.ceil
|
||||
local exp, log, sqrt = math.exp, math.log, math.sqrt
|
||||
local ROOT_2 = sqrt(2.0)
|
||||
local A = 8 * (math.pi - 3.0) / (3.0 * math.pi * (4.0 - math.pi))
|
||||
local B = 4.0 / math.pi
|
||||
local C = 2.0 / (math.pi * A)
|
||||
local D = 1.0 / A
|
||||
|
||||
|
||||
local function erf(x)
|
||||
|
||||
if x == 0 then return 0 end
|
||||
|
||||
local xSq = x * x
|
||||
local aXSq = A * xSq
|
||||
local v = sqrt(1.0 - exp(-xSq * (B + aXSq) / (1.0 + aXSq)))
|
||||
|
||||
return (x > 0 and v) or -v
|
||||
end
|
||||
|
||||
|
||||
local function erf_inv(x)
|
||||
|
||||
if x == 0 then return 0 end
|
||||
|
||||
if x <= -1 or x >= 1 then return nil end
|
||||
|
||||
local y = log(1 - x * x)
|
||||
local u = C + 0.5 * y
|
||||
local v = sqrt(sqrt(u * u - D * y) - u)
|
||||
|
||||
return (x > 0 and v) or -v
|
||||
end
|
||||
|
||||
|
||||
local function std_normal(u)
|
||||
return ROOT_2 * erf_inv(2.0 * u - 1.0)
|
||||
end
|
||||
|
||||
|
||||
local function generate_cdf(lambda_index, lambda)
|
||||
|
||||
local max = ceil(4 * lambda)
|
||||
local pdf = exp(-lambda)
|
||||
local cdf = pdf
|
||||
local t = { [0] = pdf }
|
||||
|
||||
for i = 1, max - 1 do
|
||||
pdf = pdf * lambda / i
|
||||
cdf = cdf + pdf
|
||||
t[i] = cdf
|
||||
end
|
||||
|
||||
return t
|
||||
end
|
||||
|
||||
|
||||
local cdf_table = {}
|
||||
|
||||
for li = 1, 100 do
|
||||
cdf_table[li] = generate_cdf(li, 0.25 * li)
|
||||
end
|
||||
|
||||
|
||||
local function poisson(lambda, max)
|
||||
|
||||
if max < 2 then
|
||||
return (random() < exp(-lambda) and 0) or 1
|
||||
elseif lambda >= 2 * max then
|
||||
return max
|
||||
end
|
||||
|
||||
local u = random()
|
||||
local lambda_index = floor(4 * lambda + 0.5)
|
||||
local cdfs = cdf_table[lambda_index]
|
||||
|
||||
if cdfs then
|
||||
|
||||
lambda = 0.25 * lambda_index
|
||||
|
||||
if u < cdfs[0] then return 0 end
|
||||
if max > #cdfs then max = #cdfs + 1 else max = floor(max) end
|
||||
if u >= cdfs[max - 1] then return max end
|
||||
|
||||
if max > 4 then -- Binary search
|
||||
|
||||
local s = 0
|
||||
|
||||
while s + 1 < max do
|
||||
|
||||
local m = floor(0.5 * (s + max))
|
||||
|
||||
if u < cdfs[m] then max = m else s = m end
|
||||
end
|
||||
else
|
||||
for i = 1, max - 1 do
|
||||
if u < cdfs[i] then return i end
|
||||
end
|
||||
end
|
||||
|
||||
return max
|
||||
else
|
||||
local x = lambda + sqrt(lambda) * std_normal(u)
|
||||
|
||||
return (x < 0.5 and 0) or (x >= max - 0.5 and max) or floor(x + 0.5)
|
||||
end
|
||||
end
|
||||
|
||||
-- Error and Inverse error functions
|
||||
|
||||
statistics.erf = erf
|
||||
statistics.erf_inv = erf_inv
|
||||
|
||||
--- Standard normal distribution function (mean 0, standard deviation 1).
|
||||
-- @return - Any real number (actually between -3.0 and 3.0).
|
||||
|
||||
statistics.std_normal = function()
|
||||
|
||||
local u = random()
|
||||
|
||||
if u < 0.001 then return -3.0 elseif u > 0.999 then return 3.0 end
|
||||
|
||||
return std_normal(u)
|
||||
end
|
||||
|
||||
--- Standard normal distribution function (mean 0, standard deviation 1).
|
||||
-- @param mu - The distribution mean.
|
||||
-- @param sigma - The distribution standard deviation.
|
||||
-- @return - Any real number (actually between -3*sigma and 3*sigma).
|
||||
|
||||
statistics.normal = function(mu, sigma)
|
||||
|
||||
local u = random()
|
||||
|
||||
if u < 0.001 then
|
||||
return mu - 3.0 * sigma
|
||||
elseif u > 0.999 then
|
||||
return mu + 3.0 * sigma
|
||||
end
|
||||
|
||||
return mu + sigma * std_normal(u)
|
||||
end
|
||||
|
||||
--- Poisson distribution function.
|
||||
-- @param lambda - The distribution mean and variance.
|
||||
-- @param max - The distribution maximum.
|
||||
-- @return - An integer between 0 and max (both inclusive).
|
||||
|
||||
statistics.poisson = function(lambda, max)
|
||||
|
||||
lambda, max = tonumber(lambda), tonumber(max)
|
||||
|
||||
if not lambda or not max or lambda <= 0 or max < 1 then return 0 end
|
||||
|
||||
return poisson(lambda, max)
|
||||
end
|
||||
|
||||
return statistics
|
||||
|
After Width: | Height: | Size: 526 B |
|
After Width: | Height: | Size: 354 B |
|
After Width: | Height: | Size: 351 B |
|
After Width: | Height: | Size: 305 B |
|
After Width: | Height: | Size: 460 B |