diff --git a/enchanting.lua b/enchanting.lua index 1ff86f0..84932a0 100644 --- a/enchanting.lua +++ b/enchanting.lua @@ -94,7 +94,6 @@ local tools = { {"shovel", "crumbly"} } local materials = {"steel", "bronze", "mese", "diamond"} -local groups = {"cracky", "crumbly", "choppy"} for _, t in pairs(tools) do for _, m in pairs(materials) do @@ -142,7 +141,7 @@ for _, m in pairs(materials) do } }) - --- Axe --- + --- Axes --- minetest.register_tool("xdecor:enchanted_axe_"..m.."_durable", { description = "Enchanted "..string.sub(string.upper(m), 0, 1)..string.sub(m, 2).." Axe (Durable)", diff --git a/worktable.lua b/worktable.lua index b1e9df2..9f3fa95 100644 --- a/worktable.lua +++ b/worktable.lua @@ -91,22 +91,23 @@ end local function xput(pos, listname, index, stack, player) local meta = minetest.get_meta(pos) local inv = meta:get_inventory() + local stackname = stack:get_name() if listname == "output" then return 0 end + if listname == "input" then + if string.find(stack:get_name(), "default:") then + return stack:get_count() + else return 0 end + end if listname == "hammer" then - if stack:get_name() == "xdecor:hammer" then return 1 - else return 0 end + if not (stackname == "xdecor:hammer") then return 0 end end if listname == "tool" then - local tname = stack:get_name() - local tdef = minetest.registered_tools[tname] + local tdef = minetest.registered_tools[stackname] local twear = stack:get_wear() - if tdef and twear > 0 then return 1 - else return 0 end + if not (tdef and twear > 0) then return 0 end end - - return stack:get_count() end xdecor.register("worktable", { @@ -124,28 +125,25 @@ xdecor.register("worktable", { allow_metadata_inventory_put = xput }) -for m=1, #material do - local v = material[m] +for _, m in pairs(material) do for n=1, #def do local w = def[n] - local nodename = "default:"..v + local nodename = "default:"..m local ndef = minetest.registered_nodes[nodename] - - if ndef then - xdecor.register(w[1].."_"..v, { - description = string.sub(string.upper(w[1]), 0, 1).. - string.sub(w[1], 2), - light_source = ndef.light_source, - sounds = ndef.sounds, - tiles = ndef.tiles, - groups = {snappy=3, not_in_creative_inventory=1}, - node_box = { - type = "fixed", - fixed = w[3] - }, - on_place = minetest.rotate_node - }) - end + if not ndef then return end + + xdecor.register(w[1].."_"..m, { + description = string.sub(string.upper(w[1]), 0, 1)..string.sub(w[1], 2), + light_source = ndef.light_source, + sounds = ndef.sounds, + tiles = ndef.tiles, + groups = {snappy=3, not_in_creative_inventory=1}, + node_box = { + type = "fixed", + fixed = w[3] + }, + on_place = minetest.rotate_node + }) end end