return ""
end
-function mailbox:formspec(pos, owner, num)
+function mailbox:formspec(pos, owner, is_owner)
local spos = pos.x..","..pos.y..","..pos.z
local meta = minetest.get_meta(pos)
local giver, img = "", ""
- if num == 1 then
+ if is_owner then
for i = 1, 7 do
local giving = meta:get_string("giver"..i)
if giving ~= "" then
local stack_name = stack:match("[%w_:]+")
local stack_count = stack:match("%s(%d+)") or 1
- giver = giver.."#FFFF00,"..giver_name..","..i..",#FFFFFF,x "..stack_count..","
+ giver = giver.."#FFFF00,"..giver_name..","..i..
+ ",#FFFFFF,x "..stack_count..","
img = img..i.."="..img_col(stack_name).."^\\[resize:16x16,"
end
end
"list[nodemeta:"..spos..";mailbox;0,0.75;6,4;]"..
"listring[nodemeta:"..spos..";mailbox]"..
xbg..default.get_hotbar_bg(0.75,5.25)
- else
- return [[ size[8,5]
- list[current_player;main;0,1.25;8,4;] ]]..
- "label[0,0;Send your goods to\n"..minetest.colorize("#FFFF00", owner).."]"..
- "list[nodemeta:"..spos..";drop;3.5,0;1,1;]"..
- xbg..default.get_hotbar_bg(0,1.25)
end
+ return [[ size[8,5]
+ list[current_player;main;0,1.25;8,4;] ]]..
+ "label[0,0;Send your goods to\n"..minetest.colorize("#FFFF00", owner).."]"..
+ "list[nodemeta:"..spos..";drop;3.5,0;1,1;]"..
+ xbg..default.get_hotbar_bg(0,1.25)
end
function mailbox.dig(pos, player)
local player = clicker:get_player_name()
local owner = meta:get_string("owner")
- if player == owner then
- minetest.show_formspec(player, "xdecor:mailbox", mailbox:formspec(pos, owner, 1))
- else
- minetest.show_formspec(player, "xdecor:mailbox", mailbox:formspec(pos, owner, 0))
- end
+ minetest.show_formspec(player, "xdecor:mailbox", mailbox:formspec(pos,
+ owner, (player == owner)))
return itemstack
end
if inv:room_for_item("mailbox", stack) then
return -1
else
- minetest.chat_send_player(player:get_player_name(), "The mailbox is full")
+ minetest.chat_send_player(player:get_player_name(),
+ "The mailbox is full")
end
end
return 0