Improve code using Linuxdirk's fix
parent
3f5f33b81f
commit
a2e6957370
42
init.lua
42
init.lua
|
@ -2,7 +2,7 @@ minetest.register_craftitem("superpick:setter", {
|
||||||
description = "Super Setter",
|
description = "Super Setter",
|
||||||
inventory_image = "default_tool_steelpick.png^default_obsidian_shard.png",
|
inventory_image = "default_tool_steelpick.png^default_obsidian_shard.png",
|
||||||
groups = {not_in_creative_inventory = 1},
|
groups = {not_in_creative_inventory = 1},
|
||||||
on_use = function(itemstack, user, pointed_thing)
|
on_use = function(_, user, pointed_thing)
|
||||||
if not minetest.check_player_privs(user, "superpick") then
|
if not minetest.check_player_privs(user, "superpick") then
|
||||||
return {name = "default:pick_steel"}
|
return {name = "default:pick_steel"}
|
||||||
end
|
end
|
||||||
|
@ -47,7 +47,7 @@ minetest.register_tool("superpick:pick", {
|
||||||
|
|
||||||
minetest.register_privilege("superpick", {description = "Ability to wield the mighty admin pickaxe!"})
|
minetest.register_privilege("superpick", {description = "Ability to wield the mighty admin pickaxe!"})
|
||||||
|
|
||||||
local function kill_node(pos, node, puncher)
|
local function kill_node(pos, _, puncher)
|
||||||
if puncher:get_wielded_item():get_name() == "superpick:pick" then
|
if puncher:get_wielded_item():get_name() == "superpick:pick" then
|
||||||
if not minetest.check_player_privs(
|
if not minetest.check_player_privs(
|
||||||
puncher:get_player_name(), {superpick = true}) then
|
puncher:get_player_name(), {superpick = true}) then
|
||||||
|
@ -73,28 +73,20 @@ local function kill_node(pos, node, puncher)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
minetest.register_on_punchnode(function(pos, node, puncher)
|
minetest.register_on_mods_loaded(function()
|
||||||
kill_node(pos, node, puncher)
|
for node in pairs(minetest.registered_nodes) do
|
||||||
end)
|
local def = minetest.registered_nodes[node]
|
||||||
|
for i in pairs(def) do
|
||||||
minetest.after(0.01, function ()
|
if i == "on_punch" then
|
||||||
minetest.after(0.01, function ()
|
local rem = def.on_punch
|
||||||
for node in pairs(minetest.registered_nodes) do
|
local function new_on_punch(pos, new_node, puncher, pointed_thing)
|
||||||
local def = minetest.registered_nodes[node]
|
kill_node(pos, new_node, puncher)
|
||||||
for i in pairs(def) do
|
return rem(pos, new_node, puncher, pointed_thing)
|
||||||
if i == "on_punch" then
|
end
|
||||||
|
minetest.override_item(node, {
|
||||||
local rem = def.on_punch
|
on_punch = new_on_punch
|
||||||
local function new_on_punch(pos, node, puncher, pointed_thing)
|
})
|
||||||
kill_node(pos, node, puncher)
|
end
|
||||||
return rem(pos, node, puncher, pointed_thing)
|
|
||||||
end
|
|
||||||
|
|
||||||
minetest.override_item(node, {
|
|
||||||
on_punch = new_on_punch
|
|
||||||
})
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end)
|
||||||
end)
|
|
||||||
end)
|
|
||||||
|
|
Loading…
Reference in New Issue