From 6bef350be4a715e93f3d967decdda2494ef9d559 Mon Sep 17 00:00:00 2001 From: AFCMS Date: Sat, 19 Jun 2021 00:58:05 +0200 Subject: [PATCH 01/14] baisc glass support --- mods/ITEMS/mcl_core/nodes_glass.lua | 5 +++-- .../mcl_core/textures/default_glass_detail.png | Bin 0 -> 4942 bytes 2 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 mods/ITEMS/mcl_core/textures/default_glass_detail.png diff --git a/mods/ITEMS/mcl_core/nodes_glass.lua b/mods/ITEMS/mcl_core/nodes_glass.lua index 6e7ab350b..492ea2f99 100644 --- a/mods/ITEMS/mcl_core/nodes_glass.lua +++ b/mods/ITEMS/mcl_core/nodes_glass.lua @@ -5,10 +5,11 @@ local mod_doc = minetest.get_modpath("doc") minetest.register_node("mcl_core:glass", { description = S("Glass"), _doc_items_longdesc = S("A decorative and mostly transparent block."), - drawtype = "glasslike", + drawtype = "glasslike_framed_optional", is_ground_content = false, - tiles = {"default_glass.png"}, + tiles = {"default_glass.png", "default_glass_detail.png"}, paramtype = "light", + paramtype2 = "glasslikeliquidlevel", sunlight_propagates = true, stack_max = 64, groups = {handy=1, glass=1, building_block=1, material_glass=1}, diff --git a/mods/ITEMS/mcl_core/textures/default_glass_detail.png b/mods/ITEMS/mcl_core/textures/default_glass_detail.png new file mode 100644 index 0000000000000000000000000000000000000000..791309817e12424da6c346ac9e68cf0abb1ca2ba GIT binary patch literal 4942 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 R+ypQvJUAk#JRolUe*soZUVH!m literal 0 HcmV?d00001 From e2360204a7a7b754b0ccdf5336c6a230cea491eb Mon Sep 17 00:00:00 2001 From: Elias Fleckenstein Date: Sun, 12 Dec 2021 15:55:52 +0100 Subject: [PATCH 02/14] Revert "fixed daylightsensor's register_abms" This reverts commit 5a4abcbcb7d7aef5d61dbc54c9a783cd9b494ce7. --- mods/ITEMS/REDSTONE/mesecons_solarpanel/init.lua | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/mods/ITEMS/REDSTONE/mesecons_solarpanel/init.lua b/mods/ITEMS/REDSTONE/mesecons_solarpanel/init.lua index 1c89293cc..ed0e4c608 100644 --- a/mods/ITEMS/REDSTONE/mesecons_solarpanel/init.lua +++ b/mods/ITEMS/REDSTONE/mesecons_solarpanel/init.lua @@ -96,9 +96,8 @@ minetest.register_abm({ chance = 1, action = function(pos, node, active_object_count, active_object_count_wider) local light = minetest.get_node_light(pos, nil) - local time = minetest.get_us_time() - if light >= 14 and time > 6000 then + if light >= 12 and minetest.get_timeofday() > 0.2 and minetest.get_timeofday() < 0.8 then minetest.set_node(pos, {name="mesecons_solarpanel:solar_panel_on", param2=node.param2}) mesecon.receptor_on(pos, mesecon.rules.pplate) end @@ -112,9 +111,8 @@ minetest.register_abm({ chance = 1, action = function(pos, node, active_object_count, active_object_count_wider) local light = minetest.get_node_light(pos, nil) - local time = minetest.get_us_time() - if light < 14 and time > 18000 then + if light < 12 then minetest.set_node(pos, {name="mesecons_solarpanel:solar_panel_off", param2=node.param2}) mesecon.receptor_off(pos, mesecon.rules.pplate) end @@ -205,9 +203,8 @@ minetest.register_abm({ chance = 1, action = function(pos, node, active_object_count, active_object_count_wider) local light = minetest.get_node_light(pos, nil) - local time = minetest.get_us_time() - if light < 14 and time > 18000 then + if light < 12 then minetest.set_node(pos, {name="mesecons_solarpanel:solar_panel_inverted_on", param2=node.param2}) mesecon.receptor_on(pos, mesecon.rules.pplate) end @@ -221,9 +218,8 @@ minetest.register_abm({ chance = 1, action = function(pos, node, active_object_count, active_object_count_wider) local light = minetest.get_node_light(pos, nil) - local time = minetest.get_us_time() - if light >= 14 and time > 6000 then + if light >= 12 and minetest.get_timeofday() > 0.8 and minetest.get_timeofday() < 0.2 then minetest.set_node(pos, {name="mesecons_solarpanel:solar_panel_inverted_off", param2=node.param2}) mesecon.receptor_off(pos, mesecon.rules.pplate) end From bfd1fd69d18676facec9e457fc75f6e2fa185420 Mon Sep 17 00:00:00 2001 From: Elias Fleckenstein Date: Sun, 19 Dec 2021 18:59:09 +0100 Subject: [PATCH 03/14] Fix potential crash when falling onto unknown node --- mods/PLAYER/mcl_playerplus/init.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mods/PLAYER/mcl_playerplus/init.lua b/mods/PLAYER/mcl_playerplus/init.lua index f86d5e26a..50fec2bd6 100644 --- a/mods/PLAYER/mcl_playerplus/init.lua +++ b/mods/PLAYER/mcl_playerplus/init.lua @@ -550,7 +550,8 @@ mcl_damage.register_modifier(function(obj, damage, reason) node = minetest.get_node(pos) end if node then - if minetest.registered_nodes[node.name].walkable then + local def = minetest.registered_nodes[node.name] + if not def or def.walkable then return end if minetest.get_item_group(node.name, "water") ~= 0 then From a7e471de628374526b557cdb738c5fa288155fd0 Mon Sep 17 00:00:00 2001 From: AFCMS Date: Thu, 23 Dec 2021 18:02:43 +0100 Subject: [PATCH 04/14] framed stained glass --- mods/ITEMS/mcl_core/nodes_glass.lua | 5 +++-- .../textures/mcl_core_glass_black_detail.png | Bin 0 -> 4706 bytes .../textures/mcl_core_glass_blue_detail.png | Bin 0 -> 4710 bytes .../textures/mcl_core_glass_brown_detail.png | Bin 0 -> 4709 bytes .../textures/mcl_core_glass_cyan_detail.png | Bin 0 -> 4710 bytes .../textures/mcl_core_glass_gray_detail.png | Bin 0 -> 4703 bytes .../textures/mcl_core_glass_green_detail.png | Bin 0 -> 4708 bytes .../mcl_core_glass_light_blue_detail.png | Bin 0 -> 4708 bytes .../textures/mcl_core_glass_lime_detail.png | Bin 0 -> 4712 bytes .../textures/mcl_core_glass_magenta_detail.png | Bin 0 -> 4707 bytes .../textures/mcl_core_glass_orange_detail.png | Bin 0 -> 4712 bytes .../textures/mcl_core_glass_pink_detail.png | Bin 0 -> 4708 bytes .../textures/mcl_core_glass_purple_detail.png | Bin 0 -> 4710 bytes .../textures/mcl_core_glass_red_detail.png | Bin 0 -> 4706 bytes .../textures/mcl_core_glass_silver_detail.png | Bin 0 -> 4705 bytes .../textures/mcl_core_glass_white_detail.png | Bin 0 -> 4706 bytes .../textures/mcl_core_glass_yellow_detail.png | Bin 0 -> 4710 bytes 17 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 mods/ITEMS/mcl_core/textures/mcl_core_glass_black_detail.png create mode 100644 mods/ITEMS/mcl_core/textures/mcl_core_glass_blue_detail.png create mode 100644 mods/ITEMS/mcl_core/textures/mcl_core_glass_brown_detail.png create mode 100644 mods/ITEMS/mcl_core/textures/mcl_core_glass_cyan_detail.png create mode 100644 mods/ITEMS/mcl_core/textures/mcl_core_glass_gray_detail.png create mode 100644 mods/ITEMS/mcl_core/textures/mcl_core_glass_green_detail.png create mode 100644 mods/ITEMS/mcl_core/textures/mcl_core_glass_light_blue_detail.png create mode 100644 mods/ITEMS/mcl_core/textures/mcl_core_glass_lime_detail.png create mode 100644 mods/ITEMS/mcl_core/textures/mcl_core_glass_magenta_detail.png create mode 100644 mods/ITEMS/mcl_core/textures/mcl_core_glass_orange_detail.png create mode 100644 mods/ITEMS/mcl_core/textures/mcl_core_glass_pink_detail.png create mode 100644 mods/ITEMS/mcl_core/textures/mcl_core_glass_purple_detail.png create mode 100644 mods/ITEMS/mcl_core/textures/mcl_core_glass_red_detail.png create mode 100644 mods/ITEMS/mcl_core/textures/mcl_core_glass_silver_detail.png create mode 100644 mods/ITEMS/mcl_core/textures/mcl_core_glass_white_detail.png create mode 100644 mods/ITEMS/mcl_core/textures/mcl_core_glass_yellow_detail.png diff --git a/mods/ITEMS/mcl_core/nodes_glass.lua b/mods/ITEMS/mcl_core/nodes_glass.lua index 492ea2f99..8b3aea689 100644 --- a/mods/ITEMS/mcl_core/nodes_glass.lua +++ b/mods/ITEMS/mcl_core/nodes_glass.lua @@ -40,10 +40,11 @@ function mcl_core.add_stained_glass(desc, recipeitem, colorgroup, color) _doc_items_create_entry = create_entry, _doc_items_entry_name = entry_name, _doc_items_longdesc = longdesc, - drawtype = "glasslike", + drawtype = "glasslike_framed_optional", is_ground_content = false, - tiles = {"mcl_core_glass_"..color..".png"}, + tiles = {"mcl_core_glass_"..color..".png", "mcl_core_glass_"..color.."_detail.png"}, paramtype = "light", + paramtype2 = "glasslikeliquidlevel", sunlight_propagates = true, use_texture_alpha = minetest.features.use_texture_alpha_string_modes and "blend" or true, stack_max = 64, diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_glass_black_detail.png b/mods/ITEMS/mcl_core/textures/mcl_core_glass_black_detail.png new file mode 100644 index 0000000000000000000000000000000000000000..48bcb54c4887c96985dc6dec6ac85ca5c32d7e6d GIT binary patch literal 4706 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 literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_glass_gray_detail.png b/mods/ITEMS/mcl_core/textures/mcl_core_glass_gray_detail.png new file mode 100644 index 0000000000000000000000000000000000000000..f7daeba1984614baa75a8e35ad9b4145351a8140 GIT binary patch literal 4703 zcmeHLYg7|w8Xn|Y1Qisys1U*`-jYmi+SB_QJ2{_&jcKXT3_llStx@B4hu z_nk~OO5+!~I{P?75acR}7A1hsDVEF00lfP?d5u8Oghz$46jK6{Pcj&Bl}3w^Oa%sv zgqbxe2r_r}mZvv%kz6+1SSGH>kT`9;odGkuBPwnLbmicy9|=3_ey}^c);`o}Re0Ia z+OXI~^ zJL|}fx^7F@M ze~h2M76Jc}dUj{C-N~7|=IoYv-|XouO3%36=Gj@-5c}Z^?Ur4R$lR%?6~V`At~C3d z_g++#*}ow9@n&AJE2mh#!^?rpx={PTwc+^zK40Uqj-8i$GeJA2eET5}CQ;um z4{0vUAqF2b7(L`wsj){M9BFTd)$5Ec9j>;iX$3pkUsSa>c0R~XPiq~x-;_=3{(7*p ztH4Y#dwOWcjoPR{_I1gb z@aBW3vhudq9*bvH+IZD1Ch3cy8CC0ky19et*pzWpcFnxcC6Ha|>Z~ADauhWtwBk9* z=jUHHrZui?{nP7mxw8o`TXAP#Q)kJZz28g?jz{cr-Ks;K%qZTUHYl&_<6mzGi}c&O z_2Qy?0Z-kAoL+@RK7S~^f_u+Akd|({&kpPe9}Q4`O59>TitDI|5?5eUv(5l^1_XtK znGFbIzwFCD7>B+VFB<#Gb08XoeI-*I@;I_!X(ZEAR`U^ zW(FYx2M8?zBk)`!iiz_uy(wTUgc2RiH{=?%)^U_54bx&e5K4fm^mj@wlEg_zGb|LS zH9CVe3y}Rzq)DTCOV&HRSv=Np#x?@dM{(bYelxo@7(~Uz@kKbAYiUm+5|AzR`AQts zDEZb~1;*eqFb0bfMCT|dEEWb+crb%Wf$2dg%0lQEm!TK~CD9WmM2}(?C;(2?030?O zMcJ^5MNwfGlfpt+ObVjpaw$9(gQ4OgD5_**V<0{>YJe&c?bxm?P)Yy=E9fj#iKr++ z3?_i$GBFB*1YrP*jRi4O9HxrHwn8aUeiUxhAz(Q*Iz)}p40^TIVIiC!A(aTo3@ZHA zBGn=$6-W?}7i;vn=C=-+Mu#Pu5DT01AQsHvaDsR|HcaOR1-%VQ#*73|q6L!4SnXgIzR-vvCfq2)ajk%CX^CXXw916A3=wU5J(=Tv=#z+!!9%v(W^1Azefc1#;*CT#R^if6o^Vm;c|I& z3JZo&3c_R4DRerjVse7mbe?LMwo!BfSDEq=BNm|slY(i0fUMJy=31$o_iiuwnV5wq zm;oRe6b4g9=kQr{K9jcqrt@K#OdA=PX4%zmCJv$f4<{kkfHB7a$Q!nS;{}{nw9(^g zgfk0`zvF9UEq=!e0D8R0d+|F?*En78#lU+7kE?5(uJ>Z#y@JQp^?#$w`RxM_rU$=* z^1*~5O~CMVUw_~|0Coo7R& z+x+#Zdy^cuKMZ7Pq7&pZ?K_Is`E5>e^i-$MlG{f-wmtp*_mWHEn3u~FGTm;S$_cyP zz2e#l+x4j%52?DmYO~5qOT=eng-I^Q$t9srGn|+V<};pTQwy=OyQQ_G+3CW6LI>~O zJEx3ucrLoR?7)oa{SN(C59}wd2TuBHakYPFpfCGg@#(GdrSjFcs`FENcKHYFstlau zw)vOo$*GkdE<4R--0CIlbDjxQH5boGj`e6i7Ptn1>l+plHFrpgl+*5iD3MAd+-9eg zT>QLLL5_H_Wb*5^w<^BdzpdUWYK#4jy^(n@d)7Q|PGfTDkLK8a8vbIlZjFm=QF`r1 zM|%6vuETqvU)4P^*+XsYjG^sMvl1uz*>rb(dnPwAabRuRtlHO-3fG@XU$QpHCz-=O z#bazw{4M-$RaYA7S2sDl?CVW8AjeO>jsA0Ehv0hmrOvLCYM)oHp!0W)ZDBLpOTn|L zgCcg32x3G2kRwOKeg!Na7^0UE5HxYB<+6dQs=a{G(IklzJKlEjoH8$P%?AsjfGJoa zijZ;J(5Le@@| aMGOdv=yuI2m~@f?U?7P&UUWDzqxir6I@vM+ literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_glass_green_detail.png b/mods/ITEMS/mcl_core/textures/mcl_core_glass_green_detail.png new file mode 100644 index 0000000000000000000000000000000000000000..fb54f942be2872a83811ec6a18cde6045b39d3f6 GIT binary patch literal 4708 zcmeHLdsGu=79T_&KCptIh$u1Wg0e{_k4Z=*ghwKY7=!>qDJql6Bn0vz2_&EbQmiOv zRZuD_Dryla;%mhhB4q{FN~uCo6a;OlLd#K9RCX0~Cjk*p`;X^r|0Cy2GP&RH{_efM zd%y2wvN<#)$ZoRBWB>r{1bnUt`ez;$+??3tNcuf7WFZH>4B2S|7bip46Uxw*Qm^=e}d) zv+k2MLv)FH@t|!#alvdT_kace(#~&?%&>prJYU$Y=gp~HBj#VL^66L+$n^>!s6E(W z7uLS$+`n4xbot1&;QZc>%atC@yDTmYJ&n3ie_|e|y`o68s7Au+tUPi8X^iHPoXU>3 z9-0@-Oe;KB%RB#SV)Y)o69NC)+8pXyl@{mqgU|D?C`aurTMq^7U=iB3rQGz(**H-5 z)wF(~7QE=pnCCFK%rQpMEZOp9FOagKpf9>d)Bc>liLt3$PvF9$<8I0pA_DFb9Ju*{prlDM*97>+csx!cm@W|rLQ~Fnd-l6K363KeTD-Ids*gtT3Jd zMK{iKaBSUdO$E9lZ0iWq;{tVHLr95c`xNPgpRdk9CzjPJMAI#6PtWK*WK&h=(S#d_ zx|d(zp&BgxRaE?D{)N7Kond>Q$>Lq>ehhaOG-mz8c=cmv>Kwk*_u_fWK6$80W+zxKL8PwzcBEunnV}@JIYrC}HOD~Wy2Yf&7HNF#y-o>87c!TV0e z`Di6lmWaD_gaZ4<#>eaR8WxFUFc^piDp9SKk;qIYlLS&o6bb=D5Ok?3J!~YXbnYgK zVGb^;L$q>@UanT*Oq{S-ovdf$@z^@aeKfk3t3s zgrTDzCJAJ6rN-=qiTx2$FPDB0>!aLEE9P>>CW5(-@_vMVU%MHMp@c#fSB)f_(i3pm zcvF0qM2*NLEb}cLqB0p&vXnq$QW*pqosJSX5IIX0EBVr*6>DhWmf zK~j(^C3_PXD8rjTV;~4YEWxsYXbg}crc)sp@-|aR5Y|$)RtaP6lq+EwO46ug<^_}B zEdNje8&4q)CvLWcDqy`7b713_%T>w756}p?5)IeGCN;@)8c1PyQ_0>8ItVhDA3!Tn ztqz++6DJuYQifA7wS|Qhg9!_p<`g3^dtkM&0<|ctS8F5GY6Tl_N&si_G>b+h5 zC(R;5WC*3eSf40j8i58%K>|!cK>~y@DX3HmOC|K-W{tAz)Ka|x)}sD0tWvBRY=F$w z;5^MzF8VkZLp*BI38at-WD0>ojUY2v5Sayedx2yY2;xa21(Qs>`hCSdq(5llV+M>l z1~9*28+N>4rxj`RxEj&SB;#NB8tKJf7y+Xm5AsR+j>|PJ*C#3PN#OD68kg&n6!;|Y z_;mf>5?hzW7=dt-${9NnTgqPr* ztfp+Sl^zY5$>mL)RS{snI6LNGq|J_A51O1WigmSW&HB5aHKKU?uG%C{XUE!m)t1>Yo6Dr_&cz8|=jHI~Bhn(LUc%@2zKFA>Qm8MPf-P5c z>pHIdyS2*p#&h3+?w;!sq4j^bzkGgV&dg`l&svU@=sG>7oysbj@9QxS>dC6x78@0t z-c@9Xez1GK`|d)IY4*AQow+im&}nLcG2go=47xr`M3i}}lU4>h-9GP;0fXfgf7k7M zgcC>CIV{Kt4fVHQ7@c$T+dMJe|4rCu?=rh~T`SpMZo71=)y{(fDT5C(o>qN9Wsslz z&FZkHIzG8^U= zzZ2}TyPG#i+Za2|$T_TDW?6mCuX|7X7l>QwXMXt?x7-J8Hhst6f4Y_3+0oS2UL$iE z8UlXk);4flZ|7mprq<%%AT9s_^8p)%92&wblQjI#bpSABhUu~Z_7pi|MjO3A$g_Dk zb=Gt$>lnV8iv%E<#<~aeLkjEd$7XkA nCUU)pTvkm;YRPQM=28H_almf>6{lJdqX7iG5bp7SxUByHR(a#1 literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_glass_light_blue_detail.png b/mods/ITEMS/mcl_core/textures/mcl_core_glass_light_blue_detail.png new file mode 100644 index 0000000000000000000000000000000000000000..5c7a34fcef1e9ea940f3d6d7d69073c034cdeaff GIT binary patch literal 4708 zcmeHLdsGu=79T($MWCV;go?yK1&evV12H^;5H!eJ6i_BJlQ58%Nq~S=5fKqrURI%M z>w}7*i*`j>R^*5RvMY5J*Gd7wR|P%jf=?7hb`lWrwEuX{_CIpYWM=N;cklh(`+X;0 zwuOcS+E_VR0RUhl3KE86_Zfx@XMugYJR1c8!1P&0WQ;BxOv9@+Dk&;Q@Vaz0f=BeI z6ae&{k9UWiyysyZFuJmNk%!*|ILex9UFgLC|DR4 zxbz(EbuF)^FF%^Jexu#p>f%9<&Sx`|N(u)%d`o-;CA*TfZ_Z>Z1pTjLw(Vb@cj#4h z*R39#w!L}j+360&e<^NWZs|5J_*&a}kCnH-=*+3f+y8Q@wMn|e5ih3x)P-N3re2-3 zt1e*R@xxuwcan3@PWwmCi`aF9^$!cz&3nhwJ~`HWCDrptJFU0lPwpG*8?rfHEOTV*9zNh9)M{jJ`aKlSSmL1IS1t@`Sa6FGt^ zfuGC4f~$cKT%X$w<3`S94-OqXe9Oe`NL^c_c{a8zoKS51W5mmNkV-)UVU+|S=@n{h zc>sX7K(7X&WJHITATm_RCk)h`Bj8b(PgubeQ^ab2BoPhD&>#^RA(2ozKFE4dO{S74WQBq}*+Z)f zNX0m=Q;gDH^%492g=aazufdYO$!)k3t5D z#Gw-&1`1@TLT&WI$o|Muhe|(?^-*pHjj^1`iD2#%xF1=+uia>jS&79wp$bYdq$d*c z35NJQSOuXl&-ln5ekNQOH>*Kh_w?{fHH)vR?3VD1K~X1 zP!XR%BT+s`Lgk=NiaGEJ%TQ&C{(~YCRUi>M(7+~@#h}pG92S>OWi#1a`Uj(EM5Dzf z(SS*%kZ2sE#?TfXRt!cgXqZzBz$nLR;rVM2P^Z#Fs#J15!H^Q(;AtFhy!TjBf>14H zk#3my@tOAnWn*t+OF)hqRd~E{YuEioMCd|40?Fk!a& z^gNujBE()8FwLRL&+hB&RR^OiclNt8(4g?Rx#sOzn_ad?Svtt#o#V`X2hEx;Ulz3m z1ixJqo@jUP{8~Xz_qv<)X4$K@RZ6?&97x(-lpD|-nGt1umXN#nc><13qrc#a@*1_@ zbT_uN*Ws=_T|CtH;1VphcqP2MviwW?Cl*hxmmk*lxZD0MYv26E?(>)rvYHCwR>W<% zw=XT`_ILALzbkdOwcGyMK6+K@Z0lY6V$QxW<|T)4l8mET8@+V)jav7OAmv!qBJKCR zcu7ptOt;+7P+z;RVsft@Es_v?--LZWnt89}pN9*N;g;l^e|yj`_3iDAgLScVHub*? z%*%Ybxg7c2r}#|XEx>YXL(mT=+xb1+ZJk}`WKJU^ zz|Vb}R>9mGMcCQYLb5ba2rz;9fF&Dcj$o3{)Ilq?05E-);W7dC?3;rLEp;MsfaQH_ zhZ#JZ=J+yGOyngJ`bKhEp=Ep1U3Y9UZD{hD-yqGjw;MjCc0ADB(4gLdyWIYhqt8jH q&g{6|o#)BA&zi!_mdu*@F92|QVjI7trDXtv0Ym{I!sC7kS^opi1@P4X literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_glass_lime_detail.png b/mods/ITEMS/mcl_core/textures/mcl_core_glass_lime_detail.png new file mode 100644 index 0000000000000000000000000000000000000000..963933572563e7d08979c1c002c688f0b4aee0d9 GIT binary patch literal 4712 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 literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_glass_magenta_detail.png b/mods/ITEMS/mcl_core/textures/mcl_core_glass_magenta_detail.png new file mode 100644 index 0000000000000000000000000000000000000000..8a1ffeda806b54a1b77e5f1a5184ee45bacac7c4 GIT binary patch literal 4707 zcmeHLYg7~079IrzB2bY6f+AzU0&1S*Eg?X{BVyz!A|NuEOdvoWCIJGiqKIC_`amnF zmnz5w6^pbgim!?ViWOZJbx8q56s%UNC{l|k<(>poShs&%>-Ha6Ym&^~-~RUA-`VG^ zOg4uu3ADsH;vfjJ6b1>x!RIvnWi|!8JHH%8AZT)5R%Em`9La!HYNb?`iox1U6$WEE znG}L_ZBGlrj(53R_zy2{STIRww)tTKdFhGu@oQGLZhJJB#H)IfQZX5;&56sk>io}8 z%fjl?R<|W6+RyrIxd84NE{_DjMHPcGc?yw$hRhgY~eMf2utuAJBNI(qYgki3Hf zC))3IST_GVFEcmOe&?4v8$wK7XD_U_D#ojaY9%6jl zg|lZqf7wxEP87+jm%qFn)4S&c|4dhllTp?^-LA^ieW%X0{uPrilcXS6W+~|8mI58ZZE?&`}P&nY~ z*!@>t?D4+(t;1i%;j}#0Kfi8YnC$7z?}F3!|6rC}V0&P3@9$3QCCY)0hT!je`jZE4 z4!ZPP51Osc_4acv+5YozuvxZq%%COP?NG^`(9&gKS2)VR^hb*pb5Nz6h)9%TjHr{V z!0vz`FP=_?pedLZ7GsGr1sC6Y?jjzRNx1lBbP-vk;$um&pe!{Ok+mce%}PPp5feu zjBp4r4XT!@v@)dv)^j3aWtx_Y#{)n7u0FX+BzjM;(2S}8^dRXF6^TM5ljL&J*a(f* zKOK;a7WB6fnn-Ynkis#IGEI$Q{^^)P>oS%?g1(PerKwX5?MP4(mWs&%R0Fb7#-$7t zibCH<=p{&$$yJ6ZAoe(sO^=<$Ilt{!8DA6>1c|rjf zug}ksC{dY&WB5uF(-DM0LkLtl$|lex5(+^~!%za1K_k;BRE){MkTFz3g+_}gP)tt+ z$cZw*Lt&#*7L7(Dpcq9=pkY!Pfh|SBEmKNi(aB2B)#rgn>!qgft ziF!^7nMfV+=$C~9ngPNh`Z)yzh6vCLhp)yEtx_GSRHkzA`jTLMq+z^auaQLwl4$@U zQ$O*eGw+8aj@*rGfmE5n1;d815VIK=i!5fM;_>VnrBs`Ns4?F}&?)E!43ME4*xewd z$9Qx`5~kOQOr;PgR07pAlEUQBnH(y8KAFNHlkud{hDrKe{jOs#(*J1UWdMvh20+}1 z4ID4vv?9Gfu0}P}%lHqzM%UsW%mAn-l6;iD6LL++^-&6Z6nJ8~Cgl1k1wINqFz%hOHMLJ%;S^`$``oDh+BIRb|Dv}m z!;`GLF0JBq-2ME{1*6=U%}1o|Gm4W7@;CW6L}o3uIFH}t-Jf9QN%j1LEzGOad~vs~ zvE`iE^*--EA3eSz5ltBoJXl^n)9%HT7q`mGG#zeM-{lm|@phX{f1FdlJ#Jatny#XZ z=+3=!T=wp9v$Edu+Ab<)kFCXS-A-0f82yTUI5Cl>Ton~;d%MOh8zCR9T%h^-S6Ccf zKizdxXsECC+~`d|SLBQFzHh=l8D85}c)4uHQL}(;CSR5KrN8aWets_2lSz5@nMtY7 zn=SHe3!`-_isP%F_M+{_4nTh;b}mX8Y@#O&?&?pDnCd*~ZhLJ*T13RFwM|aN!@@$# z*8I1$4RKaFUa4}C(S_4KkM_04qRxjt@!5Gc?;d3OuiBvf$6L4^cbnVVFD5z;4MA5Q zshfDSZs&t%(<$QMKmkOD=0K)Q8GQ&?%vC|lH4rq_Mt@C$_7%+lMpLa&=~2Ktlf|f@6LOIsXMD+Up_! literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_glass_orange_detail.png b/mods/ITEMS/mcl_core/textures/mcl_core_glass_orange_detail.png new file mode 100644 index 0000000000000000000000000000000000000000..4894833f1f20d23b89b273b462e9bee265ccf99f GIT binary patch literal 4712 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 literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_glass_red_detail.png b/mods/ITEMS/mcl_core/textures/mcl_core_glass_red_detail.png new file mode 100644 index 0000000000000000000000000000000000000000..db44333b236b889c978025fa5d52a1a98badb03d GIT binary patch literal 4706 zcmeHLd010d7Jn33L{y-|B8r57#VXlDHV9jS5HW~hM;v+Y{HDY(4+^@i=!d!G-$0sJk=wN+2Q7y4|rm^A3npLdj+ zJ5+xuI5IA9?SZb^`!h-zezWfJfYG61OJ;HQ%G9t2PEJ7qkDQJ?Jc*E%OSj$ZN-n-SfAF(QwS|(X%;y{+sp*nmiZ#xZ4k> z`Apvig%wmeH<#o=M@na7>#t-AZ4X$+6n6U+O}8zXGnMm=$Y=G27kk_*+&l!y)4HGl zGNUBs8;*QRnDZAB$rI10jr_QHX4SHU*p_|%QPIiT=B<4Plf-^ju}!kBgrju^&C4fU zPa89SCZ1!SzK=9UeR>*cwtKMt_+0DTt>;8hVnNgOoo8y1rZ8cfBn8 zu72IHrkMWAfub7bKX30iEUv)r6xN*aIeJR>0BcH2et9Sx9@?54vVpwpvyxWJoIVWdqGU9;Z*_uIUeb5?B~;WRbdGh8%yrYmuzJbwK~@XhZeS3%iSN zMm+NFb?moYRS*>RhT=6i5OYaY8+N$N?~_|$U{Sc^K>SJK1w2%xAj47>f{_ghHCP-F z6c}t!!)OMkBOsU@SMrI^>MsxpxRg&!^cPdbY5|sxN3PIdu`8nE&=nadS4s>HvI{iu z0DuD1!32XMQ>o<{_(U@<4?LU96e7XwqRZeDlf*Fufl7lBm}DlIN(wjN*>qx%9U)L7 zmGLCPc_R?ujZaM1>C`+5MX%SB^$fB~Bd5@~TrP!5r_kvn;6c*nD0Q%bq||zwAcir7 zm=@LGY8|dp5=@vdqRP_oi9|3?cw3)BEf$Z$E43pm06r)NSWTgksT75RGB!f13(p21 zBL)3#gfVEIb=i>b%E7NYT-Fb(SX6+>R8bV40W#xN1RG+IuM@MB2A4)+QmH5jLFrVIj46dV2m@nqxb!hlBBfRbD^bh@1;EKT zz+uo38coVzk(ii_N@8+Y2#L$3%Sd#XhOikdIu*u{F%SziI8Y^=IkqYjloUY07{;Kn zscaIA(3zkbmW+fTQiMc9r7Q-E!9ke_%?u?)dGk~n1q`MWSHNR=O_G!~OeXR{eJE}H=!h7+0b5-^PxDA9yT zqmtD#rbx5A34z0t5{YYpM~+GH zBbpC`<->2oOCS?B4-p7v+45j?IEfa{#-!#%AZ~aFO^20o46N@FLA|x(zcX1>CWFpm zA{-J|=1&Im~8;W4cox> z0(L9P=yo;2nTf_f@G~+Oe_#dxJ)Y!)_#LNfoURXI;DemU)iqAn2QlzL&g1I(ztLs) z?!bd7!LJ}aIL;Vu@lznkq7WAdVnhPL+rJ1PXm;tUQhsDZ$c)CNu?LCHR+HA-%8o?4 z2*W41)`U6EDM+b|x7pO~%furksWYrv@>hEr<855!OFUAoLVvZqeEquUyYTsgOC{-! z_r6*l+|j=Br}LHtDMeMXHn+XYwwA67Z;V?JZ~qVCx}e@PTLzu+k}F!@p#7}9;c830 z?Tvp2^*wxaO)9p2E$mD_G~MO7_4C_@4r)7mr<}+y_X_fz>HjGIa&c;6>gV^$^+|Vk zczN&G?mNZN_?t^Y%64b_Erv2q`6B;ot`f4GqgtL2<$ULyZ!S!&uJP0E?jj&bmz{jp z#l(a<&PrN$^KYdHF?3+j)HiwewtaoDq}q1gMyt)0VcCOsbAPR0%wW@=eqyyhWWcD% zwYU7slD&UE-SZ4>J5~YxM}BvHMt_rkTK}frWwDbyE!x{IHfF`fzRGLz*!xDbZSs$$ zgUrIzDTd(vs`-}Z&xSnQ*|r$8;|F^}GNaC-Wu3a; jzivY35sUp3i=+^A{QTs?#aAeg0SqJxj}{&aOUwT+_uT6n literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_glass_silver_detail.png b/mods/ITEMS/mcl_core/textures/mcl_core_glass_silver_detail.png new file mode 100644 index 0000000000000000000000000000000000000000..8ff77440aa60fc1195c826381b8b67223208fe09 GIT binary patch literal 4705 zcmeHLc~leU79T|x5fFJ#pe!YhD2h&&$%HJj6NISH2q>rsOlBrwge)e31llS=tq5%u zL==UBib_SaT76oqwc_?3OY4T92-UhkRou0TAa4>7@x1=yIj{ebb0#x$zu*1cdw<{k zzLPI&#F1gP)-Kin0N9Gcg;CVq-gsGAP~RR;`%nNF`6x3cP8)^lXezZ*N~RJtZH9`V z5qeSz0Q#$4MRN&?4lCZ7Nd}^58-sG3+ikgiFZyobZEDF2%pKtcseIXLpKfZh0t?#>w zPb!4tpJ0HJlG{J39b#ZEFJkg?s8OZ*FA^JU6rq~Ny~gm z$17!RZ(b;J5@H)BHf&ipeaeC!Rp6Zvk+;Bk(wLIq)^qc3d57RW zD);h^&1-MHIIX&&!#-oQ`iHxRUkJM|OlbD)NxO4jmRHtwW_8TMglz$3teUl-H^zlF zns23dZ2Nfjl|{~nCAs`VUY#3GKbqp1`m5o7OOx%Qtql2sd{=Xp%C_#(w-?Ig`&>Ck zHf7AV`EAn=hU-X;vn98<=Sc(7;#rZmBE>A-uz``7T;@|$^x}#eTURTdoYUC#XlZ2G zGUgdyYhhmE{_MmCc8dxt*fQx0gVk5;${Nd;`H2^AdDAM{bx(6fjXe6XL)C?{ErIFh zvJJW2ycKxwKLc}^hiX4^um?B}JAzy6Q-xL)X5v-%rWeQB)8;);6?`8)!nK3X@n>CK zeE@D4ogOcxZH-d>;GqzMfFk!#D}V1K=0QvDx-85qj6YZ?Arf+%PO0HT5~%`h zI{kf>6IVBO--!uF5YDVPz3@^le_G+RpY}S7@6}c9$!I!Q)HFX4tF~?3b$e$ulG47d z>6gWV2Wt~*(jK0_H`DcB7mB!Tb;Ag)*Gk8_^UOpeX(kC+v|1Lbc%&)k6x+L?cB%hmg=< zYEq>ol?s}X6O|~_w0H50%h`H9QTp3hERN>CaJDOQ-@|{q{1mGHj{%$e3&={ z^QBA(VWU2f1i`7iP#%u+a4I7y(?o@1f|*LS9Hpj{l%q0&p;E|914h9GL1K{~2-Ewa zCW|-~)k-M`KX4AINYlTA#*lI%T8kRhWceUWn9Jj^5!eUjGWqX7^9i+v>O>o|3Pkz!4`IouLPk*Qd!V7-+R49~EFUhH$>H-L zM2fH=1ed@ND#h3kAHz|YgZscJ+%MZ8yGAM1>QFTiB%>;&s-YUlR1Iy4Ny@43=b}p{ zj5;x47Q})fm>t973OF1A8=1yr37AZfF;FnWxT@b)?92EcO?*v&A=?1u*Keb?7iza+ z3~pBgni*yM8$Sbc@i#`GsE31mkiNrm4a@aG3VaZFxVwhs`XB{92t3?f|2Mg;-yL`e z1@$XPM;&Jf1ilRbBUX_iA!1QT$lHGi0ANb~=lOo&Cj;G1Cr0l8$D5DIwUSmwItoKa zIaLRb^Io}d>paW#_q-4?JSyJJyg7S?N8UV3C)r~6c=Mn~W~Uk(Mdw3j^(00mkGpwd zX+V41r`L{|tz5X~TWPCv`I4gioY2!Tne%LZ1athKC0Vgy_H(`{_oU{twv%U@k6Qiu z#Q)EZ&N@88;-&ES1v_0GA6q=Wv~!21-OFx&cF6>Pua7yM*{9aV$Hp(aS)z-(UOZu9 z@g^_3ae1#C=P%qe-e!ZofLAh?Q|A;#m+_QK=g%I0`H0tYlv!0hT~m68CW$-c;F%*9 z2aTH)mve4+z61<jT^_ z=Tm1>3(4#-A;1A90G3>m(@R-KtHKv(0AS2NjMoTYbBQx$wA6|sLM?CGIN5W-R`9wb zWtt%p2F38|u@b&U>SAV|wZ;&f)d)b~Gx7!;m}fBDa2dCGAIi?c8#^uHC)WPa-06_B f-Qvs1o&_U-yL;^B+BBcgQ8a)kG*Y-XI4S$TKZ@!M literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_glass_white_detail.png b/mods/ITEMS/mcl_core/textures/mcl_core_glass_white_detail.png new file mode 100644 index 0000000000000000000000000000000000000000..baddd95eb50e521fff4980e00b182639fa1c9206 GIT binary patch literal 4706 zcmeHLX;c$g7A|ES1QlAq!G#b|Y%%*DN!St~+CdD6AgEL-l~6zylRyG4EGnY7p^b`- z-7pMltGMfo;tuMx%V}FdS_25Kh$}SXhBW;WK;caP@to;@d$ZlD8GVEWP@QWD?EN-dxqtRa?Am?7?#Z!JZp^UYuRF zzthT{ap1?@8Omewgo>g|6I_3OQn#T*%jtOLb#LmZH+psAHtUL#4GRwZ&YJ$nZc^Ls zr|w>!bF1I{dgDsPt69NI+*~FKmo5l?;o`y{*Xq*x_&s#PwFTaczbU!TBP zKRuq5JsM70N%O%$$v!iR4pYWC4}S{Pws2>*I9Z1m`IbDyOU_^7YL)_k#_qeW1d}JgE*zR686lit38Gtkj$)`x3`WxrfPMOEV=Gl!}c_H(*6aF z4W~2I4c4o69>2RUBc;-?_D)$tdwSTaCRUTo@4KCqs^jl(ALk!j68d*;+rgIdb^MGg zHSa0Ujy^qd{miZP6-T$ue|ysOaF58t3cW-Gb4RvSm!-Zj0 zQOoO|PYzmCl0>#5N30BN7(UF6Zg=E)w1eG=#4Y0@{AcHF_P93LhBA8E^h3mxhh{Eu zankk_#2@ZBx30(U#F*A5pSL?qe#x{md6$BoH>`B7o%ZX})?0Vl&l~FAQoAc#8auo@ zoj=$wUBM6bEZcD7thdjIfQk1PHmh@r(;fK{CP`5`{=6DV3yw9y+}+ z9gy@*=ubU#(O?fDNl=|SO^cwybX2AH9!McWKKX0Xw5gVKWC#gOMU?=m15qi1LWYUN zk)J%w5-2dG#^MFU9)#3m^3P%onwxpVlFq=10QXP4gV6oCTfhJ%7IOt^B+WcMk${Ic z$LGq_2qxoNZrLokoFSu82sD(!Ake8WgTP^K8?9ES^6=&f;LM(u_Qv`579||h z0YrwmFt~$hD8iI6LB(NYFuP7I*Bf9h8l(W3f^0woS+c=Ru}Jy# zV6-6#HS0vCQa}v}R9ZBJ#br>rbhaOv!X=aOq`rhn=2hLFu|Mg5H1W3p25bYsuh#~) z7qDBAK5bWhnwe$%3qO6e_zNQd>Y*TCr0aHQVzDR*D0uOc9|4lB3 z&j%h<1>S-T;5cIp`-e3I4O@wYghYx$Li+zAfS@UbOAC47)q&$LE{v+cyV{IcV=vzw z;U*ATyH^G~PhByuY>wULXTEeST#_)}rapJMXTcmhcg6e(2{u8mt!l1c7yTlf@o}Lf z$@#(gMFCBXiyKZ`t(dp^N4aTiY4VoBeBs6D%sGyy@cI1CM0*;Q_Fs-@O|@=GWA)|w zD*K;1_-~)IUXh7y-wE!=?HuRUZrfhFvqIP8JMvI&i5K5@BBM38W<$cbI z9IbNZmo7N=;uT`r{{!^9qIpKjhpUXl51TuaqegfRYc!p^m=+cFCj07y(jL)Pr#poo z=_?aP8UxDJGptVkEAYv7Q#|6iYgFK-lWXolcB{^Xe}A~1*VOpSUDH{GM|U@L?TPkk z!1&vR;B0Cuof#&87?2la$HExh!16auc$^M`Mto(yhC$m)#sZ_AUL+RUJ#us(O($C& zzpw+Cri%nY(d?_p$DW=n4=bDO)j7f0*C7JF6KkOc7Ubl#csOrA0MoK%*IR89ye~Yh jZ*|Epw_Q8gXVWmK`pBr|-GaCqfCdr?BLw?{6LbFn3bO0O literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_glass_yellow_detail.png b/mods/ITEMS/mcl_core/textures/mcl_core_glass_yellow_detail.png new file mode 100644 index 0000000000000000000000000000000000000000..83eedf08ba3242e137825a002e6aed13fbe086fb GIT binary patch literal 4710 zcmeHLX;f3!7QToOKt-S;X!Q|-78Ea;Nr;4biV8wN1;pXz<|bSr1IdL1t*C$&p~&C> z@(`g`Q4yhv7DNjbSg2^N3Zf#^d8l>j!wIpzlYk2A^^a@4{v&JM+ld$oUO0leD9R$ zS^w^Fx5bHlg@J_{`_oQQ{e;)8vT0MNew%L;QYMS7h}eQ~TP$)l3CF_I0-a-E1&JS4 zx45^bWGQa_(}q)Xa~~~fIO2G*z`XAM%_^o%Lv(*Uhre5xvN6RyE_hjM(GQtRXZkFu z^5<_;)zIWk6X-`AA9TcPCs-xj+3?4e4#UOBy*$nx?`+%JiPlB!_=S}AG~<|A#~oc+ zg(Q;=7g}nc=iXRExg^^BRrr(`QuUYvU%&Nft$}lhv-b*cXB}8 za-|xin}j4~I@^QJ+i-|+)-)+b zLbkl$*0@JNIv||zwlxzSpJ)y5kM3wcf>#OWc0^Zn)J~}1xK+HOubCrQO$0 zBrC3uF4%MQ+JWS_O3m4;W!Il4wyy2r^oX7Ry{A%s^v&g?9@VP@Ch>l+zPT&gBl%48 zJNl!VhlkJobZJv%O~H~^$GV=Z>Uw)};o|&-QOABibhn~1CA_{mrOmT6z=rJ+)Z$gY z@8=aSb4zPOScL|*(gRrZR0p4PECSwlFg~MCfjyI+VHPT_tHF7UVNAxs0*DNr$3qn|7euTO zVJ=#k5-bo1a`)6K5i|}X$RbRN%lVY2^$ip=9(dN7sT8svLd5YYk-?#4Uxf-Ivs_p%G}vE@ zCow1el?1MklXaYkNRdeJDHJeH{*a$c865nPUalTg0q8;1B1$UVg+`Uh zs6#!}gntqs8BFMJJ=76kAE62{wIWf4V*W{(oNyRQAx1y?D-%`m`f|i56^qAY0ICL2 z>BB+>3W7sFdgvsO;xeV)3y3`oN#K%CVhzhpH=-|RXd=M)g`68ZphFF>J^Az(Uj86w4~O1V@& zpc9t@@IWy@SVY&SfI#m7YT@~+FoaO3A{2^vK1G)RS?8&5Z?gNq zqy*t=fJoML{9w=fAku-ifh7=+>xal>ecSR7bRdWtNy5bXK)`Qc2#rPLQVgu`!G`)^ z$Ny%sBuqAtl|u)Taxs`iqe);l5gmgW96DRf!00IE${fzFR!9g9qQbnTpi)o`Xdrzx zWGB6pGlruzv6xOL8iNkg88CwxLFe$;t~@5wnMUW)XcX#T!BpL<{!p`YZ)L3p~8}5qTxOpRJeVB(3ete%jL@;G7=jGe;Ofl+AO|#2dK(di8nHpo{{miiW+&RGo z|2h53gt3;le@^i1>0WjHgkgI0#(k15+tL-=@-qBeB33RKdz_Nt(YxG)$zZ;46J$22 zzwT~o?W{LB|EI^R`wz~DgNsoR~#1 zDYuI?kvF#6J8Um>G`GxpGjU;bq4n6U+I((t82gNk&_&8sBrKe3eYw_g4MMA^oTc7z zk1UF8wwjg^8tQF1Ju>6h{dppa_uH`X@7LZgIJG;s!X#jm(Uvlwr2ZRgp4BgAa_CRK zGTPiQ(Zd*S1Y9 zeJ>~&cQvn{wLZpN>$yuY$MD3DUiXW-7Nd6MGT>ArBSt3f*X z-8<;)eN~(1l*@VGY-%i;8|VkIA$y3#!P)PC#Z(y-rG}s}U+69asHoT$7)gX6*q?NF ztc?ZNzU6Qw3QV&Fe%=w>HuUShc5e2%QH{-B_KlLY6D|8{l#@zZ8XJ|_Cg(b Date: Sat, 25 Dec 2021 04:49:12 +0400 Subject: [PATCH 05/14] #55 Rewrite boat get_visual_size in a bit safer way --- mods/ENTITIES/mcl_boats/init.lua | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/mods/ENTITIES/mcl_boats/init.lua b/mods/ENTITIES/mcl_boats/init.lua index beff5fb52..a7ca7edde 100644 --- a/mods/ENTITIES/mcl_boats/init.lua +++ b/mods/ENTITIES/mcl_boats/init.lua @@ -41,7 +41,14 @@ local function check_object(obj) end local function get_visual_size(obj) - return obj:is_player() and {x = 1, y = 1, z = 1} or obj:get_luaentity()._old_visual_size or obj:get_properties().visual_size + if not obj or obj:is_player() then + return boat_visual_size + end + local luaentity = obj:get_luaentity() + if luaentity then + return luaentity._old_visual_size + end + return obj:get_properties().visual_size end local function set_attach(boat) From 7b47a15e34c08c55639a098e2a349cf82fe6030c Mon Sep 17 00:00:00 2001 From: NO411 Date: Thu, 30 Dec 2021 14:04:53 +0100 Subject: [PATCH 06/14] Remove arrow entities when the player leaves to prevent killing on startup --- mods/ITEMS/mcl_bows/arrow.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mods/ITEMS/mcl_bows/arrow.lua b/mods/ITEMS/mcl_bows/arrow.lua index 343707617..e8efa6662 100644 --- a/mods/ITEMS/mcl_bows/arrow.lua +++ b/mods/ITEMS/mcl_bows/arrow.lua @@ -419,6 +419,10 @@ function ARROW_ENTITY.on_step(self, dtime) self.object:set_rotation({ x = 0, y = yaw, z = pitch }) end + if self._in_player and not self.object:get_attach() then + self.object:remove() + end + -- Update internal variable self._lastpos={x=pos.x, y=pos.y, z=pos.z} end From 7b46225176286f7842bc4eba9d29eecbc634c310 Mon Sep 17 00:00:00 2001 From: NO11 Date: Sat, 1 Jan 2022 22:59:21 +0000 Subject: [PATCH 07/14] Remove arrow entities when the player joins to prevent killing on startup (working fix) --- mods/ITEMS/mcl_bows/arrow.lua | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/mods/ITEMS/mcl_bows/arrow.lua b/mods/ITEMS/mcl_bows/arrow.lua index e8efa6662..7e5ab169a 100644 --- a/mods/ITEMS/mcl_bows/arrow.lua +++ b/mods/ITEMS/mcl_bows/arrow.lua @@ -419,10 +419,6 @@ function ARROW_ENTITY.on_step(self, dtime) self.object:set_rotation({ x = 0, y = yaw, z = pitch }) end - if self._in_player and not self.object:get_attach() then - self.object:remove() - end - -- Update internal variable self._lastpos={x=pos.x, y=pos.y, z=pos.z} end @@ -457,11 +453,21 @@ function ARROW_ENTITY.get_staticdata(self) return minetest.serialize(out) end +local function remove_arrow_on_joinplayer(staticdata, self) + if not staticdata.activated then + staticdata.activated = true + else + self.object:remove() + end +end + function ARROW_ENTITY.on_activate(self, staticdata, dtime_s) self._time_in_air = 1.0 self._in_player = false local data = minetest.deserialize(staticdata) if data then + remove_arrow_on_joinplayer(data, self) + self._stuck = data.stuck if data.stuck then if data.stuckstarttime then From 7ecf316c48c58fe7a8204d4fee03aa99272bbcf2 Mon Sep 17 00:00:00 2001 From: kay27 Date: Sun, 2 Jan 2022 03:11:10 +0400 Subject: [PATCH 08/14] #55 Fix boat visual size again --- mods/ENTITIES/mcl_boats/init.lua | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mods/ENTITIES/mcl_boats/init.lua b/mods/ENTITIES/mcl_boats/init.lua index a7ca7edde..2a976c2f3 100644 --- a/mods/ENTITIES/mcl_boats/init.lua +++ b/mods/ENTITIES/mcl_boats/init.lua @@ -46,7 +46,11 @@ local function get_visual_size(obj) end local luaentity = obj:get_luaentity() if luaentity then - return luaentity._old_visual_size + if luaentity._old_visual_size then + return luaentity._old_visual_size + else + return boat_visual_size + end end return obj:get_properties().visual_size end From c2256bc4b76351e9778d37773b9c93392d0b9978 Mon Sep 17 00:00:00 2001 From: kay27 Date: Sun, 2 Jan 2022 03:16:05 +0400 Subject: [PATCH 09/14] Revert solar panel revert from MCL2 - more testing needed --- mods/ITEMS/REDSTONE/mesecons_solarpanel/init.lua | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/mods/ITEMS/REDSTONE/mesecons_solarpanel/init.lua b/mods/ITEMS/REDSTONE/mesecons_solarpanel/init.lua index ed0e4c608..05fed31a3 100644 --- a/mods/ITEMS/REDSTONE/mesecons_solarpanel/init.lua +++ b/mods/ITEMS/REDSTONE/mesecons_solarpanel/init.lua @@ -96,8 +96,9 @@ minetest.register_abm({ chance = 1, action = function(pos, node, active_object_count, active_object_count_wider) local light = minetest.get_node_light(pos, nil) + local time = minetest.get_us_time() - if light >= 12 and minetest.get_timeofday() > 0.2 and minetest.get_timeofday() < 0.8 then + if light >= 14 and time > 6000 then minetest.set_node(pos, {name="mesecons_solarpanel:solar_panel_on", param2=node.param2}) mesecon.receptor_on(pos, mesecon.rules.pplate) end @@ -111,8 +112,9 @@ minetest.register_abm({ chance = 1, action = function(pos, node, active_object_count, active_object_count_wider) local light = minetest.get_node_light(pos, nil) + local time = minetest.get_us_time() - if light < 12 then + if light < 14 and time > 18000 then minetest.set_node(pos, {name="mesecons_solarpanel:solar_panel_off", param2=node.param2}) mesecon.receptor_off(pos, mesecon.rules.pplate) end @@ -203,8 +205,9 @@ minetest.register_abm({ chance = 1, action = function(pos, node, active_object_count, active_object_count_wider) local light = minetest.get_node_light(pos, nil) + local time = minetest.get_us_time() - if light < 12 then + if light < 14 and time > 18000 then minetest.set_node(pos, {name="mesecons_solarpanel:solar_panel_inverted_on", param2=node.param2}) mesecon.receptor_on(pos, mesecon.rules.pplate) end @@ -218,8 +221,9 @@ minetest.register_abm({ chance = 1, action = function(pos, node, active_object_count, active_object_count_wider) local light = minetest.get_node_light(pos, nil) + local time = minetest.get_us_time() - if light >= 12 and minetest.get_timeofday() > 0.8 and minetest.get_timeofday() < 0.2 then + if light >= 14 and time > 6000 then minetest.set_node(pos, {name="mesecons_solarpanel:solar_panel_inverted_off", param2=node.param2}) mesecon.receptor_off(pos, mesecon.rules.pplate) end From 027753940f47b845c57f1ee5a159c6208127cbf9 Mon Sep 17 00:00:00 2001 From: kay27 Date: Sun, 2 Jan 2022 10:58:29 +0400 Subject: [PATCH 10/14] Add dummy /gamemode --- mods/HUD/mcl_inventory/init.lua | 4 +- mods/HUD/mcl_inventory/mod.conf | 2 +- mods/MISC/mcl_commands/gamemode.lua | 80 +++++++++++++++++++ mods/MISC/mcl_commands/init.lua | 1 + .../mcl_commands/locale/mcl_commands.de.tr | 5 +- .../mcl_commands/locale/mcl_commands.es.tr | 3 + .../mcl_commands/locale/mcl_commands.fr.tr | 5 +- .../mcl_commands/locale/mcl_commands.pl.tr | 5 +- .../mcl_commands/locale/mcl_commands.ru.tr | 5 +- mods/MISC/mcl_commands/locale/template.txt | 5 +- mods/MISC/mcl_commands/say.lua | 2 +- mods/PLAYER/mcl_anticheat/init.lua | 3 +- 12 files changed, 108 insertions(+), 12 deletions(-) create mode 100644 mods/MISC/mcl_commands/gamemode.lua diff --git a/mods/HUD/mcl_inventory/init.lua b/mods/HUD/mcl_inventory/init.lua index c197bfdd9..1785ed91f 100644 --- a/mods/HUD/mcl_inventory/init.lua +++ b/mods/HUD/mcl_inventory/init.lua @@ -177,7 +177,5 @@ minetest.register_on_joinplayer(function(player) return_fields(player, "enchanting_lapis") end) -if minetest.is_creative_enabled("") then - dofile(minetest.get_modpath(minetest.get_current_modname()).."/creative.lua") -end +dofile(minetest.get_modpath(minetest.get_current_modname()).."/creative.lua") diff --git a/mods/HUD/mcl_inventory/mod.conf b/mods/HUD/mcl_inventory/mod.conf index 10e669265..1a23698b0 100644 --- a/mods/HUD/mcl_inventory/mod.conf +++ b/mods/HUD/mcl_inventory/mod.conf @@ -1,5 +1,5 @@ name = mcl_inventory author = BlockMen description = Adds the player inventory and creative inventory. -depends = mcl_init, mcl_formspec, mcl_enchanting +depends = mcl_init, mcl_formspec, mcl_enchanting, mcl_commands optional_depends = mcl_armor, mcl_brewing, mcl_potions, mcl_enchanting, mcl_craftguide, mcl_player diff --git a/mods/MISC/mcl_commands/gamemode.lua b/mods/MISC/mcl_commands/gamemode.lua new file mode 100644 index 000000000..bd24a7685 --- /dev/null +++ b/mods/MISC/mcl_commands/gamemode.lua @@ -0,0 +1,80 @@ +local S = minetest.get_translator(minetest.get_current_modname()) + +local gamemode_ids = { + survival = 1, + creative = 2, +} + +local id_to_gamemode = {} +for gamemode, id in pairs(gamemode_ids) do + id_to_gamemode[id] = gamemode +end + +local creative_mode = 'creative' + +local storage = minetest.get_mod_storage() + +local player_to_gamemode_id = minetest.deserialize(storage:get_string("player_to_gamemode_id") or "return {}") or {} +minetest.register_on_shutdown(function() + storage:set_string("player_to_gamemode_id", minetest.serialize(player_to_gamemode_id)) +end) + +local core_is_creative_enabled = minetest.is_creative_enabled + +minetest.is_creative_enabled = function(name) + local id = player_to_gamemode_id[name] + if id then + local gamemode = id_to_gamemode[id] + if gamemode then + return gamemode == creative_mode + end + end + return core_is_creative_enabled(name) +end + +local function handle_gamemode_command(player_name, new_gamemode) + player_to_gamemode_id[player_name] = gamemode_ids[new_gamemode] + return true +end + +if minetest.registered_chatcommands["gamemode"] then + minetest.unregister_chatcommand("gamemode") +end + +local function get_gamemode_param() + local param + local i = 0 + for gamemode, _ in pairs(gamemode_ids) do + if i == 0 then + param = "(" + else + param = param .. " | " + end + i = i + 1 + param = param .. gamemode + end + if i > 0 then + param = param .. ") " + end + return param +end + +minetest.register_chatcommand("gamemode", { + params = S("@1[]", get_gamemode_param()), + description = S("Set game mode for player or yourself"), + privs = {server=true}, + func = function(name, param) + if (param == "") then + return false, S("Error: No game mode specified.") + end + if (gamemode_ids[param]) then + handle_gamemode_command(name, param) + else + local new_gamemode, player_name = string.match(param, "^([%a]+) ([%a%d_-]+)$") + if not new_gamemode or not gamemode_ids[new_gamemode] or not player_name then + return false, S("Invalid usage, see /help @1", "gamemode") + end + handle_gamemode_command(player_name, new_gamemode) + end + end +}) diff --git a/mods/MISC/mcl_commands/init.lua b/mods/MISC/mcl_commands/init.lua index a287c2926..b6b07fb22 100644 --- a/mods/MISC/mcl_commands/init.lua +++ b/mods/MISC/mcl_commands/init.lua @@ -1,5 +1,6 @@ local modpath = minetest.get_modpath(minetest.get_current_modname()) +dofile(modpath.."/gamemode.lua") dofile(modpath.."/kill.lua") dofile(modpath.."/setblock.lua") dofile(modpath.."/seed.lua") diff --git a/mods/MISC/mcl_commands/locale/mcl_commands.de.tr b/mods/MISC/mcl_commands/locale/mcl_commands.de.tr index 68d267517..7f21c8537 100644 --- a/mods/MISC/mcl_commands/locale/mcl_commands.de.tr +++ b/mods/MISC/mcl_commands/locale/mcl_commands.de.tr @@ -10,7 +10,7 @@ Kill player or yourself=Spieler oder sich selbst töten Can use /say=Kann „/say“ benutzen = Send a message to every player=Nachricht an alle Spieler senden -Invalid usage, see /help say.=Falsche Benutzung, siehe „/help say“. +Invalid usage, see /help @1.=Falsche Benutzung, siehe „/help @1“. ,, =,, Set node at given position=Node (Block) an der gegebenen Position platzieren Invalid node=Unültiger Node @@ -21,3 +21,6 @@ Ban list: @1=Bannliste: @1 Show who is logged on=Anzeigen, wer eingeloggt ist Displays the world seed=Den Seed der Welt anzeigen Only peaceful mobs allowed!=Nur friedliche Mobs erlaubt! +@1[]= +Set game mode for player or yourself= +Error: No game mode specified.= diff --git a/mods/MISC/mcl_commands/locale/mcl_commands.es.tr b/mods/MISC/mcl_commands/locale/mcl_commands.es.tr index 91b21eb91..a04d4aaf1 100644 --- a/mods/MISC/mcl_commands/locale/mcl_commands.es.tr +++ b/mods/MISC/mcl_commands/locale/mcl_commands.es.tr @@ -21,3 +21,6 @@ Ban list: @1=Lista de baneados: @1 Show who is logged on=Mostrar quién ha iniciado sesión Displays the world seed=Muestra la semilla del mundo Only peaceful mobs allowed!=¡Solo se permiten animales pacíficos! +@1[]= +Set game mode for player or yourself= +Error: No game mode specified.= diff --git a/mods/MISC/mcl_commands/locale/mcl_commands.fr.tr b/mods/MISC/mcl_commands/locale/mcl_commands.fr.tr index a655368bf..e83913264 100644 --- a/mods/MISC/mcl_commands/locale/mcl_commands.fr.tr +++ b/mods/MISC/mcl_commands/locale/mcl_commands.fr.tr @@ -10,7 +10,7 @@ Kill player or yourself=Tuez un joueur ou vous-même Can use /say=Peut utiliser /say = Send a message to every player=Envoyez un message à chaque joueur -Invalid usage, see /help say.=Utilisation non valide, voir /help say. +Invalid usage, see /help @1.=Utilisation non valide, voir /help @1. ,, =,, Set node at given position=Placer le noeud à une position donnée Invalid node=Noeud non valide @@ -21,3 +21,6 @@ Ban list: @1=Liste d'interdiction: @1 Show who is logged on=Afficher qui est connecté Displays the world seed=Affiche la graine du monde Only peaceful mobs allowed!=Seuls les mobs pacifiques sont autorisées! +@1[]= +Set game mode for player or yourself= +Error: No game mode specified.= diff --git a/mods/MISC/mcl_commands/locale/mcl_commands.pl.tr b/mods/MISC/mcl_commands/locale/mcl_commands.pl.tr index 4a3ad181c..bacdae3a9 100644 --- a/mods/MISC/mcl_commands/locale/mcl_commands.pl.tr +++ b/mods/MISC/mcl_commands/locale/mcl_commands.pl.tr @@ -10,7 +10,7 @@ Kill player or yourself=Zabij gracza lub siebie Can use /say=Może używać /say = Send a message to every player=Wyślij wiadomość do każdego gracza -Invalid usage, see /help say.=Niepoprawne użyciu, zobacz /help say. +Invalid usage, see /help @1.=Niepoprawne użyciu, zobacz /help @1. ,, =,, Set node at given position=Ustaw node w danej pozycji Invalid node=Niepoprawny node @@ -21,3 +21,6 @@ Ban list: @1=Lista zbanowanych: @1 Show who is logged on=Pokaż zalogowanych Displays the world seed=Wyświetl ziarno świata Only peaceful mobs allowed!=Tylko pokojowe moby dozwolone! +@1[]= +Set game mode for player or yourself= +Error: No game mode specified.= diff --git a/mods/MISC/mcl_commands/locale/mcl_commands.ru.tr b/mods/MISC/mcl_commands/locale/mcl_commands.ru.tr index 686c8067c..4378e5de5 100644 --- a/mods/MISC/mcl_commands/locale/mcl_commands.ru.tr +++ b/mods/MISC/mcl_commands/locale/mcl_commands.ru.tr @@ -10,7 +10,7 @@ Kill player or yourself=Убить игрока или себя Can use /say=Можно использовать /say =<сообщение> Send a message to every player=Отправляет сообщение всем игрокам -Invalid usage, see /help say.=Недопустимое использование, см. /help say. +Invalid usage, see /help @1.=Недопустимое использование, см. /help @1. ,, =,, <СтрокаУзла> Set node at given position=Устанавливает узел в заданной позиции Invalid node=Неправильный узел @@ -21,3 +21,6 @@ Ban list: @1=Бан-лист: @1 Show who is logged on=Показывает, кто подключён Displays the world seed=Показывает значение зерна мира (seed) Only peaceful mobs allowed!=Включены только мирные мобы! +@1[]=@1[<имя>] +Set game mode for player or yourself=Задаёт режим игры для игрока или для вас +Error: No game mode specified.=Ошибка: Режим игры не указан. diff --git a/mods/MISC/mcl_commands/locale/template.txt b/mods/MISC/mcl_commands/locale/template.txt index 5b4370b8f..b42f06085 100644 --- a/mods/MISC/mcl_commands/locale/template.txt +++ b/mods/MISC/mcl_commands/locale/template.txt @@ -10,7 +10,7 @@ Kill player or yourself= Can use /say= = Send a message to every player= -Invalid usage, see /help say.= +Invalid usage, see /help @1.= ,, = Set node at given position= Invalid node= @@ -21,3 +21,6 @@ Ban list: @1= Show who is logged on= Displays the world seed= Only peaceful mobs allowed!= +@1[]= +Set game mode for player or yourself= +Error: No game mode specified.= diff --git a/mods/MISC/mcl_commands/say.lua b/mods/MISC/mcl_commands/say.lua index 9fd53c174..5f5bc5b00 100644 --- a/mods/MISC/mcl_commands/say.lua +++ b/mods/MISC/mcl_commands/say.lua @@ -10,7 +10,7 @@ minetest.register_chatcommand("say", { privs = {announce=true}, func = function(name, param) if not param then - return false, S("Invalid usage, see /help say.") + return false, S("Invalid usage, see /help @1.", "say") end minetest.chat_send_all(("["..name.."] "..param)) return true diff --git a/mods/PLAYER/mcl_anticheat/init.lua b/mods/PLAYER/mcl_anticheat/init.lua index a37c9b5b8..25ec3fd48 100644 --- a/mods/PLAYER/mcl_anticheat/init.lua +++ b/mods/PLAYER/mcl_anticheat/init.lua @@ -6,7 +6,6 @@ local get_connected_players = minetest.get_connected_players local get_node = minetest.get_node local get_objects_inside_radius = minetest.get_objects_inside_radius local get_player_by_name = minetest.get_player_by_name -local is_creative_enabled = minetest.is_creative_enabled local kick_player = minetest.kick_player local set_node = minetest.set_node @@ -63,7 +62,7 @@ local function update_player(player_object) end local function check_player(name) - if is_creative_enabled(name) then return end + if minetest.is_creative_enabled(name) then return end local data = joined_players[name] if not data then return end if not data[0] then return end From 8c6d016527b5fdcc1fddc44c48c47b4a082368a8 Mon Sep 17 00:00:00 2001 From: NO11 Date: Sun, 2 Jan 2022 11:07:43 +0000 Subject: [PATCH 11/14] Make removing of arrow entities also work with mobs, remove arrows on respawn --- mods/ITEMS/mcl_bows/arrow.lua | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/mods/ITEMS/mcl_bows/arrow.lua b/mods/ITEMS/mcl_bows/arrow.lua index 7e5ab169a..7529da167 100644 --- a/mods/ITEMS/mcl_bows/arrow.lua +++ b/mods/ITEMS/mcl_bows/arrow.lua @@ -73,7 +73,7 @@ local ARROW_ENTITY={ _stuckin=nil, --Position of node in which arow is stuck. _shooter=nil, -- ObjectRef of player or mob who shot it _is_arrow = true, - + _in_player = false, _viscosity=0, -- Viscosity of node the arrow is currently in _deflection_cooloff=0, -- Cooloff timer after an arrow deflection, to prevent many deflections in quick succession } @@ -439,6 +439,7 @@ function ARROW_ENTITY.get_staticdata(self) is_critical = self._is_critical, stuck = self._stuck, stuckin = self._stuckin, + stuckin_player = self._in_player, } if self._stuck then -- If _stucktimer is missing for some reason, assume the maximum @@ -453,21 +454,10 @@ function ARROW_ENTITY.get_staticdata(self) return minetest.serialize(out) end -local function remove_arrow_on_joinplayer(staticdata, self) - if not staticdata.activated then - staticdata.activated = true - else - self.object:remove() - end -end - function ARROW_ENTITY.on_activate(self, staticdata, dtime_s) self._time_in_air = 1.0 - self._in_player = false local data = minetest.deserialize(staticdata) if data then - remove_arrow_on_joinplayer(data, self) - self._stuck = data.stuck if data.stuck then if data.stuckstarttime then @@ -498,10 +488,23 @@ function ARROW_ENTITY.on_activate(self, staticdata, dtime_s) self._shooter = shooter end end + + if data.stuckin_player then + self.object:remove() + end end self.object:set_armor_groups({ immortal = 1 }) end +minetest.register_on_respawnplayer(function(player) + for _, obj in pairs(player:get_children()) do + local ent = obj:get_luaentity() + if ent and ent.name and string.find(ent.name, "mcl_bows:arrow_entity") then + obj:remove() + end + end +end) + minetest.register_entity("mcl_bows:arrow_entity", ARROW_ENTITY) if minetest.get_modpath("mcl_core") and minetest.get_modpath("mcl_mobitems") then From 698c29733f06a7fcb7e755bf26ee46b33b00699b Mon Sep 17 00:00:00 2001 From: kay27 Date: Mon, 3 Jan 2022 07:42:33 +0400 Subject: [PATCH 12/14] #38 Fix cauldrons --- mods/ITEMS/mcl_buckets/init.lua | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/mods/ITEMS/mcl_buckets/init.lua b/mods/ITEMS/mcl_buckets/init.lua index 931214b95..61efc02e4 100644 --- a/mods/ITEMS/mcl_buckets/init.lua +++ b/mods/ITEMS/mcl_buckets/init.lua @@ -186,8 +186,12 @@ function mcl_buckets.register_liquid(def) local undernode = get_node(pointed_thing.under) local abovenode = get_node(pointed_thing.above) - local buildable1 = minetest.registered_nodes[undernode.name] and minetest.registered_nodes[undernode.name].buildable_to - local buildable2 = minetest.registered_nodes[abovenode.name] and minetest.registered_nodes[abovenode.name].buildable_to + local name1, name2 = undernode.name, abovenode.name + local regnode1, regnode2 = minetest.registered_nodes[name1], minetest.registered_nodes[name2] + + local buildable1 = regnode1 and (regnode1.buildable_to or regnode1.groups.cauldron == 1) + local buildable2 = regnode2 and (regnode2.buildable_to or regnode2.groups.cauldron == 1) + if not buildable1 and not buildable2 then return itemstack end --if both nodes aren't buildable_to, skip if buildable1 then From 7a1cdc89fb51c1f8e3dc2f2d931d513106b575ab Mon Sep 17 00:00:00 2001 From: kay27 Date: Mon, 3 Jan 2022 08:08:56 +0400 Subject: [PATCH 13/14] #35 Fix floating slimes --- mods/ENTITIES/mcl_mobs/api/mob_functions/movement.lua | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/mods/ENTITIES/mcl_mobs/api/mob_functions/movement.lua b/mods/ENTITIES/mcl_mobs/api/mob_functions/movement.lua index b10d794ea..cbc2076e7 100644 --- a/mods/ENTITIES/mcl_mobs/api/mob_functions/movement.lua +++ b/mods/ENTITIES/mcl_mobs/api/mob_functions/movement.lua @@ -43,6 +43,11 @@ mobs.float = function(self) self.object:set_acceleration({x=0, y=0, z=0}) end + if self.jump_only then + self.object:set_acceleration({x=acceleration.x, y=-5, z=acceleration.z}) + return + end + local current_velocity = self.object:get_velocity() local new_velocity_addition = DEFAULT_FLOAT_SPEED - current_velocity.y From 310aba9c118eb4ce209ce3931542835b3305b555 Mon Sep 17 00:00:00 2001 From: kay27 Date: Mon, 3 Jan 2022 08:16:56 +0400 Subject: [PATCH 14/14] Fix Nether dust --- mods/ENVIRONMENT/mcl_weather/nether_dust.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mods/ENVIRONMENT/mcl_weather/nether_dust.lua b/mods/ENVIRONMENT/mcl_weather/nether_dust.lua index 488745eec..49c726eb5 100644 --- a/mods/ENVIRONMENT/mcl_weather/nether_dust.lua +++ b/mods/ENVIRONMENT/mcl_weather/nether_dust.lua @@ -21,14 +21,14 @@ local psdef= { } local function check_player(player) - local name=player:get_player_name(name) + local name=player:get_player_name(player) if mcl_worlds.has_dust(player:get_pos()) and not mcl_weather.nether_dust.particlespawners[name] then return true end end mcl_weather.nether_dust.add_particlespawners = function(player) - local name=player:get_player_name(name) + local name=player:get_player_name(player) mcl_weather.nether_dust.particlespawners[name]={} psdef.playername = name psdef.attached = player @@ -40,7 +40,7 @@ mcl_weather.nether_dust.add_particlespawners = function(player) end mcl_weather.nether_dust.delete_particlespawners = function(player) - local name=player:get_player_name(name) + local name=player:get_player_name(player) if mcl_weather.nether_dust.particlespawners[name] then for i=1,3 do minetest.delete_particlespawner(mcl_weather.nether_dust.particlespawners[name][i])