Add copper shovel
This commit is contained in:
parent
6d1ac3281e
commit
f0014b2bb1
|
@ -85,6 +85,67 @@ minetest.register_tool("mcl_copper_stuff:axe", {
|
|||
},
|
||||
})
|
||||
|
||||
-- Shovel path making function
|
||||
local make_grass_path = function(itemstack, placer, pointed_thing)
|
||||
-- Use pointed node's on_rightclick function first, if present
|
||||
local node = minetest.get_node(pointed_thing.under)
|
||||
if placer and not placer: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, placer, itemstack) or itemstack
|
||||
end
|
||||
end
|
||||
|
||||
-- Only make grass path if tool used on side or top of target node
|
||||
if pointed_thing.above.y < pointed_thing.under.y then
|
||||
return itemstack
|
||||
end
|
||||
|
||||
if (minetest.get_item_group(node.name, "path_creation_possible") == 1) then
|
||||
local above = table.copy(pointed_thing.under)
|
||||
above.y = above.y + 1
|
||||
if minetest.get_node(above).name == "air" then
|
||||
if minetest.is_protected(pointed_thing.under, placer:get_player_name()) then
|
||||
minetest.record_protection_violation(pointed_thing.under, placer:get_player_name())
|
||||
return itemstack
|
||||
end
|
||||
|
||||
if not minetest.is_creative_enabled(placer:get_player_name()) then
|
||||
-- Add wear (as if digging a shovely node)
|
||||
local toolname = itemstack:get_name()
|
||||
local wear = mcl_autogroup.get_wear(toolname, "shovely")
|
||||
itemstack:add_wear(wear)
|
||||
end
|
||||
minetest.sound_play({name="default_grass_footstep", gain=1}, {pos = above}, true)
|
||||
minetest.swap_node(pointed_thing.under, {name="mcl_core:grass_path"})
|
||||
end
|
||||
end
|
||||
return itemstack
|
||||
end
|
||||
|
||||
|
||||
-- Copper Shovel
|
||||
minetest.register_tool("mcl_copper_stuff:shovel", {
|
||||
description = S("Copper Shovel"),
|
||||
_doc_items_longdesc = shovel_longdesc,
|
||||
_doc_items_usagehelp = shovel_use,
|
||||
inventory_image = "default_tool_coppershovel.png",
|
||||
wield_scale = wield_scale,
|
||||
groups = { tool=1, shovel=1, dig_speed_class=3, enchantability=9 },
|
||||
tool_capabilities = {
|
||||
-- 1/1.2
|
||||
full_punch_interval = 1,
|
||||
max_drop_level=3,
|
||||
damage_groups = {fleshy=3},
|
||||
punch_attack_uses = 96,
|
||||
},
|
||||
on_place = make_grass_path,
|
||||
sound = { breaks = "default_tool_breaks" },
|
||||
_repair_material = "mcl_copper:copper_ingot",
|
||||
_mcl_toollike_wield = true,
|
||||
_mcl_diggroups = {
|
||||
shovely = { speed = 5, level = 3, uses = 192 }
|
||||
},
|
||||
})
|
||||
|
||||
-- Registering crafts
|
||||
minetest.register_craft({
|
||||
|
@ -104,3 +165,12 @@ minetest.register_craft({
|
|||
{"", "mcl_core:stick"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "mcl_copper_stuff:shovel",
|
||||
recipe = {
|
||||
{"mcl_copper:copper_ingot"},
|
||||
{"mcl_core:stick"},
|
||||
{"mcl_core:stick"},
|
||||
}
|
||||
})
|
Loading…
Reference in New Issue