From fbbafc76f2d5a4b68c8ba42aa5d971dbe0ae4c29 Mon Sep 17 00:00:00 2001 From: Travis Eggett Date: Wed, 20 Jun 2012 09:26:05 -0600 Subject: [PATCH] Updates for R3+ and worked on Logging for Arena Resets --- .classpath | 2 +- bin/me/Travja/HungerArena/BlockStorage.class | Bin 0 -> 457 bytes bin/me/Travja/HungerArena/Chests.class | Bin 4377 -> 5449 bytes bin/me/Travja/HungerArena/CommandBlock.class | Bin 1811 -> 1905 bytes bin/me/Travja/HungerArena/DeathListener.class | Bin 7823 -> 7932 bytes bin/me/Travja/HungerArena/HaCommands$10.class | Bin 959 -> 959 bytes bin/me/Travja/HungerArena/HaCommands$11.class | Bin 959 -> 959 bytes bin/me/Travja/HungerArena/HaCommands$12.class | Bin 1164 -> 959 bytes bin/me/Travja/HungerArena/HaCommands$13.class | Bin 1011 -> 1164 bytes bin/me/Travja/HungerArena/HaCommands$14.class | Bin 960 -> 1011 bytes bin/me/Travja/HungerArena/HaCommands$15.class | Bin 959 -> 1250 bytes bin/me/Travja/HungerArena/HaCommands$16.class | Bin 959 -> 960 bytes bin/me/Travja/HungerArena/HaCommands$17.class | Bin 959 -> 959 bytes bin/me/Travja/HungerArena/HaCommands$18.class | Bin 959 -> 959 bytes bin/me/Travja/HungerArena/HaCommands$19.class | Bin 959 -> 959 bytes bin/me/Travja/HungerArena/HaCommands$2.class | Bin 958 -> 1219 bytes bin/me/Travja/HungerArena/HaCommands$20.class | Bin 959 -> 959 bytes bin/me/Travja/HungerArena/HaCommands$21.class | Bin 959 -> 959 bytes bin/me/Travja/HungerArena/HaCommands$22.class | Bin 959 -> 959 bytes bin/me/Travja/HungerArena/HaCommands$23.class | Bin 959 -> 959 bytes bin/me/Travja/HungerArena/HaCommands$24.class | Bin 1164 -> 959 bytes bin/me/Travja/HungerArena/HaCommands$25.class | Bin 0 -> 959 bytes bin/me/Travja/HungerArena/HaCommands$26.class | Bin 0 -> 1164 bytes bin/me/Travja/HungerArena/HaCommands$3.class | Bin 957 -> 958 bytes bin/me/Travja/HungerArena/HaCommands$4.class | Bin 957 -> 957 bytes bin/me/Travja/HungerArena/HaCommands$5.class | Bin 957 -> 957 bytes bin/me/Travja/HungerArena/HaCommands$6.class | Bin 957 -> 957 bytes bin/me/Travja/HungerArena/HaCommands$7.class | Bin 957 -> 957 bytes bin/me/Travja/HungerArena/HaCommands$8.class | Bin 957 -> 957 bytes bin/me/Travja/HungerArena/HaCommands$9.class | Bin 957 -> 957 bytes bin/me/Travja/HungerArena/HaCommands.class | Bin 39362 -> 39700 bytes .../HungerArena/JoinAndQuitListener$1.class | Bin 1261 -> 1256 bytes .../HungerArena/JoinAndQuitListener$2.class | Bin 1409 -> 1404 bytes .../HungerArena/JoinAndQuitListener$3.class | Bin 3516 -> 3893 bytes .../HungerArena/JoinAndQuitListener.class | Bin 3773 -> 4051 bytes bin/me/Travja/HungerArena/Main.class | Bin 4293 -> 4394 bytes .../HungerArena/SpectatorListener$1.class | Bin 1396 -> 1396 bytes .../HungerArena/SpectatorListener.class | Bin 6542 -> 5994 bytes config.yml | 5 +- src/me/Travja/HungerArena/BlockStorage.java | 289 ++++ src/me/Travja/HungerArena/Chests.java | 71 +- src/me/Travja/HungerArena/CommandBlock.java | 6 +- src/me/Travja/HungerArena/DeathListener.java | 96 +- src/me/Travja/HungerArena/HaCommands.java | 591 ++++---- .../HungerArena/JoinAndQuitListener.java | 77 +- src/me/Travja/HungerArena/Main.java | 1324 +---------------- .../Travja/HungerArena/SpectatorListener.java | 10 +- 47 files changed, 742 insertions(+), 1729 deletions(-) create mode 100644 bin/me/Travja/HungerArena/BlockStorage.class create mode 100644 bin/me/Travja/HungerArena/HaCommands$25.class create mode 100644 bin/me/Travja/HungerArena/HaCommands$26.class create mode 100644 src/me/Travja/HungerArena/BlockStorage.java diff --git a/.classpath b/.classpath index 5edfce4..add9899 100644 --- a/.classpath +++ b/.classpath @@ -3,6 +3,6 @@ - + diff --git a/bin/me/Travja/HungerArena/BlockStorage.class b/bin/me/Travja/HungerArena/BlockStorage.class new file mode 100644 index 0000000000000000000000000000000000000000..9b80152312d93889a50814cb1850d95c572a6eb0 GIT binary patch literal 457 zcmaJ-O-sW-6r7jF#>U#(s`aZNiifs>3tkmLh2kOVp{4gtT;jIrMz%@+mj@9%_yhb= z;tP7{L1lT5on>a;?ECn9dk1ieZ4VCNaH_=6%K2D|o7}|8URq_OxJuG!GRRUZW97jm ztc~SdibR@N+=pWoWgg0eoz%u6%qJ6_2{l(H6M>#($|y@HKP7pr4WS+UKI2wubH==L zZFF`)*zf#D?2ZWTb^4%ul(1Sw1vNsc(;Zd7>8kLsOsEIisJna`Dm#>6q6p0(jbt*C zRu}l^(aj$9jBxbFyv5IRK$;T#L7Ll0^>yLdSR|Yji@^bhC~+-uQIUmLT-++~xvwzl x!{Gz?y;oFw$1kWqGjh=2USln=3m1E=Xrsxf_07gQHW;xEo9tS6wir3s`U2;rX#xNM literal 0 HcmV?d00001 diff --git a/bin/me/Travja/HungerArena/Chests.class b/bin/me/Travja/HungerArena/Chests.class index 623d346fc61d4369635c8653c909b82a0641b75b..0711b474fd03e9e3505ab7d0cdd4a0c8118f1a04 100644 GIT binary patch literal 5449 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 delta 1964 zcmb7F`&U#|6#mY=Gjs0@mr=$Uk%xjJg(EOP$|`=S6c$Sg(87cvdWPZIztSRp}(AS_IJ*A_TJwnMh3Rm+1U8$i4YbDh3Q@R{+9j@U_f9Vx< z3fAK~2A#*PHZX{J%c_#F3iS#aCSj)rG%C1$5@^(b8x-7#oA@UE(nT&bOW4RTHxTqV zHg;FZuuOWIvME{D(M_c-d*px5tF&<;0)tOjDX2|oBG zbaJyHOAO!^USz1aB*>8ZZ{q51udl@&l%W#4P7MTI9(SP$UFcC@L@(c>OHJCK*|#dV z4Y%`S2D@bo1IyR2u!e1ADBxRlR=!s@@GQxec^5-cVRfL{rFsMY!Uk=j*MvUYE8!l# zPFi8U5BHO^=73*ydHo@Bv0$+Y58`174>6=nMOfum-5z&P!6SH-k4U+4A0Ah*9h^@{ zmxZ64=Ef=G>1jZtjQ(jry^LoV<`h<`?#@t^Kc1@=*mDYYfm78&ZdJx^22*^p!P%(I zzo6hnyu^@9#f`~Z?G5oAvR(FIP>XI4AD7cJU&ZSZUSlwy&7fQL`W&=QRqzJh+-}UK z=-*bb7ehSHSY;f+ehK>+O8IePsa`<@qkO+{?d3j16^y}5L4;gA?(%@Y)$7qDOg7>W z-j#5e!J2SD%G+FOdB7JSm5$&jUv0{fyYRkNmk)TSsf2yRcblx%PZS(OFUb*d`&(+< zp%7JhL{4%tc7o3{7cqfXm>ot7beKm~xAM*AmEk_JOn_LkJc4ws$*wJkVkx6g?ZYS< z6iW#!9Y)!pn4cfTl?+Ew*)L|t#z#;Y#Ttevsu{|31YS$Y>Z#vAy@7fs^%C_>+M=7a zZClG^`##KxpyMFA!cI$Q6x}v`1e+|IBe=t6_-7<(qdN(U;O+>v?PLq5c;`v8=?~z6 z2p&5pF+9WJ6ETN2!z|1h#HZp!=|YHMEyo=(W}5tekAWA6dwy1qF+Xb6l(p*pf(kH zETGGlh8(2BL0ARCnW)A>`c)R830d@*^t9(=_YPNE<1#a+3&~`99Sl_ z!7l8=a^WNjgkMo8Cc`0Sph&c%SS&_~SdEpikh|8{y{5ZvC5vu2#&H}BdT|Xt#b*#; z63fH*9A7|0g(%}ooS=BCMc^xZO|h;Q{=i8Z8PFvBhHq#j!6!`MTYLwZT({$U{6G)M zkF>i27DrAIa+;785YJHDMhQ$phJ;lTawYu47?~d6Pd5JydXc6}oF^K?&(sR|lbOt@)|*!A=il>7V3690b)Y|r^Gu^_df%_Q z!Fb^MPHs7LCmZ#;<5$82<4l@NsNY7a{RJ;ITDF~V&JF5b7lQt{N;1ui z`l>(Ze=U7G&SxiIbNp(4aWC-v>cqZRtGIzhftI_Jm@|2!e(Bx%JPYbte;6;Ylw_H* zvW-z~Rh5jKNb9%KTlK{lOci*aWP@If_+F#gc{}c75{FOUZ;TD?@CqG6o~>jeQbmEj z(i8h}#K19A=~M2VlFvpA9Wl~mPmjoD?XfeS$2g`hV?<14FDR`2VD=luh(&uPVlCp` z86RStNVQIzU=OBX8+Wj=XeUDl!z^_&%6-aoiwx=J7O^{o$tpIfph;)}mn~uvEmCD$ VNb delta 364 zcmXAk%`O9B7=@p&^VQTCMOB&*5+rD=ND~`PsHy)}{ghHaRkTFXR6;jay@*-W%F?#T z2oe|IZd?HINjE1s=j5FCyx(5iYkd8_e*#f18pfSAVlcp*Nt}6sd0VO`PAli7a=BC# z$gzW9Rwp3{*bg$$X<*Ub$`UI&%L2b$kbbwxDrTYAi-zjc=u+5Ai^4A4 z_%P@ujGrlbND@#Agch5}mE~7d&ES|kLIsvNp@2)pEKWI7h3Cp|L;R4`3F+z^K~YIA FN`IGLLgoMf diff --git a/bin/me/Travja/HungerArena/DeathListener.class b/bin/me/Travja/HungerArena/DeathListener.class index 35eccfe3052592d4ffbb0ed2c61e51d5b4674b46..39875f296ab556275e00a6cd1aaee7dde92ad8a2 100644 GIT binary patch literal 7932 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 n4Qxjb03`CTlOKH2}jCldSr literal 7823 zcmb7J33y!9b^g!1nRz4WS<5W4hRx#*BzYOEfIt#B)@EB+vW+Fn3yXP@o;72SX2i^s zg+oF@AdnPD8Ypc|lGaI~lqPKm1sR3LWGUI2l(uP`E@{#>O;ZSMlhCH5K-B-fH#44* z#>TNf&%5`$d(ZZtbMCp%U;o8tPXlO^{W?5?)l*h{Bx@c!V#c@6q$jOxch*Xq@jlD6 z6NAZ|ZKbWO4zHm8hGPf^hCdAt}3j?S{-Wy7n~h$1DE15VnHuW2qJ?{RL$7QRJ=Qz zHIJ+4p|&kpr=wL6s_@#tdTbB`7$7zSh}K7%T{b1b+0}ATsS`I)h3Wt{35;Ro_(S8F zOm-qyjkn=S9aj*C5`Uae$QfwIRjyNp?QAm5u)VZYyi4qADbXlT3ZR3*u)Z2yxK_tC zWf|ozF|ZkL7x;41siZBqtPt|j98GT9UXs%%@yMrR!n+kqh+gJnkbWo8(s26keXpk~_4<}8=A2(g08 z`gB}R$V-^3>{IDqjolblNjoBFDoY$!d|zK*%czR+Q3Lz1pLv_J?0l*fcr4yopgXzc zb5cRDzAU<(dUp1tB%0HV^|CEx2|=r!pmSr6rd0rs70js!vre%&Q%qgM3U60AB~k^qvG^<-w$1UQL*}$oyL2S!hLV-6EoTy#s|#hysbPW*WxjUHMcEc- zol|M(#%fFVfpXE9R}Ww_b^ngTW8EvZeTK< z$y&W;jxx$BNg*x|Dt+E-;4a)vM5#|9bOg)GQ>^fU`LG-J7`PYjr(Eth;2bu6{w+x! zz5Juz-*4c7!u$P-@F4@gS|B(wA5{7HkZXB~N8QkfKkC&vPH z)EZ1qChW9RsXEK>ENWX;Ch|xXcPTF%wVay#5d$AprB^d2CRC07Ed#%;=KicTl{seV z_&7bX7^0q;WNO07R^ueo zk(2m+1E0jFDA=5yw$dz94Ae7n-S(tH3C^q16~G?~YDW@Q){2?@m(I+_6x$~i+s`cG zR)~TU0WPV)O?l#v3_OizsCq8>4u%mMivh*(lw$a-IyMKE#%^JM0G}mRF}itd#88g}Aaka=P4fN-i@l_pP5nNJ&NrjaLzJ{;62|03nnpQ3f{vp%0*e9jP@f-Lv z9p5ak<%QP-}7i|ZSC2$YpAs~HsZQ97QlC?actJi#f~bsO~l5I7kti_ z-{qdzY|>7|?1Yuf#}TBwb|^2u69KsyRInVR7g@rC-5+>i7?y3TIlN!dnCXg&#B6 z($;Nk6UysiKKPY;ern)Vyx~md2)Z;F5|j{&(jIHp%rg06 zr3I{#e8nwdNTV!gsIaE0q!hF_-|$u&^TosoneApS!Sh{3j6@B&KrSS+gqhpv1P3dT z6M1hc4KFcdg*qq$`%HU0LA{lyR~oWPR(WG$eHz`C-y*oG%!o6L9RYccOAZa*O9H~)zs4;# zW^=kF77$)vn_?4579}QR+O&DSO~uB|nH;l`SGF=|ovWQvw@soFD&3H8`()#*i^Ef%<>_s*<=Uh&p9VQqe-1eQ@Kf!oYG0JR=We2p?@}+=2rqz-GNK3%1!el zfm`JK87FMWVAe9HGpvVY{c7Q8p!yo+=(t&zy@CtR5n2>BoSDgvTk4wti==a86h1v{ zR3#HDd9&B}&j$~GdBJDj#a!lT1BYG%gY#vaZRHA&>dIPAp|*A1Gidk>XC8$3Tg$aT z5MIuz5awT?(Or!QN9s>CmXkZZh9*S$?gG;MoL$H#`Ad*H4UP}5o5Mvztxu!jX{=g5 zhvpO5>&`X?FP}qO@aj2q?o^aHY}w#%n@67qo!$*v+q1Z?!?(ffJoODe=UMd}b{~j( zn|w`rQ`IT#>8x27t(n7KrMu?n-s;%eL=QwczW{5gQ9CZ;E%Rd9dg7-HAJnK`jsB586fuwQQO^z0 zT6b_p4ev?sH{IFyPk6snr2nup_&6So2Iui3VPBf)Y=}0vqC;v8!?-B=ClnnGDOvwr zDod^ZnP49O$1hwB(Pi^kpayxW%!}qB*;&GgUOK5Roh&O(yr09D4`_~tQa?N|VZ|;u zFHM3+7WNl3my6sL7tg`5VYu7|ZC+xEV?m$1G4rxUaG#l0wKjHa_J36MkLAxG}hKq>OI2X}K-U&rr z97H2a5#{{5| zqy(IL1x|etoMNUoR0N0NusGcqR7G&=ir~1^JUGRP0;f1p;1nkc9CuO?oceQuLmP(6 zZODUD)TbPr@aguD*3LrH7!5~)ZK}plxC2g5BEd*Vfm0A!2^<6$fm1vp$rb#_dkwCYer%Q<{IGjFw#eP+mXD%GPVr;y=g}uWWQ+MKKgPa^ zZJugu_bkVNXAQ3NY{CxDAbLEb81meLou1pV%X1fYdmg~`o=;(q=NUeqC;e;K>-jE5 zJwL`l&uh3r6WpjR!%f;|+^qHCkT!%{v{9H^8e`fAFs?m_32h#h_5u!TFJe;r4ief+ zNNPXB5wC`$-b*m%ZN`+h4QcNXGTyzI_8!8m-aC->-pl8QN&g6Dyieko_lvmQ`&GQt z`!e3;eHC~3YVdB~rFf4ojyrv$c&~2^cllDd+jkuA^WB4cd=KGX-$}gR_Z-)~fM4;w zi2Hmm<9^>y@qq6Qe9(U(KIC7+=SJM;zZwtvhwza9Mt;g-%O$t)R?ViM(3)^`K;Eue z6aW5vYhw7Xmo3uG)+Fp7kRIt}YjT;t-Dy{R=pbj+uK3YIIjUXJvBMv9+LbDd_^X_D zr3RMoHK$!!MwGjykLzlQbq6sVLp>4SC|fxS68F`zjiWHpua)g=a2h4-+b#o?TgwLj zX}OLKQ=Rn7CuIj|^+fz(86>TNxZf{Bq=krTpX^jLVp=7;I0|`QldrgYHIdWqUTv8? zCA;N%G-#XUPT9k~L89sM3lUS7UxbLc{6fUb^o6^wLA7U| z1ez8Y$~8Jf#}wN%9sN4GbQ#w1u%>A`zfxiW-$wm8R;UeXXBS=k3iuu1U{tJ diff --git a/bin/me/Travja/HungerArena/HaCommands$10.class b/bin/me/Travja/HungerArena/HaCommands$10.class index 9348a22c70ba31b16ebe96745103beba0fa54bfa..dc858a2794dd658ff9609f6e70b5482b29ec7039 100644 GIT binary patch delta 14 WcmdnbzMp-=OGZZH&94}*G6DcCLj}(O delta 14 WcmdnbzMp-=OGZYc&94}*G6DcCJq6AH diff --git a/bin/me/Travja/HungerArena/HaCommands$11.class b/bin/me/Travja/HungerArena/HaCommands$11.class index 9d7725af14ad4c97d90a8ec8da8864a28bcf7f9a..1e4ae17fcde987efbe825a1093b0627a9df7fcef 100644 GIT binary patch delta 14 WcmdnbzMp-=OGZYc&94}*G6DcCJq6AH delta 14 WcmdnbzMp-=OGZY+&94}*G6DcCHwDcA diff --git a/bin/me/Travja/HungerArena/HaCommands$12.class b/bin/me/Travja/HungerArena/HaCommands$12.class index 0ebeecee934585507308358fb861d08865dd0720..ddc0b5525274fc0cd1617070425e0b40d1ddeecd 100644 GIT binary patch delta 372 zcmYk0&r1SP5XZms)?D}bs#QzNepzX)Yh~6YD1wM?b_(iTD6t3%VqNRjC5Ywy6I}x< z>QML2{W)RHGl>Rmw@3#Ety}kk1KqZtnD!LOigU&9Y;8jC6H@jUtCPemI zwYmesu!4=4goRNB2d++2Et7Hc?D3`9rTi{b7wIQV rCl_9j7dZLF9sKb`4@vR;kCz(oEci?iC}D+b1R1Piojc>yusMDJ9knme delta 573 zcmZXQ&2H0B5Ju0nQ%oGUHEDoCfhHwD>LeIiXrbv35)xw3T~v_RnbZnyQ%7>$EZDGQ zgM=clc?hJW2o`kDEAT3)FblM#2POlrR=iKm*b&JgQkqRwMs UXspqYm|>1}wj?u!ozms`0}gm$NB{r; diff --git a/bin/me/Travja/HungerArena/HaCommands$13.class b/bin/me/Travja/HungerArena/HaCommands$13.class index 06d297aef2e100156db7479a0852d163b69447e3..e23453925c8896faacbd004b6b84c875afd9029a 100644 GIT binary patch delta 624 zcmZWm%Wl&^6g^`*HFl=0anb^%Knj5-PJ$sk3ZxGtBpy<`iUbQJq={=8x5h@clLZ@= zY>-ftU*HFjk|J2}0sI1Af!HJNgh*6kq?!9V_ntfV{?gwY=J(%UzX53D{?L5a&<7%_ zzRCgyd-p&Lgd2%CaJzXL#zBW+ZZnL-e4AmTwmY;cqn}D?z5bLzdywq=1{fAObexdd zNe%<12^A%dBFe)by`q7$IHzNkp+ea<$9Y_!qOYTV5XKCvRCC$d6Jgvju!c)IE;6i; z@457GRB@Tm57Xq0Pw3L$2K#v!xsOHmvg_v^6YHq!s1g0N`{O|l2W5tW7x^MJseY5A zg{z|%tm+kU4Q(CQDKAL_x7R;B40E^ZrvpFbxPhAtRxeG&z9+JL&(AUu_zX+6|7TQx zB3r-Bv4J}bx+mg;ME;G99x3et#}>9nAC(Vp70Z&70xVn3i8i3nErQeN=1JQkTP3;Z zG$vSZniE*gXV{;nz$JRkX##_(GAxrV6A6w}I8Bn_49c@o9wB9{<&3c~#>yC#qa0Ue z))5+{Szq8PcsBEC6Wsd8WJ3c~74xcwHMM}II(Lk*HDgq9mpByMLx-eBo8H6@X(n+? Hb~=9maFlDB delta 498 zcmY+A%TB^T7=_O;XrWYEP*Fh<6qJivWupmbqHNib=(<1y6=+SVY;ott#E?FT3nRMl z0bF`{68FX_G!ZA6{I~OeGdXwuZ;pTad3gm;z`>Be6=qACu30Ap=}cuPCE~^GIf1uq zG*mwb<^*u?@t_a|_#xR5QcLn!!U~6Ff{-9^fumXz5XU-! z)Ksmqq4$iAT2=LiY7*o#*~-**-RO1|y&=1*@}!)Ii#{X?d@Uu>vlP<`U=wK$ssGPc zRkN>}0=BSCAU3p6?@F=iEf+*^n6XPV7Ilf0OQo;K9Yt@-Rm;@$W-)7jcnXxmj(tPY zbPux4)B6FDB*y?|mxou|$_ekzv~&WRYXhi#&F*&obwi H4ws!@P^nu+ diff --git a/bin/me/Travja/HungerArena/HaCommands$14.class b/bin/me/Travja/HungerArena/HaCommands$14.class index c5cb35e426d69c82a330379c09b35a3dc59ff9bc..1301b53dafd6713f87b033c524d45a5466acb2ee 100644 GIT binary patch delta 313 zcmY+7O-=$q5QSfN8=H(1`O%C&s0@fYh-TawL)gd>Sm<_eIt)Q(OwZ^&Odr52=nglE z7clWGUch2tV=d}cy?Xg-CV%B?m(?w7VMk({p`7TUKX@FEN11<}i;Z1W%_nO%=Ba%f z2dFWWhAQhNahlw#zKTPo8QNaUym03>H+#us62#%+)+wOQP>2FI%>tdR;Sfg>&Hvx} zNlyn7coa2Hfi&Aqe)gM0l BKtKQh delta 308 zcmYk2Pfo&67{q_?DHdoKr4>{}MMVYF6xPIrJ56APi93^rHcf>TQ~qo{1L*<0f+obo zomcQIUchJL!p+QN=9^i3-^Qo$dLhgl8*CYD3aSgc>R6Q77OXvuWD(6y}lpM{n(;TLtqc$ zv3j^ylWEVNOjO_tiuLZJnk#RlqQL7<<1h+3jqBt}wv!k6^_+2W01KfpkITAd-NM#r zYJG`JGq<_KT2gwa;v9TXlia@PSW-xf5;8@cOzGd8`!}~jGrc_JO!KP#$~mpHC9>(Z F)<3wKFGm0X diff --git a/bin/me/Travja/HungerArena/HaCommands$15.class b/bin/me/Travja/HungerArena/HaCommands$15.class index e19baa93b06c53ce420c7bfce3a7b012fcdeb82d..e55a5fca702fc776e1b438eb937deef4ec0673ea 100644 GIT binary patch literal 1250 zcmah}YflqF6g|_eENxd?%S%zAK+(257EpXGU~1zlDH;Vy)KAlPEDPINvJd=S8iA;Z zpNuB{DC3>B+6u&OvO6<(?>+b2bMNlYU!T7MSi(IW5r(OTFgHEEzr)SPp{xt9=m|-C zUUC}^E^B^vaal){A+^Kzx#@6OH=k8@L^aUS$B^z=UxZTfiX#~Mf^FN+E-*}%d!btl z@qO-OeIaYYQxUFLH!I=pt{s@w76r3SWuxgs5q&GRw1YK^Or@2 z;qKD^`dA7mYhW5zNlCu9N2)T+<;tDBt^Qj1F4I3$tbXK(LD6wCo1R?>1L0@hac@u5 zCKPxM|Qe8UaBs(5ItDNc62fqA73Ssuu$F zm@C_J%xrsEJj(kTjb{RS{CL)!oV delta 449 zcmZXQ(MkeQ5QhKRbz4`rT(#8HEHg{j%B-8j2qL-&s+*whf;B}JLv2%UdxVI6lE8|( zsQVtH*9f9HDiL(xFf;$md}ro-YVWG?@%{P+U=t-35+UPWQ|5l_!auQNx9sjNA)9kM zlulLhX9UlFyH?jgnAD-d>w}Dd4h@D|rm9y%6tgN~?uncY#E~FObgp_0yG2McBWfI5 zcB|sU9OhM|2yuQZVhK^l0@4JnQSYACoqpXR%;fS%ZKqMJ_L@z*TO7$1FERuw`;o

!>}eOv|)yzC^3XM*11QhVNA2-kztG}dt51UVRHa|fXEY)p~V+0NjM+j j4t{w`93ds~hZi36WSC5lP{1l%5C82NHrNxB3O1h~l*>Xx diff --git a/bin/me/Travja/HungerArena/HaCommands$16.class b/bin/me/Travja/HungerArena/HaCommands$16.class index 1cc08d03c5cbf05f275a6f4a3805a66d77ad8fa5..722969256fdfccfa817a8acd288a3b874d5dd259 100644 GIT binary patch delta 32 ocmdnbet><$3r1!pLxat)82uR;SteUCd$F=H2(hwH?qoIt0H1{j7ytkO delta 31 ncmX@WzMp-=3q~eJi_NbY{TUf$CtEXnvC1M;nh>QC-uHUj{eUkG3T diff --git a/bin/me/Travja/HungerArena/HaCommands$2.class b/bin/me/Travja/HungerArena/HaCommands$2.class index 62104bc220a42e2156bf031455fa4a0fd41d973c..dcb2d6dc922b3d9af3b72780aa8c1b728217ed9d 100644 GIT binary patch literal 1219 zcmah|>rN9v6#k|yENxd?%T-h;ShX#e#d>$Sq&6B&iZ_r%{WWdJvap?PW_K|>gwa>g z2t-YM03XVDmR4IJ(oJU1nKNg;bNlAk@9#eW6tJQp#4z0u#=7D=Tikf;%eqiSB_!#* zR4a;Qu2x|82Y_U%grnhcDWb0$Qxj1zBy?yP z2()uLqKL&1#-NTkh8V)xz%@~}q|1BdM4J$WjJH+fJ`5tKxgYO~2==DQZ&z zcs>B1IfmH+I0ZAfIj3VD2E%~owEQVb_GB7n9M^F}LxEwes|`okq2nfQF~nUeZ&kQ1 zuM-7_yQ}=05lu9<=J={A9$5iT6CIMz2R$LnLs_*Qmu9glyiKR3;XXsU7m0N&Vu>N@ z$o89Ic$e)SNwxKqjP~&wWlF3*#lt)?5cBOxQ|=9e{zOWlN;Y?0;UZ0B4%6yGD47h{ z4J1MF?F)?8#UG`6+d9wC-}lE8|( zu%tVwH|R}*XeK3s28MIafByM6XI`a&sE)p#1^_lu6+sDd?l9|CPUXP1)v=r%f`a>; zPnS*ze0$xdDS=>0fry|C0bvCaR4-4Apo9eGMa+4+PzWcnKoGb%@3pKBLCSqes7Hp? zsmVxVQACCy=?>!!t|`c3i9l+Z&ar7}v2@tATY96{Zd;B%mTN)e323zvLIJBH zRtO^hObUu95vUEjYc$V{OUL`58FJu#(yCv<26V43+*}h?%V8>0064=*<13D6jUqKq{bee7%3QDGUMl(X6S234;`kpKVy diff --git a/bin/me/Travja/HungerArena/HaCommands$20.class b/bin/me/Travja/HungerArena/HaCommands$20.class index 222612b066dee9b1eb9858dccce1f7b7eecae92a..17bba196ec61404ac1f8ee3f6a766bb64e5c8d79 100644 GIT binary patch delta 30 mcmdnbzMp-=OGZYs&94~!85t!eTQPgFN-+qrN>A=&HUj{cF$g69 delta 30 mcmdnbzMp-=OGZYM&94~!85s>HTQPgF8Z!v7noRCwHUj{e+6Zm{ diff --git a/bin/me/Travja/HungerArena/HaCommands$21.class b/bin/me/Travja/HungerArena/HaCommands$21.class index bb7d045515855e02cc6938bc2afee4712aeb9721..4671e2849eb76e37cac354a1bd1cef30bebe1624 100644 GIT binary patch delta 30 mcmdnbzMp-=OGZZ1&94~!85w0KTQPgF$}=e|wP+}1j#Jbk4OAyQZC%Oh! z)S>R3`+K5!Cegq!GvCbnz3W4mD|?C%juUL$e~`JM6!VeFvW zY&jr|OW24Dn3$As;HnHYV_D4Fm{B)WGIN+y59B2T7O-d|Psl}X#yL6*I}!yfsfJPX z;#eV2J%JL|Y^)NJ-QGoTe%Wq^{ouIOyK40$Jd{;rRMeNTW!4ZVVcuVp>+0{>tikC( zu%iTb+dOMU_?0I}{{<6|!<(emh8u!qRgvOZ@*AzDF~yZI4R=J@=S#gy`vb@UGS8S# qEx)2@;Pe-F_{XzqNLj%@UV6kc;WNQN1y!zN$YLEE+-awp&G7?QLM>_l delta 573 zcmZXQ&u-H|5Qo2YVoV&jHEDoC3r!$E>LeIiXrbvJBm@-HTLehlOlk$UX(G994qP~L zK|+zwJOolw1P6NO6?hlaafn1ER@$AJ-QUbNv&Y7#jQQ)&kDtIIkNW1viqZ4hrTv4J zBDcNk^*p!jby{vC3WH9ot~j$6bb@F@u~Odd+lAHo|DuIgiuB{|j-Np>WnpkO@y=Of zFilcSTV%=ifA3^wxneMiG1dg+pGUH`~4!no_rFQR8-etV+c!cUUyID|y|p<-R@K z+Y2JM;fFmxv{>R^oYg8bNi)k9D?CsbO|P@t4WtkCCSKN-QtNEQZSC_1&9;*{!OkU9 z%6DqAvsg0tgm~)`r^HSG^k6D~-cB#NAi%!pN7B0nzG z6lL;Oa|TQfxICb66mfGL9Z?a_{*J5hdVH52a{nJGM;i2JOz2w__2*Re7pI7|F)_tM VVQ8#U7n^35H8#aFg`Lo4od8{+U%~(Y diff --git a/bin/me/Travja/HungerArena/HaCommands$25.class b/bin/me/Travja/HungerArena/HaCommands$25.class new file mode 100644 index 0000000000000000000000000000000000000000..eb9bd526e0979408092536efc663764170cfe867 GIT binary patch literal 959 zcmah{?QYXB6g}?8vUY)XDdS@dHntAZ4wiL*gcO7{RUjs{Akk?^@XJk2mM(RWlk~li z1_*xe06Y}pdX3bH0<~n>_xSku_}=^T*Y_U)_R%tsW7rxA=ScDKkUK9^=?itBgrq%h zN23v!gSfu`*g%1yI^<*Sgk1X0>;6!9iGc+MYl^-}rR4okFf1e|L0sQs*zC+xcZvNp zkU{c{VcVWhZyYle+R;Fiz;MZgfyFZNsF*0B%8<7;q0$MYc$JR&LLE&US)It^;W1Z% zjx(^JZPK%IU!@d~&%8=y3Dz z)xYa%mWd7AVJP_`=?OI!iebfWbRy+D{q*!SNSq1mE@F#;wU)4rdj{?@EYEOE*l18u z`zqoCkH<+@#4-1&cq?{iTGL*l0_nSrLxyrMN|h&G1iHeNX@Bf$HX+ZY7e+C$yCOM> z1}1jlkl9FPjl}T5zUbAP^p}$z_k<^G4^&iZ;k3pL&`n1@md)ed5fKgxI!zX3)M{J zfSCHM);xoGhO1w&W^H~$J%_h{$Q2*LDn7a(SIgw`Xp%qSO7L_;K!6iqC_L_bZpx zMw|P^R_GE~wTD)VlqX#Z4{dwWi(W9Smj?gZkos-n?(|1 zCWbN2kSyucT-B4}ZQQC0b<}C5Pz@aJA9LmDbJv;D9Wu-htca#ZJtS2uGq{KQ2BsLM z2Mxu<13aY8zxc81NrtI^&>V74+8NAX&cH0gmN;|C!r>QF={LBqrjNK%wL|A5 z?YYXrIYujs=g3#SqwwuAaf062%MWN4={4M;E|f!=I<{0f!{`|% z&oF&~N8Q5(7Rbu~fR(_9t}k_t=RKkVQb2kGBk4`dq_?n`wyzK_bqSN$B#H#KVAGx= P`EO&FtSnJ$a(ey(JG~tD literal 0 HcmV?d00001 diff --git a/bin/me/Travja/HungerArena/HaCommands$3.class b/bin/me/Travja/HungerArena/HaCommands$3.class index 64f49187159e9ea8f5044a3ca317cc6ca63d0853..e38bed1f37770e5f4ec29df31658dff5c4c2b834 100644 GIT binary patch delta 16 YcmdnXzK?ywGe%}6LxasP7_Tw{05qco`2YX_ delta 15 XcmdnTzL$N&Ge#yx%grwtuQCDvFjEE4 diff --git a/bin/me/Travja/HungerArena/HaCommands$4.class b/bin/me/Travja/HungerArena/HaCommands$4.class index f6c3ff9d678a1bec1a6b83d9065919c9b0a92639..05eb795290bd1a60bf50c937063a76cf6953df69 100644 GIT binary patch delta 14 WcmdnXzL$N&b4EtX%`X_QG6DcC83oM% delta 14 WcmdnXzL$N&b4Ess%`X_QG6DcC69vow diff --git a/bin/me/Travja/HungerArena/HaCommands$5.class b/bin/me/Travja/HungerArena/HaCommands$5.class index 1521c95840042bbffda2d7571ca6b1ee679f9062..fa14c4fcfe129688e5f2fb9058d82a1d43d3ea5b 100644 GIT binary patch delta 14 WcmdnXzL$N&b4Ess%`X_QG6DcC69vow delta 14 WcmdnXzL$N&b4Et<%`X_QG6DcC4F$^p diff --git a/bin/me/Travja/HungerArena/HaCommands$6.class b/bin/me/Travja/HungerArena/HaCommands$6.class index ac9547449c6e852d0c080e6617ac81f38cc4f88f..62e1c20c620a89972caf968cab6b8e2b88892921 100644 GIT binary patch delta 14 WcmdnXzL$N&b4Et<%`X_QG6DcC4F$^p delta 14 WcmdnXzL$N&b4Et9%`X_QG6DcC2L;Li diff --git a/bin/me/Travja/HungerArena/HaCommands$7.class b/bin/me/Travja/HungerArena/HaCommands$7.class index 7e4874bd1edb8da1fb7939a535328ecff6eb7861..710873952d9717dc0ba3bfb33900e9c0c0f3a617 100644 GIT binary patch delta 14 WcmdnXzL$N&b4Et9%`X_QG6DcC2L;Li delta 14 WcmdnXzL$N&b4Etf%`X_QG6DcC0R_nb diff --git a/bin/me/Travja/HungerArena/HaCommands$8.class b/bin/me/Travja/HungerArena/HaCommands$8.class index 76d7b3bd0084e9801ca155d138c8699a436398cc..a251c03f98cfc08872d576c1c44d4d0ac51504ff 100644 GIT binary patch delta 14 WcmdnXzL$N&b4Etf%`X_QG6DcC0R_nb delta 14 WcmdnXzL$N&b4Es!%`X_QG6DcB`vu4V diff --git a/bin/me/Travja/HungerArena/HaCommands$9.class b/bin/me/Travja/HungerArena/HaCommands$9.class index 8f99b94d6e1439943ed12f0a269b304dbb41bebf..d62f57dbf0a0a0eedcdd13f1ca2e16d9b20d0a1c 100644 GIT binary patch delta 14 WcmdnXzL$N&b4Es!%`X_QG6DcB`vu4V delta 14 WcmdnXzL$N&b4Etv%`X_QG6DcB^##WO diff --git a/bin/me/Travja/HungerArena/HaCommands.class b/bin/me/Travja/HungerArena/HaCommands.class index 7e5c3d3e8275c4919d95546f0937f63149a50216..8121eee4a665a43aef9a6b35a1752b89d6b237c3 100644 GIT binary patch literal 39700 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 literal 39362 zcmc(I2Yi%8^Z)GbbGb`$A(y*ca+i83g!JUnbLoIIk=~0K!U2(xizze(Uq!JaHWU;K zmM98}VlWmI6h%?&*!yc&R8Ub-`OiMjvrnE23C8#T`v5BY?C$J$XLo03XLi=)g})!& z0RVYypb;nm*Fta3gyz~sXV&HnYipe6ZLVqdHsW{fAm74;wT*LHj35!PoLRf5Hm9Ms zabC{o*=Ks|T8$7uAko)6FK2e!f(7-hIduwoj@s;$CEmKWR$nuLfTo7FdG(D1Vn+7d z)oHc$jb%tzUf)>XT1g;2^>~D7lL$zId~>`(z#zm7fzXctOHG>;2*{=xj9?-VIBknOO$!7kL>nQBKveIuXNDMv#Tl&gHO{S{ zN5JjhF)wUuu5GRNHRjB%Z}8>}!M_H{v}$pg3E~Nu$2Zk3Zk$!;^EJriS`f z0t0%&?O`5+AP3w=$n`@U>}x|&Fhd^X69{gqZEo=@MFi|U;SLVMwJ0=05frPV^ENN? zqJ-O1)ASQQUM?;RhEgaqf`>quZUU7`Gn7LG0TWKqWM6Z`oZemVJ7F+Fm&80r;Osov&?V?)Z%`sZEC`eOdv}y4vPLOJ9bu7 zVBAY}xaQM!+H|IC_EHx|Mrk_(=5_;AxBu|~=i`dB%1Szc!<=b`1$>oEtv;nOU%G{6 zXapZhatrc&nzyB;c3y8YGsy&J;qnagHZ++46`&&v|LFL2@fu!cf;IwiIrD2>S+2qL zxan$_wzz8BTIc(k@!XKRNHD=-JViLod~BsBKhU8wAuyU7S~c=n^Mp^-|L!(vWY#fAkd!^Hh60ndHpDr5*_J(2&8h- z#kH+<^O1CZQ*@9hh&5G3Hd9S=LrC=_i&+*pI(RaOyKpt8wzSqZw`#Ld-|A}d`S;?gt8G-~ zvUVOGzS#Iu0@=#!G&j{YG+^V&warb~9e%6R;;L_K^|_jSE%jXAV4KU;WpDO2_;3hW zu5t2*GCt)fLaNmSisVU9nVQ%*7X@M&E~uDp-idE9o`8HfI3}M9&#U>Z*mezpYTmY? zzJ-rx{CwYHJ_B;rH&>mB7GzAG2rd&Yv{-niz8R&lwxM-CqFjxphdeO?#_M%0p6?sb zf>TvHXDL!#OQ0r4p0y^FxK`J6cV=E@er7?Yx3!M1ao4KxL2yoGx)v8QAx42PYf;zn zU32Uo6WoCNZ6prE1nW^<>GoRoP-L4+xU7F~GQ$S0<3i@wwv6#MFRX8A!O1qlEqK=T zxNlHE`B^TTYGV7`rtavhFe@$f;>= zu3gGmMGf5!_ZZ=BJaJ?t>R)Y!O>i&jp!!xX+7{f>ix5YJOo)3$F2{p#Gu&^4Eog*w z!H8NjJOEp9ZW_Hy@I3cFY*bClmD@vR*v2(pKRlOIMZ}LM6LjD(TqEn}dOa>q_lOxf z;Zfyy9wrNbY#a{fTJv$Pe4jvJNF9DWUHc@q$jQs)T<VobV+x?Bj%N+$n=i z@Cu%OQ&F+a@ih);bZ*?8!mF+6elxtq*VG^vo8TQh zC%YIBg8m*Z^|8{4B_{X)mlEY%HUUlW5rKpWc$~|c!q?ca)HU1dYHn-f2boYo$lfQo zWO`W^0DLJvGsA!3b3Bi5$%K`H$FaYyBq~tWD&b2rd<9?Qq+*LH^17kPRSDmk;X6@0 zl@}Z^!w;fh8t>{SZciOl#7DPF6w4$p{M*bKkH@3_W`Y8%?Tqw#RI zrw%?=K9IpFaD*FJKK}I=m!-eCEcHMu3;{Hu(WoYbpqs^7yuH|~I_pZ97L!awA`m36 zMawK~X(H%tNv+Lo==C^>$xLLgC#VJGMX}>eB$z-Nmn2z+u!*b^dp%`H2;z-EWoIIx zI5GM)gEgyw}NlCAFNMl9qf*&Ls2 z8Of(1uSXBW%p1&7Tkwg_Gn0Hi(X4h3PR>Rh&aDjprk^gSg z@KujMqbv(1m89B8s&Juno2XZMGpXTjxj|-+w;g0AgUKllT!yP2x?5n#nNUGz6Otnvcc}YSUIPuNh$`r}COWtU-%)p|_Qno@OSacq!V! zts}kj@akb+i;0Xu>BYU#;^N}X*9HZFpS)<8mXdL1GM-GpeK5NjEt$I7me%9j&%;dw zZy|!vGFgmP5}Gf3il>;#RDN{#Lj{g@-9q(HHj(Klh`QyTX(p%hs?!i>ui2Xpt*yR z+o+sJUX*eDp=2U>W01%j$*N;vZSw-0pQXMw^oJYfx^T+Iol-M+YC;gHhe9Jc)8C&R zDBu2I9ceJ*6$x%N3yK&Hm)j+ZK|&zIU(C9Eyko5w?lzMqGdYW(K@mC!eGYD~t88X~{ZZxtXjW=VH;2X5TU|j@_oSqlVSC%pdPXD~g;)!i)qxim)#8N3G;_ zGr90wXeO)3MYum&y$#+bUo&#+@5O5eB_GQrxDELda=BPkUxyk&wnVwRrD$?lv|AF4 zIvc~PLz;dSX<_MWyT-)L8v$<^c<6mHa891acr)an1! zP(4{?3z1L4X|+w<&Lq{GkF{oUJ=dwG$$Zgqo-8_Dgsn_JMkP}=ck z`f>O-O2g9`c{JDH_2#T`inC=R?a0prJfBVE9z`>#ZkUOnjcky|VZ&An8{X|llk>?)Df7-L&{#4?XX7QV)PsF@)h+To>&hPh}NBFT&n$#wC(5}b8%MA zQN_<)JRk4=`0nQCN!KRmL^)A+2kHs*7?o~t3DBcjx)3i~Oyn^fB6mXhls{o6JIIrY zoh>FUTYpQUU25p0&wn0GWM?=mPW(!5`J zbDGE=*)BkPl@AHM<9hkP);WeaUoXf4ju)T}+=zP7OkN`Ulo80<8MR=3cRlsbmz`xM zf;N26c-(_{-!f$?dIt&QH8Xjgyn#m+szPNVxCxJ&w#OOj(h9QI6-@TSZXed5aFgf=9)12eI&CNHB(#41;?@t^`@JYrL20BIgh=qyI66GdurX2e2tu>D z(rg*tsLBqm3zcwrsiC*qU|Ae=F&N})KQ)@Ei3Xw;ZuQBYJ2&d|H{ild@1YEbMT5=M zOwk$O))H=mR@|egHk13H$S0X7x(?x}l3jJ&EaTTHd~=~SYNBDtkkF0Ph6kfw?Wq;~ z@Z)NqMwn?NSNm*qTdRpWaZk$ESRBkmqjBd8E!U!$D2g5KMUJs2^d0cn;x|yZt7*KM zy13xReGmr^(1Ezw5$rm}p8jPI(2IcP5&OGL2lQeh1f(-bP>B zy!ooWLBotHZj6YBY;yp%eEw?Nk*NIr&8;+tDhFH?`1mQmHtACJp2 zr>((@hEz8@zeUvKDCV0+S!SddfJ^K-($p0WOLhm*3R;ccFs;Eernh)qR|7QV4H$Fe zf5L<5DRiij4)J#-dS%H>htc6^mkEOLOB?G3d%2dMGoiL+0bZ8+oz+UP5&ah)bJUxH zi~DBD4vd6PwzTHCq!8Nun6$9|;y2D{(jkXC*6r&v)FG{7h!AunOol`KXR_Z09jb9rm zw+pkBYQ0=6M(a-AeI~jT4}AG^mg+s4=-F75nvy!bHfwHfR_V;NG!tEpyLVT6avt72 z(R0o8KlD7@#LZr`Tk5>1g9w!LU?k}7h&02h>oib{Omrp6icZaCtBhTU8g&qlSIqG( zZZuMKGyZvp=LOMKwAx59F!0aB`9bs&S}k^Xs*$2E@z1Rag6Qh5R^>)|ZC_dy2GMJ} zT8%N%b$w}76hv?6YBk45Z|+O0;vl-AtJM-Cy}d83N`mOdu2z>D>D_&4RT@OwyIS39 zq?_@IP=RmlYPQEn(O2k0ZzvTVw3F+7y!%F9{Ga&KD_|kG z+DY)fiS8g!II(d7IyQ|i)tS$9wTi1OIiAQvWL+U2m8iu?pXw9CD49=kF@CyF)F_d= zI5m13eV7cC#NC|w`94vj1n%L~FZPKVC2udMez{N7C~^BZ^=o~iMoD{>Q@`04>O2&% zH#qg%eWFIWdW%!P*C%Qer*}E^hkc^Pwfulnf6^yvT+5GXr-`Cxlm8DQ#_!oMCWwZf z5WlWg@Nz8Fb%h2vqTaT=r&Fwzxv1%O;huY?Ocp};K z_PV-t&`Os>0?Gp&&LNK~JTAU_(zm=hlTNQ#!N?CTmE&`-=QL^GJ6IcR98U&tQ-NlTV4%R?&J1HoRD z4?YWW3HGOaV5gz73tHQXj;Q=%29I_9i1ZFB;>*o@BpJk=9ln_L+Ao>MW z{VqIu(GC$S7Ay=2EW=L3+F%a3LQ=F!jv>V|94G#b!{Z4Kjwd)Y6DBGIFX0o5iHw9# z!T2LCG(SX-vXzT+Dp#9DDK}+sC|VXRTa+@9MT<^{ARBSIyll7W8gpAs*BFgeyuuJr zijAr(KvN1$Q@jBZ6v86a6$wKW7f(>B_NT5yH9K`?vSw}SpoEdBD-yP)KT~Kp>Yx;Z zPhKs}%vWthzARlngluuDb8HpNcA1N~*t5OzD@eAm1ubK4DAp~&%TM_wqLF@QWaxNB z``sLL-(x}Jak1*WL+}C*hu`H~Wphgq*I_u{Q-d06TUxv=kboBv4F5CWf4C*VgsvCA zoCt&<{5u$PLoiP<4NBh*=Jbq*A#|%u6NZ2H!?x(EfdqDJ5dl`rMJUu@!*c#72UNm+AWZLo)2*{RU=EV<&w2RS0rj2GK!M%o zlvtj%i8m!rcW>0Jqtxo0VH~7YSCyf5rPM4EHA^V?*PPvJ&GKGr&h544yk2Wo_F8jc zuQeC-T60OSHJ9~Tb49N;SN2+SRj)PI^iZQN>vg&+buF*wYY7LOq1JVsa3h8F5QLI* z^E!A!tcEHFx9Zv|0=uyT?(*2$VUW|-3HK4;l4k8{#RbV}?SuyjU{mYE_!rM^=h?@s zJ9Kco{ZjN-cU+wF# zU)MEOxO?-&4*P8#16>1?hyAXus=ea3uG(XVUGc6w?Dyqi|DvpLLbnDV`oZ0UBJr^- z66@eju0KBI3-?8-Rr~&?G+g`szBGb=|48sf(IHec4rQ)Tr}5qHus#C6Zihd(a+~7_ z?|?s*uL$wwbSQmyz)`iKjW8QAsQC_J)D(&$jy4h`xJA9xUVcPZ?>~CE`h7ln8!_|Y z(+PbTe)%S6sEzbf#!s0lm(I`*Vp#`C-8!=o9FnFa+shkea)L90u6{*0RC*_-Tl7Up0 z8KTb&*Jnmj;9z)AYUdl@IZg|9Xd|Q5Zpl~*lhsa@S@+z_mw#d>nT$2N8E+0 zw!t25E!p@8ng0k`APa+!p)i!JQ3+*!*O#2vO*U+#MF-kmQmf2Q8=oH*;n%i@z31Py zzf4YC>tUO&p`TE2aki1gx-Pj;pjEC3JQrA1;FqanvcUge2+uZh4xfhqtSerouqtO) zPHrzg(~n`LQr3Vytis9Q-Wlrb*GVoA8()kAEPmrq2O-N^(e+wRHhb>Wn?2mJ;Rbd% zr_rk$*$U#vgNh7LPI3cB6#S^8=_EH1nCgk#Q53<7?ClWYjI`VHJmJo8 z-ubN*F0d23-5zn<(XX{G?@?w8Pn$dBgWxW{0Sd>9?R0l1k+)M}jj}&B$@-(S5Bj4p zG{Z*j>m*w!tRsq;k?WMr2rHFN<)Z^n-d1I>csA@ zp2v#g$31jE4$DUDHhVZ9R;Z**O_!sj?7RncJFmS!bhy5Ut-Z~Ua)h4Ko=)KoKk{g0 zB+59~70B-2Hf7i|`ZgTCO1j~Q6?TRyYu;rGD&u-YbdP>nd;U#b)&A$7T&tdckMbp? z>p7>~GnJ&gPVzYVrdC|9r{wh#&IJ|n=(KW!il*`T-bG+te!iF%tk4GLuga92hV0qM zZk0(zpJ`I7?g+(X(6$OU8MMrCca$>MPR^VnE875l9XxJGol@mmN2aQb@_iKEjuvvb z<^$RI9^lHr&S{QO26mZse`R3PDFd6fG)k$e473bqUCVG~pk=r+P%=F#1LRQlvc%+f z_$dP%#CZQfsLDX&M;(p2YaBa@B3V%c-!%?7z1(50TAVskq<>hUPj%}K%*vVcli#GB;Ix|j1tE*m92l=>2S??ZbK2sRw zG_nPN{T_q!c^6Hj%EU1=U#c|V@;IE1N66P)>DnVZ$u|;soV*o#m>h6AJIPN3c9O&E z;4)q)brn8E4tt`UQJv&>Zc_h=N6k~@s7KZ=JupRy+97407-!5*a&#SpIAi1{?GVRH z_OC+$z>@t8&!0{jfV0H`FR&7|7iV-Q4WfX0)O!2hcktxaoYT5ilAn(@+E3}H6ZlHz zWXneaMI#+e%A^b%#brQkFSG|7Qlzuw06HG(V9qTGmpfk)kM}8_za6K*vEBrQtT>6P?jC zv=da_{|&1qFGN74FFE=MDrR^@Wk;k4rAXcUL!M^Kb}h3Gbv?iqnWUvNr1WE(;JPmNhIS2Uj6esf(r}BhnB)?w? z?4&D~BS?WMNkCXg($H??QF*$aCFz>~~UlwCH(6pG?Oi&voMwEz}ch$Z>PR z5~k-7FMf4A@?19_EhmLXtDeXCemwGAHy*=I3Xe8Dk7xSv$aCFzw4M|m!}UBi`0>bd z-FQUX|0KwxUC(2qACElOjmPkl!efM<$0k1>d9E9e_LIV6q@G87gQDBlJlBoKh?Byj zG9>5+)s}$$K;wGUyjK&J-!^1YcA}SgNu5t zxun;c9$${h{q*>9Os=`ISF|2qj>&EQmzQIGd?se$&%`WRh@{*4^Q$fWGcnBe^h^xf z|KB|mbL`=Y&-%W6Z<;DgxZ`0VVGkd%#O|4Zce1!{}P?~m6<Tgy$zsuZwhIgwHQtC%>-j zp+kMV&gpcj@j54u$T@ht4ol>C9hUgV>l_z^615knLy6Z}?4dkfhsmwB4P9&1L%hzW z#Q)WJ-B@|imEas|{o#E3sE>p38M-2c{<0UoqsWEJVYoj+8L$r6yuCic#3mIDLlEHQOHxG zD!$G{g{LH$rzA&=BhKOCJS97$oyq<@Maw)zi%=d)^S=(|J;|Meoqk@F@-D?M#>0bm zT|rcyQ=CgN^CFaY!e*XJQJ+G2fHT6!D!C%3_9>Jn zSkyv!Czi)Ph4M5WPtH>JDU_%2cyiXdPoX@GM-j?9v1{F@P@cx42<4qv9{Uu^(|8o2 zyc5e~pF(*Wk0O+JVtMRSC{N>2gz`=-k9`W|X*`Nh-ihV0PoX@GM-j?9u{`!El&A41 zLU|{a$3BJfG#*7L@5J(G(}zxY@UF{p{BRD<57h2PArdo3gu}$icsE(<&J=Sy}=3gA18YE7AJV;IMKUzIl=qKiQav{2|hYb^zLJf-dVQO zPrIUbFi2h{BHobW#PT~|zv$hu7clDeq#TxD_u)^MV1Pe|!kQ>ujNeiCGbf_)S6szF ze~5)_h=T%%hr!^2iTHCaW_xN~ol3p^9#WYWgD7;19{DW!yb2A5A7EiXC^QDdfiIvEngWKw zSpoB*Iba2}1l$a*0h^&M;3ZfT@EI%)_z{*EEwIcO3uhbC;2dKSEH@5<6~-}eu5l*( z$9N%}XS^29H*SPg#+`7naUWb_d=oA;9)inE6fQS~!WE_%SZykWD@~`s8q+wq$}|hE zHZ{OCrloK#I;7W`9)Pu`9k9-{7uK6zgBwjh!cC^5upzJ?+#HwM2kwA-0zZU%1HXm)0{?)`K~bib#a>D~bqhM>$B6u+9e0V76 zO4t^36FeMr4|D`|!1kcs@JP^`@L15N@OaP<@I-dqQ7m>0sE=8Iv!c@4Z}UJq~MPb+!HybIG8v3x(gZ~hKGF#ipogapHoC0?z6rS(z75$6--Wyh--rAH2l`3yL%(GBv0py? z)UO&2_L~KV`pw6*8Gh+^4*c5h0yy07cKD;;PWZFmKKQHO$MAQ*LvS>d;tzzuUo;Ww zBs6pgVWDG)6gq<#LhDID=pteaT}e!#Ye-<|1`-tdFbNKQg_uL%At4q*`dLCqs3nqE zEXgFy;wDy0C9zpfCE=F2B-qkKA}q^Dq~$u|uxubsj7~&Zo+Z(imoa?@%ReJ=mfuNy zSTIQpbC9I4R5BoJC`k|VlFYDXk{#AYa>6blxnY+Rci5dIFYI}eAND;du!fOBYauDJ z4kg9b(WJyWgOpn55RbKqlv&Rq<<|2_h4n5{Y28AqtdEdt>rvwcIR+YXW$;e^Z#cad4)m83TOR5Ck!9H|RGi_8gMLA>Et zk-6dRWM25Qq(1x&a%T9Cq#^uove0fOjdmCD*>g#gy_B3~A4r<*r;--?Skh{*C2jU* zvdDf8S!}NUPJ&nKf*#* zM#Pc}B2vhO5&2|Q#Bg#^L@l{2Vh*NflGPDQ$dwVR$eM`tsxjC|&+!8sG+!{HN+!lE{*%&#G z+#b1*+!48)+!?u=+!c8PX^*^<+#R`vY>IrG+#C4 zb%c@!9r5HLM=sgs@Q{ZcLrI5Y40*&ci*z~`l1Clqk;fcYk;fhD$rFy-$qvVTttlgK{j zT=KGWF?q##9(mQdn!M(`p1k3_i@fRFM)o`Rkhh%gkhh(ml6Rcnl6RdyllPo|koTj4 z$Olo;SFgVg^uiOc4!<8BF`dOrfDM_0$s6Ov7T%rq-AXs4eDF8XmKr+GFme5it+b z$e3N!5wn*@#k@F@Mt7*bo{Q8$sh^t{bT3S zlvp24ja@<0VlSuZvA5EU*sU}(_EDM@`!vmteUawGzD9FnKc(*2Lo_e;FPa}0L<{0< zv?wl-7RTk%lDNUNG;SjG#GOvd;^xuvxF%W=w}@88t)f+N*VF2_+h|SP7CJC)I~^SN zEIlRe4LT(5D>^jpcRDPd(&6#JbVPhOJvBaxj*L&Ir^T1iQSqnH(edNxnE2^*T>P1I zeEbqRA^vhYF@6J`6n__;9DhHZ68{LD8oz^1i{D45$A3g;#D7g^#{WuBk3UM!aP_0L zt{6Jol}qbfHFS<^1ogVc)48r0be?NAo$qR<^{$olOxG23fonZ&aNSNDT@O;9>nYmg zdV`+j`kXeq4$v0YVcMDiv@IckE=q`?ixURWB?)f2G@+6%OBhPeNti^JC(NNM5|+?& z6E30uNw}JxmvAFJKj99#GGPN5=YUi6HlktB>L#JiA(8qiL2<^#4G6yi8s@AiTBa7%l@k|y_SB}|33O%|NAk0n10{?CHhnUS1{dA5B5Jmf9?Mhriba_ zlu&vk#fqte{+W`;Xi6cbl}t(*#tbQwSwPBc7MOA#GpF3fLR0Q$mXvKQEag#VP5GGF zQa)w&lmjdxH0L5sMkHhQ$up#Nq}#!{P^g$Xo+{V+pBN zmYAB!l2V7T$wsEX!cI$nmyJsQl8w#?XJazr*w~D8 zHZG%>jn5d&CS;6d6EjX{lQI^t$r&rzl#H9%)QomEE#qZ2J>xw#Bja;6GvgpTJ>w{w zm1$;YWI9=GW&xX$S;^`$hp{=Cb}%Pw>>Jrt z*&Er_**n>_+56aa*1MJ?Mzu0}bF>G^g z8rzba%kIw|%^t{|!M5f$vj=mpV%u_WVGrj%#~VJp zd%_*TcDQ5MlkQCRl)HlMbPr{_+!NT-?wRZv_X4)teJ*>}eIIBzZcB=0WvY2J4BS>8_e-@JY7^Srm%mwBJFuksGDuk(%U zoBT-jZN7_rm!HPI&(C8A@=Mqc`NPR zekc1qe;4~Be=j?d{|5Ur|6TT1{x|IJ{3GmWfkA=-t3(Q-C039wNd+a6p z7I-C7L8BB{uviKzSS|$@Tp^hYZk9p{?w0x$JS>G4?2y6=UXrW@?@6|TAEfX?knDwl zQbeIuiY$zl9EAyzv(PO?6%Lf53r9*Zg;S;2!r4-M;aQTa@LVaO@ER$x@D3@daI=(L z*dg^Vd{Rm&+${|#d{as-{6b1A{836T{7cFx3Xrmj>{517l9W?aEaesrliWpPrM#kP zQhrgLR8Uke6&5X(ii$3kii@t5N{ViiN{cp0WksD*dC_xHMbUdwWzlz1Rnad}bYx6_BIr5{S?m3}XsUwTAZ=?RrC@VKN4J!#S^Po8v< zr%bxoQzKpC87p1tnJr!BX^<}WES0YCoG)GJxk_5&xkb9l^N@74=Nai5&r8y^p8e8w zo{yxpp3kN0J-8Gj?>0ni~bf_vv`njrF`lV{P z^lQ~P>2TF_>9?v{>G!I$q(7?8myT3jF8x`xPWr2Aqja=ts{yK>G?1#-4YcaN23GaG zL8|)IV5mB32&gs~jMa97sXE0FSeO}@?_2mXz z^&N)D>UK;w8ywZU4KdYwFx_W}t^UH0Q2jNgKNu2gjE0n&AWSWW0X35uq@H$?+2^e6lZ zf`WlT^dPo1!{C}f=pp(uguuj_ujw!JSNut-vs0?*Vfq_{!h)0{`a9BDpee;o|A0{t zhPOlo^a$2k@gAsv{>i`amS-*f3z4mO*K;ZT8^6Nw#%BdRieC|U@6*HpQ5<+Hv6d0u z0`DfSU=+*3@#bMLW4sLS9RitzU*UM8pnO^JzCe6^OfO^xP8a%$ied|WM@6w)u2WHL zmS@!#cJ$S6VgbwuR`l2}W+wcyq0e5$0(rmaxks}gEVGAw4~JPWennWr;B{ukuSjbl z+|NQd&(@)^f%Rjd_;YERpp{uz7(`jmhuO@EOAu|n3o4n7g+q*Oq!@>7xflm}(j%B1 z*Tahbw1-6?_crvZ-SS+8qi>xm&s79^*zxjQInd8`vPkSV3cc+>oVA}J+TIMmF$b

0+Mj{DSQO&L*j=_Rrx$7KeEK?Y}@9 zi$}bahya+wT!=RyVm&mo1kPW?CLB>B=P%+Rn5ys>@i>f8_>0&LLlyoa_Tn9(%wNQN z;8ysH_zqkwiSrj(F7P5pB3?4bi<~I%B2O21k@Eyzs$8)UL@NU=e?$hud)bMs`c&`gQXEL-X z^XDu?ya61~St;3&7quMm(l}n!DuEYurNE22LEuH*tl@3Z@SYTS(H4Ohoq%}h94|Uu;6>*P zyy$X)7d=qmMUNAB(RCW$HVtn#;$_Hq`!u|_G`x>Bye~AoUj<%_QQ*Z)5qL56h?mLn zVwweB%-I4j<^q8ibE&|KS+C*UtKt1A@M1#{FN@>FMhLvvc!3w2D)3^n1zv2Wz>6I% z@M3S(@U|jewv6|vhWE6F_o9aPnuhnOhIdHd#SIpCaT5_QhvUVaF7V>!3B0%_ffu(( z;Ki*HcyZTjcwcFFzaw5Q$BU-|FFsh{#fJ;L_$YxFpDys?%LHEh1#LMG&t`P#yHD2JkW(YjjY=P%$7I?0e8r~Zk-sgyy zFXJ81@D2;S1Q2)$0Rk@}Lf|C~5O@ho1YW`=h*!Yz60R0_2{&qZcW8KFR+i9QYQDGl#c#4D2V-qr9v)9}92@D2*R zBr5QdYyvN7j=)Q5L%d>+m$X9QC0!)&lGX^kq_rB}T^inYftPF&c*#!0E8%#_i2^S< zL*OMB2)tyEz)Kz>@RFx%cXtWwpsuw+eCZHut1rK)XV&Dx;a7PhRN zs%;UT^|@+W*s~6+wnap?OSLT`v-5D|+_rFJPf~3QXZF|Nk!_^V9E-|9Sk5q&tI(XK zqAd4Y)!qorJ)+th7Pq9@8)5Dc)!wkVBUF3C?v7FIjYxNOm#JF!$?TtA1Ce_|>xgSvNjYRiTs=blqepR(MlJmUk`5T(Y<%QcDmOLRZ zVR=GcYS?cd7CcmY=4|i!DD-l^1({i7GFV z`NLFsapX@`<;9tQkA~NYc--Ew6B|`*W$!LLBGEv}_cm-a`A`S03 z4exElxC3%t?| z8s26NZ->D1gbF;53-P$UVezC1JWrm$^OOlZPmRFyj1_pE*&5zM8s0OA$L$S^=Oqnq zzlQgbhWELK_lv+Q3lMl^lLcPce8l7ShNbK*fmgOn;FYZucx9Ieys~u~-X;z2h`=j1 zBObRmEai5AR~{$u$_EI%@+^T@ULo+xM+v<0TQs}}5Rcm%mhw&wZHl=p;6Zo{&y*kHF?=>Mo0o&rU1MJ^}-e zz-o#GN8mZ?uE;t9qiF^$I|AG35qRb(K8pHxqdo$+B_4%Bu=jDUFJ_s#kHQqN^^rLpTmPn$wCtmh|G#un@NY&EMgIghPTx^@1+0A>5R&6B zYeL}^%M{V~hCQs*zwVYVmZk4q;_sAlqHIR}0rW3OA>=5@fT%t;M~Q+oBL8h92aV*g zksLMh``M_Yc!Szk86$YfoAx`<_@j6g+t)_Q6rbQ-aOJ;{ohX_YUyyc$EJZO8|86`2 zxBn0S(!a=)vYt$H(P*5gnBM>uNA(f1kB`6K@fS;(C|OaO|A7)>vuL*V&r$fH55x5r z^}cL+RQdk8=${V>vDn!Va{M9iy(i1FUYaA1-{$y2{13A$WcMh(Zv6*RF^G&lX%hb_ z>JzksOG97O#s7eP6t0AS6ra2!Q1gE#@eisJkMbT3lvUv)V#=yn4W_%mLGd8te<*)w z%v1i0?|9mwrcbKrE;Ze)rhC+MubS>t(^u7Wm72bxrf;d~yK4G@ntrUNm#FD#HN8en QZ&1?>YPwNP+m-bH0p{OF(f|Me diff --git a/bin/me/Travja/HungerArena/JoinAndQuitListener$1.class b/bin/me/Travja/HungerArena/JoinAndQuitListener$1.class index fba4f9b23e1f0b646035a3edc6ea99b8255c94be..6606691e4f18b04f2c6ed8665e8d322647f453eb 100644 GIT binary patch delta 33 pcmaFM`GRx8A~x2t#2l4^jceC2Gs;blVF_bZV31=_oV=aI3;@fv3R?gG delta 44 zcmaFC`Id9SB0jFN#2l4^oW#o1B1Q(OiGQUw9-YX{C^Es delta 49 zcmeyv)yO?z5g%7sVvb5dPGV(h5hH`tWJN})jYox97&Ru}WJ%%FV&G%YX3$~Kne4`D F1^|AR4IKag diff --git a/bin/me/Travja/HungerArena/JoinAndQuitListener$3.class b/bin/me/Travja/HungerArena/JoinAndQuitListener$3.class index 0ba3cff736f6ca8de52c64251e60196f8005546c..156cc74f30a7a3aa195a9b2e8159bd422c66c443 100644 GIT binary patch literal 3893 zcmb7GX>=P`75<(ido1UrNmV< zGqUTlq(BL4D3sM@YuUn1T5Kh1X-L@$rL1M&;Q;6GkDvWT_})mCr8;SY&e6GzwSZ`g+0 zwo^kyVD(XbT2ENIok{GUJZhwT4fO)CCF*eAw)IKN5UBUFrq}i|8tK1mD_sK7Y29ke z+4>Y!#QK*MkNB=>XUI?&FbJ&ccic>3GJout=_d@^H~rbfkfqNW?xL2FoIYahB zJ1N~a9h*G$H<-5R-z4C){~sPMcd1%^tsm7V6~pmSfk=;&Hlh%?N!3A=eaicNT_hBkrtWhYPKT3pAl=B#|iWZXAg!tQ`>+Fen^u~|b0^LTLsic4Y( zw$h>fd0(Y507Kq4twgu$>az-(U5!X!y9UDSs*4;;B7LVoL&~vz>SHjP+p7{-f^b)S zLV5EFiCwr}KuhWNQ5JxJ2VfH%Q#5w1)L`TJ2vY@oKfNca14$nrV$= zk3^4>(G(yFTgBEZu^0QO$20FHwwcMKigHro7QBYWO#YLKaX?}a`^k|p)V14_@#QXS zI8alJrRr#;=@E&8crELQ(j$gDZMaHDyc&una@PusVO+zl0#{a5Qt41)0=EfVK_#V{ z>b*-((VK16;VYM9jqch4Sb;;hL&NI?)>fIQ;gL8DospuY!Jz1y=Evt+e4bB8Bx)WMFE@3N%&O>&fbVk7GHm#8Dh$2iZ5=+dC+*raCAUCPFHODG3`6 zbE@ZZhE20ut1rHYn`M5MeF;?DsZ=odHIkK(UE&s94PcbpT1~Ij&l;`MX3BTmR_6$J zB$aw}>psTGyGFS=Eit2_*Wf!P%_^s}5_jYEgvX@o=;@U1`2&XM=^28q2K|e^Bvo+V zDDfs77m&sa}p2WV+1)nhEgZ6tNpeY5-e9i(C_+mFFT;;g0A@qiBGED(lDm`scgBqJSg!H zK1~az*E^N-nK|~C366yMbFm_VW`^OvJc;&GfS_t;=A5xBOxK`fTmvIapf&NK7}-MrC=A$(in zJNPa`Y22CDEiaj|9oOj5y-StqL?gbh`rwnbJ$p|u1gWzhN<4)hm2$)DdyZv{uz#tK zz~NrIYHWJ(liyhKE*8cVYhP5Lvxijex-Fm>K|sH^;x=&Eb#3 zdWip3SWWILx$5J-j_-9Hn->u4*s_48j;#w=)6o)Hz}k*8Sod%svysonK$dMEH{)vV zC3R2|FQ$EPeGN90w1%FgPTCg#>X=7t9xs_kJ6BBwY?~9OE3}u-i6<+Y-6e*uu?nRu za?=u}yMUV`4~qLMEZu4~K99bM$l(R_70`bkL;dCB0){siF&e_amLhH!7$kj75t9Os zAvJym#v?dVfVH)NT+HL6fP4{mg)m0;HwYAQ53>?1MG13134SF7hRalH_<9KUYNA=dr6@I6m{6hgvK2yux3a4v1aKBA!yJCQ^$2hvgWBaZ=` z;3#?$``LVla2^NnG=}k8jNl&}GXKLdb0x;aMvjm-Vq6SiLfp!!G0ohaz#(xT-*Y%D zPIE$e0!PF%$cTT!43OAI%oA;8B<4jDzaahuPKe!jhByu3q}YyMk`|`!+wm)|BD9di zuX$QW{Zaget9p6^&gb|fY=4HMyk(&XVDhg#5nwc8bbIZ U{=|2L6ZxOF>zr#;d#rb-6wVEyD!l+6+-LK!( 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 A-v9sr literal 3773 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 JX`=@J_%AQ#t7-rM literal 4293 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 delta 1174 zcmZuxO;B4^6#h;EdCAL5ULN5EQVOI}DKw;zBH%!4JC00kp$!$JrWWm+&MS?EgoY5T zQwJSgxo~r*&UDz+Zk%x?g@!*1tvdeH&UD7D8-F&6|NYTwYw^59apPOubMN`i{mysJ zyZ5ecd!yBN_5R{AfbCQ!!A963qPBq8t!UF7ZSHCrTQIHQ0>T7G#vDoKOgGM9R>4K& zMb6#fm{+iXMKR-!I^I)o3Cm*Dy`$tZq46Ig-MNDI6}a$$7*Z0BkMXI5PsBB)(S8-5 zi91S69QJh5;>;OO9r-=|qvo-!kxgd~jwiB&riNbeRcTFywd&59sccu{po||-E#XH? zD`S)EmERn`8pnBqD5m$M-OKjwPYnz+`~fkuJsDVMek0T zoFq%+vN~)?HDXA02NiOIg}GSvfRW*mgAgHv#Zjr2Bc3IfxTH3_0w_TRi>ws4)mOAC zlwu?Ns757f(29_VYC&<%_p(;U$Yw?!WTc*v21d?mVfHq$H^Sa+>}@H;-_pKqYh~mi zC}=}D+VKE7_}Dy*Zge7sE(~A?j$$XC$0K+VyD*8}n8IU1^Iz8X@Xp7Xb1!r5W6s_J z=UxB&ky(VA@_6^q)>)`|Of6uB5bxBM+kN(S^=;@uO;@*fdV}7k1{`Q7MF~SJ8|J>m5Te7SIP72U)-qEWMwL7+}#)q6dRK zJA@%Th2w~00*CP`p2m3`!8>ec@eHox7(QqF1x$R+QQu*hJAZGib>Qh4UndF9X3kQvORAUa)I mV?|{O diff --git a/config.yml b/config.yml index facbf97..b7bbabf 100644 --- a/config.yml +++ b/config.yml @@ -19,7 +19,7 @@ Sponsor_Cost: Amount: 1 # Whether or not the countdown will start upon warping. Countdown: 'true' -Spawn_coords: 100,100,100 +Spawn_coords: 100,100,100,world # If players will only talk to close players of the whole server ChatClose: 'true' # How close the players have to be to talk to them @@ -55,4 +55,5 @@ Tribute_twentytwo_spawn: 100,100,100 Tribute_twentythree_spawn: 100,100,100 Tribute_twentyfour_spawn: 100,100,100 # If /ha setspawn has been run -Spawn_set: 'false' \ No newline at end of file +Spawn_set: 'false' +Blocks_Destroyed: \ No newline at end of file diff --git a/src/me/Travja/HungerArena/BlockStorage.java b/src/me/Travja/HungerArena/BlockStorage.java new file mode 100644 index 0000000..ff6b675 --- /dev/null +++ b/src/me/Travja/HungerArena/BlockStorage.java @@ -0,0 +1,289 @@ +package me.Travja.HungerArena; + +import java.util.List; + +import org.bukkit.Location; +import org.bukkit.Material; +import org.bukkit.block.Block; +import org.bukkit.block.BlockFace; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.block.BlockBreakEvent; +import org.bukkit.event.block.BlockBurnEvent; +import org.bukkit.event.block.BlockFadeEvent; +import org.bukkit.event.block.BlockFormEvent; +import org.bukkit.event.block.BlockGrowEvent; +import org.bukkit.event.block.BlockPhysicsEvent; +import org.bukkit.event.block.BlockPistonExtendEvent; +import org.bukkit.event.block.BlockPlaceEvent; +import org.bukkit.event.block.LeavesDecayEvent; +import org.bukkit.event.entity.EntityExplodeEvent; +import org.bukkit.event.player.PlayerBucketEmptyEvent; +import org.bukkit.event.player.PlayerBucketFillEvent; + +public class BlockStorage implements Listener { + public Main plugin; + public BlockStorage(Main m) { + this.plugin = m; + } + /*@EventHandler + public void creeperExplosion(EntityExplodeEvent event){ + if(plugin.canjoin== true){ + for(Block b:event.blockList()){ + String w = b.getWorld().getName(); + int x = b.getX(); + int y = b.getY(); + int z = b.getZ(); + int d = b.getTypeId(); + String coords = w + "," + x + "," + y + "," + z + "," + d; + System.out.println("Explode: " + coords); + List blocks = plugin.config.getStringList("Blocks_Destroyed"); + blocks.add(coords); + plugin.config.set("Blocks_Destroyed", blocks); + plugin.saveConfig(); + } + } + } + @EventHandler + public void burningBlocks(BlockBurnEvent event){ + if(plugin.canjoin== true){ + Block b = event.getBlock(); + String w = b.getWorld().getName(); + int x = b.getX(); + int y = b.getY(); + int z = b.getZ(); + int d = b.getTypeId(); + String coords = w + "," + x + "," + y + "," + z + "," + d; + System.out.println("Burn: " + coords); + List blocks = plugin.config.getStringList("Blocks_Destroyed"); + blocks.add(coords); + plugin.config.set("Blocks_Destroyed", blocks); + plugin.saveConfig(); + } + } + @EventHandler + public void leafDecay(LeavesDecayEvent event){ + if(plugin.canjoin== true){ + Block b = event.getBlock(); + String w = b.getWorld().getName(); + int x = b.getX(); + int y = b.getY(); + int z = b.getZ(); + int d = b.getTypeId(); + String coords = w + "," + x + "," + y + "," + z + "," + d; + System.out.println("Decay: " + coords); + List blocks = plugin.config.getStringList("Blocks_Destroyed"); + blocks.add(coords); + plugin.config.set("Blocks_Destroyed", blocks); + plugin.saveConfig(); + } + } + @EventHandler + public void blockPlace(BlockPlaceEvent event){ + if(plugin.canjoin== true){ + Block b = event.getBlock(); + String w = b.getWorld().getName(); + int x = b.getX(); + int y = b.getY(); + int z = b.getZ(); + int d = b.getTypeId(); + String coords = w + "," + x + "," + y + "," + z + "," + d; + if(!(d== 51) && !(d==12){ + System.out.println("Place: " + coords); + List blocks = plugin.config.getStringList("Blocks_Placed"); + blocks.add(coords); + plugin.config.set("Blocks_Placed", blocks); + plugin.saveConfig(); + } + Location location = b.getLocation(); + if (b.getType() == Material.SAND || b.getType() == Material.GRAVEL) { + if (location.getBlock().getRelative(BlockFace.DOWN).getType() == Material.AIR) { + int i = 0; + for (i = location.getBlockY(); i > -1; i --) { + location = new Location(location.getWorld(), location.getBlockX(), i, location.getBlockZ()); + if (location.getBlock().getType() != Material.AIR && location.getBlock().getType() != Material.WATER && location.getBlock().getType() != Material.LAVA) { + break; + } + event.getPlayer().sendMessage("Block will land at: " + location); + System.out.println("Sand Place: " + coords); + List blocks = plugin.config.getStringList("Blocks_Destroyed"); + blocks.add(coords); + plugin.config.set("Blocks_Destroyed", blocks); + plugin.saveConfig(); + } + } + } + } + } + @EventHandler + public void bucketEmpty(PlayerBucketEmptyEvent event){ + if(plugin.canjoin== true){ + Block clicked = event.getBlockClicked(); + BlockFace face = event.getBlockFace(); + Block b = clicked.getRelative(face); + String w = b.getWorld().getName(); + int x = b.getX(); + int y = b.getY(); + int z = b.getZ(); + int d = b.getTypeId(); + String coords = w + "," + x + "," + y + "," + z + "," + d; + System.out.println("Bucket Empty: " + coords); + List blocks = plugin.config.getStringList("Blocks_Placed"); + blocks.add(coords); + plugin.config.set("Blocks_Destroyed", blocks); + plugin.saveConfig(); + } + } + @EventHandler + public void bucketFill(PlayerBucketFillEvent event){ + if(plugin.canjoin== true){ + Block b = event.getBlockClicked(); + String w = b.getWorld().getName(); + int x = b.getX(); + int y = b.getY(); + int z = b.getZ(); + int d = b.getTypeId(); + String coords = w + "," + x + "," + y + "," + z + "," + d; + System.out.println("Bucket Fill: " + coords); + List blocks = plugin.config.getStringList("Blocks_Destroyed"); + blocks.add(coords); + plugin.config.set("Blocks_Destroyed", blocks); + plugin.saveConfig(); + } + } + @EventHandler + public void blockBreak(BlockBreakEvent event){ + if(plugin.canjoin== true){ + Block b = event.getBlock(); + String w = b.getWorld().getName(); + int x = b.getX(); + int y = b.getY(); + int z = b.getZ(); + int d = b.getTypeId(); + String coords = w + "," + x + "," + y + "," + z + "," + d; + System.out.println("Break: " + coords); + List blocks = plugin.config.getStringList("Blocks_Destroyed"); + blocks.add(coords); + plugin.config.set("Blocks_Destroyed", blocks); + plugin.saveConfig(); + } + } + @EventHandler + public void blockMelt(BlockFadeEvent event){ + if(plugin.canjoin== true){ + Block b = event.getBlock(); + String w = b.getWorld().getName(); + int x = b.getX(); + int y = b.getY(); + int z = b.getZ(); + int d = b.getTypeId(); + String coords = w + "," + x + "," + y + "," + z + "," + d; + System.out.println("Fade: " + coords); + List blocks = plugin.config.getStringList("Blocks_Destroyed"); + blocks.add(coords); + plugin.config.set("Blocks_Destroyed", blocks); + plugin.saveConfig(); + } + } + @EventHandler + public void blockGrow(BlockGrowEvent event){ + if(plugin.canjoin== true){ + Block b = event.getBlock(); + String w = b.getWorld().getName(); + int x = b.getX(); + int y = b.getY(); + int z = b.getZ(); + int d = b.getTypeId(); + String coords = w + "," + x + "," + y + "," + z + "," + d; + System.out.println("Grow: " + coords); + List blocks = plugin.config.getStringList("Blocks_Placed"); + blocks.add(coords); + plugin.config.set("Blocks_Destroyed", blocks); + plugin.saveConfig(); + } + } + @EventHandler + public void blockForm(BlockFormEvent event){ + if(plugin.canjoin== true){ + Block b = event.getBlock(); + String w = b.getWorld().getName(); + int x = b.getX(); + int y = b.getY(); + int z = b.getZ(); + int d = b.getTypeId(); + String coords = w + "," + x + "," + y + "," + z + "," + d; + System.out.println("Snowfall: " + coords); + List blocks = plugin.config.getStringList("Blocks_Placed"); + blocks.add(coords); + plugin.config.set("Blocks_Destroyed", blocks); + plugin.saveConfig(); + } + } + @EventHandler + public void pistonPush(BlockPistonExtendEvent event){ + if(plugin.canjoin== true){ + for(Block b:event.getBlocks()){ + String w = b.getWorld().getName(); + int x = b.getX(); + int y = b.getY(); + int z = b.getZ(); + int d = b.getTypeId(); + String coords = w + "," + x + "," + y + "," + z + "," + d; + System.out.println("Piston: " + coords); + List blocks = plugin.config.getStringList("Blocks_Destroyed"); + blocks.add(coords); + plugin.config.set("Blocks_Destroyed", blocks); + plugin.saveConfig(); + } + } + } + @EventHandler + public void onChange(BlockPhysicsEvent event){ + Block block = event.getBlock(); + Material changed = event.getChangedType(); + if (block.getType() == Material.LAVA){ + if (changed == Material.LAVA){ + Block b = event.getBlock(); + String w = b.getWorld().getName(); + int x = b.getX(); + int y = b.getY(); + int z = b.getZ(); + int d = b.getTypeId(); + String coords = w + "," + x + "," + y + "," + z + "," + d; + System.out.println("Lava Change: " + coords); + List blocks = plugin.config.getStringList("Blocks_Placed"); + blocks.add(coords); + plugin.config.set("Blocks_Destroyed", blocks); + plugin.saveConfig(); + }else if(changed == Material.WATER){ + Block b = event.getBlock(); + String w = b.getWorld().getName(); + int x = b.getX(); + int y = b.getY(); + int z = b.getZ(); + int d = b.getTypeId(); + String coords = w + "," + x + "," + y + "," + z + "," + d; + System.out.println("Water Change: " + coords); + List blocks = plugin.config.getStringList("Blocks_Placed"); + blocks.add(coords); + plugin.config.set("Blocks_Destroyed", blocks); + plugin.saveConfig(); + } + }else if (block.getType() == Material.SAND || block.getType() == Material.GRAVEL) { + if (changed == Material.AIR) { + Block b = event.getBlock(); + String w = b.getWorld().getName(); + int x = b.getX(); + int y = b.getY(); + int z = b.getZ(); + int d = b.getTypeId(); + String coords = w + "," + x + "," + y + "," + z + "," + d; + System.out.println("Sand/Gravel Fall: " + coords); + List blocks = plugin.config.getStringList("Blocks_Placed"); + blocks.add(coords); + plugin.config.set("Blocks_Destroyed", blocks); + plugin.saveConfig(); + } + } + }*/ +} \ No newline at end of file diff --git a/src/me/Travja/HungerArena/Chests.java b/src/me/Travja/HungerArena/Chests.java index 7b1fabf..5a971b9 100644 --- a/src/me/Travja/HungerArena/Chests.java +++ b/src/me/Travja/HungerArena/Chests.java @@ -3,6 +3,7 @@ package me.Travja.HungerArena; import java.util.List; import org.bukkit.ChatColor; +import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.block.Block; import org.bukkit.block.Chest; @@ -10,6 +11,7 @@ import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.block.Action; +import org.bukkit.event.block.BlockBreakEvent; import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.inventory.ItemStack; @@ -24,30 +26,55 @@ public class Chests implements Listener { Player p = event.getPlayer(); if(p.getItemInHand().getType()== Material.BLAZE_ROD && event.getAction() == Action.LEFT_CLICK_BLOCK){ if(block.getState() instanceof Chest){ - ItemStack[] itemsinchest = ((Chest) block.getState()).getInventory().getContents(); - int blockx = block.getX(); - int blocky = block.getY(); - int blockz = block.getZ(); - String blockw = block.getWorld().getName().toString(); - if(!plugin.getConfig().contains("Storage." + blockx + "," + blocky + "," + blockz + ".Location.X")){ - plugin.getConfig().addDefault("Storage." + blockx + "," + blocky + "," + blockz + ".Location.X", blockx); - plugin.getConfig().addDefault("Storage." + blockx + "," + blocky + "," + blockz + ".Location.Y", blocky); - plugin.getConfig().addDefault("Storage." + blockx + "," + blocky + "," + blockz + ".Location.Z",blockz); - plugin.getConfig().addDefault("Storage." + blockx + "," + blocky + "," + blockz + ".Location.W", blockw); - plugin.getConfig().addDefault("Storage." + blockx + "," + blocky + "," + blockz + ".ItemsInStorage", itemsinchest); + if(p.hasPermission("HungerArena.Chest.Store")){ + ItemStack[] itemsinchest = ((Chest) block.getState()).getInventory().getContents(); + int blockx = block.getX(); + int blocky = block.getY(); + int blockz = block.getZ(); + String blockw = block.getWorld().getName().toString(); + if(!plugin.getConfig().contains("Storage." + blockx + "," + blocky + "," + blockz + ".Location.X")){ + plugin.getConfig().addDefault("Storage." + blockx + "," + blocky + "," + blockz + ".Location.X", blockx); + plugin.getConfig().addDefault("Storage." + blockx + "," + blocky + "," + blockz + ".Location.Y", blocky); + plugin.getConfig().addDefault("Storage." + blockx + "," + blocky + "," + blockz + ".Location.Z",blockz); + plugin.getConfig().addDefault("Storage." + blockx + "," + blocky + "," + blockz + ".Location.W", blockw); + plugin.getConfig().addDefault("Storage." + blockx + "," + blocky + "," + blockz + ".ItemsInStorage", itemsinchest); + }else{ + plugin.getConfig().set("Storage." + blockx + "," + blocky+ "," + blockz + ".Location.X",blockx); + plugin.getConfig().set("Storage." + blockx + "," + blocky + "," + blockz + ".Location.Y", blocky); + plugin.getConfig().set("Storage." + blockx + "," + blocky + "," + blockz + ".Location.Z", blockz); + plugin.getConfig().set("Storage." + blockx + "," + blocky + "," + blockz + ".Location.W", blockw); + plugin.getConfig().set("Storage." + blockx + "," + blocky + "," + blockz + ".ItemsInStorage", itemsinchest); + } + List list2 = plugin.getConfig().getStringList("StorageXYZ"); + list2.add(blockx + "," + blocky + "," + blockz); + plugin.getConfig().set("StorageXYZ", list2); + plugin.getConfig().options().copyDefaults(true); + plugin.saveConfig(); + p.sendMessage(ChatColor.GREEN + "Chest Stored!"); }else{ - plugin.getConfig().set("Storage." + blockx + "," + blocky+ "," + blockz + ".Location.X",blockx); - plugin.getConfig().set("Storage." + blockx + "," + blocky + "," + blockz + ".Location.Y", blocky); - plugin.getConfig().set("Storage." + blockx + "," + blocky + "," + blockz + ".Location.Z", blockz); - plugin.getConfig().set("Storage." + blockx + "," + blocky + "," + blockz + ".Location.W", blockw); - plugin.getConfig().set("Storage." + blockx + "," + blocky + "," + blockz + ".ItemsInStorage", itemsinchest); + p.sendMessage(ChatColor.RED + "You don't have permission to store chests!"); + } + } + } + } + @EventHandler + public void onBlockBreak(BlockBreakEvent event) { + Player p = event.getPlayer(); + Block block = event.getBlock(); + Location blocklocation = event.getBlock().getLocation(); + if (block.getState() instanceof Chest) { + int blockx = blocklocation.getBlockX(); + int blocky = blocklocation.getBlockY(); + int blockz = blocklocation.getBlockZ(); + if (plugin.getConfig().getStringList("StorageXYZ").contains(blockx + "," + blocky + "," + blockz)) { + if(p.hasPermission("HungerArena.Chest.Break")){ + List list2 = plugin.getConfig().getStringList("StorageXYZ"); + list2.remove(blockx + "," + blocky + "," + blockz); + plugin.getConfig().set("StorageXYZ", list2); + plugin.getConfig().options().copyDefaults(true); + plugin.saveConfig(); + p.sendMessage("Chest Removed!"); } - List list2 = plugin.getConfig().getStringList("StorageXYZ"); - list2.add(blockx + "," + blocky + "," + blockz); - plugin.getConfig().set("StorageXYZ", list2); - plugin.getConfig().options().copyDefaults(true); - plugin.saveConfig(); - p.sendMessage(ChatColor.GREEN + "Chest Stored!"); } } } diff --git a/src/me/Travja/HungerArena/CommandBlock.java b/src/me/Travja/HungerArena/CommandBlock.java index 857a975..198e3c0 100644 --- a/src/me/Travja/HungerArena/CommandBlock.java +++ b/src/me/Travja/HungerArena/CommandBlock.java @@ -17,8 +17,10 @@ public class CommandBlock implements Listener { String cmd = event.getMessage(); Player p = event.getPlayer(); if(!cmd.contains("/ha") && plugin.Playing.contains(p) && plugin.canjoin== true){ - event.setCancelled(true); - p.sendMessage(ChatColor.RED + "You are only allowed to use /ha commands!"); + if(!p.hasPermission("HungerArena.UseCommands")){ + event.setCancelled(true); + p.sendMessage(ChatColor.RED + "You are only allowed to use /ha commands!"); + } } } } diff --git a/src/me/Travja/HungerArena/DeathListener.java b/src/me/Travja/HungerArena/DeathListener.java index f4a4e63..a063e4b 100644 --- a/src/me/Travja/HungerArena/DeathListener.java +++ b/src/me/Travja/HungerArena/DeathListener.java @@ -19,10 +19,12 @@ public class DeathListener implements Listener{ this.plugin = m; } public FileConfiguration config; + int i = 0; @EventHandler public void onPlayerRespawn(PlayerRespawnEvent event){ Player p = event.getPlayer(); - if(plugin.Dead.contains(p)){ + String pname = p.getDisplayName(); + if(plugin.Dead.contains(pname)){ String[] Spawncoords = plugin.config.getString("Spawn_coords").split(","); World spawnw = plugin.getServer().getWorld(Spawncoords[3]); double spawnx = Double.parseDouble(Spawncoords[0]); @@ -36,14 +38,14 @@ public class DeathListener implements Listener{ public void onPlayerDeath(PlayerDeathEvent event){ Player p = event.getEntity(); Server s = p.getServer(); - String pname = p.getName(); + String pname = p.getDisplayName(); String[] Spawncoords = plugin.config.getString("Spawn_coords").split(","); World spawnw = plugin.getServer().getWorld(Spawncoords[3]); double spawnx = Double.parseDouble(Spawncoords[0]); double spawny = Double.parseDouble(Spawncoords[1]); double spawnz = Double.parseDouble(Spawncoords[2]); Location Spawn = new Location(spawnw, spawnx, spawny, spawnz); - if(plugin.Playing.contains(p)){ + if(plugin.Playing.contains(pname)){ if(plugin.config.getString("Cannon_Death").equalsIgnoreCase("True")){ double y = p.getLocation().getY(); double newy = y+200; @@ -52,8 +54,8 @@ public class DeathListener implements Listener{ Location strike = new Location(p.getWorld(), x, newy, z); p.getWorld().strikeLightning(strike); } - plugin.Dead.add(p); - plugin.Playing.remove(p); + plugin.Dead.add(pname); + plugin.Playing.remove(pname); String leftmsg = ChatColor.BLUE + "There are now " + plugin.Playing.size() + " tributes left!"; if(p.getKiller() instanceof Player){ if(p.getKiller().getItemInHand().getType().getId()== 0){ @@ -63,19 +65,23 @@ public class DeathListener implements Listener{ s.broadcastMessage(ChatColor.LIGHT_PURPLE + "**BOOM** Tribute " + pname + " was killed by tribute " + killername + " with their FIST!"); s.broadcastMessage(leftmsg); if(plugin.Playing.size()== 1 && plugin.canjoin== true){ - for(Player winner:plugin.Playing){ - String winnername = winner.getName(); - plugin.getServer().broadcastMessage(ChatColor.GREEN + winnername + " is the victor of this Hunger Games!"); - winner.getInventory().clear(); - winner.teleport(Spawn); - winner.getInventory().setBoots(null); - winner.getInventory().setChestplate(null); - winner.getInventory().setHelmet(null); - winner.getInventory().setLeggings(null); - winner.getInventory().addItem(plugin.Reward); - } + //Announce winner + String winnername = plugin.Playing.get(i++); + Player winner = plugin.getServer().getPlayerExact(winnername); + String winnername2 = winner.getName(); + plugin.getServer().broadcastMessage(ChatColor.GREEN + winnername2 + " is the victor of this Hunger Games!"); + winner.getInventory().clear(); + winner.teleport(Spawn); + winner.getInventory().setBoots(null); + winner.getInventory().setChestplate(null); + winner.getInventory().setHelmet(null); + winner.getInventory().setLeggings(null); + winner.getInventory().addItem(plugin.Reward); plugin.Playing.clear(); - for(Player spectator:plugin.Watching){ + //Show spectators + if(!plugin.Watching.isEmpty()){ + String s1 = plugin.Watching.get(i++); + Player spectator = plugin.getServer().getPlayerExact(s1); spectator.setAllowFlight(false); spectator.teleport(Spawn); for(Player online:plugin.getServer().getOnlinePlayers()){ @@ -95,19 +101,23 @@ public class DeathListener implements Listener{ s.broadcastMessage(msg); s.broadcastMessage(leftmsg); if(plugin.Playing.size()== 1 && plugin.canjoin== true){ - for(Player winner:plugin.Playing){ - String winnername = winner.getName(); - plugin.getServer().broadcastMessage(ChatColor.GREEN + winnername + " is the victor of this Hunger Games!"); - winner.getInventory().clear(); - winner.teleport(Spawn); - winner.getInventory().setBoots(null); - winner.getInventory().setChestplate(null); - winner.getInventory().setHelmet(null); - winner.getInventory().setLeggings(null); - winner.getInventory().addItem(plugin.Reward); - } + //Announce winner + String winnername = plugin.Playing.get(i++); + Player winner = plugin.getServer().getPlayerExact(winnername); + String winnername2 = winner.getName(); + plugin.getServer().broadcastMessage(ChatColor.GREEN + winnername2 + " is the victor of this Hunger Games!"); + winner.getInventory().clear(); + winner.teleport(Spawn); + winner.getInventory().setBoots(null); + winner.getInventory().setChestplate(null); + winner.getInventory().setHelmet(null); + winner.getInventory().setLeggings(null); + winner.getInventory().addItem(plugin.Reward); plugin.Playing.clear(); - for(Player spectator:plugin.Watching){ + //Show spectators + if(!plugin.Watching.isEmpty()){ + String s1 = plugin.Watching.get(i++); + Player spectator = plugin.getServer().getPlayerExact(s1); spectator.setAllowFlight(false); spectator.teleport(Spawn); for(Player online:plugin.getServer().getOnlinePlayers()){ @@ -124,19 +134,23 @@ public class DeathListener implements Listener{ s.broadcastMessage(ChatColor.LIGHT_PURPLE + pname + " died of natural causes!"); s.broadcastMessage(leftmsg); if(plugin.Playing.size()== 1 && plugin.canjoin== true){ - for(Player winner:plugin.Playing){ - String winnername = winner.getName(); - plugin.getServer().broadcastMessage(ChatColor.GREEN + winnername + " is the victor of this Hunger Games!"); - winner.getInventory().clear(); - winner.teleport(Spawn); - winner.getInventory().setBoots(null); - winner.getInventory().setChestplate(null); - winner.getInventory().setHelmet(null); - winner.getInventory().setLeggings(null); - winner.getInventory().addItem(plugin.Reward); - } + //Announce winner + String winnername = plugin.Playing.get(i++); + Player winner = plugin.getServer().getPlayerExact(winnername); + String winnername2 = winner.getName(); + plugin.getServer().broadcastMessage(ChatColor.GREEN + winnername2 + " is the victor of this Hunger Games!"); + winner.getInventory().clear(); + winner.teleport(Spawn); + winner.getInventory().setBoots(null); + winner.getInventory().setChestplate(null); + winner.getInventory().setHelmet(null); + winner.getInventory().setLeggings(null); + winner.getInventory().addItem(plugin.Reward); plugin.Playing.clear(); - for(Player spectator:plugin.Watching){ + //Show spectators + if(!plugin.Watching.isEmpty()){ + String s1 = plugin.Watching.get(i++); + Player spectator = plugin.getServer().getPlayerExact(s1); spectator.setAllowFlight(false); spectator.teleport(Spawn); for(Player online:plugin.getServer().getOnlinePlayers()){ diff --git a/src/me/Travja/HungerArena/HaCommands.java b/src/me/Travja/HungerArena/HaCommands.java index 15b1f02..d091dee 100644 --- a/src/me/Travja/HungerArena/HaCommands.java +++ b/src/me/Travja/HungerArena/HaCommands.java @@ -20,9 +20,10 @@ public class HaCommands implements CommandExecutor { public HaCommands(Main m) { this.plugin = m; } + int i = 0; @SuppressWarnings("unchecked") @Override - public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){ + public boolean onCommand(final CommandSender sender, Command cmd, String commandLabel, String[] args){ String[] Spawncoords = plugin.config.getString("Spawn_coords").split(","); double spawnx = Double.parseDouble(Spawncoords[0]); double spawny = Double.parseDouble(Spawncoords[1]); @@ -31,8 +32,8 @@ public class HaCommands implements CommandExecutor { World spawnw = plugin.getServer().getWorld(spawnworld); Location Spawn = new Location(spawnw, spawnx, spawny, spawnz); if(sender instanceof Player){ - Player p = (Player) sender; - String pname = p.getName(); + final Player p = (Player) sender; + final String pname = p.getDisplayName(); ChatColor c = ChatColor.AQUA; if(cmd.getName().equalsIgnoreCase("Ha")){ if(args.length== 0){ @@ -52,6 +53,7 @@ public class HaCommands implements CommandExecutor { sender.sendMessage(c + "/ha restart - Makes it so dead tributes can join again!"); sender.sendMessage(c + "/ha warpall - Warps all tribute into position!"); sender.sendMessage(c + "/ha reload - Reloads the config!"); + sender.sendMessage(c + "/ha refill - Refills all chests!"); sender.sendMessage(c + "/ha start - Unfreezes tributes allowing them to fight!"); sender.sendMessage(c + "/ha list - Shows a list of players in the game and their health!"); sender.sendMessage(c + "/ha rlist - See who's ready!"); @@ -61,10 +63,11 @@ public class HaCommands implements CommandExecutor { }else if(args[0].equalsIgnoreCase("List")){ if(p.hasPermission("HungerArena.GameMaker") || sender instanceof ConsoleCommandSender){ sender.sendMessage(ChatColor.AQUA + "-----People Playing-----"); - for(Player players:plugin.Playing){ + if(!(plugin.Playing.size()== 0)){ + String playernames = plugin.Playing.get(i++); + Player players = plugin.getServer().getPlayerExact(playernames); sender.sendMessage(ChatColor.GREEN + players.getDisplayName() + " Life: " + players.getHealth() + "/20"); - } - if(plugin.Playing.size()== 0){ + }else if(plugin.Playing.size()== 0){ sender.sendMessage(ChatColor.GRAY + "No one is playing!"); } sender.sendMessage(ChatColor.AQUA + "----------------------"); @@ -74,10 +77,11 @@ public class HaCommands implements CommandExecutor { }else if(args[0].equalsIgnoreCase("rList")){ if(p.hasPermission("HungerArena.GameMaker") || sender instanceof ConsoleCommandSender){ sender.sendMessage(ChatColor.AQUA + "-----People Ready-----"); - for(Player ready:plugin.Ready){ + if(!(plugin.Ready.size()== 0)){ + String readyname = plugin.Ready.get(i++); + Player ready = plugin.getServer().getPlayerExact(readyname); sender.sendMessage(ChatColor.GREEN + ready.getDisplayName() + " Life: " + ready.getHealth() + "/20"); - } - if(plugin.Playing.size()== 0){ + }else if(plugin.Playing.size()== 0){ sender.sendMessage(ChatColor.GRAY + "No one is ready!"); } sender.sendMessage(ChatColor.AQUA + "---------------------"); @@ -85,9 +89,7 @@ public class HaCommands implements CommandExecutor { sender.sendMessage(ChatColor.RED + "You don't have permission!"); } }else if(args[0].equalsIgnoreCase("SetSpawn")){ - if(sender instanceof ConsoleCommandSender){ - sender.sendMessage(ChatColor.RED + "That can only be run by a player!"); - }else if(p.hasPermission("HungerArena.SetSpawn")){ + if(p.hasPermission("HungerArena.SetSpawn")){ double x = p.getLocation().getX(); double y = p.getLocation().getY(); double z = p.getLocation().getZ(); @@ -100,12 +102,10 @@ public class HaCommands implements CommandExecutor { p.sendMessage(ChatColor.RED + "You don't have permission!"); } }else if(args[0].equalsIgnoreCase("Join")){ - if(sender instanceof ConsoleCommandSender){ - sender.sendMessage(ChatColor.RED + "That can only be run by a player!"); - }else if(p.hasPermission("HungerArena.Join")){ - if(plugin.Playing.contains(p)){ + if(p.hasPermission("HungerArena.Join")){ + if(plugin.Playing.contains(pname)){ p.sendMessage(ChatColor.RED + "You are already playing!"); - }else if(plugin.Dead.contains(p) || plugin.Quit.contains(p)){ + }else if(plugin.Dead.contains(pname) || plugin.Quit.contains(pname)){ p.sendMessage(ChatColor.RED + "You DIED/QUIT! You can't join again!"); }else if(plugin.Playing.size()== 24){ p.sendMessage(ChatColor.RED + "There are already 24 Tributes!"); @@ -113,13 +113,13 @@ public class HaCommands implements CommandExecutor { p.sendMessage(ChatColor.RED + "The game is in progress!"); }else if(plugin.config.getString("Spawns_set").equalsIgnoreCase("false")){ p.sendMessage(ChatColor.RED + "/ha setspawn hasn't been run!"); - }else if(plugin.NeedConfirm.contains(p)){ + }else if(plugin.NeedConfirm.contains(pname)){ p.sendMessage(ChatColor.RED + "You need to do /ha confirm"); }else if(plugin.config.getString("Need_Confirm").equalsIgnoreCase("true")){ - plugin.NeedConfirm.add(p); + plugin.NeedConfirm.add(pname); p.sendMessage(ChatColor.GOLD + "You're inventory will be cleared! Type /ha confirm to procede"); }else{ - plugin.Playing.add(p); + plugin.Playing.add(pname); p.getInventory().clear(); p.getInventory().setBoots(null); p.getInventory().setChestplate(null); @@ -134,11 +134,9 @@ public class HaCommands implements CommandExecutor { p.sendMessage(ChatColor.RED + "You don't have permission!"); } }else if(args[0].equalsIgnoreCase("Confirm")){ - if(sender instanceof ConsoleCommandSender){ - sender.sendMessage(ChatColor.RED + "That can only be run by a player!"); - }else if(plugin.NeedConfirm.contains(p)){ - plugin.Playing.add(p); - plugin.NeedConfirm.remove(p); + if(plugin.NeedConfirm.contains(pname)){ + plugin.Playing.add(pname); + plugin.NeedConfirm.remove(pname); p.sendMessage(ChatColor.GREEN + "Do /ha ready to vote to start the games!"); p.getInventory().clear(); p.getInventory().setBoots(null); @@ -151,41 +149,40 @@ public class HaCommands implements CommandExecutor { } } }else if(args[0].equalsIgnoreCase("Ready")){ - if(sender instanceof ConsoleCommandSender){ - sender.sendMessage(ChatColor.RED + "That can only be run by a player!"); - }else if(plugin.Playing.contains(p)){ - if(plugin.Ready.contains(p)){ + if(plugin.Playing.contains(pname)){ + if(plugin.Ready.contains(pname)){ p.sendMessage(ChatColor.RED + "You're already ready!"); }else if(plugin.Playing.size()== 1){ p.sendMessage(ChatColor.RED + "You can't be ready when no one else is playing!"); }else{ - plugin.Ready.add(p); + plugin.Ready.add(pname); p.sendMessage(ChatColor.AQUA + "You have marked yourself as READY!"); - if(plugin.Playing.size()== plugin.Ready.size()){ + if(plugin.Playing.size()-4== plugin.Ready.size()){ Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "ha warpall"); } } - }else if(!plugin.Playing.contains(p)){ + }else if(!plugin.Playing.contains(pname)){ p.sendMessage(ChatColor.RED + "You aren't playing!"); } }else if(args[0].equalsIgnoreCase("Leave")){ - if(!plugin.Playing.contains(p)){ + if(!plugin.Playing.contains(pname)){ p.sendMessage(ChatColor.RED + "You aren't playing!"); }else if(plugin.canjoin== false){ - plugin.Playing.remove(p); + plugin.Playing.remove(pname); p.sendMessage(ChatColor.AQUA + "You have left the game!"); p.getServer().broadcastMessage(ChatColor.RED + pname + " Quit!"); p.getInventory().clear(); + p.teleport(Spawn); p.getInventory().setBoots(null); p.getInventory().setChestplate(null); p.getInventory().setHelmet(null); p.getInventory().setLeggings(null); - if(plugin.Frozen.contains(p)){ - plugin.Frozen.remove(p); + if(plugin.Frozen.contains(pname)){ + plugin.Frozen.remove(pname); } }else{ - plugin.Playing.remove(p); - plugin.Quit.add(p); + plugin.Playing.remove(pname); + plugin.Quit.add(pname); p.sendMessage(ChatColor.AQUA + "You have left the game!"); p.getServer().broadcastMessage(ChatColor.RED + pname + " Quit!"); p.getInventory().clear(); @@ -194,28 +191,30 @@ public class HaCommands implements CommandExecutor { p.getInventory().setHelmet(null); p.getInventory().setLeggings(null); p.teleport(Spawn); - if(plugin.Frozen.contains(p)){ - plugin.Frozen.remove(p); + if(plugin.Frozen.contains(pname)){ + plugin.Frozen.remove(pname); } if(plugin.Playing.size()== 1){ - for(Player winner:plugin.Playing){ - String winnername = winner.getName(); - plugin.getServer().broadcastMessage(ChatColor.GREEN + winnername + " is the victor of this Hunger Games!"); - winner.getInventory().clear(); - winner.teleport(Spawn); - winner.getInventory().setBoots(null); - winner.getInventory().setChestplate(null); - winner.getInventory().setHelmet(null); - winner.getInventory().setLeggings(null); - winner.getInventory().addItem(plugin.Reward); - } + //Announce the Winner + String winnername = plugin.Playing.get(i++); + Player winner = plugin.getServer().getPlayerExact(winnername); + String winnername2 = winner.getName(); + plugin.getServer().broadcastMessage(ChatColor.GREEN + winnername2 + " is the victor of this Hunger Games!"); + winner.getInventory().clear(); + winner.teleport(Spawn); + winner.getInventory().setBoots(null); + winner.getInventory().setChestplate(null); + winner.getInventory().setHelmet(null); + winner.getInventory().setLeggings(null); + winner.getInventory().addItem(plugin.Reward); plugin.Playing.clear(); - for(Player spectator:plugin.Watching){ - spectator.setAllowFlight(false); - spectator.teleport(Spawn); - for(Player online:plugin.getServer().getOnlinePlayers()){ - online.showPlayer(spectator); - } + //Show spectators + String s = plugin.Watching.get(i++); + Player spectator = plugin.getServer().getPlayerExact(s); + spectator.setAllowFlight(false); + spectator.teleport(Spawn); + for(Player online:plugin.getServer().getOnlinePlayers()){ + online.showPlayer(spectator); } if(plugin.config.getString("Auto_Restart").equalsIgnoreCase("True")){ Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "ha restart"); @@ -223,72 +222,67 @@ public class HaCommands implements CommandExecutor { } } }else if(args[0].equalsIgnoreCase("Watch")){ - if(sender instanceof ConsoleCommandSender){ - sender.sendMessage(ChatColor.RED + "That can only be run by a player!"); - }else if(sender.hasPermission("HungerArena.Watch")){ - if(!plugin.Watching.contains(p) && !plugin.Playing.contains(p) && plugin.canjoin== true){ - plugin.Watching.add(p); + if(sender.hasPermission("HungerArena.Watch")){ + if(!plugin.Watching.contains(pname) && !plugin.Playing.contains(pname) && plugin.canjoin== true){ + plugin.Watching.add(pname); for(Player online:plugin.getServer().getOnlinePlayers()){ online.hidePlayer(p); } p.setAllowFlight(true); p.sendMessage(ChatColor.AQUA + "You can now spectate!"); - }else if(plugin.canjoin == false){ + }else if(plugin.canjoin== false){ p.sendMessage(ChatColor.RED + "The game isn't in progress!"); - }else if(plugin.Playing.contains(p)){ + }else if(plugin.Playing.contains(pname)){ p.sendMessage(ChatColor.RED + "You can't watch while you're playing!"); - }else if(plugin.Watching.contains(p)){ - plugin.Watching.remove(p); + }else if(plugin.Watching.contains(pname)){ + plugin.Watching.remove(pname); for(Player online:plugin.getServer().getOnlinePlayers()){ online.showPlayer(p); } p.teleport(Spawn); p.setAllowFlight(false); - sender.sendMessage(ChatColor.AQUA + "You are not spectating anymore"); + p.sendMessage(ChatColor.AQUA + "You are not spectating anymore"); } }else{ - sender.sendMessage(ChatColor.RED + "You don't have permission!"); + p.sendMessage(ChatColor.RED + "You don't have permission!"); } }else if(args[0].equalsIgnoreCase("Kick")){ Player target = plugin.getServer().getPlayer(args[1]); - if(sender.hasPermission("HungerArena.Kick") || sender instanceof ConsoleCommandSender){ - if(plugin.Playing.contains(target)){ - if(p.isOnline()){ - plugin.Playing.remove(target); - plugin.getServer().broadcastMessage(ChatColor.RED + target.getName() + " was kicked from the game!"); - target.teleport(Spawn); - target.getInventory().clear(); - target.getInventory().setBoots(null); - target.getInventory().setChestplate(null); - target.getInventory().setHelmet(null); - target.getInventory().setLeggings(null); - plugin.Quit.add(target); - if(plugin.Playing.size()== 1 && plugin.canjoin== true){ - for(Player winner:plugin.Playing){ - String winnername = winner.getName(); - plugin.getServer().broadcastMessage(ChatColor.GREEN + winnername + " is the victor of this Hunger Games!"); - winner.getInventory().clear(); - winner.teleport(Spawn); - winner.getInventory().setBoots(null); - winner.getInventory().setChestplate(null); - winner.getInventory().setHelmet(null); - winner.getInventory().setLeggings(null); - winner.getInventory().addItem(plugin.Reward); + if(sender.hasPermission("HungerArena.Kick")){ + if(plugin.Playing.contains(target.getDisplayName())){ + plugin.Playing.remove(target.getDisplayName()); + plugin.getServer().broadcastMessage(ChatColor.RED + target.getName() + " was kicked from the game!"); + target.teleport(Spawn); + target.getInventory().clear(); + target.getInventory().setBoots(null); + target.getInventory().setChestplate(null); + target.getInventory().setHelmet(null); + target.getInventory().setLeggings(null); + plugin.Quit.add(target.getDisplayName()); + if(plugin.Playing.size()== 1 && plugin.canjoin== true){ + String winnername = plugin.Playing.get(i++); + Player winner = plugin.getServer().getPlayerExact(winnername); + String winnername2 = winner.getName(); + plugin.getServer().broadcastMessage(ChatColor.GREEN + winnername2 + " is the victor of this Hunger Games!"); + winner.getInventory().clear(); + winner.teleport(Spawn); + winner.getInventory().setBoots(null); + winner.getInventory().setChestplate(null); + winner.getInventory().setHelmet(null); + winner.getInventory().setLeggings(null); + winner.getInventory().addItem(plugin.Reward); + plugin.Playing.clear(); + if(!plugin.Watching.isEmpty()){ + String s = plugin.Watching.get(i++); + Player spectator = plugin.getServer().getPlayerExact(s); + spectator.setAllowFlight(false); + spectator.teleport(Spawn); + for(Player online:plugin.getServer().getOnlinePlayers()){ + online.showPlayer(spectator); } - plugin.Playing.clear(); - for(Player spectator:plugin.Watching){ - spectator.setAllowFlight(false); - spectator.teleport(Spawn); - for(Player online:plugin.getServer().getOnlinePlayers()){ - online.showPlayer(spectator); - } - } - if(plugin.config.getString("Auto_Restart").equalsIgnoreCase("True")){ - Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "ha restart"); - } - }else{ - plugin.Playing.remove(target); - plugin.Quit.add(target); + } + if(plugin.config.getString("Auto_Restart").equalsIgnoreCase("True")){ + Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "ha restart"); } } }else{ @@ -298,38 +292,44 @@ public class HaCommands implements CommandExecutor { sender.sendMessage(ChatColor.RED + "You don't have permission!"); } }else if(args[0].equalsIgnoreCase("Refill")){ - int list056; - list056 = 0; - int limit = plugin.getConfig().getStringList("StorageXYZ").size(); - while(limit > list056){ - String xyz2 = plugin.getConfig().getStringList("StorageXYZ").get(list056); - int chestx = plugin.getConfig().getInt("Storage." + xyz2 + ".Location.X"); - int chesty = plugin.getConfig().getInt("Storage." + xyz2 + ".Location.Y"); - int chestz = plugin.getConfig().getInt("Storage." + xyz2 + ".Location.Z"); - String chestw = plugin.getConfig().getString("Storage." + xyz2 + ".Location.W"); - Block blockatlocation = Bukkit.getWorld(chestw).getBlockAt(chestx, chesty, chestz); - plugin.exists = false; - if(blockatlocation.getState() instanceof Chest){ - plugin.exists = true; - Chest chest = (Chest) blockatlocation.getState(); - chest.getInventory().clear(); - ItemStack[] itemsinchest = null; - Object o = plugin.getConfig().get("Storage." + xyz2 + ".ItemsInStorage"); - if(o instanceof ItemStack[]){ - itemsinchest = (ItemStack[]) o; - }else if(o instanceof List){ - itemsinchest = (ItemStack[]) ((List) o).toArray(new ItemStack[0]); + if(p.hasPermission("HungerArena.Refill")){ + int list056; + list056 = 0; + int limit = plugin.config.getStringList("StorageXYZ").size(); + while(limit > list056){ + String xyz2 = plugin.getConfig().getStringList("StorageXYZ").get(list056); + int chestx = plugin.getConfig().getInt("Storage." + xyz2 + ".Location.X"); + int chesty = plugin.getConfig().getInt("Storage." + xyz2 + ".Location.Y"); + int chestz = plugin.getConfig().getInt("Storage." + xyz2 + ".Location.Z"); + String chestw = plugin.getConfig().getString("Storage." + xyz2 + ".Location.W"); + Block blockatlocation = Bukkit.getWorld(chestw).getBlockAt(chestx, chesty, chestz); + plugin.exists = false; + if(blockatlocation.getState() instanceof Chest){ + plugin.exists = true; + Chest chest = (Chest) blockatlocation.getState(); + chest.getInventory().clear(); + ItemStack[] itemsinchest = null; + Object o = plugin.getConfig().get("Storage." + xyz2 + ".ItemsInStorage"); + if(o instanceof ItemStack[]){ + itemsinchest = (ItemStack[]) o; + }else if(o instanceof List){ + itemsinchest = (ItemStack[]) ((List) o).toArray(new ItemStack[0]); + } + list056 = list056+1; + chest.getInventory().setContents(itemsinchest); } - list056 = list056+1; - chest.getInventory().setContents(itemsinchest); } - } - if(limit== list056){ - sender.sendMessage(ChatColor.GREEN + "All chests refilled!"); + if(limit== list056){ + sender.sendMessage(ChatColor.GREEN + "All chests refilled!"); + } + }else{ + p.sendMessage(ChatColor.RED + "You don't have permission!"); } }else if(args[0].equalsIgnoreCase("Restart")){ - if(sender.hasPermission("HungerArena.Restart") || sender instanceof ConsoleCommandSender){ - for(Player spectator:plugin.Watching){ + if(p.hasPermission("HungerArena.Restart")){ + if(!plugin.Watching.isEmpty()){ + String s = plugin.Watching.get(i++); + Player spectator = plugin.getServer().getPlayerExact(s); spectator.setAllowFlight(false); spectator.teleport(Spawn); for(Player online:plugin.getServer().getOnlinePlayers()){ @@ -345,16 +345,16 @@ public class HaCommands implements CommandExecutor { plugin.Out.clear(); plugin.Playing.clear(); plugin.canjoin = false; - Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "ha refill"); - sender.sendMessage(ChatColor.AQUA + "The games have been reset!"); + p.performCommand("ha refill"); + p.sendMessage(ChatColor.AQUA + "The games have been reset!"); }else{ - sender.sendMessage(ChatColor.RED + "You don't have permission!"); + p.sendMessage(ChatColor.RED + "You don't have permission!"); } }else if(args[0].equalsIgnoreCase("Reload")){ plugin.reloadConfig(); - sender.sendMessage(ChatColor.AQUA + "HungerArena Reloaded!"); + p.sendMessage(ChatColor.AQUA + "HungerArena Reloaded!"); }else if(args[0].equalsIgnoreCase("WarpAll")){ - if(sender.hasPermission("HungerArena.Warpall") || sender instanceof ConsoleCommandSender){ + if(p.hasPermission("HungerArena.Warpall")){ if(plugin.config.getString("Spawns_set").equalsIgnoreCase("false")){ sender.sendMessage(ChatColor.RED + "/ha setspawn hasn't been run!"); }else{ @@ -364,7 +364,7 @@ public class HaCommands implements CommandExecutor { if(plugin.Playing.size()>= 2){ plugin.config.getString("Tribute_one_spawn"); String[] onecoords = plugin.config.getString("Tribute_one_spawn").split(","); - Player Tribute_one = plugin.Playing.get(0); + Player Tribute_one = plugin.getServer().getPlayerExact(plugin.Playing.get(0)); double x = Double.parseDouble(onecoords[0]); double y = Double.parseDouble(onecoords[1]); double z = Double.parseDouble(onecoords[2]); @@ -372,11 +372,11 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location oneloc = new Location(w, x, y, z); Tribute_one.teleport(oneloc); - plugin.Frozen.add(Tribute_one); + plugin.Frozen.add(Tribute_one.getDisplayName()); Tribute_one.setFoodLevel(20); plugin.config.getString("Tribute_two_spawn"); String[] twocoords = plugin.config.getString("Tribute_two_spawn").split(","); - Player Tribute_two = plugin.Playing.get(1); + Player Tribute_two = plugin.getServer().getPlayerExact(plugin.Playing.get(1)); double twox = Double.parseDouble(twocoords[0]); double twoy = Double.parseDouble(twocoords[1]); double twoz = Double.parseDouble(twocoords[2]); @@ -384,7 +384,7 @@ public class HaCommands implements CommandExecutor { World twow = plugin.getServer().getWorld(twoworld); Location twoloc = new Location(twow, twox, twoy, twoz); Tribute_two.teleport(twoloc); - plugin.Frozen.add(Tribute_two); + plugin.Frozen.add(Tribute_two.getDisplayName()); Tribute_two.setFoodLevel(20); p.getWorld().setTime(0); if(plugin.config.getString("Auto_Start").equalsIgnoreCase("true")){ @@ -394,11 +394,16 @@ public class HaCommands implements CommandExecutor { } }, 20L); } + plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable(){ + public void run(){ + p.sendMessage(ChatColor.AQUA + "All Tributes warped!"); + } + }, 20L); } if(plugin.Playing.size()>= 3){ plugin.config.getString("Tribute_three_spawn"); String[] coords = plugin.config.getString("Tribute_three_spawn").split(","); - Player Tribute_three = plugin.Playing.get(2); + Player Tribute_three = plugin.getServer().getPlayerExact(plugin.Playing.get(2)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -406,13 +411,13 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_three.teleport(loc); - plugin.Frozen.add(Tribute_three); + plugin.Frozen.add(Tribute_three.getDisplayName()); Tribute_three.setFoodLevel(20); } if(plugin.Playing.size()>= 4){ plugin.config.getString("Tribute_four_spawn"); String[] coords = plugin.config.getString("Tribute_four_spawn").split(","); - Player Tribute_four = plugin.Playing.get(3); + Player Tribute_four = plugin.getServer().getPlayerExact(plugin.Playing.get(3)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -420,13 +425,13 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_four.teleport(loc); - plugin.Frozen.add(Tribute_four); + plugin.Frozen.add(Tribute_four.getDisplayName()); Tribute_four.setFoodLevel(20); } if(plugin.Playing.size()>= 5){ plugin.config.getString("Tribute_five_spawn"); String[] coords = plugin.config.getString("Tribute_five_spawn").split(","); - Player Tribute_five = plugin.Playing.get(4); + Player Tribute_five = plugin.getServer().getPlayerExact(plugin.Playing.get(4)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -434,13 +439,13 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_five.teleport(loc); - plugin.Frozen.add(Tribute_five); + plugin.Frozen.add(Tribute_five.getDisplayName()); Tribute_five.setFoodLevel(20); } if(plugin.Playing.size()>= 6){ plugin.config.getString("Tribute_six_spawn"); String[] coords = plugin.config.getString("Tribute_six_spawn").split(","); - Player Tribute_six = plugin.Playing.get(5); + Player Tribute_six = plugin.getServer().getPlayerExact(plugin.Playing.get(5)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -448,13 +453,13 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_six.teleport(loc); - plugin.Frozen.add(Tribute_six); + plugin.Frozen.add(Tribute_six.getDisplayName()); Tribute_six.setFoodLevel(20); } if(plugin.Playing.size()>= 7){ plugin.config.getString("Tribute_seven_spawn"); String[] coords = plugin.config.getString("Tribute_seven_spawn").split(","); - Player Tribute_seven = plugin.Playing.get(6); + Player Tribute_seven = plugin.getServer().getPlayerExact(plugin.Playing.get(6)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -462,13 +467,13 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_seven.teleport(loc); - plugin.Frozen.add(Tribute_seven); + plugin.Frozen.add(Tribute_seven.getDisplayName()); Tribute_seven.setFoodLevel(20); } if(plugin.Playing.size()>= 8){ plugin.config.getString("Tribute_eight_spawn"); String[] coords = plugin.config.getString("Tribute_eight_spawn").split(","); - Player Tribute_eight = plugin.Playing.get(7); + Player Tribute_eight = plugin.getServer().getPlayerExact(plugin.Playing.get(7)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -476,13 +481,13 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_eight.teleport(loc); - plugin.Frozen.add(Tribute_eight); + plugin.Frozen.add(Tribute_eight.getDisplayName()); Tribute_eight.setFoodLevel(20); } if(plugin.Playing.size()>= 9){ plugin.config.getString("Tribute_nine_spawn"); String[] coords = plugin.config.getString("Tribute_nine_spawn").split(","); - Player Tribute_nine = plugin.Playing.get(8); + Player Tribute_nine = plugin.getServer().getPlayerExact(plugin.Playing.get(8)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -490,13 +495,13 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_nine.teleport(loc); - plugin.Frozen.add(Tribute_nine); + plugin.Frozen.add(Tribute_nine.getDisplayName()); Tribute_nine.setFoodLevel(20); } if(plugin.Playing.size()>= 10){ plugin.config.getString("Tribute_ten_spawn"); String[] coords = plugin.config.getString("Tribute_ten_spawn").split(","); - Player Tribute_ten = plugin.Playing.get(9); + Player Tribute_ten = plugin.getServer().getPlayerExact(plugin.Playing.get(9)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -504,13 +509,13 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_ten.teleport(loc); - plugin.Frozen.add(Tribute_ten); + plugin.Frozen.add(Tribute_ten.getDisplayName()); Tribute_ten.setFoodLevel(20); } if(plugin.Playing.size()>= 11){ plugin.config.getString("Tribute_eleven_spawn"); String[] coords = plugin.config.getString("Tribute_eleven_spawn").split(","); - Player Tribute_eleven = plugin.Playing.get(10); + Player Tribute_eleven = plugin.getServer().getPlayerExact(plugin.Playing.get(10)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -518,13 +523,13 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_eleven.teleport(loc); - plugin.Frozen.add(Tribute_eleven); + plugin.Frozen.add(Tribute_eleven.getDisplayName()); Tribute_eleven.setFoodLevel(20); } if(plugin.Playing.size()>= 12){ plugin.config.getString("Tribute_twelve_spawn"); String[] coords = plugin.config.getString("Tribute_twelve_spawn").split(","); - Player Tribute_twelve = plugin.Playing.get(11); + Player Tribute_twelve = plugin.getServer().getPlayerExact(plugin.Playing.get(11)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -532,13 +537,13 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_twelve.teleport(loc); - plugin.Frozen.add(Tribute_twelve); + plugin.Frozen.add(Tribute_twelve.getDisplayName()); Tribute_twelve.setFoodLevel(20); } if(plugin.Playing.size()>= 13){ plugin.config.getString("Tribute_thirteen_spawn"); String[] coords = plugin.config.getString("Tribute_thirteen_spawn").split(","); - Player Tribute_thirteen = plugin.Playing.get(12); + Player Tribute_thirteen = plugin.getServer().getPlayerExact(plugin.Playing.get(12)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -546,13 +551,13 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_thirteen.teleport(loc); - plugin.Frozen.add(Tribute_thirteen); + plugin.Frozen.add(Tribute_thirteen.getDisplayName()); Tribute_thirteen.setFoodLevel(20); } if(plugin.Playing.size()>= 14){ plugin.config.getString("Tribute_fourteen_spawn"); String[] coords = plugin.config.getString("Tribute_fourteen_spawn").split(","); - Player Tribute_fourteen = plugin.Playing.get(13); + Player Tribute_fourteen = plugin.getServer().getPlayerExact(plugin.Playing.get(13)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -560,13 +565,13 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_fourteen.teleport(loc); - plugin.Frozen.add(Tribute_fourteen); + plugin.Frozen.add(Tribute_fourteen.getDisplayName()); Tribute_fourteen.setFoodLevel(20); } if(plugin.Playing.size()>= 15){ plugin.config.getString("Tribute_fifteen_spawn"); String[] coords = plugin.config.getString("Tribute_fifteen_spawn").split(","); - Player Tribute_fifteen = plugin.Playing.get(14); + Player Tribute_fifteen = plugin.getServer().getPlayerExact(plugin.Playing.get(14)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -574,13 +579,13 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_fifteen.teleport(loc); - plugin.Frozen.add(Tribute_fifteen); + plugin.Frozen.add(Tribute_fifteen.getDisplayName()); Tribute_fifteen.setFoodLevel(20); } if(plugin.Playing.size()>= 16){ plugin.config.getString("Tribute_sixteen_spawn"); String[] coords = plugin.config.getString("Tribute_sixteen_spawn").split(","); - Player Tribute_sixteen = plugin.Playing.get(15); + Player Tribute_sixteen = plugin.getServer().getPlayerExact(plugin.Playing.get(15)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -588,13 +593,13 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_sixteen.teleport(loc); - plugin.Frozen.add(Tribute_sixteen); + plugin.Frozen.add(Tribute_sixteen.getDisplayName()); Tribute_sixteen.setFoodLevel(20); } if(plugin.Playing.size()>= 17){ plugin.config.getString("Tribute_seventeen_spawn"); String[] coords = plugin.config.getString("Tribute_seventeen_spawn").split(","); - Player Tribute_seventeen = plugin.Playing.get(16); + Player Tribute_seventeen = plugin.getServer().getPlayerExact(plugin.Playing.get(16)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -602,13 +607,13 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_seventeen.teleport(loc); - plugin.Frozen.add(Tribute_seventeen); + plugin.Frozen.add(Tribute_seventeen.getDisplayName()); Tribute_seventeen.setFoodLevel(20); } if(plugin.Playing.size()>= 18){ plugin.config.getString("Tribute_eighteen_spawn"); String[] coords = plugin.config.getString("Tribute_eighteen_spawn").split(","); - Player Tribute_eighteen = plugin.Playing.get(17); + Player Tribute_eighteen = plugin.getServer().getPlayerExact(plugin.Playing.get(17)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -616,13 +621,13 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_eighteen.teleport(loc); - plugin.Frozen.add(Tribute_eighteen); + plugin.Frozen.add(Tribute_eighteen.getDisplayName()); Tribute_eighteen.setFoodLevel(20); } if(plugin.Playing.size()>= 19){ plugin.config.getString("Tribute_nineteen_spawn"); String[] coords = plugin.config.getString("Tribute_nineteen_spawn").split(","); - Player Tribute_nineteen = plugin.Playing.get(18); + Player Tribute_nineteen = plugin.getServer().getPlayerExact(plugin.Playing.get(18)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -630,13 +635,13 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_nineteen.teleport(loc); - plugin.Frozen.add(Tribute_nineteen); + plugin.Frozen.add(Tribute_nineteen.getDisplayName()); Tribute_nineteen.setFoodLevel(20); } if(plugin.Playing.size()>= 20){ plugin.config.getString("Tribute_twenty_spawn"); String[] coords = plugin.config.getString("Tribute_twenty_spawn").split(","); - Player Tribute_twenty = plugin.Playing.get(19); + Player Tribute_twenty = plugin.getServer().getPlayerExact(plugin.Playing.get(19)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -644,13 +649,13 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_twenty.teleport(loc); - plugin.Frozen.add(Tribute_twenty); + plugin.Frozen.add(Tribute_twenty.getDisplayName()); Tribute_twenty.setFoodLevel(20); } if(plugin.Playing.size()>= 21){ plugin.config.getString("Tribute_twentyone_spawn"); String[] coords = plugin.config.getString("Tribute_twentyone_spawn").split(","); - Player Tribute_twentyone = plugin.Playing.get(20); + Player Tribute_twentyone = plugin.getServer().getPlayerExact(plugin.Playing.get(20)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -658,13 +663,13 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_twentyone.teleport(loc); - plugin.Frozen.add(Tribute_twentyone); + plugin.Frozen.add(Tribute_twentyone.getDisplayName()); Tribute_twentyone.setFoodLevel(20); } if(plugin.Playing.size()>= 22){ plugin.config.getString("Tribute_twentytwo_spawn"); String[] coords = plugin.config.getString("Tribute_twentytwo_spawn").split(","); - Player Tribute_twentytwo = plugin.Playing.get(21); + Player Tribute_twentytwo = plugin.getServer().getPlayerExact(plugin.Playing.get(21)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -672,13 +677,13 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_twentytwo.teleport(loc); - plugin.Frozen.add(Tribute_twentytwo); + plugin.Frozen.add(Tribute_twentytwo.getDisplayName()); Tribute_twentytwo.setFoodLevel(20); } if(plugin.Playing.size()>= 23){ plugin.config.getString("Tribute_twentythree_spawn"); String[] coords = plugin.config.getString("Tribute_twentythree_spawn").split(","); - Player Tribute_twentythree = plugin.Playing.get(22); + Player Tribute_twentythree = plugin.getServer().getPlayerExact(plugin.Playing.get(22)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -686,13 +691,13 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_twentythree.teleport(loc); - plugin.Frozen.add(Tribute_twentythree); + plugin.Frozen.add(Tribute_twentythree.getDisplayName()); Tribute_twentythree.setFoodLevel(20); } if(plugin.Playing.size()>= 24){ plugin.config.getString("Tribute_twentyfour_spawn"); String[] coords = plugin.config.getString("Tribute_twentyfour_spawn").split(","); - Player Tribute_twentyfour = plugin.Playing.get(23); + Player Tribute_twentyfour = plugin.getServer().getPlayerExact(plugin.Playing.get(23)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -700,7 +705,7 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_twentyfour.teleport(loc); - plugin.Frozen.add(Tribute_twentyfour); + plugin.Frozen.add(Tribute_twentyfour.getDisplayName()); Tribute_twentyfour.setFoodLevel(20); } } @@ -800,6 +805,7 @@ public class HaCommands implements CommandExecutor { sender.sendMessage(c + "/ha restart - Makes it so dead tributes can join again!"); sender.sendMessage(c + "/ha warpall - Warps all tribute into position!"); sender.sendMessage(c + "/ha reload - Reloads the config!"); + sender.sendMessage(c + "/ha refill - Refills all chests!"); sender.sendMessage(c + "/ha start - Unfreezes tributes allowing them to fight!"); sender.sendMessage(c + "/ha list - Shows a list of players in the game and their health!"); sender.sendMessage(c + "/ha rlist - See who's ready!"); @@ -808,76 +814,54 @@ public class HaCommands implements CommandExecutor { return false; }else if(args[0].equalsIgnoreCase("List")){ sender.sendMessage(ChatColor.AQUA + "-----People Playing-----"); - for(Player players:plugin.Playing){ + if(!(plugin.Playing.size()== 0)){ + String playernames = plugin.Playing.get(i++); + Player players = plugin.getServer().getPlayerExact(playernames); sender.sendMessage(ChatColor.GREEN + players.getDisplayName() + " Life: " + players.getHealth() + "/20"); - } - if(plugin.Playing.size()== 0){ + }else if(plugin.Playing.size()== 0){ sender.sendMessage(ChatColor.GRAY + "No one is playing!"); } sender.sendMessage(ChatColor.AQUA + "----------------------"); - }else if(args[0].equalsIgnoreCase("SetSpawn")){ - if(sender instanceof ConsoleCommandSender){ - sender.sendMessage(ChatColor.RED + "That can only be run by a player!"); - } - }else if(args[0].equalsIgnoreCase("Join")){ - if(sender instanceof ConsoleCommandSender){ - sender.sendMessage(ChatColor.RED + "That can only be run by a player!"); - } - }else if(args[0].equalsIgnoreCase("Confirm")){ - if(sender instanceof ConsoleCommandSender){ - sender.sendMessage(ChatColor.RED + "That can only be run by a player!"); - } - }else if(args[0].equalsIgnoreCase("Ready")){ - if(sender instanceof ConsoleCommandSender){ - sender.sendMessage(ChatColor.RED + "That can only be run by a player!"); - } - }else if(args[0].equalsIgnoreCase("Leave")){ - if(sender instanceof ConsoleCommandSender){ - sender.sendMessage(ChatColor.RED + "That can only be run by a player!"); - } - }else if(args[0].equalsIgnoreCase("Watch")){ - if(sender instanceof ConsoleCommandSender){ - sender.sendMessage(ChatColor.RED + "That can only be run by a player!"); - } + }else if(args[0].equalsIgnoreCase("SetSpawn") || args[0].equalsIgnoreCase("Join") || args[0].equalsIgnoreCase("Confirm") || args[0].equalsIgnoreCase("Ready") || args[0].equalsIgnoreCase("Leave") || args[0].equalsIgnoreCase("Watch")){ + sender.sendMessage(ChatColor.RED + "That can only be run by a player!"); }else if(args[0].equalsIgnoreCase("Kick")){ Player target = plugin.getServer().getPlayer(args[1]); if(plugin.Playing.contains(target)){ - if(target.isOnline()){ - plugin.Playing.remove(target); - plugin.getServer().broadcastMessage(ChatColor.RED + target.getName() + " was kicked from the game!"); - target.teleport(Spawn); - target.getInventory().clear(); - target.getInventory().setBoots(null); - target.getInventory().setChestplate(null); - target.getInventory().setHelmet(null); - target.getInventory().setLeggings(null); - plugin.Quit.add(target); - if(plugin.Playing.size()== 1 && plugin.canjoin== true){ - for(Player winner:plugin.Playing){ - String winnername = winner.getName(); - plugin.getServer().broadcastMessage(ChatColor.GREEN + winnername + " is the victor of this Hunger Games!"); - winner.getInventory().clear(); - winner.teleport(Spawn); - winner.getInventory().setBoots(null); - winner.getInventory().setChestplate(null); - winner.getInventory().setHelmet(null); - winner.getInventory().setLeggings(null); - winner.getInventory().addItem(plugin.Reward); + plugin.Playing.remove(target.getDisplayName()); + plugin.getServer().broadcastMessage(ChatColor.RED + target.getName() + " was kicked from the game!"); + target.teleport(Spawn); + target.getInventory().clear(); + target.getInventory().setBoots(null); + target.getInventory().setChestplate(null); + target.getInventory().setHelmet(null); + target.getInventory().setLeggings(null); + plugin.Quit.add(target.getDisplayName()); + if(plugin.Playing.size()== 1 && plugin.canjoin== true){ + //Announce winner + String winnername = plugin.Playing.get(i++); + Player winner = plugin.getServer().getPlayerExact(winnername); + String winnername2 = winner.getName(); + plugin.getServer().broadcastMessage(ChatColor.GREEN + winnername2 + " is the victor of this Hunger Games!"); + winner.getInventory().clear(); + winner.teleport(Spawn); + winner.getInventory().setBoots(null); + winner.getInventory().setChestplate(null); + winner.getInventory().setHelmet(null); + winner.getInventory().setLeggings(null); + winner.getInventory().addItem(plugin.Reward); + plugin.Playing.clear(); + //Make spectators visible + if(!plugin.Watching.isEmpty()){ + String s = plugin.Watching.get(i++); + Player spectator = plugin.getServer().getPlayerExact(s); + spectator.setAllowFlight(false); + spectator.teleport(Spawn); + for(Player online:plugin.getServer().getOnlinePlayers()){ + online.showPlayer(spectator); } - plugin.Playing.clear(); - for(Player spectator:plugin.Watching){ - spectator.setAllowFlight(false); - spectator.teleport(Spawn); - for(Player online:plugin.getServer().getOnlinePlayers()){ - online.showPlayer(spectator); - } - } - if(plugin.config.getString("Auto_Restart").equalsIgnoreCase("True")){ - Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "ha restart"); - } - }else{ - plugin.Playing.remove(target); - plugin.Quit.add(target); + } + if(plugin.config.getString("Auto_Restart").equalsIgnoreCase("True")){ + Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "ha restart"); } } }else{ @@ -914,13 +898,9 @@ public class HaCommands implements CommandExecutor { sender.sendMessage(ChatColor.GREEN + "All chests refilled!"); } }else if(args[0].equalsIgnoreCase("Restart")){ - for(Player spectator:plugin.Watching){ - spectator.setAllowFlight(false); - for(Player online:plugin.getServer().getOnlinePlayers()){ - online.showPlayer(spectator); - } - } - for(Player spectator:plugin.Watching){ + if(!plugin.Watching.isEmpty()){ + String s = plugin.Watching.get(i++); + Player spectator = plugin.getServer().getPlayerExact(s); spectator.setAllowFlight(false); spectator.teleport(Spawn); for(Player online:plugin.getServer().getOnlinePlayers()){ @@ -951,7 +931,7 @@ public class HaCommands implements CommandExecutor { if(plugin.Playing.size()>= 2){ plugin.config.getString("Tribute_one_spawn"); String[] onecoords = plugin.config.getString("Tribute_one_spawn").split(","); - Player Tribute_one = plugin.Playing.get(0); + Player Tribute_one = plugin.getServer().getPlayerExact(plugin.Playing.get(0)); double x = Double.parseDouble(onecoords[0]); double y = Double.parseDouble(onecoords[1]); double z = Double.parseDouble(onecoords[2]); @@ -959,11 +939,11 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location oneloc = new Location(w, x, y, z); Tribute_one.teleport(oneloc); - plugin.Frozen.add(Tribute_one); + plugin.Frozen.add(Tribute_one.getDisplayName()); Tribute_one.setFoodLevel(20); plugin.config.getString("Tribute_two_spawn"); String[] twocoords = plugin.config.getString("Tribute_two_spawn").split(","); - Player Tribute_two = plugin.Playing.get(1); + Player Tribute_two = plugin.getServer().getPlayerExact(plugin.Playing.get(1)); double twox = Double.parseDouble(twocoords[0]); double twoy = Double.parseDouble(twocoords[1]); double twoz = Double.parseDouble(twocoords[2]); @@ -971,7 +951,7 @@ public class HaCommands implements CommandExecutor { World twow = plugin.getServer().getWorld(twoworld); Location twoloc = new Location(twow, twox, twoy, twoz); Tribute_two.teleport(twoloc); - plugin.Frozen.add(Tribute_two); + plugin.Frozen.add(Tribute_two.getDisplayName()); Tribute_two.setFoodLevel(20); Tribute_one.getWorld().setTime(0); if(plugin.config.getString("Auto_Start").equalsIgnoreCase("true")){ @@ -981,11 +961,16 @@ public class HaCommands implements CommandExecutor { } }, 20L); } + plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable(){ + public void run(){ + sender.sendMessage(ChatColor.AQUA + "All Tributes warped!"); + } + }, 20L); } if(plugin.Playing.size()>= 3){ plugin.config.getString("Tribute_three_spawn"); String[] coords = plugin.config.getString("Tribute_three_spawn").split(","); - Player Tribute_three = plugin.Playing.get(2); + Player Tribute_three = plugin.getServer().getPlayerExact(plugin.Playing.get(2)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -993,13 +978,13 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_three.teleport(loc); - plugin.Frozen.add(Tribute_three); + plugin.Frozen.add(Tribute_three.getDisplayName()); Tribute_three.setFoodLevel(20); } if(plugin.Playing.size()>= 4){ plugin.config.getString("Tribute_four_spawn"); String[] coords = plugin.config.getString("Tribute_four_spawn").split(","); - Player Tribute_four = plugin.Playing.get(3); + Player Tribute_four = plugin.getServer().getPlayerExact(plugin.Playing.get(3)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -1007,13 +992,13 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_four.teleport(loc); - plugin.Frozen.add(Tribute_four); + plugin.Frozen.add(Tribute_four.getDisplayName()); Tribute_four.setFoodLevel(20); } if(plugin.Playing.size()>= 5){ plugin.config.getString("Tribute_five_spawn"); String[] coords = plugin.config.getString("Tribute_five_spawn").split(","); - Player Tribute_five = plugin.Playing.get(4); + Player Tribute_five = plugin.getServer().getPlayerExact(plugin.Playing.get(4)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -1021,13 +1006,13 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_five.teleport(loc); - plugin.Frozen.add(Tribute_five); + plugin.Frozen.add(Tribute_five.getDisplayName()); Tribute_five.setFoodLevel(20); } if(plugin.Playing.size()>= 6){ plugin.config.getString("Tribute_six_spawn"); String[] coords = plugin.config.getString("Tribute_six_spawn").split(","); - Player Tribute_six = plugin.Playing.get(5); + Player Tribute_six = plugin.getServer().getPlayerExact(plugin.Playing.get(5)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -1035,13 +1020,13 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_six.teleport(loc); - plugin.Frozen.add(Tribute_six); + plugin.Frozen.add(Tribute_six.getDisplayName()); Tribute_six.setFoodLevel(20); } if(plugin.Playing.size()>= 7){ plugin.config.getString("Tribute_seven_spawn"); String[] coords = plugin.config.getString("Tribute_seven_spawn").split(","); - Player Tribute_seven = plugin.Playing.get(6); + Player Tribute_seven = plugin.getServer().getPlayerExact(plugin.Playing.get(6)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -1049,13 +1034,13 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_seven.teleport(loc); - plugin.Frozen.add(Tribute_seven); + plugin.Frozen.add(Tribute_seven.getDisplayName()); Tribute_seven.setFoodLevel(20); } if(plugin.Playing.size()>= 8){ plugin.config.getString("Tribute_eight_spawn"); String[] coords = plugin.config.getString("Tribute_eight_spawn").split(","); - Player Tribute_eight = plugin.Playing.get(7); + Player Tribute_eight = plugin.getServer().getPlayerExact(plugin.Playing.get(7)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -1063,13 +1048,13 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_eight.teleport(loc); - plugin.Frozen.add(Tribute_eight); + plugin.Frozen.add(Tribute_eight.getDisplayName()); Tribute_eight.setFoodLevel(20); } if(plugin.Playing.size()>= 9){ plugin.config.getString("Tribute_nine_spawn"); String[] coords = plugin.config.getString("Tribute_nine_spawn").split(","); - Player Tribute_nine = plugin.Playing.get(8); + Player Tribute_nine = plugin.getServer().getPlayerExact(plugin.Playing.get(8)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -1077,13 +1062,13 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_nine.teleport(loc); - plugin.Frozen.add(Tribute_nine); + plugin.Frozen.add(Tribute_nine.getDisplayName()); Tribute_nine.setFoodLevel(20); } if(plugin.Playing.size()>= 10){ plugin.config.getString("Tribute_ten_spawn"); String[] coords = plugin.config.getString("Tribute_ten_spawn").split(","); - Player Tribute_ten = plugin.Playing.get(9); + Player Tribute_ten = plugin.getServer().getPlayerExact(plugin.Playing.get(9)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -1091,13 +1076,13 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_ten.teleport(loc); - plugin.Frozen.add(Tribute_ten); + plugin.Frozen.add(Tribute_ten.getDisplayName()); Tribute_ten.setFoodLevel(20); } if(plugin.Playing.size()>= 11){ plugin.config.getString("Tribute_eleven_spawn"); String[] coords = plugin.config.getString("Tribute_eleven_spawn").split(","); - Player Tribute_eleven = plugin.Playing.get(10); + Player Tribute_eleven = plugin.getServer().getPlayerExact(plugin.Playing.get(10)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -1105,13 +1090,13 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_eleven.teleport(loc); - plugin.Frozen.add(Tribute_eleven); + plugin.Frozen.add(Tribute_eleven.getDisplayName()); Tribute_eleven.setFoodLevel(20); } if(plugin.Playing.size()>= 12){ plugin.config.getString("Tribute_twelve_spawn"); String[] coords = plugin.config.getString("Tribute_twelve_spawn").split(","); - Player Tribute_twelve = plugin.Playing.get(11); + Player Tribute_twelve = plugin.getServer().getPlayerExact(plugin.Playing.get(11)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -1119,13 +1104,13 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_twelve.teleport(loc); - plugin.Frozen.add(Tribute_twelve); + plugin.Frozen.add(Tribute_twelve.getDisplayName()); Tribute_twelve.setFoodLevel(20); } if(plugin.Playing.size()>= 13){ plugin.config.getString("Tribute_thirteen_spawn"); String[] coords = plugin.config.getString("Tribute_thirteen_spawn").split(","); - Player Tribute_thirteen = plugin.Playing.get(12); + Player Tribute_thirteen = plugin.getServer().getPlayerExact(plugin.Playing.get(12)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -1133,13 +1118,13 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_thirteen.teleport(loc); - plugin.Frozen.add(Tribute_thirteen); + plugin.Frozen.add(Tribute_thirteen.getDisplayName()); Tribute_thirteen.setFoodLevel(20); } if(plugin.Playing.size()>= 14){ plugin.config.getString("Tribute_fourteen_spawn"); String[] coords = plugin.config.getString("Tribute_fourteen_spawn").split(","); - Player Tribute_fourteen = plugin.Playing.get(13); + Player Tribute_fourteen = plugin.getServer().getPlayerExact(plugin.Playing.get(13)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -1147,13 +1132,13 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_fourteen.teleport(loc); - plugin.Frozen.add(Tribute_fourteen); + plugin.Frozen.add(Tribute_fourteen.getDisplayName()); Tribute_fourteen.setFoodLevel(20); } if(plugin.Playing.size()>= 15){ plugin.config.getString("Tribute_fifteen_spawn"); String[] coords = plugin.config.getString("Tribute_fifteen_spawn").split(","); - Player Tribute_fifteen = plugin.Playing.get(14); + Player Tribute_fifteen = plugin.getServer().getPlayerExact(plugin.Playing.get(14)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -1161,13 +1146,13 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_fifteen.teleport(loc); - plugin.Frozen.add(Tribute_fifteen); + plugin.Frozen.add(Tribute_fifteen.getDisplayName()); Tribute_fifteen.setFoodLevel(20); } if(plugin.Playing.size()>= 16){ plugin.config.getString("Tribute_sixteen_spawn"); String[] coords = plugin.config.getString("Tribute_sixteen_spawn").split(","); - Player Tribute_sixteen = plugin.Playing.get(15); + Player Tribute_sixteen = plugin.getServer().getPlayerExact(plugin.Playing.get(15)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -1175,13 +1160,13 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_sixteen.teleport(loc); - plugin.Frozen.add(Tribute_sixteen); + plugin.Frozen.add(Tribute_sixteen.getDisplayName()); Tribute_sixteen.setFoodLevel(20); } if(plugin.Playing.size()>= 17){ plugin.config.getString("Tribute_seventeen_spawn"); String[] coords = plugin.config.getString("Tribute_seventeen_spawn").split(","); - Player Tribute_seventeen = plugin.Playing.get(16); + Player Tribute_seventeen = plugin.getServer().getPlayerExact(plugin.Playing.get(16)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -1189,13 +1174,13 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_seventeen.teleport(loc); - plugin.Frozen.add(Tribute_seventeen); + plugin.Frozen.add(Tribute_seventeen.getDisplayName()); Tribute_seventeen.setFoodLevel(20); } if(plugin.Playing.size()>= 18){ plugin.config.getString("Tribute_eighteen_spawn"); String[] coords = plugin.config.getString("Tribute_eighteen_spawn").split(","); - Player Tribute_eighteen = plugin.Playing.get(17); + Player Tribute_eighteen = plugin.getServer().getPlayerExact(plugin.Playing.get(17)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -1203,13 +1188,13 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_eighteen.teleport(loc); - plugin.Frozen.add(Tribute_eighteen); + plugin.Frozen.add(Tribute_eighteen.getDisplayName()); Tribute_eighteen.setFoodLevel(20); } if(plugin.Playing.size()>= 19){ plugin.config.getString("Tribute_nineteen_spawn"); String[] coords = plugin.config.getString("Tribute_nineteen_spawn").split(","); - Player Tribute_nineteen = plugin.Playing.get(18); + Player Tribute_nineteen = plugin.getServer().getPlayerExact(plugin.Playing.get(18)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -1217,13 +1202,13 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_nineteen.teleport(loc); - plugin.Frozen.add(Tribute_nineteen); + plugin.Frozen.add(Tribute_nineteen.getDisplayName()); Tribute_nineteen.setFoodLevel(20); } if(plugin.Playing.size()>= 20){ plugin.config.getString("Tribute_twenty_spawn"); String[] coords = plugin.config.getString("Tribute_twenty_spawn").split(","); - Player Tribute_twenty = plugin.Playing.get(19); + Player Tribute_twenty = plugin.getServer().getPlayerExact(plugin.Playing.get(19)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -1231,13 +1216,13 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_twenty.teleport(loc); - plugin.Frozen.add(Tribute_twenty); + plugin.Frozen.add(Tribute_twenty.getDisplayName()); Tribute_twenty.setFoodLevel(20); } if(plugin.Playing.size()>= 21){ plugin.config.getString("Tribute_twentyone_spawn"); String[] coords = plugin.config.getString("Tribute_twentyone_spawn").split(","); - Player Tribute_twentyone = plugin.Playing.get(20); + Player Tribute_twentyone = plugin.getServer().getPlayerExact(plugin.Playing.get(20)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -1245,13 +1230,13 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_twentyone.teleport(loc); - plugin.Frozen.add(Tribute_twentyone); + plugin.Frozen.add(Tribute_twentyone.getDisplayName()); Tribute_twentyone.setFoodLevel(20); } if(plugin.Playing.size()>= 22){ plugin.config.getString("Tribute_twentytwo_spawn"); String[] coords = plugin.config.getString("Tribute_twentytwo_spawn").split(","); - Player Tribute_twentytwo = plugin.Playing.get(21); + Player Tribute_twentytwo = plugin.getServer().getPlayerExact(plugin.Playing.get(21)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -1259,13 +1244,13 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_twentytwo.teleport(loc); - plugin.Frozen.add(Tribute_twentytwo); + plugin.Frozen.add(Tribute_twentytwo.getDisplayName()); Tribute_twentytwo.setFoodLevel(20); } if(plugin.Playing.size()>= 23){ plugin.config.getString("Tribute_twentythree_spawn"); String[] coords = plugin.config.getString("Tribute_twentythree_spawn").split(","); - Player Tribute_twentythree = plugin.Playing.get(22); + Player Tribute_twentythree = plugin.getServer().getPlayerExact(plugin.Playing.get(22)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -1273,13 +1258,13 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_twentythree.teleport(loc); - plugin.Frozen.add(Tribute_twentythree); + plugin.Frozen.add(Tribute_twentythree.getDisplayName()); Tribute_twentythree.setFoodLevel(20); } if(plugin.Playing.size()>= 24){ plugin.config.getString("Tribute_twentyfour_spawn"); String[] coords = plugin.config.getString("Tribute_twentyfour_spawn").split(","); - Player Tribute_twentyfour = plugin.Playing.get(23); + Player Tribute_twentyfour = plugin.getServer().getPlayerExact(plugin.Playing.get(23)); double x = Double.parseDouble(coords[0]); double y = Double.parseDouble(coords[1]); double z = Double.parseDouble(coords[2]); @@ -1287,7 +1272,7 @@ public class HaCommands implements CommandExecutor { World w = plugin.getServer().getWorld(world); Location loc = new Location(w, x, y, z); Tribute_twentyfour.teleport(loc); - plugin.Frozen.add(Tribute_twentyfour); + plugin.Frozen.add(Tribute_twentyfour.getDisplayName()); Tribute_twentyfour.setFoodLevel(20); } } diff --git a/src/me/Travja/HungerArena/JoinAndQuitListener.java b/src/me/Travja/HungerArena/JoinAndQuitListener.java index 4479883..533ca31 100644 --- a/src/me/Travja/HungerArena/JoinAndQuitListener.java +++ b/src/me/Travja/HungerArena/JoinAndQuitListener.java @@ -1,5 +1,6 @@ package me.Travja.HungerArena; +import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.Location; import org.bukkit.World; @@ -14,22 +15,26 @@ public class JoinAndQuitListener implements Listener { public JoinAndQuitListener(Main m) { this.plugin = m; } + int i = 0; @EventHandler public void onPlayerJoin(PlayerJoinEvent event){ - Player p = event.getPlayer(); - final Player player = event.getPlayer(); - for(Player spectator:plugin.Watching){ + final Player p = event.getPlayer(); + String pname = p.getDisplayName(); + if(!plugin.Watching.isEmpty()){ + String s = plugin.Watching.get(i++); + Player spectator = plugin.getServer().getPlayerExact(s); p.hidePlayer(spectator); } - if(plugin.Out.contains(p)){ + if(plugin.Out.contains(pname)){ + plugin.Playing.add(pname); plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable(){ public void run(){ - player.sendMessage(ChatColor.AQUA + "You have saved yourself from being ejected from the arena!"); + p.sendMessage(ChatColor.AQUA + "You have saved yourself from being ejected from the arena!"); } }, 40L); plugin.Out.remove(p); } - if(plugin.Quit.contains(p) || plugin.Dead.contains(p)){ + if(plugin.Quit.contains(pname) || plugin.Dead.contains(pname)){ String[] Spawncoords = plugin.config.getString("Spawn_coords").split(","); String w = Spawncoords[3]; World spawnw = plugin.getServer().getWorld(w); @@ -39,8 +44,8 @@ public class JoinAndQuitListener implements Listener { final Location Spawn = new Location(spawnw, spawnx, spawny, spawnz); plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable(){ public void run(){ - player.teleport(Spawn); - player.sendMessage(ChatColor.RED + "You have been teleported to spawn because you quit/forfieted!"); + p.teleport(Spawn); + p.sendMessage(ChatColor.RED + "You have been teleported to spawn because you quit/forfieted!"); } }, 40L); } @@ -48,6 +53,7 @@ public class JoinAndQuitListener implements Listener { @EventHandler public void onPlayerQuit(PlayerQuitEvent event){ final Player p = event.getPlayer(); + final String pname = p.getDisplayName(); String[] Spawncoords = plugin.config.getString("Spawn_coords").split(","); String w = Spawncoords[3]; World spawnw = plugin.getServer().getWorld(w); @@ -55,45 +61,46 @@ public class JoinAndQuitListener implements Listener { double spawny = Double.parseDouble(Spawncoords[1]); double spawnz = Double.parseDouble(Spawncoords[2]); final Location Spawn = new Location(spawnw, spawnx, spawny, spawnz); - if(plugin.Playing.contains(p)){ - plugin.Out.add(p); + if(plugin.Playing.contains(pname)){ + plugin.Out.add(pname); + plugin.Playing.remove(pname); } plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable(){ public void run(){ - if(plugin.Playing.contains(p) && plugin.Out.contains(p)){ + if(plugin.Out.contains(pname)){ if(plugin.canjoin== true){ - plugin.Playing.remove(p); - plugin.Quit.add(p); - plugin.Out.remove(p); + plugin.Quit.add(pname); + plugin.Out.remove(pname); if(plugin.Playing.size()== 1){ - for(Player winner:plugin.Playing){ - String winnername = winner.getName(); - p.getServer().broadcastMessage(ChatColor.GREEN + winnername + " is the victor of this Hunger Games!"); - winner.getInventory().clear(); - winner.getInventory().setBoots(null); - winner.getInventory().setChestplate(null); - winner.getInventory().setHelmet(null); - winner.getInventory().setLeggings(null); - winner.getInventory().addItem(plugin.Reward); - } - for(Player spectator:plugin.Watching){ + //Announce Winner + String winnername = plugin.Playing.get(i++); + Player winner = plugin.getServer().getPlayerExact(winnername); + String winnername2 = winner.getName(); + p.getServer().broadcastMessage(ChatColor.GREEN + winnername2 + " is the victor of this Hunger Games!"); + winner.getInventory().clear(); + winner.getInventory().setBoots(null); + winner.getInventory().setChestplate(null); + winner.getInventory().setHelmet(null); + winner.getInventory().setLeggings(null); + winner.getInventory().addItem(plugin.Reward); + //Make spectators visible + if(!plugin.Watching.isEmpty()){ + String s = plugin.Watching.get(i++); + Player spectator = plugin.getServer().getPlayerExact(s); spectator.setAllowFlight(false); spectator.teleport(Spawn); + for(Player online:plugin.getServer().getOnlinePlayers()){ + online.showPlayer(spectator); + } } if(plugin.config.getString("Auto_Restart").equalsIgnoreCase("True")){ - plugin.Dead.clear(); - plugin.Playing.clear(); - plugin.Quit.clear(); - plugin.Watching.clear(); - plugin.Frozen.clear(); - plugin.canjoin = false; + Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "ha restart"); } } - }else if(plugin.canjoin== false){ - plugin.Playing.remove(p); - plugin.Quit.add(p); - plugin.Out.remove(p); } + }else{ + plugin.Quit.add(pname); + plugin.Out.remove(pname); } } }, 1200L); diff --git a/src/me/Travja/HungerArena/Main.java b/src/me/Travja/HungerArena/Main.java index b739753..6259c62 100644 --- a/src/me/Travja/HungerArena/Main.java +++ b/src/me/Travja/HungerArena/Main.java @@ -2,52 +2,24 @@ package me.Travja.HungerArena; import java.util.ArrayList; import java.util.HashSet; -import java.util.List; import java.util.logging.Logger; -import org.bukkit.Bukkit; -import org.bukkit.ChatColor; -import org.bukkit.Effect; -import org.bukkit.Location; -import org.bukkit.Material; -import org.bukkit.Server; -import org.bukkit.World; -import org.bukkit.block.Block; -import org.bukkit.block.Chest; -import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; import org.bukkit.configuration.file.FileConfiguration; -import org.bukkit.entity.Entity; -import org.bukkit.entity.Player; -import org.bukkit.entity.Projectile; -import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; -import org.bukkit.event.block.Action; -import org.bukkit.event.block.BlockBreakEvent; -import org.bukkit.event.entity.EntityDamageByEntityEvent; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.PlayerChatEvent; -import org.bukkit.event.player.PlayerDropItemEvent; -import org.bukkit.event.player.PlayerInteractEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerMoveEvent; -import org.bukkit.event.player.PlayerPickupItemEvent; -import org.bukkit.event.player.PlayerQuitEvent; -import org.bukkit.event.player.PlayerRespawnEvent; import org.bukkit.inventory.ItemStack; import org.bukkit.plugin.java.JavaPlugin; public class Main extends JavaPlugin{ Logger log; - public ArrayList Playing = new ArrayList(); - public ArrayList Ready = new ArrayList(); - public ArrayList Dead = new ArrayList(); - public ArrayList Quit = new ArrayList(); - public ArrayList Out = new ArrayList(); - public ArrayList Watching = new ArrayList(); - public ArrayList NeedConfirm = new ArrayList(); - public HashSet Frozen = new HashSet(); + public ArrayList Playing = new ArrayList(); + public ArrayList Ready = new ArrayList(); + public ArrayList Dead = new ArrayList(); + public ArrayList Quit = new ArrayList(); + public ArrayList Out = new ArrayList(); + public ArrayList Watching = new ArrayList(); + public ArrayList NeedConfirm = new ArrayList(); + public HashSet Frozen = new HashSet(); public Listener DeathListener = new DeathListener(this); public Listener SpectatorListener = new SpectatorListener(this); public Listener FreezeListener = new FreezeListener(this); @@ -58,6 +30,7 @@ public class Main extends JavaPlugin{ public Listener Blocks = new Blocks(this); public Listener CommandBlock = new CommandBlock(this); public Listener Signs = new Signs(this); + public Listener BlockStorage = new BlockStorage(this); public CommandExecutor HaCommands = new HaCommands(this); public CommandExecutor SponsorCommands = new SponsorCommands(this); public CommandExecutor SpawnsCommand = new SpawnsCommand(this); @@ -82,6 +55,7 @@ public class Main extends JavaPlugin{ getServer().getPluginManager().registerEvents(Blocks, this); getServer().getPluginManager().registerEvents(CommandBlock, this); getServer().getPluginManager().registerEvents(Signs, this); + getServer().getPluginManager().registerEvents(BlockStorage, this); getCommand("Ha").setExecutor(HaCommands); getCommand("Sponsor").setExecutor(SponsorCommands); getCommand("Startpoint").setExecutor(SpawnsCommand); @@ -92,1282 +66,4 @@ public class Main extends JavaPlugin{ log = this.getLogger(); log.info("HungerArena has been Disabled"); } - /*public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){ - Player p = (Player) sender; - String pname = p.getName(); - if(cmd.getName().equalsIgnoreCase("Sponsor")){ - if(!Playing.contains(p)){ - if(args.length== 0){ - p.sendMessage(ChatColor.RED + "You didn't specify a tribute!"); - return false; - } - if(args.length== 1){ - p.sendMessage(ChatColor.RED + "You didn't specify an item!"); - } - if(args.length== 2){ - p.sendMessage(ChatColor.RED + "You didn't specify an amount!"); - } - if(args.length== 3){ - Player target = Bukkit.getPlayer(args[0]); - if(args[1].equalsIgnoreCase("57") || args[1].equalsIgnoreCase("7")){ - p.sendMessage(ChatColor.RED + "You can't sponsor that item!"); - }else{ - int ID = Integer.parseInt(args[1]); - int Amount = Integer.parseInt(args[2]); - ItemStack sponsoritem = new ItemStack(ID, Amount); - if(p.getInventory().contains(Cost)){ - if(!Playing.contains(target)){ - p.sendMessage(ChatColor.RED + "That person isn't playing!"); - }else{ - if(args[0].equalsIgnoreCase(pname)){ - p.sendMessage(ChatColor.RED + "You can't sponsor yourself!"); - }else{ - target.sendMessage(ChatColor.AQUA + "You have been Sponsored!"); - target.getInventory().addItem(sponsoritem); - p.sendMessage("You have sponsored " + target.getName() + "!"); - p.getInventory().removeItem(Cost); - } - } - }else{ - p.sendMessage(ChatColor.RED + "You don't have the necessary items to sponsor!"); - } - } - } - }else{ - p.sendMessage(ChatColor.RED + "You are playing, you can't sponsor yourself!"); - } - } - if(cmd.getName().equalsIgnoreCase("Ha")){ - if(config.getString("Spawns_set").equalsIgnoreCase("false")){ - p.sendMessage(ChatColor.RED + "/ha setspawn hasn't been run!"); - } - if(args.length== 0){ - p.sendMessage(ChatColor.GREEN + "[HungerArena] by " + ChatColor.AQUA + "travja!"); - return false; - } - if(args[0].equalsIgnoreCase("List")){ - if(p.hasPermission("HungerArena.GameMaker")){ - p.sendMessage(ChatColor.AQUA + "-----People Playing-----"); - for(Player players:Playing){ - p.sendMessage(ChatColor.GREEN + players.getDisplayName() + " Life: " + players.getHealth() + "/20"); - } - if(Playing.size()== 0){ - p.sendMessage(ChatColor.GRAY + "No one is playing!"); - } - p.sendMessage(ChatColor.AQUA + "----------------------"); - }else{ - p.sendMessage(ChatColor.RED + "You don't have permission!"); - } - } - if(args[0].equalsIgnoreCase("SetSpawn")){ - if(p.hasPermission("HungerArena.SetSpawn")){ - double x = p.getLocation().getX(); - double y = p.getLocation().getY(); - double z = p.getLocation().getZ(); - String w = p.getWorld().getName(); - config.set("Spawn_coords", x + "," + y + "," + z + "," + w); - saveConfig(); - config.set("Spawns_set", "true"); - p.sendMessage(ChatColor.AQUA + "You have set the spawn for dead tributes!"); - }else{ - p.sendMessage(ChatColor.RED + "You don't have permission!"); - } - } - String[] Spawncoords = config.getString("Spawn_coords").split(","); - double spawnx = Double.parseDouble(Spawncoords[0]); - double spawny = Double.parseDouble(Spawncoords[1]); - double spawnz = Double.parseDouble(Spawncoords[2]); - String spawnworld = Spawncoords[3]; - World spawnw = getServer().getWorld(spawnworld); - Location Spawn = new Location(spawnw, spawnx, spawny, spawnz); - if(args[0].equalsIgnoreCase("Join")){ - if(p.hasPermission("HungerArena.Join")){ - if(Playing.contains(p)){ - p.sendMessage(ChatColor.RED + "You are already playing!"); - }else if(Dead.contains(p) || Quit.contains(p)){ - p.sendMessage(ChatColor.RED + "You DIED/QUIT! You can't join again!"); - }else if(Playing.size()== 24){ - p.sendMessage(ChatColor.RED + "There are already 24 Tributes!"); - }else if(canjoin== true){ - p.sendMessage(ChatColor.RED + "The game is in progress!"); - }else{ - NeedConfirm.add(p); - p.sendMessage(ChatColor.GOLD + "You're inventory will be cleared! Type /ha confirm to procede"); - } - }else{ - p.sendMessage(ChatColor.RED + "You don't have permission!"); - } - } - if(args[0].equalsIgnoreCase("Confirm")){ - if(NeedConfirm.contains(p)){ - Playing.add(p); - NeedConfirm.remove(p); - p.getInventory().clear(); - p.getInventory().setBoots(null); - p.getInventory().setChestplate(null); - p.getInventory().setHelmet(null); - p.getInventory().setLeggings(null); - getServer().broadcastMessage(ChatColor.AQUA + pname + " has Joined the Game!"); - if(Playing.size()== 24){ - p.performCommand("ha warpall"); - } - } - } - if(args[0].equalsIgnoreCase("Ready")){ - if(Playing.contains(p)){ - Ready.add(p); - p.sendMessage(ChatColor.AQUA + "You have marked yourself as READY!"); - if(Playing.size()== Ready.size()){ - p.performCommand("Ha Warpall"); - } - }else if(!Playing.contains(p)){ - p.sendMessage(ChatColor.RED + "You aren't playing!"); - } - } - if(args[0].equalsIgnoreCase("Leave")){ - if(!Playing.contains(p)){ - p.sendMessage(ChatColor.RED + "You aren't playing!"); - }else{ - Playing.remove(p); - Quit.add(p); - p.sendMessage(ChatColor.AQUA + "You have left the game!"); - p.getServer().broadcastMessage(ChatColor.RED + pname + " Quit!"); - p.getInventory().clear(); - p.getInventory().setBoots(null); - p.getInventory().setChestplate(null); - p.getInventory().setHelmet(null); - p.getInventory().setLeggings(null); - p.teleport(Spawn); - if(Frozen.contains(p)){ - Frozen.remove(p); - } - if(Playing.size()== 1 && canjoin== true){ - for(Player winner:Playing){ - String winnername = winner.getName(); - p.getServer().broadcastMessage(ChatColor.GREEN + winnername + " is the victor of this Hunger Games!"); - winner.getInventory().clear(); - winner.getInventory().addItem(Reward); - } - for(Player spectator:Watching){ - spectator.setAllowFlight(false); - } - canjoin= false; - Watching.clear(); - } - } - } - if(args[0].equalsIgnoreCase("Watch")){ - if(p.hasPermission("HungerArena.Watch")){ - if(!Watching.contains(p) && !Playing.contains(p) && canjoin== true){ - Watching.add(p); - for(Player online:getServer().getOnlinePlayers()){ - online.hidePlayer(p); - } - p.setAllowFlight(true); - p.sendMessage(ChatColor.AQUA + "You can now spectate!"); - }else if(canjoin == false){ - p.sendMessage(ChatColor.RED + "The game isn't in progress!"); - }else if(Playing.contains(p)){ - p.sendMessage(ChatColor.RED + "You can't watch while you're playing!"); - }else if(Watching.contains(p)){ - Watching.remove(p); - for(Player online:getServer().getOnlinePlayers()){ - online.showPlayer(p); - } - p.teleport(Spawn); - p.setAllowFlight(false); - p.sendMessage(ChatColor.AQUA + "You are not spectating anymore"); - } - }else{ - p.sendMessage(ChatColor.RED + "You don't have permission!"); - } - } - if(args[0].equalsIgnoreCase("Kick")){ - Player target = getServer().getPlayer(args[1]); - if(p.hasPermission("HungerArena.Kick")){ - if(Playing.contains(target)){ - if(p.isOnline()){ - Playing.remove(target); - getServer().broadcastMessage(ChatColor.RED + target.getName() + " was kicked from the game!"); - target.teleport(Spawn); - target.getInventory().clear(); - target.getInventory().setBoots(null); - target.getInventory().setChestplate(null); - target.getInventory().setHelmet(null); - target.getInventory().setLeggings(null); - Quit.add(target); - if(Playing.size()== 1 && canjoin== true){ - for(Player winner:Playing){ - String winnername = winner.getName(); - p.getServer().broadcastMessage(ChatColor.GREEN + winnername + " is the victor of this Hunger Games!"); - winner.getInventory().clear(); - winner.getInventory().addItem(Reward); - } - for(Player spectator:Watching){ - spectator.setAllowFlight(false); - } - canjoin= false; - Watching.clear(); - }else{ - Playing.remove(target); - Quit.add(target); - } - } - }else{ - p.sendMessage(ChatColor.RED + "That player isn't in the game!"); - } - }else{ - p.sendMessage(ChatColor.RED + "You don't have permission!"); - } - } - if(args[0].equalsIgnoreCase("Refill")){ - int list056; - list056 = 0; - int limit; - limit = getConfig().getStringList("StorageXYZ").size(); - while(limit > list056){ - String xyz2 = getConfig().getStringList("StorageXYZ").get(list056); - int chestx = getConfig().getInt("Storage." + xyz2 + ".Location.X"); - int chesty = getConfig().getInt("Storage." + xyz2 + ".Location.Y"); - int chestz = getConfig().getInt("Storage." + xyz2 + ".Location.Z"); - String chestw = getConfig().getString("Storage." + xyz2 + ".Location.W"); - Block blockatlocation = Bukkit.getWorld(chestw).getBlockAt(chestx, chesty, chestz); - exists = false; - if(blockatlocation.getState() instanceof Chest){ - exists = true; - Chest chest = (Chest) blockatlocation.getState(); - chest.getInventory().clear(); - ItemStack[] itemsinchest = null; - Object o = getConfig().get("Storage." + xyz2 + ".ItemsInStorage"); - if(o instanceof ItemStack[]){ - itemsinchest = (ItemStack[]) o; - }else if(o instanceof List){ - itemsinchest = (ItemStack[]) ((List) o).toArray(new ItemStack[0]); - }else{ - try{ - throw new Exception(); - }catch (Exception e) { - e.printStackTrace(); - } - chest.getInventory().setContents(itemsinchest); - } - } - } - } - if(args[0].equalsIgnoreCase("Restart")){ - if(p.hasPermission("HungerArena.Restart")){ - for(Player spectator:Watching){ - spectator.setAllowFlight(false); - } - Dead.clear(); - Playing.clear(); - Quit.clear(); - Watching.clear(); - Frozen.clear(); - canjoin = false; - p.sendMessage(ChatColor.AQUA + "The games have been reset!"); - }else{ - p.sendMessage(ChatColor.RED + "You don't have permission!"); - } - } - if(args[0].equalsIgnoreCase("Reload")){ - reloadConfig(); - p.sendMessage(ChatColor.AQUA + "HungerArena Reloaded!"); - } - if(args[0].equalsIgnoreCase("WarpAll")){ - if(p.hasPermission("HungerArena.Warpall")){ - if(Playing.size()== 1){ - p.sendMessage(ChatColor.RED + "There are not enough players!"); - } - if(Playing.size()>= 2){ - config.getString("Tribute_one_spawn"); - String[] onecoords = config.getString("Tribute_one_spawn").split(","); - Player Tribute_one = Playing.get(0); - double x = Double.parseDouble(onecoords[0]); - double y = Double.parseDouble(onecoords[1]); - double z = Double.parseDouble(onecoords[2]); - String world = onecoords[3]; - World w = getServer().getWorld(world); - Location oneloc = new Location(w, x, y, z); - Tribute_one.teleport(oneloc); - Frozen.add(Tribute_one); - Tribute_one.setFoodLevel(20); - config.getString("Tribute_two_spawn"); - String[] twocoords = config.getString("Tribute_two_spawn").split(","); - Player Tribute_two = Playing.get(1); - double twox = Double.parseDouble(twocoords[0]); - double twoy = Double.parseDouble(twocoords[1]); - double twoz = Double.parseDouble(twocoords[2]); - String twoworld = twocoords[3]; - World twow = getServer().getWorld(twoworld); - Location twoloc = new Location(twow, twox, twoy, twoz); - Tribute_two.teleport(twoloc); - Frozen.add(Tribute_two); - Tribute_two.setFoodLevel(20); - p.getWorld().setTime(0); - } - if(Playing.size()>= 3){ - config.getString("Tribute_three_spawn"); - String[] coords = config.getString("Tribute_three_spawn").split(","); - Player Tribute_three = Playing.get(2); - double x = Double.parseDouble(coords[0]); - double y = Double.parseDouble(coords[1]); - double z = Double.parseDouble(coords[2]); - String world = coords[3]; - World w = getServer().getWorld(world); - Location loc = new Location(w, x, y, z); - Tribute_three.teleport(loc); - Frozen.add(Tribute_three); - Tribute_three.setFoodLevel(20); - } - if(Playing.size()>= 4){ - config.getString("Tribute_four_spawn"); - String[] coords = config.getString("Tribute_four_spawn").split(","); - Player Tribute_four = Playing.get(3); - double x = Double.parseDouble(coords[0]); - double y = Double.parseDouble(coords[1]); - double z = Double.parseDouble(coords[2]); - String world = coords[3]; - World w = getServer().getWorld(world); - Location loc = new Location(w, x, y, z); - Tribute_four.teleport(loc); - Frozen.add(Tribute_four); - Tribute_four.setFoodLevel(20); - } - if(Playing.size()>= 5){ - config.getString("Tribute_five_spawn"); - String[] coords = config.getString("Tribute_five_spawn").split(","); - Player Tribute_five = Playing.get(4); - double x = Double.parseDouble(coords[0]); - double y = Double.parseDouble(coords[1]); - double z = Double.parseDouble(coords[2]); - String world = coords[3]; - World w = getServer().getWorld(world); - Location loc = new Location(w, x, y, z); - Tribute_five.teleport(loc); - Frozen.add(Tribute_five); - Tribute_five.setFoodLevel(20); - } - if(Playing.size()>= 6){ - config.getString("Tribute_six_spawn"); - String[] coords = config.getString("Tribute_six_spawn").split(","); - Player Tribute_six = Playing.get(5); - double x = Double.parseDouble(coords[0]); - double y = Double.parseDouble(coords[1]); - double z = Double.parseDouble(coords[2]); - String world = coords[3]; - World w = getServer().getWorld(world); - Location loc = new Location(w, x, y, z); - Tribute_six.teleport(loc); - Frozen.add(Tribute_six); - Tribute_six.setFoodLevel(20); - } - if(Playing.size()>= 7){ - config.getString("Tribute_seven_spawn"); - String[] coords = config.getString("Tribute_seven_spawn").split(","); - Player Tribute_seven = Playing.get(6); - double x = Double.parseDouble(coords[0]); - double y = Double.parseDouble(coords[1]); - double z = Double.parseDouble(coords[2]); - String world = coords[3]; - World w = getServer().getWorld(world); - Location loc = new Location(w, x, y, z); - Tribute_seven.teleport(loc); - Frozen.add(Tribute_seven); - Tribute_seven.setFoodLevel(20); - } - if(Playing.size()>= 8){ - config.getString("Tribute_eight_spawn"); - String[] coords = config.getString("Tribute_eight_spawn").split(","); - Player Tribute_eight = Playing.get(7); - double x = Double.parseDouble(coords[0]); - double y = Double.parseDouble(coords[1]); - double z = Double.parseDouble(coords[2]); - String world = coords[3]; - World w = getServer().getWorld(world); - Location loc = new Location(w, x, y, z); - Tribute_eight.teleport(loc); - Frozen.add(Tribute_eight); - Tribute_eight.setFoodLevel(20); - } - if(Playing.size()>= 9){ - config.getString("Tribute_nine_spawn"); - String[] coords = config.getString("Tribute_nine_spawn").split(","); - Player Tribute_nine = Playing.get(8); - double x = Double.parseDouble(coords[0]); - double y = Double.parseDouble(coords[1]); - double z = Double.parseDouble(coords[2]); - String world = coords[3]; - World w = getServer().getWorld(world); - Location loc = new Location(w, x, y, z); - Tribute_nine.teleport(loc); - Frozen.add(Tribute_nine); - Tribute_nine.setFoodLevel(20); - } - if(Playing.size()>= 10){ - config.getString("Tribute_ten_spawn"); - String[] coords = config.getString("Tribute_ten_spawn").split(","); - Player Tribute_ten = Playing.get(9); - double x = Double.parseDouble(coords[0]); - double y = Double.parseDouble(coords[1]); - double z = Double.parseDouble(coords[2]); - String world = coords[3]; - World w = getServer().getWorld(world); - Location loc = new Location(w, x, y, z); - Tribute_ten.teleport(loc); - Frozen.add(Tribute_ten); - Tribute_ten.setFoodLevel(20); - } - if(Playing.size()>= 11){ - config.getString("Tribute_eleven_spawn"); - String[] coords = config.getString("Tribute_eleven_spawn").split(","); - Player Tribute_eleven = Playing.get(10); - double x = Double.parseDouble(coords[0]); - double y = Double.parseDouble(coords[1]); - double z = Double.parseDouble(coords[2]); - String world = coords[3]; - World w = getServer().getWorld(world); - Location loc = new Location(w, x, y, z); - Tribute_eleven.teleport(loc); - Frozen.add(Tribute_eleven); - Tribute_eleven.setFoodLevel(20); - } - if(Playing.size()>= 12){ - config.getString("Tribute_twelve_spawn"); - String[] coords = config.getString("Tribute_twelve_spawn").split(","); - Player Tribute_twelve = Playing.get(11); - double x = Double.parseDouble(coords[0]); - double y = Double.parseDouble(coords[1]); - double z = Double.parseDouble(coords[2]); - String world = coords[3]; - World w = getServer().getWorld(world); - Location loc = new Location(w, x, y, z); - Tribute_twelve.teleport(loc); - Frozen.add(Tribute_twelve); - Tribute_twelve.setFoodLevel(20); - } - if(Playing.size()>= 13){ - config.getString("Tribute_thirteen_spawn"); - String[] coords = config.getString("Tribute_thirteen_spawn").split(","); - Player Tribute_thirteen = Playing.get(12); - double x = Double.parseDouble(coords[0]); - double y = Double.parseDouble(coords[1]); - double z = Double.parseDouble(coords[2]); - String world = coords[3]; - World w = getServer().getWorld(world); - Location loc = new Location(w, x, y, z); - Tribute_thirteen.teleport(loc); - Frozen.add(Tribute_thirteen); - Tribute_thirteen.setFoodLevel(20); - } - if(Playing.size()>= 14){ - config.getString("Tribute_fourteen_spawn"); - String[] coords = config.getString("Tribute_fourteen_spawn").split(","); - Player Tribute_fourteen = Playing.get(13); - double x = Double.parseDouble(coords[0]); - double y = Double.parseDouble(coords[1]); - double z = Double.parseDouble(coords[2]); - String world = coords[3]; - World w = getServer().getWorld(world); - Location loc = new Location(w, x, y, z); - Tribute_fourteen.teleport(loc); - Frozen.add(Tribute_fourteen); - Tribute_fourteen.setFoodLevel(20); - } - if(Playing.size()>= 15){ - config.getString("Tribute_fifteen_spawn"); - String[] coords = config.getString("Tribute_fifteen_spawn").split(","); - Player Tribute_fifteen = Playing.get(14); - double x = Double.parseDouble(coords[0]); - double y = Double.parseDouble(coords[1]); - double z = Double.parseDouble(coords[2]); - String world = coords[3]; - World w = getServer().getWorld(world); - Location loc = new Location(w, x, y, z); - Tribute_fifteen.teleport(loc); - Frozen.add(Tribute_fifteen); - Tribute_fifteen.setFoodLevel(20); - } - if(Playing.size()>= 16){ - config.getString("Tribute_sixteen_spawn"); - String[] coords = config.getString("Tribute_sixteen_spawn").split(","); - Player Tribute_sixteen = Playing.get(15); - double x = Double.parseDouble(coords[0]); - double y = Double.parseDouble(coords[1]); - double z = Double.parseDouble(coords[2]); - String world = coords[3]; - World w = getServer().getWorld(world); - Location loc = new Location(w, x, y, z); - Tribute_sixteen.teleport(loc); - Frozen.add(Tribute_sixteen); - Tribute_sixteen.setFoodLevel(20); - } - if(Playing.size()>= 17){ - config.getString("Tribute_seventeen_spawn"); - String[] coords = config.getString("Tribute_seventeen_spawn").split(","); - Player Tribute_seventeen = Playing.get(16); - double x = Double.parseDouble(coords[0]); - double y = Double.parseDouble(coords[1]); - double z = Double.parseDouble(coords[2]); - String world = coords[3]; - World w = getServer().getWorld(world); - Location loc = new Location(w, x, y, z); - Tribute_seventeen.teleport(loc); - Frozen.add(Tribute_seventeen); - Tribute_seventeen.setFoodLevel(20); - } - if(Playing.size()>= 18){ - config.getString("Tribute_eighteen_spawn"); - String[] coords = config.getString("Tribute_eighteen_spawn").split(","); - Player Tribute_eighteen = Playing.get(17); - double x = Double.parseDouble(coords[0]); - double y = Double.parseDouble(coords[1]); - double z = Double.parseDouble(coords[2]); - String world = coords[3]; - World w = getServer().getWorld(world); - Location loc = new Location(w, x, y, z); - Tribute_eighteen.teleport(loc); - Frozen.add(Tribute_eighteen); - Tribute_eighteen.setFoodLevel(20); - } - if(Playing.size()>= 19){ - config.getString("Tribute_nineteen_spawn"); - String[] coords = config.getString("Tribute_nineteen_spawn").split(","); - Player Tribute_nineteen = Playing.get(18); - double x = Double.parseDouble(coords[0]); - double y = Double.parseDouble(coords[1]); - double z = Double.parseDouble(coords[2]); - String world = coords[3]; - World w = getServer().getWorld(world); - Location loc = new Location(w, x, y, z); - Tribute_nineteen.teleport(loc); - Frozen.add(Tribute_nineteen); - Tribute_nineteen.setFoodLevel(20); - } - if(Playing.size()>= 20){ - config.getString("Tribute_twenty_spawn"); - String[] coords = config.getString("Tribute_twenty_spawn").split(","); - Player Tribute_twenty = Playing.get(19); - double x = Double.parseDouble(coords[0]); - double y = Double.parseDouble(coords[1]); - double z = Double.parseDouble(coords[2]); - String world = coords[3]; - World w = getServer().getWorld(world); - Location loc = new Location(w, x, y, z); - Tribute_twenty.teleport(loc); - Frozen.add(Tribute_twenty); - Tribute_twenty.setFoodLevel(20); - } - if(Playing.size()>= 21){ - config.getString("Tribute_twentyone_spawn"); - String[] coords = config.getString("Tribute_twentyone_spawn").split(","); - Player Tribute_twentyone = Playing.get(20); - double x = Double.parseDouble(coords[0]); - double y = Double.parseDouble(coords[1]); - double z = Double.parseDouble(coords[2]); - String world = coords[3]; - World w = getServer().getWorld(world); - Location loc = new Location(w, x, y, z); - Tribute_twentyone.teleport(loc); - Frozen.add(Tribute_twentyone); - Tribute_twentyone.setFoodLevel(20); - } - if(Playing.size()>= 22){ - config.getString("Tribute_twentytwo_spawn"); - String[] coords = config.getString("Tribute_twentytwo_spawn").split(","); - Player Tribute_twentytwo = Playing.get(21); - double x = Double.parseDouble(coords[0]); - double y = Double.parseDouble(coords[1]); - double z = Double.parseDouble(coords[2]); - String world = coords[3]; - World w = getServer().getWorld(world); - Location loc = new Location(w, x, y, z); - Tribute_twentytwo.teleport(loc); - Frozen.add(Tribute_twentytwo); - Tribute_twentytwo.setFoodLevel(20); - } - if(Playing.size()>= 23){ - config.getString("Tribute_twentythree_spawn"); - String[] coords = config.getString("Tribute_twentythree_spawn").split(","); - Player Tribute_twentythree = Playing.get(22); - double x = Double.parseDouble(coords[0]); - double y = Double.parseDouble(coords[1]); - double z = Double.parseDouble(coords[2]); - String world = coords[3]; - World w = getServer().getWorld(world); - Location loc = new Location(w, x, y, z); - Tribute_twentythree.teleport(loc); - Frozen.add(Tribute_twentythree); - Tribute_twentythree.setFoodLevel(20); - } - if(Playing.size()>= 24){ - config.getString("Tribute_twentyfour_spawn"); - String[] coords = config.getString("Tribute_twentyfour_spawn").split(","); - Player Tribute_twentyfour = Playing.get(23); - double x = Double.parseDouble(coords[0]); - double y = Double.parseDouble(coords[1]); - double z = Double.parseDouble(coords[2]); - String world = coords[3]; - World w = getServer().getWorld(world); - Location loc = new Location(w, x, y, z); - Tribute_twentyfour.teleport(loc); - Frozen.add(Tribute_twentyfour); - Tribute_twentyfour.setFoodLevel(20); - } - } - } - if(args[0].equalsIgnoreCase("Start")){ - String begin = config.getString("Start_Message"); - begin = begin.replaceAll("(&([a-f0-9]))", "\u00A7$2"); - final String msg = begin; - if(p.hasPermission("HungerArena.Start")){ - if(config.getString("Countdown").equalsIgnoreCase("true")){ - getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable(){ - public void run(){ - getServer().broadcastMessage("10"); - } - }, 20L); - getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable(){ - public void run(){ - getServer().broadcastMessage("9"); - } - }, 40L); - getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable(){ - public void run(){ - getServer().broadcastMessage("8"); - } - }, 60L); - getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable(){ - public void run(){ - getServer().broadcastMessage("7"); - } - }, 80L); - getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable(){ - public void run(){ - getServer().broadcastMessage("6"); - } - }, 100L); - getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable(){ - public void run(){ - getServer().broadcastMessage("5"); - } - }, 120L); - getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable(){ - public void run(){ - getServer().broadcastMessage("4"); - } - }, 140L); - getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable(){ - public void run(){ - getServer().broadcastMessage("3"); - } - }, 160L); - getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable(){ - public void run(){ - getServer().broadcastMessage("2"); - } - }, 180L); - getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable(){ - public void run(){ - getServer().broadcastMessage("1"); - } - }, 200L); - getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable(){ - public void run(){ - Frozen.clear(); - getServer().broadcastMessage(msg); - canjoin = true; - } - }, 220L); - }else{ - Frozen.clear(); - p.getServer().broadcastMessage(ChatColor.AQUA + "Let the Games Begin!!"); - canjoin = true; - } - }else{ - p.sendMessage(ChatColor.RED + "You don't have permission!"); - } - } - } - if(cmd.getName().equalsIgnoreCase("StartPoint")){ - if(p.hasPermission("HungerArena.StartPoint")){ - if(args[0].equalsIgnoreCase("1")){ - double x = p.getLocation().getX(); - double y = p.getLocation().getY(); - double z = p.getLocation().getZ(); - String w = p.getWorld().getName(); - config.set("Tribute_one_spawn", x + "," + y + "," + z + "," + w); - saveConfig(); - p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute one!"); - } - if(args[0].equalsIgnoreCase("2")){ - double x = p.getLocation().getX(); - double y = p.getLocation().getY(); - double z = p.getLocation().getZ(); - String w = p.getWorld().getName(); - config.set("Tribute_two_spawn", x + "," + y + "," + z + "," + w); - saveConfig(); - p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute two!"); - } - if(args[0].equalsIgnoreCase("3")){ - double x = p.getLocation().getX(); - double y = p.getLocation().getY(); - double z = p.getLocation().getZ(); - String w = p.getWorld().getName(); - config.set("Tribute_three_spawn", x + "," + y + "," + z + "," + w); - saveConfig(); - p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute three!"); - } - if(args[0].equalsIgnoreCase("4")){ - double x = p.getLocation().getX(); - double y = p.getLocation().getY(); - double z = p.getLocation().getZ(); - String w = p.getWorld().getName(); - config.set("Tribute_four_spawn", x + "," + y + "," + z + "," + w); - saveConfig(); - p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute four!"); - } - if(args[0].equalsIgnoreCase("5")){ - double x = p.getLocation().getX(); - double y = p.getLocation().getY(); - double z = p.getLocation().getZ(); - String w = p.getWorld().getName(); - config.set("Tribute_five_spawn", x + "," + y + "," + z + "," + w); - saveConfig(); - p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute five!"); - } - if(args[0].equalsIgnoreCase("6")){ - double x = p.getLocation().getX(); - double y = p.getLocation().getY(); - double z = p.getLocation().getZ(); - String w = p.getWorld().getName(); - config.set("Tribute_six_spawn", x + "," + y + "," + z + "," + w); - saveConfig(); - p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute six!"); - } - if(args[0].equalsIgnoreCase("7")){ - double x = p.getLocation().getX(); - double y = p.getLocation().getY(); - double z = p.getLocation().getZ(); - String w = p.getWorld().getName(); - config.set("Tribute_seven_spawn", x + "," + y + "," + z + "," + w); - saveConfig(); - p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute seven!"); - } - if(args[0].equalsIgnoreCase("8")){ - double x = p.getLocation().getX(); - double y = p.getLocation().getY(); - double z = p.getLocation().getZ(); - String w = p.getWorld().getName(); - config.set("Tribute_eight_spawn", x + "," + y + "," + z + "," + w); - saveConfig(); - p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute eight!"); - } - if(args[0].equalsIgnoreCase("9")){ - double x = p.getLocation().getX(); - double y = p.getLocation().getY(); - double z = p.getLocation().getZ(); - String w = p.getWorld().getName(); - config.set("Tribute_nine_spawn", x + "," + y + "," + z + "," + w); - saveConfig(); - p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute nine!"); - } - if(args[0].equalsIgnoreCase("10")){ - double x = p.getLocation().getX(); - double y = p.getLocation().getY(); - double z = p.getLocation().getZ(); - String w = p.getWorld().getName(); - config.set("Tribute_ten_spawn", x + "," + y + "," + z + "," + w); - saveConfig(); - p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute ten!"); - } - if(args[0].equalsIgnoreCase("11")){ - double x = p.getLocation().getX(); - double y = p.getLocation().getY(); - double z = p.getLocation().getZ(); - String w = p.getWorld().getName(); - config.set("Tribute_eleven_spawn", x + "," + y + "," + z + "," + w); - saveConfig(); - p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute eleven!"); - } - if(args[0].equalsIgnoreCase("12")){ - double x = p.getLocation().getX(); - double y = p.getLocation().getY(); - double z = p.getLocation().getZ(); - String w = p.getWorld().getName(); - config.set("Tribute_twelve_spawn", x + "," + y + "," + z + "," + w); - saveConfig(); - p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute twelve!"); - } - if(args[0].equalsIgnoreCase("13")){ - double x = p.getLocation().getX(); - double y = p.getLocation().getY(); - double z = p.getLocation().getZ(); - String w = p.getWorld().getName(); - config.set("Tribute_thirteen_spawn", x + "," + y + "," + z + "," + w); - saveConfig(); - p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute thirteen!"); - } - if(args[0].equalsIgnoreCase("14")){ - double x = p.getLocation().getX(); - double y = p.getLocation().getY(); - double z = p.getLocation().getZ(); - String w = p.getWorld().getName(); - config.set("Tribute_fourteen_spawn", x + "," + y + "," + z + "," + w); - saveConfig(); - p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute fourteen!"); - } - if(args[0].equalsIgnoreCase("15")){ - double x = p.getLocation().getX(); - double y = p.getLocation().getY(); - double z = p.getLocation().getZ(); - String w = p.getWorld().getName(); - config.set("Tribute_fifteen_spawn", x + "," + y + "," + z + "," + w); - saveConfig(); - p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute fifteen!"); - } - if(args[0].equalsIgnoreCase("16")){ - double x = p.getLocation().getX(); - double y = p.getLocation().getY(); - double z = p.getLocation().getZ(); - String w = p.getWorld().getName(); - config.set("Tribute_sixteen_spawn", x + "," + y + "," + z + "," + w); - saveConfig(); - p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute sixteen!"); - } - if(args[0].equalsIgnoreCase("17")){ - double x = p.getLocation().getX(); - double y = p.getLocation().getY(); - double z = p.getLocation().getZ(); - String w = p.getWorld().getName(); - config.set("Tribute_seventeen_spawn", x + "," + y + "," + z + "," + w); - saveConfig(); - p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute seventeen!"); - } - if(args[0].equalsIgnoreCase("18")){ - double x = p.getLocation().getX(); - double y = p.getLocation().getY(); - double z = p.getLocation().getZ(); - String w = p.getWorld().getName(); - config.set("Tribute_eighteen_spawn", x + "," + y + "," + z + "," + w); - saveConfig(); - p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute eighteen!"); - } - if(args[0].equalsIgnoreCase("19")){ - double x = p.getLocation().getX(); - double y = p.getLocation().getY(); - double z = p.getLocation().getZ(); - String w = p.getWorld().getName(); - config.set("Tribute_nineteen_spawn", x + "," + y + "," + z + "," + w); - saveConfig(); - p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute nineteen!"); - } - if(args[0].equalsIgnoreCase("20")){ - double x = p.getLocation().getX(); - double y = p.getLocation().getY(); - double z = p.getLocation().getZ(); - String w = p.getWorld().getName(); - config.set("Tribute_twenty_spawn", x + "," + y + "," + z + "," + w); - saveConfig(); - p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute twenty!"); - } - if(args[0].equalsIgnoreCase("21")){ - double x = p.getLocation().getX(); - double y = p.getLocation().getY(); - double z = p.getLocation().getZ(); - String w = p.getWorld().getName(); - config.set("Tribute_twentyone_spawn", x + "," + y + "," + z + "," + w); - saveConfig(); - p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute twentyone!"); - } - if(args[0].equalsIgnoreCase("22")){ - double x = p.getLocation().getX(); - double y = p.getLocation().getY(); - double z = p.getLocation().getZ(); - String w = p.getWorld().getName(); - config.set("Tribute_twentytwo_spawn", x + "," + y + "," + z + "," + w); - saveConfig(); - p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute twentytwo!"); - } - if(args[0].equalsIgnoreCase("23")){ - double x = p.getLocation().getX(); - double y = p.getLocation().getY(); - double z = p.getLocation().getZ(); - String w = p.getWorld().getName(); - config.set("Tribute_twentythree_spawn", x + "," + y + "," + z + "," + w); - saveConfig(); - p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute twentythree!"); - } - if(args[0].equalsIgnoreCase("24")){ - double x = p.getLocation().getX(); - double y = p.getLocation().getY(); - double z = p.getLocation().getZ(); - String w = p.getWorld().getName(); - config.set("Tribute_twentyfour_spawn", x + "," + y + "," + z + "," + w); - saveConfig(); - p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute twentyfour!"); - } - }else{ - p.sendMessage(ChatColor.RED + "You don't have permission!"); - } - } - return true; - } -} -class DeadListener implements Listener{ - public Main plugin; - public DeadListener(Main m){ - this.plugin = m; - } - @EventHandler - public void onPlayerMove(PlayerMoveEvent event){ - Player p = event.getPlayer(); - if(plugin.Frozen.contains(p) && plugin.config.getString("Frozen_Teleport").equalsIgnoreCase("True")){ - event.setCancelled(true); - } - } - @EventHandler - public void onPlayerRespawn(PlayerRespawnEvent event){ - Player p = event.getPlayer(); - if(plugin.Dead.contains(p)){ - String[] Spawncoords = plugin.config.getString("Spawn_coords").split(","); - World spawnw = p.getWorld(); - double spawnx = Double.parseDouble(Spawncoords[0]); - double spawny = Double.parseDouble(Spawncoords[1]); - double spawnz = Double.parseDouble(Spawncoords[2]); - Location Spawn = new Location(spawnw, spawnx, spawny, spawnz); - event.setRespawnLocation(Spawn); - } - } - @EventHandler - public void onPlayerDeath(PlayerDeathEvent event){ - Player p = event.getEntity(); - Server s = p.getServer(); - String pname = p.getName(); - if(plugin.Playing.contains(p)){ - if(plugin.config.getString("Cannon_Death").equalsIgnoreCase("True")){ - p.getWorld().playEffect(p.getLocation(), Effect.ZOMBIE_CHEW_WOODEN_DOOR, 0, 300); - } - plugin.Dead.add(p); - plugin.Playing.remove(p); - String leftmsg = ChatColor.BLUE + "There are now " + plugin.Playing.size() + " tributes left!"; - if(p.getKiller() instanceof Player){ - if(p.getKiller().getItemInHand().getType().getId()== 0){ - Player killer = p.getKiller(); - String killername = killer.getName(); - event.setDeathMessage(""); - s.broadcastMessage(ChatColor.LIGHT_PURPLE + "**BOOM** Tribute " + pname + " was killed by tribute " + killername + " with their FIST!"); - s.broadcastMessage(leftmsg); - if(plugin.Playing.size()== 1){ - for(Player winner:plugin.Playing){ - String winnername = winner.getName(); - s.broadcastMessage(ChatColor.GREEN + winnername + " is the victor of this Hunger Games!"); - winner.getInventory().clear(); - winner.getInventory().setBoots(null); - winner.getInventory().setChestplate(null); - winner.getInventory().setHelmet(null); - winner.getInventory().setLeggings(null); - winner.getInventory().addItem(plugin.Reward); - } - for(Player spectator:plugin.Watching){ - spectator.setAllowFlight(false); - } - if(plugin.config.getString("Auto_Restart").equalsIgnoreCase("True")){ - plugin.Dead.clear(); - plugin.Playing.clear(); - plugin.Quit.clear(); - plugin.Watching.clear(); - plugin.Frozen.clear(); - plugin.canjoin = false; - } - } - }else{ - Player killer = p.getKiller(); - String killername = killer.getName(); - Material weapon = killer.getItemInHand().getType(); - String msg = ChatColor.LIGHT_PURPLE + "**BOOM** Tribute " + pname + " was killed by tribute " + killername + " with a(n) " + weapon; - event.setDeathMessage(""); - s.broadcastMessage(msg); - s.broadcastMessage(leftmsg); - if(plugin.Playing.size()== 1){ - for(Player winner:plugin.Playing){ - String winnername = winner.getName(); - s.broadcastMessage(ChatColor.GREEN + winnername + " is the victor of this Hunger Games!"); - winner.getInventory().clear(); - winner.getInventory().setBoots(null); - winner.getInventory().setChestplate(null); - winner.getInventory().setHelmet(null); - winner.getInventory().setLeggings(null); - winner.getInventory().addItem(plugin.Reward); - } - for(Player spectator:plugin.Watching){ - spectator.setAllowFlight(false); - } - if(plugin.config.getString("Auto_Restart").equalsIgnoreCase("True")){ - plugin.Dead.clear(); - plugin.Playing.clear(); - plugin.Quit.clear(); - plugin.Watching.clear(); - plugin.Frozen.clear(); - plugin.canjoin = false; - } - } - } - }else{ - event.setDeathMessage(""); - s.broadcastMessage(ChatColor.LIGHT_PURPLE + pname + " died of natural causes!"); - s.broadcastMessage(leftmsg); - if(plugin.Playing.size()== 1){ - for(Player winner:plugin.Playing){ - String winnername = winner.getName(); - s.broadcastMessage(ChatColor.GREEN + winnername + " is the victor of this Hunger Games!"); - winner.getInventory().clear(); - winner.getInventory().setBoots(null); - winner.getInventory().setChestplate(null); - winner.getInventory().setHelmet(null); - winner.getInventory().setLeggings(null); - winner.getInventory().addItem(plugin.Reward); - } - for(Player spectator:plugin.Watching){ - spectator.setAllowFlight(false); - } - if(plugin.config.getString("Auto_Restart").equalsIgnoreCase("True")){ - plugin.Dead.clear(); - plugin.Playing.clear(); - plugin.Quit.clear(); - plugin.Watching.clear(); - plugin.Frozen.clear(); - plugin.canjoin = false; - } - } - } - } - if(plugin.Watching.contains(p)){ - for(Player online:plugin.getServer().getOnlinePlayers()) - online.showPlayer(p); - } - } - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event){ - Player p = event.getPlayer(); - final Player player = event.getPlayer(); - if(plugin.Watching.contains(p)){ - p.setAllowFlight(true); - p.setFlying(true); - for(Player everyone:plugin.getServer().getOnlinePlayers()){ - everyone.hidePlayer(p); - } - } - if(plugin.Out.contains(p)){ - plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable(){ - public void run(){ - player.sendMessage(ChatColor.AQUA + "You have saved yourself from being ejected from the arena!"); - } - }, 40L); - plugin.Out.remove(p); - } - if(plugin.Quit.contains(p) || plugin.Dead.contains(p)){ - String[] Spawncoords = plugin.config.getString("Spawn_coords").split(","); - String w = Spawncoords[3]; - World spawnw = plugin.getServer().getWorld(w); - double spawnx = Double.parseDouble(Spawncoords[0]); - double spawny = Double.parseDouble(Spawncoords[1]); - double spawnz = Double.parseDouble(Spawncoords[2]); - final Location Spawn = new Location(spawnw, spawnx, spawny, spawnz); - plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable(){ - public void run(){ - player.teleport(Spawn); - player.sendMessage(ChatColor.RED + "You have been teleported to spawn because you quit/forfieted!"); - } - }, 40L); - } - } - @EventHandler - public void onPlayerQuit(PlayerQuitEvent event){ - final Player p = event.getPlayer(); - String[] Spawncoords = plugin.config.getString("Spawn_coords").split(","); - String w = Spawncoords[3]; - World spawnw = plugin.getServer().getWorld(w); - double spawnx = Double.parseDouble(Spawncoords[0]); - double spawny = Double.parseDouble(Spawncoords[1]); - double spawnz = Double.parseDouble(Spawncoords[2]); - final Location Spawn = new Location(spawnw, spawnx, spawny, spawnz); - if(plugin.Playing.contains(p)){ - if(plugin.Playing.size()== 1){ - - } - plugin.Out.add(p); - } - if(plugin.Watching.contains(p)){ - System.out.println(p.getName() + " testing"); - } - plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable(){ - public void run(){ - if(plugin.Playing.contains(p) && plugin.Out.contains(p)){ - if(plugin.canjoin== true){ - plugin.Playing.remove(p); - plugin.Quit.add(p); - plugin.Out.remove(p); - if(plugin.Playing.size()== 1){ - for(Player winner:plugin.Playing){ - String winnername = winner.getName(); - p.getServer().broadcastMessage(ChatColor.GREEN + winnername + " is the victor of this Hunger Games!"); - winner.getInventory().clear(); - winner.getInventory().setBoots(null); - winner.getInventory().setChestplate(null); - winner.getInventory().setHelmet(null); - winner.getInventory().setLeggings(null); - winner.getInventory().addItem(plugin.Reward); - } - for(Player spectator:plugin.Watching){ - spectator.setAllowFlight(false); - spectator.teleport(Spawn); - } - if(plugin.config.getString("Auto_Restart").equalsIgnoreCase("True")){ - plugin.Dead.clear(); - plugin.Playing.clear(); - plugin.Quit.clear(); - plugin.Watching.clear(); - plugin.Frozen.clear(); - plugin.canjoin = false; - } - } - }else if(plugin.canjoin== false){ - plugin.Playing.remove(p); - plugin.Quit.add(p); - plugin.Out.remove(p); - } - } - } - }, 1200L); - } - @EventHandler - public void BreakBlock(BlockBreakEvent event){ - Player p = event.getPlayer(); - if(plugin.Playing.contains(p)){ - if(plugin.config.getString("Protected_Arena").equalsIgnoreCase("True")){ - event.setCancelled(true); - p.sendMessage(ChatColor.RED + "You can't break blocks when you're playing!"); - } - } - if(plugin.Watching.contains(p)){ - event.setCancelled(true); - p.sendMessage(ChatColor.RED + "You are spectating, you can't interfere with the game!"); - } - } - @EventHandler - public void TributeChat(PlayerChatEvent event){ - Player p = event.getPlayer(); - if(plugin.Playing.contains(p)){ - String msg = "<" + ChatColor.RED + "[Tribute] " + ChatColor.WHITE + p.getName() + ">" + " " + event.getMessage(); - if(plugin.config.getString("ChatClose").equalsIgnoreCase("True")){ - double radius = plugin.config.getDouble("ChatClose_Radius"); - List near = p.getNearbyEntities(radius, radius, radius); - event.setCancelled(true); - if(near.size()== 0){ - p.sendMessage(msg); - p.sendMessage(ChatColor.YELLOW + "No one near!"); - }else if(!(near.size()== 0)){ - for(Entity en:near){ - if(!(en instanceof Player)){ - p.sendMessage(msg); - p.sendMessage(ChatColor.YELLOW + "No one near!"); - } - } - }else{ - for(Entity e:near){ - if(e instanceof Player){ - ((Player) e).sendMessage(msg); - } - } - } - }else{ - plugin.getServer().broadcastMessage(msg); - } - } - } - @EventHandler - public void PvP(EntityDamageByEntityEvent event){ - Entity p = event.getEntity(); - Entity offense = event.getDamager(); - if(p instanceof Player){ - if(plugin.Playing.contains(p) && plugin.canjoin== false){ - event.setCancelled(true); - } - } - if(offense instanceof Player){ - Player Attacker = (Player) event.getDamager(); - if(plugin.Watching.contains(Attacker)){ - event.setCancelled(true); - Attacker.sendMessage(ChatColor.RED + "You are spectating, you can't interfere with the game!"); - } - }else if(event.getDamager() instanceof Projectile){ - Projectile arrow = (Projectile) offense; - if(arrow.getShooter() instanceof Player){ - Player BowMan = (Player) arrow.getShooter(); - if(plugin.Watching.contains(BowMan)){ - event.setCancelled(true); - BowMan.sendMessage(ChatColor.RED + "You are spectating, you can't interfere with the game!"); - } - } - } - } - @EventHandler - public void SpectatorDrops(PlayerDropItemEvent event){ - Player p = event.getPlayer(); - if(plugin.Watching.contains(p)){ - event.setCancelled(true); - p.sendMessage(ChatColor.RED + "You are spectating, you can't interfere with the game!"); - } - } - @EventHandler - public void SpectatorInteractions(PlayerInteractEvent event){ - Player p = event.getPlayer(); - if(plugin.Watching.contains(p)){ - event.setCancelled(true); - p.sendMessage(ChatColor.RED + "You are spectating, you can't interfere with the game!"); - } - } - @EventHandler - public void SpectatorItems(PlayerPickupItemEvent event){ - Player p = event.getPlayer(); - if(plugin.Watching.contains(p)){ - event.setCancelled(true); - p.sendMessage(ChatColor.RED + "You are spectating, you can't interfere with the game!"); - } - } - @EventHandler - public void ChestSaves(PlayerInteractEvent event){ - Block block = event.getClickedBlock(); - Player p = event.getPlayer(); - //currently crashes the server when refilling.... - //Kinda glitchy through all here... - if(p.getItemInHand().getType()== Material.BLAZE_ROD && event.getAction() == Action.LEFT_CLICK_BLOCK){ - if(block.getState() instanceof Chest){ - ItemStack[] itemsinchest = ((Chest) block.getState()).getInventory().getContents(); - int blockx = block.getX(); - int blocky = block.getY(); - int blockz = block.getZ(); - String blockw = block.getWorld().getName().toString(); - if(!plugin.getConfig().contains("Storage." + blockx + "," + blocky + "," + blockz + ".Location.X")){ - plugin.getConfig().addDefault("Storage." + blockx + "," + blocky + "," + blockz + ".Location.X", blockx); - plugin.getConfig().addDefault("Storage." + blockx + "," + blocky + "," + blockz + ".Location.Y", blocky); - plugin.getConfig().addDefault("Storage." + blockx + "," + blocky + "," + blockz + ".Location.Z",blockz); - plugin.getConfig().addDefault("Storage." + blockx + "," + blocky + "," + blockz + ".Location.W", blockw); - plugin.getConfig().addDefault("Storage." + blockx + "," + blocky + "," + blockz + ".ItemsInStorage", itemsinchest); - }else{ - plugin.getConfig().set("Storage." + blockx + "," + blocky+ "," + blockz + ".Location.X",blockx); - plugin.getConfig().set("Storage." + blockx + "," + blocky + "," + blockz + ".Location.Y", blocky); - plugin.getConfig().set("Storage." + blockx + "," + blocky + "," + blockz + ".Location.Z", blockz); - plugin.getConfig().set("Storage." + blockx + "," + blocky + "," + blockz + ".Location.W", blockw); - plugin.getConfig().set("Storage." + blockx + "," + blocky + "," + blockz + ".ItemsInStorage", itemsinchest); - } - List list2 = plugin.getConfig().getStringList("StorageXYZ"); - list2.add(blockx + "," + blocky + "," + blockz); - plugin.getConfig().set("StorageXYZ", list2); - plugin.getConfig().options().copyDefaults(true); - plugin.saveConfig(); - } - } - }*/ } diff --git a/src/me/Travja/HungerArena/SpectatorListener.java b/src/me/Travja/HungerArena/SpectatorListener.java index 679b30e..3d2dc7f 100644 --- a/src/me/Travja/HungerArena/SpectatorListener.java +++ b/src/me/Travja/HungerArena/SpectatorListener.java @@ -15,7 +15,6 @@ import org.bukkit.event.player.PlayerDropItemEvent; import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerPickupItemEvent; -import org.bukkit.event.player.PlayerQuitEvent; public class SpectatorListener implements Listener { public Main plugin; @@ -87,7 +86,6 @@ public class SpectatorListener implements Listener { double spawny = Double.parseDouble(Spawncoords[1]); double spawnz = Double.parseDouble(Spawncoords[2]); final Location Spawn = new Location(spawnw, spawnx, spawny, spawnz); - plugin.Watching.remove(p); for(Player everyone:plugin.getServer().getOnlinePlayers()){ everyone.showPlayer(p); } @@ -97,6 +95,7 @@ public class SpectatorListener implements Listener { player.sendMessage(ChatColor.RED + "You have been teleported to spawn because the game is over!"); } }, 40L); + plugin.Watching.remove(p); }else{ p.setAllowFlight(true); p.setFlying(true); @@ -107,13 +106,6 @@ public class SpectatorListener implements Listener { } } @EventHandler - public void SpectatorQuit(PlayerQuitEvent event){ - Player p = event.getPlayer(); - if(plugin.Watching.contains(p)){ - System.out.println(p.getName() + " quit while spectating!"); - } - } - @EventHandler public void MobNerf(EntityTargetEvent event){ Entity target = event.getTarget(); if(target instanceof Player){