Erinfest/mods/farming/hoes.lua

139 lines
3.4 KiB
Lua
Raw Normal View History

local function create_soil(pos, inv)
2015-06-29 19:55:56 +02:00
if pos == nil then
return false
end
local node = minetest.env:get_node(pos)
local name = node.name
local above = minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z})
if name == "default:dirt" or name == "default:dirt_with_grass" then
if above.name == "air" then
node.name = "farming:soil"
minetest.env:set_node(pos, node)
return true
end
end
return false
end
minetest.register_tool("farming:hoe_wood", {
description = "Wood Hoe",
inventory_image = "farming_tool_woodhoe.png",
on_place = function(itemstack, user, pointed_thing)
if create_soil(pointed_thing.under, user:get_inventory()) then
2015-06-29 19:55:56 +02:00
if not minetest.setting_getbool("creative_mode") then
2017-01-04 11:05:41 +01:00
itemstack:add_wear(65535/60)
2015-06-29 19:55:56 +02:00
end
return itemstack
end
end
})
minetest.register_craft({
output = "farming:hoe_wood",
recipe = {
{"default:wood", "default:wood"},
{"", "default:stick"},
{"", "default:stick"}
}
})
minetest.register_tool("farming:hoe_stone", {
description = "Stone Hoe",
inventory_image = "farming_tool_stonehoe.png",
on_place = function(itemstack, user, pointed_thing)
if create_soil(pointed_thing.under, user:get_inventory()) then
2015-06-29 19:55:56 +02:00
if not minetest.setting_getbool("creative_mode") then
2017-01-04 11:05:41 +01:00
itemstack:add_wear(65535/132)
2015-06-29 19:55:56 +02:00
end
return itemstack
end
end
})
minetest.register_craft({
output = "farming:hoe_stone",
recipe = {
{"default:cobble", "default:cobble"},
{"", "default:stick"},
{"", "default:stick"}
}
})
minetest.register_tool("farming:hoe_steel", {
2017-01-04 05:29:55 +01:00
description = "Iron Hoe",
2015-06-29 19:55:56 +02:00
inventory_image = "farming_tool_steelhoe.png",
on_place = function(itemstack, user, pointed_thing)
if create_soil(pointed_thing.under, user:get_inventory()) then
2015-06-29 19:55:56 +02:00
if not minetest.setting_getbool("creative_mode") then
2017-01-04 11:05:41 +01:00
itemstack:add_wear(65535/251)
2015-06-29 19:55:56 +02:00
end
return itemstack
end
end
})
minetest.register_craft({
output = "farming:hoe_steel",
recipe = {
{"default:steel_ingot", "default:steel_ingot"},
{"", "default:stick"},
{"", "default:stick"}
}
})
2017-01-04 10:56:38 +01:00
minetest.register_craft({
type = "cooking",
output = "default:iron_nugget",
recipe = "farming:hoe_steel",
})
2015-06-29 19:55:56 +02:00
minetest.register_tool("farming:hoe_gold", {
2017-01-04 11:05:41 +01:00
description = "Golden Hoe",
2015-06-29 19:55:56 +02:00
inventory_image = "farming_tool_goldhoe.png",
on_place = function(itemstack, user, pointed_thing)
if create_soil(pointed_thing.under, user:get_inventory()) then
2015-06-29 19:55:56 +02:00
if not minetest.setting_getbool("creative_mode") then
2017-01-04 11:05:41 +01:00
itemstack:add_wear(65535/33)
2015-06-29 19:55:56 +02:00
end
return itemstack
end
end
})
minetest.register_craft({
output = "farming:hoe_gold",
recipe = {
{"default:gold_ingot", "default:gold_ingot"},
{"", "default:stick"},
{"", "default:stick"}
}
})
2017-01-04 10:56:38 +01:00
minetest.register_craft({
type = "cooking",
output = "default:gold_nugget",
recipe = "farming:hoe_gold",
})
2015-06-29 19:55:56 +02:00
minetest.register_tool("farming:hoe_diamond", {
description = "Diamond Hoe",
inventory_image = "farming_tool_diamondhoe.png",
on_place = function(itemstack, user, pointed_thing)
if create_soil(pointed_thing.under, user:get_inventory()) then
2015-06-29 19:55:56 +02:00
if not minetest.setting_getbool("creative_mode") then
2017-01-04 11:05:41 +01:00
itemstack:add_wear(65535/1562)
2015-06-29 19:55:56 +02:00
end
return itemstack
end
end
})
minetest.register_craft({
output = "farming:hoe_diamond",
recipe = {
{"default:diamond", "default:diamond"},
{"", "default:stick"},
{"", "default:stick"}
}
})