From 2f1516c650eb4e47c547809ab5640e867b307821 Mon Sep 17 00:00:00 2001 From: stujones11 Date: Tue, 7 May 2019 22:41:02 +0100 Subject: [PATCH] Redo crafting with sfinv --- games/default/files/3d_armor/armor.lua | 21 -- games/default/files/3d_armor/depends.txt | 1 - games/default/files/crafting/depends.txt | 3 + games/default/files/crafting/init.lua | 72 ++++++ .../crafting/textures/crafting_gui_formbg.png | Bin 0 -> 3502 bytes games/default/files/creative/inventory.lua | 211 ++++++++++++++---- .../textures/crafting_armor_boots.png | Bin 0 -> 1575 bytes .../textures/crafting_armor_chest.png | Bin 0 -> 2028 bytes .../textures/crafting_armor_helmet.png | Bin 0 -> 2218 bytes .../creative/textures/crafting_armor_legs.png | Bin 0 -> 1367 bytes .../textures/crafting_creative_active.png | Bin 0 -> 346 bytes .../textures/crafting_creative_all.png | Bin 0 -> 282 bytes .../textures/crafting_creative_bg.png | Bin 0 -> 83 bytes .../textures/crafting_creative_bg_dark.png | Bin 0 -> 83 bytes .../textures/crafting_creative_build.png | Bin 0 -> 1428 bytes .../textures/crafting_creative_deko.png | Bin 0 -> 952 bytes .../textures/crafting_creative_down.png | Bin 0 -> 184 bytes .../textures/crafting_creative_inv.png | Bin 0 -> 648 bytes .../textures/crafting_creative_matr.png | Bin 0 -> 519 bytes .../textures/crafting_creative_mese.png | Bin 0 -> 424 bytes .../textures/crafting_creative_misc.png | Bin 0 -> 544 bytes .../textures/crafting_creative_rail.png | Bin 0 -> 634 bytes .../textures/crafting_creative_sword.png | Bin 0 -> 324 bytes .../textures/crafting_creative_tool.png | Bin 0 -> 281 bytes ...h_icon.png => crafting_creative_trash.png} | Bin .../textures/crafting_creative_up.png | Bin 0 -> 181 bytes .../files/creative/textures/crafting_food.png | Bin 0 -> 428 bytes .../textures/crafting_formspec_inv.png | Bin 0 -> 3502 bytes .../textures/crafting_inventory_armor2.png | Bin 0 -> 422 bytes .../textures/crafting_inventory_brew.png | Bin 0 -> 239 bytes .../textures/crafting_inventory_chest.png | Bin 0 -> 2196 bytes .../textures/crafting_inventory_creative.png | Bin 0 -> 3858 bytes .../creative/textures/crafting_player2d.png | Bin 0 -> 550 bytes .../creative/textures/crafting_slider.png | Bin 0 -> 82 bytes .../creative/textures/creative_gui_formbg.png | Bin 2193 -> 0 bytes .../files/creative/textures/fnt_all.png | Bin 0 -> 186 bytes .../files/creative/textures/fnt_blocks.png | Bin 0 -> 198 bytes .../files/creative/textures/fnt_brew.png | Bin 0 -> 171 bytes .../files/creative/textures/fnt_combat.png | Bin 0 -> 160 bytes .../files/creative/textures/fnt_deco.png | Bin 0 -> 203 bytes .../files/creative/textures/fnt_food.png | Bin 0 -> 195 bytes .../files/creative/textures/fnt_inv.png | Bin 0 -> 210 bytes .../files/creative/textures/fnt_matr.png | Bin 0 -> 174 bytes .../files/creative/textures/fnt_mese.png | Bin 0 -> 153 bytes .../files/creative/textures/fnt_misc.png | Bin 0 -> 189 bytes .../files/creative/textures/fnt_rail.png | Bin 0 -> 192 bytes .../files/creative/textures/fnt_tools.png | Bin 0 -> 150 bytes games/default/files/sfinv/api.lua | 6 +- games/default/files/sfinv/init.lua | 22 +- 49 files changed, 248 insertions(+), 88 deletions(-) create mode 100644 games/default/files/crafting/depends.txt create mode 100644 games/default/files/crafting/init.lua create mode 100644 games/default/files/crafting/textures/crafting_gui_formbg.png create mode 100644 games/default/files/creative/textures/crafting_armor_boots.png create mode 100644 games/default/files/creative/textures/crafting_armor_chest.png create mode 100644 games/default/files/creative/textures/crafting_armor_helmet.png create mode 100644 games/default/files/creative/textures/crafting_armor_legs.png create mode 100644 games/default/files/creative/textures/crafting_creative_active.png create mode 100644 games/default/files/creative/textures/crafting_creative_all.png create mode 100644 games/default/files/creative/textures/crafting_creative_bg.png create mode 100644 games/default/files/creative/textures/crafting_creative_bg_dark.png create mode 100644 games/default/files/creative/textures/crafting_creative_build.png create mode 100644 games/default/files/creative/textures/crafting_creative_deko.png create mode 100644 games/default/files/creative/textures/crafting_creative_down.png create mode 100644 games/default/files/creative/textures/crafting_creative_inv.png create mode 100644 games/default/files/creative/textures/crafting_creative_matr.png create mode 100644 games/default/files/creative/textures/crafting_creative_mese.png create mode 100644 games/default/files/creative/textures/crafting_creative_misc.png create mode 100644 games/default/files/creative/textures/crafting_creative_rail.png create mode 100644 games/default/files/creative/textures/crafting_creative_sword.png create mode 100644 games/default/files/creative/textures/crafting_creative_tool.png rename games/default/files/creative/textures/{creative_trash_icon.png => crafting_creative_trash.png} (100%) create mode 100644 games/default/files/creative/textures/crafting_creative_up.png create mode 100644 games/default/files/creative/textures/crafting_food.png create mode 100644 games/default/files/creative/textures/crafting_formspec_inv.png create mode 100644 games/default/files/creative/textures/crafting_inventory_armor2.png create mode 100644 games/default/files/creative/textures/crafting_inventory_brew.png create mode 100644 games/default/files/creative/textures/crafting_inventory_chest.png create mode 100644 games/default/files/creative/textures/crafting_inventory_creative.png create mode 100644 games/default/files/creative/textures/crafting_player2d.png create mode 100644 games/default/files/creative/textures/crafting_slider.png delete mode 100644 games/default/files/creative/textures/creative_gui_formbg.png create mode 100644 games/default/files/creative/textures/fnt_all.png create mode 100644 games/default/files/creative/textures/fnt_blocks.png create mode 100644 games/default/files/creative/textures/fnt_brew.png create mode 100644 games/default/files/creative/textures/fnt_combat.png create mode 100644 games/default/files/creative/textures/fnt_deco.png create mode 100644 games/default/files/creative/textures/fnt_food.png create mode 100644 games/default/files/creative/textures/fnt_inv.png create mode 100644 games/default/files/creative/textures/fnt_matr.png create mode 100644 games/default/files/creative/textures/fnt_mese.png create mode 100644 games/default/files/creative/textures/fnt_misc.png create mode 100644 games/default/files/creative/textures/fnt_rail.png create mode 100644 games/default/files/creative/textures/fnt_tools.png diff --git a/games/default/files/3d_armor/armor.lua b/games/default/files/3d_armor/armor.lua index b69db8317..793aa70d7 100644 --- a/games/default/files/3d_armor/armor.lua +++ b/games/default/files/3d_armor/armor.lua @@ -24,27 +24,6 @@ end local time = 0 -sfinv.override_page("sfinv:crafting", { - title = "Crafting", - get = function(self, player, context) - local player_name = player:get_player_name(); - local form = [[ - listcolors[#9990;#FFF7;#FFF0;#160816;#D4D2FF] - list[current_player;craft;4,1;2,1;1] - list[current_player;craft;4,2;2,1;4] - list[current_player;craftpreview;7.05,1.54;1,1;] - list[detached:split;main;7.99,3.15;1,1;] - image[1.5,0;2,4;default_player2d.png] - ]] .. - "list[detached:"..player_name.."_armor;armor;0,0;1,1;]".. - "list[detached:"..player_name.."_armor;armor;0,1;1,1;1]".. - "list[detached:"..player_name.."_armor;armor;0,2;1,1;2]".. - "list[detached:"..player_name.."_armor;armor;0,3;1,1;3]".. - "image_button_exit[8.4,-0.1;0.75,0.75;close.png;exit;;true;true;]" - return sfinv.make_formspec(player, context, form , true) - end, -}) - armor = { player_hp = {}, elements = {"head", "torso", "legs", "feet"}, diff --git a/games/default/files/3d_armor/depends.txt b/games/default/files/3d_armor/depends.txt index 975e65250..4ad96d515 100644 --- a/games/default/files/3d_armor/depends.txt +++ b/games/default/files/3d_armor/depends.txt @@ -1,2 +1 @@ default -sfinv diff --git a/games/default/files/crafting/depends.txt b/games/default/files/crafting/depends.txt new file mode 100644 index 000000000..bd9956403 --- /dev/null +++ b/games/default/files/crafting/depends.txt @@ -0,0 +1,3 @@ +default +sfinv +3d_armor? diff --git a/games/default/files/crafting/init.lua b/games/default/files/crafting/init.lua new file mode 100644 index 000000000..115c14030 --- /dev/null +++ b/games/default/files/crafting/init.lua @@ -0,0 +1,72 @@ +local show_armor = minetest.get_modpath("3d_armor") + +local function item_drop(itemstack, dropper, pos) + if dropper:is_player() then + local v = dropper:get_look_dir() + local p = {x=pos.x, y=pos.y+1.2, z=pos.z} + p.x = p.x+(math.random(1,3)*0.2) + p.z = p.z+(math.random(1,3)*0.2) + local obj = minetest.env:add_item(p, itemstack) + if obj then + v.x = v.x*4 + v.y = v.y*4 + 2 + v.z = v.z*4 + obj:setvelocity(v) + end + else + minetest.add_item(pos, itemstack) + end + return itemstack +end + +local function drop_fields(player, name) + local inv = player:get_inventory() + for i,stack in ipairs(inv:get_list(name)) do + item_drop(stack, player, player:get_pos()) + stack:clear() + inv:set_stack(name, i, stack) + end +end + +sfinv.override_page("sfinv:crafting", { + title = "Crafting", + get = function(self, player, context) + local form = [[ + background[-0.19,-0.25;9.41,9.49;crafting_gui_formbg.png] + listcolors[#9990;#FFF7;#FFF0;#160816;#D4D2FF] + list[current_player;craft;4,1;2,1;1] + list[current_player;craft;4,2;2,1;4] + list[current_player;craftpreview;7.05,1.54;1,1;] + list[detached:split;main;7.99,3.15;1,1;] + image[1.5,0;2,4;default_player2d.png] + image_button_exit[8.4,-0.1;0.75,0.75;close.png;exit;;true;true] + ]] + if show_armor then + local player_name = player:get_player_name() + form = form .. + "list[detached:"..player_name.."_armor;armor;0,0;1,1;]".. + "list[detached:"..player_name.."_armor;armor;0,1;1,1;1]".. + "list[detached:"..player_name.."_armor;armor;0,2;1,1;2]".. + "list[detached:"..player_name.."_armor;armor;0,3;1,1;3]" + end + return sfinv.make_formspec(player, context, form, true) + end, + on_player_receive_fields = function(self, player, context, fields) + if fields.quit then + drop_fields(player, "craft") + end + end, +}) + +local split_inv = minetest.create_detached_inventory("split", { + allow_move = function(_, _, _, _, _, count, _) + return count + end, + allow_put = function(_, _, _, stack, _) + return stack:get_count() / 2 + end, + allow_take = function(_, _, _, stack, _) + return stack:get_count() + end, +}) +split_inv:set_size("main", 1) diff --git a/games/default/files/crafting/textures/crafting_gui_formbg.png b/games/default/files/crafting/textures/crafting_gui_formbg.png new file mode 100644 index 0000000000000000000000000000000000000000..7d8e39ae9a759356f9457d847122ed0513b73eef GIT binary patch literal 3502 zcmb_fdpwls7jHK|8djw#w`kiI?+VGVyferaU4#c2wMBFxO{5tn_e)zU3R_-X@J_Q8 zW_8iJ{dV`zL4O*JM)!|UAFQW-~S9tD*MI0j=AVPYH^@t~NWB zqM&Llw^8AYrSAo^pMKn%eQ(;y#pAA<*;>P{v)Nrwe9EmAQ-7P5F;;rb)C(E?D_VOu zQKWxsSFdxX5H`33D77|A^+7rhWj;UZzR#?Ss(&|UcUqE8@SUo1 z+8QvJ)Yp~&0|7VW#?i5ns{&$(_<#jAu%P!4+!Az$g)tnN>j+l1CqL<~ndNkp}a zwYu?I*92~1mgwXtLkPG}5|}K8l+Ypb&}Y0-ZY71oG~t=azkoVt;;Ysge& z{mQ#9C<3k7oyG$(E|ER2RhitZ04uoom@?R3*m}-wqCj30;t#I)uD>6&3Pg<~D22rUeB(*XOt+Zb}-};Qb0ah$jx_ zdBkVr(bjVU@>K6@-B>M6ff9hFBbomxjUi&Y!>f8S9B+J_9B<6b-^DGxVi7tgVGqID zLvB1oD9(S_m;A>GZTr5c5g9PJcPJJ%n5&up>F;Z~JW)@=pnp8F8EV%4ZYW%{P{G4p z1zbf3@|=eRz3ccil|!%YJmbalO(W{(qXOz!r3KB3;b<*9%q{42+&}JMX3^#KT2wZ! z20a2Ft@lcNI0oPdYv#O$RYiFR?L0!`STD&w6YwmXC=9R8ez}?KJ@B^2t14@0PIW)i zjU340KVVZz!L^=X-3PW8KQGV5SM0dF(gQLT?IsfblVNMp0^C859Ic|zJo9$%XuY8 zHSZ6kzm)(z2g8Ax^>7xSYz%J6S)%&pmBGpG6oD5%>#C3i6oC$FJ!dD|5!$oAT$H59 zsj+;(Ma@WkF~5sN%X;4f>8F+Mmv6jSwy z%Kb)8gO)%R`IUk3ecXasFEcj9j=oW8_78g5Idw zTSPE9I#%qFZqy&cH`SQ)5;&t&-f84W2LV!)Mx}y6g#{C_e0?-g4m~1ZR_KZ;rH|S4 z@rKkOt|-T61t$9zPMQ&DIo$62sWSc!E=u2bWcCzoj=ppHQdXU*6INgwTkg3uoVT}Itu1yV zAj9S_?oCAM(MSue61x)Xl`q<{0!8()K8qD->NC7H)5&eoTxpXnV%y>U6szP{&pW4I zbvTM`D)qR$r>$A)!-dg~BQgA3^qk9z#DpVYzAe6fO{6KQ)QrG59g+y@dw&4m^ zkVpEH>_KHu3$I|Vt@niY1($rXY%#?ao{7ZlUvD)_CtD7@jcuKJFS^u8fLztKXlqFP zqc(Y4jR;JyAXL_=#;caV`6`)&10$bmP&u11>j)b(ZcAxE-+r5YZPpCy zmnWH*`m}Q9elA3Q#=MfBbk6K$J9W^n!G1b6>I%6myYfiLJ z3~5eYZzXU-x-QxWlaIHKo(Ipw@683wxsRd^5W&MAO;=39_FbK|*y1dH7x%7z%}@+- zV@F#LRifjN(P&9UItd(aLu7<{T+Uv;;K8`LfZ9GxH5ba-m%O+{1o!Mt5&xll41%>9 z+O!bpxq*npu>N#=JJj#K-A3jv9c+DXw6LZb(|76U0a!PgqKjZ(Pb+t_Ry3V-OC&|s z3S*Fxm9~RgQE%?492WW26pkFdoIi53cyIjfBMMM~Zc@`&MpjehhGYU%K3J<#+2W zffpH_dyBQ;LG5461lABe#g(=7`4o za(qW5%EInBu|f1TSXB~T77=%b(J4}r>nY_g_c;X63KV8^YxO0^ljF#Y6@e=PF`*)k z2pK_OX@zZV9O4@w)nQspB0>OrMk5xvPK26!r8?XOlcXn+m*dZ6^Q1alYlO>(fav-c zLU%{FmX);z?wjS|Ld>gXAW?6Pvt|gG4qkRv#((YR-3V{ z3>X_n%q_e9hC)YLq^DyDFc*7&!m$+VEZq1RSq1MG7=sqzfO}qn+h9_+6xw3xbEykD zDg5pV42%n@?=v!~;~Zw~7myfY%Ov)9OREa_1vhe9?QkUF3BwgPi|CY)syJyfa2#Hd zoMJYt)(o24#0GU$PwJnS*`Wz(_3W!yB3Nq}rXMUML(&)lsZRlGaSz>*FGBS{BGXk{ z$m3@eE|f1J6-n0c>X-ZUa7Fv--wbQlRh{KOsS4`;*&R-iJX*a#AQHf#kN_%$@*nKl zf^A{!(nwVJ#4ZWD6br*_C*FTx{rG?2Skm8=`kc&+ z!(U`JE?j*1uWuNp8_?{@_;!zOKX 0 then + item_list[name] = def + end + end + end + return item_list +end + local function init_creative_cache(items) inventory_cache[items] = {} local i_cache = inventory_cache[items] @@ -90,6 +151,63 @@ trash:set_size("main", 1) creative.formspec_add = "" +local function get_creative_formspec(player_name, start_i, pagenum, page, pagemax) + reset_menu_item_bg() + pagenum = math.floor(pagenum) or 1 + local slider_height = 4 / pagemax + local slider_pos = slider_height * (pagenum - 1) + 2.2 + local formspec = "" + local main_list = "list[detached:creative_" .. player_name .. + ";main;0,1.75;9,5;"..tostring(start_i).."]" + local name = "all" + if page ~= nil then name = page end + bg[name] = "crafting_creative_bg.png" + if name == "inv" then + main_list = "image[-0.2,1.7;11.35,2.33;crafting_creative_bg.png]".. + "image[-0.3,0.15;3,4.3;crafting_inventory_armor2.png]".. + "list[current_player;main;0,3.75;9,3;9]".. + "list[detached:"..player_name.."_armor;armor;0.02,1.7;1,1;]".. + "list[detached:"..player_name.."_armor;armor;0.02,2.7;1,1;1]".. + "list[detached:"..player_name.."_armor;armor;0.98,1.7;1,1;2]".. + "list[detached:"..player_name.."_armor;armor;0.98,2.7;1,1;3]" + end + local formspec = "image_button_exit[8.4,-0.1;0.75,0.75;close.png;exit;;true;true;]".. + "background[-0.19,-0.25;10.5,9.87;crafting_inventory_creative.png]".. + "bgcolor[#080808BB;true]".. + "listcolors[#9990;#FFF7;#FFF0;#160816;#D4D2FF]".. + "label[-5,-5;"..name.."]".. + "image[" .. offset[name] .. ";1.5,1.44;crafting_creative_active.png"..hoch[name].."]".. + "image_button[-0.1,0;1,1;"..bg["blocks"].."^crafting_creative_build.png;build;]".. --build blocks + "image_button[1.15,0;1,1;"..bg["deco"].."^crafting_creative_deko.png;deco;]".. --decoration blocks + "image_button[2.415,0;1,1;"..bg["mese"].."^crafting_creative_mese.png;mese;]".. --bluestone + "image_button[3.693,0;1,1;"..bg["rail"].."^crafting_creative_rail.png;rail;]".. --transportation + "image_button[4.93,0;1,1;"..bg["misc"].."^crafting_creative_misc.png;misc;]".. --miscellaneous + "image_button[9.19,0;1,1;"..bg["all"].."^crafting_creative_all.png;default;]".. --search + "image[0,1;5,0.75;fnt_"..name..".png]".. + "list[current_player;main;0,7;9,1;]".. + main_list.. + "image_button[9.03,1.74;0.85,0.6;crafting_creative_up.png;creative_prev;]".. + "image_button[9.03,6.15;0.85,0.6;crafting_creative_down.png;creative_next;]".. + "image_button[-0.1,8.28;1,1;"..bg["food"].."^crafting_food.png;food;]".. --foodstuff + "image_button[1.15,8.28;1,1;"..bg["tools"].."^crafting_creative_tool.png;tools;]".. --tools + "image_button[2.415,8.28;1,1;"..bg["combat"].."^crafting_creative_sword.png;combat;]".. --combat + "image_button[3.693,8.28;1,1;"..bg["matr"].."^crafting_creative_matr.png;matr;]".. --brewing + "image_button[4.93,8.28;1,1;"..bg["brew"].."^crafting_inventory_brew.png;brew;]".. --materials^ + "image_button[9.19,8.28;1,1;"..bg["inv"].."^crafting_creative_inv.png;inv;]".. --inventory + "list[detached:creative_trash;main;9,7;1,1;]".. + "image[9,7;1,1;crafting_creative_trash.png]".. + "image[9.04," .. tostring(slider_pos) .. ";0.78,"..tostring(slider_height) .. ";crafting_slider.png]" + + if name == "all" then + formspec = formspec .. "field_close_on_enter[suche;false]" .. + "field[5.3,1.3;4,0.75;suche;;]" + end + if pagenum ~= nil then + formspec = formspec .. "p"..tostring(pagenum) + end + return formspec +end + function creative.register_tab(name, title, items) sfinv.register_page("creative:" .. name, { title = title, @@ -101,34 +219,11 @@ function creative.register_tab(name, title, items) creative.update_creative_inventory(player_name, items) local inv = player_inventory[player_name] local start_i = inv.start_i or 0 - local pagenum = math.floor(start_i / (3*9) + 1) - local pagemax = math.ceil(inv.size / (3*9)) - return sfinv.make_formspec(player, context, - "label[6.75,3.85;" .. minetest.colorize("#FFFF00", tostring(pagenum)) .. " / " .. tostring(pagemax) .. "]" .. - [[ - background[-0.19,-0.25;9.41,10.48;creative_gui_formbg.png] - image[4,3.7;1,1;creative_trash_icon.png] - listcolors[#9990;#FFF7;#FFF0;#160816;#D4D2FF] - list[current_player;main;0,5.5;9,3;9] - list[current_player;main;0,8.74;9,1;] - list[detached:creative_trash;main;4,3.7;1,1;] - listring[] - button[5.5.0,3.7;0.8,0.9;creative_prev;<] - button[8.25,3.7;0.8,0.9;creative_next;>] - button[2.1,3.9;0.8,0.5;creative_search;?] - button[2.75,3.9;0.8,0.5;creative_clear;X] - tooltip[creative_search;Search] - tooltip[creative_clear;Reset] - tooltip[creative_prev;Previous page] - tooltip[creative_next;Next page] - listring[current_player;main] - field_close_on_enter[creative_filter;false] - ]] .. - "field[0.3,4.0;2.2,1;creative_filter;;" .. minetest.formspec_escape(inv.filter) .. "]" .. - "listring[detached:creative_" .. player_name .. ";main]" .. - "list[detached:creative_" .. player_name .. ";main;0,0.5;9,3;" .. tostring(start_i) .. "]" .. - "image_button_exit[8.4,-0.1;0.75,0.75;close.png;exit;;true;true;]".. - creative.formspec_add, false, "size[9,9.75]") + local pagenum = math.floor(start_i / (5*9) + 1) + local pagemax = math.ceil(inv.size / (5*9)) + local formspec = get_creative_formspec(player_name, start_i, + pagenum, name, pagemax) + return sfinv.make_formspec(player, context, formspec, false, "size[10,9.3]") end, on_enter = function(self, player, context) local player_name = player:get_player_name() @@ -142,30 +237,48 @@ function creative.register_tab(name, title, items) local inv = player_inventory[player_name] assert(inv) - if fields.creative_clear then + if fields.build then + sfinv.set_page(player, "creative:blocks") + elseif fields.deco then + sfinv.set_page(player, "creative:deco") + elseif fields.mese then + sfinv.set_page(player, "creative:mese") + elseif fields.rail then + sfinv.set_page(player, "creative:rail") + elseif fields.misc then + sfinv.set_page(player, "creative:misc") + elseif fields.default then + sfinv.set_page(player, "creative:all") + elseif fields.food then + sfinv.set_page(player, "creative:food") + elseif fields.tools then + sfinv.set_page(player, "creative:tools") + elseif fields.combat then + sfinv.set_page(player, "creative:combat") + elseif fields.matr then + sfinv.set_page(player, "creative:matr") + elseif fields.inv then + sfinv.set_page(player, "creative:inv") + elseif fields.brew then + sfinv.set_page(player, "creative:brew") + elseif fields.suche and + fields.key_enter_field == "suche" then inv.start_i = 0 - inv.filter = "" - creative.update_creative_inventory(player_name, items) - sfinv.set_player_inventory_formspec(player, context) - elseif fields.creative_search or - fields.key_enter_field == "creative_filter" then - inv.start_i = 0 - inv.filter = fields.creative_filter:lower() + inv.filter = fields.suche:lower() creative.update_creative_inventory(player_name, items) sfinv.set_player_inventory_formspec(player, context) elseif not fields.quit then local start_i = inv.start_i or 0 - if fields.creative_prev then - start_i = start_i - 3*9 + start_i = start_i - 5*9 if start_i < 0 then - start_i = inv.size - (inv.size % (3*9)) + start_i = inv.size - (inv.size % (5*9)) if inv.size == start_i then - start_i = math.max(0, inv.size - (3*9)) + start_i = math.max(0, inv.size - (5*9)) end end elseif fields.creative_next then - start_i = start_i + 3*9 + start_i = start_i + 5*9 if start_i >= inv.size then start_i = 0 end @@ -179,9 +292,19 @@ function creative.register_tab(name, title, items) end creative.register_tab("all", "All", minetest.registered_items) -creative.register_tab("nodes", "Nodes", minetest.registered_nodes) -creative.register_tab("tools", "Tools", minetest.registered_tools) -creative.register_tab("craftitems", "Items", minetest.registered_craftitems) +creative.register_tab("inv", "Inv", {}) +minetest.after(0, function() + creative.register_tab("blocks", "1", get_item_list("building")) + creative.register_tab("deco", "2", get_item_list("decorative")) + creative.register_tab("mese", "3", get_item_list("mese")) + creative.register_tab("rail", "4", get_item_list("rail")) + creative.register_tab("misc", "5", get_item_list("misc")) + creative.register_tab("food", "6", get_item_list("foodstuffs")) + creative.register_tab("tools", "7", get_item_list("tools")) + creative.register_tab("combat", "8", get_item_list("combat")) + creative.register_tab("matr", "9", get_item_list("materials")) + creative.register_tab("brew", "10", get_item_list("brewing")) +end) local old_homepage_name = sfinv.get_homepage_name function sfinv.get_homepage_name(player) diff --git a/games/default/files/creative/textures/crafting_armor_boots.png b/games/default/files/creative/textures/crafting_armor_boots.png new file mode 100644 index 0000000000000000000000000000000000000000..3721cb15157628200c183857eb58d6f54ae8e84d GIT binary patch literal 1575 zcmdT^={FmA0Q|*KLT!n4t!i!Rs-SJwLmhp@(N%&9Dk^AEB}CWVrifxi>MY`1tGqgb z)KNrH=Ti~4wpv2+f~vZ!sC(`H7du~O=G(k^^Cr>G=DL{3FCqW{G0Wf0>`%A}00>I> z)QPIMu#N#haMjYx#32H*+<9UEAQc@}$W-wCEB{wu;D{hhiC6-n2xE)fU31UP)P{g5 z3oL%BWuB(l@}Xt^#6HgDUMy5n2;G^}8wZ;%o~pVlmOQTkkX>h#(U{|{O1=eLp%jZE5+4@Qm(ApnO=VY6N?mENI3=Dhl| z9w-SaCPT@H*kF@}7Ytn6SBkd~zi^)h73(2?R+z@34uH#*w0utVhT~%G=#@hSV0s_J z%>0b4ZN-BQ?!App?KYruU`y^a3JVo`UC@OWi%WL&h9PUa%G?c4b8lK3vm@Av<(gyN zqsKc1k(0sTwf7@0*BoPg&$!;%y%v<-3~@!_Ma9!qyM;%ehX=(paODB^4&zlntT7x$ zxzm72cHYiV?n;oSDpDkVAFvalWP`v~i3aoCY&VV-bzjs!HpC(hY~qBch-=Yfw>FDY zlbj5*Zan6`oBboqLdNv;=+)gF6yR_?+S9UZ=$r+t4M#wfw37gor9HEf~E;}|SGN|H#R(UC4 zxq#inM4z43(3N1JRT>pGwhWfgVbpxRvD?rE9cXS!i-=NP40&GVZnN)iZV4iOEPmxr z-ly%_Y%@g!{E`GFf1ZHB_}&%Ht3V*Up+P7Ly$(wto5sh9D^l~DlzW2ePeO01r_HO_ z5UBYP!-GTuZ;r4$?)c*imOxiFbG0I8?2)mwsNzPCaR_*r89NhYooti=oify1r8z7xKcRA z>03PIauSlnR|P}lZSNH5a?bOK*HH|$FjA#=K8ADykA7#4>IZHR#v*h%YbJV)RT&wX zaBGh!)8xx!AuGLuR%;`M=)PEEGjMQ`RCCM<{4?wEH4VkPfakOruD%gs+K(2*?PT5) z*wzx{SFJkYP%vVSxEWr{I>WjcaTd+sF$Dxr;3!RQQNbn4p}v{n$a`fiC5bN!$|#jL znrywgkaYgxdH|3vZqBNPT`x%V`nW%Bd&Lez$jb73n+QQS8ZzV$wZph#$n4$nxp?3048oKvuc$foa_ zt4y}3!?L60n~tQjFK)(SLQR5bQM3EsSwu=_$A0c{wcblMCmaBSMu#jc#fb9kRUX&TA1s|-BCg6lUbmeeg_7;NOqGs{6-B7%zx)@X>MaiM|nK?2Y0@#&;S4c literal 0 HcmV?d00001 diff --git a/games/default/files/creative/textures/crafting_armor_chest.png b/games/default/files/creative/textures/crafting_armor_chest.png new file mode 100644 index 0000000000000000000000000000000000000000..2cf93b6559afa8148c7476316b0c54a5c81084a8 GIT binary patch literal 2028 zcmbVNdpOi-8y=d*43im$Wt@jW6!qJWG*Ox{jMF$JIV?3|%dF2Ka`>FhFk)?JBw-mg zns!WIOlY0zXA(*@u?S_Ev=QrALpFA3x9|V&z3%sLz4vptpXYk7>&XPICJMhA~(Eh;i z>SRn;g*YInxgo6S1$XFH*jTrZT7Ow&{>A!+whu$G!;SO2`44kHHoKT5KI$pk$aAaR zJG`J#9(8r0?r>7;RmY;HQcBG*)yJv-Rl`7uc`7EuB0op2V1Low8q=|oJ0yJ#*2V#egX#7JcaXKT`>mge>8M{vhgdgfh5cvNr#oNG0i%|*D5bGW9+|}a zg(tsJY)rQJho3c=YgE1J#;bTK%rn;mD=X7K(mbsQj_CHxqh-X)CGWM(?8%lCvdB)H z7dU$>yW8kVdc8?p+7)bf;>&5<`r!!w5k*X4PN4NQxk^qBT)J{sA(Z%PvIuu^8t2nS z{(+aUbqJp#tBk^+8M^ijqcNsL@ZE*AyQ&YX4D}GUN`Oq<$Y z_GWDzy9}dkA|eMl8&toQAuUr-_ZuKhmAF(#jXf5DFhOTJsY2I3WFuxYx zn|)m11kaK>INEX1%5yc7=-ww>ol>BDiyUuZD--M|gM9Xw4d8Av`v=525KAMZ-ipJ( z_x6C-*OUr+l|s0#=_NV%8AYoY$Xhl5@897L0p=6wHr}L?0!&?kYf?8w65qL2*xc54 zrvqz_GH;8AddiWOt&FsVLbaiXdFOqVyag0^hJ1vzf}di>(7jl5IdHI(pm|pL`gt=A zu^^o5SdNZJYIxcDtj|3G=UCCyDb~IN9mCKzRU4x>(#W5PD!G!Q3S80_r0Z1!bwdGSZy60jX^aa~i_qm7F-06uQe0ZIjOv?S&ETIUy0_ zuZigIc8XmU{g&{JE!p6RaUZT!vw|g#({?QhI@>OJcEb4SH@CS(BCe>llS%u}vSl4k29MFCau%%ZJ);kDXJNQeD_zF}G2owkWI5p;gU4HzmGx<-p zp#zXKRptRZdU^eh+y}-~j6|JUxYk{6?1|lojHY}Q3uA;LT>f8-B__4cR->lAc_67_6R_{nq|E%k}kR!Qi`RCBa04%jmt=l>#!Hx9naz$@@L`RBxcVWBZ~z z_>s|E1dKFeTy(xclR`ImWfy$oohNTwI&tRXB$*|IxW=o*g2Rz?Fhp>`<-Wj2F~ByK zO7gw0;ygQqbVd|W@fb=a80#FlC>uYasTv0t$7F-b$TOiwicfN1*u5^Ancg>XZL}^_ zZLC{3PaL0__%Kfx=m9Q^)}m8+Z6~E}ByvVuz{Uoi3AzyaY>z&=IlGx2u1lzG+G0ib zJvh=By(k`$snB77Not#JTIx}25eJHqG3p&^WIYTNw*wXdfRh3JwGT5qDpXK6Wljd@ z#Q&iO%AkJ6a|8^8OHiYmlp^*6=-^T{6`i|{lJvh#B!*YQaK-NRgESc3_u%hdJtuDJ zN}})Hag_KP>d+OCe}mR(NJkhrYpE}%G{vfm%wcYYyFce5nYAa4AjklIK~-W**|)7! z)M;?q-|~l^tbbCG6mqG{x)>1q8O5jm?Y(u?BqrpG0SodatJF?PiZqm8>r`YpPxz<2 zo-e{#C=kwE-+aoQj?4+ei>VgePU}LG7)A8)&HhEJIl+U1b9|l3;9IQpKfs?BO_Gok z3vr(&Jcd!;kFK4T7eDGh*m|j-#RyN3N&a+MW3|crm(z!jy%2Qq)gM=ka!ddK literal 0 HcmV?d00001 diff --git a/games/default/files/creative/textures/crafting_armor_helmet.png b/games/default/files/creative/textures/crafting_armor_helmet.png new file mode 100644 index 0000000000000000000000000000000000000000..61e1afb7ce670c225c54150ac60d6df1e3fb1df8 GIT binary patch literal 2218 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 literal 0 HcmV?d00001 diff --git a/games/default/files/creative/textures/crafting_creative_active.png b/games/default/files/creative/textures/crafting_creative_active.png new file mode 100644 index 0000000000000000000000000000000000000000..d80ff4a6e306cdeb25abccd0c725855ce9669c54 GIT binary patch literal 346 zcmeAS@N?(olHy`uVBq!ia0vp^*+87c!3-o5^6q{EQjGyVA+A8$#l;0k3JMDT|Nmc6 zQBg@r>Dtw285tSH#l_0X$|@=KYmvnwpwgT3XuL+B!Nqy1Kf0dV2c$ z`UVCDhK7blMn=ZQ#wI2vrlzK5W@hH*<`xzfmX?-QR#w*5);2aawzjr*c6Rpm_6`mX zj*gB_PEO9w&Ms_^4*;!aED7=pW^j0RBMr!D_jGX#sbGA2DUgfFfT#IkN?FDK%avjW z4ZB|min;th@a@;dWz*I;l?uNtvH@x8P-nU@~Z&`Bb0+`* literal 0 HcmV?d00001 diff --git a/games/default/files/creative/textures/crafting_creative_all.png b/games/default/files/creative/textures/crafting_creative_all.png new file mode 100644 index 0000000000000000000000000000000000000000..c83f82c5827394059322ed9e4ed1d0ca7bab1822 GIT binary patch literal 282 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|e(Ey(iS0MfB)$wcBrn$Kpc6TTG z`Z@*%GGxd&y#z`ymIV0)GdMiEkp|>!_H=O!sbGA2p^=rJ(KzP-nzQnSFSF1ynzJ>g-) zx-?V8S270#)?8lFQq2(jBc-H2f$RS4cZ@!aHtKx|Tr2b~nYa^9N=Ce~WafU(b8W3< bbAG*tZ858-f8&0j^BFu{{an^LB{Ts5bBSk1 literal 0 HcmV?d00001 diff --git a/games/default/files/creative/textures/crafting_creative_bg.png b/games/default/files/creative/textures/crafting_creative_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..49778cb9a2ecb88d18c9bd2bd043b610d284c2a4 GIT binary patch literal 83 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnL3?x0byx0z;m;-!5T(4byHamjJAIRnQba4!+ dU`&>H0^}@UU<}ckcO1xK@O1TaS?83{1OUZ&6Gi|4 literal 0 HcmV?d00001 diff --git a/games/default/files/creative/textures/crafting_creative_bg_dark.png b/games/default/files/creative/textures/crafting_creative_bg_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..bda61b56f824deb95da98726b94f9c1b0c0cd465 GIT binary patch literal 83 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnL3?x0byx0z;m;-!5TxU#Omi}{%0FcY=>Eakt d!I&)Z1jt#yz!;)6?>Laf;OXk;vd$@?2>`~t6JP)U literal 0 HcmV?d00001 diff --git a/games/default/files/creative/textures/crafting_creative_build.png b/games/default/files/creative/textures/crafting_creative_build.png new file mode 100644 index 0000000000000000000000000000000000000000..eed4650052938648bde25ede96c665bebeb5554d GIT binary patch literal 1428 zcmV;F1#9|=P)@p?qD7Y*T4YJDzb)gL-tYepi-jN~U*GopMo&fOw5(NTPmX zl5<&oVohyKG-XCGcWh&AQ9XrYN^)IJeO*R$QaEZ-L48;~cvd}1lKL(M4Y z000CRNklDR>NWfr%f)crI@4fe4U%v{eb^U&phke>8c%g%U=jG!AhfRuhEeTo}_km zQY$^Zf2SWHrb~pF{`Lf^RIt!Pjh%sx;L*^+i5Edkw-vCJI+A!Jrnf*aF;fWcyoyg# zI~Rg?9I9Mcn@b&g$14FH*Ag!hhjP6Z2;To+23$Ieb&mu)ubny({K=UInbd<1=y{`W zp*ECTv_SA_jVCAOb{PAeozDs$Bx+;#*g5wXLyf)@Q<=&}?Um&136ev>5iTsOqHzcEJyxT|O_xD@M zB+*ALMBy9OIFeaed*yG|KCEMkpiv9nW$W69JQ%w%Qdyh0i|K6;urWqJW9b-s8!Vl= z^g(^s=$M#!0i+n)v_f#G=RvBk)RS9#HnNh+ym&z=ky^$)bD3wgkpo#P1m9Phc*23c zmBKBSZ|%GVf}glD()EI^z5)IU$W82ZJScsX=#(7jubZbtq{x&1uI8B;?L$9g{k0!F3nUB z+kFsZ9&sOYj1}gpmORMq9U4m2uCZ3AQ40F9Xeeu+a*MG)VWg4?Ef9Rk040%w3_*iU zw4VbaQ)z(2G^S6iEafdkp;pPk-Um(HN0JO(@5XiXG{eA!--&*xT{`t{H!bwRxAaZD z+k*k7a(&Rlqov$ZVJ5Q#AGXKROyP~Xg+AzdEqCoy&$V1vt!JyY(nZ&^jmCw>pXF|m zS!t~Gj9MTd)kCTALCnoHo_#XTJ%!r)9ouW%_>5o2m^2C<O(Q9Q+6y3^QVGO1UrT5#LLv)jXIA{AHUSnj{f(KL*rA?%$y-)CN*9LCAU+JS} z&aF_m)i;wnurN?5T8hHNQmt}e>7#PNr9`k*3Wj3Do!R?~FAM%+Y%W-~v_JT<*p`v8 zy@e?zxI^l*eimQyrP0(ZrfL7w1XA&m^YK-3u6FhBI4-Ese%p*VsI|Rw2VF{_tP>gF~fH iyAji|a;VqFocMQZ`l85@EH?`P0000aPQZN{FO)+CWC5K-$a>&ZBXNmxdHclpZMvEac>1%sh{ry#NbpvL|Xqq$5Hpr7Sjv=?XyQpdB-0={Do5I_Xj^Cx+>4 zL7N`chkFuMsd8!P6w>c29MEXuc9zn3h`2FO%MsQsTM!qBm66O%Lz_7|hFLEpbTC&87!L z%()oRv<`|dMe--!M+VderO$e5FUFJx#}^t+fR*FwACFr`S5KmJZxP}8muPXMfd z$r-pJbo6=KgD8HHF&Ge(>GRY@3%m7rKR567l~iIf1Q zbA|Cz+o-nW`{SXwG6`dqmvGFU=>+;H!c^oXm`@w` zveWcR44^py%ISxo9_fDuhvw-`F#BJ?>P>LpY~KUBcffvEzX|HYyWsG48$Sac=^a7; aGX4Q-j1gu#Xg@aq0000FSZ?Ep=Z7|?r2+Tjq zkr|<|^mot1KFK|E#0^;=33n)`++-EHzW5O3+E_=8inlVd>FbDk>U0VrqlBcVm%Q~loCII?hKllIu literal 0 HcmV?d00001 diff --git a/games/default/files/creative/textures/crafting_creative_inv.png b/games/default/files/creative/textures/crafting_creative_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..a8a71695329b137892312e14fc1ec544f9d0459e GIT binary patch literal 648 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 literal 0 HcmV?d00001 diff --git a/games/default/files/creative/textures/crafting_creative_tool.png b/games/default/files/creative/textures/crafting_creative_tool.png new file mode 100644 index 0000000000000000000000000000000000000000..5ab5ff7dc66e543401094c4b12f81c79d25bbf00 GIT binary patch literal 281 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|e#Q>iWS0K%2Z)W`ZwD$2eo@S!z zn`UMB$;owNrDA}7ozw!OvqrnP|xMr(BG}XxFdp9XARRYs|QJ96F6?NJm=M6V6c;% UVEe-G7Rav*p00i_>zopr0D&A^x&QzG literal 0 HcmV?d00001 diff --git a/games/default/files/creative/textures/creative_trash_icon.png b/games/default/files/creative/textures/crafting_creative_trash.png similarity index 100% rename from games/default/files/creative/textures/creative_trash_icon.png rename to games/default/files/creative/textures/crafting_creative_trash.png diff --git a/games/default/files/creative/textures/crafting_creative_up.png b/games/default/files/creative/textures/crafting_creative_up.png new file mode 100644 index 0000000000000000000000000000000000000000..5bddb169a15ed367079d2a6e4f1afef6bae8f2f1 GIT binary patch literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^7C@}Z0VEiVmX@{ysTxlg$B>F!Z?A6TZBP(td3gJj zU`9;CqY49Ap3m&6|& zbP4flS3e!OG$rEZ#EugUL5ZicWK|CdN(V??iE#H6=rBAMx^|%mM~lFrqT8;XA3S}2 fJXJNf-?UM7ow)A%?c0OCf!yQi>gTe~DWM4f0NY0r literal 0 HcmV?d00001 diff --git a/games/default/files/creative/textures/crafting_food.png b/games/default/files/creative/textures/crafting_food.png new file mode 100644 index 0000000000000000000000000000000000000000..c2f8527e61b2ada408935d26735356b63fdf511c GIT binary patch literal 428 zcmV;d0aN~oP)Z4VoAYyB7;{9u#^Q z4uTpFS{xHu7!QgX4@n#oSNmbF00001bW%=J06^y0W&i*I5=lfsRCr$P)W>eaFc1de zuoe~f^8RlcZx~_-IF|rg`lA0nAF!b8um5h}zGaEg`_BQ^8Y9FseFg~Obh36?AVvY? zGGjggkoQN71IT5i7&97hPQu3{r3#c%kMLd_AkVLz&$k;#=mX^WcYnQuCcypV&W#56 ze6H7dc5XC4p7T6EpDhRQUK4PRJZI03k?tJg#d?+-o)FZ(Rf6e#zGLa;X9N`wwY*z}o)F$Ytalur(mEF(4IaBsm9c z4a6vfAmwLdb=H!5uK{=;V~;Rm@@)Z#Y3h+SVsae-1csDY4*-E7CDsReMn(00009l literal 0 HcmV?d00001 diff --git a/games/default/files/creative/textures/crafting_formspec_inv.png b/games/default/files/creative/textures/crafting_formspec_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..7d8e39ae9a759356f9457d847122ed0513b73eef GIT binary patch literal 3502 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 Q&Hw-a07*qoM6N<$f&urvod5s; literal 0 HcmV?d00001 diff --git a/games/default/files/creative/textures/crafting_inventory_brew.png b/games/default/files/creative/textures/crafting_inventory_brew.png new file mode 100644 index 0000000000000000000000000000000000000000..45083fc5b856bfb5f55d92459a1a336993f5a61a GIT binary patch literal 239 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|e-2k5uS0H^Q*YiZ8?VeD>O@7)d z-Bq7Fd2(j`(t|OUTLW}gxhgKOlb&uacJAD{UAuNonzg+bsDZI0$S;_|;n|HeAg937 z#WAFUF=+v(1Z$JmF};NgnO7;SmEpOh5pcn<`06|3bcUun+0q=^%!4gGH#sT*szF+xr>WOL(4#F8&jDp;~P;9rlaWwcbM0FPq1XgTe~DWM4f2tHJ% literal 0 HcmV?d00001 diff --git a/games/default/files/creative/textures/crafting_inventory_chest.png b/games/default/files/creative/textures/crafting_inventory_chest.png new file mode 100644 index 0000000000000000000000000000000000000000..083eb37635604acd533662a3701ee12fc6b87ebb GIT binary patch literal 2196 zcmc(he^gUt7{_PRP&`t?asB|Lf?UP~q`(1z))A2--bgSw3e(ttcAyhuz?MKXkEi2e zpvjM1+(|{bQ=H(SNJ@Y|&fTRUhaJ7@+K7P54-W{V;dIWy=zZ@9X4whrkN((p-sise zzR&Y~zn|w$8jD1&a9-z3qtRAG@7%tJMx!I(!(B`Vk@s5?_JN;Ou`%(HE0!}%CQE8c z-mRO%d_MnV#p$CTSMKpPJw>A}4UOLZdc1hic#nkd9pZ)e*Dv`#?6~gfw0%42!C!y0 zD0b$>g5ycC?8c?oP-I&5>b~qTf2S!g7gx=?8O?oEE??DM=-C$E5d)Z-Ef`Ih zm>I;>dBQ*hZQlEt)vP^GgnUw#s*t%UZB|2dQQH@o`Z|J32~k!3y=rf^0BmI4dDWu( z@&}Z?mWfy_`K%uPZ~6@L^D6MXzzKRE50$ww;aO{$@C>jCmzK4b$0^=KW$j3mV#3b_ z=PDms3!Boxz6Qctu-ikXRrm=4IHH%ym`-WgNjD~fVkkT0S>|RYQm2lFF&G6alr0Sr zWIu0n zy5)YziDNHx;dEt9a%xi*+x;1|>+RES$^k>;U0BU*9qLNOXaSk^T2|<2fk+U{$#0#~ zVVA|zmN>Wcfk@>pw8Z@3DPQ<_DJTIP?{O5Ss2!w^q{{e*(uQWU26;>EDR;EPB4!sP zMs>#tRDr339BblOJ=9UlaI%58Ru|a4X-#oElI}}vMNawvwbBWEP>7e!__6u^N9$O`0w(&ewXK+I&1TvU3k z0X7^N=ia`uq4!(>)sTJXw=fYS-21CdCz9BhHEE`sAC%hMacI9L!;P8uZ1)~mn^!WC zt>F-2?J&}F1UitdE1ED(j}CNe6m3TmAg~~IuX^PUM(YD15wv3i#0FCbAM)B}eg(Na zpU!*Gf|if$+RDo%b1hz9=CD(Vih0MYWqd7`ry)W^TK2=rz7F$ddI zCS@Wnl&3PX=kc}^eFEkMiQXT~porepP8u4Gjzr%AME56BM4OXXoFYIp@R89H2jt6D z`nnfCO7w-i=Q{Q>t1PBr%pz?QMBU2c4teoAx8f>e5JN zYI6?DfK+u+ugORGrQRX4%+FPv*%z-#POl*Dgh=$2Qo=V>qOXvGmAtoFM)VGuY7ODm nobT>CBQ}w~mw#0*mrr}~#0A}xs&Wqan?Z|?M7Gzxaq#f(#rr8m literal 0 HcmV?d00001 diff --git a/games/default/files/creative/textures/crafting_inventory_creative.png b/games/default/files/creative/textures/crafting_inventory_creative.png new file mode 100644 index 0000000000000000000000000000000000000000..038c3a09bb2adcac8577d56d27786346bc46a262 GIT binary patch literal 3858 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 literal 0 HcmV?d00001 diff --git a/games/default/files/creative/textures/crafting_player2d.png b/games/default/files/creative/textures/crafting_player2d.png new file mode 100644 index 0000000000000000000000000000000000000000..b6dab9d7efa0a7e883660ff1471198fff6d618af GIT binary patch literal 550 zcmV+>0@?kEP)+PXpE?CXhqPRisRuB41P9A|&*k^BKiK@g0OADXQu6zPmSa$Atq|Nx1TYsNy@cR` zl)^OvxgZ%e?@vdNZ_CeXDdmQ`Hs_8g-rky`VBUbIPlpX z00_5U2L>$P!T@QEn6SA6o_LTYWPfSG=0nzO5FXh41LVKY0EP~v5Fjxq1!eR55t)0C zk`o6&dcq}VGSC2sJ_~de5kO-=tyZEoZbDMpMoA;8wNV~O!8DBwM$M#v7_`O!;y!Xk z(3-v&EaO*(@9<}*VB*O3-Uby?;|=qC4(1(jogy&nni_@%07*qoM6N<$g4>wr3jhEB literal 0 HcmV?d00001 diff --git a/games/default/files/creative/textures/crafting_slider.png b/games/default/files/creative/textures/crafting_slider.png new file mode 100644 index 0000000000000000000000000000000000000000..d51eea155f846acfce7e64bc97d523fcf32fc4e2 GIT binary patch literal 82 zcmeAS@N?(olHy`uVBq!ia0vp^j3CU&3?x-=hn)ga%mF?juGQ7mUk+`01mtpgx;TbZ c#3d&H*-Q+K_vZEQ2eKGEUHx3vIVCg!0IInYdjJ3c literal 0 HcmV?d00001 diff --git a/games/default/files/creative/textures/creative_gui_formbg.png b/games/default/files/creative/textures/creative_gui_formbg.png deleted file mode 100644 index 8238a49e6bdf3844da584cdc9de2e07ae6b05e9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2193 zcmc&$drVtZ9KKK)I>Hpn9>`!uk*di+Kt_4VR0uSa%Qnzu8|w&cYT0;PE*3_4WNsrZ zu5+fDYv2}~$%Yf1;($S*RHYP)tQ~gaElA6_4(iGT%XrpvZlQF9g#9(s+&1@|@Ao_B zcfRlYoeFlNQI6}MUymS&BP%*$FM`le@FYJ)10(5;`woDgjl18Ck92g{G&wnaG>O}J zXN1Gyh%a2>7k#n!rAb==uu0k#6@l>W+@rzEGa1qQaRhOo!^Z|GA+~@)`z%&Wq`l5= zowJQyYr>^*1bNz)74cSlPVe7;>`8HBxfJb5zw~>^D?^UVgX8NwZ`saVHp)()7bm)2 zz(XRlt`@6JZ#3tH(WYMiGg@4b>*w!Zn%VNfwu+aHLXC4}I@*_Adcucb_Rxrw?^M2b z3)(UcsFjgd&SYPEs-Vj>oOe)+fX7Yqwj<&y!%o29V>mPin@m2}#CB@9Z z5jm?}AfjQ;xOTXNkQ2;$FNQAzO#&bI7W5o^yQYMoW0?TtIpX!h+KJ+DG0(cW8g9gB9WL5_De6;#*UUSzL zKqg?2V#zV&PL5VzH!(eMl8n{%=jbQ?*+nN6rv}3VKv{oPe~Kp$k~0H`o;)AmXb9!2 z1+t-fKCTgRuQjuS?$cun_zgBe+0NtMP{vfxHJJC!{oWIp{atCe7TryHlrrY4K`o6NR}b| z5Nxe;`M*HUBwQ>_KZVbG)U18<=C1p{v1MtsR(GMrXU2}J!HViiq7%0b*iNt5DA{?l zP0k6UuHDHRqUpU-UOIaJhtndHq%#BF-)Z59pr-p&u-B*&{6Roik!ZxVw-Z144~&8! A=l}o! diff --git a/games/default/files/creative/textures/fnt_all.png b/games/default/files/creative/textures/fnt_all.png new file mode 100644 index 0000000000000000000000000000000000000000..963fdda6d7af6e5078202aad2f3be30ae2d895a7 GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0y~yU~C7n%^8`2my+`%m8|Fm)>{F--e=uAm}f-Tl~b zEq^A{-!1p=ZwOfOc}{CUuvE}?jsTYKq=^D9p%E%k!K?=b*JkZ<>)2 zTRxd-%LD_*H+#!^HCQDM>YlJ$*c|1P6qw{ZC-Z{nqLO8jhtABgc^9enNsOaxv4i}g y#haWo3LE+w1iatRm)PyF=U3H-{Xf=UX1!q=^y4q{grz{689ZJ6T-G@yGywqe^iIJ5 literal 0 HcmV?d00001 diff --git a/games/default/files/creative/textures/fnt_brew.png b/games/default/files/creative/textures/fnt_brew.png new file mode 100644 index 0000000000000000000000000000000000000000..e3b631db6a09bc0890b5fc67d8b9a7f0db1d12ab GIT binary patch literal 171 zcmeAS@N?(olHy`uVBq!ia0y~yU~C7n%^8`247j5-rT S#U}ubXYh3Ob6Mw<&;$Til{lCH literal 0 HcmV?d00001 diff --git a/games/default/files/creative/textures/fnt_combat.png b/games/default/files/creative/textures/fnt_combat.png new file mode 100644 index 0000000000000000000000000000000000000000..e2e35be613bed00f7e24c9cc7a9c8c34fe8d07ff GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0y~yU~C7n%^8`2g8Cw!AMd zW5-s9KT9Soj(8$d#mzFIcFVdQ I&MBb@0FHS#R{#J2 literal 0 HcmV?d00001 diff --git a/games/default/files/creative/textures/fnt_deco.png b/games/default/files/creative/textures/fnt_deco.png new file mode 100644 index 0000000000000000000000000000000000000000..ff07c19b2e04a03e2959c8e7008f61c3c6081418 GIT binary patch literal 203 zcmeAS@N?(olHy`uVBq!ia0y~yU~C7n%^8`2lxF58S4O;MS_TgHI_deSF5LO5V$&>Yk9Cwc*Jit&c>v9w^<@YwieVSEL*Thu5rc2 ur1S1yW~&HXeO}VYwS571^O5T9x7iId6t-A1Wqkx%%i!ti=d#Wzp$PyS-AsxA literal 0 HcmV?d00001 diff --git a/games/default/files/creative/textures/fnt_inv.png b/games/default/files/creative/textures/fnt_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..a513a20e05a711ee8501f1a1fb32acf502aa28f8 GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0y~yU~C7n%^8`2kp&4SDs5wCa&qiE^CxOcI^$xo zc`i+yMM4=5ye{;GFIiHx!6VDVnd3`E5c7nOUGb|fi)YtwVLVw{sq;i-(pI1=7(8A5 KT-G@yGywoq5K&qH literal 0 HcmV?d00001 diff --git a/games/default/files/creative/textures/fnt_matr.png b/games/default/files/creative/textures/fnt_matr.png new file mode 100644 index 0000000000000000000000000000000000000000..538a7d0aad76cd873c07f3beae212e937f9b8548 GIT binary patch literal 174 zcmeAS@N?(olHy`uVBq!ia0y~yU~C7n%^8`2rroJ)MnOV|&R?*^kh`y1L>PiFSegCR^ nENxk5x9{`~*Y0`z<2?J*gMBU^w-^2gTFBt(>gTe~DWM4fpeabv literal 0 HcmV?d00001 diff --git a/games/default/files/creative/textures/fnt_rail.png b/games/default/files/creative/textures/fnt_rail.png new file mode 100644 index 0000000000000000000000000000000000000000..52c82f3a6c2241fc27d218e98d0feebaed9fc5bc GIT binary patch literal 192 zcmeAS@N?(olHy`uVBq!ia0y~yU~C7n%^8`2CGaqUXyS#nD-AeY+QHG%dQY@#ujUXVz)7gcu%G=Y6^F(aqdSuAAXY ry58^xl@Ln;{Go;KuVFl2BFlzDJpm2by|zn5mVvA;h4XZFTc=ew*e z;apbYZ(b>#?tG!2us5*bE^Dpd>YX!o{$vn1*Z1>#>+G{YlNdZ*{an^LB{Ts5jvhAb literal 0 HcmV?d00001 diff --git a/games/default/files/sfinv/api.lua b/games/default/files/sfinv/api.lua index 3f414fa8d..e0ce4f75b 100644 --- a/games/default/files/sfinv/api.lua +++ b/games/default/files/sfinv/api.lua @@ -4,7 +4,7 @@ sfinv = { contexts = {}, enabled = true, gui_bg = "bgcolor[#080808BB;true]", - gui_bg_img = "background[-0.19,-0.25;9.41,9.49;gui_formbg.png]", + gui_bg_img = "", gui_slots = "listcolors[#9990;#FFF7;#FFF0;#160816;#D4D2FF]", } @@ -30,13 +30,15 @@ function sfinv.override_page(name, def) end function sfinv.get_nav_fs(player, context, nav, current_idx) - -- Only show tabs if there is more than one page + --[[ Only show tabs if there is more than one page if #nav > 1 then return "tabheader[0,0;sfinv_nav_tabs;" .. table.concat(nav, ",") .. ";" .. current_idx .. ";true;false]" else return "" end + ]]-- + return "" end local theme_main = "bgcolor[#080808BB;true]" .. sfinv.gui_bg .. diff --git a/games/default/files/sfinv/init.lua b/games/default/files/sfinv/init.lua index dd964840f..8e5d29734 100644 --- a/games/default/files/sfinv/init.lua +++ b/games/default/files/sfinv/init.lua @@ -4,26 +4,8 @@ sfinv.register_page("sfinv:crafting", { title = "Crafting", get = function(self, player, context) return sfinv.make_formspec(player, context, [[ - listcolors[#9990;#FFF7;#FFF0;#160816;#D4D2FF] - list[current_player;craft;4,1;2,1;1] - list[current_player;craft;4,2;2,1;4] - list[current_player;craftpreview;7.05,1.54;1,1;] - list[detached:split;main;7.99,3.15;1,1;] - image[1.5,0;2,4;default_player2d.png;] - image_button_exit[8.4,-0.1;0.75,0.75;close.png;exit;;true;true] + list[current_player;craft;1.75,0.5;3,3;] + list[current_player;craftpreview;5.75,1.5;1,1;] ]], true) end }) - -local split_inv = minetest.create_detached_inventory("split", { - allow_move = function(_, _, _, _, _, count, _) - return count - end, - allow_put = function(_, _, _, stack, _) - return stack:get_count() / 2 - end, - allow_take = function(_, _, _, stack, _) - return stack:get_count() - end, -}) -split_inv:set_size("main", 1)