From 74e18776e7570ad5f92a50cb35f09b594e9933e1 Mon Sep 17 00:00:00 2001 From: h-v-smacker Date: Mon, 20 Nov 2017 03:52:00 +0300 Subject: [PATCH] Initial commit --- README.md | 34 ++++- depends.txt | 5 + init.lua | 248 ++++++++++++++++++++++++++++++++++ textures/#example_apple.xcf | Bin 0 -> 2979 bytes textures/apple_jam.png | Bin 0 -> 695 bytes textures/banana_jam.png | Bin 0 -> 809 bytes textures/blueberry_jam.png | Bin 0 -> 630 bytes textures/canned_beans.png | Bin 0 -> 675 bytes textures/canned_carrot.png | Bin 0 -> 755 bytes textures/canned_coconut.png | Bin 0 -> 700 bytes textures/canned_corn.png | Bin 0 -> 760 bytes textures/canned_cucumber.png | Bin 0 -> 681 bytes textures/canned_mushrooms.png | Bin 0 -> 606 bytes textures/canned_pumpkin.png | Bin 0 -> 786 bytes textures/canned_tomato.png | Bin 0 -> 852 bytes textures/dandelion_jam.png | Bin 0 -> 547 bytes textures/grape_jam.png | Bin 0 -> 737 bytes textures/melon_jam.png | Bin 0 -> 783 bytes textures/orange_jam.png | Bin 0 -> 792 bytes textures/raspberry_jam.png | Bin 0 -> 772 bytes textures/rhubarb_jam.png | Bin 0 -> 674 bytes textures/rose_jam.png | Bin 0 -> 573 bytes textures/strawberry_jam.png | Bin 0 -> 1002 bytes 23 files changed, 285 insertions(+), 2 deletions(-) create mode 100644 depends.txt create mode 100644 init.lua create mode 100644 textures/#example_apple.xcf create mode 100644 textures/apple_jam.png create mode 100644 textures/banana_jam.png create mode 100644 textures/blueberry_jam.png create mode 100644 textures/canned_beans.png create mode 100644 textures/canned_carrot.png create mode 100644 textures/canned_coconut.png create mode 100644 textures/canned_corn.png create mode 100644 textures/canned_cucumber.png create mode 100644 textures/canned_mushrooms.png create mode 100644 textures/canned_pumpkin.png create mode 100644 textures/canned_tomato.png create mode 100644 textures/dandelion_jam.png create mode 100644 textures/grape_jam.png create mode 100644 textures/melon_jam.png create mode 100644 textures/orange_jam.png create mode 100644 textures/raspberry_jam.png create mode 100644 textures/rhubarb_jam.png create mode 100644 textures/rose_jam.png create mode 100644 textures/strawberry_jam.png diff --git a/README.md b/README.md index c2e6625..3b3c6dc 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,32 @@ -# canned_food -Canned fruits/vegetables, and jams for Minetest game +# Canned Food + +This mod introduces a variety of canned foods to add some pleasant variety into the available +assrtment of foods and item uses. It relies on the glass bottle from the default vessels mod, +giving this otherwise little used item a considerable purpose. + +All products are defined by shapless recipes, and yield items which can be placed in the +real world. Although the cans with non-symmetrical items on labels look good only from +half of the angles. + +The recipes follow the scheme of "glass bottle" + "produce" [ + "sugar" ] + +The default 4 items do not require sugar, even though 3 of those are jams and probably +would taste horribly IRL without sugar: +* Apple jam +* Canned brown mushrooms +* Rose petal jam +* Dandelion jam + +This is to guarantee that they will always be available in vanilla game. As you can notice, +canning also turns two othwerise inedible objects into food. + +Ethereal and farming (redo) mods introduce items that can be canned, too. +Some of them (jams) require sugar as the third ingredient. So some of them require both mods. + +The mason jars with canned food can be put into vessel storage shelves. Or put on display +just like the glass vessels can, and destroyed by hand (retreiving the item). + +The benefit of canning the food is higher nutritional value (since shelf life is irrelevant +in minetest game, where food never goes bad), this is a "reward" for going through effort +to obtain the glass vessels. When the contents of the jasr are consumed, +the player is left with an empty glass bottle which can be reused. \ No newline at end of file diff --git a/depends.txt b/depends.txt new file mode 100644 index 0000000..29e384f --- /dev/null +++ b/depends.txt @@ -0,0 +1,5 @@ +default +vessels +flowers +ethereal? +farming? \ No newline at end of file diff --git a/init.lua b/init.lua new file mode 100644 index 0000000..5c12ef8 --- /dev/null +++ b/init.lua @@ -0,0 +1,248 @@ +-- CANNED FOOD +-- Introduces new food types to add some variety. All of them rely on glass bottles +-- from the default vessels mod, which otherwise sees very little use. In vanilla game, +-- at least 4 new types will be available, two of which will also turn inedible items +-- into edible food. With farming (redo) and ethereal, pretty much anything that can +-- be harvested can also be canned. + +--[[ + Definition scheme + internal_name_of_the_product = { + proper_name = Human-readable name, + found_in = mod name where the source object is introduced + obj_name = name of source object (internal, without "modname:") + orig_nutritional_value = self-explanatory + amount = how many objects are needed to fill a bottle /not implemented/ + sugar = boolean, set if needs sugar (jams) or not + } + image files for items must follow the scheme "internal_name_of_the_product.png" +]] + +local canned_food_definitions = { + apple_jam = { + proper_name = "Apple jam", + found_in = "default", + obj_name = "apple", + orig_nutritional_value = 2, + amount = 3, + sugar = false -- must not use sugar to be available in vanilla + }, + dandelion_jam = { + proper_name = "Dandelion jam", + found_in = "flowers", + obj_name = "dandelion_yellow", + orig_nutritional_value = 1, + amount = 5, + sugar = false -- must not use sugar to be available in vanilla + }, + rose_jam = { + proper_name = "Rose petal jam", + found_in = "flowers", + obj_name = "rose", + orig_nutritional_value = 1, + amount = 5, + sugar = false -- must not use sugar to be available in vanilla + }, + canned_mushrooms = { + proper_name = "Canned mushrooms", + found_in = "flowers", + obj_name = "mushroom_brown", + orig_nutritional_value = 1, + amount = 5, + sugar = false + }, + orange_jam = { + proper_name = "Orange jam", + found_in = "ethereal", + obj_name = "orange", + orig_nutritional_value = 2, + amount = 3, + sugar = true + }, + banana_jam = { + proper_name = "Banana jam", + found_in = "ethereal", + obj_name = "banana", + orig_nutritional_value = 1, + amount = 5, + sugar = true + }, + strawberry_jam = { + proper_name = "Strawberry jam", + found_in = "ethereal", + obj_name = "strawberry", + orig_nutritional_value = 1, + amount = 5, + sugar = true + }, + blueberry_jam = { + proper_name = "Blueberry jam", + found_in = "farming", + obj_name = "blueberries", + orig_nutritional_value = 1, + amount = 6, + sugar = true + }, + raspberry_jam = { + proper_name = "Raspberry jam", + found_in = "farming", + obj_name = "raspberries", + orig_nutritional_value = 1, + amount = 6, + sugar = true + }, + grape_jam = { + proper_name = "Grape jam", + found_in = "farming", + obj_name = "grapes", + orig_nutritional_value = 2, + amount = 4, + sugar = true + }, + rhubarb_jam = { + proper_name = "Rhubarb jam", + found_in = "farming", + obj_name = "rhubarb", + orig_nutritional_value = 1, + amount = 6, + sugar = true + }, + melon_jam = { + proper_name = "Melon jam", + found_in = "farming", + obj_name = "melon_slice", + orig_nutritional_value = 2, + amount = 3, + sugar = true + }, + canned_carrot = { + proper_name = "Canned carrots", + found_in = "farming", + obj_name = "carrot", + orig_nutritional_value = 4, + amount = 3, + sugar = false + }, +-- canned_potato = { +-- proper_name = "Canned potatoes", +-- found_in = "farming", +-- obj_name = "potato", +-- orig_nutritional_value = 1, +-- amount = 5, +-- sugar = false +-- }, + canned_cucumber = { + -- aka pickles + proper_name = "Pickles", + found_in = "farming", + obj_name = "cucumber", + orig_nutritional_value = 4, + amount = 3, + sugar = false + }, + canned_tomato = { + proper_name = "Canned tomatoes", + found_in = "farming", + obj_name = "tomato", + orig_nutritional_value = 4, + amount = 3, + sugar = false + }, + canned_corn = { + proper_name = "Canned corn", + found_in = "farming", + obj_name = "corn", + orig_nutritional_value = 3, + amount = 3, + sugar = false + }, + canned_beans = { + proper_name = "Canned beans", + found_in = "farming", + obj_name = "beans", + orig_nutritional_value = 1, + amount = 6, + sugar = false + }, + canned_coconut = { + proper_name = "Canned coconut", + found_in = "ethereal", + obj_name = "coconut_slice", + orig_nutritional_value = 1, + amount = 5, + sugar = false + }, + canned_pumpkin = { + proper_name = "Canned pumpkin puree", + found_in = "farming", + obj_name = "pumpkin_slice", + orig_nutritional_value = 2, + amount = 3, + sugar = false + }, + +} + + +-- creating all objects with one universal scheme +for product, def in pairs(canned_food_definitions) do + if minetest.get_modpath(def.found_in) then + if def.sugar and minetest.get_modpath("farming") or not def.sugar then + + -- introducing a new item, a bit more nutricious than the source + -- material when sugar is used. + minetest.register_node("canned_food:" .. product, { + description = def.proper_name, + drawtype = "plantlike", + tiles = {product .. ".png"}, + inventory_image = product .. ".png", + wield_image = product .. ".png", + paramtype = "light", + is_ground_content = false, + walkable = false, + selection_box = { + type = "fixed", + fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25} + }, + groups = { canned_food = 1, + vessel = 1, + dig_immediate = 3, + attached_node = 1 }, + -- canned food prolongs shelf life IRL, but in minetest food never + -- goes bad. Instead, we will reward the effort with 2x higher + -- nutritional value, even if that's not realistic. + -- when (and if) the 'amount' could be taken into account, the + -- rate could also be adjusted + on_use = minetest.item_eat( + math.floor (def.orig_nutritional_value * 2) + + (def.sugar and 1 or 0), "vessels:glass_bottle"), + -- the empty bottle stays, of course + sounds = default.node_sound_glass_defaults(), + }) + + -- a family of shapeless recipes, with sugar for jams + -- except for apple: there should be at least 1 jam guaranteed + -- to be available in vanilla game (and mushrooms are the guaranteed + -- regular - not sweet - canned food) + if def.sugar then + minetest.register_craft({ + type = "shapeless", + output = "canned_food:" .. product, + recipe = {"vessels:glass_bottle", "farming:sugar", + def.found_in .. ":" .. def.obj_name}, + }) + else + minetest.register_craft({ + type = "shapeless", + output = "canned_food:" .. product, + recipe = {"vessels:glass_bottle", + def.found_in .. ":" .. def.obj_name}, + }) + end + end + end +end + + +-- The Moor has done his duty, the Moor can go +canned_food_definitions = nil diff --git a/textures/#example_apple.xcf b/textures/#example_apple.xcf new file mode 100644 index 0000000000000000000000000000000000000000..a26a2cd7a66d70a5fd9eac81154c5a5e91e91e08 GIT binary patch literal 2979 zcmcguL2MdF6#WZ}Az*6i;M!Jmz-bRgDpAt7RjpQv-kz{%;L1+<27=H-SGz?cEzNJ5iSkS@{9r6|ABL}nH6zs2I4yABx zEWI92C1R<~^aH2}`x?z>bC1^&k!)ry{UGX}Po`EgYnjc+yqsd2sg-!-=8c=OjR3ct zttebqM!2f|$bSQNeUyC|UrleMBDYj5C?AhfI=a};8|hpmy|MaJBFp}nWHOt`ohHcM z@2UoxVOPEfr)j?txqm0}|D`mTLyquWdcR#?Sxc<*u8Rk>F$iC~4e>dcO|Li@6Y=%4 z4L3hT;lMdOehvrE;R#?qSBdxBo}%0hozq-P4p3<$mTP%f=SuSWJL*k;OhGvYs5do@ z)J}GuCX?G+o*pc=E6D-I(B=*b73#Tp5_T_;U28L_$_ojI?$)|gnlJ$-ntzO;_~0l zFDzVhz&8MXvVxcbrg$T%cG9@|G=+dD#h*yB53CX=5;yD(# zQN*hU3ETSD(&{W%?CC!Y>+~Oay-L%&V`S|*Udsx8W-@UMbR#@3NUt2x8M{dD?1&IP%+Lc$Otgy4XuXS6=>H8b+d&mw7_-O z$isu1I-FT;;M^$GN|g(}QmUXAD(p2|m}BbpK;7Q+7v;&a_2T&+U+X2SzRA>?u+mIW zXM#Et)R|EeLh9g)Fqn)Cs1JAF2*#CI-%ps;D`I{N0rQgYITFa*2&xmN(wlHHSCvu= z6|?M4T)0evw&D|sIxT&SlLRu8>msdYCNuR;9;OS=YG%&N`M!JZ`Odim|82}B{0|lu zC*&vruU**`p#&BdCuB0IlSm}d_0&*-n@yWWqfWiv^pMcTy#?C7Du|VjrW`xQC`kmx zjs?B=_1yGON!W8GQa3MP2l!%90&Ns$mEOx1W_rMt`oQb*7nv(u4g7GUIE!HzN(3sE ziibqE)r!xU&L7`fhN|F4ZwQXv>gi<|hM}CTKmw{O|Mpno*bGF%^JTeQmO+8S?8s$- zmgo@KYdidw&*w!T0V$Re=E)wW;~gA@)xxRfrkww4}tBU&7M~5ClPfT`s3|l^reEZ2{)26Vc4Dx%O7bR z`vVT@k2H>h0uJgA9mh+{Re5UiFg4R6m56g7t@nKmU^iMl*EQ4P()lwY^w(@@xjNFL dc{ljJuwQn8EWBupOH=>=002ovPDHLkV1fvMIHv#r literal 0 HcmV?d00001 diff --git a/textures/banana_jam.png b/textures/banana_jam.png new file mode 100644 index 0000000000000000000000000000000000000000..19b3f42a23e93175e8f849148d21b324563615c2 GIT binary patch literal 809 zcmV+^1J?YBP)`o6HydBue5ZgA1EVjs7aNL-x5g#5{zNNLMsasC2`|I4IwJV#GTz3*Di3y zqQQhjVuDeUrUCceC^1?kBn+sDv9YCmTEG_C4itDUC`hN%I;B&~!n?Y8ciuTC@7>QE z;J=mGhIc3$~Katd&JOjM_1z_L0pj9yV+mMVWtxyAv>ln1jrw8$@;FowkL~RRv++92I$G!>yjJ& z5f|)syDR}b&u56(YhNNmXl}6OFT?$kPx!`g{sZ7KZ}WpRS+V-!79>}?e?xBXW$=+Mk6?~n1fn+iOL*)p9GXgkHgXPs&K^SUr0}W#G>5*r5OJ>0FUQ6 z2m#KVy@3lCA8!vALL|v^4Wx`=H0qtA?WgW2It|6A;FE=@Cx*-22}JP)!-At;K9P^dLf$EDI6ip2s7g%U-gsop7QYN&$9-sDN$ebkZ!4_oG14#oo| zkxdyGj+tDY>;=d&qe6DNkr8rU(S~Q%J&70x+>4eOg{Eor<(_rOE!QaD?osEqZBryD zALbk)darvM3OOIzLD%Xs-p9uvbxct@P1A&<#U)V9IRMB?Kgh$KBd{n5Dg~Bh5gw3J z$emKarlX=pbY0>a6Bof?oOEqu35+d*@Fd@+dyU9_i=>+PnuOIt?p717xT1#T%h*rI zpVOWR3JLKjY{>njz&8Prnh+r%SF2d3F5rcn*A+ZWM*>ep71K+H%=rBz@l|Ax=lhU4 zra+$4R88>oyoq?cH!JoY$fk_%xo+Dw_m4?#^ZRdEJ?s1nPpAvnQLGyoSY{M@Y}c_1 zes{^m$+qx9q9#)E=!(p*oCdlLSxLqxFh4UY`C7+rz=6LBopKhG-qSi}0spG^w2paz zf7QDd;mANIa`{)ZD$Qtb3;F&AfVX0~;yagrrHZg(FDH+#YWg()?Ytr61N5^lWR92NAT*u8=DZe8J)nYpq2%Zn4-xgzGl<53V_4;XlxHf(Tm3 ziXhf|?FO+*EUr4Rh{qxblI+64y(`wuCGSmQvhK1LPW2{l@_qAW=FKF)t4vs!{NVI# zMvRm2^QU{3>A>mPjL>xr)v69nGe%0>>xJlcBScXzpCaFOw{gGKh;?nthUHqZ&N)Z#;QR2`Fpqp7PUOVvTin8d zqc~V3WvLW+o~IO_Om4YWpDY5zO5dEhOw|F1WdYy!6;jhQ8CitXNl8hN<=GU$EZqr{ zp&mp801(jnNLw)l9;c(8j)<%m67htf4T08wvqrli(1O4bGHpnlVIp9;RzI(SREz;} z+MxKMQ$Jn{vJvQP{`$IWYq)J5mzdk#fq>#XT^Qp zoAqK)<}$@0$|;$AfLCZ3$*s5aYQNMtmI0r;UuqmvfY05}Ey54; zvj{p5Fsjpd`$ijj4FF;HkFpLr52+$le$CEX*JJ%OPm;d~`3JB_l^~yNAdLV3002ov JPDHLkV1o6BFyR0I literal 0 HcmV?d00001 diff --git a/textures/canned_carrot.png b/textures/canned_carrot.png new file mode 100644 index 0000000000000000000000000000000000000000..a27d249ac3dd1bec742ab3e5c3f3aa50c62f71bf GIT binary patch literal 755 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 P00000NkvXXu0mjfQvfzt literal 0 HcmV?d00001 diff --git a/textures/canned_mushrooms.png b/textures/canned_mushrooms.png new file mode 100644 index 0000000000000000000000000000000000000000..8b3d5ed6d46872667da3f373d83524c3ac6bd615 GIT binary patch literal 606 zcmV-k0-^nhP)%r^)18xT`9f8ek7HkT;%L}RM2>;9~hKk^%EHjKWHoUW5F;b`4k(KWW%&N}3&WRBpBVo9{ma0@%*?>Rz`(%6$H&0Q z%|nzUkR8B6YLGsE@)&L@3o|p^5g*>aXZZ5z6Uk9TvID;V_({8R`ag+a<;-dSyUPnn z)%G7}2w+RG_;P`ytSrO#ub)WH1vs`j#jH%R<5 ztKj82Azu(o)(_j?-GCGLDJ&#+oK+(zSF4-z6b`^1ko=@4fH+ z0sh;NjnY0yrpA>)0xm8bQHBJPsd2^SqQNjO&@|guU_u&@AO4tfaiILk*qO^Zf)2NJQJf3j|New z1;EWwm}N`wkNreE8a#W4=XpyhYfC{cm+L4#J@D(3Ky{aaXG%u;djR*s+o*5QaL*Hb zNza_^#A!OTCI|whOF&VSuGJrp1~JQ);GQR_Z_wbDQaF@~YASZr>*L6(dDIj|_0$EK z7=`dHHTuy*1>8~!Uq7va^Lo_CCVZ$I?AdBjTLcQV0O;Kkel#XACp^c|)&~f}ZH!&z z@Q2hO%Prd)VT-`8gCfEYS}J%sjhi!f002ANTc}7?a9$7YKl(U00)V>xMQ0JA=_%BH zSHLh%HSf(y!O9xJn^D9XQcMz|j-9X* zx#ekCKOtZ>QmiFmcN%J?y?#P^?*c2srEh0Kqn!0?-IRb{&dxi$=(??Otmp8e>xSca zJ)KvkZ+NjU9fM^?;l4umd=CH(`ESSlzI2R-;UH!BYqp-w5A1W=a460^vzS zK~z}7?Uzey6Hye$f9FnWlSYe0#D$2WuAGpS*iAR$T2QyvMST=^f}g`rL@SQY1wpKRW7%vh@NH%IHvdh7?D5DK&jkU#@5drgC=_Z) zY?W;Ag|nGs&C9SExZF!IW(+deNzNGLb|-S9lM&C`-0%B-?9+-Q&=%s&wD+@K!uj9U3~+!q+F3qsFkT z%DA=kI=2~)ddXxm5=lT+BeOqO{i>tJaO|cB>);+MX3!AacVw?u>$>EV4qgN)^)t(BM2C< zmZzRax93q(MMXH|Drde1SP{xVshT5m>KL##vLl|#eTbI>eG@aAeZ5d9&~Gh^cD=Gx znG&i?_yLrhqv$NN>gbOE-|!bJ2kKk#ST+kmK)@kmA-@4835zUj`WsUK0000frHqp zNq{VBDt*UzYsI-z9T=Ju(dG?wp+!w#jHwZ|tPqKyjOYXoTaEZ@sO)@1en;>G7*jqi zlz_T(2#jTYV`ZgrEkILe6fE60gav z6kp#S|NUN&iNO8cV`c(Xxqx7qtP+YSG8kqgfj3`=6S6M>n5nNKRuKnctQG>taDVFh zx?Nzqmz{s(Ddm7%id9Iga~{=@LIt7Mx5fERGuLh?%Y$db#c7kIYR7TFxnIMmnB`?p zlmjwgR(qm$i~(k~$3Dp%!-W^ugPOJlyW4cB&p19G&_A?EXdVDy?td=z8Ha%wFLlq0 l|26CN?LwdC!5gp<@&)3AM;jC?UQqx5002ovPDHLkV1iEgh)Je^7t!J_J?LQQ(xr3=odR_y5vVq22%Wqa`UjMBDIT27 zh2SX;bTS@77cUJRO4Ol*5)gz|rx#mq@6H#}iQ1(7((M#OKw5wlC44HTA)vs#H~0|Tsv1u6fZr3nj4gy9au4{!5F|qCg}L4XVLZU= zVAj*~9$;>PX_~@j{uc1!8{Ys_0>Of8Nn|_6lMyl?PlES??DVE-GHDqA&JWvo z_T<5I4bW7)kG*hAr98;aD+=#I)oYa7V0wVe2edzrVFG_Uth*QvRO&eOg3cYo)6?(cWb z`Tj2O-`Z@7+6TdKC)>(^qu!qiQGj5$lhx@6Xtg>JgubbPi^UuYg*@{4A_qd*?k!Lr zs)YEwo@Uz~qm>XszEwgm#?1DnLUb)IVQ1*F;Fzi&M~29(toO3+Fm!Vj2f8Z3RCQTUBzrYvkIZ*(T zBxSFbAb{AHU%GeHf<7K0zbVYxy@?;JojLxwnHj08v>Y{*~4-y zgXnuNaJ7%K5;slV0Dw?>7wQr%S)!6vKv9%r68+hR3Ah$s0!`{cw#W1$~MF>=bm+jJmm9?ROt2uY$*CtUwHphjD(KTV}bfEhM%l@buX> z%-#HsNCzYGw4mG#v+gko2(RGWi(kIz`?59RHdo7v-ixs)Jr z#ArUc%AUA&y{T$gYu}%TaBcXE;y`jN<+$l*!mh=ozaBCg8Lvx@YaKQ^UY8sTIc#)X zG70UrlSrkr&}-E&9wiQZ4FI_U!@EwUvz#R4{hG~3S6g~CuMU1F>=%PBGu7je29N*% N002ovPDHLkV1ltmTs!~( literal 0 HcmV?d00001 diff --git a/textures/orange_jam.png b/textures/orange_jam.png new file mode 100644 index 0000000000000000000000000000000000000000..a6d418ef7a61594f4301419b18d45536a3790037 GIT binary patch literal 792 zcmV+z1LypSP)@FnmB1R#)Y+u0|^NW4o-xf(McCv zOk4;FabQ9dPb|$MXHl-s*2HJo_Zpb;3v;)x97vKvwnW)33 z<4UNXzEjY+-hE=sKhCV1!XO;(GdnZtIJ4?X!|&-6?hU%h?7M*yIYmGWdYCIE0a)8s z0q9nQ)({BymdO@jWS|3pKHus5&Ow=>poeg8nasYM6Gd%ZGwSno7$VedD0q5~oFX8r z0&Z`6V;2%9S+JAV3_zWT{=BwbMpgx$d@MDV1=*sX(NDwXs%EJJI+zYz3GSpK{uoa> z3xPD5GU~d1iqPy4vR_5^s|*D_$f^rjb+NWxW_4F%byqV^Zw1%=Insc&6kAE?M05el zs=(B;%G9!26TDVKGHGCGC8^#2e7C9H&}!eFuJY{Bu&bdobkba!b|}wzj_n*?bp1>bhHv$=CCLPQZFF7pHarH%7t2-SElD73+)`mjMN(W(weW%y=UccY(z3=;eUklvWjEx(d*v$+2 zGyz|2s+=Q%-MpalJV7A9gOK1vff+jor5ZGiSxC&yIs|jqDj~|1x;}G^X_Bz>?X%nX zGW=RR))%&3*uL1!Z6lRRxgt<1l`JIs zt(E(PN9mQ(WjGFaAs)lG^)<^}DwT45Tebw;fEVI1l%K2v05nbWOu`a^VzD@se0JcU z?}}iIK@>$Oiek;zOprzAk&X$0#>z8K#hY$xzl0YfNQBB2in3zOFQ3RzF znW{4S)Ewtcir@P=2!a3rII5`#`2fZk6h#3cUDgb~G0-oo+wc}ACFs{B*k@5FmZ*FB-z;R7QBuqdEv5)|OjZ-?g5J-}Q@-G?l z^FSm_aLWg%s*1##WbQG5>kWoxlezNiyDVdkDv)IvkuX8M!2mEsqXHOXptN_&lM@xu zXfHoH9cGU0d^!?nP##NfH?3uKp##~rj*oW&SO@~ywr(j$r#6R!y z?vjw(**A6FIK{>(HNgQOQ&lW+&Quj-+qx~d;m=hS3`%i72`|0CbvHa~Gb{~Av4w<( zZa66IXKm)a9XoZnseBVU#cWdRW97i0!>g{3)sF2PUUl73iuVo<^#}JNkn1f31Ag2N z5zk`)IH%pAv0QKA<+CK`_-nRza5&XZ^M3GaVgCVk!B+{5292ly0000kBpIk**C8zemx4OY{bA5>&LNJI8lGTGgb9(<=^-<$9EJ2UUSnT7w> zW|Qn678ZNVRuW#G`YCw|SXk^aqfwbiB#JD@LM5(Lij>PGN~MZLL`S=ipyNO##QK+< z*>;Xrig3g3bPG&rTBss=XXf~E|E{aAvl*b6stUywbzO+uQHJk6Zkd1dd#)2>s*0j0 zLIMoKu!yL&L+UJ}X9w$-VG#1!x97S2;g;}jxe5qEp1-jPfTAcuA}l!|lLy-*QS#;S z3G&$tM<1SKH@jDzYdA#Yy+KT$meMqHIzD8kG|jxEpKBQJnS^$yh<$qWn9ccl0G?+v z0PNlwW@64AZDHH*<8AAFh5sef^r) z8=yu&Q;ldR{cm-jpS=K}J3cH-DpUoAVK@TztH5p5BIItEo&vs?qsT8GSOHX(uFM7i z1IYvf$pn3g5#JrLa^N<7<4C=3&gr`m% zV>?$M7CFq3F4^}OpjiIx7;onamLzoink}uYwe)FTOMW2iFPt!Lw1CYc1poj507*qo IM6N<$g4dQRh5!Hn literal 0 HcmV?d00001 diff --git a/textures/rose_jam.png b/textures/rose_jam.png new file mode 100644 index 0000000000000000000000000000000000000000..7da53ef5eb6b7cddeee6d5d8063366b6e12d54bf GIT binary patch literal 573 zcmV-D0>b@?P)30=gg;A{dab#ZjlK@tB3^^em3p%fh)rISNjba-`eD1i<| zvXnG!0}kh)mF9X$FTZRD9|Vqfx%Yi{_wIXlz`w27nCPfCDm+iX%ZnikB~Wivc&Vg8 z*Gtf}a;Ct(KgM)A!DQkGNNlWn3pUm&A>M6=uN)&!60+C@*^g}?Qxb;lz}?xB_7&m; z(umYD-m;Xy7mi_@`W#kOI#45mX_`s|y4`MoM8K$zL#rBn4AX!EfN7e_t0g6%3f^H1 z9ma6WSYi@^kwnC0fkMH5+BEwqz23+0gW>u9B~+A@t=a1F zHW2uTDDf%~(L%gttH+h@1BUJV>Uz{H9`9b2Kj-8}Pm?a|%(`jHMxhlJPpY<9HmA&OGU}#+I0kMPI)*pmZv79$ z%iVY}lwApeFjpr9QIU4gu3A^5gOlp&Qsc6w_9UrE)8<4@PF^qSN|K&5$=cFg_`rdO z=Y8Mj`#taTyx;d6_}{kKq{_g+^;WT!fN#E$mZ}mMxZWx}9);#+4~pX5RN#Dm8N1aZ1JH}R$u*>bVo2cX4R1)cEgw~Eu(l%qxMiS}TSY7k>gbuF( zugfO1n9%VF9iNzvCRTkNpU^Z-*xAVB(3+U0X=Q6mp9w7{YMz2h*19%^s;XF)MJkhI zVKGHI`!|uLB8VZFZTLMCes@-pz zCS!L-_~ZNUC|>@AE2m`4#}$%O3&^sAu0I9c&%DShXD@QJ?-Wi)_5PM5sc|WGxm>&y zI!-SEy6+Y^@ns%MvS?CVy!x}n#a{${afzP&&#eo-At{c}%n%^Eu2JBaCkXiUQz+5vxi zJG+l`lW8ilXKxWhmv}k}{N>^w19k-WqO`X^{0`W4tg5Q3zM?2Jz0gnWvuo^_OJcN1 z$VQR0x5#o%;OXkc-_=E}oK*>=3=hG+XUh}(CqfS_aQJ!jBYot4_?G6BlY2gk;yh%Z z@N)e9_t@$8mw{L6z^}I^>nlMz8d=r#(zkfb@2BU|Wima7n3n_|r(o9Y;OM7U2=@0^ z1%HsQt{$kA;z|;`0s&55{Tl1t^Ayg!L;n|_qrP@}UGQobQkf794o``L#}3tf8(OBh z@)iyUk}TWahLtux{1dMqdrEq!V^~YqH}#vaTFo|VyrCYbOt{hUngr|?m&P_azOEFf zqY>s3S-j0Id@ag~zmx~Nc!|HLh0Edq%Z9n)FXfrLHM!y^vg`kv4GvFj>8E+=33w#z YUo>OQnKZd{V*mgE07*qoM6N<$g4iwS3jhEB literal 0 HcmV?d00001