From b49ba5dc142f09b99c44101c48b826354fd77664 Mon Sep 17 00:00:00 2001 From: SmallJoker Date: Sun, 16 Oct 2016 09:09:11 +0200 Subject: [PATCH] Shop: Allow server admins to open the owner formspec of shops Clean up the position entry on leave Add wrench support --- depends.txt | 1 + init.lua | 6 +++++- shop.lua | 20 +++++++++++++++++++- 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/depends.txt b/depends.txt index 4846195..8eae95c 100644 --- a/depends.txt +++ b/depends.txt @@ -1,6 +1,7 @@ default moreores? technic_worldgen? +wrench? quartz? pipeworks? money? diff --git a/init.lua b/init.lua index 99ec6b1..f9fa96a 100644 --- a/init.lua +++ b/init.lua @@ -68,7 +68,11 @@ end -- Privs minetest.register_privilege("bitchange", "Can access to owned nodes of the bitchange mod") function bitchange.has_access(owner, player_name) - return (player_name == owner or owner == "" or minetest.get_player_privs(player_name).server or minetest.get_player_privs(player_name).bitchange) + if player_name == owner or owner == "" then + return true + end + local privs = minetest.get_player_privs(player_name) + return privs.server or privs.bitchange end print("[BitChange] Loaded.") diff --git a/shop.lua b/shop.lua index 3e29d1b..6e14635 100644 --- a/shop.lua +++ b/shop.lua @@ -303,7 +303,7 @@ minetest.register_node("bitchange:shop", { local player_name = clicker:get_player_name() local view = 0 exchange_shop[player_name] = pos - if player_name == meta:get_string("owner") then + if bitchange.has_access(meta:get_string("owner"), player_name) then if clicker:get_player_control().aux1 then view = 1 else @@ -355,3 +355,21 @@ minetest.register_craft({ {"default:chest_locked"}, } }) + +minetest.register_on_dieplayer(function(player) + local player_name = player:get_player_name() + exchange_shop[player_name] = nil +end) + +if minetest.get_modpath("wrench") and wrench then + local STRING = wrench.META_TYPE_STRING + wrench:register_node("bitchange:shop", { + lists = {"stock", "custm", "custm_ej", "cust_ow", "cust_og", "cust_ej"}, + metas = { + owner = STRING, + infotext = STRING, + title = STRING, + }, + owned = true + }) +end