summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRealBadAngel <mk@realbadangel.pl>2012-12-12 08:21:25 +0100
committerRealBadAngel <mk@realbadangel.pl>2012-12-12 08:21:25 +0100
commitfaffd2ae65183f603d8894987d8d1010a1311acf (patch)
tree04ad8f95e107a8e2834f8020c17ac09b195c8b23
parent43e308a815aff3417d7e4c93c774a52a94af500b (diff)
- fixed refill slot bein same for all players
- set time buttons now require settime privs to work - item name (regular) is displayed in Crafting guide
-rw-r--r--unified_inventory/unified_inventory/api.lua89
1 files changed, 48 insertions, 41 deletions
diff --git a/unified_inventory/unified_inventory/api.lua b/unified_inventory/unified_inventory/api.lua
index db0a069..c2fe3fc 100644
--- a/unified_inventory/unified_inventory/api.lua
+++ b/unified_inventory/unified_inventory/api.lua
@@ -46,11 +46,12 @@ minetest.register_on_joinplayer(function(player)
unified_inventory.alternate[player_name] = 1
unified_inventory.current_item[player_name] =nil
unified_inventory.set_inventory_formspec(player,unified_inventory.get_formspec(player, unified_inventory.default))
-
- local inv = minetest.create_detached_inventory(player:get_player_name().."craftrecipe",{
- allow_put = function(inv, listname, index, stack, player)
- return 0
- end,
+
+--crafting guide inventories
+local inv = minetest.create_detached_inventory(player:get_player_name().."craftrecipe",{
+ allow_put = function(inv, listname, index, stack, player)
+ return 0
+ end,
allow_take = function(inv, listname, index, stack, player)
return 0
end,
@@ -60,10 +61,38 @@ minetest.register_on_joinplayer(function(player)
})
inv:set_size("output", 1)
inv:set_size("build", 3*3)
- inv:set_size("cook", 1)
- inv:set_size("fuel", 1)
+
+-- refill slot
+unified_inventory.refill = minetest.create_detached_inventory(player_name.."refill", {
+ allow_put = function(inv, listname, index, stack, player)
+ if minetest.setting_getbool("creative_mode") then
+ return stack:get_count()
+ else
+ return 0
+ end
+ end,
+ on_put = function(inv, listname, index, stack, player)
+ inv:set_stack(listname, index, ItemStack(stack:get_name().." "..stack:get_stack_max()))
+ end,
+})
+unified_inventory.refill:set_size("main", 1)
end)
+-- trash slot
+unified_inventory.trash = minetest.create_detached_inventory("trash", {
+ allow_put = function(inv, listname, index, stack, player)
+ if minetest.setting_getbool("creative_mode") then
+ return stack:get_count()
+ else
+ return 0
+ end
+ end,
+ on_put = function(inv, listname, index, stack, player)
+ inv:set_stack(listname, index, nil)
+ end,
+})
+unified_inventory.trash:set_size("main", 1)
+
-- set_inventory_formspec
unified_inventory.set_inventory_formspec = function(player,formspec)
if player then
@@ -115,7 +144,7 @@ unified_inventory.get_formspec = function(player,page)
formspec = formspec.."list[current_player;craft;2,1;3,3;]"
if minetest.setting_getbool("creative_mode") then
formspec = formspec.."label[0,2.5;Refill:]"
- formspec = formspec.."list[detached:refill;main;0,3;1,1;]"
+ formspec = formspec.."list[detached:"..player_name.."refill;main;0,3;1,1;]"
formspec = formspec.."label[7,2.5;Trash:]"
formspec = formspec.."list[detached:trash;main;7,3;1,1;]"
end
@@ -130,8 +159,8 @@ unified_inventory.get_formspec = function(player,page)
formspec = formspec.."label[6,0.5;Output:]"
formspec = formspec.."label[6,2.6;Method:]"
local item_name=unified_inventory.current_item[player_name]
- --print (dump(item_name))
if item_name then
+ formspec = formspec.."label[2,0;"..item_name.."]"
local alternates = 0
local alternate = unified_inventory.alternate[player_name]
local crafts = crafts_table[item_name]
@@ -225,36 +254,6 @@ unified_inventory.get_formspec = function(player,page)
return formspec
end
--- trash slot
-unified_inventory.trash = minetest.create_detached_inventory("trash", {
- allow_put = function(inv, listname, index, stack, player)
- if minetest.setting_getbool("creative_mode") then
- return stack:get_count()
- else
- return 0
- end
- end,
- on_put = function(inv, listname, index, stack, player)
- inv:set_stack(listname, index, nil)
- end,
-})
-unified_inventory.trash:set_size("main", 1)
-
--- refill slot
-unified_inventory.refill = minetest.create_detached_inventory("refill", {
- allow_put = function(inv, listname, index, stack, player)
- if minetest.setting_getbool("creative_mode") then
- return stack:get_count()
- else
- return 0
- end
- end,
- on_put = function(inv, listname, index, stack, player)
- inv:set_stack(listname, index, ItemStack(stack:get_name().." "..stack:get_stack_max()))
- end,
-})
-unified_inventory.refill:set_size("main", 1)
-
-- register_on_player_receive_fields
minetest.register_on_player_receive_fields(function(player, formname, fields)
local player_name = player:get_player_name()
@@ -302,12 +301,20 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
unified_inventory.go_home(player)
end
if fields.misc_set_day then
+ if minetest.get_player_privs(player_name).settime==true then
minetest.env:set_timeofday((6000 % 24000) / 24000)
minetest.chat_send_player(player_name, "Time of day set to 6am")
+ else
+ minetest.chat_send_player(player_name, "You don't have settime priviledge!")
+ end
end
if fields.misc_set_night then
+ if minetest.get_player_privs(player_name).settime==true then
minetest.env:set_timeofday((21000 % 24000) / 24000)
- minetest.chat_send_player(player_name, "Time of day set to 9pm")
+ minetest.chat_send_player(player_name, "Time of day set to 9pm")
+ else
+ minetest.chat_send_player(player_name, "You don't have settime priviledge!")
+ end
end
-- Inventory page controls
@@ -489,7 +496,7 @@ unified_inventory.update_recipe = function(player, stack_name, alternate)
alternate = 1
end
local craft = crafts[alternate]
- print (dump(craft))
+ --print (dump(craft))
--minetest.chat_send_player(player:get_player_name(), "recipe for "..stack_name..": "..dump(craft))
local itemstack = ItemStack(craft.output)