From 8bde5778e24dc83284748cfe913634561600a4f2 Mon Sep 17 00:00:00 2001 From: Asmin Studios Date: Sat, 24 Oct 2026 15:58:28 +0200 Subject: [PATCH] pl language fix --- .gitea/workflows/build-plugin.yml | 2 +- .gitignore | 1 + ...Chat-1.0.0.jar => AsminVoiceChat-1.0.1.jar | Bin 940418 -> 941934 bytes build.gradle | 2 +- plugin.yml | 2 +- .../voicechat/config/ServerConfig.java | 113 ++++++++++++------ 6 files changed, 78 insertions(+), 42 deletions(-) rename AsminVoiceChat-1.0.0.jar => AsminVoiceChat-1.0.1.jar (95%) diff --git a/.gitea/workflows/build-plugin.yml b/.gitea/workflows/build-plugin.yml index d8cfbd5..36254f2 100644 --- a/.gitea/workflows/build-plugin.yml +++ b/.gitea/workflows/build-plugin.yml @@ -33,7 +33,7 @@ jobs: run: | latest="$(git tag --list 'v[0-9]*' --sort=-version:refname | head -n 1)" if [[ -z "$latest" ]]; then - version="1.0.0" + version="1.0.1" else current="${latest#v}" IFS='.' read -r major minor patch <<< "$current" diff --git a/.gitignore b/.gitignore index 394a356..0a20f5c 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ build/ *.class *.log +/LOCAL_AI_NOTES.md diff --git a/AsminVoiceChat-1.0.0.jar b/AsminVoiceChat-1.0.1.jar similarity index 95% rename from AsminVoiceChat-1.0.0.jar rename to AsminVoiceChat-1.0.1.jar index a3971f91448ecf5db560fb59e06aefa522efb24b..796e864308de69f44293551790736741bf1bca88 100644 GIT binary patch delta 13811 zcmZ9R2Rv8b|Hru>KIZ+{Gh2wV_g zcp~zs-{aR+(abNE=6sLV*RXc7nqJIzXnw5N%-y>AI=74+s+i8cuebS2l-O~L3zAAz z-!$Fbb?@}PI_Sz3DNlY<{@l{>q3hfB7>x@`yY@;S`NDju9E?sq5)0i&>yMr-Gn$mm z{vL3t+9N05N6q?!;)lq6@B2oQY~NEm?^L+&M*r?rjl5B-@0(W^U4i_SWiRsMChoUt zd>PpHRNU=X>g2A@6v2z<-w1d3399poMV0t0Z)0A0U6{D&ARU=+d5f&TZnA~Zx^key zkLS|?{mdBMVX+gTg6RYLG)7`C+FkNp{#4rae;l|}KC=DLoP5>}9Z@z`xxk=S7@z^%q;m*f>G>R|s%CZKh@2ezRC63w1?zK71Q%Ihe z`?%O5XBXUkUtK5aao_Vpwqz+U%Q0oolke^&X!uuW4=KK=TUEdNP0C5Ot=*s09?Z8_ zh;xwJfY&EOQbBLycRj`D3AP7r|B{Y0WvI9HP5(wXWfK=-%XTvD@YcLZ4l;c_z4;%V z^jA3yYW~rGI23AGe!qNXW;>Y>zML%f#>CaKlFQ-gLwd^szULz8N{X6i$QOq%kT*#u zbK9HW+d~y_y=*(HM4|sq=g;%zT1Ekxp|1|-2jqvR*^!FVct`xAVn0osv1@iKars^3 zqBD2Jn?wDAS=oupY0Rd^O4~jBw6_rEc-A_(>onS=oAL6ipQJwVyXj~p4!2y~xZP2HGT zP|3SZZ9$cFzl2i~vtk5G%@dFO%SRZR=+rVByC%B4iwc#S1oj4bF_rmy-pr))y0tw! z(|W2R)QDcy!v3Mq_}RhWzAOu;&ds`=Mt=rRE9bgcl5#`R{qqaIl$`}g&kOWepiyVl#$5w~mZoQN{EmvP=ce7SmDOw@Cw(mBpJ zbvDYFL-}Xpm5Tc=+ijIUh{V(PEiGxfs!U%p2!mo$*)m|lb%-M?$z z{>v%9#X;cdIlHOOuAYN$Vh)UJe|^+@K*ju!&b`vIG_6rnE-pFW{Ja9Muf(a_!DliC z-myPAHt|f~ChNV{*2a39k+kUUGN&LmIv-2RotJcjsUNq>UozZrWqygBpKE~MY>EM~ zwQ${5XnMSdXKPPz%4}uYsqJJVdRp`&q%&TX%Z6xo zak_o#Z3{6yBi2L4NL_x@(?6o655q1lBr^~k{X95@FK*hN?{rM-$_lG1&&%WK*J*bu zl-#nE;Y#64sc;^QnPLs}8T{5Y=vm$HesV%z?0(hbRrA=q^wJadbT03%e<^4j`~A)N4ViX2^XSB>t>G_AHxzt|)M@RI4fIj}U{zXc?RV}* zN_EvSiQ$z`O>QSfb0&h?TaPw&$r-9w`R@*93(Gtn>%NIo2H2ciHHx|(8D#J;2_YesBW*0Md@g5ep3OT)8Y>;#DC*pisIBFLN@p6nM+)(G77`f!5yqQvr+Y1vcRX$_8b zpEmgw8=Y^zz}K4=d+~Lv&Vz#oOP^K`#vP|38|+Su%2pn2m=5Nr`Y991Rz1@9QTl56 zJyA5&!|O*Nx5^2}2kBYjTkOdO9bSg^5AS!_p0aDt_cLs1tc%)E8~6Ozg)3n^lO5+X zXvv=sIu^Q>c;;Oh9y%`cM-??|!$e&#Di|wM30AmOr+&U8IkBQs+_>BIf_a+1KS| zA#0&bVkZ#Pj^p7jwW624m#g{B~8?~uvsgVJDc&bhSC-l zK0mU7&-KBC()%)FM}6fdK6rEVFwr|jeZ2myxmUnz_~Ff~8;|ao&Cxtg2rB+)dg2Q$ z1M3AJaly@ATX(eyUCVX&d7MGDFiW*lDC_Zv`SMeN5vxpHvHLvC*{ZqYMt#qnX7`MK zKbyH)JnNq|IdwPQbK|n<@@^81bFlDK)YT2ghqC3~TKLqNB1~b@ZsRzvYkYC3Unvbv=QEeBuPoD?(r7HwZGsAe0HBMHtN9{t|01SZa9aMy1e z>6f-AoBMVIr$mK!I60K{o!w~mE#{%ETTf8P%#*Rx?PY>DcyDdZoqai4B5*dk`WSkm zV?kU@c~X*!I;e4lj@IRRBHf2GiPM#t79#B|Oi$x?3tmf&GL5V-?m9H$D3&n$dwRH| zfFWYskwwA7*e_-I$uW3b(m8)b%{t;Qz3#U}45r-GVp@}`MuSiCY zt|@GFi~iAP8M}32o{dfXDCJ2wru8J*!pC`K;|ga(x9#ZthF@R3tjtC-J|EbaR&ZJ?g;NAJ5uMLb?xd%{k2q7?emPw@=f|J=tuWKP04T z!MAIYkE|(7kaf!(?ee~qC->#8$hV1*TM9qjdSzSF1>dd2Z7>P(=wJ#vdaUS3-p4=p zqMLN?9HfHXW7H7`Vw@b@IoL^CtRIW3eMy7N?a1 zYtW3e@6&#H9I{3}hs8^$2?Nw&E0t-4rkSSWDNE60E7_S&K0 z>C2fcJ8Z+v;kQNNTz^&zUyWZ0`4FsXGgAaFlq}Sb3IDvQ; z6h|qzoh7&5PrR%3BD#vJ@%Qz#jF+$C6s9}Gn;03(JNK&2$=@iq-gD{w;;)D2csJIU z-xJdDzG<;#Y0FcGUB-77(mG;%SOwAi-Hb^SgGJjqRg~^ErmdQoL=45qmaVMpoc)MC z7@62|>B#Ty1~oQj`{!pa_%kRmw`2^CJQI2FR#Lz!gIcPDi$x1O=+@n8DfRA)~U5IoZMW z3J-XBbJaRRUR%BBT{4WnmbQBAi)V(#?LqE0Ee)Ps*V{U_EPa?a+c#oy+BHeDFx}|e zl(yfI+uTxFgXFv8PH85m6Mke)oJ#dky6iT>LNj@A#q{gp)aZ{Q^Y3%6$ZWh4l-QqO z-O`-f{95&jd(D@tG`_CrkxX5>i?63m+a$+mPez7n6lmHT@BMux?M0J_RLtlqOTgD0 zPNI!V!NYvdi{{&0o?jK|y)!aqLSB^LnnRn;{K=Rro0g-<49A^_Bd91z z;bnxx-Exs1jE7D!kV7~PlNx$M+HW6RO-(Hkh?~oK)BM>WLtREuJ!F8n{b!%&{B?56 znSIATW;ZH)0ko5zY4i=ZQ!`u!e_RiHGN)**vp=`?V_M2?77INQ!N9PY*jpvO6(=`n zC9bj;+4Jzksx$K^rqy(Ci=nJHlYgOvXHUMKqMz3HV$tLu>!K$UbR?y%#L5bTWX;o} z?_8a{F6?lvRzWCrgv~JAAY)>ck-sBp_~&J%?C{$S?*|gt2=kSDbw1>w3jqamBhOGuIEt_uMsZmvv13 zwj)Z1CDJcZKFZB{)Qjx)gEpm2HV+xN(kkHMy|GZ?r%LQd_J@0)PHhWxzu-_!tY>6% zA0PMcP3U)E+4h;nx9MW;)9_Q&v+pqseYfj)!WhYMJjS zrEM{M8x;^(er=AOS$&DgRO|Rx0S>_M^ze;{+@sOVF<`kUdS2ApB~T^#`L;8^lT(zE z#i_PAUo$-v-*lL>$t6y9=d*|QZ)c^7^HXa!$|ZOS1YgMw2n=U?Pt^J*FWcqim|s^M z_C-1F+K7lDmofR(<6CXd$UD4pJG-YpHcMyMEq0Fyk7kxs>}r{#mQSTi+4a`g-(_#O z>2|XtaxxO7IZ+}vo9?qWdWRa)?Hqjl=8JL4Qxz+Mu9{nXXyTmR`#7=Ai;r10>lTZw z^jO6#j(l(Y7H@s8_;rKZ-I=7ZZQJICUmD*1UYt`P^M*KaAiact1AXZmvNXR9>p}b2 zJQYb{DqfZ9L+QqJrj7^le|EVl9rqg*mw%SCswz0;BbN7JbCw$^b&H=;DxcAjZSm7( z9+h%WLZ8?dWOZK-{t%?njyxX-^V%&uon1CQ9t8#s9Y79DEa;Xq^g;c0{n~a%;=4hNxxIHe*WQmx4qRmdc@8Yp zoo7@sq%V9(eo!c2XVihpMVkv6Zr&D@f0fcuA|9 zo{|05Q`Ld7@%N)}+<;P*x6lzQL2%=L!ZQ(1J%02D|RvdzIaVZ zd)ea*-D0K8wAn^q#k?fC0FMpFY#G1q@1o}qAw(Ez)1J8ZL0Dvoh`cfZC*3%T24QrTfNm+M`<$>aP* z$%5x^@B2Dze2V=e{r5gk+3&}#7e+swbLm>4J#(%vVDLq@V$A6;rEYxBVw%3oI|q^N zx>oATo_X~C0dl9wj!jiVM(+d2^-q>JJI!-2E66T6S49u(3zFae$mhrBO?C|$1I28` z`cKC>0$0Ao@<@{(R+S2qwPTC*t&Q8r9sPGQChgn0ChhNJUQ^S0>UDf-Aa#5}$9Br| z#p-~+^V`wp9D;p=)+wp%*pzpt{l4xwJeB^y-KEMbE7q}U!CKI1u=ljUySxE9zv5HR zi0@RZrk)p91QXvCSJ6)2`IdRuOGrDU>d%tRi=yXN#)tToyJ!zBu_`}uuYDK1zcz!s z$M1mn*%v=&2biYG;%7PXMsIWr4|NYBjVwyvrl>|D)H)+}XXw-?45rwf<4hP_R#`Cs zCl`%>&zSAGEbK0N4)G8keRPMqw@_EmHI(gC-{r^Lu3bCt4DG!0d8d9;?!IP~-zvM# z9$Hy?b5U2Y(xd9&+sZm0?vpL@GdEoiogkCLyH`|wUktXZ{eBePHFdsgYOaW!+B@bm zH6`!68qxgq>W%I@O1b)N+$$2?D<>L$&MrLovRV`9TGtO8?~!Z!$xceExxfSx4Pkh#iRmoIc6>eNS`LF5Vmpi%yGRP*dS>zRw^> zZl#wy7}j))A@2>%?!z?i6l(iV%^c~P3*V)Eg!P@zN1cQok)`x{Vu5CHc+YdD2(`#Z z0;KUdN$0|Q>fi2_e!bT}*O}sV`Evis@syTREIuEvS>3O)@>A#Vc>hwRR$HZX6L(K9HFd-_}87kJF6*?!#9ud0P_oK$qP_;L-j6MtZKAwxw8a>N}y~TQ0&{=(sor)@Y zQ~Wh=fpssjZo`*Y5!xBl@Q0LYXAmNL$lI=V88BCyHIk=&4ev_R){2%!GM(P@-~b5N zpl|Jm2?mF|nXKBVn?tsr9mL_=?*WE8( zd`gwwi(YN}u(Xf+))?<$Tees9H&4q%NuDAf)66=j^QnPx=woOwuirKfqU0!bS5(Sd zzYX(aW#Lk~aju3xJiRuZPI6O`-y+j+m-Ej^QJ|a=`w-Zd1-5G9##|sMG;<8?|7>iL*5DM+<*M_@jeAdiZ02KSuatfX?Z9;XljOa z-F^hK{dn^)W&=x)PzA)Ne;u~YLp6}70SYlgJ`epBMevobLO(1`@G(rb|MNQhaDbW< z!>l0kF`VS<(RDVik9Y_x_=?#CzOS`XHzYc5Tv4Z=UP2$%& z+i*T=fP7e9M+^#3EhK^obQGZC;7$RY+g=nC-iSLZc9a7(j0h1}PQpS%pTK{bZ_O}G1LWmOuL2V&SKgxsro$@^l^NV759}>F}h!&w92+Jl+ z3j-H1ga=d=!G;NL!SV?LFG++QA7)cA3{+9U@p(DuxYmWs7{06l6iZQlP+g2}qh1Cb zC8!wKQiAFue{?Z}D2OdVjSy=CT-a#9(pO91gssdlvJWvk0Irpyen_SVc9aCtWw13w zPh6b$g44Y;im-vzD%gsWGC1JoV-y=NU@eCQ-|(jp2H;Z;laB`BM8_Xt1xG7j=%;cR z+7N{$6v7I^U!mOKWHrp^P=^<>e-xnwHPxswQuz`mY0psh_yKP^fDXcr zJ+6UM+xHAc>}{mjtq{3RieLwlHSqkA?4}SDTy8@IuuvJ~?fZ3@REt_7H$LO!d@X8^ zFiqkDmZ6R>jL~yA*3W4QmH-c)!)56CNg=f0@pcj{?*-f$&z5i;_yV;+99M85!cU+B z6ED!Mh~nxx;#!AVQip=+dU#HJSVmaD_9i&Dg*rIiF#`BekIDjrdQ=aop~c0cdbr!% z=`i7kXfa?%x%jdqK9El!Fyg^=FJW*D6Yh^Tz#9BfT(r;;xNx7G2IvFN#kB#_m1ixt{F8%q9uWUGkOeJ-Gm*Lz}#z256= zN4wz)n)W2f+Rp2&*e)x!>QAKf-1TFn=TAnX(l3zs-0CMjkxzs@MLBaX=@U(A!yN-N$kE$W3 zd)ATmP68`FpvMO|U`zix8_NJn2OfQZy}2~}FV;p*jIJY%!>}#q2H^PN)9Y~i0IE$L z2|5N*5x|-bFJ6P+2~0q55c)OD<9_)=C<@{R;ax>(X&w1Bh^iujs}v##4i2FT1YsH) z5Nb^$0jh>jbHWkYze;u()h3Whe^uNtYDAFRu%;ee=jP6F-){f#}HsUcAKxUk42fXx&O;1qq|jr>_UY zdyv3!?6?Uuf1=?7R*Nu&(-<^=o4}*?kHdO0#!w|>c5)rrK1Ra?NaL^$jcE#2Lta|~ z#c!w-5HX?U#gmPW!(<0-a6J7LCR6wd@1KEo>j?M?ryK4}A^M2-K1_HZpIot{9H{>W zFT>t$n2-cDPPEKGb^?yQ=KzHeLHGnLa)$>_1}EUd1x*Mp^d{jF)Lp=Y7)YLkcYp5) zT&zyQS~8+=;q)C^UdG{qH;NVoZQtP_mI*i!oPy2tPr^me6kM|(CAesrLQN5g8eFJP z!xN*q85cqgw0t0M8fIB&0e#b`Gg8)y9XEmfKj04V>H;0J@JX|>g_Z|s&%)mK{($Y` z9L6#43~G(s{)mh7!?X-QbrxPfAIv}>*-;AS0jo1`1lh^IWR#X0XmY`I4*Urnb-&{{ zZj2T_T!h0h#xN`}L-8hIY2hCU@ELR#RR^iFs3H>n8x!XcV+4r)MmK==d0GLG^P83* z2wi|Fp3K1%Q z?ER=Y=sN;MQG{Wjfsswb_bCK{7;xbUMUX(LipfDIvugLZ0?KC(o_!~ukf0Xs^9TL{b(!;gzagrtuA zk-)_s0!a&*lEp>7JUtDlCXh6dy{Z&K0UT4+u)!iYGyO$)1PG+z@*L^#0Qf&cxV2y9&FQP3*^cSCHh!G3u!f_}g zOxi;Q6q(^vKQNM%ksbmrHvfSItc|dP2?ivw;&_~q0R^c{BpGURpukL$0NtV5Q>07(R&1z{@T+t06Z= z8bD@+i_Cj<9m!`SF@OnHk^*%U_`ycn1R!7qJK0D|2wUR6eg?>`t2Q{Cn$9F#|moB7QHTqapX7k(7E=T( z0Q@kfvK=R^O^j^d4?j%#s|P1G8{k}u`!FF6NCG5!z}n5o1fFexKJc&Q|6v2<(ZZTY znqg!FX9b|Ojsc{L!=PpXk}0CVj0<%^nC^!#E)oSvdIS{RlBODas9_!8Z~u%9`O z-wVT0kNe@G(Hjo5cJ3Y!fj;7=a4a9pL?jXtSK#x9<3?ynd4>@waC;-1m;7^FT&jf8Oe-*2N&@;U z)Z^HuhKUu&kr-}kz;TNN+*YZyz;F{>2x&>UGp*=xk%llc;8kQu!hk+z9Lv!$GlB1t zuy%hEMx=qU6udqR0)tH?8IURkGrZY|8)Su<*}!8d*f@zzFoW_Y47(#VGI*xOO>oy| z$zehqNK3=r5w3uX9vS8hc&$&QVW77fj;j=yxj_p7=Hropm|YvkyJX~z9K@Me+@!FV4tIOd0L26y%_3jme{*eY}jiJvgPjk_kM!3Omc{mch%>ECE;Vx#gDZy+~z(xtSbZtl`C5UrMDR?WQR{=!T zNOItIF*6V7Rf2u(drl!JFi?i;{keV}v8{pIX6+fOLm4K!+JxIC>)~G5q5|VbT5vM0 zLL!1_71%qCb_y{>+&d|P0eGvzt@RCvsFAclw<^gJ+1!U&!;s+t?5Gd6_cHT>IDJ?@ zvpO6teiXx+;P)_Gt~DHvVg0WlU7h5I-2Z_cRRKByC)2J0qmF4{QF9oU1=CY78N@Qk z)B;YdW?Fnf(i6g zagl5Ur(CLr3l>HAu07ufu868JENHJ0hL0n8orOh{_f_8`s_Zr%Jn(0a=RS}oncHB-1E*-j`sM&N^?Da^^^j$>C- zcpfUiH~FUUDiwAR%$t&ok@K0tL*TGk1+hBTM)xq|O_g zxGP8bpwi0z*>y9{AC5F2yttpX=rg~kaAVFWt6U_kf@Y*e_v^oVpI3KGKG z6DZ|wOaixe|6M17UeI5@hAwS`OP3sk1;gi^-7wSSUyw4s)PWh|( zvd>qp)l=P8<{6(IXrRB{c)PH&w)p3j0vD1#?V9fh{8BU8y6*HTZo0N% z%LR{z3rs%ZO|Q;eE`8eO#?BHM6`0?(ewy0MBZJd6H0TeH?dchdhgbMdq8UHmR$?_tdJ>9Z?C;%*?tCZi zh|QWNk#J;+u9#C@M3A^-rS<-_bh+h9pQMZBB9xaMbkxysHh-S~+RQRUY~A5ilD4ZP zz2ozr-G0z594W7&v8^RtKur2MQEz8`w_W)Pv1P^S#k?ClmVRA+(Qnh|fb{QNf@<4Z z#)NaV1-J0}cVd~cA zP;W9L>VT=&{AGFRTfMR$GFsIaJ1WWP9_TE;+Sbshy>1G=H9_g7~N4LK8^MY-!uWq=z z*H6CSoqN^H#GA|d6a8!=&m4H0X=b9IHI;2RUqdhAPLgu%7wJ`U?Ru5N)fdk{?|*f9 zaAxeZ)A6rjrx(cY*s#8>dUwh1%T1r3_uI&i%&*U1WzZktZQ8rGX%X9aNTk&5N6GT{ zYUrII3U2$1Tiyzhk+?QfKXOgo!r|F9Bks?0!b*!8jH9=$zb7a7_~)$r6NY2*Tha~n z5?xugeln(;Z9*lyZrA)`HF{WQn6sL1R`t@=&NZ1H^Zj~!&4@&8Sw)z~@^>D59rA*k zC8aaodg7mVzh3%M#fe)Rv4`;&Yi2}LINzNvpWX85Q?GLU;dcY+uQxIUS%C-FJr_{i zGkbev#)0Ym!WZu4*bPa=%ByA@Sh1z@?P{FsqM5&hLOgzNt>2^Fq}g$N>nyjW&bQRt zOnW6MKJo3G?HD z+D$T-c8*L>RZH!iWwM~>M2n{LD1VBP%(Q!yT3Ys?jG(%@=Z!OqdGuF5N&n@SSn`?y&S{bWL~M(iPvz?wC4N7?GjRC8Kgr?#CMA~pw$UAH;D%JkI_+NDPqH_cp| z-E+~|U1am-n>CxvW@alp+iy>+FS^nH>#5u`LA5B6i%FMtk12dyGF#8Vw_p`BX`YGE z%ns>0Q*o{CZRXDP&qh1mYZS9Awlzi+ZjmWceO4~W!!E2|Z$Gzu+bgq$jjW@EZE&%iM{LB8lC77V!woF_rd-Z6T64B~L04YE*Uuugx4xcT-dXp7 zD5<>i;PEv6;IDsZ7jHVYa}scn)9t`>;c-sIEM>wvewtRIwtnB`ZW8K@~aOS z*Pc{sCEDIeKe_kAD7uN!+21Hu%M!USn>%O`qo8snNXp&y$fH;ytq*mYHA!I_+OOMX za&9g2*=MBPG|gk*TXWUYU+4FSZLBcs9*92K)yvf4y0*--SLmVEY^AdgmkEeB&;Enf zA8ujmtea9NSF<+s9AVu&X9x4cY(kV}aa32xfE~8=o!{%tyL@HbcdJUYCd<%`Z}vIL zb|&e1=Cd2C z-)Su0u`qi5$!G6G7qhY@MGyLz#!6jE2%W#*J^a@2jDl2I)74XdoIAba)V`@RxwDo9 zuKw8<<|=mdlyg>LCvKhNACkw6W)9A{nDjtjX9?e-V55jPtkc{PMJ>lm{parI?_b~c zr(gWMP5N{__Tv+~JTG~LI3oV+;C;tt+&^(HsqW^+(wq7I(<8d1=0&&FNYU*gdzI~7 zi(7g{9~K5INHwrkU23zZE2Yc8qTP0TW6Y4~qODz?t24dVTv51?AQV|Dwjs{-2gA9u zAbCmt{nW<=adxwY++%v`axZN9$vb?@&SJ`rpR-hN{SI^)WyiJAw!I(uijVA8=I%=4 zPA`y49vJyL*k}`aeVGeO3%KBRQq@?A6#@uBt*NdL`dWf_~F0RVY)H~L4KQ}Z^ zA$a-7AG(gOL%h&ecJ1NZ7=x21bqtDDj)Xa%oV!cHRAQv=yic54+C9Tas}VK%yse6* z0-rt@MivC{vr~Y1TkDuiG@xQ(GXZP@Y z=GYqNX&Y)2TbM|+;>8!gW zkzl`F+HK#;Dk-q&uTi&XAFpH)&d>Eg@l1(JW@C&7&;8gx5Z? z*4ZWrA@O{sdHW~ zU&6I#;B1!qtvlK?zoklls`_dkW9oZXaamzg%eLKfN8TS)J8p8?(5|2j%MZPxmyMFlwkB*q+aFy> zYe*fO(i3&OD^^-3qr~-Ui^bWNZ^CS+sLa#M3w#+4#W{x;?`i94q3ie`WT!Afx^A?+ zYX~lB+1nCkcS9iO&durC=BrO>3g6Fb@fN-4AUtMXpt>|gYkTyms;-qI9>*Pc_vZo3>wf zCQF$6?TTRi!u_*k+MN5(Yo{2vbbi-*wWc{Ebtjzv9sWj+=jZ+|e7>+^F&gPiP*oVq zI96~_#9KA%{tK_>M4@aM>$aihwiOY}*%iM|#eWK^@O7vAZeNP)-Q2qGi%Oht%I|F7 zaBr#pj3Y1Sgilk+w6-?iB$1Rd=GNTeetT@8@oer8k)vyk<8oW-qQZ4PYtpV((cA2n zT$c@tD8P&AH5NqgF05a;n@F|cJN~Hu;z=9+<;A%zjpiFPUMbJLXV@1N$t9WRl&$uZ z9m=ynn|{7CVx4wda{#TNKCYm#Kr^98Em!RX&2^a#ri1uY08AlbDAe3NDQ9TPh~F(y-vmj!&Jm zMPc_FI+7JD0-k)lqp?d!uG+ZNFU?Ffe>!lgQgM@r|5Eb=nDvy8iO=dRBVM{ zc<$1>s*CTcieGJ(YTWT;C?uE`;=6une#V@fy~XB=bMEZjX?3dg{b8BS*WNXRo?SG2 zBC{xRIy=;WD>87sp!|(1f4JS#9$mWFv?<}^aP0aO#ea0?m+vs`%NuwY95>@*@W<2^ z^D}eHtInIpKL~y%d}}NtXM?dx(HX~zR>LDQ*-s4j%dA``?X~AlV58Tbj)BQu`M>4epv%YOD3U^zM$$y+UU<`JAs$h(3O7t$2Fy6Za<# zNh8V34;D(-KIq2vT7CJmYU`6dT-O6jD_PawOrF^CzRX@UB{yqBaz#1wxuBCFn^~c_ zd{ileViMVk`iLVgFw zX&fBm=h{3Y<+}-+>$~!ujZe**XhKlg3uP9HJ{6R-tFc3?$#;L9WLB0$@S|r zHk8dAvgG>X!~NZl{@sX+y?iF$+wAiuaaPlu;xt=d4_5zj(faK->S#Td6rS?4xH?{U z?Srv|tE-(qsqIes70`M5kw?1~cb4SVR~41pAM6#9cn+)jQuju-k=n48OeR}kz0zrK zr=Y?7Inm;0PxLO+>9p(ZA?AC3Yi7jlHfWM;!ZPb}>FZ@$mZ_spE29}# z55}C=TAtqNdaEzSz05jV_v+ER?W)n-n-1zO-rF{#&&{yeNGqQqFp1gD{WUu>fw8>QY-HWXYRzUoS(gW z8*!?kdE?mlV~mZmtIvJ`F0N3y1N&CUQI9d(&*2g~G){5D2P@Y&McdWReh}HAFK}IU z$a3g09&j+`R?Lu2`x0w0=3`w;G0P}Z(RKUO>)iCQ2Pj$qVq)q*@Y1nFZl*R&=)h9bFt*TMW_kc5(FYXw8bM4>^$64VsEk?W6 zA*-4m`q2k`+s_~0y1pT>{laCXcz1)|C~UCPrMkI&l(nKs>>>Tzh+n|j>1S8$Ut#m2 z^va?WKPt+;d`aDW`|dAAi4eu>Iy-jM$_HNLQ#g9{OM&*|7Nf>om2_d_Z?h%Vv->RS z4ZggVww=orE?9LdK{iWY-(2u;aNotP9i@&UD;urhDpx)LKN>_4+br z3u?6OuXvm+!XsPvx^4yp{|Xa-A3_Eva9K3uOYk7g zbGQ}OpFfGDkR-5(B+}@`IouIjc!nbwXjd7xFgkS+7eb3maT#n|*(BT1Qrs6Cxj>Qb zS%d&Owi4$<+E=(G(HUhz2)UL)NPWeB9S)S?9vI`sf3e_s+!M>Fo`iiOa6!~|ms<*5 z*$6GDJP+wy?oM*Z@gw+ALIXUe2Ni>Z;RSF=YoHuTTe+2yn%5FWHg3PN?nF#%-z0vh$80%|N3 z`L}~4QmBMXMUoWuR)&yOl~7+tmO~~wHCzetc?ulNhxD)D_LzzahcJ-41|~`MsPYPU z>#I|?fh)Kj=Augpx2rG&*@mQ$K}T1?s<~$dQ94!7#*V8HMVOE_Wh7OF+hW3Ilz35v z3!vmG+!PD7;1DY;#GVp1*KliWeh?|t(awdK68d!=^0i%qeC5FuezzDCLaEh&O`tR; zy^zE!F`MP&w>}!Uj+|=WgH@*t4~iU~R-is4Pa+ki|HL!t1M{ zi-j8~(OC^G58OnFU5S_kx^V-_uBd^4UGXUI7OsIxYG9PlZ{rAFB!3e~K`KRpZ{bX| z=O%2>jyw**Gj8F=nB++gu*ZIuks=yvx-5t0D5~_vr#a$HH zSPN!__o${8-+?iD$!`y|<0-hExd$nG`^m~$NO1&{Lqr`cvepr5Ktk(qH!R{CC7SqY zyr{hncfy>0Od=llad+(C&q?GyH%$=P)x$8pz7OfQ{+?vhu7{Cp8=FKj>tSQYaHBPk zVLgo3DCVU}Q}IR(5bs5sWZT?;&%}=LaELnPsPOAg*SlFhOi)|!#zByy@5Mzc$L5|L|x(bSUrOAb_?kw;rp{%LGO3uJAOr|d5@ zX#z;56}I+KrAcIOE9@{4RSuCwf^E1ZRyu`4bf_ktYlCE?>KrU}pz}N*^3eIGn9f76 zAJ(Aks~^J1r)p9{?=jAUZs@~2Dcpm37JUScT?YTQF_DZJO_*}nMmnsU&T$Yzj~?NM zSc5r-*kQ%iq&R@}JCNTV$oC0cX*69av1KMr3N_|IEs=Ieb1xhD1@iXuv}H1YAgkA5%&u?mpt-l1k!v94d2iO z0gsN6*boVwgzd-f2K<)9A_XK~hOtkO-|DEO7$ya62J`tBV7_~X!loA?iq?&rW4t9C zB1`7c#AcLIB>FNmdmtA=zjZ^X%q0q&zl3$|QBH|tFX0-x=^7>YUqQai8cIaGg026e znG(bkSh`)WAbDCVMf6|8(cS%s5`xcZl2oP2*H9_5gM)cd(@R*N0&gHR!8_LRCrx^uT4y z!kH4QJ?Y{Tm(?DKUhGBTOh38^g=c&KoDxdn<(S(_%DiO_T^O-G;zDxcx1`)$T+?Y> zTzr3TE4d02vo|65vB;Db7*9vTYhgKcf5cfR{UdHndp!x6VqD2&QaE=@=qzN>iyL9$ z`z8@vL>E9gy)fvqS^vfi5F;jh~I-p8s&V3X>S{ZBpY2P*-p;n5vL9siy?9< zJSN#T4?*8D=T0IWL$JuU1WY2u!8~GUrxM)fh7Uvhw|W1zF_BIv4NSI1Z!_;Foy^uzMatIo==cgYApxTk>+OzZI7qO_Rp{_wR$B-Dh0sqg_0NCJmoEVe8}}ENBk{CzKt7Fr^)D zA6KgA2!pVq0%B8TP`Q6jP86KUgkWkwO){aA1m)^Ch7$p{b%m2`I|#xE zn_tEuJZM)rlR#!=Fh!Ukc;C6gv58W6F^LOrQ@H6qQ-az6btG=CqwvorzzRap!#fWq z;@hBsaU|&*rAVC+l9inO7BZO1Qbo^%345A` z^0+cbSzn=j;Uchv%+!e^{FJ78Z!PlXrzBFM- z)2sN4CU$9&Gz9v5nc(c7EPkY^0S#ct0N?X%f>-^9LU6|*gqD$9W^|nEp^GwvK6eFD zmLW6{E=xFIv0TVkmI%kLVdVEz)W_r#L_@N$DB6T6;wT3jVF|pjAkD|+U>~xrDN*9c zH*qYh%9AV2j>2Qkd=oR5OyVIQ3M=~aiJ%U7$b1xDW{}Br6<`PEg;An8oKFCGGN31? z6v$-TNUVx}?u5lRepAk^2zV8uu$>|_Dkh5(xr&4dmVK5In=e75SW1Kw=6jAqB*_bw zCf0nPB0rm>@jY*-4`YrfzluMrDNotT}y90@rU^`Zj-x^3?9ZsF;(WID)_Nl|!*cU?y z*?6elFckvDr$S)VM%cJSFxDTB_DzKZZd*yMfs{0$SMfoe%qkgzj0Bt)DW8D6@-S(U@n!62r-nt5K=ub zgj7DE9PG*+g%S-3D|FllM#X0d#~_NNjiKKRHiy6kHA!IN(8)7~?9&q_*X_A6c9jG=ior;AsyBBaxeo$We6~lxhY|QS*HIRi=z@#Xu03v ze`8*>H&=i`JvB_34(WoA{MR8XUx1H#BaucrEG(rQ`paQ7OyPGR^o_*V%Q#qudSkfQ z4DhT=B(_9X&0t{b1(y?G(*VvTNj!o*ka+`Bbf<87|72OuA*a&XrC2fj_e)@C?O#y*n-2P zqwPZy+agaZ!V&w@PKreA~7e}!N1`77Xc~KR}-Us`b*8e|C7Pg7BVz_{%c~}686~jZ-2p{En$lpjQ#`UsLI>y zAWr+wKa_zQ?BLpQmuc2@fpN zYLZK+8{vcb+WwnJp?){WrQ$pZk2liAoxGBG{TGMMg%0%j!L#G|UBZ2LXr#W+|M3z) zM_gg;X?lP|c)%owW1jFpcO)2Q#%v6>4k8_b1OMyL?Ey!f)`I`y&_%Gk$K%30ATy#A_uBB^P>meka%bU2xaplc^?1{i^gNdOE2{ybg_LDKKHao#ZqAo1~{7_#{on@Jpl#_IiTAPmfIWh4e8DN6NDa7c4#;mCYe0 ze(Fk_4VI>HqKrC7p|FfJt0SE`Al8lxEwp_Ow6kGcEWmV@lO9?qbTxEe!<&#pp>tuT z_D*2;hY zk}>X-BquYzFGinS}>X1u!5hUUC8$xx5u##Iz|e` iwPchI8b7STEQgdrVEmHC@#HfwAcPQNbgadp_WuBXr%K@f diff --git a/build.gradle b/build.gradle index c4162a4..0d50487 100644 --- a/build.gradle +++ b/build.gradle @@ -6,7 +6,7 @@ plugins { } group = 'de.maxhenkel.voicechat' -version = findProperty('buildVersion') ?: '1.0.0' +version = findProperty('buildVersion') ?: '1.0.1' java { sourceCompatibility = JavaVersion.VERSION_1_8 diff --git a/plugin.yml b/plugin.yml index 5803eba..4b4ce8c 100644 --- a/plugin.yml +++ b/plugin.yml @@ -1,5 +1,5 @@ name: AsminVoicechat -version: 1.0.0 +version: 1.0.1 main: de.maxhenkel.voicechat.Voicechat api-version: '1.13' prefix: AsminVoicechat diff --git a/source/bukkit/src/main/java/de/maxhenkel/voicechat/config/ServerConfig.java b/source/bukkit/src/main/java/de/maxhenkel/voicechat/config/ServerConfig.java index a0c97b7..055f6bb 100644 --- a/source/bukkit/src/main/java/de/maxhenkel/voicechat/config/ServerConfig.java +++ b/source/bukkit/src/main/java/de/maxhenkel/voicechat/config/ServerConfig.java @@ -2,7 +2,6 @@ package de.maxhenkel.voicechat.config; import de.maxhenkel.configbuilder.ConfigBuilder; import de.maxhenkel.configbuilder.entry.ConfigEntry; -import de.maxhenkel.voicechat.BuildConstants; import de.maxhenkel.voicechat.Voicechat; import de.maxhenkel.voicechat.voice.common.AudioUtils; @@ -28,97 +27,133 @@ public class ServerConfig { public ConfigEntry threadedServerSupport; public ServerConfig(ConfigBuilder builder) { - builder.header(String.format("%s server config v%s", BuildConstants.PLUGIN_NAME, Voicechat.INSTANCE.getDescription().getVersion())); + builder.header(String.format("AsminVoiceChat (Simple Voice Chat) server config v%s", Voicechat.INSTANCE.getDescription().getVersion())); voiceChatPort = builder .integerEntry("port", 24454, -1, 65535, - "The port number to use for the voice chat communication.", - "Audio packets are always transmitted via the UDP protocol on the port number", - "specified here, independently of other networking used for the game server.", - "Set this to '-1' to use the same port number that is used by the Minecraft server.", - "However, it is strongly recommended NOT to use the same port number because UDP on", - "it is also used by default for the server query. Doing so may crash the server!" + "EN: The port number to use for the voice chat communication.", + "PL: Port używany do komunikacji czatu głosowego.", + "EN: Audio packets are always transmitted via the UDP protocol on the port number", + "PL: Pakiety audio są zawsze przesyłane przez UDP na porcie wskazanym tutaj,", + "EN: specified here, independently of other networking used for the game server.", + "PL: niezależnie od pozostałej komunikacji sieciowej serwera gry.", + "EN: Set this to '-1' to use the same port number that is used by the Minecraft server.", + "PL: Ustaw '-1', aby użyć tego samego portu co serwer Minecraft.", + "EN: However, it is strongly recommended NOT to use the same port number because UDP on", + "PL: Zdecydowanie zaleca się użycie innego portu, ponieważ UDP na tym porcie jest domyślnie używane także przez zapytania serwera.", + "EN: it is also used by default for the server query. Doing so may crash the server!", + "PL: Użycie tego samego portu może spowodować awarię serwera!" ); voiceChatBindAddress = builder .stringEntry("bind_address", "", - "The server IP address to bind the voice chat to", - "Leave blank to use the 'server-ip' property from the 'server.properties' config file", - "To bind to the wildcard IP address, use '*'" + "EN: The server IP address to bind the voice chat to", + "PL: Adres IP serwera, na którym ma nasłuchiwać czat głosowy.", + "EN: Leave blank to use the 'server-ip' property from the 'server.properties' config file", + "PL: Pozostaw puste, aby użyć wartości 'server-ip' z pliku 'server.properties'.", + "EN: To bind to the wildcard IP address, use '*'", + "PL: Aby nasłuchiwać na wszystkich interfejsach sieciowych, wpisz '*'." ); voiceChatDistance = builder .doubleEntry("max_voice_distance", 48D, 1D, 1_000_000D, - "The distance to which the voice can be heard" + "EN: The distance to which the voice can be heard", + "PL: Maksymalna odległość, z której słychać głos." ); whisperDistance = builder .doubleEntry("whisper_distance", 24D, 1D, 1_000_000D, - "The distance to which the voice can be heard when whispering" + "EN: The distance to which the voice can be heard when whispering", + "PL: Maksymalna odległość, z której słychać szept." ); voiceChatCodec = builder .enumEntry("codec", Codec.VOIP, - "The Opus codec", - "Valid values are 'VOIP', 'AUDIO', and 'RESTRICTED_LOWDELAY'" + "EN: The Opus codec", + "PL: Używany kodek Opus.", + "EN: Valid values are 'VOIP', 'AUDIO', and 'RESTRICTED_LOWDELAY'", + "PL: Dozwolone wartości: 'VOIP', 'AUDIO' oraz 'RESTRICTED_LOWDELAY'." ); voiceChatMtuSize = builder .integerEntry("mtu_size", AudioUtils.MAX_OPUS_PAYLOAD_SIZE, 512, 2048, - "The maximum size that audio packets are allowed to have (in bytes)", - "Setting this to lower values might cause issues" + "EN: The maximum size that audio packets are allowed to have (in bytes)", + "PL: Maksymalny rozmiar pakietu audio w bajtach.", + "EN: Setting this to lower values might cause issues", + "PL: Ustawienie mniejszej wartości może powodować problemy." ); tcpRateLimit = builder .integerEntry("tcp_rate_limit", 16, -1, 1024, - "The maximum number of packets a player can send per second", - "Set this to -1 to disable the rate limit - This must be greater than 0 in all other cases", - "This only applies to voice chat packets that are sent through Minecrafts networking", - "This affects actions like opening/joining/leaving voice chat groups or general state changes like disabling/enabling the voice chat" + "EN: The maximum number of packets a player can send per second", + "PL: Maksymalna liczba pakietów, które gracz może wysłać w ciągu sekundy.", + "EN: Set this to -1 to disable the rate limit - This must be greater than 0 in all other cases", + "PL: Ustaw '-1', aby wyłączyć limit. W pozostałych przypadkach wartość musi być większa od 0.", + "EN: This only applies to voice chat packets that are sent through Minecrafts networking", + "PL: Limit dotyczy tylko pakietów voice chatu przesyłanych przez sieć Minecrafta.", + "EN: This affects actions like opening/joining/leaving voice chat groups or general state changes like disabling/enabling the voice chat", + "PL: Obejmuje m.in. otwieranie, dołączanie i opuszczanie grup oraz włączanie lub wyłączanie voice chatu." ); keepAlive = builder .integerEntry("keep_alive", 1000, 1000, Integer.MAX_VALUE, - "The frequency at which keep-alive packets are sent (in milliseconds)", - "Setting this to a higher value may result in timeouts" + "EN: The frequency at which keep-alive packets are sent (in milliseconds)", + "PL: Częstotliwość wysyłania pakietów keep-alive w milisekundach.", + "EN: Setting this to a higher value may result in timeouts", + "PL: Ustawienie większej wartości może powodować przekroczenia czasu połączenia." ); groupsEnabled = builder .booleanEntry("enable_groups", true, - "If group chats are allowed" + "EN: If group chats are allowed", + "PL: Czy rozmowy grupowe są dozwolone." ); voiceHost = builder .stringEntry("voice_host", "", - "The hostname that clients should use to connect to the voice chat", - "This may also include a port, e.g. 'example.com:24454'", - "Do NOT change this value if you don't know what you're doing" + "EN: The hostname that clients should use to connect to the voice chat", + "PL: Nazwa hosta, której klienci używają do łączenia się z voice chatem.", + "EN: This may also include a port, e.g. 'example.com:24454'", + "PL: Możesz podać również port, np. 'example.com:24454'.", + "EN: Do NOT change this value if you don't know what you're doing", + "PL: Nie zmieniaj tej wartości, jeśli nie wiesz, do czego służy." ); allowRecording = builder .booleanEntry("allow_recording", true, - "If players are allowed to record the voice chat audio" + "EN: If players are allowed to record the voice chat audio", + "PL: Czy gracze mogą nagrywać dźwięk z voice chatu." ); spectatorInteraction = builder .booleanEntry("spectator_interaction", false, - "If spectators are allowed to talk to other players" + "EN: If spectators are allowed to talk to other players", + "PL: Czy widzowie mogą rozmawiać z innymi graczami." ); spectatorPlayerPossession = builder .booleanEntry("spectator_player_possession", false, - "If spectators can talk to players they are spectating" + "EN: If spectators can talk to players they are spectating", + "PL: Czy widz może rozmawiać z graczem, którego obserwuje." ); forceVoiceChat = builder .booleanEntry("force_voice_chat", false, - "If players without the voice chat mod should be kicked from the server" + "EN: If players without the voice chat mod should be kicked from the server", + "PL: Czy gracze bez moda voice chatu mają być wyrzucani z serwera." ); loginTimeout = builder .integerEntry("login_timeout", 10_000, 100, Integer.MAX_VALUE, - "The amount of time the server should wait to check if a player has the mod installed (in milliseconds)", - "Only relevant when 'force_voice_chat' is set to 'true'" + "EN: The amount of time the server should wait to check if a player has the mod installed (in milliseconds)", + "PL: Czas oczekiwania na sprawdzenie, czy gracz ma zainstalowany mod, w milisekundach.", + "EN: Only relevant when 'force_voice_chat' is set to 'true'", + "PL: Używane tylko wtedy, gdy 'force_voice_chat' ma wartość 'true'." ); broadcastRange = builder .doubleEntry("broadcast_range", -1D, -1D, Double.MAX_VALUE, - "The range in which the voice chat should broadcast audio", - "A value less than 0 means 'max_voice_distance'" + "EN: The range in which the voice chat should broadcast audio", + "PL: Zasięg, w którym voice chat rozsyła dźwięk.", + "EN: A value less than 0 means 'max_voice_distance'", + "PL: Wartość mniejsza od 0 oznacza użycie 'max_voice_distance'." ); allowPings = builder .booleanEntry("allow_pings", true, - "If the voice chat server should reply to external pings" + "EN: If the voice chat server should reply to external pings", + "PL: Czy serwer voice chatu ma odpowiadać na zewnętrzne pingi." ); threadedServerSupport = builder .booleanEntry("threaded_server_support", true, - "If the voice chat should support servers that run multiple threads, like Folia", - "Disabling this may slightly improve performance, but can cause issues on servers that don't run everything on a single thread" + "EN: If the voice chat should support servers that run multiple threads, like Folia", + "PL: Czy voice chat ma obsługiwać serwery wielowątkowe, takie jak Folia.", + "EN: Disabling this may slightly improve performance, but can cause issues on servers that don't run everything on a single thread", + "PL: Wyłączenie może nieznacznie poprawić wydajność, ale powodować problemy na serwerach, które nie wykonują wszystkiego na jednym wątku." ); } @@ -126,4 +161,4 @@ public class ServerConfig { VOIP, AUDIO, RESTRICTED_LOWDELAY; } -} \ No newline at end of file +}