summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--internal.lua25
-rw-r--r--register.lua20
2 files changed, 37 insertions, 8 deletions
diff --git a/internal.lua b/internal.lua
index 42ab722..f143355 100644
--- a/internal.lua
+++ b/internal.lua
@@ -107,14 +107,23 @@ function unified_inventory.get_formspec(player, page)
end
if def.type == "image" then
- formspec[n] = "image_button["
- formspec[n+1] = ( ui_peruser.main_button_x + 0.65 * (i - 1) - button_col * 0.65 * 4)
- formspec[n+2] = ","..(ui_peruser.main_button_y + button_row * 0.7)..";0.8,0.8;"
- formspec[n+3] = minetest.formspec_escape(def.image)..";"
- formspec[n+4] = minetest.formspec_escape(def.name)..";]"
- formspec[n+5] = "tooltip["..minetest.formspec_escape(def.name)
- formspec[n+6] = ";"..(def.tooltip or "").."]"
- n = n+7
+ if (def.condition == nil or def.condition(player) == true) then
+ formspec[n] = "image_button["
+ formspec[n+1] = ( ui_peruser.main_button_x + 0.65 * (i - 1) - button_col * 0.65 * 4)
+ formspec[n+2] = ","..(ui_peruser.main_button_y + button_row * 0.7)..";0.8,0.8;"
+ formspec[n+3] = minetest.formspec_escape(def.image)..";"
+ formspec[n+4] = minetest.formspec_escape(def.name)..";]"
+ formspec[n+5] = "tooltip["..minetest.formspec_escape(def.name)
+ formspec[n+6] = ";"..(def.tooltip or "").."]"
+ n = n+7
+ else
+ formspec[n] = "image["
+ formspec[n+1] = ( ui_peruser.main_button_x + 0.65 * (i - 1) - button_col * 0.65 * 4)
+ formspec[n+2] = ","..(ui_peruser.main_button_y + button_row * 0.7)..";0.8,0.8;"
+ formspec[n+3] = minetest.formspec_escape(def.image).."^[colorize:#808080:alpha]"
+ n = n+4
+
+ end
end
end
diff --git a/register.lua b/register.lua
index ff38168..ce76f11 100644
--- a/register.lua
+++ b/register.lua
@@ -59,8 +59,12 @@ unified_inventory.register_button("home_gui_set", {
else
minetest.chat_send_player(player_name,
S("You don't have the \"home\" privilege!"))
+ unified_inventory.set_inventory_formspec(player, unified_inventory.current_page[player_name])
end
end,
+ condition = function(player)
+ return minetest.check_player_privs(player:get_player_name(), {home=true})
+ end,
})
unified_inventory.register_button("home_gui_go", {
@@ -77,8 +81,12 @@ unified_inventory.register_button("home_gui_go", {
else
minetest.chat_send_player(player_name,
S("You don't have the \"home\" privilege!"))
+ unified_inventory.set_inventory_formspec(player, unified_inventory.current_page[player_name])
end
end,
+ condition = function(player)
+ return minetest.check_player_privs(player:get_player_name(), {home=true})
+ end,
})
unified_inventory.register_button("misc_set_day", {
@@ -97,8 +105,12 @@ unified_inventory.register_button("misc_set_day", {
else
minetest.chat_send_player(player_name,
S("You don't have the settime privilege!"))
+ unified_inventory.set_inventory_formspec(player, unified_inventory.current_page[player_name])
end
end,
+ condition = function(player)
+ return minetest.check_player_privs(player:get_player_name(), {settime=true})
+ end,
})
unified_inventory.register_button("misc_set_night", {
@@ -117,8 +129,12 @@ unified_inventory.register_button("misc_set_night", {
else
minetest.chat_send_player(player_name,
S("You don't have the settime privilege!"))
+ unified_inventory.set_inventory_formspec(player, unified_inventory.current_page[player_name])
end
end,
+ condition = function(player)
+ return minetest.check_player_privs(player:get_player_name(), {settime=true})
+ end,
})
unified_inventory.register_button("clear_inv", {
@@ -133,6 +149,7 @@ unified_inventory.register_button("clear_inv", {
.." of creative mode to prevent"
.." accidental inventory trashing."
.."\nUse the trash slot instead."))
+ unified_inventory.set_inventory_formspec(player, unified_inventory.current_page[player_name])
return
end
player:get_inventory():set_list("main", {})
@@ -140,6 +157,9 @@ unified_inventory.register_button("clear_inv", {
minetest.sound_play("trash_all",
{to_player=player_name, gain = 1.0})
end,
+ condition = function(player)
+ return unified_inventory.is_creative(player:get_player_name())
+ end,
})
unified_inventory.register_page("craft", {