Add copper shovel

This commit is contained in:
SmokeyDope 2023-02-08 20:10:43 +00:00
parent 6d1ac3281e
commit f0014b2bb1
1 changed files with 70 additions and 0 deletions

View File

@ -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({
@ -103,4 +164,13 @@ minetest.register_craft({
{"mcl_copper:copper_ingot", "mcl_core:stick"},
{"", "mcl_core:stick"},
}
})
minetest.register_craft({
output = "mcl_copper_stuff:shovel",
recipe = {
{"mcl_copper:copper_ingot"},
{"mcl_core:stick"},
{"mcl_core:stick"},
}
})