From 63b3542d00805bf976fc809f2e8f092ea1f5c942 Mon Sep 17 00:00:00 2001 From: tenplus1 Date: Mon, 8 May 2017 12:47:53 +0100 Subject: [PATCH] Chests: Revert inventory name Revert the new 'default:game' inventory back to the old 'main' and use the lbm to restore the contents of the chest. Change the name of the conversion LBM to ensure it is run again on already converted chests. --- mods/default/nodes.lua | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/mods/default/nodes.lua b/mods/default/nodes.lua index 76e88afd..7fa8d2ca 100644 --- a/mods/default/nodes.lua +++ b/mods/default/nodes.lua @@ -1773,10 +1773,10 @@ local function get_chest_formspec(pos) default.gui_bg .. default.gui_bg_img .. default.gui_slots .. - "list[nodemeta:" .. spos .. ";default:chest;0,0.3;8,4;]" .. + "list[nodemeta:" .. spos .. ";main;0,0.3;8,4;]" .. "list[current_player;main;0,4.85;8,1;]" .. "list[current_player;main;0,6.08;8,3;8]" .. - "listring[nodemeta:" .. spos .. ";default:chest]" .. + "listring[nodemeta:" .. spos .. ";main]" .. "listring[current_player;main]" .. default.get_hotbar_bg(0,4.85) return formspec @@ -1842,7 +1842,7 @@ function default.register_chest(name, d) meta:set_string("infotext", "Locked Chest") meta:set_string("owner", "") local inv = meta:get_inventory() - inv:set_size("default:chest", 8*4) + inv:set_size("main", 8*4) end def.after_place_node = function(pos, placer) local meta = minetest.get_meta(pos) @@ -1853,7 +1853,7 @@ function default.register_chest(name, d) def.can_dig = function(pos,player) local meta = minetest.get_meta(pos); local inv = meta:get_inventory() - return inv:is_empty("default:chest") and + return inv:is_empty("main") and default.can_interact_with_node(player, pos) end def.allow_metadata_inventory_move = function(pos, from_list, from_index, @@ -1939,12 +1939,12 @@ function default.register_chest(name, d) local meta = minetest.get_meta(pos) meta:set_string("infotext", "Chest") local inv = meta:get_inventory() - inv:set_size("default:chest", 8*4) + inv:set_size("main", 8*4) end def.can_dig = function(pos,player) local meta = minetest.get_meta(pos); local inv = meta:get_inventory() - return inv:is_empty("default:chest") + return inv:is_empty("main") end def.on_rightclick = function(pos, node, clicker) minetest.sound_play(def.sound_open, {gain = 0.3, pos = pos, @@ -2007,16 +2007,18 @@ function default.register_chest(name, d) -- convert old chests to this new variant minetest.register_lbm({ label = "update chests to opening chests", - name = "default:upgrade_" .. name, + name = "default:upgrade_" .. name .. "_v2", nodenames = {"default:" .. name}, action = function(pos, node) local meta = minetest.get_meta(pos) meta:set_string("formspec", nil) local inv = meta:get_inventory() - local list = inv:get_list("main") - inv:set_list("main", nil) - inv:set_size("default:chest", 8*4) - inv:set_list("default:chest", list) + local list = inv:get_list("default:chest") + if list then + inv:set_size("main", 8*4) + inv:set_list("main", list) + inv:set_list("default:chest", nil) + end end }) end