From 4a9ad94bf9560770c0efded0c8558c4747dc887f Mon Sep 17 00:00:00 2001 From: Hugo Locurcio Date: Sun, 26 Apr 2020 11:32:42 +0200 Subject: [PATCH] Fix chest formspec protection (#540) This closes #539. --- technic_chests/register.lua | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/technic_chests/register.lua b/technic_chests/register.lua index 0d5150e..9f63617 100644 --- a/technic_chests/register.lua +++ b/technic_chests/register.lua @@ -159,6 +159,16 @@ local function get_receive_fields(name, data) return function(pos, formname, fields, sender) local meta = minetest.get_meta(pos) local page = "main" + + local owner = meta:get_string("owner") + if owner ~= "" then + -- prevent modification of locked chests + if owner ~= sender:get_player_name() then return end + elseif not fields.quit then + -- prevent modification of protected chests + if minetest.is_protected(pos, sender:get_player_name()) then return end + end + if fields.sort or (data.autosort and fields.quit and meta:get_int("autosort") == 1) then sort_inventory(meta:get_inventory()) end