From d1f2cb68dd4528d7806a755921c9dcbce0eb7e19 Mon Sep 17 00:00:00 2001 From: Garbage Mule Date: Thu, 14 Jul 2011 03:44:11 +0200 Subject: [PATCH] v0.92.4 - Fixed a couple of bugs, added logging, random class picking, UTF-8 announcements --- MobArena.jar | Bin 80980 -> 86986 bytes bin/plugin.yml | 2 +- language files/announcements_da.properties | 5 +- language files/announcements_fr.properties | 7 +- .../announcements_pirate.properties | 5 +- src/com/garbagemule/MobArena/Arena.java | 113 +++++++++++++-- src/com/garbagemule/MobArena/ArenaLog.java | 136 ++++++++++++++++++ src/com/garbagemule/MobArena/ArenaMaster.java | 6 +- src/com/garbagemule/MobArena/MACommands.java | 109 ++++++++++---- src/com/garbagemule/MobArena/MAMessages.java | 36 +++-- .../MobArena/MAPlayerListener.java | 2 +- .../garbagemule/MobArena/MASpawnThread.java | 14 +- src/com/garbagemule/MobArena/MAUtils.java | 91 +++++++++--- 13 files changed, 430 insertions(+), 96 deletions(-) create mode 100644 src/com/garbagemule/MobArena/ArenaLog.java diff --git a/MobArena.jar b/MobArena.jar index ba9f033ca8f56a7aa6de68b666459991aa82fb8d..665d8604484cc66123a8af286023709c524d45ec 100644 GIT binary patch delta 73704 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 GwEqGD^m*C< delta 67690 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

@3IG5A2mq$M>9h65QUVdCyy-qYruN0I1pokY z5dZ)$li_$CmrYRt4zq;GXaj$Rz?P!Ge(QHng}rHo904OspndfvRfMhDj@ziR-5fS=hBbY-FE| zkb7gydt&@uQi>|zTnvjxcZ0^MydV{1jt12h-VUM!)pm{=WJydv5tU7jM^DA7(= zMAKJByIMkops;o&9mO;*AhpbUhUMB38Jnc?PW zq{Gq+G+@n?o}|T2)DZOmi8;*D2f$Q}XccmiHvZY#932kSz zt1W^Dno@sgk2)Pp&k9M0DgV&3-KnY}*tn)9*u1Q&vATa2F0El2QZ0tVz!jlrmzBMs zlk`8P(t_re;IisPYnD}=QeRsTPqY=R>)Nm(k}9xbsYq&b0lX4QbtSB2n>!H;V>RNF zJuecAq~}ji=C|jT0y6q)RJKt zW+_@pt6)-_g%ze2)*o1xl|=`OOge*UM87x~OIdAJ!cVK|EJbVNNqrF~qr`A{dMNpP z)QUn$x&k!}4OpkusXdW*C>kMh6m|9{U0xzRM^UaFqokr# z+AV+0c2s?|5kBp-3wip$)y`EkQdZjnm)K64-Wh4@uwtV8lA=+fJRi48>LM5Eg^EUt z^dd;xyE;PlQ(U5Gj7Tpr}rCoxuUV6`zo$z(>Nf~s}vn2(yK+PF+rqXSCl6S zIjlYsvl_cP)>(;VHU#F@$6G_u6`@2##*Tl`n`)0B1rJwg17R2CKcqPoYTbaK>lIA8 zfobv)%T&;{D< zEE=#%(2=7OAEfV^^pLx$WM~yVOxxkXm~}3)epKP0IlhzWD4<@Mje2D^>Xp^%CO|uA zm!jR&g9t{FHSn)4>s0~(dlmK4qk{5QM_jh9(Sw!MDzWe}MUTrGCX%2L#>nMQDtb!G zBFWm0&eUdc2|qG#zjI0WV;HaANVkH~O{i%Rh3i%cUk zYQLaXE(*{K^s=HKibt{m1B)#!dPUKXMdX7>SF#@|`cp;w>1RlRP&mBQ+7wFQu}2P! zqQt0D5PCMfrs(I|=Fob$-LY9P;&ny8q+j6yH_Eb2>m`Q4fgy14q*5O6O+|lii8BMO z@mMMpi6voP4!uLaHtAiaX@|-E1}m9_I9bq;Y*X|e{RXDARIR98)4Zg%I#^ZDRCKt~ z8F)Fe;kQg<`z>rvB_gr5Q@SG2u;AYNR3cx0Q1nOo6TBGe?6hKV&4kS7%DAdhuK0_h zztZ2}qorF?W zKTGo#t}0rAIqXsF719uJws=WGKV8q+icJR6W+At$8i1jNhe-wf-4K5g^s3BZKP!_1 zOa)(LzTzPQemPN8g%yKsCJ#f}9T9Wuo%wzq$|Dr#@<@PpJl5R*6tKN87!(h^!=n|C z>Cf((+PbRc^~>b(k5ZhcA3tnU1pW9}a=hXRJW(%M)2|V~=@n=5(TekBCkk|g&JBjK z<6r~yLw=0nDYD?ugq44^QmzId>`8TWA`}M#0V0HD$JHMSMuoj<-~vY04+2fl`&{2K zl^mH0(lkW^>iEIq)=d51P{KGr#7FvI2zf>wuHHWJ&2mE(!cvITYMZ5WHo z@;S|swwUJ8x=8--HHuc4JZsRM$|k8OTAr==1TF`$K)TzU(#3!7SqEeHk!~sZaiZe6 z0_`~oy^h|C?&V6w^8~6r*c>D;=PN#0@-m?Fa%pW#)zTV2S8=t;Ajp#re;*uo6c8c^{FZM4$Q3+XQ=FTzGNh*}>1RK<%Ka34s;t3w@Dv^tcu4&b_n0X=Ty zB_=mz99eB0wlRM`?Z~7#jh^pwGl&l_JAe?R(ay&>@Nk7pJRLg;uVkA3g^Wz^C~)p- z#b*cs&k<>g01F`7iNQ3daG*m`TOhPy@G#vrV*^Vkb;j*+S}^Un z18TW*@cOpzQK?Cgooe|bM1;Fd^X~5GnIcxShL>FctoGNb2I3W&T(Ov z)snF|P^{#b#3MKu1(b&ym{fu&LQrucV_^)(8x;j`AmMX)i^-ca zGu?5|z_YXBt^6f8YE@IiDZ$zU95u-NN?G}Q#TUp`zUIZX^|i~I8b$bJ#TV(NnwJD? zYL|-W62*UC5s_KFw6=DMExSzd#m_pEg9M6x~}p_4_7qEg!;%vWS)b`AhV3nd<%JZ=%pkr zZcuz9Z-c=|i|S}RX(dx`=9d>98uJG;z{%zSU&ntpE53zqm4hsRDU{I1<|%_MmtnNL z%J4+vt+LMz<`qp*1|;n;d6kus##yaW%UGo&z7Ay<89YxiZi;ER;e^9@98;zpuIAGA z&DTly9mNkw;`o;Y7p}3>Rm2Y|{;r6#n(KoNTC!d74xM!kO^waV?5ul4@h&}UVX&%k znMi+n6z{Pmi>jJ6Vd+(LEI%rxRJ1zi$CSquKQ3ry#uMR4EEF~QN$dm%KahS87vLxO zX~o|YYGWci@{-Wx?}G{)d_hY*x<0_q@Ux1a6Bg;ieEr(az%z^=ao`0hFr(%DNB+DWz6iv08jMG!zpb-)B8sPo>n&O{} zNq$`9ynvJV{_31krX=_i#5N46Sq4;)Mih~lrrTA@r2gR>XRmhm5GJtQu@jAf2 z#&M9}%Q&|8>!sA+SNvQ49kMkE(BELyySJ=ezaEpADh4m^!Hd_qwplMFluy4;6Okan!>;)ef?ycR@EBfzL92h1t5th$Cs0g3K;Gc)ualPwJB)03|4^#8-cU5U zS%`DS`+y@5-lBsx%tK*jUb6WBOmN*T7D#%AB(5* zBeDEcyOp1iT+Y|KE(X0@Ik{x+K#gWgIKa&+HUY6cl2% zF-;kTMiG*uQyWrmh3w=w^ag(fj%buH9kVjtl@C_cX@&FQgZ%hHs@;)OR)~EPGzOY-Rvn{D# zLvu3wf)DIp5qw7F;i7Q-tn&US01w1O!GW#>W~V@)<1|}x z+VWtHX*2^3`m?by-rUvNUKg>V;o3wZo-k=DV7ocqg~X_f=ohyc4?III#W_6~!x6PQ z8cHSwr#%hHHrzpQ*`J5T_mLw8NZsxYLes z+FYj{>9nJqcC^!uaoVv?dz91WIqf(auiFVUQMZ%mXtcTVOAKs2M$4uQ_e;#smv`FJ zs1V;pP?W-c4-ubVyoZX5N70nsG`+ZFH?R`M5*xR7L| zn+j3R>!k&ZL0z$TH!UjON2jjbL-o6ec51qN2))r%(wOX-mfMV@# z3X3MJHS04q?V@SdnzJ)CQPD)TCYGt`l$$4VyE1ORNv3boip`nRw~A(~)|{8Axj-}* zXw8>1H5ZHKVy%DqN~Y#A(OjlAS7d6g6wQ@d^R-OPH9HU&4}AmQXCcZ&GZ2+h6=(R-;Ow4OV{Zi70=h1!@4KAW6-yB{&0UEZs{?JO}gHs+4}d#8)28u z98Upk^g{GJo@(YU+P00(LT{1xZd$RAZe3|hzrBaF`H9qa3&x`l4fl*lxXYJw~*WO8vy*#wO#93A^9qr-a zu6=KJYd6l^$)mo|ZN?sao6!f{riaJ5tN*@urG$TI?QVVJnY(z>ZK!JWdU)~FnfFMhebIL%+S90$<8%&hp#(Cmi*Kfld>7gWX*2iG7JiPl>inEf*^*aIeom$u zF5rJ-k##4~Sf0w$ke`>(WG>_)oK0ra2rlLl^lm1f(<{YQV=&9Ua=QE$sOQf>Pcr*# z8X}qP)tP-S;QT?bC{R~%@&Lt%KH##g7zZo% z)6d929Rh6mIH?@^4EsnH+N2%Hc{*??k28Oq^5B^bC42e!3a=fbIi+qo=6QR$0##DF zlTVWD$n*B_f*!8h%fY?eu!on9~@df|4B4K^R9(ybf?;;Hn^p*&?rYxRU49v(`IqMhNieBt zhrOQA%YthaTsoGn2jbp{B-}<7bUQWB9jKo>;qJTWQo0-3Zv5RxJ@f!Q4!^w!$4NSv(A4^_d3(P zi_^X9aeB3TH&TEq@-4| z+sm`O0y^qj548#!xpruYCkP zzn5R^g6{<5%^t(h1hdpoeh7g@e0551bO~m{*6>`z=6fL`YZJ<@GC;yWzimz1N(S-47=gu z*h`+E0(uh6`Ds+__fWCV=p8RfKS0Gki#mP|b^1I#L@&{HeEu!egI-||>LZ(e%0p>C zkDylpeXsEZ`Z*s>uVW|sB^T2hJd57s6X-2Ik>24-dY9+Zdt84-zu_8spBK{acrpDM zd*@$y4Sm3!^dVnBAMrKxF{=I_ypR6LFVTN^KYhZl(P#W7ea?Tx{EwOWb2hk-vy91{ zjk9K!Q2`tVg77%-J(P=$AXxQk7eS127eS0N2SMgI$k2}<-ZX-E(+J{CBZwCW;`Z)O z_a5S_?H+uRtr34I3m)+}y}Yz+T3R+MEvrn+s?xH>@PzKsBx54~o^An3O*Y2yAJ8+Y zz!(c3+yebHV-)`hy&P@?bO@UH;lV8$%>wY1jb_T2OvCuk@PWS{*R(HOT-!wx`Ve-% z3qmBnaoaGak&OCPfH6n;DV;jRkH0Knq9+x&zCE7=A~egILB4gaC>QY!oSZ!7okhYe|#4FV#tRD{}g z7<%LMr+NQ28av$~>L|rP>2zn?^E!pIztp}|HeKwI&ZQ1<0Wx@PRxgP0ccvcxrzgwP z%b$3u*N}hzIp@^l^dY?l3Pq+FSxmB!UVVFiSL9z}C;$e9O{ zS%YySk0*;KQi>8F(_P?ym>WSB?|#@=x|7l6STaMXBBFg|xWjlYr5AJs*ChgENup#rHX`?9HmADLP z5ylZd+a--gjt<}_P5|HCXZTm{F;x9Qa0do?yUQTs4FkEQ#AmA;AD-zF%PYj;Ll75Z z#7$JW)6gf5k;XU>NzqJ@h_#F~j>b2rWREdfF2kl}OwIF-G>U~-f*O>{+)`O(`Y4)m z!)aK zCT#^eT*AlG*TDY2&T|mt6LG+-0LoO-cFcPe^Pk}b^fD0RZLS_bXWw;#@1xgI-^c1V zA=esn5NHEu=BOsN{eiY;-RIER&14F<$)JC;66S1MpbPjxSKN{*HhHF2jOru*;1}c^ zxNrd(jzGZXM&9NW@@4wP6H)ij;3(t7xn8cw&ImPj@Qd<%=}?<)sLjDbT_K@14;gAx zLT#o)T`W@(=@Pq|jp@O{qr5lXLb-(qJX(L@TyLIPkuA5^f!>mry*>SA!!F?lq;-EI zncM`dZAMg=Qzf_1S$sOqiz{(HT!kaV8Hny#bSp4U>Vcy*w9#F#F=@RbNrOAli zJ;prj(cp=6yKxeF@>cFvM6VTBOv9QISyRWcjy!$X)-}nb9Uc#2(;u~gQa5OQG9>PK@9i|^uY8ug+gpG38VjCy%)hvJr%?@(=WPPzYr&ungDhvj7h{m^ z4t8T;x`Uk<_}sz67z}sk89^DPC*Ch3ccxJmjGwxHdL^XBDfuRtKLM|%T~KX;?OhaRS#XdeOLdJ65+AW}a<`wG2IZ=kgk zDO|!f z4G0(^AP@pbAPGnUF+qhPGr-6s6O#!TThR;%>FI z)?I6DtqSHp=f3x5UXlsH@9XzdGjrZu&OP_sbI*3~n?C#PBL@MXNIO*r&LF!X+BkVb zpk-ZPL#VMW5}I5YU02$F5^4%et}I;{3rAXYkPHT$9@re190@dSn7nM=>7j-g1JN34 zW-z28QBxgj2{&z+#lWatSh{>!RrQ*hy5$S8v)QH%u}!WBx5luAr#id^!A;Oa15!+Ak^zPZ zvC3jkRu0>L2m&8g@ue`&KO)e{XT8nBp# zN~x|{R<+O^i^`W6uvC$7;G<8*oJrCSy5C+f@c!4cFkdLCGqOL>TyU9Ga#qe;SFPbcLf$mVo`hfa?fN zTE)WBn#BuOtT9ysRo!5~jcNpwmU#IN19nn5s*Td}s>;&x3PGh{}f8WF=G-Ro`R4y=svaX+7(HV!(Y=H#9+B z&j$A!@H5p}f05X;?g0b#s&Q>HdsaVWz{6_lHd(fsq{@8;bSeQ*L^*37F<`&Knjpzp zeZYW&s-q&vS@XC7PpI*1a-5Y<8t|0rW)q`yG}Sz9z%vQKjTisQfM?aj6J*5eer>?> z389V`|JHyPdI+_uK@_N~Lse~!>q0Fxfpw7(tyHuje-K#}K(&X@s?ZAp#-eqIZ49?E z7+W!r%|%<6u^|*wW!24rElthQa8nGsuFi2PS0%^|(Wdp`4Jgm_)rN+JMB3S^Hrf&i z&gyHYCpmUQWuO_y-1dKmeRkg#PAtSSg?i2`9bRQHIMI1=pmif6@WLxFR);qjWc9{0 zzbzaIe}-Dz@MqjQ0peL}p%-3@A4bf;zu(hx?u~3Bj0|P#Uk5E^|qGm7Lh&g?6&GN!0@R<&uG8lg}%s1d4 z@Hx&C#barx9Ytb%|0E|oF4Biz81OInHxd*^f0Io92ZPKUXUlS{99#bfzSiL@l;ys) z27CjDP?noQXU2L@$+FlweA~liG^z5!VYE_=G4wk1&4EZ;XxVxO6Ovi{zB6(&^gnF@*FrB&4ULXr>&Q3V0bwge=<~3LfGmw(Tz^0HbcMN9b9Gz4r6WSD(#s=vu9koLb zf1x+nU^WC@o8~s;)Qlt(J@VA8B3unN)L=e_E}*_K&|0M!kN##o3a%+4$bh5UxeT-| zG&QBAdQTTC)$T!?)#_9_>3tN1N3~lXh;76^su{{sPqo+H9J2J`jQ^=7AU7x$XxN0E z6e^vKN3rTnHnu`RD2oJITTw(Ck>2v7e^p~gp%Sn9Z{bQd?IXlJ;ik=@Cfsf9wC@@f z8;~P&a34%UDQKYChFaY$54W@RP)NdEV6Z|`4}(d#<2?yGSsz>z6q%M#Yg+`LJ*s0> zpb-mK{+|%bV9`-1r=vhcs^d6=6_Y-dh^5iZW}rIAr}7em&0-jyxKV+()`m$Wf0HWw zdTKn!U~}0#WI`m=w1Jx9HY%rz`35Uv3n)5kTi0qSmCT&-@}x@SFk57>6WL-E{?_J5 z7I7>hK-?CFFT1<>uiN> z3>BL4rdVi0sKsD4Y$Z+^1IgAv^Gq*E>@k*GD;$*c}{Ne_`=aAJ}k5bpWPY@H*6w*pxt0w*;!ZfHP3R@hrG5?GTcX^w6QwSD$MiHEn_0kyCNezXKnFq4fbY#BO#MK5UIPt_zbz{}I`sO`%8#MGhbD!MfJw zFh(2r@ME&}Eum1ee|owPS8hu*vYC3_kB*TgGzEzkdvLi;#0Aaa4UM5DH``0fHWF^6 zP7fixv8^#c<8+`yj1;%D7uYB}v35f^fF7WmJwhVu&?q*M;SgDcRf9#h8(m?nf#6`r#bECAj zq5zY^Z)*+)VkmN~p6sMqjxAL%!JznmwlwGqliWli$iHA&v=JFX!aU`piCpSmPD!**7SI8MO zOzT<`HT^($e?xqZX$_H3przd2cMRtDpd3rXvG&Q!BY}40R6lmytc~NqVCYTumd-F1 zAJ!i#gT2i#E;p29#K+FbIqDJKVejhfZ#^UCe%l-D@02~))Lg0W`v&`feW)_=vBjZC zV+fftE@vQ3G-(y}{n%iiP~TMSTZUd*tT}=bNj0Atf9xMrLuRNVv|$4+6P5qdU|&$V z8_VZMqa@N~`G)t;X!J^vfL<|O|LnkJBnuL9uyWLqma(3wI%KfJjG}a~UD4DU4 z3irn4pyxUOGY|y_gEK;rLgAOy+sy^;%;rcNP9GmMoVK0Ya&sNq+Q?AXdBG2F;|KQ| zJcU$;f7ZAOO)tt1Pc?WN`TCUQpa8|q2cc#u#Lm=yh`}?cy(@GksR$Hx?lX8M`x>W% z!A%cdQ2Sv9_fz{+)Qq@TRiQ0(9Ha9QD04^1#Km#Yv}ur01|Q9jp%o?`)I`gbH(D{U zIA*@O)l?6W!8+9=Cnqm-K8#wV!P8Db^N?wuZdCh)>t~ zH1y&V?H8We5NcNWD}Ed`O>ah(6jS`EX$drhJp6b*Q|B{!=8f7>!8aPbgwvjgQWnJ* zf2Vu7i9nI<<|iEnTBGyM+NtN^`Fp6!|e`I7u|8haNLUGRaTrCvHMLJ)i^Obhq)f%O| z$st!Ye4NftMycvKNRKwPyq;ulHHvpa_8cvgDAn>)4SpJ>7rj^(G|^D;Wa53m;Olq; zDG}sAP1K6GaQ_`O*9HtlNw0+rzMf+&I;gdeY8;<4;BqT7!NUeWoo^zSKNvLCe?;+7 zbal7`R@QqK=`WPSCZ+F!+Ebo}72=w~67v`~u?75y$G zwsEg-i8fMKFCWgg(4wA+wB?kSSK|`0jeM)Y&!QX)Yi^?{O4y4&kIZUTN^F_|>NEt5F%dte%ch{79Yl#I*+h z0lyCQDTdAAW+kr6!=Z*y?<{DtF^|r@FsZu1;5YJ{OuxsuP%@{QSm9D8f3cM^!)>wX zLZXF1;dkLEVOjp)WhkBTFn+7SFXfk!n}Tb-!VXmnz5{JU+Oq#DX@rry-{tmR7{FyK z_rffGx50nJcboo}Ed!)Y%lng#!~9-@|Cs!!lvs3SGsc8v0W{Bu>OKtf`A->4N}8Tc zhRuV$erE7J=IMLY(lynke`QO(d@p}U=MUOEubXxjDwBla9j0Amfxh*3F;Asg5nof5sr8VNHB1U*Ad*2%Ar_ZhT!uuszi4E=_zgZvK00KLvL^&SV9Ka?wUpu+c8$ z^pW0y9h92hosLF?2Wq18mu+WG;Wg>>@|R$23Y7BK4E{RV1KAqhik9Rh{-(kIOhTj6 z!6HWI)aY%4|Aqe*f0?l%q#V%lB*$Y|+Y)Gs-$ZkaMXpzCm^NAK0Q(D9_kHB1`IsGU z&2DOoM8>%0)qwivnzz6NC^q@j;Ggk-n3>)xj40Q&FC=7P%8L1N7A#oMCn2EoeqLNRtW{#rAh_6L-ENZi%?CH$zw!QJS<5Aq8h97 zk0ek%aZv)sqhfP&p-wo0Kc_xt9cdvw!Yd42q%atLWGseA6=^u_=1}h=&gxKXR*Dz| zU+7|Rj}u+2e?az$3_}c6*YR3HjZsQ~W)DO#v3g^4%Zktjb=15p*->+{BhaLU0)@Fdl*>f6@D1&6{Ey4x)|M4o7)Htk!^c=^CQuQO(#?Hv4$Ae zqqL4nk2S=E9;NjuY@En3#3YexCMQ&>=|+~uOg|INe+jKm88t01M4_0B47Qt=DqBj8 zoO4}ARg+Z%T-&K)nl6fZ?m9;cLrfRPnf|{ua8uB<7dZO-dOCOK%~N|R=Qua15^?iz zkOE@T*Z6QIHs|g1v6Vi~qz3Kuu@ygD>)O_@r#;M9m*dVl9se+N$Vjp#466QjE8SOg zR{U2He<~``>k{RL$P`()E*rzakS+LH&gybfGO2c+zKm|pFlhZR-a9(lI~#7X47Hto zcSkLiqD8dET1+?BNn!KRQaF(6I=Z_LbSyQ(Es#}OB)V>0yIY)0>B?rbcXS1Zc22z^ zR*O?mfgvyJlqa)*icd4d8nKqlsw$Q_3(yNjf1S9_5DnxBdQGw^sYc5bGQ@g;+TTNm z!`56U9bJT==XQ`pv44;Ve4RHY_sM1VJWFLN#4cumkVsSh{+YK>898Y}yz9BBLMMml5 z%M5Y3Ei9_wN<&;_x2UIrYYcI%-J+hB`#M8hukv@T%1=e#t<1WCBw~#i^RWdq<_<$_ zF-QNQA=<_93}zqI^{V>hd(|s$6}Ri+f3_aU!3EK_brF=`UE&T5aMVo*v#6iT5V$?= z5?U-=amd<3@>}QnUM2 zx+_^T6*Z%$+Y+Dyfiv+B#fWW1KDGx?XRs7;GlSgZTeCjtf8HD= z9x=pz@u+zOS4UV;OQ&=Y8Dl_^p@M#Zw0SP5gqv$Yd?- zOOe#@8EW`TYPje~4VieB^iQWs%9y(unK3i@B#)3BwKl5~(BBy1x8eo5<=ABFhhhCF zG`c@$UKdq)+yT(*;zbmZSSS)Pf1OPR$M?W%ovKZ?P7td@O~H6>p!e2&9maaZ%i>jC zyn?#Ufuw9>AZA9y;x$2O<`Y*eTv(+p*ClDBc>N~v`p>KEAYSh}rUHly#+<~TPi1$ekrL^KxWvI0kSxDEM2jmV)e`I4T>JFXQ zs_y6?H?a5Lm!rz-|I`qlkw>2r38N}hOVmnk;#E}nPeXj6Dubaw(5j^Je;eXURZh0m zQT~-7zNT`6($MWz1qtjSL;OMfkwIQBzo-A0guJ#v>V{&pHPjljg=bZ=c+?7s29)&v zM{|AeGc#1hSx8|pKO2rgf2)YPr3=^5vEJ5A^OBiUW|U-Gf$v1ObfX|mR1t7AmK|=& zj%^HOw}dxrjAg5PqlMXvqAd-fYz)^nBkKzb3vtg$uOUk(tp(|zi;+QfEjZe@j=Ov27XFN2skX^HERq-R~4ycx9d}M0+GBo9Vb!R4^44hs5wB z|0wUg6QWtzkS43B_t98dh1L8;#Iq<07V#{wUqo}s{}oe~NCw4?Yu&=Mo|%rRIQ zSto<8IMl?i)Q?Y+?@DrWaPI7dC4JT7oIZK4nuRL0m1KdKe=IZPT)BY3v3-V2W`D^e zR$}E#ItGJz--V=PBcwp7EH~s5D>3FzzV282m4C<&hISz3?Yn2^5{N^ghi8lu3;? zg?he&nn(&Ff8Tmty6^Y?anj3ViQKBKvS$xyn~tEE(G#gMZxPd9HCj${Su~^^r-06%?g6e^Bll4aQ1!Z414u(jzUs1soy0 zSC8?SL|1v@##pSmWb)+o(U!Kx)hgk~2r3M@Of9TmiQHQH}v3)OtDiaEQM%)`A`}d_V8d3o zyd2lWwq?}mN<&^nRv>Ky-D3)%L$xRziUi&A8U{J)T%u`WjE){?pzK&w*Ve`b>dc|Fawc?Sqrj=mfX)m;a#+$nF? zjTmNe)DS{O; zuY6oSX~?JKFU*YeV$`vePZ*CgC8n$E*wlJ*Yp4aq!6czt!LvN_8Tl(+V$_>GP+LPj z%P3u>-mH%$ZmNQce>KvfA7lo$shlq|5#;}7hYk5-11{G&l}8(V{Z8=-GhuZ zHhXzCyzQ2sGbm1I`aXBu3bRYsMO)~AFPrXV6l@4J(My~mjN6FvFAVuF`ETAK~4cVi(4 zuCgEK)djlI_Ae?gV2?wq-$SaFkT z#~E6&hQ6_DQ>eX~E-DPp>3zxj%wKj(X7qs?`7sB$04t1 z^9-$&hNfft78+dF%Iv$W_InWH7gAk{HeXw4Xp87_rOSMIoQPU%$U$0p?{gblS0+ur zuyNW_LlkNiz3c45~Q+00#K!_k9rZ(+~DwsRv;WboV`_*R#>LjE_ST;!sW;%8f($ai}m3 zO^HKAacFuRDvm=l_QHg{P|^kSIMgb5kpnJwz!eU7nGNUcg%u8Xr2{_M0k3wzr`d4s zUI;kgpab6Ee}GSSz>PMXzZaSvaH|8}?10-H@Yyz8xEH?XfG=>s7dhbXJK)P~csx$O z3$C=`90#21fb$)2p$!-9g==j*2w(4jZ*sstbilVd;9WL6eJ|YQfOk9KA3NZmI^aDv zT)Y<^bif@BxXS@Q>VO}!VHB00JK$e9;9ol6=N#~Fe{6UPPQm5_!qXjau>+oA!Vjoz z@;d-F1n6?uB;4eAxCQfJI26EmD8&Cwh8Zvg=0g!wz%*C|(_t-ctJ9$vVo(C-(N7n_ zY`6(dfV*H0?16dkD3ro4vBw{v4BkS#AHgE{51hy(EM|kCoQ;GfEC(vsbf{$Wpo&$% zGIla7e`i5h!J46(oeeeY`>>K-2dmiaa5B3O>R2b#v!`G+djU>iufrPl9;{_wKmhmi zI&MG%9|l1_9@g_Iuz}BpjeIeLc@3P-*FuCxppl;mO?(?f`PIhu(AUDwH;CTH!Asc6)JQKA5;hIBsE*I)?1xuSJG@r4A6~B;^5#BxE58H&I^^&8(E;z5 z$XvhdfRCR6tzeG{cELXxl(=?7iQm-)UovRGx2mV zf31^wx>%}!TI|Nqx!c+O^MXA{fKUMzV=&HQpw?_+4)?vNAV= z<;3|Ucf$<7wE0w(U!a(j!Eou`DnQ|mu<>B7qV zx)RsHVoekyZ!Yq?e6pyj0DDyxWUz9qFVSVO+pizgZikV6T^41qr5&sianVC3TVCwm z4cS=lx*hy}U5nQn^q}g^$_&3Qe~Nr=v)8KKR8P;HtiHsP=l7V(YMW#}>C<*~Z_P_^ zc@>&#fFC1weuA#T{b=5Q2BT1`Oo9hsDm;YRWFM46C#-<|uo5**7!E)i9E3~YF_hMy z!wz^7?uDlSRVcQ88fzbdXHXl_DlJxz2AFtvuY;64N>vZcej(GAgQ9idcb8?c%_ zp_`;QUW$M!$Nz8(jm%uEvyI*8F7@q)1D?({#bqEuGQeLoWq_R@*ByCEq#I3fuCjIn zDiLZ>U@C@uOV&xLJer@uf1(}ij2%$xY?8rZW}^(Yxr3eAv+8WS>fAn6=h;;kVAXCo z4Y6-i*lT*W+ith}ejgN<+EthLsk+jxy1G|YVn!vJUwZ~ze!0i5nfqVg4RwA!t|wi7 zR|dNl<#i{Z2A%77DS_>c%+j5%xK=3f_$7(%b$(AmLFkr(xD$u#eWDzw9Ea3j2d`r^+hwQpg~+qkX&#=P(@+TQnAE_}d_gAdsZ_?XRwPuM#6 zjK#40Tx>o1%4qG{-v${@Zu)C}4v<$Ypx(-F;-s(C%e}ny`dN)iPq+6|is#^U_ zwR%9cdQi1`xVp}r!S+?x4Z@JpbI*8Q%!l9YqRUQz7X4XgbrK2K4J+pqcEU2H!` z1%<*lzo&F7iF2Ei@Dn~HaVMk^*rlk|#ct3Bc~J;a{AIDe&BJ^ipLbXHT|S*OeFr;O ztL93Zz!ZKQfBXBSX)WP*_dg=ou#0i%K#%d~OoLxAH)G7h zB;zcN8Hg>74P)u-7&e3*&xW#E+!d#yFA`wG*%mf}e{E%>*v(kGi;ZD>u+1ZEoZ3Up zD6l9%@jY}PzK0I59cmAaV0T!1Xgux_wTIvYb{_i`?IEP=81^jM1Q${_l0C#z5Cd zvVX`}f5gp+ufHa?ZJ|b!2W-U6`fi-|Q8#4+HWg+)>qg!UFcWlrvXW{GWg1D(c>Afe zl*v*^>6aR8f=Kw7ZuBLNhz8Zp3+#7swezC#FwaG%Pz;cR9@OvA8dT&x1H%c(yULpw>O2UVemw|DPn@s|P&&CjHe;*%P;@Z!Tt@FF~@rfn6U&la-=lb;yUbq_y zNyB#Vse5^`Inmijae`K*70GYlbHsf}V_B`d51G0dE`l$45nK#ksBcq3)}xICwgjbP zDGXzkFo#v4m0kv$Sv6e5YT#nF3a-G&_(oO-x3GG+7r!55tC7#Az%TLpMRppze}Vew zJ@i>WWdT(64e%BEr{A*mEE~moEP4bJ(U2x|-y~~k4K|7|7krwm@4CfWR5~24XomcT?C^BEcB)*)V zWcdxVLGQ*%YdU*V=PT$x+IcwZf5YI@c{NKj26sbV-+HF=qFnIMuVGkX_Z-rYiZhsX zRN_@(i&Wl#B2}4>0;MErKd-6F-^W)~?dP>5n{}qNo$@%Z#zjYHjedY_L^o19s0Rts z1;s-d7)GIa_qkD;)>dzGGoM>WS<|V`=hyKm*s~V<@9KWv+%o7GxG^T@e?bm@y{^PK zSe$}}b~lXk8$NFlx}Kh=VW{6Nakx6+_f&WBjTAX~na}G>+133z5+AAE4HGbmbI4@W zDU-G|DnUF6PG*@Xfc0oZGvk8T0wa;N%`kzT0VlD|*k%j1*a{8oENEnBqbqn0oXyUI z3)uN^IlB<9W!vC3{Jw`>e+2il?Qj6Uf5|R^7ucon3cC#5*UQldxdILLWoW9eW|{0- zRCCv%X}%r}_6=+%np+aeZRV0%LOFr?lmIfM@&hG+92!s*&)_XcXCvIpTX_tHatqwX z+mujV0M{uocEROvsS;xyuCfG`0?1Jo^a3nWn#>KKpc*zqxGWf}e+1P`LPWrO80t;w z>xSboOhbuOPdcyBc`XX7DWGUd(o;}qCqQa{O?37S88*HGqdK%~X=n-UmP)Y4f|q`Q z#Zv00fu>R@<1mI#+s}vBaW3}p&3g#U?cnYBcQ*cgkILeF+_9cia= zYI>k1C4i;lSnGI$e>GN}HP&cEcpI2cDwWeDwLzzg#72w&P&LjccqO zFZ1GAyv=qN50!}-z3zr}qjo@+Us^j}vv&M$STb@4jM@uR$ogDiMG~nPRme_$&2CD& zk9XFj__e|3e?bSoz7M8&25|cWac6uEq$8n^<2wHwj$u!s-TwtlWWPinJ`1zib1)ZO z*J^Z)>d`4WmA!;I;bmxJZ^3qKe>MAyBRP1D#Z!d%4wYOXXeYYLT-6dJu>2CWA0-?E z8x(gF$wAdKo>D0%erK5chEj4D-?4qZo~1h5sLHcOe`R&Upd=mC+WauSHa9CtJq1ai z11@)N-bm5OZ+RdtPF^CIy^HSB-_`W8&35tWx#QDwo6~blz->+dN4yO;nLXkzHR1{! zk((n5nPkKdam0@t&RCxjla6x-zth@#f5cw25c9-r$L^~u(GC_%F^3F`HmayH|7plV z)6qVdf33ZZgw8txpUz%8dz)aRd~#R!8zT}M%XAz+!x?@Kqu3YZ9zr4e5{|>?Ik@K& z+?i+5ioOI!JEU|*;Z~&OHFKOZLF>jn=EAjM_P(JwM-|`#T1BWcT|FDo#`*!j&YI$H z@R^2Njr!_}%DqsOZ*K>3jL{Xw_Re7+&5Sx-jCPR)(2q^Vo%}9bCYdJ^4RJR?sR=$9WjO;3J`^&!4^3n$9ox?nC)8sR>fwLje~fSHKPi;!EtDho^Ox%O@mDHxQI7bl=zj4xy7*h1e-wPe zs;Z67^KttYI7S-DcB*3-Hw@+P@W1ug=vapvov3-2|J{<55@aM^WaKN!kC!p|;_p>Bm~Y^rv{i3O&q;h$ILKf%9HInZhOkMl1`n7a7C8H)cng1%z# zH25tD1@16e6N!)CawxEDM@PbTe-u$xj-LRMV_eDSK^iZE(R=|Ep&gxx{@iTz4A_uXCt`>1>4XDM^~H=1ik!sQH;HVJPXnR3ub*kyew? zkw|H#$g-tP3?quQI;>2?fv?&x{B`@ph!QQYLyRnT;pdoQ9Y4nxyYs2UlTRh62CyW> z=PFL!&4%cYdh3KQby=PCf9cEWFfLhE=gRe^`Y=xE5)&mXD>2ZiFuFt@`U>%idqO!04~6$gC=?YbaVk>!qatMhDpKN9^n=3N2gSBjhUK2SzWvyz%e4;n zxCm=%Vs0*MmUM1bMH0e1y-;}iL*eNcMS_ZyI2B3fW>p-Kij+7Ne@RhzlAtiz(i|u}{h{#mi^3IOe47eye^hvnM1|K$ML#G!Nl=&! zN>L2*Yl+{e=h=@Mg4&Ef{9BqHT-87QPvF@-1)|KNB9|Tj33U7W|!` z4Tt%;ESrCi~pImhcN$HQ&ZI^NZMdd^@`VW2`QI344-X%3k4@vqSs}?&4SS zk^E{tmtVun`L%ovzkqMz*YOy?f!~P#+r@9<`}j`&D*qvxm7Dq3{8llF-zFyV+rJI~d0?X0DCSb0916rbF%O{>sD+P2 zshE#p+-4i%H`)*ebY^g$%9f)#EhC7ZfzSd~W}695xWu3dAV<51mRe zh^c=xsc%?Xe>(mR#y_QQ7sb`>iON8ngfo)LU&zZJB|638-u}XU4twUYnTDt=rXgf8 z4Iz_h9Y5To}L0e^3~|a2mG9wp}HRW}R7A)EvuROD7<<{O_{;$w+c@}ce53S_S z!wQt@e_H+mY(l>?#$SZ*^WS4=`Ul5iUmNGqwaT~?kFHgm;R-qjm)-PJz2F+{`3B~@ zGu+6VbH(?pHN4-7KdX;CXI#c-DDg2sD{)?eD~`;FI*8yeqhIn0OyI9!$nrW=@HgNj z{-(n}sg6&kIzE|db24_8X99TXXG^SgU17=Jf4%t+i3^{`XyYMq(K8?)pvMkzF+Jkf zjkm%Wt7Hj%Tg4sXQi3L#-&lKvS#d?8{S}V(S9FN0t@c-&wRL7iU7~%RqkSEUk=6cG zbbo%3Pb^6+_aYdK9QiBys_#HLe;3B^_h1r#ACBiAz+C<@a^_R0{tt-qFEDud ze>Yshzl0n4f8aL$HQdR+fqVENN8aP!IQQ<2ZHA6a2l&;;+@-;_pt2 zzc-ou-I?I;O%{Kx_7;D49*MswRB3{te=!iK@->)*e*5tlmCY4iI7t{#CsJVpnv19y z4CjjsxI_$v87bE_aw5<{IYC@@A#%6Zh_Me-!N# z_a&6C%2tYOaEq}R1&o8yVmxwa0!$M*Fh@*+a*+$Ch=Rn`57-p9ESr?dWeWP4%B;De zL0wi782p?p_TaoF#!8jq0fb!0pZQ|1plcv=aGVFlL#U3*any$qN>TjD1lEni=;pOM zI+GPbC~KC&3`PW8k)7gkb=%;0)N!La#FHlElW{Oh>kv;{pbJ4%gnI_+ zNp0dwp>98l64bA=aR1GQL1GRJ74u-YD1~gay7lNuBr+H0DyuB*8t{vi=&P-O z@#18MahMRF^#t)d@gj~le;B;x_Oos;if$y#r5vo^Q`!zcffC~MJ0tPqYg2*>a}&mF zpZL>W@luC)BSXAJ$9Uo|2wOKYyTsoxG*6JJ92T(=qzL2mH$lFLIE1c{{Y!jcIxOPD z_(3{aEf*5;k@(mmg051MR$Xlc&&ZmG#3x*?Y_yMP-!e z-z}DJBVmX1qfVrQsvFo8H zn0i%Cw6UV1f0inNczQ0OWD6_u4$9lXn4q04_;LOA_71Hej z)NO9@FdF?1jQcuKlXStc;t`lB9)&V-08QE>D6Wq|e@HmvjMJ?-xnZ3$VGR7p){)AG zJ{A_r5=n+o?}UTbA{|+ zrIZ<0Hv@8Ihdcp!Z;Ehljr*)aSShu)U+6MQkTyy(>1a-q6D zlkF^#e~T=<3*vZH?8(Y3Z52Y>n1Op}F=c7Jd*#wjdD0$Q&V6!KWp4bodr|zhyQs=9 zc!IsT1JVm{Gpnt-8+2T>T3XnAlm_~a>#S$tvQ5FlQHRPi#J!dGFWcnx>m8&Dm9oR>+)^f=*T@aU_(hh2v0!QO9ywe`o0|Q;b8_gw48o%SSsIw4rnuq|vb* zEv2=YM#oEZO6vay2&AiOy^6U457T9_o+!|Zc_nd!UanRP_NsM6UDo#oeUh8^$B z9$l61b$9(e$K7>xQYPNRUGP5cf)8;Ae2hlw6Lfn&hEnmFgJosNGE?ejS$EL=kgMdM ze?vZ`C|P%^d2GdQwoKYFB>idX{%uy0%iQozj3$#qbRVyYtz#(0l%7_hGTM7tT+t6e=d3&24mqFU9y$It>l`BUT2O{16{fxP3qv2 zZWt*&Fiv`*2+I@uX_`rvZS1EaEwMN)l@={Sa#aXr;MdNldkv*#EYoqQK`f0xHWi!6p#Spw&xY@R3Qz(uG76T!)Lxm(_&RKRxY zaD&S3Rl$jb3*?VgwkQpn5B)y*fZS_|!auAHe_w?Reh`iA zzW61KVYbsFytHHw$pbr(*>QK|oxI28;~nznR5$Wr`84{|56kELnom9~f0GD#m8*yP zdo=Fs38>yCB0N_2;?FpWD3sb8iqrqS{DV1tW0iV`7hJFA7l=;zM>5|J zmPm{Wn&@g^PD0nZ))uGvJcC@p;&h)!3ln5y?S}ct>r7vkZCH9%954 zYqsVA&7fgj@}IOmW}(reFh0xQ#%FmD+1L}8j!iOq<8t>Y?2XGHT#BygYHW|T)+VXW zK@t@kJ&NO`JZF+JUC}`8GJAJ-Cn=7P{+u~_8DhyIXGe|Zf6MC26^{(s#Z#SgK^)J= ziFwq-mTzJkp*ni)ZbN%@dnexQ_v)+=JI=#l)>793UkU;!sl$6nrLa(#61c1TZx%my zb-!pK+tvM;FV$R|bmuw`PPWcNlB~_3_}Zk=+6?Z6D>d0Vr}eYW30yB$x< zEqO7vb|r7!f2TM;*exa#@^Q@gLZtUvR+Gjd@r6k1u@LF@LJS^oA%?^k0w-)OL>exH zsi~Ar$n>RZ3g0qBlSRmVLuAk-XYL@kb@8XI^A8jLO#987E_qmhIbxa? zysP_uVuuz~T?cDxRoA^5>(V5Lf)35?cV&nOr44D5e_ZTKzu1>@@jh{1r)Jo-jaIGu zVxL#8z1U~;s;@EYNnewQUQ9ZY%AT1N!3dT~|wd{Iyb(A~KK0(I^WDR<~j_r@$yr6yo;`e4Z~4h^6wNsF9C}Q|0604E#O|pD)7ltK^g72Kftdi+o1xmA@3v ze<1ujEPG8pC;lRz7w^m8if`o$GDAKuN6F{pMD#BT+Hh?IN=t_88Rdd$Fv@j6Iaw}r z4R2S6*gBNCZd3=>Zm4u!p^mdXu*$W~I=WutI!hgFr@%&6i#o(MAmVD$M$(Zqf1Kkw zRU3s+8fa(wXxbbWt|H=R9PIy z@0k%pBa-KcnTqjT##qk`d3>~t$6!N6s}*^TR4ChMno=Gqqlv4$@`^kvk4bBdO12cy z!y~h4k%SRt^Y|3nYs#l)_j5n@-gD09`~TnbIp=@w{e14{obyY4mB+H8TXh6#H;Qi` zAAT-z=r%D1%9EV4<5@zT$0@X{Yi=i2*H$W#$$hbclgMAFO<2#4XyPYHebY}hJmquc zO%qh#%8$V{``(gwiPtjQV;4|aK|Rx20m<8DsaaPZ);L(Y7`HhPQ@IZn?FFv$ZfBrTg@z8=N~natyXu z8he*w$+ZzPaAY2A5|>%(mG)_VTr}!D_#mL+^+*4E5AFlcSGVOC@DzD|$#zUJ9%WW^ z%Y~EI)wI~ediIh2^349e>qP~vjFL%J-xQ;J)af9BLT*Ks+1;}g%XW8b-Z+_LGu~DB9GAkb{qg>)mV=cJp+vJ}N!LAYq>>maS1P%z?kNto;UEAtPQ1jOL#eI)t66*#duA3eYDkxM* zP6^7%tSW4;8jl$Ze7m}G!nb60l-?W24O6&~4^4%dG_Kz^s59X0ytP>~s&-W_rl_mJ z3|Dz<19QAvRjD#@|HxndQE4**JkCmzQ zy|F?&NJ z4dUn#Rcs^o783U4+=A3TecEHAC(?=IhBAY^96u&j;XWl60BKw=O^2?_j@bBTQBv}1Q|-| z-zD~k0|mF-l-`lLYBp_An=|9DoeXurbC>dG^wY0fXoqv4dRa@WVeUZu{c_87w2?IP zRppw7l%#x;xNML2tN2|%v~f$HO`4TT1s+D$lnt%6^H|CX=nAkk_sb>cJ)s}n!U;I) zz!^$n6Hi|-ibv6?040xJZXF03au&dHRA7!CL=vu4a1D(}9m1cfz(I1rNnrh%x%6TH zc5wkzVU~j$v8#YDxc~)JAR4ZA1q8U)1;`VYQAd3%wFEH;;vsU%M4|65mtvNu#1~Z0 z^(*RByv}%y4Fsj9LXd_CiokuSMbI#+5an3=W8pD3 zfQ7ByfI7-9fV1|7DjeqqtWmT*NLmf zNCtWWC1HHUdjeJTdnEuHc>q;-(Gf_%JWoJEyJ~-5RAmFCVZ0a6MHd@>D_0PxNKhlJyhG4e)${sqtFLqz}p diff --git a/bin/plugin.yml b/bin/plugin.yml index e636dfd..e263597 100644 --- a/bin/plugin.yml +++ b/bin/plugin.yml @@ -1,6 +1,6 @@ name: MobArena main: com.garbagemule.MobArena.MobArena -version: 0.92.3 +version: 0.92.4 softdepend: [MultiVerse,XcraftGate] commands: ma: diff --git a/language files/announcements_da.properties b/language files/announcements_da.properties index ad2f9c4..f78db35 100644 --- a/language files/announcements_da.properties +++ b/language files/announcements_da.properties @@ -6,11 +6,13 @@ JOIN_NOT_ENABLED=MobArena er ikke aktiveret. JOIN_IN_OTHER_ARENA=Du er allerede i en arena. Forlad den først. JOIN_ARENA_NOT_ENABLED=Arenaen er deaktiveret. JOIN_ARENA_NOT_SETUP=Arenaen er ikke blevet sat op endnu. +JOIN_ARENA_PERMISSION=Du har ikke rettigheder til den arena! JOIN_ARENA_IS_RUNNING=Arenaen er allerede startet. JOIN_ALREADY_PLAYING=Du spiller allerede! JOIN_ARG_NEEDED=Arenanavn påkrævet. Skriv /ma arenas for en liste. -JOIN_PLAYER_LIMIT_REACHED=Der kan ikke være flere spillere i arenaen. +JOIN_TOO_FAR=Du er for langt fra denne arena til at kunne joine. JOIN_EMPTY_INV=Du skal tømme dit inventory før du kan joine arenaen. +JOIN_PLAYER_LIMIT_REACHED=Der kan ikke være flere spillere i arenaen. JOIN_STORE_INV_FAIL=Kunne ikke gemme dit inventory. Prøv igen. LEAVE_PLAYER_LEFT=Du forlod arenaen. LEAVE_NOT_PLAYING=Du er ikke i en arena. @@ -29,6 +31,7 @@ FORCE_END_EMPTY=Der er ingen i arenaen. FORCE_END_IDLE=Du var ikke hurtig nok! REWARDS_GIVE=Her er alle dine præmier! LOBBY_CLASS_PICKED=Du har valgt % som din klasse! +LOBBY_CLASS_RANDOM=Du får tildelt en klasse ved arena start. LOBBY_CLASS_PERMISSION=Du har ikke rettigheder til den klasse! LOBBY_PLAYER_READY=Du er markeret som klar! LOBBY_DROP_ITEM=Du kan ikke dele items i lobbyen! diff --git a/language files/announcements_fr.properties b/language files/announcements_fr.properties index 1bd930f..2bfb9b3 100644 --- a/language files/announcements_fr.properties +++ b/language files/announcements_fr.properties @@ -6,11 +6,13 @@ JOIN_NOT_ENABLED=MobArena n'est pas actif. JOIN_IN_OTHER_ARENA=Vous êtes déjà dans l'arène! Quittez-la avant. JOIN_ARENA_NOT_ENABLED=Cetta arène n'est pas active. JOIN_ARENA_NOT_SETUP=Cette arène n'a pas encore été configurée. +JOIN_ARENA_PERMISSION=Vous n'avez pas la permission pour rejoindre cette arène. JOIN_ARENA_IS_RUNNING=L'arène est déjà occupée. JOIN_ALREADY_PLAYING=Vous êtes déjà en train de jouer. JOIN_ARG_NEEDED=Vous devez spécifier une arène. Entrez "/ma arenas" pour la liste. -JOIN_PLAYER_LIMIT_REACHED=La limite de joueur pour cette arène a été atteinte. +JOIN_TOO_FAR=Vous êtes trop loins de l'arène pour pouvoir joindre en tant que joueur ou specateur. JOIN_EMPTY_INV=Vous devez vider votre inventaire afin de joindre l'arène. +JOIN_PLAYER_LIMIT_REACHED=La limite de joueur pour cette arène a été atteinte. JOIN_STORE_INV_FAIL=La sauvegarde de l'inventaire a échouée. Essayez encore. LEAVE_PLAYER_LEFT=Vous avez quitté l'arène. Merci d'avoir joué ! LEAVE_NOT_PLAYING=Vous n'êtes pas dans l'arène. @@ -29,7 +31,8 @@ FORCE_END_EMPTY=Il n'y a personne dans l'arène. FORCE_END_IDLE=Vous n'avez pas été assez rapide ! REWARDS_GIVE=Voici vos récompenses ! LOBBY_CLASS_PICKED=Vous avez choisi % comme classe ! -LOBBY_CLASS_PERMISSION=Vous n'avez pas les permissions pour utiliser cette classe! +LOBBY_CLASS_RANDOM=Une classe aléatoire va vous être attribuée. +LOBBY_CLASS_PERMISSION=Vous n'avez pas les permissions pour utiliser cette classe ! LOBBY_PLAYER_READY=Vous avez été marqué comme prêt ! LOBBY_DROP_ITEM=Pas de partage avant le début de l'arène ! LOBBY_PICK_CLASS=Vous devez d'abord choisir une classe ! diff --git a/language files/announcements_pirate.properties b/language files/announcements_pirate.properties index 117473f..97100ee 100644 --- a/language files/announcements_pirate.properties +++ b/language files/announcements_pirate.properties @@ -6,11 +6,13 @@ JOIN_NOT_ENABLED=We be swabbing down the decks on all ships, matey. JOIN_IN_OTHER_ARENA=Ye're already at sea, scallywag! JOIN_ARENA_NOT_ENABLED=We be swabbing down the decks on this ship, matey. JOIN_ARENA_NOT_SETUP=Arrrgh! We be missing the top sail! +JOIN_ARENA_PERMISSION=Arrgh! Ye can't board this ship, scurvy dog! JOIN_ARENA_IS_RUNNING=That ship has sailed, landlubber! JOIN_ALREADY_PLAYING=Ye be aboard already, ye scurvy dog! JOIN_ARG_NEEDED=Which ship are ye boarding? Type /ma arenas for a list, arrgh! -JOIN_PLAYER_LIMIT_REACHED=Thar be too many men aboard this ship already, landlubber! +JOIN_TOO_FAR=Ye be too far from the docks, landlubber! JOIN_EMPTY_INV=Throw ye belongings overboard, scallywag! +JOIN_PLAYER_LIMIT_REACHED=Thar be too many men aboard this ship already, landlubber! JOIN_STORE_INV_FAIL=Ye belongings didn't fit in the storage deck, arrgh! LEAVE_PLAYER_LEFT=Ye abandonned the ship! Arrrgh! LEAVE_NOT_PLAYING=Ye're already on land, matey! @@ -29,6 +31,7 @@ FORCE_END_EMPTY=Thar be no one aboard the ship! FORCE_END_IDLE=Arrrgh! Too slow, matey! REWARDS_GIVE=Here's ye booty, seadog! LOBBY_CLASS_PICKED=Ye be the %! +LOBBY_CLASS_RANDOM= LOBBY_CLASS_PERMISSION=Ye can't use that cutlass, scurvy dog! LOBBY_PLAYER_READY=Ready to sail! Arrrgh! LOBBY_DROP_ITEM=Don't be sharing ye rum yet, scallywag! diff --git a/src/com/garbagemule/MobArena/Arena.java b/src/com/garbagemule/MobArena/Arena.java index 2c87350..bf7a163 100644 --- a/src/com/garbagemule/MobArena/Arena.java +++ b/src/com/garbagemule/MobArena/Arena.java @@ -5,11 +5,13 @@ import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; +import java.sql.Timestamp; import java.util.HashMap; import java.util.HashSet; import java.util.LinkedList; import java.util.List; import java.util.Map; +import java.util.Random; import java.util.Set; import org.bukkit.Bukkit; @@ -62,7 +64,7 @@ public class Arena // Setup fields protected String name; protected World world; - protected boolean enabled, running, setup, lobbySetup, protect, autoEquip, forceRestore, softRestore, softRestoreDrops, emptyInvJoin, emptyInvSpec, pvp, monsterInfight, allowWarp; + protected boolean enabled, protect, logging, running, setup, lobbySetup, autoEquip, forceRestore, softRestore, softRestoreDrops, emptyInvJoin, emptyInvSpec, pvp, monsterInfight, allowWarp; protected boolean edit, waveClear, detCreepers, detDamage, lightning, hellhounds; protected Location p1, p2, l1, l2, arenaLoc, lobbyLoc, spectatorLoc; protected Map spawnpoints; @@ -73,6 +75,7 @@ public class Arena protected Map> everyWaveMap, afterWaveMap; protected Map distDefault, distSpecial; protected Map classMap; + protected Set randoms; protected Map> classItems, classArmor; protected Map>> classBonuses; protected Map> rewardMap; @@ -83,7 +86,6 @@ public class Arena protected Set blocks; protected Set pets; protected Map petMap; - protected Map kills; protected List repairList; // Spawn overriding @@ -91,10 +93,19 @@ public class Arena protected boolean allowMonsters, allowAnimals; // Other settings - protected int repairDelay, playerLimit; + protected int repairDelay, playerLimit, joinDistance; protected List classes = new LinkedList(); protected Map locations = new HashMap(); + // Logging + protected ArenaLog log; + //protected List log = new LinkedList(); + protected List classDistribution = new LinkedList(); + protected Map waveMap = new HashMap(); + protected Map killMap = new HashMap(); + protected Timestamp startTime; + protected Timestamp endTime; + /** * Primary constructor. Requires a name and a world. */ @@ -106,6 +117,7 @@ public class Arena this.name = name; this.world = world; plugin = (MobArena) Bukkit.getServer().getPluginManager().getPlugin("MobArena"); + log = new ArenaLog(plugin, this); livePlayers = new HashSet(); deadPlayers = new HashSet(); @@ -116,8 +128,8 @@ public class Arena pets = new HashSet(); petMap = new HashMap(); classMap = new HashMap(); + randoms = new HashSet(); rewardMap = new HashMap>(); - kills = new HashMap(); repairList = new LinkedList(); running = false; @@ -136,6 +148,11 @@ public class Arena if (!softRestore && forceRestore && !serializeRegion()) return; + // Assign random classes, and if all get kicked, return. + for (Player p : randoms) + assignRandomClass(p); + if (livePlayers.isEmpty()) return; + // Set the spawn flags to enable monster spawning. //MAUtils.setSpawnFlags(plugin, world, 1, true, true); MAUtils.setSpawnFlags(plugin, world, 1, allowMonsters, allowAnimals); @@ -146,6 +163,8 @@ public class Arena p.teleport(arenaLoc); p.setHealth(20); rewardMap.put(p, new LinkedList()); + waveMap.put(p, 0); + killMap.put(p, 0); } running = true; @@ -174,6 +193,11 @@ public class Arena spawnTaskId = Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(plugin, spawnThread, waveDelay, (!waveClear) ? waveInterval : 60); readyPlayers.clear(); + + // Logging info. + if (logging) + log.start(); + MAUtils.tellAll(this, MAMessages.get(Msg.ARENA_START)); // Notify listeners. @@ -188,6 +212,14 @@ public class Arena { running = false; + // Logging stuff + if (logging) + { + log.end(); + log.serialize(); + log.clear(); + } + // If the arena was actually ever started, cancel the spawnthread. if (spawnThread != null) { @@ -322,8 +354,16 @@ public class Arena specPlayers.remove(p); removePets(p); - if (clear) MAUtils.clearInventory(p); - if (!emptyInvJoin) MAUtils.restoreInventory(p); + // Clear inventory and record current wave + if (clear) + { + if (running) waveMap.put(p, spawnThread.wave - 1); + MAUtils.clearInventory(p); + } + + // Try to restore inventory. + if (!emptyInvJoin) + MAUtils.restoreInventory(p); if (running && livePlayers.isEmpty()) endArena(); @@ -376,9 +416,9 @@ public class Arena p.teleport(spectatorLoc); } - public void playerKill(Player p, LivingEntity e) + public void playerKill(Player p) { - kills.put(p, kills.get(p) + 1); + killMap.put(p, killMap.get(p) + 1); } @@ -393,7 +433,16 @@ public class Arena { petMap.remove(p); classMap.put(p, className); + MAUtils.clearInventory(p); + + // If random, don't give any items yet. + if (className.equalsIgnoreCase("random")) + { + randoms.add(p); + return; + } + MAUtils.giveItems(p, classItems.get(className), autoEquip); MAUtils.giveItems(p, classArmor.get(className), autoEquip); @@ -401,8 +450,29 @@ public class Arena if (pets > 0) petMap.put(p, pets); } - private void giveRewards() + public void assignRandomClass(Player p) { + Random r = new Random(); + List classes = new LinkedList(plugin.getAM().classes); + + String className = classes.remove(r.nextInt(classes.size())); + while (!MobArena.has(p, "mobarena.classes." + className)) + { + if (classes.isEmpty()) + { + System.out.println("[MobArena] ERROR! Player '" + p.getName() + "' has no class permissions!"); + playerLeave(p); + return; + } + className = classes.remove(r.nextInt(classes.size())); + } + + assignClass(p, className); + MAUtils.tellPlayer(p, MAMessages.get(Msg.LOBBY_CLASS_PICKED, className)); + } + + private void giveRewards() + { for (Map.Entry> entry : rewardMap.entrySet()) { MAUtils.tellPlayer(entry.getKey(), MAMessages.get(Msg.REWARDS_GIVE)); @@ -476,6 +546,7 @@ public class Arena enabled = config.getBoolean(arenaPath + "enabled", true); protect = config.getBoolean(arenaPath + "protect", true); + logging = config.getBoolean(arenaPath + "logging", false); autoEquip = config.getBoolean(arenaPath + "auto-equip-armor", true); waveClear = config.getBoolean(arenaPath + "clear-wave-before-next", false); detCreepers = config.getBoolean(arenaPath + "detonate-creepers", false); @@ -490,6 +561,7 @@ public class Arena pvp = config.getBoolean(arenaPath + "pvp-enabled", false); monsterInfight = config.getBoolean(arenaPath + "monster-infight", false); allowWarp = config.getBoolean(arenaPath + "allow-teleporting", false); + joinDistance = config.getInt(arenaPath + "max-join-distance", 0); playerLimit = config.getInt(arenaPath + "player-limit", 0); repairDelay = config.getInt(arenaPath + "repair-delay", 5); waveDelay = config.getInt(arenaPath + "first-wave-delay", 5) * 20; @@ -689,7 +761,7 @@ public class Arena // Block Listener public void onBlockBreak(BlockBreakEvent event) { - if (!inRegion(event.getBlock().getLocation()) || edit) + if (!inRegion(event.getBlock().getLocation()) || edit || (!protect && running)) return; Block b = event.getBlock(); @@ -833,7 +905,8 @@ public class Arena public void onEntityTarget(EntityTargetEvent event) { - if (!running) return; + if (!running || event.isCancelled()) + return; if (pets.contains(event.getEntity())) { @@ -891,6 +964,7 @@ public class Arena return; event.getDrops().clear(); + waveMap.put(p, spawnThread.wave - 1); playerDeath(p); p.getInventory().clear(); // For TombStone return; @@ -898,6 +972,13 @@ public class Arena if (monsters.remove(event.getEntity())) { + EntityDamageEvent e1 = event.getEntity().getLastDamageCause(); + EntityDamageByEntityEvent e2 = (e1 instanceof EntityDamageByEntityEvent) ? (EntityDamageByEntityEvent) e1 : null; + Entity damager = (e2 != null) ? e2.getDamager() : null; + + if (e2 != null && damager instanceof Player) + playerKill((Player) damager); + event.getDrops().clear(); resetIdleTimer(); return; @@ -1050,10 +1131,10 @@ public class Arena // Check if the first line of the sign is a class name. String className = sign.getLine(0); - if (!classes.contains(className)) + if (!classes.contains(className) && !className.equalsIgnoreCase("random")) return; - if (!MobArena.hasDefTrue(p, "mobarena.classes." + className)) + if (!MobArena.hasDefTrue(p, "mobarena.classes." + className) && !className.equalsIgnoreCase("random")) { MAUtils.tellPlayer(p, MAMessages.get(Msg.LOBBY_CLASS_PERMISSION)); return; @@ -1061,7 +1142,11 @@ public class Arena // Set the player's class. assignClass(p, className); - MAUtils.tellPlayer(p, MAMessages.get(Msg.LOBBY_CLASS_PICKED, className)); + if (!className.equalsIgnoreCase("random")) + MAUtils.tellPlayer(p, MAMessages.get(Msg.LOBBY_CLASS_PICKED, className)); + else + MAUtils.tellPlayer(p, MAMessages.get(Msg.LOBBY_CLASS_RANDOM)); + return; } } diff --git a/src/com/garbagemule/MobArena/ArenaLog.java b/src/com/garbagemule/MobArena/ArenaLog.java new file mode 100644 index 0000000..25394cf --- /dev/null +++ b/src/com/garbagemule/MobArena/ArenaLog.java @@ -0,0 +1,136 @@ +package com.garbagemule.MobArena; + +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileWriter; +import java.sql.Timestamp; +import java.util.Date; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; + +import org.bukkit.entity.Player; + +public class ArenaLog +{ + protected MobArena plugin; + protected Arena arena; + protected List log, classDistribution; + protected Timestamp startTime, endTime; + + public ArenaLog(MobArena plugin, Arena arena) + { + this.plugin = plugin; + this.arena = arena; + log = new LinkedList(); + classDistribution = new LinkedList(); + } + + public void start() + { + startTime = new Timestamp((new Date()).getTime()); + + // Class distribution + int length = 0; + for (String c : plugin.getAM().classes) + if (c.length() > length) + length = c.length(); + + List classList = new LinkedList(arena.classMap.values()); + for (String c : plugin.getAM().classes) + { + int count = 0; + int id = classList.indexOf(c); + while (id != -1) + { + classList.remove(id); + count++; + id = classList.indexOf(c); + } + int percentage = (int) (((double) count) / ((double) arena.livePlayers.size())) * 100; + classDistribution.add(MAUtils.padRight(c + ": ", length + 2) + MAUtils.padLeft("" + count, 2) + " (" + percentage + "%)"); + } + } + + public void end() + { + endTime = new Timestamp((new Date()).getTime()); + + // General stuff + log.add("--------------------------------------------------- ENTRY ---"); + log.add("Start: " + startTime); + log.add("End: " + endTime); + log.add("Duration: " + MAUtils.getDuration(endTime.getTime() - startTime.getTime())); + log.add("Last wave: " + (arena.spawnThread.wave - 1)); + log.add(" "); + + // Class distribution + log.add("Class Distribution: " + plugin.getAM().classes.size() + " classes"); + for (String c : classDistribution) + log.add("- " + c); + classDistribution.clear(); + log.add(" "); + + // Player data + int NAME = 12; + int CLASS = 0; + int WAVE = 4; + int KILLS = 5; + for (String c : plugin.getAM().classes) + if (c.length() > CLASS) + CLASS = c.length(); + + log.add("Player Data: " + arena.classMap.keySet().size() + " players"); + log.add("- " + MAUtils.padRight("Name", NAME + 2, ' ') + MAUtils.padRight("Class", CLASS + 2, ' ') + MAUtils.padRight("Wave", WAVE + 2, ' ') + MAUtils.padRight("Kills", KILLS + 2, ' ') + "Rewards"); + for (Map.Entry entry : arena.classMap.entrySet()) + { + Player p = entry.getKey(); + StringBuffer buffy = new StringBuffer(); + buffy.append(" "); + // Name + String name = (p.getName().length() <= NAME) ? p.getName() : p.getName().substring(0, NAME+1); + buffy.append(MAUtils.padRight(name, NAME + 2, ' ')); + // Class + buffy.append(MAUtils.padRight(entry.getValue(), CLASS + 2, ' ')); + // Wave + buffy.append(MAUtils.padLeft(arena.waveMap.remove(p).toString(), WAVE, ' ') + " "); + // Kills + buffy.append(MAUtils.padLeft(arena.killMap.remove(p).toString(), KILLS, ' ') + " "); + // Rewards + buffy.append(MAUtils.listToString(arena.rewardMap.get(p))); + log.add(buffy.toString()); + } + + log.add(" "); + } + + public void serialize() + { + try + { + new File(plugin.getDataFolder() + File.separator + "logs").mkdir(); + File logFile = new File(plugin.getDataFolder() + File.separator + "logs" + File.separator + arena.configName() + ".log"); + if (logFile.exists()) + logFile.createNewFile(); + + FileWriter fw = new FileWriter(logFile, true); + BufferedWriter bw = new BufferedWriter(fw); + for (String l : log) + { + bw.write(l); + bw.write(System.getProperty("line.separator")); + } + + bw.close(); + } + catch (Exception e) + { + e.printStackTrace(); + System.out.println("[MobArena] ERROR! Could not create log file!"); + return; + } + } + + public void add(String s) { log.add(s); } + public void clear() { log.clear(); } +} diff --git a/src/com/garbagemule/MobArena/ArenaMaster.java b/src/com/garbagemule/MobArena/ArenaMaster.java index d5603c9..7dedf60 100644 --- a/src/com/garbagemule/MobArena/ArenaMaster.java +++ b/src/com/garbagemule/MobArena/ArenaMaster.java @@ -23,7 +23,7 @@ public class ArenaMaster //protected Lobby masterLobby; // Settings - protected boolean enabled, updateNotify, autoEquip, emptyInvs, hellhounds; + protected boolean enabled, updateNotify; // Classes protected List classes; @@ -257,6 +257,7 @@ public class ArenaMaster config.setProperty("arenas." + configName + ".settings.protect", true); config.save(); config.load(); + config.setProperty("arenas." + configName + ".settings.logging", false); config.setProperty("arenas." + configName + ".settings.clear-wave-before-next", false); config.setProperty("arenas." + configName + ".settings.detonate-creepers", false); config.setProperty("arenas." + configName + ".settings.detonate-damage", false); @@ -271,7 +272,10 @@ public class ArenaMaster config.setProperty("arenas." + configName + ".settings.pvp-enabled", false); config.setProperty("arenas." + configName + ".settings.monster-infight", false); config.setProperty("arenas." + configName + ".settings.allow-teleporting", false); + config.save(); + config.load(); config.setProperty("arenas." + configName + ".settings.player-limit", 0); + config.setProperty("arenas." + configName + ".settings.max-join-distance", 0); config.save(); config.load(); config.setProperty("arenas." + configName + ".settings.repair-delay", 5); diff --git a/src/com/garbagemule/MobArena/MACommands.java b/src/com/garbagemule/MobArena/MACommands.java index 836f9f0..836c3f2 100644 --- a/src/com/garbagemule/MobArena/MACommands.java +++ b/src/com/garbagemule/MobArena/MACommands.java @@ -34,6 +34,8 @@ public class MACommands implements CommandExecutor COMMANDS.add("arenas"); // List of arenas COMMANDS.add("list"); // List of players COMMANDS.add("players"); // List of players + COMMANDS.add("info"); // Info/help + COMMANDS.add("help"); // Info/help COMMANDS.add("restore"); // Restore inventory COMMANDS.add("enable"); // Enabling COMMANDS.add("disable"); // Disabling @@ -152,12 +154,16 @@ public class MACommands implements CommandExecutor error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_ARENA_IS_RUNNING)); else if (arena.livePlayers.contains(p)) error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_ALREADY_PLAYING)); + else if (!MobArena.has(p, "mobarena.arenas." + arena.configName())) + error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_ARENA_PERMISSION)); else if (arena.playerLimit > 0 && arena.livePlayers.size() >= arena.playerLimit) error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_PLAYER_LIMIT_REACHED)); else if (arena.emptyInvJoin && !MAUtils.hasEmptyInventory(p)) error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_EMPTY_INV)); else if (!arena.emptyInvJoin && !MAUtils.storeInventory(p)) error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_STORE_INV_FAIL)); + else if (arena.joinDistance > 0 && !arena.inRegionRadius(p.getLocation(), arena.joinDistance)) + error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_TOO_FAR)); else error = false; // If there was an error, don't join. @@ -243,9 +249,11 @@ public class MACommands implements CommandExecutor error = MAUtils.tellPlayer(p, MAMessages.get(Msg.SPEC_ALREADY_PLAYING)); else if (arena.emptyInvSpec && !MAUtils.hasEmptyInventory(p)) error = MAUtils.tellPlayer(p, MAMessages.get(Msg.SPEC_EMPTY_INV)); + else if (arena.joinDistance > 0 && !arena.inRegionRadius(p.getLocation(), arena.joinDistance)) + error = MAUtils.tellPlayer(p, MAMessages.get(Msg.JOIN_TOO_FAR)); else error = false; - // If there was an error, don't join. + // If there was an error, don't spec. if (error) return true; @@ -372,36 +380,6 @@ public class MACommands implements CommandExecutor return true; } - /* - * Enable or disable protection - */ - if (base.equals("protect")) - { - if (!console && !(player && MobArena.has(p, "mobarena.admin.protect")) && !op) - { - MAUtils.tellPlayer(sender, MAMessages.get(Msg.MISC_NO_ACCESS)); - return true; - } - if (arg1.isEmpty() || !arg1.matches("^[a-zA-Z][a-zA-Z0-9_]*$") || !(arg2.equals("true") || arg2.equals("false"))) - { - MAUtils.tellPlayer(sender, "Usage: /ma protect [true|false]"); - return true; - } - - Arena arena = am.getArenaWithName(arg1); - if (arena == null) - { - MAUtils.tellPlayer(sender, MAMessages.get(Msg.ARENA_DOES_NOT_EXIST)); - return true; - } - - arena.protect = arg2.equals("true"); - arena.serializeConfig(); - arena.load(plugin.getConfig()); - MAUtils.tellPlayer(sender, "Protection for arena '" + arg1 + "' set to " + arg2); - return true; - } - /* * Restore a player's inventory. */ @@ -650,6 +628,75 @@ public class MACommands implements CommandExecutor return true; } + /* + * Enable or disable protection + */ + if (base.equals("protect")) + { + if (!console && !(player && MobArena.has(p, "mobarena.setup.protect")) && !op) + { + MAUtils.tellPlayer(sender, MAMessages.get(Msg.MISC_NO_ACCESS)); + return true; + } + + Arena arena; + + // No arguments + if (arg1.isEmpty()) + { + arena = am.selectedArena; + arena.protect = !arena.protect; + } + + // One argument + else if (arg2.isEmpty()) + { + // true/false + if (arg1.equals("true") || arg1.equals("false")) + { + arena = am.selectedArena; + arena.protect = arg1.equals("true"); + } + // Arena name + else + { + arena = am.getArenaWithName(arg1); + if (arena == null) + { + MAUtils.tellPlayer(sender, "There is no arena with that name."); + MAUtils.tellPlayer(sender, "Usage: /ma protect ([true|false])"); + MAUtils.tellPlayer(sender, " or /ma protect ([true|false])"); + return true; + } + arena.protect = !arena.protect; + } + } + + // Two arguments + else + { + if (!(arg2.equals("true") || arg2.equals("false"))) + { + MAUtils.tellPlayer(sender, "Usage: /ma protect ([true|false])"); + MAUtils.tellPlayer(sender, " or /ma protect ([true|false])"); + return true; + } + arena = am.getArenaWithName(arg1); + if (arena == null) + { + MAUtils.tellPlayer(sender, "There is no arena with that name."); + MAUtils.tellPlayer(sender, "Usage: /ma protect ([true|false])"); + MAUtils.tellPlayer(sender, " or /ma protect ([true|false])"); + return true; + } + arena.protect = arg2.equals("true"); + } + + arena.serializeConfig(); + MAUtils.tellPlayer(sender, "Protection for arena '" + arena.configName() + "': " + ((arena.protect) ? ChatColor.GREEN + "on" : ChatColor.RED + "off")); + return true; + } + if (base.equals("editarena")) { if (!console && !(player && MobArena.has(p, "mobarena.setup.editarena")) && !op) diff --git a/src/com/garbagemule/MobArena/MAMessages.java b/src/com/garbagemule/MobArena/MAMessages.java index a5979b7..1b8bfda 100644 --- a/src/com/garbagemule/MobArena/MAMessages.java +++ b/src/com/garbagemule/MobArena/MAMessages.java @@ -3,8 +3,9 @@ package com.garbagemule.MobArena; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; -import java.io.FileReader; +import java.io.FileInputStream; import java.io.FileWriter; +import java.io.InputStreamReader; import java.util.HashMap; import java.util.Map; @@ -22,11 +23,13 @@ public class MAMessages JOIN_IN_OTHER_ARENA, JOIN_ARENA_NOT_ENABLED, JOIN_ARENA_NOT_SETUP, + JOIN_ARENA_PERMISSION, JOIN_ARENA_IS_RUNNING, JOIN_ALREADY_PLAYING, JOIN_ARG_NEEDED, - JOIN_PLAYER_LIMIT_REACHED, + JOIN_TOO_FAR, JOIN_EMPTY_INV, + JOIN_PLAYER_LIMIT_REACHED, JOIN_STORE_INV_FAIL, LEAVE_PLAYER_LEFT, LEAVE_NOT_PLAYING, @@ -45,6 +48,7 @@ public class MAMessages FORCE_END_IDLE, REWARDS_GIVE, LOBBY_CLASS_PICKED, + LOBBY_CLASS_RANDOM, LOBBY_CLASS_PERMISSION, LOBBY_PLAYER_READY, LOBBY_DROP_ITEM, @@ -55,7 +59,6 @@ public class MAMessages WAVE_DEFAULT, WAVE_SPECIAL, WAVE_REWARD, - // Misc MISC_LIST_ARENAS, MISC_LIST_PLAYERS, MISC_COMMAND_NOT_ALLOWED, @@ -73,9 +76,11 @@ public class MAMessages defaults.put(Msg.JOIN_IN_OTHER_ARENA, "You are already in an arena! Leave that one first."); defaults.put(Msg.JOIN_ARENA_NOT_ENABLED, "This arena is not enabled."); defaults.put(Msg.JOIN_ARENA_NOT_SETUP, "This arena has not been set up yet."); + defaults.put(Msg.JOIN_ARENA_PERMISSION, "You don't have permission to join this arena."); defaults.put(Msg.JOIN_ARENA_IS_RUNNING, "This arena is in already progress."); defaults.put(Msg.JOIN_ALREADY_PLAYING, "You are already playing!"); defaults.put(Msg.JOIN_ARG_NEEDED, "You must specify an arena. Type /ma arenas for a list."); + defaults.put(Msg.JOIN_TOO_FAR, "You are too far away from the arena to join/spectate."); defaults.put(Msg.JOIN_EMPTY_INV, "You must empty your inventory to join the arena."); defaults.put(Msg.JOIN_PLAYER_LIMIT_REACHED, "The player limit of this arena has been reached."); defaults.put(Msg.JOIN_STORE_INV_FAIL, "Failed to store inventory. Try again."); @@ -101,6 +106,7 @@ public class MAMessages defaults.put(Msg.LOBBY_PICK_CLASS, "You must first pick a class!"); defaults.put(Msg.LOBBY_RIGHT_CLICK, "Punch the sign. Don't right-click."); defaults.put(Msg.LOBBY_CLASS_PICKED, "You have chosen % as your class!"); + defaults.put(Msg.LOBBY_CLASS_RANDOM, "You will get a random class on arena start."); defaults.put(Msg.LOBBY_CLASS_PERMISSION, "You don't have permission to use this class!"); defaults.put(Msg.WARP_TO_ARENA, "Can't warp to the arena during battle!"); defaults.put(Msg.WARP_FROM_ARENA, "Warping not allowed in the arena!"); @@ -134,10 +140,7 @@ public class MAMessages System.out.println("[MobArena] Announcements-file not found. Creating one..."); msgFile.createNewFile(); - FileWriter fw = new FileWriter(msgFile); - BufferedWriter bw = new BufferedWriter(fw); - - // Write default announcements to the file. + BufferedWriter bw = new BufferedWriter(new FileWriter(msgFile)); for (Msg m : Msg.values()) { bw.write(m.toString() + "=" + defaults.get(m)); @@ -150,26 +153,29 @@ public class MAMessages } catch (Exception e) { - System.out.println("[MobArena] ERROR: Couldn't initialize announcements-file. Using defaults."); + System.out.println("[MobArena] ERROR! Couldn't initialize announcements-file. Using defaults."); return; } // If the file was found, populate the msgMap. try { - FileReader fr = new FileReader(msgFile); - BufferedReader br = new BufferedReader(fr); + BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(msgFile), "UTF-8")); + // Check for BOM character. + br.mark(1); int bom = br.read(); + if (bom != 65279) br.reset(); + String s; while ((s = br.readLine()) != null) - { process(s); - } + br.close(); } catch (Exception e) { - System.out.println("[MobArena] ERROR: Problem with announcements-file. Using defaults."); + e.printStackTrace(); + System.out.println("[MobArena] ERROR! Problem with announcements-file. Using defaults."); return; } } @@ -211,7 +217,7 @@ public class MAMessages String[] split = s.split("="); if (split.length != 2) { - System.out.println("[MobArena] ERROR: Couldn't parse \"" + s + "\". Check announcements-file."); + System.out.println("[MobArena] ERROR! Couldn't parse \"" + s + "\". Check announcements-file."); return; } @@ -227,7 +233,7 @@ public class MAMessages } catch (Exception e) { - System.out.println("[MobArena] ERROR: " + key + " is not a valid key. Check announcements-file."); + System.out.println("[MobArena] ERROR! " + key + " is not a valid key. Check announcements-file."); return; } } diff --git a/src/com/garbagemule/MobArena/MAPlayerListener.java b/src/com/garbagemule/MobArena/MAPlayerListener.java index 9cb29dd..67341bc 100644 --- a/src/com/garbagemule/MobArena/MAPlayerListener.java +++ b/src/com/garbagemule/MobArena/MAPlayerListener.java @@ -75,7 +75,7 @@ public class MAPlayerListener extends PlayerListener if (!am.updateNotify || !event.getPlayer().isOp()) return; final Player p = event.getPlayer(); - Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(plugin, + Bukkit.getServer().getScheduler().scheduleAsyncDelayedTask(plugin, new Runnable() { public void run() diff --git a/src/com/garbagemule/MobArena/MASpawnThread.java b/src/com/garbagemule/MobArena/MASpawnThread.java index abf9fce..049f908 100644 --- a/src/com/garbagemule/MobArena/MASpawnThread.java +++ b/src/com/garbagemule/MobArena/MASpawnThread.java @@ -75,14 +75,14 @@ public class MASpawnThread implements Runnable public void run() { + List tmp = new LinkedList(arena.monsters); + for (Entity e : tmp) + if (e.isDead()) + arena.monsters.remove(e); + // Check if wave needs to be cleared first. If so, return! if (arena.waveClear && wave > 1) - { - List tmp = new LinkedList(arena.monsters); - for (Entity e : tmp) - if (e.isDead()) - arena.monsters.remove(e); - + { if (!arena.monsters.isEmpty()) return; } @@ -119,7 +119,7 @@ public class MASpawnThread implements Runnable } wave++; - if (arena.maxIdleTime > 0) arena.resetIdleTimer(); + if (arena.maxIdleTime > 0 && arena.monsters.isEmpty()) arena.resetIdleTimer(); } /** diff --git a/src/com/garbagemule/MobArena/MAUtils.java b/src/com/garbagemule/MobArena/MAUtils.java index 563c5a2..9a45599 100644 --- a/src/com/garbagemule/MobArena/MAUtils.java +++ b/src/com/garbagemule/MobArena/MAUtils.java @@ -918,15 +918,6 @@ public class MAUtils return result; } - /*public static double distance(Location loc1, Location loc2) - { - double x = loc1.getX() - loc2.getX(); - double y = loc1.getY() - loc2.getY(); - double z = loc1.getZ() - loc2.getZ(); - - return x*x + y*y + z*z; - }*/ - /** * Convert a proper arena name to a config-file name. * All spaces are replaced by underscores, and the whole String is @@ -972,25 +963,51 @@ public class MAUtils /** * Turn a list into a space-separated string-representation of the list. - */ - public static String listToString(List list) - { - return listToString(list, true); - } - + */ public static String listToString(List list, boolean none) { - if (none && list.isEmpty()) - return MAMessages.get(Msg.MISC_NONE); + if (list.isEmpty()) + { + if (none) + return MAMessages.get(Msg.MISC_NONE); + else + return ""; + } StringBuffer buffy = new StringBuffer(); - for (E e : list) + + E type = list.get(0); + if (type instanceof Player) { - buffy.append((e instanceof Player) ? ((Player) e).getName() : e.toString()); - buffy.append(" "); + for (E e : list) + { + buffy.append(((Player) e).getName()); + buffy.append(" "); + } + } + else if (type instanceof ItemStack) + { + ItemStack stack; + for (E e : list) + { + stack = (ItemStack) e; + buffy.append(stack.getType().toString().toLowerCase()); + buffy.append(":"); + buffy.append(stack.getAmount()); + buffy.append(", "); + } + } + else + { + for (E e : list) + { + buffy.append(e.toString()); + buffy.append(" "); + } } return buffy.toString(); } + public static String listToString(List list) { return listToString(list, true); } /** * Returns a String-list version of a comma-separated list. @@ -1099,6 +1116,36 @@ public class MAUtils ws.allowAnimals = allowAnimals; } + public static String getDuration(long duration) + { + long seconds = duration / 1000; + long secs = seconds % 60; + long mins = (seconds - secs) / 60 % 60; + long hrs = ((seconds - secs) - (mins * 60)) / 60 / 60; + return hrs + ":" + ((mins < 10) ? "0" + mins : mins) + ":" + ((secs < 10) ? "0" + secs : secs); + } + + public static String padRight(String s, int length) { return padRight(s, length, ' '); } + public static String padRight(String s, int length, char pad) + { + StringBuffer buffy = new StringBuffer(); + buffy.append(s); + for (int i = s.length(); i < length; i++) + buffy.append(pad); + return buffy.toString(); + } + + public static String padLeft(String s, int length) { return padLeft(s, length, ' '); } + public static String padLeft(String s, int length, char pad) + { + StringBuffer buffy = new StringBuffer(); + for (int i = 0; i < length - s.length(); i++) + buffy.append(pad); + buffy.append(s); + return buffy.toString(); + } + + /** * Stand back, I'm going to try science! */ @@ -1158,7 +1205,7 @@ public class MAUtils catch (Exception e) { e.printStackTrace(); - System.out.println("Couldn't create backup file. Aborting auto-generate..."); + System.out.println("[MobArena] ERROR! Couldn't create backup file. Aborting auto-generate..."); return false; } @@ -1291,7 +1338,7 @@ public class MAUtils } catch (Exception e) { - if (error) System.out.println("Couldn't find backup file for arena '" + name + "'"); + if (error) System.out.println("[MobArena] ERROR! Couldn't find backup file for arena '" + name + "'"); return false; }