Upload files to 'mods/farming'
This commit is contained in:
parent
89a903ae6d
commit
a2f5601a6c
|
@ -0,0 +1 @@
|
|||
farming.conf
|
|
@ -0,0 +1,64 @@
|
|||
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
|
||||
|
||||
### 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 = default.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)
|
|
@ -0,0 +1,174 @@
|
|||
|
||||
local S = farming.intllib
|
||||
|
||||
--= Helpers
|
||||
|
||||
local eth = minetest.get_modpath("ethereal")
|
||||
local alias = function(orig, new)
|
||||
minetest.register_alias(orig, new)
|
||||
end
|
||||
|
||||
--= Overrides (add food_* group to apple and brown mushroom)
|
||||
|
||||
minetest.override_item("default:apple", {
|
||||
groups = {food_apple = 1, fleshy = 3, dig_immediate = 3, flammable = 2,
|
||||
leafdecay = 3, leafdecay_drop = 1}
|
||||
})
|
||||
|
||||
if minetest.registered_nodes["flowers:mushroom_brown"] then
|
||||
minetest.override_item("flowers:mushroom_brown", {
|
||||
light_source = 1,
|
||||
groups = {food_mushroom = 1, snappy = 3, attached_node = 1, flammable = 2}
|
||||
})
|
||||
end
|
||||
|
||||
--= 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
|
||||
minetest.register_node(":ethereal:banana", {
|
||||
description = S("Banana"),
|
||||
drawtype = "torchlike",
|
||||
tiles = {"banana_single.png"},
|
||||
inventory_image = "banana_single.png",
|
||||
wield_image = "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, flammable = 2},
|
||||
on_use = minetest.item_eat(2),
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node(":ethereal:bananaleaves", {
|
||||
description = S("Banana Leaves"),
|
||||
tiles = {"banana_leaf.png"},
|
||||
inventory_image = "banana_leaf.png",
|
||||
wield_image = "banana_leaf.png",
|
||||
paramtype = "light",
|
||||
waving = 1,
|
||||
groups = {snappy = 3, leafdecay = 3, leaves = 1, flammable = 2},
|
||||
sounds = default.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
|
||||
minetest.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},
|
||||
on_use = minetest.item_eat(4),
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
})
|
||||
|
||||
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
|
||||
if eth then
|
||||
alias("farming_plus:strawberry_item", "ethereal:strawberry")
|
||||
alias("farming_plus:strawberry_seed", "ethereal:strawberry")
|
||||
alias("farming_plus:strawberry_1", "ethereal:strawberry_1")
|
||||
alias("farming_plus:strawberry_2", "ethereal:strawberry_3")
|
||||
alias("farming_plus:strawberry_3", "ethereal:strawberry_5")
|
||||
alias("farming_plus:strawberry", "ethereal:strawberry_7")
|
||||
else
|
||||
minetest.register_craftitem(":ethereal:strawberry", {
|
||||
description = S("Strawberry"),
|
||||
inventory_image = "strawberry.png",
|
||||
wield_image = "strawberry.png",
|
||||
groups = {food_strawberry = 1, flammable = 2},
|
||||
on_use = minetest.item_eat(1)
|
||||
})
|
||||
|
||||
alias("farming_plus:strawberry_item", "ethereal:strawberry")
|
||||
alias("farming_plus:strawberry_seed", "ethereal:strawberry")
|
||||
alias("farming_plus:strawberry_1", "farming:raspberry_1")
|
||||
alias("farming_plus:strawberry_2", "farming:raspberry_2")
|
||||
alias("farming_plus:strawberry_3", "farming:raspberry_3")
|
||||
alias("farming_plus:strawberry", "farming:raspberry_4")
|
||||
end
|
||||
|
||||
-- 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")
|
||||
|
||||
-- Weed
|
||||
alias("farming:weed", "default:grass_2")
|
|
@ -0,0 +1,5 @@
|
|||
default
|
||||
stairs?
|
||||
intllib?
|
||||
lucky_block?
|
||||
toolranks?
|
|
@ -0,0 +1 @@
|
|||
Adds many plants and food to Minetest
|
Loading…
Reference in New Issue