From ffa9d2d0fd7ba72a84d9a2f754ac7aa22b657779 Mon Sep 17 00:00:00 2001 From: AFCMS Date: Tue, 8 Feb 2022 10:58:25 +0100 Subject: [PATCH] add basic chains and lantern model and API --- mods/ITEMS/mcl_lanterns/init.lua | 161 ++++++++++++++++++ mods/ITEMS/mcl_lanterns/mod.conf | 6 + .../models/mcl_lanterns_chain.obj | 24 +++ .../models/mcl_lanterns_lantern_floor.obj | 106 ++++++++++++ mods/ITEMS/mcl_lanterns/register.lua | 8 + .../textures/mcl_lanterns_chain.png | Bin 0 -> 224 bytes .../textures/mcl_lanterns_chain_inv.png | Bin 0 -> 217 bytes .../textures/mcl_lanterns_lantern.png | Bin 0 -> 8789 bytes .../textures/mcl_lanterns_lantern_inv.png | Bin 0 -> 5736 bytes 9 files changed, 305 insertions(+) create mode 100644 mods/ITEMS/mcl_lanterns/init.lua create mode 100644 mods/ITEMS/mcl_lanterns/mod.conf create mode 100644 mods/ITEMS/mcl_lanterns/models/mcl_lanterns_chain.obj create mode 100644 mods/ITEMS/mcl_lanterns/models/mcl_lanterns_lantern_floor.obj create mode 100644 mods/ITEMS/mcl_lanterns/register.lua create mode 100755 mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_chain.png create mode 100755 mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_chain_inv.png create mode 100755 mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_lantern.png create mode 100755 mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_lantern_inv.png diff --git a/mods/ITEMS/mcl_lanterns/init.lua b/mods/ITEMS/mcl_lanterns/init.lua new file mode 100644 index 000000000..d59bb558e --- /dev/null +++ b/mods/ITEMS/mcl_lanterns/init.lua @@ -0,0 +1,161 @@ +local S = minetest.get_translator("mcl_lanterns") +local modpath = minetest.get_modpath("mcl_lanterns") + +mcl_lanterns = {} + + +function mcl_lanterns.register_lantern(name, def) + local itemstring_floor = "mcl_lanterns:"..name.."_floor" + local itemstring_ceiling = "mcl_lanterns:"..name.."_ceiling" + + minetest.register_node(itemstring_floor, { + description = def.description, + drawtype = "mesh", + mesh = "mcl_lanterns_lantern_floor.obj", + inventory_image = def.texture_inv, + wield_image = def.texture_inv, + tiles = {{ + name = def.texture, + animation = {type = "vertical_frames", aspect_w = 16, aspect_h = 16, length = 3.3} + }}, + use_texture_alpha = "clip", + paramtype = "light", + paramtype2 = "wallmounted", + sunlight_propagates = true, + light_source = def.light_level, + groups = {choppy=2, dig_immediate=3, flammable=1, attached_node=1, torch=1}, + selection_box = { + type = "fixed", + fixed = { + {-0.1875, -0.5, -0.1875, 0.1875, -0.0625, 0.1875}, + {-0.125, -0.0625, -0.125, 0.125, 0.0625, 0.125}, + {-0.0625, -0.5, -0.0625, 0.0625, 0.1875, 0.0625}, + }, + }, + collision_box = { + type = "fixed", + fixed = { + {-0.1875, -0.5, -0.1875, 0.1875, -0.0625, 0.1875}, + {-0.125, -0.0625, -0.125, 0.125, 0.0625, 0.125}, + {-0.0625, -0.5, -0.0625, 0.0625, 0.1875, 0.0625}, + }, + }, + --sounds = default.node_sound_wood_defaults(), + on_place = function(itemstack, placer, pointed_thing) + local under = pointed_thing.under + local node = minetest.get_node(under) + local def = minetest.registered_nodes[node.name] + if def and def.on_rightclick and + not (placer and placer:is_player() and + placer:get_player_control().sneak) then + return def.on_rightclick(under, node, placer, itemstack, + pointed_thing) or itemstack + end + + local above = pointed_thing.above + local wdir = minetest.dir_to_wallmounted(vector.subtract(under, above)) + local fakestack = itemstack + if wdir == 0 then + fakestack:set_name(itemstring_ceiling) + elseif wdir == 1 then + fakestack:set_name(itemstring_floor) + end + + itemstack = minetest.item_place(fakestack, placer, pointed_thing, wdir) + itemstack:set_name(itemstring_floor) + + return itemstack + end, + --floodable = true, + --on_flood = on_flood, + on_rotate = false + }) + + minetest.register_node(itemstring_ceiling, { + drawtype = "mesh", + mesh = "mcl_lanterns_lantern_floor.obj", + tiles = {{ + name = def.texture, + animation = {type = "vertical_frames", aspect_w = 16, aspect_h = 16, length = 3.3} + }}, + use_texture_alpha = "clip", + paramtype = "light", + paramtype2 = "wallmounted", + sunlight_propagates = true, + light_source = def.light_level, + groups = {dig_immediate=3, not_in_creative_inventory=1}, + drop = itemstring_floor, + selection_box = { + type = "wallmounted", + wall_top = {-1/8, -1/16, -5/16, 1/8, 1/2, 1/8}, + }, + --sounds = default.node_sound_wood_defaults(), + --floodable = true, + --on_flood = on_flood, + on_rotate = false + }) +end + +minetest.register_node("mcl_lanterns:chain", { + description = S("Chain"), + _doc_items_longdesc = S("Chains are metallic decoration blocks."), + inventory_image = "mcl_lanterns_chain_inv.png", + tiles = {"mcl_lanterns_chain.png"}, + drawtype = "mesh", + paramtype = "light", + paramtype2 = "facedir", + use_texture_alpha = "clip", + mesh = "mcl_lanterns_chain.obj", + is_ground_content = false, + sunlight_propagates = true, + collision_box = { + type = "fixed", + fixed = { + {-0.0625, -0.5, -0.0625, 0.0625, 0.5, 0.0625}, + } + }, + selection_box = { + type = "fixed", + fixed = { + {-0.0625, -0.5, -0.0625, 0.0625, 0.5, 0.0625}, + } + }, + groups = {pickaxey = 1, deco_block = 1}, + on_place = function(itemstack, placer, pointed_thing) + if pointed_thing.type ~= "node" then + return itemstack + end + + local p0 = pointed_thing.under + local p1 = pointed_thing.above + local param2 = 0 + + local placer_pos = placer:get_pos() + if placer_pos then + local dir = { + x = p1.x - placer_pos.x, + y = p1.y - placer_pos.y, + z = p1.z - placer_pos.z + } + param2 = minetest.dir_to_facedir(dir) + end + + if p0.y - 1 == p1.y then + param2 = 20 + elseif p0.x - 1 == p1.x then + param2 = 16 + elseif p0.x + 1 == p1.x then + param2 = 12 + elseif p0.z - 1 == p1.z then + param2 = 8 + elseif p0.z + 1 == p1.z then + param2 = 4 + end + + return minetest.item_place(itemstack, placer, pointed_thing, param2) + end, + _mcl_blast_resistance = 6, + _mcl_hardness = 5, +}) + +dofile(modpath.."/register.lua") \ No newline at end of file diff --git a/mods/ITEMS/mcl_lanterns/mod.conf b/mods/ITEMS/mcl_lanterns/mod.conf new file mode 100644 index 000000000..104722123 --- /dev/null +++ b/mods/ITEMS/mcl_lanterns/mod.conf @@ -0,0 +1,6 @@ +name = mcl_lanterns +description = Add lanterns and chains to MineClone2 +depends = +optional_depends = +author = AFCMS +title = MineClone2 Lanterns \ No newline at end of file diff --git a/mods/ITEMS/mcl_lanterns/models/mcl_lanterns_chain.obj b/mods/ITEMS/mcl_lanterns/models/mcl_lanterns_chain.obj new file mode 100644 index 000000000..94a7b8971 --- /dev/null +++ b/mods/ITEMS/mcl_lanterns/models/mcl_lanterns_chain.obj @@ -0,0 +1,24 @@ +# Blender v3.0.1 OBJ File: 'chain.blend' +# www.blender.org +o Plane +v 0.066291 0.500000 0.066291 +v 0.066291 -0.500000 0.066291 +v -0.066291 0.500000 -0.066291 +v -0.066291 -0.500000 -0.066291 +v -0.066291 0.500000 0.066291 +v -0.066291 -0.500000 0.066291 +v 0.066291 0.500000 -0.066291 +v 0.066291 -0.500000 -0.066291 +vt -0.000000 1.000000 +vt 0.000000 -0.000000 +vt 0.187500 0.000000 +vt 0.187500 1.000000 +vt 0.187500 1.000000 +vt 0.187500 -0.000000 +vt 0.375000 -0.000000 +vt 0.375000 1.000000 +vn 0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 0.7071 +s off +f 1/1/1 2/2/1 4/3/1 3/4/1 +f 5/5/2 6/6/2 8/7/2 7/8/2 diff --git a/mods/ITEMS/mcl_lanterns/models/mcl_lanterns_lantern_floor.obj b/mods/ITEMS/mcl_lanterns/models/mcl_lanterns_lantern_floor.obj new file mode 100644 index 000000000..a6125886a --- /dev/null +++ b/mods/ITEMS/mcl_lanterns/models/mcl_lanterns_lantern_floor.obj @@ -0,0 +1,106 @@ +# Blender v3.0.1 OBJ File: 'lantern.blend' +# www.blender.org +o Cube +v 0.187500 -0.062500 -0.187500 +v 0.187500 -0.500000 -0.187500 +v 0.187500 -0.062500 0.187500 +v 0.187500 -0.500000 0.187500 +v -0.187500 -0.062500 -0.187500 +v -0.187500 -0.500000 -0.187500 +v -0.187500 -0.062500 0.187500 +v -0.187500 -0.500000 0.187500 +v 0.125000 0.062500 -0.125000 +v 0.125000 -0.062500 -0.125000 +v 0.125000 0.062500 0.125000 +v 0.125000 -0.062500 0.125000 +v -0.125000 0.062500 -0.125000 +v -0.125000 -0.062500 -0.125000 +v -0.125000 0.062500 0.125000 +v -0.125000 -0.062500 0.125000 +v 0.066291 0.187500 0.066291 +v 0.066291 0.062500 0.066291 +v -0.066291 0.187500 -0.066291 +v -0.066291 0.062500 -0.066291 +v -0.066291 0.187500 0.066291 +v -0.066291 0.062500 0.066291 +v 0.066291 0.187500 -0.066291 +v 0.066291 0.062500 -0.066291 +vt 0.000000 0.062500 +vt 0.375000 0.062500 +vt 0.375000 0.437500 +vt 0.000000 0.437500 +vt 0.375000 0.437500 +vt 0.375000 0.875000 +vt -0.000000 0.875000 +vt -0.000000 0.437500 +vt 0.375000 0.437500 +vt 0.375000 0.875000 +vt -0.000000 0.875000 +vt 0.000000 0.437500 +vt 0.562500 0.125000 +vt 0.937500 0.125000 +vt 0.937500 0.250000 +vt 0.562500 0.250000 +vt 0.375000 0.437500 +vt 0.375000 0.875000 +vt -0.000000 0.875000 +vt 0.000000 0.437500 +vt 0.375000 0.437500 +vt 0.375000 0.875000 +vt -0.000000 0.875000 +vt -0.000000 0.437500 +vt 0.062500 0.125000 +vt 0.312500 0.125000 +vt 0.312500 0.375000 +vt 0.062500 0.375000 +vt 0.312500 0.875000 +vt 0.312500 1.000000 +vt 0.062500 1.000000 +vt 0.062500 0.875000 +vt 0.312500 0.875000 +vt 0.312500 1.000000 +vt 0.062500 1.000000 +vt 0.062500 0.875000 +vt 0.500000 0.770833 +vt 0.500000 0.770833 +vt 0.500000 0.770833 +vt 0.500000 0.770833 +vt 0.312500 0.875000 +vt 0.312500 1.000000 +vt 0.062500 1.000000 +vt 0.062500 0.875000 +vt 0.312500 0.875000 +vt 0.312500 1.000000 +vt 0.062500 1.000000 +vt 0.062500 0.875000 +vt 0.687500 0.937500 +vt 0.687500 0.812500 +vt 0.875000 0.812500 +vt 0.875000 0.937500 +vt 0.687500 0.937500 +vt 0.687500 0.812500 +vt 0.875000 0.812500 +vt 0.875000 0.937500 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 0.7071 +s off +f 1/1/1 5/2/1 7/3/1 3/4/1 +f 4/5/2 3/6/2 7/7/2 8/8/2 +f 8/9/3 7/10/3 5/11/3 6/12/3 +f 6/13/4 2/14/4 4/15/4 8/16/4 +f 2/17/5 1/18/5 3/19/5 4/20/5 +f 6/21/6 5/22/6 1/23/6 2/24/6 +f 9/25/1 13/26/1 15/27/1 11/28/1 +f 12/29/2 11/30/2 15/31/2 16/32/2 +f 16/33/3 15/34/3 13/35/3 14/36/3 +f 14/37/4 10/38/4 12/39/4 16/40/4 +f 10/41/5 9/42/5 11/43/5 12/44/5 +f 14/45/6 13/46/6 9/47/6 10/48/6 +f 17/49/7 18/50/7 20/51/7 19/52/7 +f 21/53/8 22/54/8 24/55/8 23/56/8 diff --git a/mods/ITEMS/mcl_lanterns/register.lua b/mods/ITEMS/mcl_lanterns/register.lua new file mode 100644 index 000000000..a2c513eb2 --- /dev/null +++ b/mods/ITEMS/mcl_lanterns/register.lua @@ -0,0 +1,8 @@ +local S = minetest.get_translator("mcl_lanterns") + +mcl_lanterns.register_lantern("lantern", { + description = S("Lantern"), + texture = "mcl_lanterns_lantern.png", + texture_inv = "mcl_lanterns_lantern_inv.png", + light_level = 15, +}) \ No newline at end of file diff --git a/mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_chain.png b/mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_chain.png new file mode 100755 index 0000000000000000000000000000000000000000..ee523c9226d618aa4cb6c31a11a3130f5a464495 GIT binary patch literal 224 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgf#7JeZ`siwX6RDnVXo-U3d7N_4% zGUPj8z`;CsMfd%Kv!?#9Z`yBgiL-NQ(21bXSGpaHIf)HT9WHCFV^&GM<6|f&@9>y# z#4LO5wye}A3Z4^Ob{THIc(3eH+BLPS)_dxYR3`m4Y&|vq(Db;UY@TJFH$qyTPX*e= N;OXk;vd$@?2>^Y{PSyYb literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_chain_inv.png b/mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_chain_inv.png new file mode 100755 index 0000000000000000000000000000000000000000..61a300fede1736bbafa7e07d7b106756b9c18edf GIT binary patch literal 217 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgf#7JeZa;fbAk_CTRXPZ!4!i_^&o z3q%9L!v6L9JZAFwq2lZ7`#<;zm#nO86Pv-q&3}J?f6u~uF!R9o_xB~=-P?Qm$KT)O zY@2u$*mxc}s9clwX~|Ky7L$;WVDr=|C@Q*SCZ@s0AaqOnZ|K_d(}0#Rc)I$ztaD0e F0swHxMOpv= literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_lantern.png b/mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_lantern.png new file mode 100755 index 0000000000000000000000000000000000000000..c9cc5b9958c962387a6ee72e277c225a5673fb7a GIT binary patch literal 8789 zcmeHLcUaR&w+@1UNK=ubln{!vR01TScaSPY5Tt|@Kp=r65PC-`B2`gQK|xUjMWm_} zMG*uQl-?KVARvoW#T(Gwb?>+L`|du^z5i|UB;+^qp7)%2=bRa45-iOPxi}7S0000k zV2gc6I_!e~8umb>i6oYN-X;xS|(3e6cdU_Lpv>;yskPzre1ONj2iZ7i= zKlzwT?^`toG)h7Xa)w#(7m>hq4Ojn`^lNjzv4c1771lDd0n;v3ajc}&4KJ#MAGJVt z+;Tc?G*)m9vovOsl9RJOWL>oIbv9+~>v-0O>!CSK!b_U9+_d#aTbqH2b!RiBhx;s; zKY#Ui`x@-lasSgMnK{hNCRG0tbkZyLlagg~&VgyK$o1aineCq^!3vw9*A}iWza=kL z`jF=?))F_rE)?o5Ah|DGDfYd%dUDB~=|zOKOvZr(I=3%&lzPD`bJc##ONwR8!Y@&? zSnkWU^Icn4&WjC)n{Z^*e28MMW3>(s-TD-GDuO#aP<+dCqBNrQOUtKA-wqDv#LU&L zUK5=!e>+b+s3Yf+y)pD^voS6yHH)6TXcc~V_;U^GeNn9i>G31;Re>LoR?=XVPTD(D zmEO$(&xg-1gXMG3gWJ`XAVAggGxuo^FB~(U9`nf#EeJ)~nx|PA+zQ&2IgwM2=|c z^DFOt5St|q)#W**kU5+jK$%&;a{iV2wwbE#x$uHv$zt!*ZvMN67IJy z*X%PzC_{x#-*)p%$M=~JIBzN?b;oXYU;7xW@Ot8c8Zjw^oY&Q7z|_ty{-Au_wfHqe zwGysa{wSAQy%X1AUV7c_t9h}1w^S#MvZN&e%0B#NsMMg=c(^JHywbJb-N;TJC|O#B zNrB8~7wxTx1yoe^LA}Ih27|rNPpi1d+s#NpxQ9_G(6r7%XOk~dyeJP*-^!Z-!gd## zC7ExEJkEL;rW_M49l4~#64qo2=dn&C)Cm^lR#w9?bN4?ubDJnxZ@%_#8Ts}Z?vPe<# z5pgZ!J&^$O#^E_XFCH)3CID}r+Fb2x%+cN=!MjQZ3z;4bAY+BW`Z!5e(ceyQaaGw?>Zc zm5pPeu)NGF=XKmaBvYXA=9h^y)PoS_qZ#FV0voj?BJ~_)&zpmJq{{TzMv)I|joecb zd-h(AH$Fal{DJnO`+KQfho7>k@=b@#YlF+wVbYb-R$+ILw*+7Rdh4KD{pN|g zSCw8!$$aC7V5>arS;`FVy}Lfo1B%!XTma^UWsu&#=v*N7p? zkXsKhskiM)#S<-?3h_s80EQCPkIyS+=){jNvlm##pdy}WL(JHGK~JvkV`&6w)=r^9 zU6onR5$6?EtyV#Zk^z>O(R`G`8X-h1;Y|G1hfsCh;-lsE(D}`@H0mrij#Z*7{9W#V zreO8_-Z;hC(-t~!Bk}h;)tY9!j{}WKtR^cJhpw&*NkY@@Z*xx~iu_jf8;xvZqi)oD z7e@>9C>Nk()l_kxX=ghkC%nu1i{ZxEGofc*yl8)jEQ`HyVldit(%L$;-58N*s(nB! zr=az|(8F$4#N#xx8|wCF%_!{?)o1$d_25`anYB*cd0AOeS2~}A?pER+b+l2&P1I|Q z9;$Up%$O-$5tFs!{Tw4g4Z6r4cH_RPP$_52RI7de-G-{>t3_VF#s!L;b|NtEt*9?+ zW)h9BsZ6~c6mW=}V^i1s z`s0%<=$cojE3B>(=iwK~lu)MY=*m)GK!Fg*^utD%jG$g*a=AWd<(1=Sih4_(^CSD! z4aVgSQoaD#@3SYrCc&=f>M_r*TGa@Q&<|>3SFZ1gwV755<=PnSOhGN~MgVlsyTWpB zO++om#|os!tYcmCW7uJ`RwZuZ7FV>#P;wmjc+OXBt-N=BQLgXQVal@LyY1H;eo)>= z=s`nlNml?-Y3+uq_7PjBP6YdN?+oP0E)^=+j-F3tP4w8ub@DW}MeADC)gwL3iLC5< z?v1FwesPtLIVtaSdr)hf$sUz96QwU(k|p^q6a0uTv*+A z@U_H2=ks_+kvG@1_)-?kF=yos5MssIKC)q+OmR~}k&h2XOCr$a_2y|BCx^s6C@c-y zg+|rx4%a(pvbx`nbN1H?{h}P2uaVZ&bKlULHLSGc=*qorpqpznDb*mw3DRK8HtDC(7 zj9YH}e4M2UkyzcvtaG=P6;ly)YdTK;%`>Q%Cdv)NKJY$QUn+abp1Szh@VW<2c})}AKqKCJWBOu{ny*2g7KhX|1n<4`C% zS%lKmdX8>^KC!EO>F;1B`9)^A^vLCR+1`0Ajl<5TWe%*Hcxf#Olb!=r?>4k4i({w6 zz`4o&FtvlNvO;=1;NGE@eR)Z`peZtvw%QbhVk(M#eGw>Bcy3SEZT4H z6hv1?q6{{!>DSlqgjxnIqfpA^5D?se{OO=zHU_F6UsAQ-vW9QZ`$wU~P{6DB8yg?k zgmIm)JGKSg&yST292zdbOgiFA@|Jy)`_!n%mokohN;ZE9M2gp6(@5&| zUE<*7PoxA;++P))tiE(ez_$9<0cACT*)9D#^GN=tNR>riB;+8o6|lZeI79?eD_C{F z%QvpQzJ!VOu2v~4p>aL{XGczrT=+O|&+$B}xJD4x6ZYJFyTJg z@H_|z#v!RyfNIbA<%xMBEX5`@MlRwd>#jV)4FUGu=Ro>teWwpUNVuDx*IT(7Bw)vM z#zsxW`6ZV8Fs-WSOMP_c(k!07;QX|r@ z(k~!5yLZ_Ot4Z*+=<3ypIIf!Sm#-~_xGI!%d5i2SYydZ51KzDhTLNeHO%3HXtjJl< zy5?mvQ%WzevF*9s$bV~7p$}S|yXSrWRD?iM&V@c(c|Fb*(={=#ey|1P^u!7e=}JOs z>#)MI+Vb0dF0pR8J#p>uydKRj`$02KSRHQ2XAAWWk-?91bgq+X>>|o?ZHm&7rv*Ql zm3%s$`kedWir%ECkD*bG1wiYF$+PPx>Cnt#^-U|vI!kv!zKB!C!ZJ~3GQKDFq%TYN zIl5m5sG!Hge;hP4&2QIXuZ21^9>!_FYX0W=DXAEKnQ>EH|6TXEd)m0&9Yv34NpBRI zQl{8k+jm!MRWyhdD)j||I@&3^^NTkA*yaP^6D8@0!6bUw{HY85ALB0vpf8j2vV^8I zW6fA!@dXPm3w|;!Qh)#IseDr3u~hY}%9>r5N2k`{{Kc0HOs5~nx~e=Y8`#B_`Rnxa zUcNA;Zyv1`4+oZyILJ5;^IpG;krcmpC|~R3e2OhiY*%YxW@ByA(%Y8XHvL-)>)FOE z&07+i3Bos?$?D5ZsayG_J`U!vO8y*o_3Iw1rI&X3htZ3ZsV*$K=)tB^4?!)?ugMiA z4T(AVREXA9|F(6h0*~c$O~A||e|%~<++lZA=+G!S1ewVc1)XPl%hr6;$m?Fy;4^7$ zUp`ryo=;vM>V(2q+0U#9(ktj&&k8cKBUq2E8$RI%QWFxCor_-st;(6xtQ z@O`lxwu02;s1!u>XVVFgDCrwv2DiTG@?LG_+?)u9@21UGJZGGu*?eL9R`*oxEtKuI z2w@aqWQEh^XbRV=#fOP4(u(HvP?ezaLQ9C?V*M#U@LC?Z|6LnZYKp1~(%^c?*5q}* zh%v-VKhn`K_~9(Kion({Fz!ZI4f8M6n)4S2u*OTqG`qQ>FPfGS z;Wv20L-I@B`l-q#iZzH1Gdoh@Tx;4aPc%1p?-R%$GIF{t>W;rTvl_5TD^d`goC}jF zGYrTJhDM~QKRuke7&DE@e=k<+ls;*8;HfgEdV2I%(NLdf&rjAReG$`O!bJ0K?FkO( zNU*XlH3a~e;yiVAEsb?`e>*-i4$W7>($tL_w1i){SnJ<8$fg>P!rwOM*Si^?Ve^2U z|ES}2Teb|7x?E%3^wCk7Dt_TF_C=T~)a=ZN9DB4FkVG<1gjkJ!OV>#f`-JqfKc@6bpcEp1r4n`b{2{Nwj5^rG?&I%H7NDb17gDwMgYX@e2D|w|WvB8l z8nuVFHfYYRWsIda+prON=WZY+5@nqa**qfPR zaAY3{7Eg8~KmvVy8TTCkfSP8YFBa!TpaIuon)E2We_>s0Cse1U>{B78vN`O`>7~)j>PF7{>4IW+(`_1EG1TgY3;L zfx2W00f>YkAuzChpl1LAq`?7Hqu_}cD?NiB6pSZzkOz(Ci-AJvbUK8t2q9D4p>Q-B z4TT|~2n3jc08@iVG;AQ4M3va4_|Bn6pyDW=zBErV3AoLPbtC)J)IlIdKkx@RqZg+i z$Y}iGVEcK8o=U?*jTsL}#&{S2C;|pUfnf+R0uBAyp3!S&_PaHS`a?yAp3p$7FBA@e zL4ADwWI?6r2mImhFDGRf3`6+HnaTQW?M#gPaoeMi*5AJNIdR$oUcE{dk2HZK?&XjA4VWl1~dFmc$z2i zj|uwIc(!}~B@l+Y-}(Q9{!Oo)Sax*9=#g>$+fI%3)Ir-c zu#$?h3K)q-6Toh0B^X#4rA$N;l!+=ZoXSsB#w02YOTrPhsTkxCPX-SHjYi>dN=jfA z6kHjMRKY5PQAo53n21Fv!I4-+G!BpbiNb>7$*2UZ_s>ynQ{fp@NF{^{5(QHRt0>_V z8B|Cj7^{LtgYn8}JW&~;q=ZvO>`-mb14i4@SRI6b!2W2l^v2SNWQq@?ygW&GGM)NI zmyM?n!J3BMmJP0~sDgx{5C~-y9EO6!{{S5)P^gSF-)4owAc*h2@HmVCgA>b0H%}j| zI|1rTa^Er8o)`>cI1FjA+ttBf-f3ry2BS+MU}!`9jrTa=TQy%@4)}UWbHwwlm2%+e?Wg{(WcPoWQvys#lr0r0Z04y zJbwlLoym%^+EHngAmjfqsQ-pj`<}2y3|lfK=qLZy1i$Z3-1oClWVPGGFJKZ@<=I?Ec z4UVy2LVw>de`LvaA^ktTeq`VOqX!1{KTiIZzW>Pek6eFCfxiX*C%gWU>u)LWx4{2o z*Z-MZ9Df|S2_(k3E5AbdKom*3o!D!jzYjlDN0B|>Kf0$m9 zZ{rz_Y&2steYWwve0!x>p^7FUj4PK@#(LT|MlU~JfLb(Y2{uN2Jk%tgh-%=B8gJsP ztQKNneM$$kWQ`nHlxn-(EL56mik)zc=H>T*wc1$vMdiyzmmwXq+eUL!st?fLZa#^a zZ$<+eFY4(5O1co)uZ6?ep*5KXf?J2xUnQMsOWyr$^AF^9}&t}vr#i>mP%3p!h_X#=3D z7BJtwOe-5vNiQ%cy1XJY*Ee;E!zvvS-}DMtyY`Jf`6 z^FS)PM~esjokfS4P}TRR*b1H+CXM9PiVX;ppKo1@HqY@uV!tgFpBAHSEYh-j9h5Zf v*I<{C;caVA>sDhXBHF(29MW7<*I+6F2bGO|;fP>N1i)C|T<@NaYxI8sK{;q> literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_lantern_inv.png b/mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_lantern_inv.png new file mode 100755 index 0000000000000000000000000000000000000000..1e81819ba95fb37c446bc5b37278432023322031 GIT binary patch literal 5736 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 literal 0 HcmV?d00001