From 6b76c8c10f56a4a3c9e642fec6b6800bf962216f Mon Sep 17 00:00:00 2001 From: Jean-Patrick Guerrero Date: Fri, 6 Sep 2019 17:23:27 +0200 Subject: [PATCH] API to set a custom background --- API.md | 9 ++ README.md | 2 +- init.lua | 130 +++++++++++----------------- textures/craftguide_arrow.png | Bin 127 -> 230 bytes textures/craftguide_bg_full.png | Bin 979 -> 1150 bytes textures/craftguide_book.png | Bin 233 -> 3128 bytes textures/craftguide_clear_icon.png | Bin 523 -> 708 bytes textures/craftguide_fire.png | Bin 256 -> 3131 bytes textures/craftguide_furnace.png | Bin 438 -> 3365 bytes textures/craftguide_next_icon.png | Bin 518 -> 727 bytes textures/craftguide_prev_icon.png | Bin 523 -> 0 bytes textures/craftguide_search_icon.png | Bin 1051 -> 1908 bytes textures/craftguide_shapeless.png | Bin 155 -> 305 bytes textures/craftguide_sign.png | Bin 417 -> 685 bytes textures/craftguide_sign_inv.png | Bin 528 -> 685 bytes 15 files changed, 59 insertions(+), 82 deletions(-) delete mode 100644 textures/craftguide_prev_icon.png diff --git a/API.md b/API.md index 93dc6ed..b6e5073 100644 --- a/API.md +++ b/API.md @@ -151,3 +151,12 @@ You can add a stereotype like so: ```Lua craftguide.group_stereotypes.radioactive = "mod:item" ``` + +#### `craftguide.background` + +You can set a custom background theme by overriding this variable: + +```Lua +craftguide.background = "my_custom_bg.png" + +``` diff --git a/README.md b/README.md index 15e7113..53c869e 100644 --- a/README.md +++ b/README.md @@ -17,4 +17,4 @@ Use the command `/craft` to show the recipe(s) of the pointed node. For developers, `craftguide` also has a [modding API](https://github.com/minetest-mods/craftguide/blob/master/API.md). -![Preview2](https://i.imgur.com/ZxGNxrK.png) +![Preview2](https://i.imgur.com/oGSvbTW.png) diff --git a/init.lua b/init.lua index 12ae257..0d223f4 100644 --- a/init.lua +++ b/init.lua @@ -1,5 +1,7 @@ craftguide = {} +craftguide.background = "craftguide_bg_full.png" + local pdata = {} local core = core @@ -443,15 +445,11 @@ local function get_recipe_fs(data) fs[#fs + 1] = fmt(FMT.button, xoffset + (sfinv_only and 1.98 or 2.7), yoffset + (sfinv_only and 1.9 or 1.2), - 2.2, - 1, - "alternate", - btn_lab) + 2.2, 1, "alternate", btn_lab) if width > GRID_LIMIT or rows > GRID_LIMIT then fs[#fs + 1] = fmt(FMT.label, - sfinv_only and 2 or 3, - 7, + sfinv_only and 2 or 3, 7, ESC(S("Recipe is too big to be displayed (@1x@2)", width, rows))) return concat(fs) @@ -491,13 +489,8 @@ local function get_recipe_fs(data) local label = groups and "\nG" or "" fs[#fs + 1] = fmt(FMT.item_image_button, - X, - Y + (sfinv_only and 0.7 or 0), - btn_size, - btn_size, - item, - match(item, "%S*"), - ESC(label)) + X, Y + (sfinv_only and 0.7 or 0), + btn_size, btn_size, item, match(item, "%S*"), ESC(label)) local burntime = fuel_cache[item] @@ -519,69 +512,44 @@ local function get_recipe_fs(data) local pos_y = yoffset + (sfinv_only and 0.25 or -0.45) fs[#fs + 1] = fmt(FMT.image, - min(3.9, rightest) + 1.2, - pos_y, - 0.5, - 0.5, - icon) + min(3.9, rightest) + 1.2, pos_y, 0.5, 0.5, icon) local tooltip = custom_recipe and custom_recipe.description or shapeless and S("Shapeless") or S("Cooking") fs[#fs + 1] = fmt("tooltip[%f,%f;%f,%f;%s]", - rightest + 1.2, - pos_y, - 0.5, - 0.5, - ESC(tooltip)) + rightest + 1.2, pos_y, 0.5, 0.5, ESC(tooltip)) end local arrow_X = rightest + (s_btn_size or 1.1) local output_X = arrow_X + 0.9 fs[#fs + 1] = fmt(FMT.image, - arrow_X, - yoffset + (sfinv_only and 0.9 or 0.2), - 0.9, - 0.7, - "craftguide_arrow.png") + arrow_X, yoffset + (sfinv_only and 0.9 or 0.2), + 0.9, 0.7, "craftguide_arrow.png") if recipe.type == "fuel" then fs[#fs + 1] = fmt(FMT.image, - output_X, - yoffset + (sfinv_only and 0.7 or 0), - 1.1, - 1.1, - "craftguide_fire.png") + output_X, yoffset + (sfinv_only and 0.7 or 0), + 1.1, 1.1, "craftguide_fire.png") else local output_name = match(recipe.output, "%S+") local burntime = fuel_cache[output_name] fs[#fs + 1] = fmt(FMT.item_image_button, - output_X, - yoffset + (sfinv_only and 0.7 or 0), - 1.1, - 1.1, - recipe.output, - ESC(output_name), - "") + output_X, yoffset + (sfinv_only and 0.7 or 0), + 1.1, 1.1, recipe.output, ESC(output_name), "") if burntime then fs[#fs + 1] = get_tooltip(output_name, nil, nil, burntime) fs[#fs + 1] = fmt(FMT.image, - output_X + 1, - yoffset + (sfinv_only and 0.7 or 0.1), - 0.6, - 0.4, - "craftguide_arrow.png") + output_X + 1, yoffset + (sfinv_only and 0.7 or 0.1), + 0.6, 0.4, "craftguide_arrow.png") fs[#fs + 1] = fmt(FMT.image, - output_X + 1.6, - yoffset + (sfinv_only and 0.55 or 0), - 0.6, - 0.6, - "craftguide_fire.png") + output_X + 1.6, yoffset + (sfinv_only and 0.55 or 0), + 0.6, 0.6, "craftguide_fire.png") end end @@ -595,41 +563,44 @@ local function make_formspec(name) local fs = {} if not sfinv_only then - fs[#fs + 1] = fmt("size[%f,%f;]", 9.5, 8.4) - - fs[#fs + 1] = [[ + fs[#fs + 1] = fmt([[ + size[%f,%f;] no_prepend[] bgcolor[#00000000;false] - background[1,1;1,1;craftguide_bg_full.png;true;10] - ]] + background[1,1;1,1;%s;true;10] + ]], + 9.5, 8.4, craftguide.background) end - fs[#fs + 1] = fmt("field[0.25,0.2;%f,1;filter;;%s]", - sfinv_only and 2.76 or 2.72, - ESC(data.filter)) + fs[#fs + 1] = fmt([[ + field[0.25,0.2;%f,1;filter;;%s] + field_close_on_enter[filter;false] + ]], + sfinv_only and 2.76 or 2.72, ESC(data.filter)) - fs[#fs + 1] = fmt( - "field_close_on_enter[filter;false]\ - image_button[%f,-0.05;0.85,0.85;craftguide_search_icon.png;search;;;false;" .. - "craftguide_search_icon.png^\\[colorize:yellow:255]" .. - "image_button[%f,-0.05;0.85,0.85;craftguide_clear_icon.png;clear;;;false;" .. - "craftguide_clear_icon.png^\\[colorize:red:255]", - sfinv_only and 2.6 or 2.54, - sfinv_only and 3.3 or 3.25) + local search_icon = "craftguide_search_icon.png" + local clear_icon = "craftguide_clear_icon.png" + + fs[#fs + 1] = fmt([[ + image_button[%f,-0.05;0.85,0.85;%s;search;;;false;%s^\[colorize:yellow:255] + image_button[%f,-0.05;0.85,0.85;%s;clear;;;false;%s^\[colorize:red:255] + ]], + sfinv_only and 2.6 or 2.54, search_icon, search_icon, + sfinv_only and 3.3 or 3.25, clear_icon, clear_icon) fs[#fs + 1] = fmt("label[%f,%f;%s / %u]", - sfinv_only and 6.35 or 7.85, - 0.06, - colorize("yellow", data.pagenum), - data.pagemax) + sfinv_only and 6.35 or 7.85, 0.06, + colorize("yellow", data.pagenum), data.pagemax) - fs[#fs + 1] = fmt( - "image_button[%f,-0.05;0.8,0.8;craftguide_prev_icon.png;prev;;;false;" .. - "craftguide_prev_icon.png^\\[colorize:yellow:255]" .. - "image_button[%f,-0.05;0.8,0.8;craftguide_next_icon.png;next;;;false;" .. - "craftguide_next_icon.png^\\[colorize:yellow:255]", - sfinv_only and 5.45 or 6.83, - sfinv_only and 7.2 or 8.75) + local prev_icon = "craftguide_next_icon.png^\\[transformFX" + local next_icon = "craftguide_next_icon.png" + + fs[#fs + 1] = fmt([[ + image_button[%f,-0.05;0.8,0.8;%s;prev;;;false;%s^\[colorize:yellow:255] + image_button[%f,-0.05;0.8,0.8;%s;next;;;false;%s^\[colorize:yellow:255] + ]], + sfinv_only and 5.45 or 6.83, prev_icon, prev_icon, + sfinv_only and 7.2 or 8.75, next_icon, next_icon) if #data.items == 0 then local no_item = S("No item to show") @@ -654,10 +625,7 @@ local function make_formspec(name) fs[#fs + 1] = fmt("item_image_button[%f,%f;%f,%f;%s;%s_inv;]", X - (X * (sfinv_only and 0.12 or 0.14)) - 0.05, Y - (Y * 0.1) - 0.1, - 1, - 1, - item, - item) + 1, 1, item, item) end if data.recipes and #data.recipes > 0 then diff --git a/textures/craftguide_arrow.png b/textures/craftguide_arrow.png index cef827e73073b8888ae053fcefb5b09724b1e038..7171e82e9a5f2aea7c0c1f45ed3288a82c088663 100644 GIT binary patch delta 212 zcmb<_#yCN;o{fQl;pWDeW+25_9OUlAuOnH#p}QHd`*1-eMCd;3+cs%RddJb|LR+ zGk(5}-nxAK^|=McbBgahN|Sh7Al_qghgX@?-*3751*UCb*-L}G4(&U5Nj009U-IZ3 z32zIVeLwa~Zl8R5N%_n`5u+|q*SrX)iQLx$QrgN_?EF06lJxd;S2Wmd?}15n!VL O0000W}~c010qNS#tmYE+YT{E+YYWr9XB6000Mc zNliru;|T^2H5Mtx&ieoW1P@6>K~#9!?bxwuT44Z&;m<#tIJyQT5DFOrlA%Z!mrlh? zkkC1kL&uN{2%%G_(z=%}A)AvIP!PO;;E+)|IhPJ1wbizsGk+EOJd>W|^uf#TIgMWS z7^I(WI%x;~cgrj?%QO$Ww;I3X)5<8XWdnOM8s}|R+n0`xx4#YZDKFEs6zpi`MK1F- z^ZohU`;ek~L%`9;m3D(fagxln>N6e@;pU;(=P{&!D7l2dJfA(zOEA(k8IEL>XHwWe*uA$4*?OAECM5wjsbF$4*?OAECM5wjsbF$4*?OAECM5wjsb3e z;9t#WX#}WcS+cMK)Uqgo2-(f<0P4(0n`VJNgM|E$XoUi}@002ovPDHLkV1j(n_Uixu delta 385 zcmeyzahZLBay|1bPZ!6Kid%1QvWw1fkZ8Sl|0tKk(a8-=EDO?j7ces~W@g_w@!sav znO~lqEB$cp=ZezzDW_)X>bl1rsDJ5kdYWnQ*Eu>jd)ejRMxI-0ynH72zKcfo-Osbs zcD$~#pWE$jR*`i6X_?Jgiw_~Y1t(aa_uNqZyixu$-;|pQ7gGOCG4wZPFUg!=H%W@Q zO4m;6gKdq&i4+bAqtGzp0~5Axn#tIfvv1eI6=9ZV7@Yfzn0mB?Cp$9vGJW_xc_OpP zbmv#>_l7wN^_eoQRqU&=}14GeF-em!|qT42tFqLsS@ zFHE);*ibKf{(!YW#q*toM)xZ^n4_Lq6>qBfCc*wDa@BKi__Tlg;V+wcbCYD+uJDuE XAHN0_n*7xZVE_V8S3j3^P6uJ@VVD_U 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 S1fr$@0000RRZ?%)EI-S@z?xoOy}jxV z0|Q$*5S(4Yz`(Soyu2y~sEavhP5IF!KnBYhrBkF!Z|@rB2|J3gJ=k70z3Wah^M%`UZ;N<5 zVRL-MW9h$x(R=}~_=YL>Vi@Gkx-q3px^d>rxwQT3{hnO>_kU01=}qQLKm(D0*Xc7` zw@%$Y%kzi0;72>-a@lpc=Ih=bGFvNBmsWS`Onv*AJ?GD??z>iIy6$CS%wnMsp8tX3 zsy}r9xO-ht_@n1lpi-lnA@OgCYK0P*p`u#h_`@sUfztgaFSqet+iIB{>lKjs+qwg8f2AE*&oSe{d$8>EUj}dXarX9QO+qY9>4UP;2}!)!|1U z^TXLJhs-%!>=%1($QStc&$MlSkm9pFzs>s?%p3EV-qxsY_zYC%mGDNpaqfDSvVA~H zy%L^-Ifwp#XSc3ajd*rrzr6P|>4V&Ne%7-rV&UeC=WJQeawxn>^YHzzWe26FEtsu7 ze~lVfeZ8z;zS5&jk513|^Y_ok{QTqp*FH5;(kni8UQ#QvrQf#iR@dYM{I35>7kdBm zE4Wx}_BZ5>j(Vef_q?AfFW&L(cHnHe|G?tIfsXKymSFD-PxgM5R28Ue_I$7~kXx_u z_%Yo-cMql=Dz*K(_KEb#t8-c8WOqLhs;KzVJDGa%*$ ai~S7RcYg7^AD8w4@jYGrT-G@yGywpRQ$kY! delta 508 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 Vez(c=Kl1&Mn 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 delta 423 zcmV;Y0a*T}8ny$F8Gi!+001a04^sdD0K-sBR7GcDVV<6&m6V&Co1l}EmsL?!V_{^e zsjrENk%NPbrKPG|S6q2_etKn7d0$X|XjOc9gLZa*i;0df001=r0DO9ZaA|3roS`%T z05<>tJOcno1^`0_051aoJO%(&4FFFK0GyeFW?*8cr>CKzp?|8Xs-B*nudJ+xhlhcD ze|~#@jEsyY001ih0Dpabn|~7jY5*(%0Gl-c|FjZq8UQZ<0RR6ad3kvw005UY08vj; zN<~T^001@s0FX5RA^-p`002qG7u^5=0Io?yK~#9!HH!msC}0@GHXj~p+r9sxYLDvv zsxw>!0s4ZW?tk#-rx?)D=#do%2@Un&Eu{Z7e~gk37Lz<@qAyFYe@i^pzcRiW>Ugy% zXcE45Cd%Jp8O;sA3}1YjX6hY|%o;nd@SF6(_sRv_Ev`w{drO=Q)~8 zO}To#?(5pT4oRjz+P>QC&idJ^)MT@7^7ZQSzVY9s*&y)6^GIHr{`>yNf diff --git a/textures/craftguide_next_icon.png b/textures/craftguide_next_icon.png index 7718abaee4d887d17e02fb87b88965ae97580e53..82cf3d3616bfeb8cef3bbd14e5811c349cce3226 100644 GIT binary patch literal 727 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrV4COY;uunK>+PMrdBTn&4iAk_ zCzVg(Na=19?+|cZ@IbL5e8K}(p%j$~LCzBsW`=l_98+=LxOqcU#KxZ4bF1w%xt0{a z`}n5x5A!4yPfR4$8*;e!gynrkwWs^THJ8fwm6_+NZhvfNz`X2$*7H3+nrmg>zn$fk zcU;DTEsp7Yqx;j4fC<766bo4PXc+pOTKe$LWCb^d;0JOacKq4RS~rcuZuyjTGNpGJ zdGs?sCo&vRd%owBN{66>{6Xdinj19ZyXSmv6+FVRpg$o@?6BAl?l~2f9l{R##m}7n zuvdnKCqd%iW=9Tg|0WBd0qnUq*`xfMA{hVF3Oz`Y&}R^LW-c%^fl>ZU%pX(?803|t z4oqwB*k7+NsASMk@89(JA%AxN0fuev7cTA1*!Id^O!B}t4yQjGPcSs;x3LM-7@9OZ z=w8Uk63@e{@FOXM;ULghj(rkR4j+zQ04pijarA>!#Pd1(`(A$LlzLtR)BDcFwBi3|wtWop4gCi;u{`7xI8ZA2L-PYy1jFf#wRRI3-_)Pq&*Imx z{ps&h?Ts7z{(f(M7~k`?l9BmF{*UDcW^d%bulm8@@b{Ao7I4RluIDspxZ8IB{^$7q z%7?}cf4Be5TKAJ}!~JbQq4U|*l{*+&ZhqrE(0ZO>k$w%({XjJjxaR}i|AR;2$Dwqf z`|W`4{~+n`0jQ)&zs5XMrtS@Ycb-gLPVZrJhW300zWWR^`xq^1m zyWUxR_7M!z4@iFKeHXjyz0AM7AYOB&=QfLf7qn^Ky}aAIU0%C^v)*oIvhlX<8Qz#F e2P9I`9q-0Hd(Hm59fiOI%i!ti=d#Wzp$P!RnKjM; literal 518 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H0wgodS2{2-FrM{vaSW-r_4dxunE{RrEQv9~ z2j+4VcsB~aD>(Ye!RSF-wAqeqo)^Els<+!cijI{$^Z)FZUw&C@w_c0NUc2?1H;i>H zDp_mu%(FaO7(Pdy77H^7_BvqYS1^xxP1>qS4R2!}2wt~5mi1IOLET)U;$$vgW}YL% zfdkR&iaS!zxNtHs`|msw7iK7|%CP4-=k-sD9t>_x(_>DxFJP3AKUDhdsqO}bC%OfU zC!QHFwiM4`_$koCVA*cfu!j|a|14O+aDu;Uy2T6@u?Ce3j8B%kSvAaYmUTF{kWXQ| z1N#IP1owFW`-JEP%pOc2Sr&!o9~iu6Gzu}Wy({eVJ+qZ*&vU)>n`ulZ6z`npdMfkq@OJTV`SmlYA!HiG7tYj$q6@nt&znOe{duq2>ncc?l=5L13m-em%-E3 K&t;ucLK6V5RNpuN diff --git a/textures/craftguide_prev_icon.png b/textures/craftguide_prev_icon.png deleted file mode 100644 index 1c15373af78cd4d21e16e619c9a89b46efb1bab0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 523 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H0wgodS2{2-FkbR>aSW-r_4W>9TWF$8+sDKm z$#+Cmf)?L&oSL#tKw#EPJthI&lq`0}ypqLFeLNm6vW>Br*YK}`G3mpe^L+d6m%pp# zJ0r98T2%I06k_-0h{98v$36P%4@v4*9G$^! z{0-l}u^%w4HEWo$k70t{ALfMF`xq|V`^VssU(YaQyFJ4q@%ao1egCJu-SZ=ap|VEQ zq3+uXhN52~43@Q84S(LQX880&t6`3vsDs~pE`{a(tP}RviaN-}vrf3YoGIZb^Sbn3 zH4NEtA12D{B(Uyy&=$=X)*zZ5bC%&1!zXSB_6heJtQu-Wft+Ly_6aOj4Rf5u51e_Z z8h>N+4Tdy6`HhLk=QRr{+~)wv$U2-`$fxi;fPF&o3g#1*R~VnjykaQgD`l{3N0nyb ze4r}9pm~tNgOkm{%YY%MiE)AuPs5Z1hAAxDkJ-FVdQ&MBb@05~k+S^xk5 diff --git a/textures/craftguide_search_icon.png b/textures/craftguide_search_icon.png index 3fb8a824ec5c5e72cccdb637cb6e6c5c3bb6b20f..aace8044ac235bcf5935ed8a72c4cb136746a916 100644 GIT binary patch literal 1908 zcmZ`)do;r*hEgWpDPBKS7mN|uQ4@RU{bU;RZBGG9cM4QZ&YGw2;badcT z8^0=@n`5_k4cg)jkHrR_ZUs6C)#;ru{p*MnFzSSy14BnK9k99qvx%(Q|Ku6*tVeE= z;j}fOm}70k#m=-1{B|WKep=e`sqE6mH$a&vhfe)BT5{~=GqH7W4FDtAPF6XfUJMg0 zG)SRiFgWX|#Hdo<6h%bjftQL_(g^a6TBkuGS!%-M3?v2!!-LD$RV3F+$;z#Y3Lq&# z_lXLz)euUtSfqnLL7jl2b-JcIw!dO0JQC!^>f882mU~^SkXzr`0xD$%3+f2q+OnxW z1#r9If&|iNnfe3`b*4|E043HiVCS~J?2$Nf98bhA$TsSxMtQ>bU0iB`d;--0U8=Ry zJ$(nF6is0}714=%paq!4^8&7*G-=qVnCc)Uq1GXZTEy1xasEqQke2{%ythu6(G*D6 zDF?-+D!Ue41yd=tX`8nuzFuMdv3v8p=sx4(#)k(VUp+7uXc=E9WXOjk_@2pQs9(A3 z%Fe+(gW#yEwq~Ezh<5oM;;RAsmL}jVtqyDg;3RO6+(ZS+wa!eGy%Xv)cY8sdSn&;K z=Ps^SBI2ddjn|*vyW-*bv2?_ZIuz7pOr~qbsWd5m^(%dw z+V538xQ3H(-4_xppDzC3sA8pkh`&sY6Nru)^Z(SD+qXv7TA(SYSIuP68ayyP+H0?< zaowVMuFU-jk-0cLhl6vgDyMeXaRacK-*^{WOw9U|9&j|Vd<#9+JeGf*Iy5>ye)R3f z!qwGPGPOQQ{6H;&(Wc;AI2huTl){mQQt=*;F&g!IJS<08ZLf>0u+ENg7s343c&1m7mb$YSA$oW=Ou(;WVMAGQ+9 zU{v(RH~IzT(6ZnE)c?h#57hs2bs8di1zc28QeyD_;W>7ZU(8N^yT}Ash708loHCa&7K!Wixy30l1~_H zt%s71ttI{vsu(~*IL^WdO-8p|;mo$+Ut=}jyoU52j>@^LpIy;y;Aknl_Rb!tje;t0 z4`ZQ&Pd~ODxH|QAh4G_8Ov>8b6FKrNMcniQ{aQW-sL+^9m+j?+iW)Y8u-@$4+ZyKqr5_OPwunRDLxq8ZX8<(~$=F88q9F&sb0`#Qm~!Ma?^gL*o;c9xJrXIg(l#>Bs<*5P z_Oorurv`1CY#wa(+`Gd3dpUO9?{|2zxdX|~OX;BN^lt;g?q=M*AyZzwcOF=an-aR$ zWvqD9Pja5@lpfUFh3giFZ@YlBpa8ns&|&HPv69cekehvTx1-3K!uJ{pthx&pQMU_X zz_OYBuTku;iCT@2eL`2sndtrXyaIV!7w1Pc;qV4`&`*DVI@)O3>nZp58l2 zh86Z3I>$`!bGRg_`o{BU|3AaXW{t-BrPl3lJI0##E>?4JbBElN!tO>W;jyUC9TP&C zcdY$f=J{hbR^H#JQa?PKHouPy0s)EE-W+MDc;Xz%zs`T$`R%Yt?QXQVAN^tty#4`5(6Lbv2~siR@4 z@`h)pegmd;G66wTd;1v6$`5#mabMDZA>){oRw~(J+i2oaY0;7FQaR<-xTRoy>!JU5 oz)Hy+PJ7*y{67!tO!d0_mw-1lpr~N2?{5lnuywWJ5y{E_0lF-AYXATM delta 1041 zcmV+s1n&Fv4x0#&8Gi%-003z>sXzb#1L8?UK~#9!?7@Km0001hp#7;AsR9510001( zJv)GGYm37GE>H$gHU$8ET53#zJ}?YGfEBvZvBZ_6)U#wJ9g&6rEAwNT{v@W-?kMMv!1wj&Cgh{>Oe>8|B&i9uxi1Kd(-@L ziyGQ~_+9+a*0AWgp>KX%S)$|0ZE>X|Q8sRf+kdUDE%m2Jwbi{gl+8a@ap;S?;)_ES zj}2M-Q>vO${eM8JscOnlY5sQabv)yU;gMKip|E`J^im2!Q zVW|8*+cnoHG;Ud|Q7~uM=Wrr8jMf(zR}bgDPj(djX~m))pF&@t9;rK2)((GtJ6^a; z%@=mUe}T5LC|90D8r=O|MR%=Rv>RwaDv5ASvZxa%|B*TUs66K=mBQjHDA-MltnuxG!zwY|cLJs*S(7cb5=n^e zne9LTmxGP34`>xE2ST{*SsVnsvM-C4l0lqP(tnc0zE^P&@Yb;`_7n#~K+&Eoj=hb8 zfW(1bhvgdfmuC2pCZhwvDfG5OC#M z7HbLvA)sJQ7T2zF0`e=6i(ozmb0d^n;d~j&*Wo-6$s@5m6wPDthx9P=)4%@qfS<;` z`+vs+ejMeyZGU;N&*S{Wf9;#G4FW+B19Kv3AfXf*AtE5477`lx0w{+RB$_~4LZ|3f zC*k)@2cF-*$X=u%s~{nyAgChKS72R|>MJm>$q8})D*-c#l4e&hp(<;spjnpoSJ1A@ z`zz33VhRS&p(Zo2SI`_yz3Nf#`j{(d%zx%?b*#ns3dHzuvi7S{Fgl%;0^{dU42-Ak zub>YKP=JE|bI28-00k)EIphlX5m11FYi+X?TogY~!L!b_k$^M>iXW*!@go%|eyDo_>l?}KT?6>M=DVKLLo=WvUMXQR$^}z9IGH$ nnQUwL?^*^A#~M4&UnHd$63?p8Z=#~h00000NkvXXu0mjfs_}P+ delta 138 zcmV;50CoSd0-FJl8Gi%-002sU^>Y9K0Afi*K~#9!Vi>XjP&*l501(4K@UQ!X{+~UL zGcIabqycKCktCH>3sxr_l!OuIQ{)l9S7*rc`c=Sl1{CmI0}6QT5(;>n14;mz3;_={ sT)X7ZrG5_Wr0ZSkw{`13fN!4%Z%zqKnX)(z00000NkvXXt^-0~f*Tez`v3p{ diff --git a/textures/craftguide_sign.png b/textures/craftguide_sign.png index 065aa3d2c764915de580b647fea7b554d139ef54..f64b5ab5a67db1501315eefd08a6dc32e685074a 100644 GIT binary patch delta 672 zcmV;R0$=^11FZ#+8Gi-<001BJ|6u?C00v@9M??Vs0RI60puMM)00009a7bBm000XU z000XU0RWnu7ytkO2XskIMF-&l9s~_3Y=0$Y0006yNklLLw`_<1XM&ttZf7>jD;wo zB*x9{?auA|vPflVUisiXUh%%<_T>{XO9kF07#~q0kR%FlWT}9t7#K&PGls@cbTWc- z486idhbnZ3bC+flwxBy#Pe;)&OSUQ%1uBS?yH`%e|DGQlI+rM|Gju9BFm;eLm9!#~ zI!Tn^TluU}&tgODitwV}IhJ1d`7=ygX(GL5$ml_|X63|r-qGU3a| z&&X7vqCfuUm~QoOfhx}Ycus`3Yu2c|G}gU2!2>mjsG z>6aygauq+Uc(FLg>i4faTbM<6I=oqWN;9ZhYJENlg$E& z;{5gbEwOO(!jULk61L33Xs<_d9nt@lCeN&NoSDb`e|NsA#fLM=pOPGIJjdxI$e^#A@Sr=+t94BoOj*Qq}0fy+Rm%j%ckAauz%;>y4K33+s>ij*0R{l zsp8kP(8!$A!Q-~!}a@E ztwgggEPy{ zzn$mxFB37_)D_*>xO_dkzxug&-Cip*Z1^J&e6FvM468R2vno5k&I`k$m91hoZ;2w3 wg`|zN7-#k(9m#F%WT~kZ8OSgz^@D5xeb!fwRxW`r01E&B07*qoM6N<$g5JT`z5oCK diff --git a/textures/craftguide_sign_inv.png b/textures/craftguide_sign_inv.png index 54fc85b6846f11fe605d4f03705b15ec487571a6..61372344bbb71a1af0164333415bb90d750bb609 100644 GIT binary patch delta 672 zcmV;R0$=@*1g!;-8Gi-<001BJ|6u?C00v@9M??Vs0RI60puMM)00009a7bBm000XU z000XU0RWnu7ytkO2XskIMF-&l9s~|4M^bjB0006yNkla65Q5k#DnU>S8~+0fLDWJJJ3$4-!cIbrA%Cbv0xF^+);59`#zGWP z665CfcHiy$Sc_DaX3BvXrudDxefb1wA_-1lLyMLXAvEAg6A7(mU_H4>8Cpx;Nr~Pw z3>x2hbZ$DFyEMyIbm!`6WWOlbs&p&SQ6}8IaPx;LFF) zs6?Y%iHr^%LPIz2(8iX%lanBF#<%CJuSv8{2*Ht>oIKAdiyurLn8H>y0ncc!hcqUk zUla_ARl>03#o`>R-@o!~VHVTr@Mh^L^`PY8y;~qhaDPohl4V%iP*ydvUs<9|80k%* zvMz^bPV?&d64Ns$Se}2t)S+o!EY5NG_%U8SS)i=esQ#=XqhmBTi2K*hFm%2>dg?42 z#X2es8QZawYEY782Im~6(_!P+H-gF->un>%z{|(;3~eK1zbH^>*4DqX^5Fx4$nT%u z2tE+oNPqMjNGVCjCQwT8{@q*Z!GN-=Q7YZ!z>7#XA7|hGaip}=71ZTAZn#185nF!6 z=|CCnl&gagH1{R0000@ooW literal 528 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbMflK`I(*GV;jGa7@Z)`av{22ZRG zoKzD!qanPvB6xa3$XXzVVAVLa zK5TAFyX zd7$Bk=Uh3l`1;W~PjBzIdujdss~ayLnFDlorO{rXcNrW?g8V@KMh8F@2*7|~qO(9! z3?E!CX95kF?djqeQgJJ^w>i(nQNr!{np}7DHMb?6{%+rzd%HV-@?JaR{jH1(yypno zKQVM%V8WrgD1_sZZ-U_>c9(|eQ?d>9nF^`@jF!7RbCQ+TDL7lc?qs6!|EwU%h>Pkm zK5u%$5>H6bi!W#Z`&64|f-b$&iu8Q~H+cWLo^8M>pZc$Qu6ce~cd(HVZO#$y_ mD+qRRsk)e~6^uRVUdEvo7#e?NG5<`EKRsRjT-G@yGywp9R132J