From 6bd045e3de0988c08a5831e2b84fa763925afd65 Mon Sep 17 00:00:00 2001 From: JP Guerrero Date: Wed, 30 Nov 2016 15:54:05 +0100 Subject: [PATCH] Remove the crafting guide and minor file reorganizing --- craftguide.lua | 154 --------------------------- init.lua | 26 +++-- chess.lua => src/chess.lua | 0 cooking.lua => src/cooking.lua | 0 craftitems.lua => src/craftitems.lua | 0 enchanting.lua => src/enchanting.lua | 0 hive.lua => src/hive.lua | 0 itemframe.lua => src/itemframe.lua | 0 mailbox.lua => src/mailbox.lua | 0 mechanisms.lua => src/mechanisms.lua | 0 nodes.lua => src/nodes.lua | 0 recipes.lua => src/recipes.lua | 6 -- rope.lua => src/rope.lua | 0 workbench.lua => src/workbench.lua | 0 textures/xdecor_crafting_guide.png | Bin 2925 -> 0 bytes 15 files changed, 12 insertions(+), 174 deletions(-) delete mode 100644 craftguide.lua rename chess.lua => src/chess.lua (100%) rename cooking.lua => src/cooking.lua (100%) rename craftitems.lua => src/craftitems.lua (100%) rename enchanting.lua => src/enchanting.lua (100%) rename hive.lua => src/hive.lua (100%) rename itemframe.lua => src/itemframe.lua (100%) rename mailbox.lua => src/mailbox.lua (100%) rename mechanisms.lua => src/mechanisms.lua (100%) rename nodes.lua => src/nodes.lua (100%) rename recipes.lua => src/recipes.lua (98%) rename rope.lua => src/rope.lua (100%) rename workbench.lua => src/workbench.lua (100%) delete mode 100644 textures/xdecor_crafting_guide.png diff --git a/craftguide.lua b/craftguide.lua deleted file mode 100644 index dd59327..0000000 --- a/craftguide.lua +++ /dev/null @@ -1,154 +0,0 @@ -local craftguide, datas, npp = {}, {}, 8*3 - -function craftguide:get_recipe(item) - if item:sub(1,6) == "group:" then - if item:sub(-4) == "wool" or item:sub(-3) == "dye" then - item = item:sub(7)..":white" - elseif minetest.registered_items["default:"..item:sub(7)] then - item = item:gsub("group:", "default:") - else for node, def in pairs(minetest.registered_items) do - if def.groups[item:match("[^,:]+$")] then item = node end - end - end - end - return item -end - -function craftguide:set_formspec(player_name, pagenum, recipe_num) - local data = datas[player_name] - local formspec = [[ size[8,6.6;] - tablecolumns[color;text;color;text] - tableoptions[background=#00000000;highlight=#00000000;border=false] - button[5.4,0;0.8,0.95;prev;<] - button[7.2,0;0.8,0.95;next;>] - button[2.5,0.2;0.8,0.5;search;?] - button[3.2,0.2;0.8,0.5;clear;X] - tooltip[search;Search] - tooltip[clear;Reset] - table[6,0.18;1.1,0.5;pagenum;#FFFF00,]].. - pagenum..",#FFFFFF,/ "..data.pagemax.."]".. - "field[0.3,0.32;2.6,1;filter;;"..data.filter.."]".. - default.gui_bg..default.gui_bg_img - - local first_item = (pagenum - 1) * npp - for i = first_item, first_item + npp - 1 do - local name = data.items[i + 1] - if not name then break end -- last page - - local X = i % 8 - local Y = ((i % npp - X) / 8) + 1 - - formspec = formspec.."item_image_button["..X..","..Y..";1,1;".. - name..";"..name..";]" - end - - if data.item and minetest.registered_items[data.item] then - local recipes = minetest.get_all_craft_recipes(data.item) - if recipe_num > #recipes then recipe_num = 1 end - - if #recipes > 1 then formspec = formspec.. - [[ button[0,6;1.6,1;alternate;Alternate] - label[0,5.5;Recipe ]]..recipe_num.." of "..#recipes.."]" - end - - local type = recipes[recipe_num].type - if type == "cooking" then formspec = formspec.. - "image[3.75,4.6;0.5,0.5;default_furnace_front.png]" - end - - local items = recipes[recipe_num].items - local width = recipes[recipe_num].width - if width == 0 then width = math.min(3, #items) end - -- Lua 5.3 removed `table.maxn`, use `xdecor.maxn` in case of breakage. - local rows = math.ceil(table.maxn(items) / width) - - for i, v in pairs(items) do - local X = (i-1) % width + 4.5 - local Y = math.floor((i-1) / width + (6 - math.min(2, rows))) - local label = "" - if v:sub(1,6) == "group:" then label = "\nG" end - - formspec = formspec.."item_image_button["..X..","..Y..";1,1;".. - self:get_recipe(v)..";"..self:get_recipe(v)..";"..label.."]" - end - - local output = recipes[recipe_num].output - formspec = formspec..[[ image[3.5,5;1,1;gui_furnace_arrow_bg.png^[transformR90] - item_image_button[2.5,5;1,1;]]..output..";"..data.item..";]" - end - - data.formspec = formspec - minetest.show_formspec(player_name, "xdecor:craftguide", formspec) -end - -function craftguide:get_items(player_name) - local items_list, data = {}, datas[player_name] - for name, def in pairs(minetest.registered_items) do - if not (def.groups.not_in_creative_inventory == 1) and - minetest.get_craft_recipe(name).items and - def.description and def.description ~= "" and - (def.name:find(data.filter, 1, true) or - def.description:lower():find(data.filter, 1, true)) then - items_list[#items_list+1] = name - end - end - - table.sort(items_list) - data.items = items_list - data.size = #items_list - data.pagemax = math.ceil(data.size / npp) -end - -minetest.register_on_player_receive_fields(function(player, formname, fields) - if formname ~= "xdecor:craftguide" then return end - local player_name = player:get_player_name() - local data = datas[player_name] - local formspec = data.formspec - local pagenum = tonumber(formspec:match("#FFFF00,(%d+)")) or 1 - - if fields.clear then - data.filter, data.item = "", nil - craftguide:get_items(player_name) - craftguide:set_formspec(player_name, 1, 1) - elseif fields.alternate then - local recipe_num = tonumber(formspec:match("Recipe%s(%d+)")) or 1 - recipe_num = recipe_num + 1 - craftguide:set_formspec(player_name, pagenum, recipe_num) - elseif fields.search then - data.filter = fields.filter:lower() - craftguide:get_items(player_name) - craftguide:set_formspec(player_name, 1, 1) - elseif fields.prev or fields.next then - if fields.prev then pagenum = pagenum - 1 - else pagenum = pagenum + 1 end - if pagenum > data.pagemax then pagenum = 1 - elseif pagenum == 0 then pagenum = data.pagemax end - craftguide:set_formspec(player_name, pagenum, 1) - else for item in pairs(fields) do - if minetest.get_craft_recipe(item).items then - data.item = item - craftguide:set_formspec(player_name, pagenum, 1) - end - end - end -end) - -minetest.register_craftitem("xdecor:crafting_guide", { - description = "Crafting Guide", - inventory_image = "xdecor_crafting_guide.png", - wield_image = "xdecor_crafting_guide.png", - stack_max = 1, - groups = {book=1}, - on_use = function(itemstack, user) - local player_name = user:get_player_name() - if not datas[player_name] then - datas[player_name] = {} - datas[player_name].filter = "" - craftguide:get_items(player_name) - craftguide:set_formspec(player_name, 1, 1) - else - minetest.show_formspec(player_name, "xdecor:craftguide", datas[player_name].formspec) - end - end -}) - diff --git a/init.lua b/init.lua index 4a19464..629daee 100644 --- a/init.lua +++ b/init.lua @@ -9,18 +9,16 @@ dofile(modpath.."/handlers/nodeboxes.lua") dofile(modpath.."/handlers/registration.lua") -- Item files. -dofile(modpath.."/chess.lua") -dofile(modpath.."/cooking.lua") -dofile(modpath.."/craftguide.lua") -dofile(modpath.."/craftitems.lua") -dofile(modpath.."/enchanting.lua") -dofile(modpath.."/hive.lua") -dofile(modpath.."/itemframe.lua") -dofile(modpath.."/mailbox.lua") -dofile(modpath.."/mechanisms.lua") -dofile(modpath.."/nodes.lua") -dofile(modpath.."/recipes.lua") -dofile(modpath.."/rope.lua") -dofile(modpath.."/workbench.lua") +dofile(modpath.."/src/chess.lua") +dofile(modpath.."/src/cooking.lua") +dofile(modpath.."/src/craftitems.lua") +dofile(modpath.."/src/enchanting.lua") +dofile(modpath.."/src/hive.lua") +dofile(modpath.."/src/itemframe.lua") +dofile(modpath.."/src/mailbox.lua") +dofile(modpath.."/src/mechanisms.lua") +dofile(modpath.."/src/nodes.lua") +dofile(modpath.."/src/recipes.lua") +dofile(modpath.."/src/rope.lua") +dofile(modpath.."/src/workbench.lua") --print(string.format("[xdecor] loaded in %.2f ms", (os.clock()-t)*1000)) - diff --git a/chess.lua b/src/chess.lua similarity index 100% rename from chess.lua rename to src/chess.lua diff --git a/cooking.lua b/src/cooking.lua similarity index 100% rename from cooking.lua rename to src/cooking.lua diff --git a/craftitems.lua b/src/craftitems.lua similarity index 100% rename from craftitems.lua rename to src/craftitems.lua diff --git a/enchanting.lua b/src/enchanting.lua similarity index 100% rename from enchanting.lua rename to src/enchanting.lua diff --git a/hive.lua b/src/hive.lua similarity index 100% rename from hive.lua rename to src/hive.lua diff --git a/itemframe.lua b/src/itemframe.lua similarity index 100% rename from itemframe.lua rename to src/itemframe.lua diff --git a/mailbox.lua b/src/mailbox.lua similarity index 100% rename from mailbox.lua rename to src/mailbox.lua diff --git a/mechanisms.lua b/src/mechanisms.lua similarity index 100% rename from mechanisms.lua rename to src/mechanisms.lua diff --git a/nodes.lua b/src/nodes.lua similarity index 100% rename from nodes.lua rename to src/nodes.lua diff --git a/recipes.lua b/src/recipes.lua similarity index 98% rename from recipes.lua rename to src/recipes.lua index 85af033..9e0b169 100644 --- a/recipes.lua +++ b/src/recipes.lua @@ -97,12 +97,6 @@ minetest.register_craft({ } }) -minetest.register_craft({ - output = "xdecor:crafting_guide", - type = "shapeless", - recipe = {"default:book"} -}) - minetest.register_craft({ output = "xdecor:cushion 3", recipe = { diff --git a/rope.lua b/src/rope.lua similarity index 100% rename from rope.lua rename to src/rope.lua diff --git a/workbench.lua b/src/workbench.lua similarity index 100% rename from workbench.lua rename to src/workbench.lua diff --git a/textures/xdecor_crafting_guide.png b/textures/xdecor_crafting_guide.png deleted file mode 100644 index 4d085303e6e47ea7d5b66312472509b6d94394fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2925 zcmV-z3zGDSP)uJ@VVD_U zC<6{NG_fI~0ue<-1QkJoA_k0xBC#Thg@9ne9*`iQ#9$OrQF$}6R&?d%y_c8YA7_1Q zpS|}zXYYO1x&V;8{kgn!SPFnNo`4_X z6{c}T{8k*B#$jdxfFg<9uYy1K45IaYvHg`_dOZM)Sy63ve6hvv1)yUy0P^?0*fb9UASvow z`@mQCp^4`uNg&9uGcn1|&Nk+9SjOUl{-OWr@Hh0;_l(8q{wNRKos+;6rV8ldy0Owz z(}jF`W(JeRp&R{qi2rfmU!TJ;gp(Kmm5I1s5m_f-n#TRsj}B0%?E` zvOzxB2#P=n*a3EfYETOrKoe*ICqM@{4K9Go;5xVgZi5G41dM~{UdP z6d+Yd3o?MrAqM0Kc|iV92owdyL5UC#5<>aVCa44|hpM4Es0sQWIt5*Tu0n&*J!lk~ zf_{hI!w5`*sjxDv4V%CW*ah~3!{C*0BD@;TgA3v9a1~q+AA{TB3-ERLHar49hi4Ih z5D^-ph8Q6X#0?2VqLBoIkE}zAkxHZUgRb+f=natP#6>iMMoK->`~sRLq)(kHo*Vn{;LcG6+e zdD1=7D>9j^O?D{Qg|tCDK{ym)H7&wDr6*;uGTJg8GHjVb znL{!cWyUB7MT6o-VNo_w8Yq`2<5Ub)hw4L3rj}5@qxMs0WMyP6Wy582WNT#4$d1qu znl{acmP#w5ouJ*Jy_Zv#bCKi7ZIf$}8dZdVy&)LYdbX%I9R8VMQ|8r>Q*nyQ)sn)#Z|n)kKvS`4iutvy=3T65Yu+7a4Yv^%sX zb>ww?bn(=Yu(!=O6^iuTp>)p_Y^{w=i^lS773}6Fm1Fpe-gF!>I zp{*g$u-szvGhed; zvo5pW&GpS$<~8QGEXWp~7V9lKEnZq0SaK{6Sl+dwSOr*ZvFf(^Xl-N7w{EeXveC4O zv)N}e%%C!Y7^RFWwrE>d+x51mZQt2h+X?JW*!^a2WS?Sx)P8cQ&Qi|OhNWW;>JChY zI)@QQx?`Nj^#uJBl~d&PK+RZLOLos~K(b5>qmrMN0})tOkySZ3_WICNY@+|jrX%s^&6b2i>5 zeqa0y%Z;^%^_=a@u3%4b9605ii3Ep)@`TAmhs0fpQ%O!ql}XcFH*PieWwLj2ZSq`7 zV9Mc?h17`D)-+sNT-qs~3@?S(ldh7UlRlVXkWrK|vf6I-?$tAVKYn8-l({mqQ$Q8{ zO!WzMg`0(=S&msXS#Pt$vrpzo=kRj+a`kh!z=6$;cwT88(J6|n-WB%w`m$h~4 zpmp)YIh_3ETV2tjiAU!0h1dxU-n=E9e!)6|Z;4?!H=SSy{V>ut&IOq{_dlbFb#!9eY1iCsp6Bajj|H zr?hX|zPbJE{X++w546-O*Ot`2Kgd0Jx6Z4syTu9enWavU5N9)I?I-1m1* z_?_rJ$vD~agVqoG+9++s?NEDe`%Fht$4F;X=in*dQ{7$mU2Q)a|9JSc+Uc4zvS-T9 z63!N$T{xF_ZuWe}`RNOZ7sk3{yB}PPym+f8xTpV;-=!;;JuhGEb?H5K#o@~7t9DmU zU1MD9xNd#Dz0azz?I)|B+WM{g+Xrk0I&awC=o(x)cy`EX=)z6+o0o6-+`4{y+3mqQ z%kSJBju{@g%f35#FZJHb`&swrA8dGtepviS>QUumrN{L@>;2q1Vm)$Z)P1z?N$8UY zW2~{~zhwUMVZ87u`Dx{Z>O|9|`Q+&->FRy-Sjp7DHsy69KwU-!MxeeuI@&cF4| zM9z%ARI+y?e7jKeZ#YO-C04-2VR7GQiz^SjI|Ns9aF-I;vSvX5< zLRf%FVU9{-kEySsueGSY#mK+M%goTn-Qe24Cr@So000AYQchC<008=S#NGe^0BT7@ zK~xCWV^D$u226&cpy1O`1_lsAvMntX%y^OWEG-nskZjxc?pQLA@glwKb()tFgJxS= zdRg)kB?gT&An-C!V$d^5OG};t)TKJlB+b(R$WU;3=e!tXpaO%*O#=vn!I=TXfLRIv XD7qj;#Y|7U00000NkvXXu0mjfH_(`x