From 6bef350be4a715e93f3d967decdda2494ef9d559 Mon Sep 17 00:00:00 2001 From: AFCMS Date: Sat, 19 Jun 2021 00:58:05 +0200 Subject: [PATCH 01/16] 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/16] 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/16] 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/16] 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/16] #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 e955c16a93c82b6ddd471fb20dc4619ce7b59a88 Mon Sep 17 00:00:00 2001 From: debiankaios Date: Sat, 25 Dec 2021 19:38:20 +0000 Subject: [PATCH 06/16] Added debian44 to Community debian44 authored mcl_blackstone but wasn't in credits.md --- CREDITS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CREDITS.md b/CREDITS.md index 8df5ce2a1..bd8a49e65 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -22,6 +22,7 @@ * Code-Sploit * cora * David McMackins II +* debian44 * Debiankaios * Dieter44 * Doloment From 54de60b27e4e8dc390c28d2e8ccdd6a6aa4325fc Mon Sep 17 00:00:00 2001 From: chmodsayshello Date: Sat, 25 Dec 2021 21:11:01 +0000 Subject: [PATCH 07/16] Iron Golems no longer drop experience orbs In Minecraft, (Iron) Golems do not drop any xp! (checked in the Minecarft Wiki and confirmed in my copy of Minecraft (1.18.1)) Now they drop at least 0 and at most 0 experience orbs, so you won't get any https://minecraft.fandom.com/wiki/Iron_Golem --- mods/ENTITIES/mobs_mc/iron_golem.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mods/ENTITIES/mobs_mc/iron_golem.lua b/mods/ENTITIES/mobs_mc/iron_golem.lua index 939412abb..d7b2f3613 100644 --- a/mods/ENTITIES/mobs_mc/iron_golem.lua +++ b/mods/ENTITIES/mobs_mc/iron_golem.lua @@ -19,6 +19,8 @@ mobs:register_mob("mobs_mc:iron_golem", { rotate = 270, hp_min = 100, hp_max = 100, + xp_min = 0, + xp_max = 0, protect = true, neutral = true, breath_max = -1, From d40ea5855bda5eb42c8b240d03e5146e4489f1b0 Mon Sep 17 00:00:00 2001 From: chmodsayshello Date: Sat, 25 Dec 2021 21:14:20 +0000 Subject: [PATCH 08/16] Snow Golems no longer drop experience orbs In Minecraft, (Snow) Golems do not drop any xp! (checked in the Minecarft Wiki and confirmed in my copy of Minecraft (1.18.1)) Now they drop at least 0 and at most 0 experience orbs, so you won't get any https://minecraft.fandom.com/wiki/Snow_Golem --- mods/ENTITIES/mobs_mc/snowman.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mods/ENTITIES/mobs_mc/snowman.lua b/mods/ENTITIES/mobs_mc/snowman.lua index 0726b8da0..e2e17e30e 100644 --- a/mods/ENTITIES/mobs_mc/snowman.lua +++ b/mods/ENTITIES/mobs_mc/snowman.lua @@ -27,6 +27,8 @@ mobs:register_mob("mobs_mc:snowman", { passive = true, hp_min = 4, hp_max = 4, + xp_min = 0, + xp_max = 0, pathfinding = 1, view_range = 10, fall_damage = 0, From 2dbd01b8a0a3da429376bd88bc98fd012655549d Mon Sep 17 00:00:00 2001 From: chmodsayshello Date: Sun, 26 Dec 2021 09:47:30 +0000 Subject: [PATCH 09/16] loaded crossbows are no lomger in creative inventory In Minecraft, loaded crossbows are NOT in the creative inventory! https://minecraft.fandom.com/wiki/Crossbow --- mods/ITEMS/mcl_bows/crossbow.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/ITEMS/mcl_bows/crossbow.lua b/mods/ITEMS/mcl_bows/crossbow.lua index 5ae21a1f3..3c92a4c92 100644 --- a/mods/ITEMS/mcl_bows/crossbow.lua +++ b/mods/ITEMS/mcl_bows/crossbow.lua @@ -181,7 +181,7 @@ S("The speed and damage of the arrow increases the longer you charge. The regula itemstack:get_meta():set_string("active", "true") return itemstack end, - groups = {weapon=1,weapon_ranged=1,crossbow=1,enchantability=1}, + groups = {not_in_creative_inventory=1,weapon=1,weapon_ranged=1,crossbow=1,enchantability=1}, _mcl_uses = 326, }) From 7b47a15e34c08c55639a098e2a349cf82fe6030c Mon Sep 17 00:00:00 2001 From: NO411 Date: Thu, 30 Dec 2021 14:04:53 +0100 Subject: [PATCH 10/16] 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 263bb1607da7df237bbc7b8199a3f73b4179c53c Mon Sep 17 00:00:00 2001 From: NO11 Date: Thu, 30 Dec 2021 13:12:19 +0000 Subject: [PATCH 11/16] 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 12/16] 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 53860a8f799c3a4c27491cad0895eb78042f4f8a Mon Sep 17 00:00:00 2001 From: NO11 Date: Sat, 1 Jan 2022 23:00:02 +0000 Subject: [PATCH 13/16] 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 14/16] #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 15/16] 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 16/16] 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