123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- 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 = minetest.LIGHT_MAX -- Maximum light to grow
- }
- Note: Any crops registered with the above function will use the new growing routines, also if crops are manually added with the {growing=1} group they will also grow.
- ### 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)
- -- check surrounding for jungle tree
- if minetest.find_node_near(pos, 1, {"default:jungletree"}) then
- return false -- place next growth stage
- end
- return true -- 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)
|