diff options
Diffstat (limited to 'itemframes')
-rw-r--r-- | itemframes/depends.txt | 1 | ||||
-rw-r--r-- | itemframes/init.lua | 29 |
2 files changed, 20 insertions, 10 deletions
diff --git a/itemframes/depends.txt b/itemframes/depends.txt index 85a4dc2..29ebd95 100644 --- a/itemframes/depends.txt +++ b/itemframes/depends.txt @@ -1,2 +1,3 @@ default +homedecor_i18n mesecons_mvps? diff --git a/itemframes/init.lua b/itemframes/init.lua index 8fca5e9..94004a2 100644 --- a/itemframes/init.lua +++ b/itemframes/init.lua @@ -1,3 +1,6 @@ + +local S = homedecor_i18n.gettext + local tmp = {} screwdriver = screwdriver or {} @@ -98,7 +101,7 @@ local drop_item = function(pos, node) end minetest.register_node("itemframes:frame",{ - description = "Item frame", + description = S("Item frame"), drawtype = "nodebox", node_box = { type = "fixed", @@ -121,12 +124,13 @@ minetest.register_node("itemframes:frame",{ after_place_node = function(pos, placer, itemstack) local meta = minetest.get_meta(pos) meta:set_string("owner",placer:get_player_name()) - meta:set_string("infotext","Item frame (owned by "..placer:get_player_name()..")") + meta:set_string("infotext", S("Item frame (owned by @1)", placer:get_player_name())) end, on_rightclick = function(pos, node, clicker, itemstack) if not itemstack then return end local meta = minetest.get_meta(pos) - if clicker:get_player_name() == meta:get_string("owner") then + if clicker:get_player_name() == meta:get_string("owner") or + minetest.check_player_privs(clicker, "protection_bypass") then drop_item(pos,node) local s = itemstack:take_item() meta:set_string("item",s:to_string()) @@ -136,14 +140,16 @@ minetest.register_node("itemframes:frame",{ end, on_punch = function(pos,node,puncher) local meta = minetest.get_meta(pos) - if puncher:get_player_name() == meta:get_string("owner") then + if puncher:get_player_name() == meta:get_string("owner") or + minetest.check_player_privs(puncher, "protection_bypass") then drop_item(pos, node) end end, can_dig = function(pos,player) local name = player and player:get_player_name() local meta = minetest.get_meta(pos) - return name == meta:get_string("owner") + return name == meta:get_string("owner") or + minetest.check_player_privs(player, "protection_bypass") end, on_destruct = function(pos) local meta = minetest.get_meta(pos) @@ -156,7 +162,7 @@ minetest.register_node("itemframes:frame",{ minetest.register_node("itemframes:pedestal",{ - description = "Pedestal", + description = S("Pedestal"), drawtype = "nodebox", node_box = { type = "fixed", fixed = { @@ -178,12 +184,13 @@ minetest.register_node("itemframes:pedestal",{ after_place_node = function(pos, placer, itemstack) local meta = minetest.get_meta(pos) meta:set_string("owner",placer:get_player_name()) - meta:set_string("infotext","Pedestal (owned by "..placer:get_player_name()..")") + meta:set_string("infotext", S("Pedestal (owned by @1)", placer:get_player_name())) end, on_rightclick = function(pos, node, clicker, itemstack) if not itemstack then return end local meta = minetest.get_meta(pos) - if clicker:get_player_name() == meta:get_string("owner") then + if clicker:get_player_name() == meta:get_string("owner") or + minetest.check_player_privs(clicker, "protection_bypass") then drop_item(pos,node) local s = itemstack:take_item() meta:set_string("item",s:to_string()) @@ -193,14 +200,16 @@ minetest.register_node("itemframes:pedestal",{ end, on_punch = function(pos,node,puncher) local meta = minetest.get_meta(pos) - if puncher:get_player_name() == meta:get_string("owner") then + if puncher:get_player_name() == meta:get_string("owner") or + minetest.check_player_privs(puncher, "protection_bypass") then drop_item(pos,node) end end, can_dig = function(pos,player) local name = player and player:get_player_name() local meta = minetest.get_meta(pos) - return name == meta:get_string("owner") + return name == meta:get_string("owner") or + minetest.check_player_privs(player, "protection_bypass") end, on_destruct = function(pos) local meta = minetest.get_meta(pos) |