mirror of
https://github.com/luanti-org/minetest_game.git
synced 2025-03-15 20:31:23 +00:00
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.
This commit is contained in:
parent
5bd44c21ef
commit
63b3542d00
1 changed files with 13 additions and 11 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue