2015-07-03 07:57:09 +03:00
|
|
|
local function create_soil(pos, inv)
|
2015-06-29 20:55:56 +03:00
|
|
|
if pos == nil then
|
|
|
|
return false
|
|
|
|
end
|
2017-01-05 02:28:43 +02:00
|
|
|
local node = minetest.get_node(pos)
|
2015-06-29 20:55:56 +03:00
|
|
|
local name = node.name
|
2017-01-05 02:28:43 +02:00
|
|
|
local above = minetest.get_node({x=pos.x, y=pos.y+1, z=pos.z})
|
2017-01-10 05:01:53 +02:00
|
|
|
if minetest.get_item_group(name, "cultivatable") == 2 then
|
2015-06-29 20:55:56 +03:00
|
|
|
if above.name == "air" then
|
2017-01-31 13:35:59 +02:00
|
|
|
node.name = "mcl_farming:soil"
|
2017-01-05 02:28:43 +02:00
|
|
|
minetest.set_node(pos, node)
|
|
|
|
return true
|
|
|
|
end
|
2017-01-10 05:01:53 +02:00
|
|
|
elseif minetest.get_item_group(name, "cultivatable") == 1 then
|
2017-01-05 02:28:43 +02:00
|
|
|
if above.name == "air" then
|
2017-02-01 00:32:56 +02:00
|
|
|
node.name = "mcl_core:dirt"
|
2017-01-05 02:28:43 +02:00
|
|
|
minetest.set_node(pos, node)
|
2015-06-29 20:55:56 +03:00
|
|
|
return true
|
|
|
|
end
|
|
|
|
end
|
|
|
|
return false
|
|
|
|
end
|
|
|
|
|
2017-01-31 13:35:59 +02:00
|
|
|
minetest.register_tool("mcl_farming:hoe_wood", {
|
2015-06-29 20:55:56 +03:00
|
|
|
description = "Wood Hoe",
|
|
|
|
inventory_image = "farming_tool_woodhoe.png",
|
|
|
|
on_place = function(itemstack, user, pointed_thing)
|
2017-03-02 19:57:22 +02:00
|
|
|
-- Call on_rightclick if the pointed node defines it
|
|
|
|
local node = minetest.get_node(pointed_thing.under)
|
|
|
|
if user and not user:get_player_control().sneak then
|
|
|
|
if minetest.registered_nodes[node.name] and minetest.registered_nodes[node.name].on_rightclick then
|
|
|
|
return minetest.registered_nodes[node.name].on_rightclick(pointed_thing.under, node, user, itemstack) or itemstack
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2015-07-03 07:57:09 +03:00
|
|
|
if create_soil(pointed_thing.under, user:get_inventory()) then
|
2015-06-29 20:55:56 +03:00
|
|
|
if not minetest.setting_getbool("creative_mode") then
|
2017-01-04 12:05:41 +02:00
|
|
|
itemstack:add_wear(65535/60)
|
2015-06-29 20:55:56 +03:00
|
|
|
end
|
|
|
|
return itemstack
|
|
|
|
end
|
2017-01-17 01:44:37 +02:00
|
|
|
end,
|
2017-01-20 05:54:09 +02:00
|
|
|
groups = { tool=1 },
|
2017-01-17 01:44:37 +02:00
|
|
|
tool_capabilities = {
|
|
|
|
full_punch_interval = 1,
|
|
|
|
damage_groups = { fleshy = 1, }
|
|
|
|
},
|
2015-06-29 20:55:56 +03:00
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
2017-01-31 13:35:59 +02:00
|
|
|
output = "mcl_farming:hoe_wood",
|
2015-06-29 20:55:56 +03:00
|
|
|
recipe = {
|
2017-01-05 05:39:36 +02:00
|
|
|
{"group:wood", "group:wood"},
|
2017-02-01 00:32:56 +02:00
|
|
|
{"", "mcl_core:stick"},
|
|
|
|
{"", "mcl_core:stick"}
|
2015-06-29 20:55:56 +03:00
|
|
|
}
|
|
|
|
})
|
2017-01-10 02:59:21 +02:00
|
|
|
minetest.register_craft({
|
2017-01-31 13:35:59 +02:00
|
|
|
output = "mcl_farming:hoe_wood",
|
2017-01-10 02:59:21 +02:00
|
|
|
recipe = {
|
|
|
|
{"group:wood", "group:wood"},
|
2017-02-01 00:32:56 +02:00
|
|
|
{"mcl_core:stick", ""},
|
|
|
|
{"mcl_core:stick", ""}
|
2017-01-10 02:59:21 +02:00
|
|
|
}
|
|
|
|
})
|
2017-01-10 07:43:07 +02:00
|
|
|
minetest.register_craft({
|
|
|
|
type = "fuel",
|
2017-01-31 13:35:59 +02:00
|
|
|
recipe = "mcl_farming:hoe_wood",
|
2017-01-10 07:43:07 +02:00
|
|
|
burntime = 10,
|
|
|
|
})
|
2015-06-29 20:55:56 +03:00
|
|
|
|
2017-01-31 13:35:59 +02:00
|
|
|
minetest.register_tool("mcl_farming:hoe_stone", {
|
2015-06-29 20:55:56 +03:00
|
|
|
description = "Stone Hoe",
|
|
|
|
inventory_image = "farming_tool_stonehoe.png",
|
|
|
|
on_place = function(itemstack, user, pointed_thing)
|
2017-03-02 19:57:22 +02:00
|
|
|
-- Call on_rightclick if the pointed node defines it
|
|
|
|
local node = minetest.get_node(pointed_thing.under)
|
|
|
|
if user and not user:get_player_control().sneak then
|
|
|
|
if minetest.registered_nodes[node.name] and minetest.registered_nodes[node.name].on_rightclick then
|
|
|
|
return minetest.registered_nodes[node.name].on_rightclick(pointed_thing.under, node, user, itemstack) or itemstack
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2015-07-03 07:57:09 +03:00
|
|
|
if create_soil(pointed_thing.under, user:get_inventory()) then
|
2015-06-29 20:55:56 +03:00
|
|
|
if not minetest.setting_getbool("creative_mode") then
|
2017-01-04 12:05:41 +02:00
|
|
|
itemstack:add_wear(65535/132)
|
2015-06-29 20:55:56 +03:00
|
|
|
end
|
|
|
|
return itemstack
|
|
|
|
end
|
2017-01-17 01:44:37 +02:00
|
|
|
end,
|
2017-01-20 05:54:09 +02:00
|
|
|
groups = { tool=1 },
|
2017-01-17 01:44:37 +02:00
|
|
|
tool_capabilities = {
|
|
|
|
full_punch_interval = 0.5,
|
|
|
|
damage_groups = { fleshy = 1, }
|
|
|
|
},
|
2015-06-29 20:55:56 +03:00
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
2017-01-31 13:35:59 +02:00
|
|
|
output = "mcl_farming:hoe_stone",
|
2015-06-29 20:55:56 +03:00
|
|
|
recipe = {
|
2017-02-01 00:32:56 +02:00
|
|
|
{"mcl_core:cobble", "mcl_core:cobble"},
|
|
|
|
{"", "mcl_core:stick"},
|
|
|
|
{"", "mcl_core:stick"}
|
2015-06-29 20:55:56 +03:00
|
|
|
}
|
|
|
|
})
|
2017-01-10 02:59:21 +02:00
|
|
|
minetest.register_craft({
|
2017-01-31 13:35:59 +02:00
|
|
|
output = "mcl_farming:hoe_stone",
|
2017-01-10 02:59:21 +02:00
|
|
|
recipe = {
|
2017-02-01 00:32:56 +02:00
|
|
|
{"mcl_core:cobble", "mcl_core:cobble"},
|
|
|
|
{"mcl_core:stick", ""},
|
|
|
|
{"mcl_core:stick", ""}
|
2017-01-10 02:59:21 +02:00
|
|
|
}
|
|
|
|
})
|
2015-06-29 20:55:56 +03:00
|
|
|
|
2017-02-11 22:14:40 +02:00
|
|
|
minetest.register_tool("mcl_farming:hoe_iron", {
|
2017-01-04 06:29:55 +02:00
|
|
|
description = "Iron Hoe",
|
2015-06-29 20:55:56 +03:00
|
|
|
inventory_image = "farming_tool_steelhoe.png",
|
|
|
|
on_place = function(itemstack, user, pointed_thing)
|
2017-03-02 19:57:22 +02:00
|
|
|
-- Call on_rightclick if the pointed node defines it
|
|
|
|
local node = minetest.get_node(pointed_thing.under)
|
|
|
|
if user and not user:get_player_control().sneak then
|
|
|
|
if minetest.registered_nodes[node.name] and minetest.registered_nodes[node.name].on_rightclick then
|
|
|
|
return minetest.registered_nodes[node.name].on_rightclick(pointed_thing.under, node, user, itemstack) or itemstack
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2015-07-03 07:57:09 +03:00
|
|
|
if create_soil(pointed_thing.under, user:get_inventory()) then
|
2015-06-29 20:55:56 +03:00
|
|
|
if not minetest.setting_getbool("creative_mode") then
|
2017-01-04 12:05:41 +02:00
|
|
|
itemstack:add_wear(65535/251)
|
2015-06-29 20:55:56 +03:00
|
|
|
end
|
|
|
|
return itemstack
|
|
|
|
end
|
2017-01-17 01:44:37 +02:00
|
|
|
end,
|
2017-01-20 05:54:09 +02:00
|
|
|
groups = { tool=1 },
|
2017-01-17 01:44:37 +02:00
|
|
|
tool_capabilities = {
|
|
|
|
-- 1/3
|
|
|
|
full_punch_interval = 0.33333333,
|
|
|
|
damage_groups = { fleshy = 1, }
|
|
|
|
},
|
2015-06-29 20:55:56 +03:00
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
2017-02-11 22:14:40 +02:00
|
|
|
output = "mcl_farming:hoe_iron",
|
2015-06-29 20:55:56 +03:00
|
|
|
recipe = {
|
2017-02-11 22:14:40 +02:00
|
|
|
{"mcl_core:iron_ingot", "mcl_core:iron_ingot"},
|
2017-02-01 00:32:56 +02:00
|
|
|
{"", "mcl_core:stick"},
|
|
|
|
{"", "mcl_core:stick"}
|
2015-06-29 20:55:56 +03:00
|
|
|
}
|
|
|
|
})
|
2017-01-10 02:59:21 +02:00
|
|
|
minetest.register_craft({
|
2017-02-11 22:14:40 +02:00
|
|
|
output = "mcl_farming:hoe_iron",
|
2017-01-10 02:59:21 +02:00
|
|
|
recipe = {
|
2017-02-11 22:14:40 +02:00
|
|
|
{"mcl_core:iron_ingot", "mcl_core:iron_ingot"},
|
2017-02-01 00:32:56 +02:00
|
|
|
{"mcl_core:stick", ""},
|
|
|
|
{"mcl_core:stick", ""}
|
2017-01-10 02:59:21 +02:00
|
|
|
}
|
|
|
|
})
|
2015-06-29 20:55:56 +03:00
|
|
|
|
2017-01-04 11:56:38 +02:00
|
|
|
minetest.register_craft({
|
|
|
|
type = "cooking",
|
2017-02-01 00:32:56 +02:00
|
|
|
output = "mcl_core:iron_nugget",
|
2017-02-11 22:14:40 +02:00
|
|
|
recipe = "mcl_farming:hoe_iron",
|
2017-01-04 12:49:05 +02:00
|
|
|
cooktime = 10,
|
2017-01-04 11:56:38 +02:00
|
|
|
})
|
|
|
|
|
2017-01-31 13:35:59 +02:00
|
|
|
minetest.register_tool("mcl_farming:hoe_gold", {
|
2017-01-04 12:05:41 +02:00
|
|
|
description = "Golden Hoe",
|
2015-06-29 20:55:56 +03:00
|
|
|
inventory_image = "farming_tool_goldhoe.png",
|
|
|
|
on_place = function(itemstack, user, pointed_thing)
|
2017-03-02 19:57:22 +02:00
|
|
|
-- Call on_rightclick if the pointed node defines it
|
|
|
|
local node = minetest.get_node(pointed_thing.under)
|
|
|
|
if user and not user:get_player_control().sneak then
|
|
|
|
if minetest.registered_nodes[node.name] and minetest.registered_nodes[node.name].on_rightclick then
|
|
|
|
return minetest.registered_nodes[node.name].on_rightclick(pointed_thing.under, node, user, itemstack) or itemstack
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2015-07-03 07:57:09 +03:00
|
|
|
if create_soil(pointed_thing.under, user:get_inventory()) then
|
2015-06-29 20:55:56 +03:00
|
|
|
if not minetest.setting_getbool("creative_mode") then
|
2017-01-04 12:05:41 +02:00
|
|
|
itemstack:add_wear(65535/33)
|
2015-06-29 20:55:56 +03:00
|
|
|
end
|
|
|
|
return itemstack
|
|
|
|
end
|
2017-01-17 01:44:37 +02:00
|
|
|
end,
|
2017-01-20 05:54:09 +02:00
|
|
|
groups = { tool=1 },
|
2017-01-17 01:44:37 +02:00
|
|
|
tool_capabilities = {
|
|
|
|
full_punch_interval = 1,
|
|
|
|
damage_groups = { fleshy = 1, }
|
|
|
|
},
|
2015-06-29 20:55:56 +03:00
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
2017-01-31 13:35:59 +02:00
|
|
|
output = "mcl_farming:hoe_gold",
|
2015-06-29 20:55:56 +03:00
|
|
|
recipe = {
|
2017-02-01 00:32:56 +02:00
|
|
|
{"mcl_core:gold_ingot", "mcl_core:gold_ingot"},
|
|
|
|
{"", "mcl_core:stick"},
|
|
|
|
{"", "mcl_core:stick"}
|
2015-06-29 20:55:56 +03:00
|
|
|
}
|
|
|
|
})
|
2017-01-10 02:59:21 +02:00
|
|
|
minetest.register_craft({
|
2017-01-31 13:35:59 +02:00
|
|
|
output = "mcl_farming:hoe_gold",
|
2017-01-10 02:59:21 +02:00
|
|
|
recipe = {
|
2017-02-01 00:32:56 +02:00
|
|
|
{"mcl_core:gold_ingot", "mcl_core:gold_ingot"},
|
|
|
|
{"mcl_core:stick", ""},
|
|
|
|
{"mcl_core:stick", ""}
|
2017-01-10 02:59:21 +02:00
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
|
2015-06-29 20:55:56 +03:00
|
|
|
|
2017-01-04 11:56:38 +02:00
|
|
|
minetest.register_craft({
|
|
|
|
type = "cooking",
|
2017-02-01 00:32:56 +02:00
|
|
|
output = "mcl_core:gold_nugget",
|
2017-01-31 13:35:59 +02:00
|
|
|
recipe = "mcl_farming:hoe_gold",
|
2017-01-04 12:49:05 +02:00
|
|
|
cooktime = 10,
|
2017-01-04 11:56:38 +02:00
|
|
|
})
|
|
|
|
|
2017-01-31 13:35:59 +02:00
|
|
|
minetest.register_tool("mcl_farming:hoe_diamond", {
|
2015-06-29 20:55:56 +03:00
|
|
|
description = "Diamond Hoe",
|
|
|
|
inventory_image = "farming_tool_diamondhoe.png",
|
|
|
|
on_place = function(itemstack, user, pointed_thing)
|
2017-03-02 19:57:22 +02:00
|
|
|
-- Call on_rightclick if the pointed node defines it
|
|
|
|
local node = minetest.get_node(pointed_thing.under)
|
|
|
|
if user and not user:get_player_control().sneak then
|
|
|
|
if minetest.registered_nodes[node.name] and minetest.registered_nodes[node.name].on_rightclick then
|
|
|
|
return minetest.registered_nodes[node.name].on_rightclick(pointed_thing.under, node, user, itemstack) or itemstack
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2015-07-03 07:57:09 +03:00
|
|
|
if create_soil(pointed_thing.under, user:get_inventory()) then
|
2015-06-29 20:55:56 +03:00
|
|
|
if not minetest.setting_getbool("creative_mode") then
|
2017-01-04 12:05:41 +02:00
|
|
|
itemstack:add_wear(65535/1562)
|
2015-06-29 20:55:56 +03:00
|
|
|
end
|
|
|
|
return itemstack
|
|
|
|
end
|
2017-01-17 01:44:37 +02:00
|
|
|
end,
|
2017-01-20 05:54:09 +02:00
|
|
|
groups = { tool=1 },
|
2017-01-17 01:44:37 +02:00
|
|
|
tool_capabilities = {
|
|
|
|
full_punch_interval = 0.25,
|
|
|
|
damage_groups = { fleshy = 1, }
|
|
|
|
},
|
2015-06-29 20:55:56 +03:00
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
2017-01-31 13:35:59 +02:00
|
|
|
output = "mcl_farming:hoe_diamond",
|
2015-06-29 20:55:56 +03:00
|
|
|
recipe = {
|
2017-02-01 00:32:56 +02:00
|
|
|
{"mcl_core:diamond", "mcl_core:diamond"},
|
|
|
|
{"", "mcl_core:stick"},
|
|
|
|
{"", "mcl_core:stick"}
|
2015-06-29 20:55:56 +03:00
|
|
|
}
|
|
|
|
})
|
2017-01-10 02:59:21 +02:00
|
|
|
minetest.register_craft({
|
2017-01-31 13:35:59 +02:00
|
|
|
output = "mcl_farming:hoe_diamond",
|
2017-01-10 02:59:21 +02:00
|
|
|
recipe = {
|
2017-02-01 00:32:56 +02:00
|
|
|
{"mcl_core:diamond", "mcl_core:diamond"},
|
|
|
|
{"mcl_core:stick", ""},
|
|
|
|
{"mcl_core:stick", ""}
|
2017-01-10 02:59:21 +02:00
|
|
|
}
|
|
|
|
})
|