Convert the modpack into a standalone game for the Minetest engine
Integrated into the game is most of minetest_game as the stable base
This commit is contained in:
committed by
Vanessa Dannenberg
parent
11adf56b75
commit
4394beec6a
121
mods/farming/crops/barley.lua
Normal file
121
mods/farming/crops/barley.lua
Normal file
@@ -0,0 +1,121 @@
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- barley seeds
|
||||
minetest.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 = {seed = 1, snappy = 3, attached_node = 1},
|
||||
paramtype = "light",
|
||||
paramtype2 = "wallmounted",
|
||||
walkable = false,
|
||||
sunlight_propagates = true,
|
||||
selection_box = farming.select,
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:barley_1")
|
||||
end
|
||||
})
|
||||
|
||||
-- harvested barley
|
||||
minetest.register_craftitem("farming:barley", {
|
||||
description = S("Barley"),
|
||||
inventory_image = "farming_barley.png",
|
||||
groups = {food_barley = 1, flammable = 2}
|
||||
})
|
||||
|
||||
-- flour
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "farming:flour",
|
||||
recipe = {
|
||||
"farming:barley", "farming:barley", "farming:barley",
|
||||
"farming:barley", "farming:mortar_pestle"
|
||||
},
|
||||
replacements = {{"group:food_mortar_pestle", "farming:mortar_pestle"}}
|
||||
})
|
||||
|
||||
-- barley definition
|
||||
local def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_barley_1.png"},
|
||||
paramtype = "light",
|
||||
paramtype2 = "meshoptions",
|
||||
place_param2 = 3,
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:barley_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
def.tiles = {"farming_barley_2.png"}
|
||||
minetest.register_node("farming:barley_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
def.tiles = {"farming_barley_3.png"}
|
||||
minetest.register_node("farming:barley_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
def.tiles = {"farming_barley_4.png"}
|
||||
minetest.register_node("farming:barley_4", table.copy(def))
|
||||
|
||||
-- stage 5
|
||||
def.tiles = {"farming_barley_5.png"}
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:barley"}, rarity = 2},
|
||||
{items = {"farming:seed_barley"}, rarity = 2}
|
||||
}
|
||||
}
|
||||
minetest.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 = 1}
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:barley_6", table.copy(def))
|
||||
|
||||
-- stage 7 (final)
|
||||
def.tiles = {"farming_barley_7.png"}
|
||||
def.groups.growing = nil
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:barley"}, rarity = 1},
|
||||
{items = {"farming:barley"}, rarity = 3},
|
||||
{items = {"farming:seed_barley"}, rarity = 1},
|
||||
{items = {"farming:seed_barley"}, rarity = 3}
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:barley_7", 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 = 7
|
||||
}
|
||||
|
||||
-- Fuel
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "farming:barley",
|
||||
burntime = 1
|
||||
})
|
256
mods/farming/crops/beans.lua
Normal file
256
mods/farming/crops/beans.lua
Normal file
@@ -0,0 +1,256 @@
|
||||
--[[
|
||||
All textures by
|
||||
(C) Auke Kok <sofar@foo-projects.org>
|
||||
CC-BY-SA-3.0
|
||||
]]
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- place beans
|
||||
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 = minetest.get_node(pt.under)
|
||||
|
||||
-- return if any of the nodes are not registered
|
||||
if not minetest.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 = minetest.registered_nodes[under.name]
|
||||
if placer and itemstack and def and def.on_rightclick then
|
||||
return def.on_rightclick(pt.under, under, placer, itemstack)
|
||||
end
|
||||
|
||||
-- is player planting crop?
|
||||
local name = placer and placer:get_player_name() or ""
|
||||
|
||||
-- check for protection
|
||||
if minetest.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
|
||||
minetest.set_node(pt.under, {name = plantname})
|
||||
|
||||
minetest.sound_play("default_place_node", {pos = pt.under, gain = 1.0})
|
||||
|
||||
if placer or not farming.is_creative(placer:get_player_name()) then
|
||||
|
||||
itemstack:take_item()
|
||||
|
||||
-- check for refill
|
||||
if itemstack:get_count() == 0 then
|
||||
|
||||
minetest.after(0.20,
|
||||
farming.refill_plant,
|
||||
placer,
|
||||
"farming:beans",
|
||||
placer:get_wield_index()
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
return itemstack
|
||||
end
|
||||
|
||||
-- beans
|
||||
minetest.register_craftitem("farming:beans", {
|
||||
description = S("Green Beans"),
|
||||
inventory_image = "farming_beans.png",
|
||||
groups = {seed = 2, food_beans = 1, flammable = 2},
|
||||
on_use = minetest.item_eat(1),
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return place_beans(itemstack, placer, pointed_thing, "farming:beanpole_1")
|
||||
end
|
||||
})
|
||||
|
||||
-- beans can be used for green dye
|
||||
minetest.register_craft({
|
||||
output = "dye:green",
|
||||
recipe = {
|
||||
{"farming:beans"}
|
||||
}
|
||||
})
|
||||
|
||||
-- beanpole
|
||||
minetest.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 = {snappy = 3, flammable = 2, attached_node = 1},
|
||||
sounds = default.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 = minetest.get_node(pt.under)
|
||||
|
||||
-- return if any of the nodes are not registered
|
||||
if not minetest.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 = minetest.registered_nodes[under.name]
|
||||
if def and def.on_rightclick then
|
||||
return def.on_rightclick(pt.under, under, placer, itemstack)
|
||||
end
|
||||
|
||||
if minetest.is_protected(pt.above, placer:get_player_name()) then
|
||||
return
|
||||
end
|
||||
|
||||
local nodename = under.name
|
||||
|
||||
if minetest.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 = minetest.get_node(top).name
|
||||
|
||||
if nodename ~= "air" then
|
||||
return
|
||||
end
|
||||
|
||||
minetest.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
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:beanpole",
|
||||
recipe = {
|
||||
{"", "", ""},
|
||||
{"default:stick", "", "default:stick"},
|
||||
{"default:stick", "", "default:stick"}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "farming:beanpole",
|
||||
burntime = 10
|
||||
})
|
||||
|
||||
-- green bean definition
|
||||
local def = {
|
||||
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 = {
|
||||
snappy = 3, flammable = 3, not_in_creative_inventory = 1,
|
||||
attached_node = 1, growing = 1, plant = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:beanpole_1", table.copy(def))
|
||||
|
||||
-- stage2
|
||||
def.tiles = {"farming_beanpole_2.png"}
|
||||
minetest.register_node("farming:beanpole_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
def.tiles = {"farming_beanpole_3.png"}
|
||||
minetest.register_node("farming:beanpole_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
def.tiles = {"farming_beanpole_4.png"}
|
||||
minetest.register_node("farming:beanpole_4", table.copy(def))
|
||||
|
||||
-- stage 5 (final)
|
||||
def.tiles = {"farming_beanpole_5.png"}
|
||||
def.groups.growing = nil
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:beanpole"}, rarity = 1},
|
||||
{items = {"farming:beans 3"}, rarity = 1},
|
||||
{items = {"farming:beans 2"}, rarity = 2},
|
||||
{items = {"farming:beans 2"}, rarity = 3}
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:beanpole_5", table.copy(def))
|
||||
|
||||
-- add to registered_plants
|
||||
farming.registered_plants["farming:beans"] = {
|
||||
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)
|
||||
minetest.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 = {
|
||||
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
})
|
92
mods/farming/crops/beetroot.lua
Normal file
92
mods/farming/crops/beetroot.lua
Normal file
@@ -0,0 +1,92 @@
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- beetroot
|
||||
minetest.register_craftitem("farming:beetroot", {
|
||||
description = S("Beetroot"),
|
||||
inventory_image = "farming_beetroot.png",
|
||||
groups = {seed = 2, food_beetroot = 1, flammable = 2},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:beetroot_1")
|
||||
end,
|
||||
on_use = minetest.item_eat(1)
|
||||
})
|
||||
|
||||
-- beetroot soup
|
||||
minetest.register_craftitem("farming:beetroot_soup", {
|
||||
description = S("Beetroot Soup"),
|
||||
inventory_image = "farming_beetroot_soup.png",
|
||||
groups = {flammable = 2},
|
||||
on_use = minetest.item_eat(6, "farming:bowl")
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "farming:beetroot_soup",
|
||||
recipe = {
|
||||
"group:food_beetroot", "group:food_beetroot",
|
||||
"group:food_beetroot", "group:food_beetroot",
|
||||
"group:food_beetroot", "group:food_beetroot","group:food_bowl"
|
||||
}
|
||||
})
|
||||
|
||||
-- red dye
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "dye:red",
|
||||
recipe = {"group:food_beetroot"}
|
||||
})
|
||||
|
||||
local def = {
|
||||
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 = {
|
||||
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:beetroot_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
def.tiles = {"farming_beetroot_2.png"}
|
||||
minetest.register_node("farming:beetroot_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
def.tiles = {"farming_beetroot_3.png"}
|
||||
minetest.register_node("farming:beetroot_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
def.tiles = {"farming_beetroot_4.png"}
|
||||
minetest.register_node("farming:beetroot_4", table.copy(def))
|
||||
|
||||
-- stage 5
|
||||
def.tiles = {"farming_beetroot_5.png"}
|
||||
def.groups.growing = nil
|
||||
def.drop = {
|
||||
max_items = 4, items = {
|
||||
{items = {"farming:beetroot"}, rarity = 1},
|
||||
{items = {"farming:beetroot"}, rarity = 2},
|
||||
{items = {"farming:beetroot"}, rarity = 3},
|
||||
{items = {"farming:beetroot"}, rarity = 4}
|
||||
}
|
||||
}
|
||||
minetest.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
|
||||
}
|
62
mods/farming/crops/blackberry.lua
Normal file
62
mods/farming/crops/blackberry.lua
Normal file
@@ -0,0 +1,62 @@
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- blackberries
|
||||
minetest.register_craftitem("farming:blackberry", {
|
||||
description = S("Blackberries"),
|
||||
inventory_image = "farming_blackberry.png",
|
||||
groups = {seed = 2, food_blackberries = 1, food_blackberry = 1,
|
||||
food_berry = 1, flammable = 2},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:blackberry_1")
|
||||
end,
|
||||
on_use = minetest.item_eat(1),
|
||||
})
|
||||
|
||||
local def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_blackberry_1.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:blackberry_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
def.tiles = {"farming_blackberry_2.png"}
|
||||
minetest.register_node("farming:blackberry_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
def.tiles = {"farming_blackberry_3.png"}
|
||||
minetest.register_node("farming:blackberry_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
def.tiles = {"farming_blackberry_4.png"}
|
||||
def.groups.growing = nil
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {'farming:blackberry 2'}, rarity = 1},
|
||||
{items = {'farming:blackberry'}, rarity = 2},
|
||||
{items = {'farming:blackberry'}, rarity = 3},
|
||||
}
|
||||
}
|
||||
minetest.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
|
||||
}
|
94
mods/farming/crops/blueberry.lua
Normal file
94
mods/farming/crops/blueberry.lua
Normal file
@@ -0,0 +1,94 @@
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- blueberries
|
||||
minetest.register_craftitem("farming:blueberries", {
|
||||
description = S("Wild Blueberries"),
|
||||
inventory_image = "farming_blueberries.png",
|
||||
groups = {seed = 2, food_blueberries = 1, food_blueberry = 1,
|
||||
food_berry = 1, flammable = 2},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:blueberry_1")
|
||||
end,
|
||||
on_use = minetest.item_eat(1)
|
||||
})
|
||||
|
||||
-- blueberry muffin (thanks to sosogirl123 @ deviantart.com for muffin image)
|
||||
minetest.register_craftitem("farming:muffin_blueberry", {
|
||||
description = S("Blueberry Muffin"),
|
||||
inventory_image = "farming_blueberry_muffin.png",
|
||||
on_use = minetest.item_eat(2)
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:muffin_blueberry 2",
|
||||
recipe = {
|
||||
{"group:food_blueberries", "group:food_bread", "group:food_blueberries"}
|
||||
}
|
||||
})
|
||||
|
||||
-- Blueberry Pie
|
||||
minetest.register_craftitem("farming:blueberry_pie", {
|
||||
description = S("Blueberry Pie"),
|
||||
inventory_image = "farming_blueberry_pie.png",
|
||||
on_use = minetest.item_eat(6)
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:blueberry_pie",
|
||||
type = "shapeless",
|
||||
recipe = {
|
||||
"group:food_flour", "group:food_sugar",
|
||||
"group:food_blueberries", "group:food_baking_tray"
|
||||
},
|
||||
replacements = {{"group:food_baking_tray", "farming:baking_tray"}}
|
||||
})
|
||||
|
||||
-- blueberry definition
|
||||
local def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_blueberry_1.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:blueberry_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
def.tiles = {"farming_blueberry_2.png"}
|
||||
minetest.register_node("farming:blueberry_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
def.tiles = {"farming_blueberry_3.png"}
|
||||
minetest.register_node("farming:blueberry_3", table.copy(def))
|
||||
|
||||
-- stage 4 (final)
|
||||
def.tiles = {"farming_blueberry_4.png"}
|
||||
def.groups.growing = nil
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:blueberries 2"}, rarity = 1},
|
||||
{items = {"farming:blueberries"}, rarity = 2},
|
||||
{items = {"farming:blueberries"}, rarity = 3},
|
||||
}
|
||||
}
|
||||
minetest.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
|
||||
}
|
69
mods/farming/crops/cabbage.lua
Normal file
69
mods/farming/crops/cabbage.lua
Normal file
@@ -0,0 +1,69 @@
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- cabbage
|
||||
minetest.register_craftitem("farming:cabbage", {
|
||||
description = S("Cabbage"),
|
||||
inventory_image = "farming_cabbage.png",
|
||||
groups = {seed = 2, food_cabbage = 1, flammable = 2},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:cabbage_1")
|
||||
end,
|
||||
on_use = minetest.item_eat(1)
|
||||
})
|
||||
|
||||
local def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_cabbage_1.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
waving = 1,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:cabbage_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
def.tiles = {"farming_cabbage_2.png"}
|
||||
minetest.register_node("farming:cabbage_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
def.tiles = {"farming_cabbage_3.png"}
|
||||
minetest.register_node("farming:cabbage_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
def.tiles = {"farming_cabbage_4.png"}
|
||||
minetest.register_node("farming:cabbage_4", table.copy(def))
|
||||
|
||||
-- stage 5
|
||||
def.tiles = {"farming_cabbage_5.png"}
|
||||
minetest.register_node("farming:cabbage_5", table.copy(def))
|
||||
|
||||
-- stage 6
|
||||
def.tiles = {"farming_cabbage_6.png"}
|
||||
def.groups.growing = nil
|
||||
def.drop = {
|
||||
max_items = 2, items = {
|
||||
{items = {"farming:cabbage 2"}, rarity = 1},
|
||||
{items = {"farming:cabbage 1"}, rarity = 2}
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:cabbage_6", table.copy(def))
|
||||
|
||||
-- add to registered_plants
|
||||
farming.registered_plants["farming:cabbage"] = {
|
||||
crop = "farming:cabbage",
|
||||
seed = "farming:cabbage",
|
||||
minlight = farming.min_light,
|
||||
maxlight = farming.max_light,
|
||||
steps = 6
|
||||
}
|
124
mods/farming/crops/carrot.lua
Normal file
124
mods/farming/crops/carrot.lua
Normal file
@@ -0,0 +1,124 @@
|
||||
|
||||
--[[
|
||||
Original textures from PixelBox texture pack
|
||||
https://forum.minetest.net/viewtopic.php?id=4990
|
||||
]]
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- carrot
|
||||
minetest.register_craftitem("farming:carrot", {
|
||||
description = S("Carrot"),
|
||||
inventory_image = "farming_carrot.png",
|
||||
groups = {seed = 2, food_carrot = 1, flammable = 2},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:carrot_1")
|
||||
end,
|
||||
on_use = minetest.item_eat(4)
|
||||
})
|
||||
|
||||
-- carrot juice
|
||||
minetest.register_craftitem("farming:carrot_juice", {
|
||||
description = S("Carrot Juice"),
|
||||
inventory_image = "farming_carrot_juice.png",
|
||||
on_use = minetest.item_eat(4, "vessels:drinking_glass"),
|
||||
groups = {vessel = 1, drink = 1}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:carrot_juice",
|
||||
type = "shapeless",
|
||||
recipe = {
|
||||
"vessels:drinking_glass", "group:food_carrot", "farming:juicer"
|
||||
},
|
||||
replacements = {
|
||||
{"group:food_juicer", "farming:juicer"}
|
||||
}
|
||||
})
|
||||
|
||||
-- golden carrot
|
||||
minetest.register_craftitem("farming:carrot_gold", {
|
||||
description = S("Golden Carrot"),
|
||||
inventory_image = "farming_carrot_gold.png",
|
||||
on_use = minetest.item_eat(10)
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:carrot_gold",
|
||||
recipe = {
|
||||
{"", "default:gold_lump", ""},
|
||||
{"default:gold_lump", "group:food_carrot", "default:gold_lump"},
|
||||
{"", "default:gold_lump", ""}
|
||||
}
|
||||
})
|
||||
|
||||
-- carrot definition
|
||||
local def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_carrot_1.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:carrot_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
def.tiles = {"farming_carrot_2.png"}
|
||||
minetest.register_node("farming:carrot_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
def.tiles = {"farming_carrot_3.png"}
|
||||
minetest.register_node("farming:carrot_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
def.tiles = {"farming_carrot_4.png"}
|
||||
minetest.register_node("farming:carrot_4", table.copy(def))
|
||||
|
||||
-- stage 5
|
||||
def.tiles = {"farming_carrot_5.png"}
|
||||
minetest.register_node("farming:carrot_5", table.copy(def))
|
||||
|
||||
-- stage 6
|
||||
def.tiles = {"farming_carrot_6.png"}
|
||||
minetest.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 2"}, rarity = 3}
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:carrot_7", table.copy(def))
|
||||
|
||||
-- stage 8 (final)
|
||||
def.tiles = {"farming_carrot_8.png"}
|
||||
def.groups.growing = nil
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:carrot 2"}, rarity = 1},
|
||||
{items = {"farming:carrot 3"}, rarity = 2}
|
||||
}
|
||||
}
|
||||
minetest.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
|
||||
}
|
101
mods/farming/crops/chili.lua
Normal file
101
mods/farming/crops/chili.lua
Normal file
@@ -0,0 +1,101 @@
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- chili pepper
|
||||
minetest.register_craftitem("farming:chili_pepper", {
|
||||
description = S("Chili Pepper"),
|
||||
inventory_image = "farming_chili_pepper.png",
|
||||
groups = {seed = 2, food_chili_pepper = 1, flammable = 4},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:chili_1")
|
||||
end,
|
||||
on_use = minetest.item_eat(2)
|
||||
})
|
||||
|
||||
-- bowl of chili
|
||||
minetest.register_craftitem("farming:chili_bowl", {
|
||||
description = S("Bowl of Chili"),
|
||||
inventory_image = "farming_chili_bowl.png",
|
||||
on_use = minetest.item_eat(8, "farming:bowl")
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "farming:chili_bowl",
|
||||
recipe = {
|
||||
"group:food_chili_pepper", "group:food_barley",
|
||||
"group:food_tomato", "group:food_beans", "group:food_bowl"
|
||||
}
|
||||
})
|
||||
|
||||
-- chili can be used for red dye
|
||||
minetest.register_craft({
|
||||
output = "dye:red",
|
||||
recipe = {
|
||||
{"farming:chili_pepper"}
|
||||
}
|
||||
})
|
||||
|
||||
-- chili definition
|
||||
local def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_chili_1.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 4, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:chili_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
def.tiles = {"farming_chili_2.png"}
|
||||
minetest.register_node("farming:chili_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
def.tiles = {"farming_chili_3.png"}
|
||||
minetest.register_node("farming:chili_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
def.tiles = {"farming_chili_4.png"}
|
||||
minetest.register_node("farming:chili_4", table.copy(def))
|
||||
|
||||
-- stage 5
|
||||
def.tiles = {"farming_chili_5.png"}
|
||||
minetest.register_node("farming:chili_5", table.copy(def))
|
||||
|
||||
-- stage 6
|
||||
def.tiles = {"farming_chili_6.png"}
|
||||
minetest.register_node("farming:chili_6", table.copy(def))
|
||||
|
||||
-- stage 7
|
||||
def.tiles = {"farming_chili_7.png"}
|
||||
minetest.register_node("farming:chili_7", table.copy(def))
|
||||
|
||||
-- stage 8 (final)
|
||||
def.tiles = {"farming_chili_8.png"}
|
||||
def.groups.growing = nil
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:chili_pepper 3"}, rarity = 1},
|
||||
{items = {"farming:chili_pepper 2"}, rarity = 2}
|
||||
}
|
||||
}
|
||||
minetest.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
|
||||
}
|
239
mods/farming/crops/cocoa.lua
Normal file
239
mods/farming/crops/cocoa.lua
Normal file
@@ -0,0 +1,239 @@
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- 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 = minetest.get_node(pt.under)
|
||||
|
||||
-- return if any of the nodes are not registered
|
||||
if not minetest.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 = minetest.registered_nodes[under.name]
|
||||
if placer and itemstack and def and def.on_rightclick then
|
||||
return def.on_rightclick(pt.under, under, placer, itemstack)
|
||||
end
|
||||
|
||||
-- check if pointing at jungletree
|
||||
if under.name ~= "default:jungletree"
|
||||
or minetest.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 minetest.is_protected(pt.above, name) then
|
||||
return
|
||||
end
|
||||
|
||||
-- add the node and remove 1 item from the itemstack
|
||||
minetest.set_node(pt.above, {name = plantname})
|
||||
|
||||
minetest.sound_play("default_place_node", {pos = pt.above, gain = 1.0})
|
||||
|
||||
if placer and not farming.is_creative(placer:get_player_name()) then
|
||||
|
||||
itemstack:take_item()
|
||||
|
||||
-- check for refill
|
||||
if itemstack:get_count() == 0 then
|
||||
|
||||
minetest.after(0.20,
|
||||
farming.refill_plant,
|
||||
placer,
|
||||
"farming:cocoa_beans",
|
||||
placer:get_wield_index()
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
return itemstack
|
||||
end
|
||||
|
||||
-- cocoa beans
|
||||
minetest.register_craftitem("farming:cocoa_beans", {
|
||||
description = S("Cocoa Beans"),
|
||||
inventory_image = "farming_cocoa_beans.png",
|
||||
groups = {seed = 2, food_cocoa = 1, flammable = 2},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return place_cocoa(itemstack, placer, pointed_thing, "farming:cocoa_1")
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
output = "dye:brown 2",
|
||||
recipe = {
|
||||
{ "farming:cocoa_beans" }
|
||||
}
|
||||
})
|
||||
|
||||
-- chocolate cookie
|
||||
minetest.register_craftitem("farming:cookie", {
|
||||
description = S("Cookie"),
|
||||
inventory_image = "farming_cookie.png",
|
||||
on_use = minetest.item_eat(2)
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
output = "farming:cookie 8",
|
||||
recipe = {
|
||||
{"group:food_wheat", "group:food_cocoa", "group:food_wheat" }
|
||||
}
|
||||
})
|
||||
|
||||
-- bar of dark chocolate (thanks to Ice Pandora for her deviantart.com chocolate tutorial)
|
||||
minetest.register_craftitem("farming:chocolate_dark", {
|
||||
description = S("Bar of Dark Chocolate"),
|
||||
inventory_image = "farming_chocolate_dark.png",
|
||||
on_use = minetest.item_eat(3)
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
output = "farming:chocolate_dark",
|
||||
recipe = {
|
||||
{"group:food_cocoa", "group:food_cocoa", "group:food_cocoa"}
|
||||
}
|
||||
})
|
||||
|
||||
-- chocolate block
|
||||
minetest.register_node("farming:chocolate_block", {
|
||||
description = S("Chocolate Block"),
|
||||
tiles = {"farming_chocolate_block.png"},
|
||||
is_ground_content = false,
|
||||
groups = {cracky = 2, oddly_breakable_by_hand = 2},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:chocolate_block",
|
||||
recipe = {
|
||||
{"farming:chocolate_dark", "farming:chocolate_dark", "farming:chocolate_dark"},
|
||||
{"farming:chocolate_dark", "farming:chocolate_dark", "farming:chocolate_dark"},
|
||||
{"farming:chocolate_dark", "farming:chocolate_dark", "farming:chocolate_dark"}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:chocolate_dark 9",
|
||||
recipe = {
|
||||
{"farming:chocolate_block"}
|
||||
}
|
||||
})
|
||||
|
||||
-- cocoa definition
|
||||
local def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_cocoa_1.png"},
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
drop = {
|
||||
items = {
|
||||
{items = {"farming:cocoa_beans 1"}, rarity = 2},
|
||||
}
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3}
|
||||
},
|
||||
groups = {
|
||||
snappy = 3, flammable = 2, plant = 1, growing = 1,
|
||||
not_in_creative_inventory = 1, leafdecay = 1, leafdecay_drop = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
growth_check = function(pos, node_name)
|
||||
if minetest.find_node_near(pos, 1, {"default:jungletree"}) then
|
||||
return false
|
||||
end
|
||||
return true
|
||||
end
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:cocoa_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
def.tiles = {"farming_cocoa_2.png"}
|
||||
minetest.register_node("farming:cocoa_2", table.copy(def))
|
||||
|
||||
-- stage3
|
||||
def.tiles = {"farming_cocoa_3.png"}
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:cocoa_beans 1"}, rarity = 1}
|
||||
}
|
||||
}
|
||||
minetest.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 2"}, rarity = 1},
|
||||
{items = {"farming:cocoa_beans 1"}, rarity = 2},
|
||||
{items = {"farming:cocoa_beans 1"}, rarity = 4}
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:cocoa_4", table.copy(def))
|
||||
|
||||
-- add to registered_plants
|
||||
farming.registered_plants["farming:cocoa_beans"] = {
|
||||
crop = "farming:cocoa",
|
||||
seed = "farming:cocoa_beans",
|
||||
minlight = farming.min_light,
|
||||
maxlight = farming.max_light,
|
||||
steps = 4
|
||||
}
|
||||
|
||||
-- add random cocoa pods to jungle tree's
|
||||
minetest.register_on_generated(function(minp, maxp)
|
||||
|
||||
if maxp.y < 0 then
|
||||
return
|
||||
end
|
||||
|
||||
local pos, dir
|
||||
local cocoa = minetest.find_nodes_in_area(minp, maxp, "default:jungletree")
|
||||
|
||||
for n = 1, #cocoa do
|
||||
|
||||
pos = cocoa[n]
|
||||
|
||||
if minetest.find_node_near(pos, 1,
|
||||
{"default:jungleleaves", "moretrees:jungletree_leaves_green"}) then
|
||||
|
||||
dir = math.random(1, 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 minetest.get_node(pos).name == "air"
|
||||
and minetest.get_node_light(pos) > 12 then
|
||||
|
||||
--print ("Cocoa Pod added at " .. minetest.pos_to_string(pos))
|
||||
|
||||
minetest.swap_node(pos, {
|
||||
name = "farming:cocoa_" .. tostring(math.random(4))
|
||||
})
|
||||
end
|
||||
end
|
||||
end
|
||||
end)
|
112
mods/farming/crops/coffee.lua
Normal file
112
mods/farming/crops/coffee.lua
Normal file
@@ -0,0 +1,112 @@
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- coffee
|
||||
minetest.register_craftitem("farming:coffee_beans", {
|
||||
description = S("Coffee Beans"),
|
||||
inventory_image = "farming_coffee_beans.png",
|
||||
groups = {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
|
||||
})
|
||||
|
||||
-- cup of coffee
|
||||
minetest.register_node("farming:coffee_cup", {
|
||||
description = S("Cup of Coffee"),
|
||||
drawtype = "torchlike",
|
||||
tiles = {"farming_coffee_cup.png"},
|
||||
inventory_image = "farming_coffee_cup.png",
|
||||
wield_image = "farming_coffee_cup.png",
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.25, -0.5, -0.25, 0.25, 0.25, 0.25}
|
||||
},
|
||||
groups = {vessel = 1, dig_immediate = 3, attached_node = 1, drink = 1},
|
||||
on_use = minetest.item_eat(2, "vessels:drinking_glass"),
|
||||
sounds = default.node_sound_glass_defaults()
|
||||
})
|
||||
|
||||
minetest.register_alias("farming:coffee_cup_hot", "farming:coffee_cup")
|
||||
minetest.register_alias("farming:drinking_cup", "vessels:drinking_glass")
|
||||
|
||||
minetest.register_craft( {
|
||||
output = "farming:coffee_cup",
|
||||
type = "shapeless",
|
||||
recipe = {
|
||||
"vessels:drinking_glass", "group:food_coffee",
|
||||
"group:water_bucket", "group:food_saucepan"},
|
||||
replacements = {
|
||||
{"group:water_bucket", "bucket:bucket_empty"},
|
||||
{"group:food_saucepan", "farming:saucepan"}
|
||||
}
|
||||
})
|
||||
|
||||
if minetest.get_modpath("bucket_wooden") then
|
||||
minetest.register_craft( {
|
||||
output = "farming:coffee_cup",
|
||||
type = "shapeless",
|
||||
recipe = {
|
||||
"vessels:drinking_glass", "group:food_coffee",
|
||||
"group:water_bucket_wooden", "group:food_saucepan"},
|
||||
replacements = {
|
||||
{"group:water_bucket_wooden", "bucket_wooden:bucket_empty"},
|
||||
{"group:food_saucepan", "farming:saucepan"}
|
||||
}
|
||||
})
|
||||
end
|
||||
|
||||
-- coffee definition
|
||||
local def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_coffee_1.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:coffee_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
def.tiles = {"farming_coffee_2.png"}
|
||||
minetest.register_node("farming:coffee_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
def.tiles = {"farming_coffee_3.png"}
|
||||
minetest.register_node("farming:coffee_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
def.tiles = {"farming_coffee_4.png"}
|
||||
minetest.register_node("farming:coffee_4", table.copy(def))
|
||||
|
||||
-- stage 5 (final)
|
||||
def.tiles = {"farming_coffee_5.png"}
|
||||
def.groups.growing = nil
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:coffee_beans 2"}, rarity = 1},
|
||||
{items = {"farming:coffee_beans 2"}, rarity = 2},
|
||||
{items = {"farming:coffee_beans 2"}, rarity = 3}
|
||||
}
|
||||
}
|
||||
minetest.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
|
||||
}
|
159
mods/farming/crops/corn.lua
Normal file
159
mods/farming/crops/corn.lua
Normal file
@@ -0,0 +1,159 @@
|
||||
|
||||
--[[
|
||||
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 = farming.intllib
|
||||
|
||||
-- corn
|
||||
minetest.register_craftitem("farming:corn", {
|
||||
description = S("Corn"),
|
||||
inventory_image = "farming_corn.png",
|
||||
groups = {seed = 2, food_corn = 1, flammable = 2},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:corn_1")
|
||||
end,
|
||||
on_use = minetest.item_eat(3)
|
||||
})
|
||||
|
||||
-- corn on the cob (texture by TenPlus1)
|
||||
minetest.register_craftitem("farming:corn_cob", {
|
||||
description = S("Corn on the Cob"),
|
||||
inventory_image = "farming_corn_cob.png",
|
||||
groups = {food_corn_cooked = 1, flammable = 2},
|
||||
on_use = minetest.item_eat(5)
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
cooktime = 10,
|
||||
output = "farming:corn_cob",
|
||||
recipe = "group:food_corn"
|
||||
})
|
||||
|
||||
-- cornstarch
|
||||
minetest.register_craftitem("farming:cornstarch", {
|
||||
description = S("Cornstarch"),
|
||||
inventory_image = "farming_cornstarch.png",
|
||||
groups = {food_cornstarch = 1, flammable = 2}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:cornstarch",
|
||||
recipe = {
|
||||
{"group:food_mortar_pestle", "group:food_corn_cooked", "group:food_baking_tray"},
|
||||
{"", "group:food_bowl", ""},
|
||||
},
|
||||
replacements = {
|
||||
{"group:food_mortar_pestle", "farming:mortar_pestle"},
|
||||
{"group:food_baking_tray", "farming:baking_tray"},
|
||||
}
|
||||
})
|
||||
|
||||
-- ethanol (thanks to JKMurray for this idea)
|
||||
minetest.register_node("farming:bottle_ethanol", {
|
||||
description = S("Bottle of Ethanol"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_bottle_ethanol.png"},
|
||||
inventory_image = "farming_bottle_ethanol.png",
|
||||
wield_image = "farming_bottle_ethanol.png",
|
||||
paramtype = "light",
|
||||
is_ground_content = false,
|
||||
walkable = false,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25}
|
||||
},
|
||||
groups = {vessel = 1, dig_immediate = 3, attached_node = 1},
|
||||
sounds = default.node_sound_glass_defaults()
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
output = "farming:bottle_ethanol",
|
||||
recipe = {
|
||||
{ "vessels:glass_bottle", "group:food_corn", "group:food_corn"},
|
||||
{ "group:food_corn", "group:food_corn", "group:food_corn"},
|
||||
{ "group:food_corn", "group:food_corn", "group:food_corn"}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "farming:bottle_ethanol",
|
||||
burntime = 80,
|
||||
replacements = {{ "farming:bottle_ethanol", "vessels:glass_bottle"}}
|
||||
})
|
||||
|
||||
-- corn definition
|
||||
local def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_corn_1.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:corn_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
def.tiles = {"farming_corn_2.png"}
|
||||
minetest.register_node("farming:corn_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
def.tiles = {"farming_corn_3.png"}
|
||||
minetest.register_node("farming:corn_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
def.tiles = {"farming_corn_4.png"}
|
||||
minetest.register_node("farming:corn_4", table.copy(def))
|
||||
|
||||
-- stage 5
|
||||
def.tiles = {"farming_corn_5.png"}
|
||||
minetest.register_node("farming:corn_5", table.copy(def))
|
||||
|
||||
-- stage 6
|
||||
def.tiles = {"farming_corn_6.png"}
|
||||
def.visual_scale = 1.9
|
||||
minetest.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 = 2},
|
||||
{items = {"farming:corn"}, rarity = 3}
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:corn_7", table.copy(def))
|
||||
|
||||
-- stage 8 (final)
|
||||
def.tiles = {"farming_corn_8.png"}
|
||||
def.groups.growing = nil
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:corn 2"}, rarity = 1},
|
||||
{items = {"farming:corn 2"}, rarity = 2},
|
||||
{items = {"farming:corn 2"}, rarity = 2}
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:corn_8", table.copy(def))
|
||||
|
||||
-- add to registered_plants
|
||||
farming.registered_plants["farming:corn"] = {
|
||||
crop = "farming:corn",
|
||||
seed = "farming:corn",
|
||||
minlight = farming.min_light,
|
||||
maxlight = farming.max_light,
|
||||
steps = 8
|
||||
}
|
186
mods/farming/crops/cotton.lua
Normal file
186
mods/farming/crops/cotton.lua
Normal file
@@ -0,0 +1,186 @@
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- wild cotton as a source of cotton seed and a chance of cotton itself
|
||||
minetest.register_node("farming:cotton_wild", {
|
||||
description = S("Wild Cotton"),
|
||||
drawtype = "plantlike",
|
||||
waving = 1,
|
||||
tiles = {"farming_cotton_wild.png"},
|
||||
inventory_image = "farming_cotton_wild.png",
|
||||
wield_image = "farming_cotton_wild.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
groups = {snappy = 3, attached_node = 1, flammable = 4},
|
||||
drop = {
|
||||
items = {
|
||||
{items = {"farming:cotton"}, rarity = 2},
|
||||
{items = {"farming:seed_cotton"}, rarity = 1}
|
||||
}
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-6 / 16, -8 / 16, -6 / 16, 6 / 16, 5 / 16, 6 / 16}
|
||||
}
|
||||
})
|
||||
|
||||
-- cotton seeds
|
||||
minetest.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 = {seed = 1, snappy = 3, attached_node = 1, flammable = 4},
|
||||
paramtype = "light",
|
||||
paramtype2 = "wallmounted",
|
||||
walkable = false,
|
||||
sunlight_propagates = true,
|
||||
selection_box = farming.select,
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:cotton_1")
|
||||
end
|
||||
})
|
||||
|
||||
-- cotton
|
||||
minetest.register_craftitem("farming:cotton", {
|
||||
description = S("Cotton"),
|
||||
inventory_image = "farming_cotton.png",
|
||||
groups = {flammable = 4}
|
||||
})
|
||||
|
||||
-- string
|
||||
minetest.register_craftitem("farming:string", {
|
||||
description = S("String"),
|
||||
inventory_image = "farming_string.png",
|
||||
groups = {flammable = 2}
|
||||
})
|
||||
|
||||
-- cotton to wool
|
||||
minetest.register_craft({
|
||||
output = "wool:white",
|
||||
recipe = {
|
||||
{"farming:cotton", "farming:cotton"},
|
||||
{"farming:cotton", "farming:cotton"}
|
||||
}
|
||||
})
|
||||
|
||||
-- cotton to string
|
||||
minetest.register_craft({
|
||||
output = "farming:string 2",
|
||||
recipe = {
|
||||
{"farming:cotton"},
|
||||
{"farming:cotton"}
|
||||
}
|
||||
})
|
||||
|
||||
-- can be used as fuel
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "farming:string",
|
||||
burntime = 1
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "farming:cotton",
|
||||
burntime = 1
|
||||
})
|
||||
|
||||
-- cotton definition
|
||||
local def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_cotton_1.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 4, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:cotton_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
def.tiles = {"farming_cotton_2.png"}
|
||||
minetest.register_node("farming:cotton_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
def.tiles = {"farming_cotton_3.png"}
|
||||
minetest.register_node("farming:cotton_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
def.tiles = {"farming_cotton_4.png"}
|
||||
minetest.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}
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:cotton_5", table.copy(def))
|
||||
|
||||
-- stage 6
|
||||
def.tiles = {"farming_cotton_6.png"}
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:cotton"}, rarity = 1},
|
||||
{items = {"farming:cotton"}, rarity = 2}
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:cotton_6", table.copy(def))
|
||||
|
||||
-- stage 7
|
||||
def.tiles = {"farming_cotton_7.png"}
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:cotton"}, rarity = 1},
|
||||
{items = {"farming:cotton"}, rarity = 2},
|
||||
{items = {"farming:seed_cotton"}, rarity = 1},
|
||||
{items = {"farming:seed_cotton"}, rarity = 2}
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:cotton_7", table.copy(def))
|
||||
|
||||
-- stage 8 (final)
|
||||
def.tiles = {"farming_cotton_8.png"}
|
||||
def.groups.growing = nil
|
||||
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}
|
||||
}
|
||||
}
|
||||
minetest.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
|
||||
}
|
||||
|
||||
--[[ Cotton using api
|
||||
farming.register_plant("farming:cotton", {
|
||||
description = "Cotton seed",
|
||||
inventory_image = "farming_cotton_seed.png",
|
||||
groups = {flammable = 2},
|
||||
steps = 8,
|
||||
})]]
|
65
mods/farming/crops/cucumber.lua
Normal file
65
mods/farming/crops/cucumber.lua
Normal file
@@ -0,0 +1,65 @@
|
||||
|
||||
--[[
|
||||
Original textures from DocFarming mod
|
||||
https://forum.minetest.net/viewtopic.php?id=3948
|
||||
]]
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- cucumber
|
||||
minetest.register_craftitem("farming:cucumber", {
|
||||
description = S("Cucumber"),
|
||||
inventory_image = "farming_cucumber.png",
|
||||
groups = {seed = 2, food_cucumber = 1, flammable = 2},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:cucumber_1")
|
||||
end,
|
||||
on_use = minetest.item_eat(4)
|
||||
})
|
||||
|
||||
-- cucumber definition
|
||||
local def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_cucumber_1.png"},
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:cucumber_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
def.tiles = {"farming_cucumber_2.png"}
|
||||
minetest.register_node("farming:cucumber_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
def.tiles = {"farming_cucumber_3.png"}
|
||||
minetest.register_node("farming:cucumber_3", table.copy(def))
|
||||
|
||||
-- stage 4 (final)
|
||||
def.tiles = {"farming_cucumber_4.png"}
|
||||
def.groups.growing = nil
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:cucumber 2"}, rarity = 1},
|
||||
{items = {"farming:cucumber 2"}, rarity = 2}
|
||||
}
|
||||
}
|
||||
minetest.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
|
||||
}
|
135
mods/farming/crops/garlic.lua
Normal file
135
mods/farming/crops/garlic.lua
Normal file
@@ -0,0 +1,135 @@
|
||||
|
||||
--[[
|
||||
Original textures from Crops Plus mod
|
||||
Copyright (C) 2018 Grizzly Adam
|
||||
https://forum.minetest.net/viewtopic.php?f=9&t=19488
|
||||
]]
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- potato
|
||||
minetest.register_craftitem("farming:garlic_clove", {
|
||||
description = S("Garlic clove"),
|
||||
inventory_image = "crops_garlic_clove.png",
|
||||
groups = {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
|
||||
})
|
||||
|
||||
-- garlic bulb
|
||||
minetest.register_craftitem("farming:garlic", {
|
||||
description = S("Garlic"),
|
||||
inventory_image = "crops_garlic.png",
|
||||
on_use = minetest.item_eat(1),
|
||||
groups = {food_garlic = 1, flammable = 3}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "farming:garlic_clove 8",
|
||||
recipe = {"farming:garlic"}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:garlic",
|
||||
recipe = {
|
||||
{"farming:garlic_clove", "farming:garlic_clove", "farming:garlic_clove"},
|
||||
{"farming:garlic_clove", "", "farming:garlic_clove"},
|
||||
{"farming:garlic_clove", "farming:garlic_clove", "farming:garlic_clove"}
|
||||
}
|
||||
})
|
||||
|
||||
-- garlic braid
|
||||
minetest.register_node("farming:garlic_braid", {
|
||||
description = S("Garlic Braid"),
|
||||
inventory_image = "crops_garlic_braid.png",
|
||||
wield_image = "crops_garlic_braid.png",
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
tiles = {
|
||||
"crops_garlic_braid_side.png","crops_garlic_braid.png",
|
||||
"crops_garlic_braid_side.png^[transformFx","crops_garlic_braid_side.png",
|
||||
"crops_garlic_braid.png","crops_garlic_braid.png"
|
||||
},
|
||||
groups = {vessel = 1, dig_immediate = 3, flammable = 3},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.13, -0.45, 0.5, 0.13, 0.45, 0.24}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:garlic_braid",
|
||||
recipe = {
|
||||
{"farming:garlic", "farming:garlic", "farming:garlic"},
|
||||
{"farming:garlic", "farming:garlic", "farming:garlic"},
|
||||
{"farming:garlic", "farming:garlic", "farming:garlic"}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "farming:garlic 9",
|
||||
recipe = {"farming:garlic_braid"}
|
||||
})
|
||||
|
||||
-- crop definition
|
||||
local def = {
|
||||
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 = {
|
||||
snappy = 3, flammable = 3, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:garlic_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
def.tiles = {"crops_garlic_plant_2.png"}
|
||||
minetest.register_node("farming:garlic_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
def.tiles = {"crops_garlic_plant_3.png"}
|
||||
minetest.register_node("farming:garlic_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
def.tiles = {"crops_garlic_plant_4.png"}
|
||||
minetest.register_node("farming:garlic_4", table.copy(def))
|
||||
|
||||
-- stage 5
|
||||
def.tiles = {"crops_garlic_plant_5.png"}
|
||||
def.groups.growing = nil
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:garlic 3"}, rarity = 1},
|
||||
{items = {"farming:garlic"}, rarity = 2},
|
||||
{items = {"farming:garlic"}, rarity = 5}
|
||||
}
|
||||
}
|
||||
minetest.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
|
||||
}
|
263
mods/farming/crops/grapes.lua
Normal file
263
mods/farming/crops/grapes.lua
Normal file
@@ -0,0 +1,263 @@
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- place trellis
|
||||
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 = minetest.get_node(pt.under)
|
||||
|
||||
-- return if any of the nodes are not registered
|
||||
if not minetest.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 = minetest.registered_nodes[under.name]
|
||||
if placer and itemstack and def and def.on_rightclick then
|
||||
return def.on_rightclick(pt.under, under, placer, itemstack)
|
||||
end
|
||||
|
||||
-- is player planting seed?
|
||||
local name = placer and placer:get_player_name() or ""
|
||||
|
||||
-- check for protection
|
||||
if minetest.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
|
||||
minetest.set_node(pt.under, {name = plantname})
|
||||
|
||||
minetest.sound_play("default_place_node", {pos = pt.under, gain = 1.0})
|
||||
|
||||
if placer and not farming.is_creative(placer:get_player_name()) then
|
||||
|
||||
itemstack:take_item()
|
||||
|
||||
-- check for refill
|
||||
if itemstack:get_count() == 0 then
|
||||
|
||||
minetest.after(0.20,
|
||||
farming.refill_plant,
|
||||
placer,
|
||||
"farming:grapes",
|
||||
placer:get_wield_index()
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
return itemstack
|
||||
end
|
||||
|
||||
-- grapes
|
||||
minetest.register_craftitem("farming:grapes", {
|
||||
description = S("Grapes"),
|
||||
inventory_image = "farming_grapes.png",
|
||||
on_use = minetest.item_eat(2),
|
||||
groups = {seed = 2, food_grapes = 1, flammable = 3},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return place_grapes(itemstack, placer, pointed_thing, "farming:grapes_1")
|
||||
end
|
||||
})
|
||||
|
||||
-- grapes can be used for violet dye
|
||||
minetest.register_craft({
|
||||
output = "dye:violet",
|
||||
recipe = {
|
||||
{"farming:grapes"}
|
||||
}
|
||||
})
|
||||
|
||||
-- trellis
|
||||
minetest.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 = {snappy = 3, flammable = 2, attached_node = 1},
|
||||
sounds = default.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 = minetest.get_node(pt.under)
|
||||
|
||||
-- return if any of the nodes are not registered
|
||||
if not minetest.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 = minetest.registered_nodes[under.name]
|
||||
if def and def.on_rightclick then
|
||||
return def.on_rightclick(pt.under, under, placer, itemstack)
|
||||
end
|
||||
|
||||
if minetest.is_protected(pt.above, placer:get_player_name()) then
|
||||
return
|
||||
end
|
||||
|
||||
local nodename = under.name
|
||||
|
||||
if minetest.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 = minetest.get_node(top).name
|
||||
|
||||
if nodename ~= "air" then
|
||||
return
|
||||
end
|
||||
|
||||
minetest.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
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:trellis",
|
||||
recipe = {
|
||||
{"default:stick", "default:stick", "default:stick"},
|
||||
{"default:stick", "default:stick", "default:stick"},
|
||||
{"default:stick", "default:stick", "default:stick"}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "farming:trellis",
|
||||
burntime = 15
|
||||
})
|
||||
|
||||
-- grapes definition
|
||||
local def = {
|
||||
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 = {
|
||||
snappy = 3, flammable = 3, not_in_creative_inventory = 1,
|
||||
attached_node = 1, growing = 1, plant = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:grapes_1", table.copy(def))
|
||||
|
||||
-- stage2
|
||||
def.tiles = {"farming_grapes_2.png"}
|
||||
minetest.register_node("farming:grapes_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
def.tiles = {"farming_grapes_3.png"}
|
||||
minetest.register_node("farming:grapes_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
def.tiles = {"farming_grapes_4.png"}
|
||||
minetest.register_node("farming:grapes_4", table.copy(def))
|
||||
|
||||
-- stage 5
|
||||
def.tiles = {"farming_grapes_5.png"}
|
||||
minetest.register_node("farming:grapes_5", table.copy(def))
|
||||
|
||||
-- stage 6
|
||||
def.tiles = {"farming_grapes_6.png"}
|
||||
minetest.register_node("farming:grapes_6", table.copy(def))
|
||||
|
||||
-- stage 7
|
||||
def.tiles = {"farming_grapes_7.png"}
|
||||
minetest.register_node("farming:grapes_7", table.copy(def))
|
||||
|
||||
-- stage 8 (final)
|
||||
def.tiles = {"farming_grapes_8.png"}
|
||||
def.groups.growing = nil
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:trellis"}, rarity = 1},
|
||||
{items = {"farming:grapes 3"}, rarity = 1},
|
||||
{items = {"farming:grapes 1"}, rarity = 2},
|
||||
{items = {"farming:grapes 1"}, rarity = 3}
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:grapes_8", table.copy(def))
|
||||
|
||||
-- add to registered_plants
|
||||
farming.registered_plants["farming:grapes"] = {
|
||||
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)
|
||||
minetest.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 1"}, rarity = 1},
|
||||
{items = {"farming:grapes 1"}, rarity = 2},
|
||||
{items = {"farming:grapes 1"}, rarity = 3}
|
||||
}
|
||||
},
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
})
|
262
mods/farming/crops/hemp.lua
Normal file
262
mods/farming/crops/hemp.lua
Normal file
@@ -0,0 +1,262 @@
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- hemp seeds
|
||||
minetest.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 = {seed = 1, snappy = 3, attached_node = 1},
|
||||
paramtype = "light",
|
||||
paramtype2 = "wallmounted",
|
||||
walkable = false,
|
||||
sunlight_propagates = true,
|
||||
selection_box = farming.select,
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:hemp_1")
|
||||
end
|
||||
})
|
||||
|
||||
-- harvested hemp
|
||||
minetest.register_craftitem("farming:hemp_leaf", {
|
||||
description = S("Hemp Leaf"),
|
||||
inventory_image = "farming_hemp_leaf.png"
|
||||
})
|
||||
|
||||
-- hemp oil
|
||||
minetest.register_node("farming:hemp_oil", {
|
||||
description = S("Bottle of Hemp Oil"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_hemp_oil.png"},
|
||||
inventory_image = "farming_hemp_oil.png",
|
||||
wield_image = "farming_hemp_oil.png",
|
||||
paramtype = "light",
|
||||
is_ground_content = false,
|
||||
walkable = false,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25}
|
||||
},
|
||||
groups = {food_oil = 1, vessel = 1, dig_immediate = 3, attached_node = 1},
|
||||
sounds = default.node_sound_glass_defaults()
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
output = "farming:hemp_oil",
|
||||
recipe = {
|
||||
{"farming:hemp_leaf", "farming:hemp_leaf", "farming:hemp_leaf"},
|
||||
{"farming:hemp_leaf", "farming:hemp_leaf", "farming:hemp_leaf"},
|
||||
{"", "vessels:glass_bottle", ""}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
output = "farming:hemp_oil",
|
||||
recipe = {
|
||||
{"farming:seed_hemp", "farming:seed_hemp", "farming:seed_hemp"},
|
||||
{"farming:seed_hemp", "farming:seed_hemp", "farming:seed_hemp"},
|
||||
{"farming:seed_hemp", "vessels:glass_bottle", "farming:seed_hemp"}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "farming:hemp_oil",
|
||||
burntime = 20,
|
||||
replacements = {{ "farming:hemp_oil", "vessels:glass_bottle"}}
|
||||
})
|
||||
|
||||
-- hemp fibre
|
||||
minetest.register_craftitem("farming:hemp_fibre", {
|
||||
description = S("Hemp Fibre"),
|
||||
inventory_image = "farming_hemp_fibre.png"
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
output = "farming:hemp_fibre 8",
|
||||
recipe = {
|
||||
{"farming:hemp_leaf", "farming:hemp_leaf", "farming:hemp_leaf"},
|
||||
{"farming:hemp_leaf", "group:water_bucket", "farming:hemp_leaf"},
|
||||
{"farming:hemp_leaf", "farming:hemp_leaf", "farming:hemp_leaf"}
|
||||
},
|
||||
replacements = {{"group:water_bucket", "bucket:bucket_empty"}}
|
||||
})
|
||||
|
||||
if minetest.get_modpath("bucket_wooden") then
|
||||
minetest.register_craft( {
|
||||
output = "farming:hemp_fibre 8",
|
||||
recipe = {
|
||||
{"farming:hemp_leaf", "farming:hemp_leaf", "farming:hemp_leaf"},
|
||||
{"farming:hemp_leaf", "group:water_bucket_wooden", "farming:hemp_leaf"},
|
||||
{"farming:hemp_leaf", "farming:hemp_leaf", "farming:hemp_leaf"}
|
||||
},
|
||||
replacements = {{"group:water_bucket_wooden", "bucket_wooden:bucket_empty"}}
|
||||
})
|
||||
end
|
||||
|
||||
-- hemp block
|
||||
minetest.register_node("farming:hemp_block", {
|
||||
description = S("Hemp Block"),
|
||||
tiles = {"farming_hemp_block.png"},
|
||||
paramtype = "light",
|
||||
groups = {snappy = 1, oddly_breakable_by_hand = 1, flammable = 2}
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
output = "farming:hemp_block",
|
||||
recipe = {
|
||||
{"farming:hemp_fibre", "farming:hemp_fibre", "farming:hemp_fibre"},
|
||||
{"farming:hemp_fibre", "farming:hemp_fibre", "farming:hemp_fibre"},
|
||||
{"farming:hemp_fibre", "farming:hemp_fibre", "farming:hemp_fibre"}
|
||||
}
|
||||
})
|
||||
|
||||
-- check and register stairs
|
||||
if minetest.global_exists("stairs") then
|
||||
|
||||
if stairs.mod and stairs.mod == "redo" then
|
||||
|
||||
stairs.register_all("hemp_block", "farming:hemp_block",
|
||||
{snappy = 1, flammable = 2},
|
||||
{"farming_hemp_block.png"},
|
||||
"Hemp Block",
|
||||
default.node_sound_leaves_defaults())
|
||||
else
|
||||
|
||||
stairs.register_stair_and_slab("hemp_block", "farming:hemp_block",
|
||||
{snappy = 1, flammable = 2},
|
||||
{"farming_hemp_block.png"},
|
||||
"Hemp Block Stair",
|
||||
"Hemp Block Slab",
|
||||
default.node_sound_leaves_defaults())
|
||||
end
|
||||
end
|
||||
|
||||
-- paper
|
||||
minetest.register_craft( {
|
||||
output = "default:paper 3",
|
||||
recipe = {
|
||||
{"farming:hemp_fibre", "farming:hemp_fibre", "farming:hemp_fibre"}
|
||||
}
|
||||
})
|
||||
|
||||
-- string
|
||||
minetest.register_craft( {
|
||||
output = "farming:cotton 3",
|
||||
recipe = {
|
||||
{"farming:hemp_fibre"},
|
||||
{"farming:hemp_fibre"},
|
||||
{"farming:hemp_fibre"}
|
||||
}
|
||||
})
|
||||
|
||||
-- hemp rope
|
||||
minetest.register_node("farming:hemp_rope", {
|
||||
description = S("Hemp Rope"),
|
||||
walkable = false,
|
||||
climbable = true,
|
||||
sunlight_propagates = true,
|
||||
paramtype = "light",
|
||||
tiles = {"farming_hemp_rope.png"},
|
||||
wield_image = "farming_hemp_rope.png",
|
||||
inventory_image = "farming_hemp_rope.png",
|
||||
drawtype = "plantlike",
|
||||
groups = {flammable = 2, choppy = 3, oddly_breakable_by_hand = 3},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7}
|
||||
}
|
||||
})
|
||||
|
||||
-- string
|
||||
minetest.register_craft( {
|
||||
output = "farming:hemp_rope 6",
|
||||
recipe = {
|
||||
{"farming:hemp_fibre", "farming:hemp_fibre", "farming:hemp_fibre"},
|
||||
{"farming:cotton", "farming:cotton", "farming:cotton"},
|
||||
{"farming:hemp_fibre", "farming:hemp_fibre", "farming:hemp_fibre"}
|
||||
}
|
||||
})
|
||||
|
||||
-- hemp definition
|
||||
local def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_hemp_1.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:hemp_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
def.tiles = {"farming_hemp_2.png"}
|
||||
minetest.register_node("farming:hemp_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
def.tiles = {"farming_hemp_3.png"}
|
||||
minetest.register_node("farming:hemp_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
def.tiles = {"farming_hemp_4.png"}
|
||||
minetest.register_node("farming:hemp_4", table.copy(def))
|
||||
|
||||
-- stage 5
|
||||
def.tiles = {"farming_hemp_5.png"}
|
||||
minetest.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}
|
||||
}
|
||||
}
|
||||
minetest.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}
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:hemp_7", table.copy(def))
|
||||
|
||||
-- stage 8 (final)
|
||||
def.tiles = {"farming_hemp_8.png"}
|
||||
def.groups.growing = nil
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:hemp_leaf 2"}, rarity = 1},
|
||||
{items = {"farming:hemp_leaf"}, rarity = 2},
|
||||
{items = {"farming:seed_hemp"}, rarity = 1},
|
||||
{items = {"farming:seed_hemp"}, rarity = 2}
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:hemp_8", table.copy(def))
|
||||
|
||||
-- add to registered_plants
|
||||
farming.registered_plants["farming:hemp"] = {
|
||||
crop = "farming:hemp",
|
||||
seed = "farming:seed_hemp",
|
||||
mminlight = farming.min_light,
|
||||
maxlight = farming.max_light,
|
||||
steps = 8
|
||||
}
|
63
mods/farming/crops/lettuce.lua
Normal file
63
mods/farming/crops/lettuce.lua
Normal file
@@ -0,0 +1,63 @@
|
||||
local S = farming.intllib
|
||||
|
||||
-- lettuce
|
||||
minetest.register_craftitem("farming:lettuce", {
|
||||
description = S("Lettuce"),
|
||||
inventory_image = "farming_lettuce.png",
|
||||
groups = {seed = 2, food_lettuce = 1, flammable = 2},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:lettuce_1")
|
||||
end,
|
||||
on_use = minetest.item_eat(2),
|
||||
})
|
||||
|
||||
local def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_lettuce_1.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:lettuce_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
def.tiles = {"farming_lettuce_2.png"}
|
||||
minetest.register_node("farming:lettuce_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
def.tiles = {"farming_lettuce_3.png"}
|
||||
minetest.register_node("farming:lettuce_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
def.tiles = {"farming_lettuce_4.png"}
|
||||
minetest.register_node("farming:lettuce_4", table.copy(def))
|
||||
|
||||
-- stage 5
|
||||
def.tiles = {"farming_lettuce_5.png"}
|
||||
def.groups.growing = nil
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {'farming:lettuce 2'}, rarity = 1},
|
||||
{items = {'farming:lettuce 1'}, rarity = 2},
|
||||
}
|
||||
}
|
||||
minetest.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
|
||||
}
|
94
mods/farming/crops/melon.lua
Normal file
94
mods/farming/crops/melon.lua
Normal file
@@ -0,0 +1,94 @@
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- melon
|
||||
minetest.register_craftitem("farming:melon_slice", {
|
||||
description = S("Melon Slice"),
|
||||
inventory_image = "farming_melon_slice.png",
|
||||
groups = {seed = 2, food_melon_slice = 1, flammable = 3},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:melon_1")
|
||||
end,
|
||||
on_use = minetest.item_eat(2)
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:melon_8",
|
||||
recipe = {
|
||||
{"farming:melon_slice", "farming:melon_slice"},
|
||||
{"farming:melon_slice", "farming:melon_slice"}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "farming:melon_slice 4",
|
||||
recipe = {"farming:melon_8", "farming:cutting_board"},
|
||||
replacements = {{"farming:cutting_board", "farming:cutting_board"}}
|
||||
})
|
||||
|
||||
-- melon definition
|
||||
local def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_melon_1.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:melon_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
def.tiles = {"farming_melon_2.png"}
|
||||
minetest.register_node("farming:melon_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
def.tiles = {"farming_melon_3.png"}
|
||||
minetest.register_node("farming:melon_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
def.tiles = {"farming_melon_4.png"}
|
||||
minetest.register_node("farming:melon_4", table.copy(def))
|
||||
|
||||
-- stage 5
|
||||
def.tiles = {"farming_melon_5.png"}
|
||||
minetest.register_node("farming:melon_5", table.copy(def))
|
||||
|
||||
-- stage 6
|
||||
def.tiles = {"farming_melon_6.png"}
|
||||
minetest.register_node("farming:melon_6", table.copy(def))
|
||||
|
||||
-- stage 7
|
||||
def.tiles = {"farming_melon_7.png"}
|
||||
minetest.register_node("farming:melon_7", table.copy(def))
|
||||
|
||||
-- stage 8 (final)
|
||||
def.drawtype = "nodebox"
|
||||
def.description = S("Melon")
|
||||
def.tiles = {"farming_melon_top.png", "farming_melon_top.png", "farming_melon_side.png"}
|
||||
def.selection_box = {-.5, -.5, -.5, .5, .5, .5}
|
||||
def.walkable = true
|
||||
def.groups = {
|
||||
food_melon = 1, snappy = 2, oddly_breakable_by_hand = 1,
|
||||
flammable = 2, plant = 1
|
||||
}
|
||||
def.drop = "farming:melon_8"
|
||||
minetest.register_node("farming:melon_8", table.copy(def))
|
||||
|
||||
-- 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
|
||||
}
|
107
mods/farming/crops/mint.lua
Normal file
107
mods/farming/crops/mint.lua
Normal file
@@ -0,0 +1,107 @@
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- mint seed
|
||||
minetest.register_craftitem("farming:seed_mint", {
|
||||
description = S("Mint Seeds"),
|
||||
inventory_image = "farming_mint_seeds.png",
|
||||
groups = {seed = 2, flammable = 2},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(
|
||||
itemstack, placer, pointed_thing, "farming:mint_1")
|
||||
end
|
||||
})
|
||||
|
||||
-- mint leaf
|
||||
minetest.register_craftitem("farming:mint_leaf", {
|
||||
description = S("Mint Leaf"),
|
||||
inventory_image = "farming_mint_leaf.png",
|
||||
groups = {food_mint = 1, flammable = 4}
|
||||
})
|
||||
|
||||
-- mint tea
|
||||
minetest.register_craftitem("farming:mint_tea", {
|
||||
description = S("Mint Tea"),
|
||||
inventory_image = "farming_mint_tea.png",
|
||||
on_use = minetest.item_eat(2, "vessels:drinking_glass"),
|
||||
groups = {flammable = 4}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:mint_tea",
|
||||
type = "shapeless",
|
||||
recipe = {
|
||||
"vessels:drinking_glass", "group:food_mint",
|
||||
"group:food_mint", "group:food_mint",
|
||||
"farming:juicer", "group:water_bucket"
|
||||
},
|
||||
replacements = {
|
||||
{"group:food_juicer", "farming:juicer"},
|
||||
{"group:water_bucket", "bucket:bucket_empty"}
|
||||
}
|
||||
})
|
||||
|
||||
if minetest.get_modpath("bucket_wooden") then
|
||||
minetest.register_craft({
|
||||
output = "farming:mint_tea",
|
||||
type = "shapeless",
|
||||
recipe = {
|
||||
"vessels:drinking_glass", "group:food_mint",
|
||||
"group:food_mint", "group:food_mint",
|
||||
"farming:juicer", "group:water_bucket_wooden"
|
||||
},
|
||||
replacements = {
|
||||
{"group:food_juicer", "farming:juicer"},
|
||||
{"group:water_bucket_wooden", "bucket_wooden:bucket_empty"}
|
||||
}
|
||||
})
|
||||
end
|
||||
|
||||
-- mint definition
|
||||
local def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_mint_1.png"},
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:mint_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
def.tiles = {"farming_mint_2.png"}
|
||||
minetest.register_node("farming:mint_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
def.tiles = {"farming_mint_3.png"}
|
||||
minetest.register_node("farming:mint_3", table.copy(def))
|
||||
|
||||
-- stage 4 (final)
|
||||
def.tiles = {"farming_mint_4.png"}
|
||||
def.groups.growing = nil
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:mint_leaf 2"}, rarity = 1},
|
||||
{items = {"farming:mint_leaf 2"}, rarity = 2},
|
||||
{items = {"farming:seed_mint 1"}, rarity = 1},
|
||||
{items = {"farming:seed_mint 2"}, rarity = 2},
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:mint_4", table.copy(def))
|
||||
|
||||
-- add to registered_plants
|
||||
farming.registered_plants["farming:mint"] = {
|
||||
crop = "farming:mint",
|
||||
seed = "farming:seed_mint",
|
||||
minlight = farming.min_light,
|
||||
maxlight = farming.max_light,
|
||||
steps = 4
|
||||
}
|
96
mods/farming/crops/onion.lua
Normal file
96
mods/farming/crops/onion.lua
Normal file
@@ -0,0 +1,96 @@
|
||||
|
||||
--[[
|
||||
Original textures from Crops Plus mod
|
||||
Copyright (C) 2018 Grizzly Adam
|
||||
https://forum.minetest.net/viewtopic.php?f=9&t=19488
|
||||
]]
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- onion
|
||||
minetest.register_craftitem("farming:onion", {
|
||||
description = S("Onion"),
|
||||
inventory_image = "crops_onion.png",
|
||||
groups = {seed = 2, food_onion = 1, flammable = 3},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:onion_1")
|
||||
end,
|
||||
on_use = minetest.item_eat(1)
|
||||
})
|
||||
|
||||
-- onion soup
|
||||
minetest.register_craftitem("farming:onion_soup", {
|
||||
description = S("Onion Soup"),
|
||||
inventory_image = "farming_onion_soup.png",
|
||||
groups = {flammable = 2},
|
||||
on_use = minetest.item_eat(6, "farming:bowl")
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "farming:onion_soup",
|
||||
recipe = {
|
||||
"group:food_onion", "group:food_onion", "group:food_pot",
|
||||
"group:food_onion", "group:food_onion",
|
||||
"group:food_onion", "group:food_onion", "group:food_bowl"
|
||||
},
|
||||
replacements = {{"farming:pot", "farming:pot"}}
|
||||
})
|
||||
|
||||
-- crop definition
|
||||
local def = {
|
||||
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 = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 3, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:onion_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
def.tiles = {"crops_onion_plant_2.png"}
|
||||
minetest.register_node("farming:onion_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
def.tiles = {"crops_onion_plant_3.png"}
|
||||
minetest.register_node("farming:onion_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
def.tiles = {"crops_onion_plant_4.png"}
|
||||
minetest.register_node("farming:onion_4", table.copy(def))
|
||||
|
||||
-- stage 5
|
||||
def.tiles = {"crops_onion_plant_5.png"}
|
||||
def.groups.growing = nil
|
||||
def.drop = {
|
||||
max_items = 5, items = {
|
||||
{items = {"farming:onion"}, rarity = 1},
|
||||
{items = {"farming:onion"}, rarity = 1},
|
||||
{items = {"farming:onion"}, rarity = 2},
|
||||
{items = {"farming:onion"}, rarity = 2},
|
||||
{items = {"farming:onion"}, rarity = 5},
|
||||
}
|
||||
}
|
||||
minetest.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
|
||||
}
|
97
mods/farming/crops/peas.lua
Normal file
97
mods/farming/crops/peas.lua
Normal file
@@ -0,0 +1,97 @@
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- Textures for Pea crop and Peas were done by Andrey01
|
||||
|
||||
-- pea pod
|
||||
minetest.register_craftitem("farming:pea_pod", {
|
||||
description = S("Pea Pod"),
|
||||
inventory_image = "farming_pea_pod.png",
|
||||
groups = {seed = 2, food_pea_pod = 1, flammable = 2},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:pea_1")
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_craftitem("farming:peas", {
|
||||
description = S("Peas"),
|
||||
inventory_image = "farming_pea_peas.png",
|
||||
groups = {food_peas = 1, flammable = 2},
|
||||
on_use = minetest.item_eat(1)
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "farming:peas",
|
||||
recipe = {"farming:pea_pod"}
|
||||
})
|
||||
|
||||
-- pea soup
|
||||
minetest.register_craftitem("farming:pea_soup", {
|
||||
description = S("Pea Soup"),
|
||||
inventory_image = "farming_pea_soup.png",
|
||||
groups = {flammable = 2},
|
||||
on_use = minetest.item_eat(4, "farming:bowl")
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "farming:pea_soup",
|
||||
recipe = {"group:food_peas", "group:food_peas", "group:food_bowl"}
|
||||
})
|
||||
|
||||
local def = {
|
||||
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 = {
|
||||
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:pea_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
def.tiles = {"farming_pea_2.png"}
|
||||
minetest.register_node("farming:pea_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
def.tiles = {"farming_pea_3.png"}
|
||||
minetest.register_node("farming:pea_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
def.tiles = {"farming_pea_4.png"}
|
||||
minetest.register_node("farming:pea_4", table.copy(def))
|
||||
|
||||
-- stage 5
|
||||
def.tiles = {"farming_pea_5.png"}
|
||||
def.groups.growing = nil
|
||||
def.drop = {
|
||||
max_items = 5, items = {
|
||||
{items = {"farming:pea_pod"}, rarity = 1},
|
||||
{items = {"farming:pea_pod"}, rarity = 2},
|
||||
{items = {"farming:pea_pod"}, rarity = 3},
|
||||
{items = {"farming:pea_pod"}, rarity = 5}
|
||||
}
|
||||
}
|
||||
minetest.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
|
||||
}
|
153
mods/farming/crops/pepper.lua
Normal file
153
mods/farming/crops/pepper.lua
Normal file
@@ -0,0 +1,153 @@
|
||||
|
||||
--[[
|
||||
Original textures from Crops Plus mod
|
||||
Copyright (C) 2018 Grizzly Adam
|
||||
https://forum.minetest.net/viewtopic.php?f=9&t=19488
|
||||
]]
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- peppercorn (seed)
|
||||
minetest.register_craftitem("farming:peppercorn", {
|
||||
description = S("Peppercorn"),
|
||||
inventory_image = "crops_peppercorn.png",
|
||||
groups = {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
|
||||
minetest.register_craftitem("farming:pepper", {
|
||||
description = S("Green Pepper"),
|
||||
inventory_image = "crops_pepper.png",
|
||||
on_use = minetest.item_eat(2),
|
||||
groups = {food_pepper = 1, flammable = 3}
|
||||
})
|
||||
|
||||
-- yellow pepper
|
||||
minetest.register_craftitem("farming:pepper_yellow", {
|
||||
description = S("Yellow Pepper"),
|
||||
inventory_image = "crops_pepper_yellow.png",
|
||||
on_use = minetest.item_eat(3),
|
||||
groups = {food_pepper = 1, flammable = 3},
|
||||
})
|
||||
|
||||
-- red pepper
|
||||
minetest.register_craftitem("farming:pepper_red", {
|
||||
description = S("Red Pepper"),
|
||||
inventory_image = "crops_pepper_red.png",
|
||||
on_use = minetest.item_eat(4),
|
||||
groups = {food_pepper = 1, flammable = 3},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "farming:peppercorn",
|
||||
recipe = {"group:food_pepper"}
|
||||
})
|
||||
|
||||
-- ground pepper
|
||||
minetest.register_node("farming:pepper_ground", {
|
||||
description = S("Ground Pepper"),
|
||||
inventory_image = "crops_pepper_ground.png",
|
||||
wield_image = "crops_pepper_ground.png",
|
||||
drawtype = "plantlike",
|
||||
visual_scale = 0.8,
|
||||
paramtype = "light",
|
||||
tiles = {"crops_pepper_ground.png"},
|
||||
groups = {
|
||||
vessel = 1, food_pepper_ground = 1,
|
||||
dig_immediate = 3, attached_node = 1
|
||||
},
|
||||
sounds = default.node_sound_defaults(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
output = "farming:pepper_ground",
|
||||
type = "shapeless",
|
||||
recipe = {"group:food_peppercorn", "vessels:glass_bottle", "farming:mortar_pestle"},
|
||||
replacements = {{"group:food_mortar_pestle", "farming:mortar_pestle"}}
|
||||
})
|
||||
|
||||
-- crop definition
|
||||
local def = {
|
||||
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 = {
|
||||
snappy = 3, flammable = 3, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:pepper_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
def.tiles = {"crops_pepper_plant_2.png"}
|
||||
minetest.register_node("farming:pepper_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
def.tiles = {"crops_pepper_plant_3.png"}
|
||||
minetest.register_node("farming:pepper_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
def.tiles = {"crops_pepper_plant_4.png"}
|
||||
minetest.register_node("farming:pepper_4", table.copy(def))
|
||||
|
||||
-- stage 5 (green pepper)
|
||||
def.tiles = {"crops_pepper_plant_5.png"}
|
||||
def.drop = {
|
||||
max_items = 2, items = {
|
||||
{items = {"farming:pepper 2"}, rarity = 1},
|
||||
{items = {"farming:pepper"}, rarity = 2},
|
||||
{items = {"farming:pepper"}, rarity = 3}
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:pepper_5", table.copy(def))
|
||||
|
||||
-- stage 6 (yellow pepper)
|
||||
def.tiles = {"crops_pepper_plant_6.png"}
|
||||
def.drop = {
|
||||
max_items = 2, items = {
|
||||
{items = {'farming:pepper_yellow 2'}, rarity = 1},
|
||||
{items = {'farming:pepper_yellow'}, rarity = 2},
|
||||
{items = {'farming:pepper_yellow'}, rarity = 3},
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:pepper_6", table.copy(def))
|
||||
|
||||
-- stage 7 (red pepper)
|
||||
def.tiles = {"crops_pepper_plant_7.png"}
|
||||
def.groups.growing = nil
|
||||
def.drop = {
|
||||
max_items = 2, items = {
|
||||
{items = {'farming:pepper_red 2'}, rarity = 1},
|
||||
{items = {'farming:pepper_red'}, rarity = 2},
|
||||
{items = {'farming:pepper_red'}, rarity = 3},
|
||||
}
|
||||
}
|
||||
minetest.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
|
||||
}
|
141
mods/farming/crops/pineapple.lua
Normal file
141
mods/farming/crops/pineapple.lua
Normal file
@@ -0,0 +1,141 @@
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- pineapple top
|
||||
minetest.register_craftitem("farming:pineapple_top", {
|
||||
description = S("Pineapple Top"),
|
||||
inventory_image = "farming_pineapple_top.png",
|
||||
groups = {seed = 2, flammable = 2},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:pineapple_1")
|
||||
end
|
||||
})
|
||||
|
||||
-- pineapple
|
||||
minetest.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}
|
||||
})
|
||||
|
||||
-- pineapple
|
||||
minetest.register_craftitem("farming:pineapple_ring", {
|
||||
description = S("Pineapple Ring"),
|
||||
inventory_image = "farming_pineapple_ring.png",
|
||||
groups = {food_pineapple_ring = 1, flammable = 2},
|
||||
on_use = minetest.item_eat(1)
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
output = "farming:pineapple_ring 5",
|
||||
type = "shapeless",
|
||||
recipe = {"group:food_pineapple"},
|
||||
replacements = {{"farming:pineapple", "farming:pineapple_top"}}
|
||||
})
|
||||
|
||||
-- pineapple juice
|
||||
minetest.register_craftitem("farming:pineapple_juice", {
|
||||
description = S("Pineapple Juice"),
|
||||
inventory_image = "farming_pineapple_juice.png",
|
||||
on_use = minetest.item_eat(4, "vessels:drinking_glass"),
|
||||
groups = {vessel = 1, drink = 1}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:pineapple_juice",
|
||||
type = "shapeless",
|
||||
recipe = {
|
||||
"vessels:drinking_glass", "group:food_pineapple_ring",
|
||||
"group:food_pineapple_ring", "group:food_pineapple_ring",
|
||||
"farming:juicer"},
|
||||
replacements = {
|
||||
{"group:food_juicer", "farming:juicer"}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:pineapple_juice 2",
|
||||
type = "shapeless",
|
||||
recipe = {
|
||||
"vessels:drinking_glass", "vessels:drinking_glass",
|
||||
"group:food_pineapple", "farming:juicer"
|
||||
},
|
||||
replacements = {
|
||||
{"group:food_juicer", "farming:juicer"}
|
||||
}
|
||||
})
|
||||
|
||||
-- crop definition
|
||||
local def = {
|
||||
drawtype = "plantlike",
|
||||
visual_scale = 1.5,
|
||||
tiles = {"farming_pineapple_1.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:pineapple_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
def.tiles = {"farming_pineapple_2.png"}
|
||||
minetest.register_node("farming:pineapple_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
def.tiles = {"farming_pineapple_3.png"}
|
||||
minetest.register_node("farming:pineapple_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
def.tiles = {"farming_pineapple_4.png"}
|
||||
minetest.register_node("farming:pineapple_4", table.copy(def))
|
||||
|
||||
-- stage 5
|
||||
def.tiles = {"farming_pineapple_5.png"}
|
||||
minetest.register_node("farming:pineapple_5", table.copy(def))
|
||||
|
||||
-- stage 6
|
||||
def.tiles = {"farming_pineapple_6.png"}
|
||||
minetest.register_node("farming:pineapple_6", table.copy(def))
|
||||
|
||||
-- stage 7
|
||||
def.tiles = {"farming_pineapple_7.png"}
|
||||
minetest.register_node("farming:pineapple_7", table.copy(def))
|
||||
|
||||
-- stage 8 (final)
|
||||
def.tiles = {"farming_pineapple_8.png"}
|
||||
def.groups.growing = nil
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:pineapple"}, rarity = 1},
|
||||
{items = {"farming:pineapple"}, rarity = 10}
|
||||
}
|
||||
}
|
||||
minetest.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
|
||||
}
|
112
mods/farming/crops/potato.lua
Normal file
112
mods/farming/crops/potato.lua
Normal file
@@ -0,0 +1,112 @@
|
||||
|
||||
--[[
|
||||
Original textures from DocFarming mod
|
||||
https://forum.minetest.net/viewtopic.php?id=3948
|
||||
]]
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- potato
|
||||
minetest.register_craftitem("farming:potato", {
|
||||
description = S("Potato"),
|
||||
inventory_image = "farming_potato.png",
|
||||
groups = {seed = 2, food_potato = 1, flammable = 2},
|
||||
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 minetest.do_item_eat(-1, nil, itemstack, user, pointed_thing)
|
||||
else
|
||||
return minetest.do_item_eat(1, nil, itemstack, user, pointed_thing)
|
||||
end
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
-- baked potato
|
||||
minetest.register_craftitem("farming:baked_potato", {
|
||||
description = S("Baked Potato"),
|
||||
inventory_image = "farming_baked_potato.png",
|
||||
on_use = minetest.item_eat(6)
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
cooktime = 10,
|
||||
output = "farming:baked_potato",
|
||||
recipe = "group:food_potato"
|
||||
})
|
||||
|
||||
-- Potato and cucumber Salad
|
||||
minetest.register_craftitem("farming:potato_salad", {
|
||||
description = S("Cucumber and Potato Salad"),
|
||||
inventory_image = "farming_potato_salad.png",
|
||||
on_use = minetest.item_eat(10, "farming:bowl")
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:potato_salad",
|
||||
recipe = {
|
||||
{"group:food_cucumber"},
|
||||
{"farming:baked_potato"},
|
||||
{"group:food_bowl"}
|
||||
}
|
||||
})
|
||||
|
||||
-- potato definition
|
||||
local def = {
|
||||
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 = {
|
||||
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:potato_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
def.tiles = {"farming_potato_2.png"}
|
||||
minetest.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}
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:potato_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
def.tiles = {"farming_potato_4.png"}
|
||||
def.groups.growing = nil
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:potato 2"}, rarity = 1},
|
||||
{items = {"farming:potato 3"}, rarity = 2}
|
||||
}
|
||||
}
|
||||
minetest.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
|
||||
}
|
206
mods/farming/crops/pumpkin.lua
Normal file
206
mods/farming/crops/pumpkin.lua
Normal file
@@ -0,0 +1,206 @@
|
||||
|
||||
--[[
|
||||
Big thanks to PainterlyPack.net for allowing me to use these textures
|
||||
]]
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- pumpkin slice
|
||||
minetest.register_craftitem("farming:pumpkin_slice", {
|
||||
description = S("Pumpkin Slice"),
|
||||
inventory_image = "farming_pumpkin_slice.png",
|
||||
groups = {seed = 2, food_pumpkin_slice = 1, flammable = 2},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:pumpkin_1")
|
||||
end,
|
||||
on_use = minetest.item_eat(2)
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:pumpkin",
|
||||
recipe = {
|
||||
{"farming:pumpkin_slice", "farming:pumpkin_slice"},
|
||||
{"farming:pumpkin_slice", "farming:pumpkin_slice"}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "farming:pumpkin_slice 4",
|
||||
recipe = {"farming:pumpkin", "farming:cutting_board"},
|
||||
replacements = {{"farming:cutting_board", "farming:cutting_board"}}
|
||||
})
|
||||
|
||||
-- jack 'o lantern
|
||||
minetest.register_node("farming:jackolantern", {
|
||||
description = S("Jack 'O Lantern (punch to turn on and off)"),
|
||||
tiles = {
|
||||
"farming_pumpkin_top.png", "farming_pumpkin_top.png",
|
||||
"farming_pumpkin_side.png", "farming_pumpkin_side.png",
|
||||
"farming_pumpkin_side.png", "farming_pumpkin_face_off.png"
|
||||
},
|
||||
paramtype2 = "facedir",
|
||||
groups = {choppy = 1, oddly_breakable_by_hand = 1, flammable = 2},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
on_punch = function(pos, node, puncher)
|
||||
local name = puncher:get_player_name() or ""
|
||||
if minetest.is_protected(pos, name) then return end
|
||||
node.name = "farming:jackolantern_on"
|
||||
minetest.swap_node(pos, node)
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_node("farming:jackolantern_on", {
|
||||
tiles = {
|
||||
"farming_pumpkin_top.png", "farming_pumpkin_top.png",
|
||||
"farming_pumpkin_side.png", "farming_pumpkin_side.png",
|
||||
"farming_pumpkin_side.png", "farming_pumpkin_face_on.png"
|
||||
},
|
||||
light_source = default.LIGHT_MAX - 1,
|
||||
paramtype2 = "facedir",
|
||||
groups = {
|
||||
choppy = 1, oddly_breakable_by_hand = 1, flammable = 2,
|
||||
not_in_creative_inventory = 1
|
||||
},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
drop = "farming:jackolantern",
|
||||
on_punch = function(pos, node, puncher)
|
||||
local name = puncher:get_player_name() or ""
|
||||
if minetest.is_protected(pos, name) then return end
|
||||
node.name = "farming:jackolantern"
|
||||
minetest.swap_node(pos, node)
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:jackolantern",
|
||||
recipe = {
|
||||
{"default:torch"},
|
||||
{"group:food_pumpkin"}
|
||||
}
|
||||
})
|
||||
|
||||
--- wooden scarecrow base
|
||||
minetest.register_node("farming:scarecrow_bottom", {
|
||||
description = S("Scarecrow Bottom"),
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
paramtype2 = "facedir",
|
||||
tiles = {"default_wood.png"},
|
||||
drawtype = "nodebox",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-1/16, -8/16, -1/16, 1/16, 8/16, 1/16},
|
||||
{-12/16, 4/16, -1/16, 12/16, 2/16, 1/16},
|
||||
}
|
||||
},
|
||||
groups = {snappy = 3, flammable = 2}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:scarecrow_bottom",
|
||||
recipe = {
|
||||
{"", "group:stick", ""},
|
||||
{"group:stick", "group:stick", "group:stick"},
|
||||
{"", "group:stick", ""}
|
||||
}
|
||||
})
|
||||
|
||||
-- pumpkin bread
|
||||
minetest.register_craftitem("farming:pumpkin_bread", {
|
||||
description = S("Pumpkin Bread"),
|
||||
inventory_image = "farming_pumpkin_bread.png",
|
||||
on_use = minetest.item_eat(8),
|
||||
groups = {food_bread = 1, flammable = 2}
|
||||
})
|
||||
|
||||
minetest.register_craftitem("farming:pumpkin_dough", {
|
||||
description = S("Pumpkin Dough"),
|
||||
inventory_image = "farming_pumpkin_dough.png"
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:pumpkin_dough",
|
||||
type = "shapeless",
|
||||
recipe = {"group:food_flour", "group:food_pumpkin_slice", "group:food_pumpkin_slice"}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "farming:pumpkin_bread",
|
||||
recipe = "farming:pumpkin_dough",
|
||||
cooktime = 10
|
||||
})
|
||||
|
||||
-- pumpkin definition
|
||||
local def = {
|
||||
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 = {
|
||||
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:pumpkin_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
def.tiles = {"farming_pumpkin_2.png"}
|
||||
minetest.register_node("farming:pumpkin_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
def.tiles = {"farming_pumpkin_3.png"}
|
||||
minetest.register_node("farming:pumpkin_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
def.tiles = {"farming_pumpkin_4.png"}
|
||||
minetest.register_node("farming:pumpkin_4", table.copy(def))
|
||||
|
||||
-- stage 5
|
||||
def.tiles = {"farming_pumpkin_5.png"}
|
||||
minetest.register_node("farming:pumpkin_5", table.copy(def))
|
||||
|
||||
-- stage 6
|
||||
def.tiles = {"farming_pumpkin_6.png"}
|
||||
minetest.register_node("farming:pumpkin_6", table.copy(def))
|
||||
|
||||
-- stage 7
|
||||
def.tiles = {"farming_pumpkin_7.png"}
|
||||
minetest.register_node("farming:pumpkin_7", table.copy(def))
|
||||
|
||||
-- stage 8 (final)
|
||||
minetest.register_node("farming:pumpkin_8", {
|
||||
description = S("Pumpkin"),
|
||||
tiles = {
|
||||
"farming_pumpkin_top.png",
|
||||
"farming_pumpkin_top.png",
|
||||
"farming_pumpkin_side.png"
|
||||
},
|
||||
groups = {
|
||||
food_pumpkin = 1, choppy = 2, oddly_breakable_by_hand = 1,
|
||||
flammable = 2, plant = 1
|
||||
},
|
||||
drop = "farming:pumpkin_8",
|
||||
sounds = default.node_sound_wood_defaults()
|
||||
})
|
||||
|
||||
minetest.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
|
||||
}
|
80
mods/farming/crops/raspberry.lua
Normal file
80
mods/farming/crops/raspberry.lua
Normal file
@@ -0,0 +1,80 @@
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- raspberries
|
||||
minetest.register_craftitem("farming:raspberries", {
|
||||
description = S("Raspberries"),
|
||||
inventory_image = "farming_raspberries.png",
|
||||
groups = {seed = 2, food_raspberries = 1, food_raspberry = 1,
|
||||
food_berry = 1, flammable = 2},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:raspberry_1")
|
||||
end,
|
||||
on_use = minetest.item_eat(1)
|
||||
})
|
||||
|
||||
-- raspberry smoothie
|
||||
minetest.register_craftitem("farming:smoothie_raspberry", {
|
||||
description = S("Raspberry Smoothie"),
|
||||
inventory_image = "farming_raspberry_smoothie.png",
|
||||
on_use = minetest.item_eat(2, "vessels:drinking_glass"),
|
||||
groups = {vessel = 1, drink = 1}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:smoothie_raspberry",
|
||||
recipe = {
|
||||
{"default:snow"},
|
||||
{"group:food_raspberries"},
|
||||
{"vessels:drinking_glass"}
|
||||
}
|
||||
})
|
||||
|
||||
-- raspberries definition
|
||||
local def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_raspberry_1.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:raspberry_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
def.tiles = {"farming_raspberry_2.png"}
|
||||
minetest.register_node("farming:raspberry_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
def.tiles = {"farming_raspberry_3.png"}
|
||||
minetest.register_node("farming:raspberry_3", table.copy(def))
|
||||
|
||||
-- stage 4 (final)
|
||||
def.tiles = {"farming_raspberry_4.png"}
|
||||
def.groups.growing = nil
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:raspberries 2"}, rarity = 1},
|
||||
{items = {"farming:raspberries"}, rarity = 2},
|
||||
{items = {"farming:raspberries"}, rarity = 3}
|
||||
}
|
||||
}
|
||||
minetest.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
|
||||
}
|
77
mods/farming/crops/rhubarb.lua
Normal file
77
mods/farming/crops/rhubarb.lua
Normal file
@@ -0,0 +1,77 @@
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- rhubarb
|
||||
minetest.register_craftitem("farming:rhubarb", {
|
||||
description = S("Rhubarb"),
|
||||
inventory_image = "farming_rhubarb.png",
|
||||
groups = {seed = 2, food_rhubarb = 1, flammable = 2},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:rhubarb_1")
|
||||
end,
|
||||
on_use = minetest.item_eat(1)
|
||||
})
|
||||
|
||||
-- rhubarb pie
|
||||
minetest.register_craftitem("farming:rhubarb_pie", {
|
||||
description = S("Rhubarb Pie"),
|
||||
inventory_image = "farming_rhubarb_pie.png",
|
||||
on_use = minetest.item_eat(6)
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:rhubarb_pie",
|
||||
recipe = {
|
||||
{"farming:baking_tray", "group:food_sugar", ""},
|
||||
{"group:food_rhubarb", "group:food_rhubarb", "group:food_rhubarb"},
|
||||
{"group:food_wheat", "group:food_wheat", "group:food_wheat"}
|
||||
},
|
||||
replacements = {{"group:food_baking_tray", "farming:baking_tray"}}
|
||||
})
|
||||
|
||||
-- rhubarb definition
|
||||
local def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_rhubarb_1.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
minlight = 10,
|
||||
maxlight = 12,
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:rhubarb_1", table.copy(def))
|
||||
|
||||
-- stage2
|
||||
def.tiles = {"farming_rhubarb_2.png"}
|
||||
minetest.register_node("farming:rhubarb_2", table.copy(def))
|
||||
|
||||
-- stage 3 (final)
|
||||
def.tiles = {"farming_rhubarb_3.png"}
|
||||
def.groups.growing = nil
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:rhubarb 2"}, rarity = 1},
|
||||
{items = {"farming:rhubarb"}, rarity = 2},
|
||||
{items = {"farming:rhubarb"}, rarity = 3}
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:rhubarb_3", table.copy(def))
|
||||
|
||||
-- add to registered_plants
|
||||
farming.registered_plants["farming:rhubarb"] = {
|
||||
crop = "farming:rhubarb",
|
||||
seed = "farming:rhubarb",
|
||||
minlight = 10,
|
||||
maxlight = 12,
|
||||
steps = 3
|
||||
}
|
165
mods/farming/crops/ryeoatrice.lua
Normal file
165
mods/farming/crops/ryeoatrice.lua
Normal file
@@ -0,0 +1,165 @@
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
--= A nice addition from Ademant's grain mod :)
|
||||
|
||||
-- Rye
|
||||
|
||||
farming.register_plant("farming:rye", {
|
||||
description = S("Rye seed"),
|
||||
paramtype2 = "meshoptions",
|
||||
inventory_image = "farming_rye_seed.png",
|
||||
steps = 8,
|
||||
place_param2 = 3
|
||||
})
|
||||
|
||||
minetest.override_item("farming:rye", {
|
||||
description = S("Rye"),
|
||||
groups = {food_rye = 1, flammable = 4}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "farming:flour",
|
||||
recipe = {
|
||||
"farming:rye", "farming:rye", "farming:rye", "farming:rye",
|
||||
"farming:mortar_pestle"
|
||||
},
|
||||
replacements = {{"group:food_mortar_pestle", "farming:mortar_pestle"}}
|
||||
})
|
||||
|
||||
-- Oats
|
||||
|
||||
farming.register_plant("farming:oat", {
|
||||
description = S("Oat seed"),
|
||||
paramtype2 = "meshoptions",
|
||||
inventory_image = "farming_oat_seed.png",
|
||||
steps = 8,
|
||||
place_param2 = 3
|
||||
})
|
||||
|
||||
minetest.override_item("farming:oat", {
|
||||
description = S("Oats"),
|
||||
groups = {food_oats = 1, flammable = 4}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "farming:flour",
|
||||
recipe = {
|
||||
"farming:oat", "farming:oat", "farming:oat", "farming:oat",
|
||||
"farming:mortar_pestle"
|
||||
},
|
||||
replacements = {{"group:food_mortar_pestle", "farming:mortar_pestle"}}
|
||||
})
|
||||
|
||||
-- Rice
|
||||
|
||||
farming.register_plant("farming:rice", {
|
||||
description = S("Rice grains"),
|
||||
paramtype2 = "meshoptions",
|
||||
inventory_image = "farming_rice_seed.png",
|
||||
steps = 8,
|
||||
place_param2 = 3
|
||||
})
|
||||
|
||||
minetest.override_item("farming:rice", {
|
||||
description = S("Rice"),
|
||||
groups = {food_rice = 1, flammable = 4}
|
||||
})
|
||||
|
||||
minetest.register_craftitem("farming:rice_bread", {
|
||||
description = S("Rice Bread"),
|
||||
inventory_image = "farming_rice_bread.png",
|
||||
on_use = minetest.item_eat(5),
|
||||
groups = {food_rice_bread = 1, flammable = 2}
|
||||
})
|
||||
|
||||
minetest.register_craftitem("farming:rice_flour", {
|
||||
description = S("Rice Flour"),
|
||||
inventory_image = "farming_rice_flour.png",
|
||||
groups = {food_rice_flour = 1, flammable = 1}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "farming:rice_flour",
|
||||
recipe = {
|
||||
"farming:rice", "farming:rice", "farming:rice", "farming:rice",
|
||||
"farming:mortar_pestle"
|
||||
},
|
||||
replacements = {{"group:food_mortar_pestle", "farming:mortar_pestle"}}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
cooktime = 15,
|
||||
output = "farming:rice_bread",
|
||||
recipe = "farming:rice_flour"
|
||||
})
|
||||
|
||||
-- Multigrain flour
|
||||
|
||||
minetest.register_craftitem("farming:flour_multigrain", {
|
||||
description = S("Multigrain Flour"),
|
||||
inventory_image = "farming_flour_multigrain.png",
|
||||
groups = {food_flour = 1, flammable = 1},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "farming:flour_multigrain",
|
||||
recipe = {
|
||||
"farming:wheat", "farming:barley", "farming:oat",
|
||||
"farming:rye", "farming:mortar_pestle"
|
||||
},
|
||||
replacements = {{"group:food_mortar_pestle", "farming:mortar_pestle"}}
|
||||
})
|
||||
|
||||
-- Multigrain bread
|
||||
|
||||
minetest.register_craftitem("farming:bread_multigrain", {
|
||||
description = S("Multigrain Bread"),
|
||||
inventory_image = "farming_bread_multigrain.png",
|
||||
on_use = minetest.item_eat(7),
|
||||
groups = {food_bread = 1, flammable = 2}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
cooktime = 15,
|
||||
output = "farming:bread_multigrain",
|
||||
recipe = "farming:flour_multigrain"
|
||||
})
|
||||
|
||||
-- Fuels
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "farming:rice_bread",
|
||||
burntime = 1
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "farming:bread_multigrain",
|
||||
burntime = 1
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "farming:rye",
|
||||
burntime = 1
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "farming:oat",
|
||||
burntime = 1
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "farming:rice",
|
||||
burntime = 1
|
||||
})
|
171
mods/farming/crops/soy.lua
Normal file
171
mods/farming/crops/soy.lua
Normal file
@@ -0,0 +1,171 @@
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- soy pod
|
||||
minetest.register_craftitem("farming:soy_pod", {
|
||||
description = S("Soy Pod"),
|
||||
inventory_image = "farming_soy_pod.png",
|
||||
groups = {seed = 2, 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
|
||||
})
|
||||
|
||||
minetest.register_craftitem("farming:soy_beans", {
|
||||
description = S("Soy Beans"),
|
||||
inventory_image = "farming_soy_beans.png",
|
||||
groups = {food_soy = 1, flammable = 2},
|
||||
on_use = minetest.item_eat(1)
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "farming:soy_beans",
|
||||
recipe = {"farming:soy_pod"}
|
||||
})
|
||||
|
||||
-- soy milk
|
||||
minetest.register_node("farming:soy_milk", {
|
||||
description = S("Soy Milk"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_soy_milk_glass.png"},
|
||||
inventory_image = "farming_soy_milk_glass.png",
|
||||
wield_image = "farming_soy_milk_glass.png",
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3}
|
||||
},
|
||||
on_use = minetest.item_eat(2, "vessels:drinking_glass"),
|
||||
groups = {
|
||||
vessel = 1, food_milk_glass = 1, dig_immediate = 3,
|
||||
attached_node = 1, drink = 1
|
||||
},
|
||||
sounds = default.node_sound_glass_defaults()
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "farming:soy_milk",
|
||||
recipe = {
|
||||
"group:food_soy", "group:food_soy", "group:food_soy",
|
||||
"farming:vanilla_extract", "bucket:bucket_water", "vessels:drinking_glass"
|
||||
},
|
||||
replacements = {
|
||||
{"bucket:bucket_water", "bucket:bucket_empty"},
|
||||
{"farming:vanilla_extract", "vessels:glass_bottle"}
|
||||
}
|
||||
})
|
||||
|
||||
-- tofu
|
||||
minetest.register_craftitem("farming:tofu", {
|
||||
description = S("Tofu"),
|
||||
inventory_image = "farming_tofu.png",
|
||||
groups = {food_tofu = 1, food_meat_raw = 1, flammable = 2},
|
||||
on_use = minetest.item_eat(3)
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:tofu",
|
||||
type = "shapeless",
|
||||
recipe = {
|
||||
"farming:baking_tray", "group:food_soy", "group:food_soy",
|
||||
"group:food_soy", "group:food_soy", "group:food_soy",
|
||||
},
|
||||
replacements = {{"farming:baking_tray", "farming:baking_tray"}}
|
||||
})
|
||||
|
||||
-- cooked tofu
|
||||
minetest.register_craftitem("farming:tofu_cooked", {
|
||||
description = S("Cooked Tofu"),
|
||||
inventory_image = "farming_tofu_cooked.png",
|
||||
groups = {food_meat = 1, flammable = 2},
|
||||
on_use = minetest.item_eat(6)
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "farming:tofu_cooked",
|
||||
recipe = "farming:tofu",
|
||||
cooktime = 5
|
||||
})
|
||||
|
||||
-- crop definition
|
||||
|
||||
local def = {
|
||||
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 = {
|
||||
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:soy_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
def.tiles = {"farming_soy_2.png"}
|
||||
minetest.register_node("farming:soy_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
def.tiles = {"farming_soy_3.png"}
|
||||
minetest.register_node("farming:soy_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
def.tiles = {"farming_soy_4.png"}
|
||||
minetest.register_node("farming:soy_4", table.copy(def))
|
||||
|
||||
-- stage 5
|
||||
def.tiles = {"farming_soy_5.png"}
|
||||
def.drop = {
|
||||
max_items = 1, items = {
|
||||
{items = {'farming:soy_pod'}, rarity = 1},
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:soy_5", table.copy(def))
|
||||
|
||||
-- stage 6
|
||||
def.tiles = {"farming_soy_6.png"}
|
||||
def.drop = {
|
||||
max_items = 3, items = {
|
||||
{items = {'farming:soy_pod'}, rarity = 1},
|
||||
{items = {'farming:soy_pod'}, rarity = 2},
|
||||
{items = {'farming:soy_pod'}, rarity = 3},
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:soy_6", table.copy(def))
|
||||
|
||||
-- stage 7
|
||||
def.tiles = {"farming_soy_7.png"}
|
||||
def.groups.growing = nil
|
||||
def.drop = {
|
||||
max_items = 5, items = {
|
||||
{items = {'farming:soy_pod'}, rarity = 1},
|
||||
{items = {'farming:soy_pod'}, rarity = 2},
|
||||
{items = {'farming:soy_pod'}, rarity = 3},
|
||||
{items = {'farming:soy_pod'}, rarity = 4},
|
||||
{items = {'farming:soy_pod'}, rarity = 5}
|
||||
}
|
||||
}
|
||||
minetest.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
|
||||
}
|
89
mods/farming/crops/tomato.lua
Normal file
89
mods/farming/crops/tomato.lua
Normal file
@@ -0,0 +1,89 @@
|
||||
|
||||
--[[
|
||||
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 = farming.intllib
|
||||
|
||||
-- tomato
|
||||
minetest.register_craftitem("farming:tomato", {
|
||||
description = S("Tomato"),
|
||||
inventory_image = "farming_tomato.png",
|
||||
groups = {seed = 2, food_tomato = 1, flammable = 2},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:tomato_1")
|
||||
end,
|
||||
on_use = minetest.item_eat(4)
|
||||
})
|
||||
|
||||
-- tomato definition
|
||||
local def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_tomato_1.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:tomato_1", table.copy(def))
|
||||
|
||||
-- stage2
|
||||
def.tiles = {"farming_tomato_2.png"}
|
||||
minetest.register_node("farming:tomato_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
def.tiles = {"farming_tomato_3.png"}
|
||||
minetest.register_node("farming:tomato_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
def.tiles = {"farming_tomato_4.png"}
|
||||
minetest.register_node("farming:tomato_4", table.copy(def))
|
||||
|
||||
-- stage 5
|
||||
def.tiles = {"farming_tomato_5.png"}
|
||||
minetest.register_node("farming:tomato_5", table.copy(def))
|
||||
|
||||
-- stage 6
|
||||
def.tiles = {"farming_tomato_6.png"}
|
||||
minetest.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}
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:tomato_7", table.copy(def))
|
||||
|
||||
-- stage 8 (final)
|
||||
def.tiles = {"farming_tomato_8.png"}
|
||||
def.groups.growing = nil
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:tomato 3"}, rarity = 1},
|
||||
{items = {"farming:tomato 2"}, rarity = 2},
|
||||
{items = {"farming:tomato 1"}, rarity = 3}
|
||||
}
|
||||
}
|
||||
minetest.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
|
||||
}
|
122
mods/farming/crops/vanilla.lua
Normal file
122
mods/farming/crops/vanilla.lua
Normal file
@@ -0,0 +1,122 @@
|
||||
local S = farming.intllib
|
||||
|
||||
-- vanilla
|
||||
minetest.register_craftitem("farming:vanilla", {
|
||||
description = S("Vanilla"),
|
||||
inventory_image = "farming_vanilla.png",
|
||||
groups = {seed = 2, food_vanilla = 1, flammable = 2},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:vanilla_1")
|
||||
end,
|
||||
on_use = minetest.item_eat(1),
|
||||
})
|
||||
|
||||
-- crop definition
|
||||
local def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_vanilla_1.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- vanilla extract
|
||||
minetest.register_node("farming:vanilla_extract", {
|
||||
description = S("Vanilla Extract"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_vanilla_extract.png"},
|
||||
inventory_image = "farming_vanilla_extract.png",
|
||||
wield_image = "farming_vanilla_extract.png",
|
||||
paramtype = "light",
|
||||
is_ground_content = false,
|
||||
walkable = false,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25}
|
||||
},
|
||||
groups = {vessel = 1, dig_immediate = 3, attached_node = 1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
output = "farming:vanilla_extract",
|
||||
recipe = {
|
||||
{ "group:food_vanilla", "group:food_vanilla", "group:food_vanilla"},
|
||||
{ "group:food_vanilla", "farming:bottle_ethanol", "bucket:bucket_water"},
|
||||
},
|
||||
replacements = {
|
||||
{"bucket:bucket_water", "bucket:bucket_empty"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "farming:vanilla_extract",
|
||||
burntime = 25,
|
||||
replacements = {{ "farming:vanilla_extract", "vessels:glass_bottle" }}
|
||||
})
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:vanilla_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
def.tiles = {"farming_vanilla_2.png"}
|
||||
minetest.register_node("farming:vanilla_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
def.tiles = {"farming_vanilla_3.png"}
|
||||
minetest.register_node("farming:vanilla_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
def.tiles = {"farming_vanilla_4.png"}
|
||||
minetest.register_node("farming:vanilla_4", table.copy(def))
|
||||
|
||||
-- stage 5
|
||||
def.tiles = {"farming_vanilla_5.png"}
|
||||
minetest.register_node("farming:vanilla_5", table.copy(def))
|
||||
|
||||
-- stage 6
|
||||
def.tiles = {"farming_vanilla_6.png"}
|
||||
def.visual_scale = 1.9
|
||||
minetest.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 = 2},
|
||||
{items = {'farming:vanilla'}, rarity = 3}
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:vanilla_7", table.copy(def))
|
||||
|
||||
-- stage 8 (final)
|
||||
def.tiles = {"farming_vanilla_8.png"}
|
||||
def.groups.growing = nil
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {'farming:vanilla 2'}, rarity = 1},
|
||||
{items = {'farming:vanilla 2'}, rarity = 2},
|
||||
{items = {'farming:vanilla 2'}, rarity = 2},
|
||||
{items = {'farming:vanilla 2'}, rarity = 3}
|
||||
}
|
||||
}
|
||||
minetest.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
|
||||
}
|
253
mods/farming/crops/wheat.lua
Normal file
253
mods/farming/crops/wheat.lua
Normal file
@@ -0,0 +1,253 @@
|
||||
|
||||
local S = farming.intllib
|
||||
|
||||
-- wheat seeds
|
||||
minetest.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 = {seed = 1, snappy = 3, attached_node = 1, flammable = 4},
|
||||
paramtype = "light",
|
||||
paramtype2 = "wallmounted",
|
||||
walkable = false,
|
||||
sunlight_propagates = true,
|
||||
selection_box = farming.select,
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "farming:wheat_1")
|
||||
end
|
||||
})
|
||||
|
||||
-- harvested wheat
|
||||
minetest.register_craftitem("farming:wheat", {
|
||||
description = S("Wheat"),
|
||||
inventory_image = "farming_wheat.png",
|
||||
groups = {food_wheat = 1, flammable = 4}
|
||||
})
|
||||
|
||||
-- straw
|
||||
minetest.register_node("farming:straw", {
|
||||
description = S("Straw"),
|
||||
tiles = {"farming_straw.png"},
|
||||
is_ground_content = false,
|
||||
groups = {snappy = 3, flammable = 4, fall_damage_add_percent = -30},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:straw 3",
|
||||
recipe = {
|
||||
{"farming:wheat", "farming:wheat", "farming:wheat"},
|
||||
{"farming:wheat", "farming:wheat", "farming:wheat"},
|
||||
{"farming:wheat", "farming:wheat", "farming:wheat"}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:wheat 3",
|
||||
recipe = {
|
||||
{"farming:straw"}
|
||||
}
|
||||
})
|
||||
|
||||
-- check and register stairs
|
||||
if minetest.global_exists("stairs") then
|
||||
|
||||
if stairs.mod and stairs.mod == "redo" then
|
||||
|
||||
stairs.register_all("straw", "farming:straw",
|
||||
{snappy = 3, flammable = 4},
|
||||
{"farming_straw.png"},
|
||||
"Straw",
|
||||
default.node_sound_leaves_defaults())
|
||||
else
|
||||
|
||||
stairs.register_stair_and_slab("straw", "farming:straw",
|
||||
{snappy = 3, flammable = 4},
|
||||
{"farming_straw.png"},
|
||||
"Straw Stair",
|
||||
"Straw Slab",
|
||||
default.node_sound_leaves_defaults())
|
||||
end
|
||||
end
|
||||
|
||||
-- flour
|
||||
minetest.register_craftitem("farming:flour", {
|
||||
description = S("Flour"),
|
||||
inventory_image = "farming_flour.png",
|
||||
groups = {food_flour = 1, flammable = 1}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "farming:flour",
|
||||
recipe = {
|
||||
"farming:wheat", "farming:wheat", "farming:wheat",
|
||||
"farming:wheat", "farming:mortar_pestle"
|
||||
},
|
||||
replacements = {{"group:food_mortar_pestle", "farming:mortar_pestle"}}
|
||||
})
|
||||
|
||||
-- bread
|
||||
minetest.register_craftitem("farming:bread", {
|
||||
description = S("Bread"),
|
||||
inventory_image = "farming_bread.png",
|
||||
on_use = minetest.item_eat(5),
|
||||
groups = {food_bread = 1, flammable = 2}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
cooktime = 15,
|
||||
output = "farming:bread",
|
||||
recipe = "farming:flour"
|
||||
})
|
||||
|
||||
-- sliced bread
|
||||
minetest.register_craftitem("farming:bread_slice", {
|
||||
description = S("Sliced Bread"),
|
||||
inventory_image = "farming_bread_slice.png",
|
||||
on_use = minetest.item_eat(1),
|
||||
groups = {food_bread_slice = 1, flammable = 2}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "farming:bread_slice 5",
|
||||
recipe = {"farming:bread", "group:food_cutting_board"},
|
||||
replacements = {{"group:food_cutting_board", "farming:cutting_board"}}
|
||||
})
|
||||
|
||||
-- toast
|
||||
minetest.register_craftitem("farming:toast", {
|
||||
description = S("Toast"),
|
||||
inventory_image = "farming_toast.png",
|
||||
on_use = minetest.item_eat(1),
|
||||
groups = {food_toast = 1, flammable = 2}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
cooktime = 3,
|
||||
output = "farming:toast",
|
||||
recipe = "farming:bread_slice"
|
||||
})
|
||||
|
||||
-- toast sandwich
|
||||
minetest.register_craftitem("farming:toast_sandwich", {
|
||||
description = S("Toast Sandwich"),
|
||||
inventory_image = "farming_toast_sandwich.png",
|
||||
on_use = minetest.item_eat(4),
|
||||
groups = {flammable = 2}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:toast_sandwich",
|
||||
recipe = {
|
||||
{"farming:bread_slice"},
|
||||
{"farming:toast"},
|
||||
{"farming:bread_slice"}
|
||||
}
|
||||
})
|
||||
|
||||
-- wheat definition
|
||||
local def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"farming_wheat_1.png"},
|
||||
paramtype = "light",
|
||||
paramtype2 = "meshoptions",
|
||||
place_param2 = 3,
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = farming.select,
|
||||
groups = {
|
||||
snappy = 3, flammable = 4, plant = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, growing = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
}
|
||||
|
||||
-- stage 1
|
||||
minetest.register_node("farming:wheat_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
def.tiles = {"farming_wheat_2.png"}
|
||||
minetest.register_node("farming:wheat_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
def.tiles = {"farming_wheat_3.png"}
|
||||
minetest.register_node("farming:wheat_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
def.tiles = {"farming_wheat_4.png"}
|
||||
minetest.register_node("farming:wheat_4", table.copy(def))
|
||||
|
||||
-- stage 5
|
||||
def.tiles = {"farming_wheat_5.png"}
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:wheat"}, rarity = 2},
|
||||
{items = {"farming:seed_wheat"}, rarity = 2}
|
||||
}
|
||||
}
|
||||
minetest.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 = 1}
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:wheat_6", table.copy(def))
|
||||
|
||||
-- stage 7
|
||||
def.tiles = {"farming_wheat_7.png"}
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:wheat"}, rarity = 1},
|
||||
{items = {"farming:wheat"}, rarity = 3},
|
||||
{items = {"farming:seed_wheat"}, rarity = 1},
|
||||
{items = {"farming:seed_wheat"}, rarity = 3}
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:wheat_7", table.copy(def))
|
||||
|
||||
-- stage 8 (final)
|
||||
def.tiles = {"farming_wheat_8.png"}
|
||||
def.groups.growing = nil
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"farming:wheat"}, rarity = 1},
|
||||
{items = {"farming:wheat"}, rarity = 3},
|
||||
{items = {"farming:seed_wheat"}, rarity = 1},
|
||||
{items = {"farming:seed_wheat"}, rarity = 3}
|
||||
}
|
||||
}
|
||||
minetest.register_node("farming:wheat_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
|
||||
}
|
||||
|
||||
-- fuels
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "farming:straw",
|
||||
burntime = 3
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "farming:wheat",
|
||||
burntime = 1
|
||||
})
|
Reference in New Issue
Block a user