1
0
mirror of https://github.com/mt-mods/pipeworks.git synced 2025-07-04 01:00:35 +02:00

possibly fix #124

This commit is contained in:
Luke aka SwissalpS
2024-04-28 10:45:03 +02:00
committed by GitHub
parent 962f3280dc
commit 5fdc82a367

View File

@ -51,13 +51,16 @@ if minetest.get_modpath("default") then
return return
end end
local pn = player:get_player_name() local pn = player:get_player_name()
if not pn then
return
end
local pos = default.chest.open_chests[pn].pos local pos = default.chest.open_chests[pn].pos
local chest = pos and minetest.get_node(pos) local chest = pos and minetest.get_node(pos)
local is_pipeworks_chest = chest and pipeworks.chests[chest] local is_pipeworks_chest = chest and pipeworks.chests[chest]
if is_pipeworks_chest and not fields.quit and pipeworks.may_configure(pos, player) then if is_pipeworks_chest and not fields.quit and pipeworks.may_configure(pos, player) then
-- Pipeworks Switch -- Pipeworks Switch
fs_helpers.on_receive_fields(pos, fields) fs_helpers.on_receive_fields(pos, fields)
minetest.show_formspec(player:get_player_name(), minetest.show_formspec(pn),
"default:chest", "default:chest",
default.chest.get_chest_formspec(pos)) default.chest.get_chest_formspec(pos))
end end
@ -153,17 +156,21 @@ elseif minetest.get_modpath("hades_chests") then
-- get the fields from the chest formspec, we can do this bc. newest functions are called first -- get the fields from the chest formspec, we can do this bc. newest functions are called first
-- https://github.com/minetest/minetest/blob/d4b10db998ebeb689b3d27368e30952a42169d03/doc/lua_api.md?plain=1#L5840 -- https://github.com/minetest/minetest/blob/d4b10db998ebeb689b3d27368e30952a42169d03/doc/lua_api.md?plain=1#L5840
minetest.register_on_player_receive_fields(function(player, formname, fields) minetest.register_on_player_receive_fields(function(player, formname, fields)
if formname == "hades_chests:chest_locked" then if formname ~= "hades_chests:chest_locked" then
local pn = player:get_player_name() return
local pos = open_chests[pn]
if not fields.quit and pos and pipeworks.may_configure(pos, player) then
-- Pipeworks Switch
fs_helpers.on_receive_fields(pos, fields)
minetest.show_formspec(pn, "hades_chests:chest_locked", get_locked_chest_formspec(pos))
end
-- Do NOT return true here, the callback from hades still needs to run (if they add one)
return false
end end
local pn = player:get_player_name()
if not pn then
return
end
local pos = open_chests[pn]
if not fields.quit and pos and pipeworks.may_configure(pos, player) then
-- Pipeworks Switch
fs_helpers.on_receive_fields(pos, fields)
minetest.show_formspec(pn, "hades_chests:chest_locked", get_locked_chest_formspec(pos))
end
-- Do NOT return true here, the callback from hades still needs to run (if they add one)
return false
end) end)
local connect_sides = {left = 1, right = 1, back = 1, bottom = 1, top = 1} local connect_sides = {left = 1, right = 1, back = 1, bottom = 1, top = 1}