From 29d2a69aa6152b384a841d52be8a2cab6db3fd8e Mon Sep 17 00:00:00 2001 From: Jean-Patrick Guerrero Date: Sun, 14 Feb 2016 16:19:01 +0100 Subject: [PATCH] Crafting guide : protect functions access --- craftguide.lua | 20 +++++++++++--------- textures/xdecor_worktable_front.png | Bin 295 -> 0 bytes textures/xdecor_worktable_sides.png | Bin 300 -> 0 bytes textures/xdecor_worktable_top.png | Bin 264 -> 0 bytes 4 files changed, 11 insertions(+), 9 deletions(-) delete mode 100644 textures/xdecor_worktable_front.png delete mode 100644 textures/xdecor_worktable_sides.png delete mode 100644 textures/xdecor_worktable_top.png diff --git a/craftguide.lua b/craftguide.lua index c1ed579..baff8f0 100644 --- a/craftguide.lua +++ b/craftguide.lua @@ -1,4 +1,4 @@ -local craftguide = {} +local craftguide, datas = {}, {} function craftguide:get_recipe(item) if item:sub(1,6) == "group:" then @@ -15,7 +15,7 @@ function craftguide:get_recipe(item) end function craftguide:get_formspec(stack, pagenum, item, recipe_num, filter, player_name) - local inv_size = self[player_name].size + local inv_size = datas[player_name].size local npp, i, s = 8*3, 0, 0 local pagemax = math.floor((inv_size - 1) / npp + 1) @@ -34,7 +34,8 @@ function craftguide:get_formspec(stack, pagenum, item, recipe_num, filter, playe tooltip[clearfilter;Reset] ]] .."table[6.1,0.18;1.1,0.5;pagenum;#FFFF00,"..tostring(pagenum).. ",#FFFFFF,/ "..tostring(pagemax).."]".. - "field[1.8,0.32;2.6,1;filter;;"..filter.."]"..xbg + "field[1.8,0.32;2.6,1;filter;;"..filter.."]".. + default.gui_bg..default.gui_bg_img for _, name in pairs(self:get_items(filter, player_name)) do if s < (pagenum - 1) * npp then @@ -84,8 +85,8 @@ function craftguide:get_formspec(stack, pagenum, item, recipe_num, filter, playe end stack:set_metadata(formspec) - self[player_name].formspec = stack:get_metadata() - minetest.show_formspec(player_name, "", formspec) + datas[player_name].formspec = stack:get_metadata() + minetest.show_formspec(player_name, "xdecor:crafting_guide", formspec) end function craftguide:get_items(filter, player_name) @@ -100,15 +101,16 @@ function craftguide:get_items(filter, player_name) end end - self[player_name].size = #items_list + datas[player_name].size = #items_list table.sort(items_list) return items_list end -minetest.register_on_player_receive_fields(function(player, _, fields) +minetest.register_on_player_receive_fields(function(player, listname, fields) + if listname ~= "xdecor:crafting_guide" then return end local player_name = player:get_player_name() local stack = player:get_wielded_item() - local formspec = craftguide[player_name].formspec + local formspec = datas[player_name].formspec local filter = formspec:match("filter;;([%w_:]+)") or "" local pagenum = tonumber(formspec:match("#FFFF00,(%d+)")) or 1 @@ -142,7 +144,7 @@ minetest.register_craftitem("xdecor:crafting_guide", { stack_max = 1, on_use = function(itemstack, user) local player_name = user:get_player_name() - craftguide[player_name] = {} + datas[player_name] = {} craftguide:get_items(nil, player_name) craftguide:get_formspec(itemstack, 1, nil, 1, "", player_name) diff --git a/textures/xdecor_worktable_front.png b/textures/xdecor_worktable_front.png deleted file mode 100644 index a7b04dfc2f8602a7ddae41aa6f832c7098d80de4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 295 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!cYsfb>+(X^wWXd_?&?i`I{8kD z+Zsax424h4%04tXd1rU@+yv7&bJ;!pv1wLP7Zw+8tnyxxX}ciBVtTaE!W^fLU|mlQ zfxc+-SOal81>Wp9i4>r*(>+}rLnJP{_HqjyR^V_E7ikVmp7pH!|70;w>)Jy-n{~LC zrOuQS`@O2kz$;g3O{>H3zk;P$4ELv15 z%cOYOix=+N$HsfKmF1~edEUe4A1*8J5Z~7GxuGg8^wWh26Sh}w&I&1GJFX&nJL|~2 r8?v#{J&K?1@e5msFm^hu(S6Kpa-A(_l})xB(1{G5u6{1-oD!M<pA7PkKiuu69a-PcBd~6Vaq|T{RkTLL<7lxul|?b5AA7nrgz3W4?%6fmSm~C=k`E zdD^glZEbBwM@OM-LOeV?j$1cAAPvxE@<#vw0GUZdK~xyiMUPt!g&+(>r=>szRDA3H zH+rGw#sgo|lSu|~TjMy!mo=`~W+o;O_t!o~o|zejo#Mna2^lj_BZ5BO``a6jDh9U@ z4lyWr*8{101x^5A=s}=z6_Heubi+9nEtNUv47DIYasia#B_5cN9 yr9N~6kSbywLm#Ab64dvcj>H-e*#xKrw zT9jtBuOnhtbI6g2$=jO4=Omh+n3Xv#)?{VAeP_5~jgQvp1=%^R%nm^96FglULnJQC z`ZEe0R^VX@N>18c`oI2dz@tninYam4b)TNe{Ly%CiHY=*75NQ?%%660DCM8IGSBlA z!C)swrJ69k8$+LsOfs5ad5-q&Vn~w-{(x%FJD$> zP$~0!y`b9KiW_e%{>9Eyx*2+bt^V8xySze&y}f#+8+Tvzy7rg-b{BJP{H(3tfo@~) MboFyt=akR{0F^Cj7ytkO -- 2.44.0