mirror of
https://github.com/minetest-mods/craftguide.git
synced 2024-09-27 14:20:21 +02:00
Add special tooltip for group slots
This commit is contained in:
parent
b8387f9af3
commit
50be3ba0fc
31
init.lua
31
init.lua
|
@ -33,6 +33,26 @@ function craftguide:get_recipe(item)
|
||||||
return item
|
return item
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function craftguide.extract_groupnames(groupname)
|
||||||
|
if string.sub(groupname, 1, 6) == "group:" then
|
||||||
|
local group_names = string.split(string.sub(groupname, 7, -1), ",")
|
||||||
|
if #group_names == 1 then
|
||||||
|
return group_names[1], 1
|
||||||
|
end
|
||||||
|
local s = ""
|
||||||
|
for g=1,#group_names do
|
||||||
|
if g > 1 then
|
||||||
|
-- List connector
|
||||||
|
s = s .. " and "
|
||||||
|
end
|
||||||
|
s = s .. group_names[g]
|
||||||
|
end
|
||||||
|
return s, #group_names
|
||||||
|
else
|
||||||
|
return nil, 0
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
function craftguide:get_formspec(player_name, pagenum, recipe_num)
|
function craftguide:get_formspec(player_name, pagenum, recipe_num)
|
||||||
local data = datas[player_name]
|
local data = datas[player_name]
|
||||||
local formspec = [[ size[8,6.6;]
|
local formspec = [[ size[8,6.6;]
|
||||||
|
@ -87,9 +107,16 @@ function craftguide:get_formspec(player_name, pagenum, recipe_num)
|
||||||
local Y = math.floor((i-1) / width + (6 - math.min(2, rows)))
|
local Y = math.floor((i-1) / width + (6 - math.min(2, rows)))
|
||||||
local label = ""
|
local label = ""
|
||||||
local tooltip = ""
|
local tooltip = ""
|
||||||
if v:sub(1,6) == "group:" then
|
local groupstring_inner, groupcount = craftguide.extract_groupnames(v)
|
||||||
|
if groupcount > 0 then
|
||||||
label = "\nG"
|
label = "\nG"
|
||||||
tooltip = "tooltip["..self:get_recipe(v)..";"..string.format("Any item item belonging to the %s group", v:sub(7, -1)).."]"
|
local groupstring
|
||||||
|
if groupcount > 1 then
|
||||||
|
groupstring = string.format("Any item belonging to the following groups: %s", groupstring_inner)
|
||||||
|
else
|
||||||
|
groupstring = string.format("Any item belonging to the %s group", groupstring_inner)
|
||||||
|
end
|
||||||
|
tooltip = "tooltip["..self:get_recipe(v)..";"..minetest.formspec_escape(groupstring).."]"
|
||||||
end
|
end
|
||||||
|
|
||||||
formspec = formspec.."item_image_button["..X..","..Y..";1,1;"..
|
formspec = formspec.."item_image_button["..X..","..Y..";1,1;"..
|
||||||
|
|
Loading…
Reference in New Issue
Block a user