Valentin Anger 56412556e8 Improve the sparktool_dig_stlye_alt option code
- Predefine on_use instead of having two tool definitions per tool
- Add the tablet to the tools with this feature
- Readd the increased range to debugwrench
2017-01-04 17:45:08 +01:00

43 lines
1.5 KiB
Lua

local sparktool_dig_stlye_alt = minetest.setting_getbool("sparktool_dig_stlye_alt")
local on_use = nil
if sparktool_dig_stlye_alt then
on_use = function() return nil end
end
minetest.register_tool("sparkcore:wrench", {
description = "Wrench",
inventory_image = "wrench.png",
stack_max = 1,
range = 6.0,
on_use = on_use,
on_place = function(itemstack, placer, pointed_thing)
if pointed_thing["type"] == "node" then
local node = minetest.get_node(pointed_thing["under"])
if minetest.get_item_group(node["name"], "sparktech_techy") > 0 then
local nodemeta = minetest.get_meta(pointed_thing["under"])
local item = ItemStack(node["name"])
if minetest.get_item_group(item:get_name(), "sparktech_energy_storeonbreak") > 0 then
item:set_metadata(nodemeta:get_int("energy"))
end
local check = minetest.dig_node(pointed_thing["under"])
if check then
local inv = placer:get_inventory()
if inv:room_for_item("main", item) then
inv:add_item("main", item)
else
minetest.item_drop(item, placer, pointed_thing["under"])
end
end
end
end
return itemstack
end
})
minetest.register_on_placenode(function(pos, newnode, placer, oldnode, itemstack, pointed_thing)
if minetest.get_item_group(itemstack:get_name(), "sparktech_energy_storeonbreak") > 0 then
local meta = minetest.get_meta(pos)
meta:set_int("energy", itemstack:get_metadata() or 0)
end
end)