From 14bb7ddf3869bf36d30dece1dc15e0c6783e25e7 Mon Sep 17 00:00:00 2001 From: Travis Eggett Date: Sat, 26 May 2012 23:38:59 -0600 Subject: [PATCH] Separated into multiple classes --- bin/me/Travja/HungerArena/Blocks.class | Bin 0 -> 1819 bytes bin/me/Travja/HungerArena/ChatListener.class | Bin 0 -> 3080 bytes bin/me/Travja/HungerArena/Chests.class | Bin 0 -> 4171 bytes bin/me/Travja/HungerArena/DeathListener.class | Bin 16123 -> 6814 bytes .../Travja/HungerArena/FreezeListener.class | Bin 0 -> 1441 bytes bin/me/Travja/HungerArena/HaCommands.class | Bin 0 -> 20235 bytes .../HungerArena/JoinAndQuitListener$1.class | Bin 0 -> 1261 bytes .../HungerArena/JoinAndQuitListener$2.class | Bin 0 -> 1409 bytes .../HungerArena/JoinAndQuitListener$3.class | Bin 0 -> 3516 bytes .../HungerArena/JoinAndQuitListener.class | Bin 0 -> 3448 bytes bin/me/Travja/HungerArena/Main.class | Bin 31260 -> 13001 bytes bin/me/Travja/HungerArena/PvP.class | Bin 0 -> 1202 bytes .../HungerArena/SpectatorListener$1.class | Bin 0 -> 1396 bytes .../HungerArena/SpectatorListener.class | Bin 0 -> 6204 bytes src/me/Travja/HungerArena/Blocks.java | 24 + src/me/Travja/HungerArena/ChatListener.java | 48 ++ src/me/Travja/HungerArena/Chests.java | 54 ++ src/me/Travja/HungerArena/DeathListener.java | 143 ++++ src/me/Travja/HungerArena/FreezeListener.java | 20 + src/me/Travja/HungerArena/HaCommands.java | 626 ++++++++++++++++++ .../HungerArena/JoinAndQuitListener.java | 98 +++ src/me/Travja/HungerArena/Main.java | 36 +- src/me/Travja/HungerArena/PvP.java | 23 + .../Travja/HungerArena/SpectatorListener.java | 115 ++++ 24 files changed, 1175 insertions(+), 12 deletions(-) create mode 100644 bin/me/Travja/HungerArena/Blocks.class create mode 100644 bin/me/Travja/HungerArena/ChatListener.class create mode 100644 bin/me/Travja/HungerArena/Chests.class create mode 100644 bin/me/Travja/HungerArena/FreezeListener.class create mode 100644 bin/me/Travja/HungerArena/HaCommands.class create mode 100644 bin/me/Travja/HungerArena/JoinAndQuitListener$1.class create mode 100644 bin/me/Travja/HungerArena/JoinAndQuitListener$2.class create mode 100644 bin/me/Travja/HungerArena/JoinAndQuitListener$3.class create mode 100644 bin/me/Travja/HungerArena/JoinAndQuitListener.class create mode 100644 bin/me/Travja/HungerArena/PvP.class create mode 100644 bin/me/Travja/HungerArena/SpectatorListener$1.class create mode 100644 bin/me/Travja/HungerArena/SpectatorListener.class create mode 100644 src/me/Travja/HungerArena/Blocks.java create mode 100644 src/me/Travja/HungerArena/ChatListener.java create mode 100644 src/me/Travja/HungerArena/Chests.java create mode 100644 src/me/Travja/HungerArena/DeathListener.java create mode 100644 src/me/Travja/HungerArena/FreezeListener.java create mode 100644 src/me/Travja/HungerArena/HaCommands.java create mode 100644 src/me/Travja/HungerArena/JoinAndQuitListener.java create mode 100644 src/me/Travja/HungerArena/PvP.java create mode 100644 src/me/Travja/HungerArena/SpectatorListener.java diff --git a/bin/me/Travja/HungerArena/Blocks.class b/bin/me/Travja/HungerArena/Blocks.class new file mode 100644 index 0000000000000000000000000000000000000000..2fb165f9389738a0ee209c321b6af38e4165132f GIT binary patch literal 1819 zcma)6YgZdp6x}xjhJ>NCq0oX@Qmc><+OhRfHMI)ik!sQ+U=)1Ro8%IP40qz48C?97 z{sX`2s_9bK@(1)cb-6ruCbUBV7awMlbLZT%_u1$1{NKO+0dNN`0||zyePL}Xez3=_ zav)nmEhr(mwdlBwwr3#8aB+_xaLeJcWj(6ziH2`rfMLQ_Evp{1+qQ3s10j8@Vtc-j zLNN?wwiFM8{kl+_yzU5wOvP<*r^c17?cQP1-?cr4YiHm^X%jWJ&yZeJg15sXhC;4# zBICLiDUvF5UDi4jHQkBzK>GH+sM(%P;0sc^KKE@`687}TK;gwQmrX~gVj6GYO#@R5 zGv`AzaShW9sh0599Db-PFqO+6Lm@K$p%r~Crf?lM47|lKd3JeByp4Al41LFzErzj5 z*av}cJJy0y{7~1M$j%~fAjdFz%4ZXEC@>5*TOZFIEdTS2y4pqsY^xkaoEafyoV1Ayw708M$%WkTGTDFK!4ct36Mv<3^`}mB`#m@nEyaz4m zDpBGdb?z~dj!?FBUo4ndM2W%lgkR#aAsk0E2`aapuNhcoxbkXPql=4y?KFi-V+q44 zl<|du2Mm{EQj~VNUveE+nfMYFnymHZC5G|1`Y&Cm-b;9B;t|%UQoPdv zS^@pxR%AH$-k_z^p^=R1ehi(q((s1Q8|^CZ^tM@g!wpnJ=t&@2(ek>bGoyK;LekSu z4^1%!Y2_#AUkYh@50SM(c7lG>bI)MT75>1;Z=ug6dS9TsAg?6!wjD->tntVjqqs~K z-NP6~)zQasg}z;-vjMUu=vT-8m15{9|HjhRGpziM)h?=;ue#XiqV^}Y6VUAXpxI3l4seljyF_dK$Zy%jNl4`2xO7KB*7#G2_klq%g`{>9eR2q5f@x= z!4>!5j!WEG3WthTSy+}YzF9u$lMnt0waWP2?in&66Q!o6yYKCL&iT&yzH@K?^v^fn z0a%Cg8Ug}K(lXZJ82ty0*tV>dl+G4MT1KqyfZ-<0j4LhaXb1{SJ81M9v6NvYW3Al> zWsj?&T%g)^lCkdWp+lw{ll{_iV+A9D^1f6yX<7pF6QyG`8>SWKx{an~x|;+RMgD7H zZKpu6&hC|Alwq=t3QQ3wi_~^jfar8+2nkG0n3inGrn{xnVRWaYKvlx-F;bm|W2$j} zGUy&KGXhH|h*z9E0gALhWrt&SXI-gY2}C1_af$b(i~;Gyc6v9ptU=Wyu3%TUWi8iC z%T6<662unEvR%V9ZHpKdjrZgkZZoXjlyu@@%)+O@5zqoERw*rwrj zfjLDPQgx&3>S)4t@8GSbzYkDgc`;uTR+$jGxxsWeSw`>0ehn;E(Wd7c>PX@M z=jGw7k;*hBE!&ZGMutnrD7g@&D};kweL1gvZAPz|&8YNJI?~|gsM@sN&U$-QNgwr! zRd9a;1X=o#tO8CH)>r6dI$jC9p@ zR^kZm*DxS3WwcY3rH-R`fQvHb{Y;A+Y?A`;kdB8{t5s&$14V+EtW^1^j>nWL%Xc>< z60N&JIL??Yc8zVx8jENbt6)#+cnVKbI;JZr2AkQ;E@;t%-ISk?SK=8wr{P&{-lNb8 zZ*@G67YNUiN4OD>RkMFE#WkEP*%4mJ29)=gb-aRC*%k+kOpE7;d3J@V<=1t*fx*0h zq|+}6bJp11v)!8}$~W=0hPOyckw*QOI^My%B);3Rjouz3Q)r`0mJE?L!CDI9ZKNizqp40q=qZ$$jNJ_L+48NA@ zaHL4MdlsLu1AT>aHhP7}jU~|LJ#C_|$?dMubEw(q%OBI>c023zNVQ$C%BqVBUl(hX zFi013#7{)Hm|&ZsTWWa&0+bV*z_%; zyQ|h*#C7L!eGcoZZq4Dg^VrJA=r9@tIIP;CF3r5qzLmEe+FE=scUJArVNaEjL(d@o zD9o8T99kcY&IzjDFl-GQ%2x$*$W)gP<352?h(uQp#IY$ISj!7hB2FcjL@jg(}%z6 zE3P`jnd7J!;X}Cwp<$keMh(4X8aGCaD3Ohu*0@jM#u0idX;L|n$-)sTvV_T>2>gY~ Lgmso+0yy_C_Ff|5 literal 0 HcmV?d00001 diff --git a/bin/me/Travja/HungerArena/Chests.class b/bin/me/Travja/HungerArena/Chests.class new file mode 100644 index 0000000000000000000000000000000000000000..06eec5b44c94e7f417e0832945bfec023ae6781f GIT binary patch literal 4171 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 BA6x(c literal 16123 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 literal 0 HcmV?d00001 diff --git a/bin/me/Travja/HungerArena/HaCommands.class b/bin/me/Travja/HungerArena/HaCommands.class new file mode 100644 index 0000000000000000000000000000000000000000..351b961961e6213067a68518e93510ee42f4afbc GIT binary patch literal 20235 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 literal 0 HcmV?d00001 diff --git a/bin/me/Travja/HungerArena/JoinAndQuitListener$2.class b/bin/me/Travja/HungerArena/JoinAndQuitListener$2.class new file mode 100644 index 0000000000000000000000000000000000000000..d3a91f18b45e312ccac7a1f3fc60747f7e4c0cb6 GIT binary patch literal 1409 zcmb7EiB1zy6g{u4EtCOjWvRFoEz%asXx%NSP>M^63lIz@#=N$VGBCWUv()fe8kV4m zAK*tB?`sPbMT3*fyzSh3?!E7x`SJ7XcK}&D4Z+7Swkh-_o7dO5{>+nAVNcsaa{Yy6 z$Z1)5;~8$za9kmUoydj|V2G^qI@e7utNN?bx+uFL1R0`7y9=I_ykrW7pu1)`i5o;x zJT*&>AzbHXqGs|fVKWRBExW3hyp0XR)rE8ocT0cWI3r}ILN3<$C&|#?4lG(_?i!XP zOmNbWhWm)&eeyq|Xm@s;wf*FfCbi5E$XgZB35K&8Lg-Mla~e7kRlrn#6t9!{E_nFS@oNt23TqR)if!0)w4MA{|1Cp|6cEzsB9X zWm>j|F^p4W3x!#Rfp(TdNKW~g(4d1_C&+6xAuE)7vUo(>?7Up6ZR=PhxejC*rdBL3 zzQ*e!UJ^pa57HBrxNF57)i!ic=AI+sTZH^b&91Ln_NpOVQ5jZI+*VQC`Hj5E^bc}n zc~8TAJWxfons};5^3Qm4>Uwe-CNag(KKArGgdI zc22do_FU4RBX4rY5f0)c1V6oJ;EzO4m=-bC- zAKt3fHzZc}aQzELcae$S+{LY3+}+1RAC8E6$Q&4@@RArus*NnuBJ<-BA$)j@Co~2y PjXdUP7N!7HQ1tu)K@xE} literal 0 HcmV?d00001 diff --git a/bin/me/Travja/HungerArena/JoinAndQuitListener$3.class b/bin/me/Travja/HungerArena/JoinAndQuitListener$3.class new file mode 100644 index 0000000000000000000000000000000000000000..597e87098fd559a6bcbae679cb9c69fa7129c76a GIT binary patch literal 3516 zcmb7G`*&Pb75+{p&CTN!;?UCauml@mk~Rz&MQNatq)8J@rZfp@n^N&)ayoO9n|p_Q z?`kgzI$(=>IC|N6W&)H|c z&feeNXTSEp7hVSNUi{5MgTRhOou2a5(!5HK6y2Qm`+e=I^zEMQ_PcZYi*`6>2cdSg z-`Q)SQJ{TZEvdAl++2F!?7Yr~7McW-Yt)IN>#A8t3p9m!JLtTDM#e7KN}s@nCFOJ$ z1TG)*{9JmrxUgV{Y3+t~cr1N~qmF5xOf80KvY?h-fz5HoF)yn^+jGg&bc^lU;ckH= zsdwN&Tv@%<_({!7*R(+6pf{&mAn+~;3(aPAi9`!p&1$nm8)PdI*dnnJTLls+BXseY z?dnW%aaQ|Nm3SqMQfFHEw%J#SjV6c!Jr{n1&R*U<;TPQ&T!pJGbO>}^aQr3SgY67m z!71i!#`end*d154+t-3?aGix~nXB~;7%qtvx&$nfI@`^ebVXn(hPIRL_kDHDAgr$y zJJ4fcCquW+vBdRA3p8gvH>6GmWOJ&bCWgemt{LOejgsi5#l*g1X!h@uct38U2U+FL z6W0P_##sBH#LY%&ldl)OCFbuM^hw-eL>mq84bN_g4;h|>nwvBGeu)7Lk|D5<6XDF{ zs38wY3}Y|-vqSBx(DMZ@O?AcYIa;OnwP6$=ws8Au$wX0DJ(U>4IF-Bl-cVrEs)qO# zE$kE6dcMMFLk9aLCNRnC=5&}*i}bQy(PZc|4Rj=fJ0+%ZfW<`CN$oFb`n{P}W9lp9 zJ`0BgwyYI-Mae+XcILF-ii6nFg1hh$3rA=!CO()~;h^VuzQo=5C~JG~#L!TN(TUrr zF%bj@F)NY99Mhr-1?_UtvtFiS$*=PzQgPI%Akyk2tM{&EC5maiWHW4m&JH{12=lsQ z$<8v59o|vyNUAi)j=cL?4uR$cS#F z=wMz4VZl+MHYcBw__R4`;mL@07IkQ-4@-R3P}@iy(>XStTwvkz0^8R0yk^dn>=z{- z!J~xBgkDxY;nMMTJ{pUUNj#1(vq)IiMxDS-sl#t47%%7%739ZNA*$ymB%Z`qsVuL8 zOjNq;3sEcjn#4)dPnr*?Fq`MKOk$ss_&UBJa1n3Y?>OG_uw&=)EcnLMjEP?c-;{U; z-!j_=T;^o z^KJ?3tOJWSy(7&Mj#XMpyk8D^p{ zM;T6!4gBATi^z2`R|DKP^1G>f#|qlJcdj7W-Lt~&SzP*D#C;imTO%nWu?v@TFDXqK zT!Ab36?iwcR`fNzPTSPiV0E8C`x$IIgHEoJC3K$@Z`5cv)M)>%(Rxpc$7`Fa&<76G zD7z{mx2{pDN@6^nCEV8djCiCbM8cl&(|BTM86yI(ATze3j5`D}Mp+qC0x#m=p|hBI z9*0X%JtgR5oZ^3hb)`QcseHaubR}ilix4l+2l`4`1wgZStFN9 zDAzU&!rEq6d_$XSCoh!na#bd=g5J{@u4(8!g_~=eca$0fp#%(s9wIow2`zY{2>;+j_D^#B7bAEBqe5`z+J*sf9md1}r>s$A#1z*@ zn9C6R#eU#Wye9*YAY-o#^lVpA#n`#-6T$D9BF literal 0 HcmV?d00001 diff --git a/bin/me/Travja/HungerArena/JoinAndQuitListener.class b/bin/me/Travja/HungerArena/JoinAndQuitListener.class new file mode 100644 index 0000000000000000000000000000000000000000..b513fb6f2d4d3378ee538de4beb59febed4504a2 GIT binary patch literal 3448 zcmb_fS#uOs7(JI+I_Y$X>@#6i5i%ihNLZ8%f`KstCSeH%5fwT!ozP*@9ea8L0o-?S zCt7ako6lN>iD;FtR{3a^<%9ea%jMkLGf9t31gf0S%f0uz-~H}6=YC)F^IzZp2%r;R zYFHqU8neBbL|gS&o@L;Mz{NlRsRt{a(B1TaM*vhzi^>YEGExg6WK; z4-So5IbTCuAnAG|>7mk@Gq#_$CM?HKS0)L>#|xzq+YwmRTYITK({?hn+i5$tze`|k z%YPZB1_h#f-MpnEf<^=NSSS!_Ne$M6(HYQCC(zVuJ63;bY{>GCnnMLkU~#XTGYf;J zXUlfEGwPqVivpYGS+52Lj8lvW7_M`uU`|?|G!bZP>AeAfaW$TvGkZwll9AyjkCYtW z9PIX;2!>3w zq^g!-H2!2c)J#3@#N8V15@?>EF9Yjw4{<+O@&%UlDp8btyO8eoJabZ#&qy~SrJ+S& zNsVCxt=J?`mvbGT{B!5aS^_sAZDmrA>x`z|z`aNZTNtps3Cok#Ra*$UGY#m#77d*O zi$drGg9f%@8>u4>1G&>yzC<_$TB`jNDlqB3{LjspfBQ5{*! z%*&2G1N}J2NhE*R9uepWZ#n2JdFn)@hwXxu?%{2(vMqOK>TsA;4vd>;os&7&_3}j> z19()!QGs*_kXvzPU=YX3>he9?VL%(gS{zWFnN$dda#tOWGat0+IDscMJW-V$0}}&J z;iN#UI9{-MQa0A|d*VjNQpcu&A>?>ODA;4JSIEy7R%pA*jwjE;h=$>+c(QJZycswR zTcBaw^omx{^{Ww9jWTxL+2rF4v9ObVNsFHt3%VEJq|n;O(Gep|<-Q-=#r zdSxnj^8Yz5VO3RvR|z<#Y7}c<*dnM~^Q3Lk%>6W1*;i#vRp(?yAh=4Ffhvh$4SMPA ztSm`$wX}>ny%eRU)o2L%0NBdtInK{k8k3cm^OTudStjJr+}WKAG!FP??o6LKuIitL z*GOQ4up!FJjl0DX^l4yB<344Q%yb0sjEKbp}T3rf<>o4Ox`IO7g1W@~w1jU`yh7Uy9Zy-M%Pv4Ud>_Qlys@=5>VC(c~R_v@Rc(cC9*{jFEg zbQSB`rm^7@bja2;+OA=Ro(j8b=mCHjT%-qRD8yvnwVCxI{8`4W|~ME1rx-I=@4Hhn9>+)k}Rc8dEO~KVbBD zGM>;9^@)ZV6uKJAb3@^|3@_O@gQsT$l!!$XV*SJgykbO0B9kC09cbo9z;bl)BdQ0h znP1nSgtfSUb=2#fn8IDSg1hk*ziwu54}RfC%CCI>jy8q(xZ>&hEaKPUbH3#CH%#Cx zG1ocg9N!}BAI2okld%gp#p@!iF5wWK!Lwv#3J>EsJWm~5VIhBkZ}nVt8(!pF1J_=U zm+&$g@e23Qgvg)h(eNt&t^9-T1zyJ+H3%-!Nh2prk=r->Zs4H5oeV@P3`7G4V(kF| z@%8}!y7mBmUBMqq#1nN1UBYh!{@xB4ZVFmbIqxYYRO{yQ@z%DaF@q16;-f%0bHsEh z5vB>pX3De!tN34$Hf$j=Td|W6Wcl6nDDFcJ_p>B);Z4H#HlLSaDiVeXGWR%3!W2pP zSds8PtSwbJ7?{f}89J literal 0 HcmV?d00001 diff --git a/bin/me/Travja/HungerArena/Main.class b/bin/me/Travja/HungerArena/Main.class index 0920fda67d498d2ec65daa97e363a942a5b5c834..c5009cf00ad7e6c49d5f216379dda7b613d12d74 100644 GIT binary patch literal 13001 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 literal 31260 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 literal 0 HcmV?d00001 diff --git a/bin/me/Travja/HungerArena/SpectatorListener.class b/bin/me/Travja/HungerArena/SpectatorListener.class new file mode 100644 index 0000000000000000000000000000000000000000..9ccfe916dfc9fc03490b8763a47a77595d36ca20 GIT binary patch literal 6204 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 X)gnujPspU{6Qw+pEU|*kyz}S(p%Q+9 literal 0 HcmV?d00001 diff --git a/src/me/Travja/HungerArena/Blocks.java b/src/me/Travja/HungerArena/Blocks.java new file mode 100644 index 0000000..5ed5a2a --- /dev/null +++ b/src/me/Travja/HungerArena/Blocks.java @@ -0,0 +1,24 @@ +package me.Travja.HungerArena; + +import org.bukkit.ChatColor; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.block.BlockBreakEvent; + +public class Blocks implements Listener { + public Main plugin; + public Blocks(Main m) { + this.plugin = m; + } + @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!"); + } + } + } +} diff --git a/src/me/Travja/HungerArena/ChatListener.java b/src/me/Travja/HungerArena/ChatListener.java new file mode 100644 index 0000000..32867ba --- /dev/null +++ b/src/me/Travja/HungerArena/ChatListener.java @@ -0,0 +1,48 @@ +package me.Travja.HungerArena; + +import java.util.List; + +import org.bukkit.ChatColor; +import org.bukkit.entity.Entity; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerChatEvent; + +public class ChatListener implements Listener { + public Main plugin; + public ChatListener(Main m) { + this.plugin = m; + } + @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); + } + } + } +} diff --git a/src/me/Travja/HungerArena/Chests.java b/src/me/Travja/HungerArena/Chests.java new file mode 100644 index 0000000..9edcaf7 --- /dev/null +++ b/src/me/Travja/HungerArena/Chests.java @@ -0,0 +1,54 @@ +package me.Travja.HungerArena; + +import java.util.List; + +import org.bukkit.Material; +import org.bukkit.block.Block; +import org.bukkit.block.Chest; +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.player.PlayerInteractEvent; +import org.bukkit.inventory.ItemStack; + +public class Chests implements Listener { + public Main plugin; + public Chests(Main m) { + this.plugin = m; + } + @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/DeathListener.java b/src/me/Travja/HungerArena/DeathListener.java new file mode 100644 index 0000000..4728782 --- /dev/null +++ b/src/me/Travja/HungerArena/DeathListener.java @@ -0,0 +1,143 @@ +package me.Travja.HungerArena; + +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.configuration.file.FileConfiguration; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.entity.PlayerDeathEvent; +import org.bukkit.event.player.PlayerRespawnEvent; + +public class DeathListener implements Listener{ + public Main plugin; + public DeathListener(Main m){ + this.plugin = m; + } + public FileConfiguration config; + @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); + } + } +} diff --git a/src/me/Travja/HungerArena/FreezeListener.java b/src/me/Travja/HungerArena/FreezeListener.java new file mode 100644 index 0000000..c35c62d --- /dev/null +++ b/src/me/Travja/HungerArena/FreezeListener.java @@ -0,0 +1,20 @@ +package me.Travja.HungerArena; + +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerMoveEvent; + +public class FreezeListener implements Listener { + public Main plugin; + public FreezeListener(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); + } + } +} diff --git a/src/me/Travja/HungerArena/HaCommands.java b/src/me/Travja/HungerArena/HaCommands.java new file mode 100644 index 0000000..9943b8d --- /dev/null +++ b/src/me/Travja/HungerArena/HaCommands.java @@ -0,0 +1,626 @@ +package me.Travja.HungerArena; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; + +import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +import org.bukkit.Location; +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.Player; +import org.bukkit.inventory.ItemStack; + +public class HaCommands implements CommandExecutor { + public Main plugin; + public HaCommands(Main m) { + this.plugin = m; + } + public FileConfiguration config = plugin.config; + public ArrayList Playing = plugin.Playing; + public ArrayList Ready = plugin.Ready; + public ArrayList Dead = plugin.Dead; + public ArrayList Quit = plugin.Quit; + public ArrayList Out = plugin.Out; + public ArrayList Watching = plugin.Watching; + public ArrayList NeedConfirm = plugin.NeedConfirm; + public HashSet Frozen = plugin.Frozen; + public boolean canjoin = plugin.canjoin; + public boolean exists = plugin.exists; + public ItemStack Reward = plugin.Reward; + @SuppressWarnings("unchecked") + @Override + public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){ + Player p = (Player) sender; + String pname = p.getName(); + 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); + plugin.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 = plugin.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); + plugin.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:plugin.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:plugin.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 = plugin.getServer().getPlayer(args[1]); + if(p.hasPermission("HungerArena.Kick")){ + if(Playing.contains(target)){ + if(p.isOnline()){ + 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); + 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 = 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); + exists = false; + if(blockatlocation.getState() instanceof Chest){ + 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]); + }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")){ + plugin.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 = plugin.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 = plugin.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 = plugin.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 = plugin.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 = plugin.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 = plugin.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 = plugin.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 = plugin.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 = plugin.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 = plugin.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 = plugin.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 = plugin.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 = plugin.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 = plugin.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 = plugin.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 = plugin.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 = plugin.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 = plugin.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 = plugin.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 = plugin.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 = plugin.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 = plugin.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 = plugin.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 = plugin.getServer().getWorld(world); + Location loc = new Location(w, x, y, z); + Tribute_twentyfour.teleport(loc); + Frozen.add(Tribute_twentyfour); + Tribute_twentyfour.setFoodLevel(20); + } + } + } + } + return false; + + } +} + diff --git a/src/me/Travja/HungerArena/JoinAndQuitListener.java b/src/me/Travja/HungerArena/JoinAndQuitListener.java new file mode 100644 index 0000000..14bf357 --- /dev/null +++ b/src/me/Travja/HungerArena/JoinAndQuitListener.java @@ -0,0 +1,98 @@ +package me.Travja.HungerArena; + +import org.bukkit.ChatColor; +import org.bukkit.Location; +import org.bukkit.World; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerJoinEvent; +import org.bukkit.event.player.PlayerQuitEvent; + +public class JoinAndQuitListener implements Listener { + public Main plugin; + public JoinAndQuitListener(Main m) { + this.plugin = m; + } + @EventHandler + public void onPlayerJoin(PlayerJoinEvent event){ + Player p = event.getPlayer(); + final Player player = event.getPlayer(); + 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)){ + plugin.Out.add(p); + } + 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); + } +} diff --git a/src/me/Travja/HungerArena/Main.java b/src/me/Travja/HungerArena/Main.java index 7b7b894..621f6a6 100644 --- a/src/me/Travja/HungerArena/Main.java +++ b/src/me/Travja/HungerArena/Main.java @@ -15,6 +15,7 @@ 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; @@ -47,6 +48,15 @@ public class Main extends JavaPlugin{ 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); + public Listener JoinAndQuitListener = new JoinAndQuitListener(this); + public Listener ChatListener = new ChatListener(this); + public Listener Chests = new Chests(this); + public Listener PvP = new PvP(this); + public Listener Blocks = new Blocks(this); + public CommandExecutor HaCommands = new HaCommands(this); public boolean canjoin; public boolean exists; public FileConfiguration config; @@ -58,7 +68,15 @@ public class Main extends JavaPlugin{ config = getConfig(); config.options().copyDefaults(true); this.saveDefaultConfig(); - getServer().getPluginManager().registerEvents(new DeathListener(this), this); + getServer().getPluginManager().registerEvents(DeathListener, this); + getServer().getPluginManager().registerEvents(SpectatorListener, this); + getServer().getPluginManager().registerEvents(FreezeListener, this); + getServer().getPluginManager().registerEvents(JoinAndQuitListener, this); + getServer().getPluginManager().registerEvents(ChatListener, this); + getServer().getPluginManager().registerEvents(Chests, this); + getServer().getPluginManager().registerEvents(PvP, this); + getServer().getPluginManager().registerEvents(Blocks, this); + getCommand("Ha").setExecutor(HaCommands); Reward = new ItemStack(config.getInt("Reward.ID"), config.getInt("Reward.Amount")); Cost = new ItemStack(config.getInt("Sponsor_Cost.ID"), config.getInt("Sponsor_Cost.Amount")); } @@ -70,7 +88,7 @@ public class Main extends JavaPlugin{ 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(cmd.getName().equalsIgnoreCase("Sponsor")){ Player target = Bukkit.getPlayer(args[0]); if(!Playing.contains(p)){ if(args.length== 0){ @@ -764,7 +782,7 @@ public class Main extends JavaPlugin{ p.sendMessage(ChatColor.RED + "You don't have permission!"); } } - } + }*/ if(cmd.getName().equalsIgnoreCase("StartPoint")){ if(p.hasPermission("HungerArena.StartPoint")){ if(args[0].equalsIgnoreCase("1")){ @@ -990,20 +1008,14 @@ public class Main extends JavaPlugin{ return true; } } -class DeathListener implements Listener{ +/*class DeadListener implements Listener{ public Main plugin; - public DeathListener(Main m){ + public DeadListener(Main m){ this.plugin = m; } - public FileConfiguration config; @EventHandler public void onPlayerMove(PlayerMoveEvent event){ Player p = event.getPlayer(); - if(p.getWorld().getFullTime()== 18000){ - for(Player dead:plugin.Dead){ - p.getServer().broadcastMessage(ChatColor.GREEN + dead.getName() + " was killed today!"); - } - } if(plugin.Frozen.contains(p) && plugin.config.getString("Frozen_Teleport").equalsIgnoreCase("True")){ event.setCancelled(true); } @@ -1352,4 +1364,4 @@ class DeathListener implements Listener{ } } } -} +}*/ diff --git a/src/me/Travja/HungerArena/PvP.java b/src/me/Travja/HungerArena/PvP.java new file mode 100644 index 0000000..0e3b2f0 --- /dev/null +++ b/src/me/Travja/HungerArena/PvP.java @@ -0,0 +1,23 @@ +package me.Travja.HungerArena; + +import org.bukkit.entity.Entity; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.entity.EntityDamageByEntityEvent; + +public class PvP implements Listener { + public Main plugin; + public PvP(Main m) { + this.plugin = m; + } + @EventHandler + public void PlayerPvP(EntityDamageByEntityEvent event){ + Entity p = event.getEntity(); + if(p instanceof Player){ + if(plugin.Playing.contains(p) && plugin.canjoin== false){ + event.setCancelled(true); + } + } + } +} diff --git a/src/me/Travja/HungerArena/SpectatorListener.java b/src/me/Travja/HungerArena/SpectatorListener.java new file mode 100644 index 0000000..f57598c --- /dev/null +++ b/src/me/Travja/HungerArena/SpectatorListener.java @@ -0,0 +1,115 @@ +package me.Travja.HungerArena; + +import org.bukkit.ChatColor; +import org.bukkit.Location; +import org.bukkit.World; +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.BlockBreakEvent; +import org.bukkit.event.entity.EntityDamageByEntityEvent; +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; + public SpectatorListener(Main m){ + this.plugin = m; + } + @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 SpectatorPvP(EntityDamageByEntityEvent event){ + Entity offense = event.getDamager(); + 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 SpectatorBlocks(BlockBreakEvent 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 SpectatorJoin(PlayerJoinEvent event){ + Player p = event.getPlayer(); + final Player player = event.getPlayer(); + if(plugin.Watching.contains(p)){ + if(plugin.canjoin== false){ + 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.Watching.remove(p); + for(Player everyone:plugin.getServer().getOnlinePlayers()){ + everyone.showPlayer(p); + } + plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable(){ + public void run(){ + player.teleport(Spawn); + player.sendMessage(ChatColor.RED + "You have been teleported to spawn because the game is over!"); + } + }, 40L); + }else{ + p.setAllowFlight(true); + p.setFlying(true); + for(Player everyone:plugin.getServer().getOnlinePlayers()){ + everyone.hidePlayer(p); + } + } + } + } + @EventHandler + public void SpectatorQuit(PlayerQuitEvent event){ + Player p = event.getPlayer(); + if(plugin.Watching.contains(p)){ + System.out.println(p.getName() + " quit while spectating!"); + } + } +}