From d55387e692ae679f719f496e7c22f2fddbc5b399 Mon Sep 17 00:00:00 2001 From: James Powell Date: Thu, 16 Apr 2026 05:22:22 +0700 Subject: [PATCH 1/4] Remap unsupported 26.2 particles for legacy clients. Filter 26.2-only particle registry entries and rewrite level_particles payloads to safe fallbacks so 26.1 clients no longer disconnect on unknown particle ids, then refresh the prebuilt jar artifact. Made-with: Cursor --- prebuilt/legacylink-0.1.1.jar | Bin 1213653 -> 1214704 bytes .../ohno/legacylink/LegacyLinkConstants.java | 10 ++++ .../handler/LegacyPacketHandler.java | 48 ++++++++++++++++++ 3 files changed, 58 insertions(+) diff --git a/prebuilt/legacylink-0.1.1.jar b/prebuilt/legacylink-0.1.1.jar index eef0fb2143f6add09c08ce20c5466147dc6b53b6..83b8bbc32a048a6cb302cdf29dd5397f06c4027c 100644 GIT binary patch delta 22892 zcmV(;VyfTUX;$6yAqh z0~F|-;W}KM867~K3Ug5h9H*23bqcLbiiS~Rnx<`NNSIt;@IKz}`X_wT2jxL@E&T!h zD3?2JfTRSR<(n^GyU*TdpKpIBXP@)e-@pF}04#jp4o%P;ftDz=LK}fAMP(;$RCFV* zDP>9C(^S10PuKpY@o&<9&@EfiZHqt;mrpO{b7G2TSH;vKha>4tX-A4XwyMQB#h&W~ z2HGRg5rs~O66gwe2{5vu+mfnduD;3oR87*$@l0V;k?pyujSlFBo(ROEa1JPeSYrr* zws}=o?b`&JC#TjU&>INiY*W?C4D{pZmZ~eVDV6M7mZOy%lYv2h0t3gR+lH;^ws`2g zfRq}ih?XW57#Io6J9J?krp3Tm*t}gy(-@c_FyvoPQ>}_pJX-N0fw5EF-qM!|Oq>zp zad_g)Om#AoVMP>7Rjy)!X#&IHPLIb^1V&E_@JL)eJx86vGXXi|ifSpEPmWmv)aO=p zT`EX8emy|^aNOg6bu*ar$mwxz(RLlnlP1uA@>p!ERmJTBYf;ERmOztH zB5--~UdU;0=pAlb%0+>5ds58nGz;lW@~+!z7|0VCIkB97>=YES;K)_QX5f`T<^Bk3 zTiVq{rHrjXAkcdpR4^PJD^e`f?$I2f~i|r`f zceNM~(IT73@u_5*^=_tYF2iS%nY1{2Q=Ad8yO0!KNQbxCx}-TuGvGalW&1;CMQ$yT zQ=|V2VqA~mUa}pSjYTpCvwRZmKUy_~_JQ zBAIeUvG=xd<gF8`3BT&{g&F*=y76Vy0YhMd1q5ugn!rJO$7k=Njm-(|2Q_;S?bZhSEqMDV{vEX6 z^V#pC{m^HBi1x=mdjM^@A>aLg-3;yU34DrwBcI{ObsQru?_YpS{|1pJ_^}rEIbvJQ zQ-LoKqxC5G64!G5__Fdc#PQelwNC#ET|YNWuKFgo!dLJ${xa~*;bigywBQJkhp~}A z;JnaG`#7P64sb#%9pZ#GI?M?XI?4$Q9p{8t8+{BhLN6gQ^l`*?dIhnAP9b*EClRB6 z^l8K{8b|D=Gl)I(8e)vzKs-mEMWpn3#Pf6xv6sGp*hgPP?57FD0h&Y{q%7hPT}He> zQ;5U#E_VQ{`|xsX?0-R4h>cJlag?sti4*!N-Jq`>z#ID@(IPF;3f(*aZ66GG<4A4e zXl+Y6;U|31m0+EiAfo5n+QxqO4^T_9kOnE54ZXfc(eF(F04~M=05z8(UI8DI{(%OQ z>!25Zl*Rct{ya19k!;=^Bm`JM2zSUqL?vQC1VX?_0!TOvqUn-sl9jL5g2U>5d zRq?*5)+(ZgM7;0T+FHeWRcovDsGS)-vk+wdn2qg{P z^(BF3f1sqr+vKU=)Z+86Eoru)mQ<;%C7$}V-f*;~p+WCDPiw2U!G2re5BtKKDjPz7 z2$@x}CaJj@CJaJ2*cUEo^ZVBMN*Y4Gl15J`tlsb4;!rqFF_1;!S*hRR_ zwV)j4A!N}wEv2eq@0^B)pf^N+f-{`BNkQO_*94dkoOd%^Fdr6}aI^)La12%M+HvaZ zdQVH6cX1;za{SoaY(HaicT#1OqN%c=8Wxc-ucL7w!q$7jD}CW+O3^5g1tqH3v zI389bj7g^UY=u@u$?5=U7NctMf&~>z5wfcS!KRW>OXFcDl~e_qnyAGTI1ypq@v#~w zb(tl9`0@4q%EgT%FAzU_Jq7gZaH;wULzIQa;gbG zNf=gp+?Z%&{>A`8eiHH?pM*zN zq`+E)w4mb3asIZJ78lgPIt%RW3LS&Nks33(keD2t~9{v^%>zw37sgc~imiCx5`#GM=#&zsR2GuZpwP9vY3{H?)2I8YyGad^rFcfs8z{L+GZ;8zG!lJ%s)yQZxv z!4)MRj>U|B&^Nt)ZnQzUy{j17eHQG1`w3fLh$Wto4J-C2=!qe^U^K%9^MC~p!b8-6 zpGK+1d$MZa7=E+Mf)3~;$|-&$Rhxed>(AX(V#(49F7c=ZkHO=l0a^l0OIX|YjUA6k zV)*)qva+#HTJRJ+O*$`Pf4q@F@7*(SvQpq#>d=yZ#Wl-P;CY0(@%HWbDD6+k3wci_ z3zlb_GA^FiMs#W=5M=DgSQXp8ELk@f{2G2^!i(&_{Fa>DSd&!&9+n)UUR7e|3^s4S zv*7peG9k0U6C~gAhy(ix5z$Fv*?2%+vEWq}6urgkVTbKCgc-e1wu$`ml5#cgP$Zn& z#$p?PVcIl!-GVpZO@twhMCh>BZ@-@(2r2=i5ntRZza6NF$l$1%OqDMbCZfCze=^}6 z3*Kc($w++7{&T2eU2Aw#8oUR8G2yQkybm9cW7>;0A@7zfXH8puy>djy9cWtP=pV-9 zLkm8Fk7;;9r1_O>RGRQ9!sHlQWEtz*fwNVkbJUk(hh6Xqe8zs`KUjn+ zC$C_z|K!=u7u}4qGni~3|7F3yxnC~7cY}jaHcgoSW5L((U*dgIYPQiT53Hm4G2777 zdsfDgE>-mz?HQGE1nOF0f!FU1`s!^f%frIYGk8S4wO}v&kBk)Q(8vpfn*9F4>V0&7 zm^r_*;CtAQ;108vToMS;d_&o&%EpR_zO3rYEUWM8MRyC>Ury2lC=QBhy3)xfC=+p#iTM^zW_6a`y$Go^GB1nB{BqfULJNzq zm{f&dMPd@?A&!19u>|3;UWVJ&vh!$CxQ>yudrP_pr&@Rj9!j%5o}F?W!kr(7czJ-P z^)XNVZJcIdDIQL$kBWDh`9^HdDie=DsOSYDns0~OLh**6M&&H^hFWPh9VL0$gk<7U@`U>dt%jz{Do&lqzRN6Jjw_f2xbv|R2p9Cb>q(mEf3K4PG4Z(G zwN?-03zO+wL);xV;HxY=9#=>D94pZmjn%hS20YkZ;h1p4LiD@kgB}vy)EU@MReyhA!gtPj8-P11c``^#508Cup ze?`WDIS&;Nl4`7J3BLOczmG& z8uG5K49Jjo17hNT`Th6Z2oSrb-e9GlaF*+##{BvEW8|l78(15LIWB5B&`h8n@I#>;+6gHvkhWyAh4EHX{^sz zS$H*G6X|n8p@H-{Nh=IbrI0dI^rt+5ga z=l5Zf*;@;JnOpV>!^E5W@2o2KXNe~m_SLt_M4LGNJfo%rZ#ut113Ib;X~Mt zFupI95Yn3>iqBpNDD0`ZR#hle5-UtCc3`K84_mk!A3>PZ$9f2^Xrsg*+4;$qD>zE{ zcuz1}cxX%PF4%Bf_!vHE;ZwY}IOgUTEc`Y8hU4FX z^5k2`5SDc1>7E#&&kO@u_*)BK!rvjt);6Nir2NW0t-85j625HVAMh1~K}=W0=&@yj z?)(#xoWzo(680b*k(Az%8aBljkf0^jtz6gIl8Ue5A1!xDUT0S*WU5FsHnK zwyvhCvbw^d^`t(l@2_ybC3sy5^j6*;)P;i49c_J}AdQ@m7EBNtLRnY6k+epXugw};Sw&9W(vy^=^`Uxog@O5v<;bT zghTTW2&e~)G?B#}8-y^m=ly<(AbAgeNDFt8am%s9V3A7_5eQbaguH4SNDNjF6_e_~ zG%?f?!-Sh?(i-$Odc*b2b|hK_6hh?i(fr0oBEP9Wn>l!AgcxCok>VhPQ4zq=NI|tX z>>`iSg_vsKpb6(jL`+eAks1 zTmRXME;CFqk+`z|6~{X}xl%+vA#q6Ql&Mn=afu0{fN?M6g}d(jP&s*pDT)ye>3?%B zQ6x$%aj=+5%+lZu)dzj8_P*hs&0Br5CtSh{`2j!Cdj^9z)Dnk@Y2?ziMx2kt1;!|A zGjkqpiRt191QBTLvKKPZ7WlMcS>hDz*soQ|W zblg%WMJ9;|wNO-5ZN_C!pV12VUtQ^1j zqQ(--cv05yDpQjpR*+sy*rZ#t*4NrftenTdgWf#i`$LKY{+3O7k^YzEZ88Ckkcg;awK%~PCt9M8_e3Y%(iZl%c-MKUv69HHK^j*c7Ut)mmwbV! z2QXhPbb1?jtUQ)j!*05NNyxJ!Vv2@tVO-@$L@L*8^4F6__WL%g7RDP4d^ns@|-ufYX(37;iS5^HHP*b->!iUvaEfVSsXR(72ss2x9I9f>GD!kr5+Gq)-$ z-52KT4$g(cM38}m4zPC5rQpLls5CC=b>)0fOyx~#Ii%64uDGaQqO{}g9i;v7Djljrz9%NNxw zU$SKJ(q$F%>Y~lpRnDtP6I;c3ra0dcKV_~@PdI%;B3*BXLqiPoLQ7o4Ku0G58byO( za@k8PaVeM0s##utHGlciy17-0%NIsoUT%q>@ykr-W#zJpYJQg@t|aE|E~K9IUJ}Hs z*wCpQmeXq(<8RY&qPUh1Qy45W*IVKSaU*$$iTtmaG{$|sNMUsAPKvmh+=K+tj{u2E zI_m)X+;VD(E%CRK#KX%e;&z0y6KXn(cT_S?Uw9&`hxws@$$5>zz`7XR5Q&}I-EWJ0 zo_&5PFMqAq+Zu{h%yT3s&(}b?Exsl{wXwk$Zst~|PIkc-ai;~9VmlkTgbi_#&1j7E zT^2NpRW7_q{L&Kl2r^JCJ&6utkOQDZ(+BaeC3Xwal5U67quf1z zPF2<1Ipqs$5>Kk}iLg}hn0VY2Pgvqf@f0ympYh_e3^mn@7m_-ddf?vF_;^ENmp(ls zo;AgDmUv#gkRZR+?9p2^j*ElNoG|$Wuut&?Q~V}>`6Ty1$fbziA{^aS4Ai;5yf%M` zT=_tdcl)wHPv(B+Vu$ycJ%4A3-?RTT$QN2nUPzD}fhv0w7Qg+2C0^mT zE>Ft_&!$jKb6^8!@3F*d;*SU#(c(C@(R3bXzhQ|tBiXf_@wO%Y6vU~St7PkRtoV|wF?`Iae_P@!w)bgj zJ9Psu?T{b+wfL_ozOlr&Vs8&|NqaM3Y-5Liv-{K8GoRVWM>fJWYW&o>&GGr&tZA}? zUTI>VCBEa}%rJYxJwFh1LZ2LsSK~~D_FEDpO}pJ}4_nrIBXg|y=v#GuWgp@+eGk2* zNoh$<>LfJYXg(i_>$c7HhqZH;G%cATQxOJ}a}=X+H0XPMAH1VJbX_&~;}+vNgZNs1 zrddR(bfS~mNXwgto7k@AC&VfbU|5MSWhQaD%;H^`NxZrgnN6-sj2oxen~>FXEk-bx z94vE9ImD7f<*tz9lEif`k(j)t+#(iuP{S$r2VoOeuCA@i+6f__B7@1$* zU4|W0XK; zoO%MeD6*6fbNF0xx;(;^WtN;FXVSdoKnKsAP2(krQ5r{&1rI4LovJpSsK=-lLb#?c zYUTexwt7&Xu?!ckl(Q^(6l-%1SgYXXuf_U0zu=udaOA;-x$j ziLqVK+sIS25*3FIw$<|%ahF^wYfQP!lFKE{;}1GuX~M(r-B78b*lgr~CgmqP=bFSf zlH^rPjAbviLHpK|d3H{cL=SOigCSS(x#`ngaFkrlO7H{~i#(9xj6WFXl6CSYru0~H z4R3)xye|?Ew<9&e{s?CDP(_<;u%uTu+KZg_7L@K$6`OCV!a9yZuB!=?KSA_umOfLS zWXZL%r3X)hs^hK4JDvJt(0Ey6L$Rcn_<`-T~H%Wug5vsXrwy_H98>)|!QHhHoo zgZzpOggRz#XNN7>#@S2=-UY>Z8+ed5@*q`KCRYtz@goDbMQ*m_78X_Ar(7-~)Tx#{ zO`cBZ#JX%RgpTdWcZwJOE%HoDp2ee-R_`It*Y@Q&{!zm(&$Z-#RwYXH@g3bF&$r}H zRgXfEUT%>Wa*r4j&b*vK|4hxX`v~Yfc?o~~+>%$> zr@<82&y&|Mq;0lW(MM1h%j+z8y}ZFbJhHAv9YGnCpbdGVX3Cqo-E2bnG?Ri4UGhfw zj8gJ8OWrQ;AV_L|g0EsBiIDhmk~Fau$C&aL2}ffH)OZzfNR!*;-In|%pE*g1C~Q;G z1m(~kJESsvN{R61lqEqvj27nhSufsa$sO{3gzTji<&{e+RNSPdZhmD&)jXc7cGqt6 zecqM^lF|p{gQk3lPsTl+;C>{Oquvk!z=Y3C*-7w{%s`HR4zNv6lO1xmB_H9A>Fe!Y zJx1E~fWyQR@Ps9wlr%RUt0aJPEb1IH5JR0LE;hrEw9ZMGYkFB z!k5Gg%$6^ITk;R`6&kltI6&>Rh1IzeXUA8?fmCgjA8NcjP;3P3isNf2x5ZoOZ*2=R zE4t(!;W6cF-F7bx02s$Ni3i^3wl}E1uHGX@TSNDNQZmq${w8)l z)Vhs)SN_?Q?^*IM@~=G{SMO?Q683k+ERMY&D+W7%$q~R_km)z>ugecC`8WBYy6}aO zO14th7vd7EkL4$({M3?vm!EZ8MC%I(g!F)NMdtZJ?02&n=nE+diV!?nlrqY6V;aOG8bN`G_nDEcb^zjZPI6 z16uIo>|I@zqG<>hCQLKhRKYr1dO~?2>Rn4-1d%-Mj*5T>+QK1UgEunaSm#~0#v2SZ z`&#q(ZWsFSH>ia>KINWg1G6LTG)ZXgD0TJl3v$R zEHPc)K!c*WEG>=ox~>4GXz2(i90=`J&!(1ury+tkO^$3ti+yDE*0s`9fyO}fCPc{6 zJfJ?D*VN_-HspEKwuc5rB$JmIj!n^czePf0-M16xIrg1cH?Ps-YasxHe~zUM)^bUI z7b(*n;#)Z49hv#@EU)2A6ZL+BqSXv>w@sZ8ZHo7#M0 z-2-3##{-+DRltYzp;cPiG1@|VOI;Llt$byMZMP_lJLzjs5PeIv_c9?9cUv^s<-J?S4F-0sT9rFpQ?)Yg#V>ixz@ zb-->}^cpmm)_^Uh#_`v_aJxFMrY82bRf)KNDH_cz#&wM>*Vt&PN+G*{2PvA5m@px1 znNTVcxm4HJuw<|xITSi_%c(AHtw!jsvoyaJ=>G|-BnU;0K5AhVh3>xc*~9)dd(}ZZ zSrFxUFK(YJ5yiEzrL}46BZsw;U^S4#T0M4dAm?>@0_DO0KFJ^3Y3inJwqO<>?h>oD zQ!MRNzQ<>fy+y!|Ix1;@NYPI35~z+zN!)IsNCcBShER)doj1?JcN7(=f7G7XL3 z&Nj7kEU47ZO}LhCUZ71~ZIPQlFFuTDXEVm)4gPqWt^7~f%KPY1yU@}u(k`}@=JMs0 z^SbVp=RB^gU218U@k%2XJZ>pRQ3Be}EbWR&Uagb&b4$BQyV_ZQkqoR?aY2s$Cil8q zn>U3@R(R_VRc&muv}+@)nYBlIJq-@b>sbYnX7?m4=P1r<8Jl_M_LqTOj}+ttD?m9UpwAWOT8 z_n>@XYQOAuTC|UUmUO%dWyPLd+TGf(EbU(HKE8=j#bggUP^@Bxsomf0s*HZM&0(|z z1a@c-SlWZyL*(Cv?D*`IK1GF>kvGg&hmqFVrFEEEr=>m2fx?2mS0w{mPo7nnl+YvE zqo($lCB53?-FA&91JN@l$9&OL{6Kq>H*W24X-{j{mi8P|dgXxTFI_JI7$423 z@q1cB&3v*qHM%%rYA^IKad+gw<12}+q?ANqxwPMCFPhqKE$t=V}1YzcI#!FElUU_j1-p zmiDpQL&8yC8^;vwQ>q@fD~;7YyZWD5+CQ|PrFh%u_m;MwYq-?TJ$1N(Tz4I5W~>W@Tl%!k z=>KJZPPa7xU86CLJ3`Xp358N&i*8uDsi%<6waa%hJ|Qh$*b27()0KRzdOj7A3bN$ysC<&b&KXySMY_& z-TFXui5xOghL;pcjjze?v6V_e-=u41!7Ku_ERi2(_Iht-?>q4rZ1aJ~c;=6E$qYAt zwYq;z^}Bz(LMgTjyLSznbIs z2f`j_Yw0+3VfRU)R_a9~8Rgi!l0|JTEy}`>IF_rMIx}g$;9b*F3JuNFd zL}rF=XKLYQUx;^k_VWi5s3FUFJ*T06f%jS!_W5?;$tw`B9zoWJHzM@88dYje6hcRn zk`O9Ci!ac%dzIm!=4^2$t56?zrN7>4Utc@6_xshU%{BBlmzoGBUT&|iv2X4c$J0xV z01|FkY3k+d&@}l2YG3z^A8;2l?}-ZWMfk0eJ59&*dQB#EQ~~GX+Pv2+s^>y~roK4g zF68JN>OuX%RFp5bj7;de9!Koy9Gdb;V)sKEYC?W8(cu{S>5eWL4e11<$gqA}RrH*8O+Tqcz#-Rry+s0vY7kc%oww=nw{pe=*zpqKg#`h>Nj8_7snwS^W)t*hmf`={(`uxcR+ z!%6QA;#0wnOpNQpnUEyr`3D>wv3-+N_12CtrFfm#H(zEL3u>fX*Cbp}t$u7xogzYNc&AV6A*FSPEcUm=g7yfx2`^&DaosAvMula| z+twt+opa;fEe=)(8Y=AO(jxw&eS<>eiQ7+Uj2?~7jq{$PTN0Fm;U(I7)j36kLDA)j z*d0UJ-Y62W%&bVjES8nqlDIU%oYfk#cV#-a8wc&xyurzT?)*=TAK4CmH#TK<@6!zc zwqz{rWy;X+(Pp44lTq?VfxIFKU49h6hD{fQDg8Tq%JB>*%VsBH^)+fG&Smc&u{o1( z((P$3+J}Q})QkwNN!;e1c+!j%Ky0o-EHqc~EdP{Eq0_j{t2Z@7t*(4(71ThBzkUP-Sg@C&~j|`*fndy|3Kb?yGGe)H&tI zUTu0Vw~xFal=gylQoxMC=w8-@i8Rg5p@0zwSY}rTr_^BrglPi`f^%erO& zZsK~x_=wqv5yaj&-&Hhw*>9{`iEQreZdd!X|CmO9ArfYbZeToofZGM*Ml=d5JCaiq zhiO-TeLyD6Rh#KX>vA{cRn zlIn7s`+8w^#pl&s*H?Z3G=}$!WSrTxYI5s3z%`-)FDANEQzek4=y0z<)>i-{EWb+Rf<$==3G$fgf0qIRLIt`JOPO{5xmh`D>H~O;S zjeIi4h&1qJtbN>x%*xuCm8st(RPKAGPo3V4n@X6@#^LVHU4NFGc?-R#NnKgv^7uDJ z^>R9&$fhQjMPBl6_C*>r>A}8HJ136!BEQgoj!@S>)fG39?+aC#ovs`R&leuZS+`xg zAGmn$9f<5DqR}VYP}|q;4}i4SbRW|HzmT`zQRbevDKp=1YE|>5u`Ql;YZ^S`dptKX z{$O%UcnG3ep=%(0fO}0j)~$AUMgezSUiu*$NjZEFiq~bsoQ`(+F(>Zc>L2OnoRZ9c zLO6Dn5{mA}to=W0h+{pJ$wP{ynubSv+hva+_jg(^JGClXI9$@A4l=~g<{~8Q@~hDd z^5h@)r%HSNby4Ssz}5be#)KUOJ(MK+&#Z6p`F-J82%2-_hGRX-)sw46N%4FiPXUG{ z*$6X*F(fEIg_Kw3W zW4gK#t9ROE8b+B5(u^6FG1(}{f~PZeW0uP}O71p|+1>6#O?oyx%b1(wjBE0LW9)t1 zftrQIgjoe+Hs3NP8Tnbp(e^L<_Qso8csSKu$Th1hV~jC2%NUztET(x$;rdL5Z8r;+o7=X>hyU#PhzUTU3!HY3_>8X8{}2&`>u zO%g%xsbUWoM)h(5jRT^bShj`~!3^rs2`=MAqs}ybVi_J|4Ox|LrK^As-agKJ;4X#Z-x>4f-Aqbd1ijXi{aPs!O#5Of&3YQnds4wPv6BIKp33N zjw1}}X6#I3L&8?y18|FJY)aTUoUACBPP;ISfiw^R^f_D~qmKpD$I+93G8oPm`_uDy ze%2?zaK5QC`aBVa^VLy*(dS7poKJ#MdN?1VjOOQ4xgB;s-{%p{pA6ZM0h!U~0(#Dc zA<^eT!l4j~=(&iVQvh>7FQ(KKpaBGf@~6;KHAs2}7*VhbuwXZswYwnoA#hPLi;~$7 zLC*aOTnT+IpuvUI@MZeJ^kmu9^{M(H^o{zV`e6>}I|u=PjlRbhcEV7E?9rVt zMnH8z(UUM~8(2k8z@$aR+d;#JU^2HMT~n(S*3{~Mb}dg$Cp1Wi4aXGXYk<25 z>HCPgcEBju36tRg%6|}!Wbn`d4e$u8rSDdFOm!&FM%w8Rr;cQ~AQ(-=D6^bFN(HeG zMwu{n6uqd2VJO!#$_*9ySWkJ4uo^$8Ds4)GOG`NQ#@oHbMrwue*_0rE8)b&uP{NVvHb^?kbhpm(QKq@I z=OE3kb-a^!7YJ=KMzr+*&(4VUO&c+h7=v?44z)s>CzyR4TC@2D3mu z$2DJY8=dfyM#A)m?T}XHqHnkBaZ1L(R1?yBw!!U$^d82t1O8Z+;!f#=w~)G+M!fNV zXC&T8>`kgW)#*(t_a@Dqrh4PzdVfPGP1_Bh)XH7(_cBYCrst;Trrip2+$p)~o$$E; z#yEojeu+?)>CP;6Te)cu!&d;E@D1r7x67T;0s9IH-5Ku8T?pr-lMFs~zalP7QN%S9 z(II>lI)mIPj1FPP{n*DmO!b*JkE6bS+(d(S6WpS{HN~4dl}33B(&265&39ln{F(Ug zJy-;Pfg1QL)%t)`$=^sDeF&T3BRC&EflJ}D!p z6VQz(;c(o9Bk+72iI-v?UWH?njO-&dQAjefgzz^Avkd)MeJSaNwWL&PNFEHrewn^Z zUrw^Lo#fEY`__@FG%SJweFfFXz{6myzLMl76Nf^DejKTxbi(>dy;fgE3guG>kr_N5 zQb`4^R{Gb4E|Ra+R4xq%L#2Lyf_@?yoTuPAy-xoLn0UTpcv5kbGNH#q3Z4WLbPu&= z!lAfYU!&xDC%ofem5yiW_4HO_0g6aCr5p*Tlq2DkQWCB=P=Uh;hTU&3wPp9mO9E`; z-WYAwORd^1cpZ)K2xRVqgH5=T)x!6%LP>d@mbITCrX-60oovrFM>&{(U6sR~c1?i2 zY9be@cVQ=kM($ak0;=ebOe+UDuHkH!+!7}<^p=XfcHX>U*~x#{VS zM|o0Li{^qi;7!MF6H%4YKW;Y;tKEges|wn2L?@1BpQRHgux^?~i2`J8vZ(k;oU#p! z?fXA0R@!V>F>5oekX7a%JMm!BDx~xZi#zc!PVRraa7VPu6A1->z-h!Xr7!^xha#L# zT`Yr{I0F{qkx+w2!3vxmwdOM+Q(sHWuE7MDqPI|Y**!T<2>?6BOZ0UlJT?iKJa#ER zm9pP8I>ZnuP}q+1V!p}{rX(H>dkaJK3vQwyUg z71Tp&Pz$2wwm^xXjkN|Mdk_emAHhsqVq=D53l-@J57?vdSiqPqv@u(#a;iD!SUcxf zl~cnxEA5<>DyNonPOx)MP&sv+Q*YP^+w7ceD(5=R zxyjDCN#)$KqcAoiTWOjHxRgeuhDKyLjmQcbk>lWCtc6lM9_Hd|I2uocWmpHR&;yOQ z23oKIHli1QPQxa+0Gr`5QgPSgTDTS0!M*5*2eB2Nz?0!Q48bcHhBt6Me1IFs=xlJ4W)OvjbrRGvT~DdA^s^~{buXpP(a#08`i8z$KaWzcQ0jdB zr6a_zKQ?L_#>R1DHe_WFO8gI8e3iYU z80V1+VkMMLiqXXFG%I`Ef^il2icirex2cHGs8kCLlHZnvYk#&C*N7e2;Lc{@Ha z;$}$Y#M3*r?|+-7XE`I<@tG&^*)pw&9B^WvJ38=rDoc)gu3K~KcR+?J#dTg>>DG7f z8^f*bz?fp2MaTkfBVB$iDYxrLv0V?-@CKNFfj7Y{yoHq8t*{txgX8daXuvxlKm-cn zU9bV~hRt|S)Eh4%g|`CVASH4f4A*~--zmj>N>n|ZqF+V+0IJm0L_MCSZ^ZlbYls>P z$!2Y%8d_8xDi}Ih7yBKhY`Z)XjPGEGi91Ohjwdbn9T{nSmi|%NbcW#CsKr2s`2351 z3XaA2fPgdc%ZM!G}p+ABmFbAgX(ve!YrOltqbC<`74R zY0CK$G*c+hZ_sZf;*5o1PL0VhNWY1HNvudQ9JGBZn6M89oBGZB$OFMw_d&Xek41tn zgB^>>Kh^5=|4b*?FlHydU(ku42&gKg*;)>MN!H-s?fCUJFn8kK9R)EC$yQ$169nc- zvhYvAXnZEls*llcrIBN^JXF6;zdgaK(>oeDTTTd_eK6X@ubff316+JNgoD<9@lM=A zq1A!kcM2ikVL>d^E>a5~7MYyLCRX18k%)$EuU;U={WT1t{td?$iSjSRiRl>8q>rWM z?FR28nLkL5a%BEzj-{MHGOx>fqSUA+Ny;uPiqe8uL6i4%p~dg1(U-x%S7^9jjf*}^ z(EN%Plu}J24P&mpov0$>s6wTGqEtx(X|P$xuVzO=Xus&{@Cg3NMu$$HI_$g9Hlx#& z87+!9J#oroSVVcyJV-Af<`qM>@Be^ieYOQmXA8KfptxNOkGXZDI0k~Rlf8KZit$Zy z#NUD=@NKBTKfy8huIebe)WxK6*`v{^L&eI=5l}%=P)b^z$*?fW*9+r+96e?iyQW{M zhJ|r1Uk+&B!%%W|N&im#7DkaYXF24!3lJ;u7~72?qh<$cPA}}{=;g*7J?E~`yln^mOd%n?`crGu^oy>Q2F*i&1yON@#MM;T2gfV9g&_&&+} z2jm-mNVNNye8W#+3I3gb)aGYUhyMT%{u9>W7to6Tf-wFY*5iNTbb_wmtvtlzh+TfE zCOk{vAeG0IIz39y)Af6Z+DLRr8l<4Q*)bN!l>{YQ(sFqZ2(E z3&e9SqV!%E{yixVnsw5{cQ8>+BkI1P857ynndH^lUgbT6BjZtjR@g4aRPPoOYIDS- zLDJkMCNJ78ifW76#T5EGq_{(r(svpC9l1-)F4K17^jf#JOO(f?*7l=ml8Jk1%J4rJ zMp|Jc2~8e;Prl85$S0k0un zSZ-sk^XyI2gPH~z_xMXQs1Tl*% zoLQFcPIr*{f>RDs8SV@lrLxT2lx;A0r#Q=<*(uKD;FPW3O0#lZ>cs_JUku7k-3HlY z9o(65`mi)RH}zVWyHi~3l)o0H?i80rAI7^gbHo)y;%mW8N&HeJGdTC>?c(Yvn4H|~ zYau%~=UPaA&mBbWM=ni14<*dSHUzEIbXx>bk&#~*=cHk=JF`Pvr$+6jVs7ph4Yu#M za?Nc}sK#!BJ$9p_V>eilKi5zcbz4OH+_W1ZM}fF4H?2e5(J6i*fgucvjEY-VgAx<+ zz2qfT_NEfLvRJdTANP|hjg6SdyW|4hbAhMu;Sqy@WA{(}d95_=9fs5$-QZWK< z6rJSwKxiYDavuDn1>IE3VdA5$7jR> zd|p(4;!ENfd|OoEyJ8W(FBaoh;#k}(mI^6Wh!pxx6UU1zv6}46iDCqO=ZQ69f~XgV z3a=8xcS(6SLzcc%e}Gie0ytWKkd%)G-@&{3LzI_+q`LKXvUr)82fOuMq>!@kRa^&D zQ%l#CAWeGc7(j|NX$m4u5T*Ct1O!xiOCS^hLlHxfUalfl2oR)5?_EGZKm?RtgHl8~ z2nhTa`QG#W$vSIh@3ZIRWaiFfB`fz3*BGv64qq{cFs!5{_H@3rPCpUBAWV2UgEjfs zGbr!T}xkGl(xXF#!$(SR4**rL^-a>Znd(FuyMw@b`9-zbz9%aq|w%08F-c_ zk|QUNrS+lK{+y9x!2d%&=7bhwz9E&KFW0xp>q7~w4p7OE%C;#=XrYoD4hR>Cl%MRu zDlsDLUD^_B%~UR@Ux%B>7ixK5%utaT6&j=N{CsNS*cA;==A%y$nMtn`rCdzt>>br+ zmdl_VA~DxDDqpb@_0l;3qDvpvrjz z;;^ABTv}-Ic`|65=$t2m$e4c7{8;h0T5K}Jy72@m z=^XF8tct6P!USdDCmpW8*N>jL9cIVUt|_k{TQa))`~a6FkcX}1D9u?eLXh-lQ#^%p z1^jlRHcdWFbjS%a=S*tSy|i}`QxaXaJF=7Cl%gk6X7M}bcU)XyX_K(%uRfJMl$un| zZ1<#!Ur!!VrrR4O>w^tS+I==t!S~WX~e`8lgHRgL2z*h zXEyPp3G$Sm2Hp`lN(fvg#jA4is=7Yd^3Pb#D(c7T7WIou;}!@FQ|9|};$g`X2%1BkVnrXzNm94Sqgjj6ki=id_F-u+1zEvZ@~~^;r6xbx zLKKOODc3KpUkp**lJqW%=eem}b z?%=7*&(fy8ydF-TYI{8#9IUhVMNHG`dm-(#LqIwhh`f)DQP-=nL=7A{01 z%MxwshtfBP#4wRDasF9EifiP@(A^fW!}sj*ZRjc5LR7xCN)=a!FAdhFq>bId*LIKA<a)?ef8V-$31gFt79q9LYY^{9r z4-vAm;Vbp}SI}hp_j`aQv4R7ktFmJXF8AH5PO4H=YgD&U*jE={;5DD{%(DneIaI1Q zE_`Gwlia#fURm87G8T5Y$vqcc!w5)hhjQiDAa&@3Y1SDOs+F}>9p=7&OG0D%%H>61=?onXEVN+(5b8{KJ1pbEAN7=5Nm_O zKk2A17Q0hP#9)zE+2KfIuFu3Ik+CW~TsIbC8Ceu<#Mn3WL*IX5jje&9zI`M{ZE_4Own)wLE7#`}!We$9yH8*K{6j!F0AIFn5r=34CndcCuNv;3mJ|77nNnMuEm~aO6D7aKh(MB&EVbh>Wy*YQ!Qzpyy~D=K<#6= z+$W7{nI-b5_HRrs1OIea!a1}Q>ANCjUp=Y6D(>Cw)|;Q1{MIF;aLNZRh;#=gmAUx2 zw9!P5PQ@9!$ITMbQiK9~J?(AL$!Z;5?v-S_Usi^1sBFHHE-=0R-QHADjdNSAt(wE4 zI7cvW(+hvWJv63q3WIhcEl43Kad#gKftNe zw%t5zR$YE2LGZK~h2i$DQ;GW;sVuP<;e^` znCly;92Oj`E^4bW6_&qaF57RHu!H!P@}*~?@^cYKbByom zY+obl`PQ#@7#%Y38U55CrPTSD$dc=yILxumx#Z*!^ox8+e?P%UD|p&+`nSZ?=9f2a zIMx$8Gy_vLCU(RFPru34aY5st6y-pC!XwAM-T8V_&o3W;L+}x0ie|}PtHj~Q$pNR! zUeaM^9f7+07D@Mtq zUC3bM#kJBEaX5U(edn3e@x5d3@~2U}efHPVRj!o?zu}&C{@Ur~m_VE)q>e%*aAY|+ zhTPX0SHhF`$?$ZpH>&9CuakAf+^vm6(7j0NYFDUb&iz1>X_ihb7l+Krk;%#Va;Lly zz5N(}Qn+#Bh4ZuTk3@f)9nK_mZ&cV+xM!#&4CZ1cF8lgc$d-B}y5Bs>Uqp9IE zq)pZg5e+=*p~XBR`#L`@`}-y@Pdv-3v5GMI{J5m(?S^&KlP_7CjXZ;LNjzN#dBwaZ zLiadtcAPAa_-K0HGL~+Le0@!OZLqJ=B&Zh8t)kUl&U=r*(sZ<#MYmBO^}04czeZnL zt%YXX*_MPZX$;$kbc*1~;2V03ZIz)$8fcWQh|d(xCNAV}?8z+V+tc+hu%kID_3sCY zb;H)R`jALRWl~> z8oEu>LM~Uc4S#4kd^IXE&}!N2AsLODaGb){SI}@YwS-p*XHHtkpkhYtxh6B4+};Ys$7t#_|t@n%B}j@7=b_X}Hk&fz-OJfj9!!@lL@K@^%sP&d8E*b#c-C z`ERCF!IHqDMDMtUOG1EgdlKTZxnN1?>LSuTy8-WK(yg{@Tiiaz(_|UF_h;3)YZ{_{ zKbyFIe>$i=eD5L73x?7@AlP!1F*|`W^!UBgI=K|EWl7d^v|&&i@~)9>0Fchkn%s?j zyu{CFM%3Xbok42U?%95&BmI)PReISJ-%CPQLm~Wf_6e0N18#o;Og~|Z_Z*jDJ3&S} z|J1`AXoIjdW{yMMx%HaZ>qop;erQ~gfERzdZBBTf!jL%`b22Kf-)Y?EO`Ne){X!0!T>Hjkw-FUebSWPV5tAB++c{oEhDG0XNV7&2^jJ{qu`vmOvUr?0eYoJF;{BeX zfaepY(aC|Fcf!EiTJyR~_#zj0-eRN3l|OfNDoSr2+f+VmndW_x)hVTo&_`X zU%STKNcBAJ!Z;U#S3&~*RNh)zJEJmcL?MJj5r4YV69I?eF-uhlIvQw+rrN*sQbK!i zvmM!gttv>=!fs29VAF(EPYE4g)$DlVF?_Qz4?IB$Wi|JPCz~fl;chale=d%U`B8Aw z=YVi+yyX>Y4qe@dh7=D-IhbmG1HbLLN``Q=`a)}^vx zW)3Kh&D~SpFqd3ZHln3(5J_6+90lzQae{T$_De>KC2Ta6>et`wrxOVKVLbY| zc^$}sei>qjQ+ayHcWWIt5TKMkB$ui2l$AUJ*Q#@K*15t~ zsa`apuDoOJhnUx^ADGj40fr26Bvrs@T%RI=wxjoU8F-FO89v*&Z4sbtr%XmSQA*ya zQ_5oQY*+tfx_IrUo=R=@WU~gZDsZql__&lcTgj{NeRZ#?_q#61xWj^J(KW1Z(5^;)mngj^PCb z8@^tN(iIQfLIm`vn(n`E3^@7^1 z1x33_596PXCe;xX?__E~UuEcdLDC=^Q78WSWqu6uB{##z0Fht`ZYOa))brOO8QdFS zr30m=q1Vg(^0j2h_bb+GbjX^5$d&gD3wtt;NBz=?dmd%CjEU{!ma9Lxevnjxh~;@3 zsOPppwxs>uSr{N$Ub(<+p|DZP=@ux%&~F>y=Gf+o_e}tZeJ@_v81FGUbh=(@l4aQ`}zloDpw^b z?LE4w^L}I{VzA7T^GrhKh95#n**+yNe(*!=Seu(ntJA0&noQI1H6)SBU3oA&%VIc6 zu}tc{N;E?M8kv&pH$q&Kg1TJIj!+OhDM1EOpqDA z3;p&b?~Y)q(p4>V!Ymna%PXqj^5tdN=%w%RZDVR8s7uwYzV6a}@17DcDERKG$NjhyNDoo7dF_d;xkniRtT0i3U`sp%WkMR0teIRID{_n(P{&=>X%+72j97CCpmr)j2yQ z{P5|Ex{rL8>!r0K-5yyCvFyX zC1A#dm{Va!dP!PiMteamJIZr_=*h$EQl`mM;5rH9a)|aST6+}_Gze(;pj`xw05rmC z?Ny>DL-@Y@vB1YBVlE~k%2|hhOh+C6BJBlYV&V&DZjxr=JEZ@(z!q)LObi+cXqP}E z1&s_ea?mJ1qXdnr+Mt>GZr-K8Wki8YTc{^wlQ1EUlO8N3N(0E*K}8|fRDZAt6%#<@ z2W0|cA4AE24|Y%r$R72X2l#0Rm4)1d{?jJ~wC$lvkTg1wfC1(9V2H1O`U!<}48Uav z5Wi(P^Cbkbz|JrekmUenhKzE8~kcLNztAQo;rd8F5N$)4s@7-PmZ9d z%-|138!-J5B}`aTP>_J-P|qJZK_WJ1ejw5bstVbH13@lOHelBY94L%916KiUXQ&D! z%Ih37IYZSU<^gBmCUD0EDhDA&odH+8Rbayfst4f-PS9Ot1xpBuoX^8sS1_lX(EpKi z39+Gs$!<_4*#9d#c;UYZQDps3d{%^z25@!*bJ1A`vfQAiki>P+$DL5W$^;xEpv-`w zJCq6HaP)_a-Df=`nSefb@Fgus0d{{VeL~-|jmHe|!$EBm z9Ms~#y0D=3%w-PwCh~V6xgZ`4h(&-2q)7f{R}oM}$jY6+goy_j-$>^#(eD9H=BVjk zLe3Lv0b#fKOQ=|ak!L-@$Qe$5Sl}8GoXnZOfDDL6g7aDAdFEyS8oi)I$zGs-`7c2Z zP{8pRfv~fSBf<-OBZW`@6`MmgL;nTjfSfl}0iquLFGB>#zQCgfD!idm5VqL=&=fx4 z0&mCthXI9DK)4T760%l(MuU0#fO+uLoCAdlysLn80GNWCFPK71!#Q18gU5PKPoL46 zE$6gj10E9~`~)0d(|OJWK7lGjjQh@ki66MAr%#~Lkmp1HGWvM6z!iU}B(UfQW*a(w z=0HHqr_b73z(>#nu~|4*qh`SQ0Fx1gP<{WGAp}Gh@Sx|(GzNglgl(Stb_1Zs5Q^<{ zaBUrr;au})>vlSUTbJP1nU5a0f`XC&BTvDwcmFc35RKpey7_@mD5xa9HUR|C#e=W_ ze1T9={K$Whe;`y7qDc;134&e$RzVje@(*x;Bte15AaH3kX@S8YP&7pgTnPqOfSMj~ z35MQ*$j}2N!QjQ@{->n}s6wDdke4!NfYcB$riDK+7y>m=0Z%&ffA;rT zOYxuWb>YHz8}S8AMFV+3RV^i9M{9(Ku%Q9L1){T4QAZsQLVMxwaq035dKtpd4n#bI YUS~cR5D=b4)CQjsY!@!*I6y)4f1BUsUjP6A delta 21904 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 xS!2 diff --git a/src/main/java/dev/ohno/legacylink/LegacyLinkConstants.java b/src/main/java/dev/ohno/legacylink/LegacyLinkConstants.java index 2cbf547..01b1eeb 100644 --- a/src/main/java/dev/ohno/legacylink/LegacyLinkConstants.java +++ b/src/main/java/dev/ohno/legacylink/LegacyLinkConstants.java @@ -88,6 +88,16 @@ public final class LegacyLinkConstants { "minecraft:air_drag_modifier", "minecraft:friction_modifier" ); + /** + * 26.2-only particles not present on 26.1 clients. + * These must be filtered from registry sync and remapped in outbound particle packets. + */ + public static final Set LEGACY_UNSUPPORTED_PARTICLE_IDS = Set.of( + "minecraft:noxious_gas", + "minecraft:noxious_gas_cloud", + "minecraft:sulfur_bubbles", + "minecraft:sulfur_cube_goo" + ); /** Built-in items omitted from the 26.1 wire-id sequence (26.2-only); keep {@link #SULFUR_ITEM_IDS} authoritative. */ public static boolean is26_2OnlyItemId(String registryId) { diff --git a/src/main/java/dev/ohno/legacylink/handler/LegacyPacketHandler.java b/src/main/java/dev/ohno/legacylink/handler/LegacyPacketHandler.java index f18062b..cabf023 100644 --- a/src/main/java/dev/ohno/legacylink/handler/LegacyPacketHandler.java +++ b/src/main/java/dev/ohno/legacylink/handler/LegacyPacketHandler.java @@ -31,6 +31,9 @@ import it.unimi.dsi.fastutil.ints.IntArrayList; import it.unimi.dsi.fastutil.ints.IntList; import net.minecraft.core.Holder; +import net.minecraft.core.particles.ParticleOptions; +import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.core.particles.SimpleParticleType; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.core.registries.Registries; import net.minecraft.network.Connection; @@ -46,6 +49,7 @@ import net.minecraft.network.protocol.game.ClientboundBlockUpdatePacket; import net.minecraft.network.protocol.game.ClientboundContainerSetContentPacket; import net.minecraft.network.protocol.game.ClientboundContainerSetSlotPacket; +import net.minecraft.network.protocol.game.ClientboundLevelParticlesPacket; import net.minecraft.network.protocol.game.ClientboundLevelChunkWithLightPacket; import net.minecraft.network.protocol.game.ClientboundRemoveEntitiesPacket; import net.minecraft.network.protocol.game.ClientboundSectionBlocksUpdatePacket; @@ -95,6 +99,12 @@ public class LegacyPacketHandler extends ChannelDuplexHandler { private static final String HANDLER_NAME = "legacylink"; private static final EntityType LEGACY_SLIME_TYPE = resolveEntityType("minecraft:slime"); + private static final Map LEGACY_PARTICLE_FALLBACKS = Map.of( + "minecraft:noxious_gas", ParticleTypes.SMOKE, + "minecraft:noxious_gas_cloud", ParticleTypes.CLOUD, + "minecraft:sulfur_bubbles", ParticleTypes.BUBBLE, + "minecraft:sulfur_cube_goo", ParticleTypes.ITEM_SLIME + ); private static final Constructor UPDATE_ATTRIBUTES_REBUILD_CTOR; private static final Field TAGS_NETWORK_PAYLOAD_TAGS_FIELD; @@ -370,6 +380,9 @@ private Object routePlayPacket(Object msg) { if (msg instanceof ClientboundUpdateTagsPacket tagsPacket) { return remapUpdateTags(tagsPacket); } + if (msg instanceof ClientboundLevelParticlesPacket levelParticles) { + return remapLevelParticles(levelParticles); + } return msg; } @@ -532,6 +545,7 @@ private ClientboundRegistryDataPacket filterRegistryData(ClientboundRegistryData boolean changed = false; boolean attributeRegistry = Registries.ATTRIBUTE.equals(registryKey); boolean entityTypeRegistry = Registries.ENTITY_TYPE.equals(registryKey); + boolean particleRegistry = Registries.PARTICLE_TYPE.equals(registryKey); int legacyAttributeStrips = 0; List removedEntryIds = new ArrayList<>(); @@ -542,6 +556,8 @@ private ClientboundRegistryDataPacket filterRegistryData(ClientboundRegistryData boolean strip26_2OnlyAttribute = attributeRegistry && LegacyLinkConstants.LEGACY_UNSUPPORTED_ATTRIBUTE_IDS.contains(entryId); + boolean strip26_2OnlyParticle = + particleRegistry && LegacyLinkConstants.LEGACY_UNSUPPORTED_PARTICLE_IDS.contains(entryId); /* * {@code minecraft:sulfur_cube} is 26.2-only; drop it from entity_type sync so 26.1 never decodes it. * That renumbers following vanilla types on the wire — {@link dev.ohno.legacylink.mixin.ClientboundAddEntityPacketMixin} @@ -558,6 +574,7 @@ private ClientboundRegistryDataPacket filterRegistryData(ClientboundRegistryData || entryId.contains("sulfur")); if (stripSulfurCubeEntityType || stripSulfurOrModEntry + || strip26_2OnlyParticle || strip26_2OnlyAttribute) { iterator.remove(); changed = true; @@ -596,6 +613,37 @@ private ClientboundRegistryDataPacket filterRegistryData(ClientboundRegistryData return packet; } + private ClientboundLevelParticlesPacket remapLevelParticles(ClientboundLevelParticlesPacket packet) { + ParticleOptions source = packet.getParticle(); + Identifier particleId = BuiltInRegistries.PARTICLE_TYPE.getKey(source.getType()); + if (particleId == null) { + return packet; + } + String key = particleId.toString(); + if (!LegacyLinkConstants.LEGACY_UNSUPPORTED_PARTICLE_IDS.contains(key)) { + return packet; + } + SimpleParticleType fallback = LEGACY_PARTICLE_FALLBACKS.getOrDefault(key, ParticleTypes.SMOKE); + LegacyLinkMod.LOGGER.debug( + "[LegacyLink] Remapped unsupported 26.2 particle {} -> {} for 26.1 client", + key, + BuiltInRegistries.PARTICLE_TYPE.getKey(fallback) + ); + return new ClientboundLevelParticlesPacket( + fallback, + packet.isOverrideLimiter(), + packet.alwaysShow(), + packet.getX(), + packet.getY(), + packet.getZ(), + packet.getXDist(), + packet.getYDist(), + packet.getZDist(), + packet.getMaxSpeed(), + packet.getCount() + ); + } + public ClientboundSetEntityDataPacket remapEntityData(ClientboundSetEntityDataPacket packet) { int entityId = packet.id(); List> packedItems = packet.packedItems(); From 35e5d19fd8e0e0ada5f9f0f2b1a119c2ed7c13ad Mon Sep 17 00:00:00 2001 From: James Powell Date: Thu, 16 Apr 2026 05:24:52 +0700 Subject: [PATCH 2/4] Rewrite block and item particle payload options for legacy safety. Remap block-state ids and item templates inside level_particles options before fallback handling so common impact particles (such as deepslate crumble) cannot desync legacy decoding. Made-with: Cursor --- prebuilt/legacylink-0.1.1.jar | Bin 1214704 -> 1215441 bytes .../handler/LegacyPacketHandler.java | 42 ++++++++++++++++-- 2 files changed, 38 insertions(+), 4 deletions(-) diff --git a/prebuilt/legacylink-0.1.1.jar b/prebuilt/legacylink-0.1.1.jar index 83b8bbc32a048a6cb302cdf29dd5397f06c4027c..68116af7cfa8bc9cd6f64091a640a6b04254b276 100644 GIT binary patch delta 22078 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 K2)n|;+W!DRFsifw delta 21129 zcmV(+K;6I5mrC%FO0XQE4ZXfc(eF(F04~M=05y{l5*L#|p(B3@e3ZrcIQ~2{?~!cY z93%u-KnQopK}02DKm_V>KD))w!^qdoqH7H<&2nCbKT!m|)${^S)V zq#z7B$+O;5(iZl$lpO5|HP?8FrJ+IZI!|k>x50i};Sc-5n<{@BLI{~vu_mdx872%uIM^31 zY4iKm`AQl>zLG{yD6HQ5{NYeZr9XVg;x#9E>%)s%y?(~B+SBTSEE~(g7UaSZgc0>E zKCeH#!WZ(bY4O_aE!))UolC7E98%Ta245@BLbBzC%79`J{~8^Z`G zt-e+-5y*dwFg|~BRZrEHIHjonqY%bYnUZz%SReE>hPlRuKyYn|1ACEYoi~&Mc?cP; zip+Hm?bBc^j5A@p1ruN*LSAo;(ZDx(3CC&q_8_!){7oe_;h@joG^1x!9V`gbd}<>( zrqq4P3i|?n9+UzL3ZaO`dQG6s-w=C89j)rE{)~SVn1YbXJq$H_)_Pq8?_dk2!XXHz z&mRhVT3Qee&+i>jl0L3Tg-LLj1=FCEpgH|S7~W&wi4CSR8ytZ!tfw+5FayCAlMEh} zBQ2Q4Lt>B|1lD^^n2j(xhEHV+7jLNvd&1s|jrHDEM%YET&9$H$<{@O!I4z~BVeg!V zhM<2pM1nJ%xJg0aj@Ja351e;1TreLNm~gZOm2eDI?%Hwc>v~U1n|E;|F>?Ia+iX8$ za(7Z?lcK4zpc)pDFt4L=Ai~yr!Yh5@W=hd0kmPg$7GP$|P)p-sCzVtMnwqG^6gUxK-tn;-C*&<|3oDt(3kN;^P>UxV z2X<-lQ$3PRh$~ZT5t`M{YTFa$X}9*m9}~KS>x?d)%04Yb>Z&WA1

KhBhLt&B-((G#0@Sb2PD3gD2QfZa))q>C2bR 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 diff --git a/src/main/java/dev/ohno/legacylink/handler/LegacyPacketHandler.java b/src/main/java/dev/ohno/legacylink/handler/LegacyPacketHandler.java index cabf023..b78b2f2 100644 --- a/src/main/java/dev/ohno/legacylink/handler/LegacyPacketHandler.java +++ b/src/main/java/dev/ohno/legacylink/handler/LegacyPacketHandler.java @@ -31,7 +31,10 @@ import it.unimi.dsi.fastutil.ints.IntArrayList; import it.unimi.dsi.fastutil.ints.IntList; import net.minecraft.core.Holder; +import net.minecraft.core.particles.BlockParticleOption; +import net.minecraft.core.particles.ItemParticleOption; import net.minecraft.core.particles.ParticleOptions; +import net.minecraft.core.particles.ParticleType; import net.minecraft.core.particles.ParticleTypes; import net.minecraft.core.particles.SimpleParticleType; import net.minecraft.core.registries.BuiltInRegistries; @@ -80,6 +83,8 @@ import net.minecraft.world.item.crafting.StonecutterRecipe; import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.item.crafting.display.SlotDisplay; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; import java.util.ArrayList; import java.util.HashMap; @@ -615,13 +620,14 @@ private ClientboundRegistryDataPacket filterRegistryData(ClientboundRegistryData private ClientboundLevelParticlesPacket remapLevelParticles(ClientboundLevelParticlesPacket packet) { ParticleOptions source = packet.getParticle(); - Identifier particleId = BuiltInRegistries.PARTICLE_TYPE.getKey(source.getType()); + ParticleOptions remappedParticle = remapParticleOptionsForLegacy(source); + Identifier particleId = BuiltInRegistries.PARTICLE_TYPE.getKey(remappedParticle.getType()); if (particleId == null) { - return packet; + return remappedParticle == source ? packet : copyParticlePacket(packet, remappedParticle); } String key = particleId.toString(); if (!LegacyLinkConstants.LEGACY_UNSUPPORTED_PARTICLE_IDS.contains(key)) { - return packet; + return remappedParticle == source ? packet : copyParticlePacket(packet, remappedParticle); } SimpleParticleType fallback = LEGACY_PARTICLE_FALLBACKS.getOrDefault(key, ParticleTypes.SMOKE); LegacyLinkMod.LOGGER.debug( @@ -629,8 +635,36 @@ private ClientboundLevelParticlesPacket remapLevelParticles(ClientboundLevelPart key, BuiltInRegistries.PARTICLE_TYPE.getKey(fallback) ); + return copyParticlePacket(packet, fallback); + } + + private ParticleOptions remapParticleOptionsForLegacy(ParticleOptions source) { + if (source instanceof BlockParticleOption blockOpt) { + int currentStateId = Block.BLOCK_STATE_REGISTRY.getId(blockOpt.getState()); + int remappedStateId = RegistryRemapper.remapBlockState(currentStateId); + if (remappedStateId != currentStateId) { + BlockState remappedState = Block.BLOCK_STATE_REGISTRY.byId(remappedStateId); + if (remappedState != null) { + @SuppressWarnings("unchecked") + ParticleType typed = (ParticleType) blockOpt.getType(); + return new BlockParticleOption(typed, remappedState); + } + } + } + if (source instanceof ItemParticleOption itemOpt) { + ItemStackTemplate remapped = ItemRewriter.remapTemplate(itemOpt.getItem()); + if (remapped != itemOpt.getItem()) { + @SuppressWarnings("unchecked") + ParticleType typed = (ParticleType) itemOpt.getType(); + return new ItemParticleOption(typed, remapped); + } + } + return source; + } + + private ClientboundLevelParticlesPacket copyParticlePacket(ClientboundLevelParticlesPacket packet, ParticleOptions particle) { return new ClientboundLevelParticlesPacket( - fallback, + particle, packet.isOverrideLimiter(), packet.alwaysShow(), packet.getX(), From b10e662821078a20fb038790e4f3147b7983d269 Mon Sep 17 00:00:00 2001 From: James Powell Date: Thu, 16 Apr 2026 12:46:48 +0700 Subject: [PATCH 3/4] Validate particle fallback coverage at startup. Fail fast when unsupported particle IDs and fallback mappings drift, and require explicit fallback entries instead of silent SMOKE defaults. Made-with: Cursor --- prebuilt/legacylink-0.1.1.jar | Bin 1215441 -> 1215758 bytes .../handler/LegacyPacketHandler.java | 23 +++++++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/prebuilt/legacylink-0.1.1.jar b/prebuilt/legacylink-0.1.1.jar index 68116af7cfa8bc9cd6f64091a640a6b04254b276..4a55e009a2250e07e8f85848f8453da8325310b9 100644 GIT binary patch delta 22189 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 Ef3k;h-~a#s delta 22005 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 diff --git a/src/main/java/dev/ohno/legacylink/handler/LegacyPacketHandler.java b/src/main/java/dev/ohno/legacylink/handler/LegacyPacketHandler.java index b78b2f2..15c01f0 100644 --- a/src/main/java/dev/ohno/legacylink/handler/LegacyPacketHandler.java +++ b/src/main/java/dev/ohno/legacylink/handler/LegacyPacketHandler.java @@ -118,6 +118,7 @@ public class LegacyPacketHandler extends ChannelDuplexHandler { private static final Constructor RECIPE_PROP_SET_CTOR; static { + validateParticleFallbackCoverage(); try { Constructor ctor = ClientboundUpdateAttributesPacket.class.getDeclaredConstructor(int.class, List.class); @@ -141,6 +142,23 @@ public class LegacyPacketHandler extends ChannelDuplexHandler { throw new ExceptionInInitializerError(e); } } + + private static void validateParticleFallbackCoverage() { + Set unsupported = LegacyLinkConstants.LEGACY_UNSUPPORTED_PARTICLE_IDS; + Set fallbackKeys = LEGACY_PARTICLE_FALLBACKS.keySet(); + + Set missing = new HashSet<>(unsupported); + missing.removeAll(fallbackKeys); + + Set unexpected = new HashSet<>(fallbackKeys); + unexpected.removeAll(unsupported); + + if (!missing.isEmpty() || !unexpected.isEmpty()) { + throw new IllegalStateException( + "[LegacyLink] Particle fallback coverage mismatch: missing=" + missing + ", unexpected=" + unexpected + ); + } + } private final Set remappedLegacyEntityIds = new HashSet<>(); /** * {@link ClientboundSetEntityDataPacket} is often handled on the Netty thread, where {@link net.minecraft.server.level.ServerLevel#getEntity(int)} @@ -629,7 +647,10 @@ private ClientboundLevelParticlesPacket remapLevelParticles(ClientboundLevelPart if (!LegacyLinkConstants.LEGACY_UNSUPPORTED_PARTICLE_IDS.contains(key)) { return remappedParticle == source ? packet : copyParticlePacket(packet, remappedParticle); } - SimpleParticleType fallback = LEGACY_PARTICLE_FALLBACKS.getOrDefault(key, ParticleTypes.SMOKE); + SimpleParticleType fallback = LEGACY_PARTICLE_FALLBACKS.get(key); + if (fallback == null) { + throw new IllegalStateException("[LegacyLink] Missing particle fallback for unsupported id: " + key); + } LegacyLinkMod.LOGGER.debug( "[LegacyLink] Remapped unsupported 26.2 particle {} -> {} for 26.1 client", key, From 2936d10e924e60fdae0fc09229468d8bd72f4253 Mon Sep 17 00:00:00 2001 From: James Powell Date: Thu, 16 Apr 2026 13:27:43 +0700 Subject: [PATCH 4/4] Harden legacy particle remap failures and particle registry filtering. Avoid aborting outbound translation when block particle state remaps fail and ensure sulfur keyword filtering does not apply to particle registries so explicit unsupported particle handling stays authoritative. Made-with: Cursor --- prebuilt/legacylink-0.1.1.jar | Bin 1215758 -> 1215889 bytes .../handler/LegacyPacketHandler.java | 25 ++++++++++++------ 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/prebuilt/legacylink-0.1.1.jar b/prebuilt/legacylink-0.1.1.jar index 4a55e009a2250e07e8f85848f8453da8325310b9..c82e5edef3119bf29252aa97c500c979ff4f5bfb 100644 GIT binary patch delta 22437 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 typed = (ParticleType) blockOpt.getType(); - return new BlockParticleOption(typed, remappedState); + try { + int currentStateId = Block.BLOCK_STATE_REGISTRY.getId(blockOpt.getState()); + int remappedStateId = RegistryRemapper.remapBlockState(currentStateId); + if (remappedStateId != currentStateId) { + BlockState remappedState = Block.BLOCK_STATE_REGISTRY.byId(remappedStateId); + if (remappedState != null) { + @SuppressWarnings("unchecked") + ParticleType typed = (ParticleType) blockOpt.getType(); + return new BlockParticleOption(typed, remappedState); + } } + } catch (RuntimeException e) { + LegacyLinkMod.LOGGER.warn( + "[LegacyLink] Failed to remap block particle option; using original payload for legacy compatibility safety", + e + ); + return source; } } if (source instanceof ItemParticleOption itemOpt) {