From 3e6fa271e9f8918b83bba464e6fab2a99879eb46 Mon Sep 17 00:00:00 2001 From: jakub1221 Date: Sat, 4 Feb 2017 14:58:50 +0100 Subject: [PATCH] Code cleanup --- lib/Factions.jar | Bin 0 -> 424970 bytes lib/WorldGuard.jar | Bin 325856 -> 329948 bytes plugin.yml | 2 +- pom.xml | 91 ++ src/org/jakub1221/herobrineai/AI/AICore.java | 1072 +++++++------ src/org/jakub1221/herobrineai/AI/Core.java | 11 +- .../jakub1221/herobrineai/AI/CoreResult.java | 14 +- src/org/jakub1221/herobrineai/AI/Message.java | 25 +- .../jakub1221/herobrineai/AI/ResetLimits.java | 72 + .../herobrineai/AI/cores/Attack.java | 399 +++-- .../jakub1221/herobrineai/AI/cores/Book.java | 75 +- .../herobrineai/AI/cores/BuildStuff.java | 245 +-- .../jakub1221/herobrineai/AI/cores/Burn.java | 3 +- .../herobrineai/AI/cores/BuryPlayer.java | 128 +- .../jakub1221/herobrineai/AI/cores/Curse.java | 48 +- .../herobrineai/AI/cores/DestroyTorches.java | 59 +- .../herobrineai/AI/cores/Graveyard.java | 223 +-- .../jakub1221/herobrineai/AI/cores/Haunt.java | 473 +++--- .../jakub1221/herobrineai/AI/cores/Heads.java | 119 +- .../herobrineai/AI/cores/Pyramid.java | 365 +++-- .../herobrineai/AI/cores/RandomExplosion.java | 35 +- .../herobrineai/AI/cores/RandomPosition.java | 360 +++-- .../herobrineai/AI/cores/RandomSound.java | 32 +- .../jakub1221/herobrineai/AI/cores/Signs.java | 118 +- .../herobrineai/AI/cores/SoundF.java | 39 +- .../herobrineai/AI/cores/Temple.java | 406 ++--- .../jakub1221/herobrineai/AI/cores/Totem.java | 210 ++- .../AI/extensions/GraveyardWorld.java | 39 +- .../herobrineai/AI/extensions/Position.java | 138 +- src/org/jakub1221/herobrineai/ConfigDB.java | 124 +- .../jakub1221/herobrineai/HerobrineAI.java | 575 ++++--- src/org/jakub1221/herobrineai/Metrics.java | 2 +- .../jakub1221/herobrineai/NPC/AI/Path.java | 7 +- .../herobrineai/NPC/AI/PathManager.java | 23 +- .../herobrineai/NPC/Entity/HumanEntity.java | 12 +- .../herobrineai/NPC/Entity/HumanNPC.java | 16 +- .../herobrineai/NPC/NMS/BServer.java | 8 +- .../jakub1221/herobrineai/NPC/NMS/BWorld.java | 16 +- .../jakub1221/herobrineai/NPC/NPCCore.java | 78 +- .../herobrineai/NPC/Network/NetworkCore.java | 6 +- .../NPC/Network/NetworkHandler.java | 42 +- .../herobrineai/NPC/Network/NetworkUtils.java | 4 +- src/org/jakub1221/herobrineai/Support.java | 17 +- src/org/jakub1221/herobrineai/Utils.java | 40 + .../herobrineai/commands/CmdExecutor.java | 1421 +++++++++++------ .../herobrineai/entity/CustomSkeleton.java | 77 +- .../herobrineai/entity/CustomZombie.java | 140 +- .../herobrineai/entity/EntityManager.java | 5 +- .../herobrineai/listeners/BlockListener.java | 153 +- .../herobrineai/listeners/EntityListener.java | 436 ++--- .../listeners/InventoryListener.java | 67 +- .../herobrineai/listeners/PlayerListener.java | 376 +++-- .../herobrineai/listeners/WorldListener.java | 2 +- .../herobrineai/misc/BlockChanger.java | 141 +- .../jakub1221/herobrineai/misc/CustomID.java | 82 +- .../jakub1221/herobrineai/misc/ItemName.java | 47 +- .../herobrineai/misc/StructureLoader.java | 43 +- .../herobrineai/support/_Factions.java | 17 + 58 files changed, 4932 insertions(+), 3846 deletions(-) create mode 100644 lib/Factions.jar create mode 100644 pom.xml create mode 100644 src/org/jakub1221/herobrineai/AI/ResetLimits.java create mode 100644 src/org/jakub1221/herobrineai/Utils.java create mode 100644 src/org/jakub1221/herobrineai/support/_Factions.java diff --git a/lib/Factions.jar b/lib/Factions.jar new file mode 100644 index 0000000000000000000000000000000000000000..1a47400b9ca56a1301c6e2d960c085009a9fc7f8 GIT binary patch literal 424970 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�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≪q-JEPge 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�oORz`_<=}$@)k}o5I3`{ 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�lL$nC~RD{*FZND$ueuQeb$Y`fNAJ&t{BuZFlE|8f{s4tK^n7SjW# zB8o*PJJS;q+*q*ZEAvl^qJiu}kCIU>QoOFdu1hLA=wA^r=C#t@lgW8a+XuU0hiDYu zh?d!=QO37q;-crLK;v5sJh-wM15blWSA|$!t7GSke|)K2x)PP@UBtn792n*}Z(NI%H! ziBk0l4vKkIJJw#w^xxi<&ISkdkxpnHEj5M&&BWHErbfRqfW>pKO`->jurX302BIO6 zt4?aC6vq?PhiGMUlee&638F%xIOOIIHUpGPe_vQ9douyxE!oLq`vP{T4%y>dcCrEE z|I*`h#`1G$o{qSA)Z7N+OE%63-x)+>!@9N0O8VrJ67`%+4KK!u4^`{Ivs*TCP`}t> zu_K544#T1gpkMygh50@m=aj!D6#RBg~82FtKNZLuH8T0Rvt!h0ZUAybJG(Sv`%Ii-exI;uqlGGk&n<9wD)1G z{!c+Boam5yqzuCpY-xZXV;5>c3Vs3fUP4(RP7y?Z;3SCF87jW8R(v4=O!Rk@D;L9#*Kjt(7G7#B%66|8{y1VvSd0+>QQF2Ol&!A_OZsmh5Y1%OM)?jmjZuKB$#XNfgv532r z{^kG3235Nh&`j#Ltih>to)80c%eOV6p3St~kbBLr24T0}5RSs0g@GH$4w|==!CZ8n za09v+T?l(uu-gH*3J^DD$)UO1=d>B5+dt$JH(YGiNL=vxQ zfpKI$qWz4)Td>!nuSJ2KPnZ13IoSeQz&CyMH-TV9x>w)eS?X8%fq&Z!V!{7dkja97 zVfYa4#bNk>>_x$Tf$zz|_C()eKma3eEn&a#_n6RqF!q=*d=U07V83AZ@L<1i_Z-oE z(Drm~3brL*b=BVy2Rtx72nJptMFbqO8J~aoybk6)2OSL(-R=1fKT-t)89B}FfKXP6 zNY1T(OT%A*d=E_iLPY%IUmcmBfZZC}x4(?fahv~G2UkXz-YmKPdh%uJ=d9o7nn_LM zF7R-!eAEB6!;@^M?i%=p|67&$Nyh*j?a9UwdbqhynEmyh{){j5AVDJZkSpqEfyq0{ z)cUgfNjv=aXO7~#$2yh1mccy&4$wxyYh1A5Y4cvCtBx!!?1yZ?4JgZG$f`Q5!+^t3 zjtVpMFXYVPxwyK3RXGI9wD3sT{(=R+r6yp#rdKP@X`it_|D>@n7yM=Dz5uh;))-a5 z%;&zo5^rT$RX8Kk7IRxw8D6NJsl?G71ep774u!MO^od(5M_(mWr>qBP)o9UvK%)?T}?t*J5QG;9dTgWqwfAv)c#8aJI;b?n$qfF(5YN-GewywzA+|7kt;oo z=SbE#!KU>ezW<{*lah&o4Ln!hP5Ok+($U%-F@Q+9k=kvt3y8P()F}N&0iqP|P#0w1 zzp(0X3)Y#;uxU6b`;_k$WB4G}fI(mY8|FUfh7;9iY)hCN5EBru7V?*1 z_9~~dkLoP3N;E|L1AXatznXkb9hwG}MG2vf?DNDye&}U2dEWrR=r#*(B#M_EeyVGu@^g%&; zR%r;6#w<(yEJ{cqS}@AukLs80bI_W7^>qXqg9=(;ii5nKAS;7Rd))9%v0+Gi;IHrs zhwuvf5>Bi{u$)9t0ALp=s1GIho2Zi~0sBMq+yL0zL?QBic3nU&9NrrS^4!*IW}k3h3mGHbZpzUZQHhOJ5SQFZQDu5ww;b`+s4Ve_lHw;&iVy&t(sNy zp0&nx4KL&?*H1LJc0Pab&Ceae=U*O!y1=pR=KaQ3o;R)BzjWlmYBK z#5?SG_?@TeF!r8i{oFa8H{3Hq9y7)R_`GnP*PO6?H#WiWyz4vkIqSR1I+B3r4Uq2} z7eYUzuTxJbzNb!*@25`qTx{lD>3yM>;TP89;SQa&Pe9u`%|4zp?Q@3tz0tjro{`>! zH08sv^bAC&nq2U9pEriXcI5fh^9{I8llx!d-Pk)VKTd6+>w#R1)+YvhJ^pR8{-$i& zUs{$Mu0Yy_R+}IW(SE=1nRc&6a9$*qz9O?Lta#TQg1d0QOKe9FP3|jj5 z^Kwu{-E=-?J%CJ(wEE|PNIQNoSHWJzrm+pnBRyW;1h3c+q;`Lq+2&# zE`7b+G4|;|`m&!9)yzBRwW~hqWv@rjN1yQf`hf8Fx*O>wfiya2%Mjmrlo38RFlwfq zj$Z^5j{vV;>wR^bioR6}NrORjn-8JDd$9|!1{)S$Cmcys4b%)x3{kVkow& z5kOb_ZEtI#K#lwTH8yEeaRQ72nKYreIy&c(G^zZUjf$CK+8wtvw_@Y%d zHjyWodh-pQ8r(@zCaki)lnFf5BSVw+5kP!}_$EAkru-+$_Y4|GeJLo_KVVgh0O48S z`G3Hn-|T1@5B%0_m8E9l1!fHj4V-1GJPS5ofI>}3dfLASI4 z$P+R9N$pfQORx>+pYk&f;h0y1SA;d(tMOliSHg@W!?Qh;4cJExSvPg%rEOWfAb|V! z-7?JKGQ#2PN#?;c?;32ki*@dZ?ID@=&`I26Oh3+HtSEZZtmXPTAI$sv!d0K{EZQSi zjF#nk)DMiMQT004PQ{Aoued33VOUXmi@$YMS@6U?;a@Ew@W-YWKc|M@@1=GP$jrzs zA6m>b+*Gzb$2pf1WQ8M%@k}Y=7!HFITq%{|%vj*SSg^*Ks2R*0IDc*M4vPf1>#@7o|XPDNc6uP(SP!W|2QJVRBpW=j))u5KxMJ%c!PZ`bFwq;FAM@2q&I}- zFCa!ilDJ?C2_d9Ed1z!~aWFqo&B-8yXHfS(tHlfp)Z#zd)e100VLyt!>ZRhvrHYn-PL-sg>mEpEP_o`zVUUYuj zXh60HqTa=z^o`P2=VZY8jT5PJ4vTo}TZ zKfBYpxLarVHv9cPTFH&^aK~bRu1J7|Yw3=y2RHo3V1PSAHMe6a$aR0mt1~+MM^Zqo z>D%*)BRc@$&9+s1$lLSi9mj*8Z^s|=1&{{<2!StuaR#3}ie0}k@Nz4Z;RQ1TCc@GsEs@oIO^vuB(a_786Ut>YQ^ms>*qufA9S z*A4N}0WlJ>ZSM$8seJ2WISBuLz>G$B?(VV77qp+xSZwXfExq2%GUbc?M=VH>;f}oq zqT3GO)iH?QUiDTR++{Bi<{K9o@Vyl-ev8rcdj*s$2q8jv1tMKb5-wf_MWkNgvi}N! zvcHdanW=G}jwM6B$O&HZ5{z+@Zcc(&q+J)LB@!`;E#X~!H8`>ax$x2`N;t}N&iL>v z0!FJ2;}~JT&7Ox=CJG%n%ZNyCq>%jPgv8F&$+})x#;}zVhFw%fb%+HIka>l`-0BVH zK7+vAMjyFr?ns@f-O!diP_1Kk=t#Xyc(l{>!I`Sv;B93O=8 zOX41~+%r+ln#ML78fmFZd zPesb{k@pZIJg~C1bOg%2!d_;wdk?%?x0XhESCIM;8qz(zb?uTuI5)(=yQ=a2vGvRw z3yf3See|YU*T&}Q<8lv-^%7J0jkVeBhr%<;PR`#EN zhtC@d$}Y{e+1D*txPN@;Do%8=dmM@U=o;+{i9KOotZCE=oHZkC+sv8jP+*jzX&iT&o3xwX!6hipc+=)R-D43dX_84 zBc-$Fi5LX|>gF!Vr(hCfmdf^EP7#*Hf|a*qYHS^Z|MeC03u^Jt-Nmb2KhzOdvQ0Wm zeP^kP7+M?_L`T^O@f4MYm()D7Bn%@&&8^8Cpgqdh&|*L!6VTH4sOsxe^o026yR?ZA z96*x06r%x)+S>Bj6K595X@#ZLSV4ToEfvtTOyRj?WNRE*c-GX-cVFF#DeId!YVN|q2LlBlcC9= zj3e=3^K=W0{Hlx2(!je z(2zT1+mf{G0s+EhWNDbEB{__7EL^rW_WQ%UTsMVb&K6z&5=u0{vtag##h5zPl^ASh zox+i60Atk~$Z7<|BSt>fkEhraC#9ls*dqux{1PWe-Lixzq+(OlnX-rX_RY#xs7g`< zkbiTWmKVfZ4Be>hLxOKcqj<^TKskfCBz16(M2gU{COmox+u{K%9K;cU8cn!!qOo}= zU1Wfl(c%#6wYsH9f@Fq3+Mlsg5mIOafHlqy@F-FcRpY>mINA~W3~9m`)d5iUGI><=M%I`D)k}NOGouz%bJF==Q)&-&-s&$gcnZfd?)mWX> z9~lr~Y~wX7j&L8@NZzu)MI{1zZpAf_FO4F}xCYf^T_T)W9dkJJQPC~-gd7q3G0H>u z?!sT2cJr3EJF7OO%M}z*(XIE89Lve*kk=7PYGE5^V7!>hIYx^bGfdW#FyTx9PHjK7 z;#TJMjXsBC6R>U_Wc4s=R>$O4E#&1eYgI>F=R3l~!Hks{VwO5#9r~dUVc87=JC&hW z7RSU^MP&9!ZI)YO$4avHv<8|CrUuHLT+C@3Li3E(BgkeiVZyb|$>@MQzNSnap&YXI zAzKLPH+f0QzqU{D9FJ2Fn)M$5(|E!*(u`K!4-r&%i#@rzL=n0xrJ>D?6;i(lhqGA; zY|J4n`&QDNCtf4=vG$swM9EX}FcXY%79|0BWjxcLr4770(@z}p`EAT_KmOv!I~bW! zDE_U53?H6ry=MrvLj7d9hi=qEh4)V+mO~vCoW)V$!D=scFOCck^_>;qn3j(}fLP(7 zgDf9L&U#CIn?#m_He<1;`Q;Ns`I*7KD~0(RWS zmb@DaLj2nXI;fvBA&t9X;PQS|aS*G7xBp;pJ5sx$m0Mfc%vnArp^~a`(8m-m*jqMzB9lv=6VcG++nl$8 zNnaU_VL|8?1(a2mGaN=ilcZ)jDRC$@Ln#l%YTW1$18m(Z>5gZM2LNs$-?Cho6`p5#jzF0(-9goK`q`bQ z_`H6+#DkBj0Quc_UJ((649&KScx+HAKciF(&M*8~3mWp1_EusnPQnz8k6S+Z4jF!E zY;*uLruW=5NgLZCvL>lDTHEly5|q8D^CA(WzboqeVZp)-6Mn}H?CqaSL#0Uu{@4j3 z)|pK)6H_NEP7!AlAbiba-j0e>r{~sE5tdD;p8*c1M|ReU!OnJSqMhsXS*r1QXp~Wb z%i!QaEukP@sWk+?4v1NVMkdANC<*ASHD7>}#3w64`IXMnyaFccY?`|ew?Kb}sK{9( zr9H4(dA)?9J5JumgyR*N?xMtwpNZZOx{OclB-S;~xuEeIBVqB+XJCZMM@+w=mw-Uu^x0Nr^!xLjg%dz zrjxo9uHf^fI}zJHpjLiu1J~?s{4?l5k7YZetso`APu8n# zQ??;%_q2troDp}>X4IPwe?-hzx{d!LK1O4+UrehhzLPZFQWPJ;%_tfOumZR|%+yc^ zd?ma%DVB?6vE7np`w3`~Is=i96%Gq4J=o>HDr=XK(ZhO8Q$Dt3hOce(35|$_Owd2s zxU{_YM~NWmDXXX}HFP%?SivGq zyab#P8x~E9CC`Yo%QQY7sj;Ak&V?xELs^^ru{j}1dZ)Og2N+V6@5G-EhsKlyy`sos z?_(*{u<)cvT^We$)BSaAtt>G(!L`0Ym_Y~#3s0^SLaL-{$}0+)-`iL7B4hA{a17qf zszNy@=CafPb&X%A1!ya(Xt(fHu*`?L5JocaISLd(HiUSwR-A|XaWA7V_OSqZ{VAc_ zTRbR`N;7zyn7}b9yF^_HFx=iFKC*FX@tU#C8D@{l9oXZE=KadVxVA>lt4!>#T;HLL zr6(oWPc20i9U1K-se#ry3GG~?n6WSup5y-cQ$;%k>GMS= zz8&4iZgYgBJZnQ1jXW!+9%s3=(5u*e$WbPh3FS>qhRsAD^odsHe6c&wDxAV8(_P*x z5>=1hg=to}09ud~Sy2pQ68yiY;|`igQJHLHnQ&}u^$#^`$UVcYwq7PIv~mR_#n`ae zw__p_3g#Y%NGBqf;EdjnqHFQysd;hd&=Er+t&JcB3h?-Q8CHY)R6Pqrj~SRiyZFsIH35nsP_2-NIY~SB{$wiP0*l%S)=NOJ_(?B&fths$DY8)DLG4 z8aD8^hph1LVj~0^H5;lC8_7AWj(hs!D&E{UXshC2)lL08_ic@QpN~PZOOV${U0`PJF}sm0=6) z$PGr7WiQljbnOq6tw9m-*LVIi=EFsbpO5EvmiKMKMd8f#Nb*H9y|1)a>Y8K&LEsE%Rjo%n0d1XSDcVPuyh(D2iR^fgbmw%djMCRDf z1Jo%Wp}n~4;eVOU`28N#dqcW`;|&G+4r>ClQGljY0RI-(FLbqdf&M@hXilS=%XQ!7 z4K#zifyM7lyZ9vV5;z6L9&-3P2_^w8K;|H+a}{}zk<^+02eZf4eaJoWyyOG|Nvm|Md0fAD4K1Q(0K zSOqEc>Rp5`1f6Vt>`m*U!4bV<1ig6J0G6B;{KNGVeC3k~gbsU!&c~o5qSUAI1WYcO zvwPA6%kL=fF+fI;wEX#tK45;s`R`Mx2B;?#3AI~gm-+?WHHu)T7V=^n?*-lmX8;v~Q*hMmZI`bz~Kh$7Yt3<$O z$^;6WFjC(M8m^Zn_-OhnB#B~+Fby|0uQm{a?-!>d1dL!@o33x``1ydU%l*&E0pq|r zc8P`b;!3iA$pGipOVkRK(i`0<+0skaib@ws_va+UdY62`8yqL3ITGg|Qc(>}nAoK;Mn=={H^PeP`cfYjd;_Jz9Z)T;Z zpRV4OOR2Lz9U3iY1T-!V#)Pa{8yw+SSOc_B^fIo+<4bfu>Gc7ffvB8@s2mpcjDN~m z`%bM&?5$ZfhS)k8)V9L(SvG-x9->^bKjXO#c>>W~1gV};?|@;3n*qhUImX~Eu!YCd zw&f3<5rpW^{ge{iStC)FlNHjJVBF61l(cS~aQz8-9I677NU2yJ&bni|0&GPPccr3i z3}F&+6jm*$u9&AZ^SLG%D|{Mq^>k*IDG#7B&A=&7@ES{?%C60jTmu@CZ<5@S5Nt-) z!Tzjh!~~V`U;lt&g#cLP&CqzEo;SZ$`V#-IHf4ka|Gqk)5dTsJ`8^dqnHZT{D8{jUey9X8o?+bMXK*ADG}k=j$iEVNB^OU4h6o zhV}{2d%>Cs1nj%sz-|G359vDm20)45a*BM=Lir#j-Z(ezF9SxuQ!~iKb{QBE=LaD< zbg-6@84`{%LnIH_=PCQMW5&wnsQh4~gNl`GE&}c$)Pq&_p3PhoCIof#L*=YE!=EP< z3RA>%WcyU`NcD!#XxR$F>Xgoral}fF5$G^0eiwzi$RvKPk>aGu(PB>y$UAVv5Fl6e zr~Y^?6AXFz0sw_&#X`_{0_ZU%VRfj_62kKFA>Fvcc)_bwF@*Z^faKyA+$h0UtPts2 z3X}W@<1uKQKp%_}qmYPw8HTyYKH|8dZ(cDPP9#I7B@!NBW2pN2 zkdC5MM=AP1#AhZva*V4(AT33zv3)6~H>W3>Qb(NZ0l+Tl9%2Gh0!LLD=oqG?qPoM| zR+g_q-TDJQ=GeQTDSDBz{oxe^guB{l_9Ej?-oqeG`m)|_(M1riZ*dC*&TH{9L}t(I zu_3O{$H7^|7ryGWxghIb>bTZ`L+-(sxU=iG$;{%WvQ*7gHVzWgz)^jNl8r2#IDJ)v z;6fTb6Cl(UTZhs&gk2;w^9_@(9>JZ{M%Hma*(j8K5N3qtaFXtYDz)DPi2Gm>lrki9 zr;DSqH-2~Y?{n`e=yX()c|IRgN`E2$NeI%_s6@VocHR&KEBQbh{L*u8h+SIN?&Pdj z?`Cyr6eguFs0;ZjNow(||n;L=e#_oNv=%E%EcSE7jn6L*7aLEr>QLCBEZhTK}Kmj49*HP{T@uhpTwzE7Z>%pih2%e z#MC{S$-_Yv9e>Zcf6)k+bFZrgoi~!|DZl4m%y$kv6Aa5K27FFWR?2mu24WR)6pQE6 z3-@%~xDLEvV)qTM*|5Z;9b_>aQF6%iA7H)9o8s2!fjuicnUJ{@hhC}ZemO~NA_K^? z9io^xyuUF9h4*|c2`_70EcSHvvPk@)VV|24kT;^^T}qh9&-yZ+kEFy=J_!I!srk@0 z_0*Zdw7Zy=G4Tf&lyYz3;CaFEM0lk#Ba_KXw8Ab673T2ic*v(fwaL_XAepXf@jld) z3HGGoceJbnWW2$r#8IHRqOaN!R{)ApV-XtPRJhOeb(GgscU9gN#F|F@d1I#UvW_Mz!hrrr68?=QoB%JQ;l_b zxGen(WD}&L4o6aJkcCn5Qai+)73JD@VIaAGSbVUUZZ)B$6J=A#G66KQY?>K1^(?C< zmi2ve=m}h)V1vpO^ox-vRKWQ}SnXBQ2F`%#-j-A`E%Y^==7)vsI61RpcJVU#`FG%@ zZdWh;%vEvxV;8}0K2Zci{GbOKvj(HcB=~qc5K^i{tU1bFbjf`^B3i@P zD#+d>Yjn$}@~Tw_VUY$(%OzHCv_?h0ai>oqE2o6={cS<87#z;p9-aEIKc!b*U5&vu zVx@Bl16k6|>PIBgq>nJAMB*ttpkklt8JYP{y(x4UmY-KAAppxZ5PUhC;wX_Exr2#k z!jq&@*tR5~!xM4XJA*x)bIt*^^r5U}(4i>jZn$}9^uHrHnSG_YhW$N%D`yVSADP=| zA}5?CgM%9>(H@Lb?h3YYR3Hnc3G97DIOPEp zeZDiC^1c<|9ssbORm4dkzS3r&xQD#rg#IH0GGKFbHiN!M7f5cc>P5Z2M5sAv13Rek zVEB+}w&hjX08Nxs3 zX!?VAtvkjt=6*nWm1Q@}Ku-iUhxjPZt+ocE?eMR30nQw=vi;v(jREkM#Ppiw)<&ix zh?FTu^>}2CvclZYFg=zXaM+niHZ}=XHVL{kGWkY^=o@5cTom@(pv&RGa;b?}=m$y& zva15`$AA?9?GqL`+D4cum5}s}6fFitD^na`+c&&4V540|DGSHkt+2f8pp-NZXOs`X1{=+eL@U1#J$2n4!)5GXArZSL-i51j}L=AiBsTGUk zkp@UQu0Odw_te$k$kZ8aMofL~Mb%vyhg?r)@j_Lvt<&4Hs!Sy)(`yAYgnf^+em>jo zTrb_S6zz;bY=IAwn6WKN1A=RBc>JY-69Oih(ot)#u^=z6i z3BZA18hq#|jIu8_{1Ojp3{OLRySV_Xb_;k+-#-F6`kSS$zj|Hg=OfX&WQ6G6E3>vR zKT0GAUaBFPEKe$fq{^VJB3!Nkx>x|F7O7Q+{y0mr)GKO)t3x{-gu6%6s#g`7Z3KdY z6nztA@#i=gTn~ZvCT8Wgc&i-}&|QHohiq2hyeNjV2zN?29FMHckZM7q)u40vQ3v1` zJu>>9>K;+2mQF}Zxb2Ft>keTB2tKNMdi)!1g>L1;WXN1|m_Dz}k|OQrnc%&NXD%sr zamJ~4*|K~JI;tPIXPWQt654cj|4f}=)?wN4^`jO;vSsSk*wVftIxb&e5*WN z7jw5n;Aw8S;~RfGP38z{Ksr|BxLp9eoJIKkD2^a9sO*Bxt(bR1v<%`deUb&4&HHX^ zG2FE5w2vi~W#onna#lf`Mo=bkyGk*ZwzoJwX_OmZ$%J{T_oUs*`LT~V!;b;(`4Wyl zNoK$$a^MAXJkoGJ^)zUn1mj;oX^>+D0y%z7?GZGFi4zjQ4WQj(WRc^A-VY@@ba+5r z5#_qKcuXg-Trrt;N1Eu-oBCx^-d~1H-sj;ilSp96_ns1$!v6&|-_a6=_CB3@*Rk0A z)A7FkN4FD{-xulXG~x8wu7Mjsm0{z#@{SaKIF2PcpV4+9+uTzfk1~!fU3xYh7 zUogO9qQEHl$O+oA?fk$=o+Xugv%m-o!a2SWTw^QUBLz`T>=Y{mxq4!Ke*5m~@Ng5| zbw;yYIH$aF;*(6Jvz;doIZ83rTk>Cm%OE&1(H9MnQM>+#4+Y`T46-4>ZjKROF08FZ zf3kG|{1(r4XWIf~yA<}rpY29?tv6Ppg`cqN3ne9TrmX4%XM8Ai2lX4c=OyFettaU> zK4JD38Xe(hhYC(`N4efcA;Cr^N#9Je$%�N72fz;t-@g<-ks@6jo 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 lZ@LuJo)m1(d( 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

2h4`vI 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 + 4.0.0 + org.jakub1221.herobrineai + HerobrineAI + 3.5.0 + HerobrineAI + http://dev.bukkit.org/projects/herobrine-ai + + + UTF-8 + 1.11-R0.1-SNAPSHOT + + + + https://github.com/jakub1221/HerobrineAI + scm:git:git://github.com:jakub1221/HerobrineAI.git + scm:git:git@github.com:jakub1221/HerobrineAI.git + + + + GitHub + https://github.com/jakub1221/HerobrineAI/issues + + + + + spigot-repo + https://hub.spigotmc.org/nexus/content/groups/public/ + + + + + + org.bukkit + bukkit + ${bukkitVersion} + jar + + + + junit + junit + 4.12 + jar + test + true + + + + + clean install + src/ + + + ${project.basedir} + true + + plugin.yml + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 2.0.2 + + 1.6 + 1.6 + + + + org.apache.maven.plugins + maven-shade-plugin + 2.3 + + + package + + shade + + + + + + + + HerobrineAI is Minecraft server plugin for bukkit/spigot that brings Herobrine to life. + + \ No newline at end of file diff --git a/src/org/jakub1221/herobrineai/AI/AICore.java b/src/org/jakub1221/herobrineai/AI/AICore.java index d8f3aca..d836dea 100644 --- a/src/org/jakub1221/herobrineai/AI/AICore.java +++ b/src/org/jakub1221/herobrineai/AI/AICore.java @@ -12,6 +12,7 @@ import org.bukkit.entity.Player; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; import org.jakub1221.herobrineai.HerobrineAI; +import org.jakub1221.herobrineai.Utils; import org.jakub1221.herobrineai.AI.Core.CoreType; import org.jakub1221.herobrineai.AI.cores.Attack; import org.jakub1221.herobrineai.AI.cores.Book; @@ -35,46 +36,45 @@ import org.jakub1221.herobrineai.entity.MobType; import org.jakub1221.herobrineai.misc.ItemName; public class AICore { - + public static ConsoleLogger log = new ConsoleLogger(); - + private ArrayList AllCores = new ArrayList(); private CoreType CoreNow = CoreType.ANY; public static HerobrineAI plugin; public static Player PlayerTarget; - public static boolean isTarget=false; - public static int ticksToEnd=0; - public static boolean isDiscCalled=false; - public static boolean isTotemCalled=false; - public static int _ticks=0; - private boolean BuildINT=false; - private boolean MainINT=false; - private boolean RandomPositionINT=false; - private boolean RandomMoveINT=false; - private boolean RandomSeeINT=false; - private boolean CheckGravityINT=false; - private boolean RandomCoreINT=false; - private int RP_INT=0; - private int RM_INT=0; - private int RS_INT=0; - private int CG_INT=0; - private int MAIN_INT=0; - private int BD_INT=0; - private int RC_INT=0; - - public Core getCore(CoreType type){ - for (Core c : AllCores){ - if (c.getCoreType()==type){ + public static boolean isTarget = false; + public static int ticksToEnd = 0; + public static boolean isDiscCalled = false; + public static boolean isTotemCalled = false; + public static int _ticks = 0; + private ResetLimits resetLimits = null; + private boolean BuildINT = false; + private boolean MainINT = false; + private boolean RandomPositionINT = false; + private boolean RandomMoveINT = false; + private boolean RandomSeeINT = false; + private boolean CheckGravityINT = false; + private boolean RandomCoreINT = false; + private int RP_INT = 0; + private int RM_INT = 0; + private int RS_INT = 0; + private int CG_INT = 0; + private int MAIN_INT = 0; + private int BD_INT = 0; + private int RC_INT = 0; + + public Core getCore(CoreType type) { + for (Core c : AllCores) { + if (c.getCoreType() == type) { return c; } } return null; } - - - public AICore (){ - + public AICore() { + /* Cores init */ AllCores.add(new Attack()); AllCores.add(new Book()); @@ -94,565 +94,577 @@ public class AICore { AllCores.add(new RandomExplosion()); AllCores.add(new Burn()); AllCores.add(new Curse()); - + + resetLimits = new ResetLimits(); + plugin = HerobrineAI.getPluginCore(); log.info("[HerobrineAI] Debug mode enabled!"); FindPlayer(); StartIntervals(); - - + } -public Graveyard getGraveyard(){return ((Graveyard)getCore(CoreType.GRAVEYARD));} -public RandomPosition getRandomPosition(){return ((RandomPosition)getCore(CoreType.RANDOM_POSITION));} -public void setCoreTypeNow(CoreType c){CoreNow=c;} -public CoreType getCoreTypeNow(){return CoreNow;} + public Graveyard getGraveyard() { + return ((Graveyard) getCore(CoreType.GRAVEYARD)); + } + + public RandomPosition getRandomPosition() { + return ((RandomPosition) getCore(CoreType.RANDOM_POSITION)); + } + + public void setCoreTypeNow(CoreType c) { + CoreNow = c; + } + + public CoreType getCoreTypeNow() { + return CoreNow; + } + + public ResetLimits getResetLimits() { + return resetLimits; + } + + public void disableAll() { + + resetLimits.disable(); + + } + + public static String getStringWalkingMode() { + + String result = ""; + + if (HerobrineAI.getPluginCore().getAICore().getCoreTypeNow() == CoreType.RANDOM_POSITION) { + result = "Yes"; + } else { + result = "No"; + } - public static String getStringWalkingMode(){ - - String result=""; - - if (HerobrineAI.getPluginCore().getAICore().getCoreTypeNow() == CoreType.RANDOM_POSITION){result="Yes";}else{result="No";} - return result; - + } - - public void playerBedEnter(Player player){ + + public void playerBedEnter(Player player) { int chance = new Random().nextInt(100); - if (chance<25){ + if (chance < 25) { GraveyardTeleport(player); - }else if (chance<50){ + } else if (chance < 50) { setHauntTarget(player); - }else{ - if (HerobrineAI.getPluginCore().getConfigDB().UseNPC_Demon){ - HerobrineAI.getPluginCore().getEntityManager().spawnCustomSkeleton(player.getLocation(), MobType.DEMON); + } else { + if (HerobrineAI.getPluginCore().getConfigDB().UseNPC_Demon && !HerobrineAI.isNPCDisabled) { + HerobrineAI.getPluginCore().getEntityManager().spawnCustomSkeleton(player.getLocation(), MobType.DEMON); } } } - - public void FindPlayer(){ - if (HerobrineAI.getPluginCore().getConfigDB().OnlyWalkingMode==false){ - - if (isTarget==false){ - - int att_chance= new Random().nextInt(100); - log.info("[HerobrineAI] Generating find chance..."); - - if (att_chance-(HerobrineAI.getPluginCore().getConfigDB().ShowRate*4)<55){ - - if (Bukkit.getServer().getOnlinePlayers().length>0){ - - log.info("[HerobrineAI] Finding target..."); - Player [] AllOnPlayers = Bukkit.getServer().getOnlinePlayers(); - int player_rolled= new Random().nextInt(Bukkit.getServer().getOnlinePlayers().length-1); - - if (AllOnPlayers[player_rolled].getEntityId()!=HerobrineAI.HerobrineEntityID){ - - if (HerobrineAI.getPluginCore().getConfigDB().useWorlds.contains(AllOnPlayers[player_rolled].getLocation().getWorld().getName()) && HerobrineAI.getPluginCore().canAttackPlayerNoMSG(AllOnPlayers[player_rolled])){ - - CancelTarget(CoreType.ANY); - PlayerTarget=AllOnPlayers[player_rolled]; - isTarget=true; - log.info("[HerobrineAI] Target founded, starting AI now! ("+PlayerTarget.getName()+")"); - setCoreTypeNow(CoreType.START); - StartAI(); - - }else{ log.info("[HerobrineAI] Target is in the safe world! ("+AllOnPlayers[player_rolled].getLocation().getWorld().getName()+")");FindPlayer();} - - + + public void FindPlayer() { + if (HerobrineAI.getPluginCore().getConfigDB().OnlyWalkingMode == false) { + + if (isTarget == false) { + + int att_chance = new Random().nextInt(100); + log.info("[HerobrineAI] Generating find chance..."); + + if (att_chance - (HerobrineAI.getPluginCore().getConfigDB().ShowRate * 4) < 55) { + + if (Bukkit.getServer().getOnlinePlayers().size() > 0) { + + log.info("[HerobrineAI] Finding target..."); + Player targetPlayer = Utils.getRandomPlayer(); + + if (targetPlayer.getEntityId() != HerobrineAI.HerobrineEntityID) { + + if (HerobrineAI.getPluginCore().getConfigDB().useWorlds + .contains(targetPlayer.getLocation().getWorld().getName()) + && HerobrineAI.getPluginCore().canAttackPlayerNoMSG(targetPlayer)) { + + CancelTarget(CoreType.ANY); + isTarget = true; + log.info("[HerobrineAI] Target founded, starting AI now! (" + targetPlayer.getName()+ ")"); + setCoreTypeNow(CoreType.START); + StartAI(); + + } else { + log.info("[HerobrineAI] Target is in the safe world! ("+ targetPlayer.getLocation().getWorld().getName() + ")"); + FindPlayer(); + } + + } + + } + } - - - } - + } - - } } } - - public void CancelTarget(CoreType coreType){ - - if (coreType == CoreNow || coreType == CoreType.ANY){ - - if (CoreNow == CoreType.RANDOM_POSITION){ + + public void CancelTarget(CoreType coreType) { + + if (coreType == CoreNow || coreType == CoreType.ANY) { + + if (CoreNow == CoreType.RANDOM_POSITION) { Stop_RM(); Stop_RS(); Stop_CG(); - Location nowloc = new Location((World) Bukkit.getServer().getWorlds().get(0),(float) 0,(float) -20,(float) 0); - nowloc.setYaw((float) 1); - nowloc.setPitch((float) 1); + Location nowloc = new Location((World) Bukkit.getServer().getWorlds().get(0), 0, -20.f, 0); + + nowloc.setYaw(1.f); + nowloc.setPitch(1.f); + HerobrineAI.HerobrineNPC.moveTo(nowloc); - CoreNow=CoreType.ANY; + CoreNow = CoreType.ANY; HerobrineAI.getPluginCore().getPathManager().setPath(null); + } + + if (isTarget == true) { + if (CoreNow == CoreType.ATTACK) { + ((Attack) getCore(CoreType.ATTACK)).StopHandler(); } - - if (isTarget==true){ - if (CoreNow == CoreType.ATTACK){ - ((Attack) getCore(CoreType.ATTACK)).StopHandler(); + if (CoreNow == CoreType.HAUNT) { + ((Haunt) getCore(CoreType.HAUNT)).StopHandler(); + } + + _ticks = 0; + isTarget = false; + HerobrineAI.HerobrineHP = HerobrineAI.HerobrineMaxHP; + + log.info("[HerobrineAI] Target cancelled."); + Location nowloc = new Location((World) Bukkit.getServer().getWorlds().get(0), 0, -20.f, 0); + + nowloc.setYaw(1.f); + nowloc.setPitch(1.f); + + HerobrineAI.HerobrineNPC.moveTo(nowloc); + CoreNow = CoreType.ANY; + Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(AICore.plugin, new Runnable() { + public void run() { + FindPlayer(); + } + }, (6 / HerobrineAI.getPluginCore().getConfigDB().ShowRate) * (HerobrineAI.getPluginCore().getConfigDB().ShowInterval * 1L)); + } - if (CoreNow == CoreType.HAUNT){ - ((Haunt) getCore(CoreType.HAUNT)).StopHandler(); - } - - - _ticks=0; - isTarget=false; - HerobrineAI.HerobrineHP=HerobrineAI.HerobrineMaxHP; - log.info("[HerobrineAI] Target cancelled."); - Location nowloc = new Location((World) Bukkit.getServer().getWorlds().get(0),(float) 0,(float) -20,(float) 0); - nowloc.setYaw((float) 1); - nowloc.setPitch((float) 1); - HerobrineAI.HerobrineNPC.moveTo(nowloc); - CoreNow=CoreType.ANY; - Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(AICore.plugin, new Runnable() { - public void run() { - FindPlayer(); - } - }, (6/HerobrineAI.getPluginCore().getConfigDB().ShowRate) * (HerobrineAI.getPluginCore().getConfigDB().ShowInterval * 1L)); - } } + + public void StartAI() { + if (PlayerTarget.isOnline() && isTarget) { + if (PlayerTarget.isDead() == false) { + Object[] data = { PlayerTarget }; + int chance = new Random().nextInt(100); + if (chance <= 10) { + if (HerobrineAI.getPluginCore().getConfigDB().UseGraveyardWorld == true) { + log.info("[HerobrineAI] Teleporting target to Graveyard world."); + + getCore(CoreType.GRAVEYARD).RunCore(data); + + } + } else if (chance <= 25) { + + getCore(CoreType.ATTACK).RunCore(data); + } else { + getCore(CoreType.HAUNT).RunCore(data); + } + } else { + CancelTarget(CoreType.START); + } + } else { + CancelTarget(CoreType.START); + } } - - public void StartAI(){ - if (PlayerTarget.isOnline() && isTarget){ - if (PlayerTarget.isDead()==false){ - Object[] data = {PlayerTarget}; - int chance= new Random().nextInt(100); - if (chance<=10){ - if(HerobrineAI.getPluginCore().getConfigDB().UseGraveyardWorld==true){ - log.info("[HerobrineAI] Teleporting target to Graveyard world."); - - getCore(CoreType.GRAVEYARD).RunCore(data); - - } - }else if (chance<=25){ - - getCore(CoreType.ATTACK).RunCore(data); - }else{ - getCore(CoreType.HAUNT).RunCore(data); - } - }else{CancelTarget(CoreType.START);} - }else{CancelTarget(CoreType.START);} - } - - public CoreResult setAttackTarget(Player player){ - Object[] data = {player}; + + public CoreResult setAttackTarget(Player player) { + Object[] data = { player }; return getCore(CoreType.ATTACK).RunCore(data); } - - public CoreResult setHauntTarget(Player player){ - Object[] data = {player}; + + public CoreResult setHauntTarget(Player player) { + Object[] data = { player }; return getCore(CoreType.HAUNT).RunCore(data); } - - - - - - public void GraveyardTeleport(final Player player){ - - if (player.isOnline()){ - CancelTarget(CoreType.ANY); - - Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(AICore.plugin, new Runnable() { - public void run() { - Object[] data = {player}; - getCore(CoreType.GRAVEYARD).RunCore(data); - } - }, 1 * 10L); - - - } - - + public void GraveyardTeleport(final Player player) { + + if (player.isOnline()) { + CancelTarget(CoreType.ANY); + + Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(AICore.plugin, new Runnable() { + public void run() { + Object[] data = { player }; + getCore(CoreType.GRAVEYARD).RunCore(data); + } + }, 1 * 10L); + + } + } - - - - - public void PlayerCallTotem(Player player){ - final String playername=player.getName(); - final Location loc = (Location) player.getLocation(); - isTotemCalled=true; - CancelTarget(CoreType.ANY); - Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(AICore.plugin, new Runnable() { - public void run() { - CancelTarget(CoreType.ANY); - Object[] data = {loc, playername}; - getCore(CoreType.TOTEM).RunCore(data); - } - }, 1 * 40L); - } - -private void RandomPositionInterval(){ -if (CoreNow==CoreType.ANY){ - ((RandomPosition)getCore(CoreType.RANDOM_POSITION)).setRandomTicks(0); - int count = HerobrineAI.getPluginCore().getConfigDB().useWorlds.size(); - int chance=new Random().nextInt(count); - Object[] data = {Bukkit.getServer().getWorld(HerobrineAI.getPluginCore().getConfigDB().useWorlds.get(chance))}; - getCore(CoreType.RANDOM_POSITION).RunCore(data); - -} -} - - private void CheckGravityInterval(){ - if (this.CoreNow==CoreType.RANDOM_POSITION){ - ((RandomPosition)getCore(CoreType.RANDOM_POSITION)).CheckGravity(); - } - } - private void RandomMoveInterval(){ - ((RandomPosition)getCore(CoreType.RANDOM_POSITION)).RandomMove(); + public void PlayerCallTotem(Player player) { + final String playername = player.getName(); + final Location loc = (Location) player.getLocation(); + isTotemCalled = true; + CancelTarget(CoreType.ANY); + Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(AICore.plugin, new Runnable() { + public void run() { + CancelTarget(CoreType.ANY); + Object[] data = { loc, playername }; + getCore(CoreType.TOTEM).RunCore(data); + } + }, 1 * 40L); + } - } - - private void RandomSeeInterval(){ - if (CoreNow == CoreType.RANDOM_POSITION){ - ((RandomPosition)getCore(CoreType.RANDOM_POSITION)).CheckPlayerPosition(); - } - - } - private void PyramidInterval(){ + private void RandomPositionInterval() { + if (CoreNow == CoreType.ANY) { + ((RandomPosition) getCore(CoreType.RANDOM_POSITION)).setRandomTicks(0); + int count = HerobrineAI.getPluginCore().getConfigDB().useWorlds.size(); + int chance = new Random().nextInt(count); + Object[] data = { + Bukkit.getServer().getWorld(HerobrineAI.getPluginCore().getConfigDB().useWorlds.get(chance)) }; + getCore(CoreType.RANDOM_POSITION).RunCore(data); - if (new Random().nextBoolean()){ - if (Bukkit.getServer().getOnlinePlayers().length>0){ - log.info("[HerobrineAI] Finding pyramid target..."); - Player [] AllOnPlayers = Bukkit.getServer().getOnlinePlayers(); + } + } - int player_rolled= new Random().nextInt(Bukkit.getServer().getOnlinePlayers().length-1); - if (HerobrineAI.getPluginCore().getConfigDB().useWorlds.contains(AllOnPlayers[player_rolled].getLocation().getWorld().getName())){ - - int chance2=new Random().nextInt(100); - if (chance2<30){ - if (HerobrineAI.getPluginCore().getConfigDB().BuildPyramids==true){ - Object[] data = {AllOnPlayers[player_rolled]}; + private void CheckGravityInterval() { + if (this.CoreNow == CoreType.RANDOM_POSITION) { + ((RandomPosition) getCore(CoreType.RANDOM_POSITION)).CheckGravity(); + } + + } + + private void RandomMoveInterval() { + ((RandomPosition) getCore(CoreType.RANDOM_POSITION)).RandomMove(); + + } + + private void RandomSeeInterval() { + if (CoreNow == CoreType.RANDOM_POSITION) { + ((RandomPosition) getCore(CoreType.RANDOM_POSITION)).CheckPlayerPosition(); + } + + } + + private void PyramidInterval() { + + if (new Random().nextBoolean()) { + if (Bukkit.getServer().getOnlinePlayers().size() > 0) { + log.info("[HerobrineAI] Finding pyramid target..."); + + Player player = Utils.getRandomPlayer(); + if (HerobrineAI.getPluginCore().getConfigDB().useWorlds.contains(player.getLocation().getWorld().getName())) { + + int chance2 = new Random().nextInt(100); + if (chance2 < 30) { + if (HerobrineAI.getPluginCore().getConfigDB().BuildPyramids == true) { + Object[] data = { player }; getCore(CoreType.PYRAMID).RunCore(data); - } - }else if(chance2<70){ - if (HerobrineAI.getPluginCore().getConfigDB().BuryPlayers){ - Object[] data = {AllOnPlayers[player_rolled]}; - getCore(CoreType.BURY_PLAYER).RunCore(data); } - }else{ - if (HerobrineAI.getPluginCore().getConfigDB().UseHeads){ - Object[] data = {AllOnPlayers[player_rolled].getName()}; - getCore(CoreType.HEADS).RunCore(data); - } + } else if (chance2 < 70) { + if (HerobrineAI.getPluginCore().getConfigDB().BuryPlayers) { + Object[] data = { player }; + getCore(CoreType.BURY_PLAYER).RunCore(data); + } + } else { + if (HerobrineAI.getPluginCore().getConfigDB().UseHeads) { + Object[] data = { player.getName() }; + getCore(CoreType.HEADS).RunCore(data); + } } } - } - - } - - } - + } -private void TempleInterval(){ - if (HerobrineAI.getPluginCore().getConfigDB().BuildTemples==true){ - if (new Random().nextBoolean()){ - if (Bukkit.getServer().getOnlinePlayers().length>0){ - log.info("[HerobrineAI] Finding temple target..."); - Player [] AllOnPlayers = Bukkit.getServer().getOnlinePlayers(); - int player_rolled= new Random().nextInt(Bukkit.getServer().getOnlinePlayers().length-1); - if (HerobrineAI.getPluginCore().getConfigDB().useWorlds.contains(AllOnPlayers[player_rolled].getLocation().getWorld().getName())){ - if (new Random().nextBoolean()){ - Object[] data = {AllOnPlayers[player_rolled]}; + } + + } + + private void TempleInterval() { + if (HerobrineAI.getPluginCore().getConfigDB().BuildTemples == true) { + if (new Random().nextBoolean()) { + if (Bukkit.getServer().getOnlinePlayers().size() > 0) { + log.info("[HerobrineAI] Finding temple target..."); + + Player player = Utils.getRandomPlayer(); + + if (HerobrineAI.getPluginCore().getConfigDB().useWorlds.contains(player.getLocation().getWorld().getName())) { + if (new Random().nextBoolean()) { + Object[] data = { player }; getCore(CoreType.TEMPLE).RunCore(data); - + + } } } } - } - } - + } - -} + } -private void BuildCave(){ - if (HerobrineAI.getPluginCore().getConfigDB().BuildStuff==true){ - if (new Random().nextBoolean()){ - if (Bukkit.getServer().getOnlinePlayers().length>0){ - Player [] AllOnPlayers = Bukkit.getServer().getOnlinePlayers(); - int player_rolled= new Random().nextInt(Bukkit.getServer().getOnlinePlayers().length-1); - if (HerobrineAI.getPluginCore().getConfigDB().useWorlds.contains(AllOnPlayers[player_rolled].getLocation().getWorld().getName())){ + private void BuildCave() { + if (HerobrineAI.getPluginCore().getConfigDB().BuildStuff == true) { + if (new Random().nextBoolean()) { + if (Bukkit.getServer().getOnlinePlayers().size() > 0) { - if (new Random().nextBoolean()){ - Object[] data = {AllOnPlayers[player_rolled].getLocation()}; + Player player = Utils.getRandomPlayer(); + + if (HerobrineAI.getPluginCore().getConfigDB().useWorlds + .contains(player.getLocation().getWorld().getName())) { + + if (new Random().nextBoolean()) { + Object[] data = { player.getLocation() }; getCore(CoreType.BUILD_STUFF).RunCore(data); - - } - } - } - } -} -} - - - public void callByDisc(Player player){ - isDiscCalled=false; - if (player.isOnline()){ - CancelTarget(CoreType.ANY); - setHauntTarget(player); - } - } - public void RandomCoreINT(){ - - if (new Random().nextBoolean()){ - if (Bukkit.getServer().getOnlinePlayers().length>0){ - Player [] AllOnPlayers = Bukkit.getServer().getOnlinePlayers(); - int player_rolled= new Random().nextInt(Bukkit.getServer().getOnlinePlayers().length-1); - - if (AllOnPlayers[player_rolled].getEntityId()!=HerobrineAI.HerobrineEntityID){ - if (HerobrineAI.getPluginCore().getConfigDB().useWorlds.contains(AllOnPlayers[player_rolled].getLocation().getWorld().getName())){ - Object[] data = {AllOnPlayers[player_rolled]}; - - if (new Random().nextInt(100)<30){ - - getCore(CoreType.RANDOM_SOUND).RunCore(data); - }else if (new Random().nextInt(100)<60){ - if (HerobrineAI.getPluginCore().getConfigDB().Burn){ - getCore(CoreType.BURN).RunCore(data); - } - }else if (new Random().nextInt(100)<80){ - if (HerobrineAI.getPluginCore().getConfigDB().Curse){ - getCore(CoreType.CURSE).RunCore(data); - } - }else{ - - getCore(CoreType.RANDOM_EXPLOSION).RunCore(data); + } } } } - } - } - } - - - public void DisappearEffect(){ - - Location ploc = (Location) PlayerTarget.getLocation(); - - Location hbloc1 = (Location) HerobrineAI.HerobrineNPC.getBukkitEntity().getLocation(); - hbloc1.setY(hbloc1.getY()+1); - Location hbloc2 = (Location) HerobrineAI.HerobrineNPC.getBukkitEntity().getLocation(); - hbloc2.setY(hbloc2.getY()+0); - Location hbloc3 = (Location) HerobrineAI.HerobrineNPC.getBukkitEntity().getLocation(); - hbloc3.setY(hbloc3.getY()+0.5); - Location hbloc4 = (Location) HerobrineAI.HerobrineNPC.getBukkitEntity().getLocation(); - hbloc4.setY(hbloc4.getY()+1.5); + } + } - - ploc.getWorld().playEffect(hbloc1, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc2, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc3, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc4, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc1, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc2, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc3, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc4, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc1, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc2, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc3, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc4, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc1, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc2, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc3, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc4, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc1, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc2, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc3, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc4, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc1, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc2, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc3, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc4, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc1, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc2, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc3, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc4, Effect.SMOKE, 80); - - ploc.setY(-20); - HerobrineAI.HerobrineNPC.moveTo(ploc); + public void callByDisc(Player player) { + isDiscCalled = false; + if (player.isOnline()) { + CancelTarget(CoreType.ANY); + setHauntTarget(player); + } + } - } - - private void BuildInterval(){ - if(new Random().nextInt(100)<75){ - PyramidInterval(); - }else{ - TempleInterval(); - } - - if (new Random().nextBoolean()){ - BuildCave(); - } - } - - private void StartIntervals(){ - Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(AICore.plugin, new Runnable() { - public void run() { - Start_RP(); - Start_MAIN(); - Start_BD(); - Start_RC(); - } - }, 1 * 5L); + public void RandomCoreINT() { - } - public void Start_RP(){ - RandomPositionINT=true; - RP_INT=Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(AICore.plugin, new Runnable() { - public void run() { - RandomPositionInterval(); - } - },1 * 300L, 1 * 300L); - } - public void Start_BD(){ - BuildINT=true; - BD_INT=Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(AICore.plugin, new Runnable() { - public void run() { - BuildInterval(); - } - }, 1 * 1L * HerobrineAI.getPluginCore().getConfigDB().BuildInterval, 1 * 1L * HerobrineAI.getPluginCore().getConfigDB().BuildInterval); - } - public void Start_MAIN(){ - MainINT=true; - MAIN_INT=Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(AICore.plugin, new Runnable() { - public void run() { - FindPlayer(); + if (new Random().nextBoolean()) { + if (Bukkit.getServer().getOnlinePlayers().size() > 0) { + + Player player = Utils.getRandomPlayer(); + + if (player.getEntityId() != HerobrineAI.HerobrineEntityID) { + if (HerobrineAI.getPluginCore().getConfigDB().useWorlds + .contains(player.getLocation().getWorld().getName())) { + Object[] data = { player }; + if (HerobrineAI.getPluginCore().canAttackPlayerNoMSG(player)) { + if (new Random().nextInt(100) < 30) { + + getCore(CoreType.RANDOM_SOUND).RunCore(data); + } else if (new Random().nextInt(100) < 60) { + if (HerobrineAI.getPluginCore().getConfigDB().Burn) { + getCore(CoreType.BURN).RunCore(data); + } + } else if (new Random().nextInt(100) < 80) { + if (HerobrineAI.getPluginCore().getConfigDB().Curse) { + getCore(CoreType.CURSE).RunCore(data); + } + } else { + + getCore(CoreType.RANDOM_EXPLOSION).RunCore(data); + } + } + } + } + } + } + } + + public void DisappearEffect() { + + Location ploc = (Location) PlayerTarget.getLocation(); + + for(int i=0; i < 5; i++){ + for(float j=0; j < 2; j+= 0.5f){ + Location hbloc = (Location) HerobrineAI.HerobrineNPC.getBukkitEntity().getLocation(); + hbloc.setY(hbloc.getY() + j); + hbloc.getWorld().playEffect(hbloc, Effect.SMOKE, 80); + } + } + + ploc.setY(-20); + HerobrineAI.HerobrineNPC.moveTo(ploc); + + } + + private void BuildInterval() { + if (new Random().nextInt(100) < 75) { + PyramidInterval(); + } else { + TempleInterval(); + } + + if (new Random().nextBoolean()) { + BuildCave(); + } + } + + private void StartIntervals() { + Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(AICore.plugin, new Runnable() { + public void run() { + Start_RP(); + Start_MAIN(); + Start_BD(); + Start_RC(); + } + }, 1 * 5L); + + } + + public void Start_RP() { + RandomPositionINT = true; + RP_INT = Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(AICore.plugin, new Runnable() { + public void run() { + RandomPositionInterval(); + } + }, 1 * 300L, 1 * 300L); + } + + public void Start_BD() { + BuildINT = true; + BD_INT = Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(AICore.plugin, new Runnable() { + public void run() { + BuildInterval(); + } + }, 1 * 1L * HerobrineAI.getPluginCore().getConfigDB().BuildInterval, + 1 * 1L * HerobrineAI.getPluginCore().getConfigDB().BuildInterval); + } + + public void Start_MAIN() { + MainINT = true; + MAIN_INT = Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(AICore.plugin, new Runnable() { + public void run() { + FindPlayer(); + + } + }, (6 / HerobrineAI.getPluginCore().getConfigDB().ShowRate) + * (HerobrineAI.getPluginCore().getConfigDB().ShowInterval * 1L), + (6 / HerobrineAI.getPluginCore().getConfigDB().ShowRate) + * (HerobrineAI.getPluginCore().getConfigDB().ShowInterval * 1L)); + } + + public void Start_RM() { + RandomMoveINT = true; + + RM_INT = Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(AICore.plugin, new Runnable() { + public void run() { + RandomMoveInterval(); + } + }, 1 * 50L, 1 * 50L); + + } + + public void Start_RS() { + RandomSeeINT = true; + RS_INT = Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(AICore.plugin, new Runnable() { + public void run() { + RandomSeeInterval(); + } + }, 1 * 15L, 1 * 15L); + } + + public void Start_RC() { + RandomCoreINT = true; + RC_INT = Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(AICore.plugin, new Runnable() { + public void run() { + RandomCoreINT(); + } + }, (long) (HerobrineAI.getPluginCore().getConfigDB().ShowInterval / 1.5), + (long) (HerobrineAI.getPluginCore().getConfigDB().ShowInterval / 1.5)); + } + + public void Start_CG() { + CheckGravityINT = true; + CG_INT = Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(AICore.plugin, new Runnable() { + public void run() { + CheckGravityInterval(); + } + }, 1 * 10L, 1 * 10L); + } + + public void Stop_RP() { + if (RandomPositionINT) { + RandomPositionINT = false; + Bukkit.getServer().getScheduler().cancelTask(RP_INT); + } + } + + public void Stop_BD() { + if (BuildINT) { + BuildINT = false; + Bukkit.getServer().getScheduler().cancelTask(BD_INT); + } + } + + public void Stop_RS() { + if (RandomSeeINT) { + RandomSeeINT = false; + Bukkit.getServer().getScheduler().cancelTask(RS_INT); + } + } + + public void Stop_RM() { + if (RandomMoveINT) { + RandomMoveINT = false; + Bukkit.getServer().getScheduler().cancelTask(RM_INT); + } + } + + public void Stop_RC() { + if (RandomCoreINT) { + RandomCoreINT = false; + Bukkit.getServer().getScheduler().cancelTask(RC_INT); + } + } + + public void Stop_CG() { + if (CheckGravityINT) { + CheckGravityINT = false; + Bukkit.getServer().getScheduler().cancelTask(CG_INT); + } + } + + public void Stop_MAIN() { + if (MainINT) { + MainINT = false; + Bukkit.getServer().getScheduler().cancelTask(MAIN_INT); + } + } + + public ItemStack createAncientSword() { + ItemStack item = new ItemStack(Material.GOLD_SWORD); + String name = "Ancient Sword"; + ArrayList lore = new ArrayList(); + lore.add("AncientSword"); + lore.add("Very old and mysterious sword."); + lore.add("It protects you aganist Herobrine."); + item = ItemName.setNameAndLore(item, name, lore); + return item; + } + + public boolean isAncientSword(ItemStack item) { + ArrayList lore = new ArrayList(); + lore.add("AncientSword"); + lore.add("Very old and mysterious sword."); + lore.add("It protects you aganist Herobrine."); + if (item != null) { + if (item.getItemMeta() != null) { + if (item.getItemMeta().getLore() != null) { + ArrayList ilore = (ArrayList) item.getItemMeta().getLore(); + if (ilore.containsAll(lore)) { + return true; + + } + } + } + } + + return false; + } + + public boolean checkAncientSword(Inventory inv) { + ItemStack[] itemlist = inv.getContents(); + ItemStack item = null; + int i = 0; + for (i = 0; i <= itemlist.length - 1; i++) { + item = itemlist[i]; + if (isAncientSword(item)) { + return true; + } + } + + return false; + } - } - },(6/HerobrineAI.getPluginCore().getConfigDB().ShowRate) * (HerobrineAI.getPluginCore().getConfigDB().ShowInterval * 1L),(6/HerobrineAI.getPluginCore().getConfigDB().ShowRate) * (HerobrineAI.getPluginCore().getConfigDB().ShowInterval * 1L)); - } - public void Start_RM(){ - RandomMoveINT=true; - - RM_INT=Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(AICore.plugin, new Runnable() { - public void run() { - RandomMoveInterval(); - } - },1 * 50L ,1 * 50L); - - } - public void Start_RS(){ - RandomSeeINT=true; - RS_INT=Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(AICore.plugin, new Runnable() { - public void run() { - RandomSeeInterval(); - } - }, 1 * 15L,1 * 15L); - } - - public void Start_RC(){ - RandomCoreINT=true; - RC_INT=Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(AICore.plugin, new Runnable() { - public void run() { - RandomCoreINT(); - } - }, (long)(HerobrineAI.getPluginCore().getConfigDB().ShowInterval/1.5),(long)(HerobrineAI.getPluginCore().getConfigDB().ShowInterval/1.5)); - } - - public void Start_CG(){ - CheckGravityINT=true; - CG_INT=Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(AICore.plugin, new Runnable() { - public void run() { - CheckGravityInterval(); - } - }, 1 * 10L,1 * 10L); - } - - public void Stop_RP(){ - if (RandomPositionINT){ - RandomPositionINT=false; - Bukkit.getServer().getScheduler().cancelTask(RP_INT); - } - } - public void Stop_BD(){ - if (BuildINT){ - BuildINT=false; - Bukkit.getServer().getScheduler().cancelTask(BD_INT); - } - } - public void Stop_RS(){ - if (RandomSeeINT){ - RandomSeeINT=false; - Bukkit.getServer().getScheduler().cancelTask(RS_INT); - } - } - public void Stop_RM(){ - if (RandomMoveINT){ - RandomMoveINT=false; - Bukkit.getServer().getScheduler().cancelTask(RM_INT); - } - } - public void Stop_RC(){ - if (RandomCoreINT){ - RandomCoreINT=false; - Bukkit.getServer().getScheduler().cancelTask(RC_INT); - } - } - public void Stop_CG(){ - if (CheckGravityINT){ - CheckGravityINT=false; - Bukkit.getServer().getScheduler().cancelTask(CG_INT); - } - } - public void Stop_MAIN(){ - if (MainINT){ - MainINT=false; - Bukkit.getServer().getScheduler().cancelTask(MAIN_INT); - } - } - - public ItemStack createAncientSword(){ - ItemStack item = new ItemStack(Material.GOLD_SWORD); - String name = "Ancient Sword"; - ArrayList lore = new ArrayList(); - lore.add("AncientSword"); - lore.add("Very old and mysterious sword."); - lore.add("This will protect you aganist Herobrine."); - item = ItemName.setNameAndLore(item, name, lore); - return item; - } - - public boolean isAncientSword(ItemStack item){ - ArrayList lore = new ArrayList(); - lore.add("AncientSword"); - lore.add("Very old and mysterious sword."); - lore.add("This will protect you aganist Herobrine."); - if (item!=null){ - if (item.getItemMeta()!=null){ - if (item.getItemMeta().getLore()!=null){ - ArrayList ilore = (ArrayList) item.getItemMeta().getLore(); - if (ilore.containsAll(lore)){ - return true; - - } - } - } - } - - return false; - } - - public boolean checkAncientSword(Inventory inv){ - ItemStack[] itemlist = inv.getContents(); - ItemStack item = null; - int i=0; - for (i=0;i<=itemlist.length-1;i++){ - item=itemlist[i]; - if (isAncientSword(item)){ - return true; - } - } - - return false; - } - } diff --git a/src/org/jakub1221/herobrineai/AI/Core.java b/src/org/jakub1221/herobrineai/AI/Core.java index 18cbd4f..73b6bf6 100644 --- a/src/org/jakub1221/herobrineai/AI/Core.java +++ b/src/org/jakub1221/herobrineai/AI/Core.java @@ -6,11 +6,13 @@ public abstract class Core { private final AppearType Appear; private final CoreType coreType; - private CoreResult nowData=null; + private CoreResult nowData = null; + protected HerobrineAI PluginCore = null; - public Core(CoreType cp,AppearType ap){ + public Core(CoreType cp,AppearType ap, HerobrineAI hb){ this.coreType=cp; this.Appear=ap; + this.PluginCore = hb; } public AppearType getAppear(){ @@ -21,7 +23,7 @@ public abstract class Core { return coreType; } - public abstract CoreResult CallCore(Object[] data); + protected abstract CoreResult CallCore(Object[] data); public CoreResult RunCore(Object[] data){ @@ -53,7 +55,8 @@ public abstract class Core { RANDOM_SOUND, RANDOM_EXPLOSION, BURN, - CURSE; + CURSE, + STARE; } public enum AppearType{ diff --git a/src/org/jakub1221/herobrineai/AI/CoreResult.java b/src/org/jakub1221/herobrineai/AI/CoreResult.java index 4cd9ec9..3aed17f 100644 --- a/src/org/jakub1221/herobrineai/AI/CoreResult.java +++ b/src/org/jakub1221/herobrineai/AI/CoreResult.java @@ -4,15 +4,17 @@ public class CoreResult { private final boolean bo; private final String text; - - public CoreResult(boolean b,String t){ - this.bo=b; - this.text=t; + + public CoreResult(boolean b, String t) { + this.bo = b; + this.text = t; } - public boolean getResult(){ + + public boolean getResult() { return this.bo; } - public String getResultString(){ + + public String getResultString() { return this.text; } } diff --git a/src/org/jakub1221/herobrineai/AI/Message.java b/src/org/jakub1221/herobrineai/AI/Message.java index d6b68c1..c035e8c 100644 --- a/src/org/jakub1221/herobrineai/AI/Message.java +++ b/src/org/jakub1221/herobrineai/AI/Message.java @@ -6,19 +6,18 @@ import org.bukkit.entity.Player; import org.jakub1221.herobrineai.HerobrineAI; public class Message { - - public static void SendMessage(Player player){ - if (HerobrineAI.getPluginCore().getConfigDB().SendMessages==true){ - + + public static void SendMessage(Player player) { + if (HerobrineAI.getPluginCore().getConfigDB().SendMessages == true) { + int count = HerobrineAI.getPluginCore().getConfigDB().useMessages.size(); - - Random randgen = new Random(); - int randmsg=randgen.nextInt(count); - - player.sendMessage(" "+HerobrineAI.getPluginCore().getConfigDB().useMessages.get(randmsg)); - - + + Random randgen = new Random(); + int randmsg = randgen.nextInt(count); + + player.sendMessage(" " + HerobrineAI.getPluginCore().getConfigDB().useMessages.get(randmsg)); + + } } - } - + } diff --git a/src/org/jakub1221/herobrineai/AI/ResetLimits.java b/src/org/jakub1221/herobrineai/AI/ResetLimits.java new file mode 100644 index 0000000..8ccc9b7 --- /dev/null +++ b/src/org/jakub1221/herobrineai/AI/ResetLimits.java @@ -0,0 +1,72 @@ +package org.jakub1221.herobrineai.AI; + +import org.bukkit.Bukkit; +import org.jakub1221.herobrineai.HerobrineAI; + +public class ResetLimits { + + private int taskID = 0; + private int books = 0; + private int signs = 0; + private int heads = 0; + public int maxBooks = 1; + public int maxSigns = 1; + public int maxHeads = 1; + + public ResetLimits() { + + taskID = Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(HerobrineAI.getPluginCore(), + new Runnable() { + public void run() { + resetAll(); + } + }, 1 * 72000L, 1 * 72000L); + } + + public void disable() { + Bukkit.getServer().getScheduler().cancelTask(taskID); + } + + public boolean isBook() { + + if (books < maxBooks) { + books++; + return true; + } + + return false; + } + + public boolean isSign() { + + if (signs < maxSigns) { + signs++; + return true; + } + + return false; + } + + public boolean isHead() { + + if (heads < maxHeads) { + heads++; + return true; + } + + return false; + } + + public void resetAll() { + books = 0; + signs = 0; + heads = 0; + } + + public void updateFromConfig() { + maxBooks = HerobrineAI.getPluginCore().getConfigDB().maxBooks; + maxSigns = HerobrineAI.getPluginCore().getConfigDB().maxSigns; + maxHeads = HerobrineAI.getPluginCore().getConfigDB().maxHeads; + } + +} diff --git a/src/org/jakub1221/herobrineai/AI/cores/Attack.java b/src/org/jakub1221/herobrineai/AI/cores/Attack.java index 8462f25..2b27b66 100644 --- a/src/org/jakub1221/herobrineai/AI/cores/Attack.java +++ b/src/org/jakub1221/herobrineai/AI/cores/Attack.java @@ -11,230 +11,223 @@ import org.bukkit.entity.Player; import org.bukkit.potion.PotionEffect; import org.bukkit.potion.PotionEffectType; import org.jakub1221.herobrineai.HerobrineAI; +import org.jakub1221.herobrineai.Utils; import org.jakub1221.herobrineai.AI.AICore; import org.jakub1221.herobrineai.AI.Core; import org.jakub1221.herobrineai.AI.CoreResult; import org.jakub1221.herobrineai.AI.Message; import org.jakub1221.herobrineai.AI.extensions.Position; -public class Attack extends Core{ - +public class Attack extends Core { + private int ticksToEnd = 0; - private int HandlerINT=0; - private boolean isHandler=false; - - public Attack(){ - super(CoreType.ATTACK,AppearType.APPEAR); - } - - public CoreResult CallCore(Object[] data){ - return setAttackTarget((Player)data[0]); + private int HandlerINT = 0; + private boolean isHandler = false; + + public Attack() { + super(CoreType.ATTACK, AppearType.APPEAR, HerobrineAI.getPluginCore()); } - public CoreResult setAttackTarget(Player player){ - if (!HerobrineAI.getPluginCore().getAICore().checkAncientSword(player.getInventory())){ - if (HerobrineAI.getPluginCore().getSupport().checkAttack(player.getLocation())){ - - HerobrineAI.HerobrineHP=HerobrineAI.HerobrineMaxHP; - ticksToEnd=0; - AICore.PlayerTarget=player; - AICore.isTarget=true; - AICore.log.info("[HerobrineAI] Teleporting to target. ("+ AICore.PlayerTarget.getName()+")"); - Location ploc = (Location) AICore.PlayerTarget.getLocation(); - Object[] data = {ploc}; - HerobrineAI.getPluginCore().getAICore().getCore(CoreType.DESTROY_TORCHES).RunCore(data); - if (HerobrineAI.getPluginCore().getConfigDB().UsePotionEffects){ - AICore.PlayerTarget.addPotionEffect(new PotionEffect(PotionEffectType.CONFUSION, 1000, 1)); - AICore.PlayerTarget.addPotionEffect(new PotionEffect(PotionEffectType.BLINDNESS, 1000, 1)); - AICore.PlayerTarget.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, 1000, 1)); - } - Location tploc = (Location) Position.getTeleportPosition(ploc); - - HerobrineAI.HerobrineNPC.moveTo(tploc); - - Message.SendMessage(AICore.PlayerTarget); - - StartHandler(); - - return new CoreResult(true,"Herobrine attacks "+player.getName()+"!"); - }else{ - return new CoreResult(false,"Player is in secure area."); + public CoreResult CallCore(Object[] data) { + return setAttackTarget((Player) data[0]); } - }else{ - return new CoreResult(false,"Player has Ancient Sword."); - } - } - - public void StopHandler(){ - if (isHandler){ - Bukkit.getScheduler().cancelTask(HandlerINT); - isHandler=false; + + public CoreResult setAttackTarget(Player player) { + if (!PluginCore.getAICore().checkAncientSword(player.getInventory())) { + if (PluginCore.getSupport().checkAttack(player.getLocation())) { + if (!PluginCore.canAttackPlayerNoMSG(player)) { + return new CoreResult(false, "This player is protected."); + } + + HerobrineAI.HerobrineHP = HerobrineAI.HerobrineMaxHP; + ticksToEnd = 0; + AICore.PlayerTarget = player; + AICore.isTarget = true; + AICore.log.info("[HerobrineAI] Teleporting to target. (" + AICore.PlayerTarget.getName() + ")"); + Location ploc = (Location) AICore.PlayerTarget.getLocation(); + Object[] data = { ploc }; + PluginCore.getAICore().getCore(CoreType.DESTROY_TORCHES).RunCore(data); + if (PluginCore.getConfigDB().UsePotionEffects) { + AICore.PlayerTarget.addPotionEffect(new PotionEffect(PotionEffectType.CONFUSION, 1000, 1)); + AICore.PlayerTarget.addPotionEffect(new PotionEffect(PotionEffectType.BLINDNESS, 1000, 1)); + AICore.PlayerTarget.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, 1000, 1)); + } + Location tploc = (Location) Position.getTeleportPosition(ploc); + + HerobrineAI.HerobrineNPC.moveTo(tploc); + + Message.SendMessage(AICore.PlayerTarget); + + StartHandler(); + + return new CoreResult(true, "Herobrine attacks " + player.getName() + "!"); + } else { + return new CoreResult(false, "Player is in secure area."); + } + } else { + return new CoreResult(false, "Player has Ancient Sword."); } } - - public void StartHandler(){ + + public void StopHandler() { + if (isHandler) { + Bukkit.getScheduler().cancelTask(HandlerINT); + isHandler = false; + } + } + + public void StartHandler() { KeepLooking(); FollowHideRepeat(); - isHandler=true; - HandlerINT=Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(AICore.plugin, new Runnable() { - public void run() { - Handler(); - } - }, 1 * 5L,1 * 5L); + isHandler = true; + HandlerINT = Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(AICore.plugin, new Runnable() { + public void run() { + Handler(); + } + }, 1 * 5L, 1 * 5L); } - - private void Handler(){ + + private void Handler() { KeepLooking(); - if (ticksToEnd==1 || ticksToEnd==16 || ticksToEnd==32 || ticksToEnd==48 || ticksToEnd==64 || ticksToEnd==80 || ticksToEnd==96 || ticksToEnd==112 || ticksToEnd==128 || ticksToEnd==144){ + if (ticksToEnd == 1 || ticksToEnd % 16 == 0) FollowHideRepeat(); + + } + + public void KeepLooking() { + if (AICore.PlayerTarget.isOnline() && AICore.isTarget + && PluginCore.getAICore().getCoreTypeNow() == CoreType.ATTACK) { + if (AICore.PlayerTarget.isDead() == false) { + if (ticksToEnd == 160) { + PluginCore.getAICore().CancelTarget(CoreType.ATTACK); + } else { + ticksToEnd++; + + Location ploc = (Location) AICore.PlayerTarget.getLocation(); + ploc.setY(ploc.getY() + 1.5); + HerobrineAI.HerobrineNPC.lookAtPoint(ploc); + if (PluginCore.getConfigDB().Lighting == true) { + int lchance = Utils.getRandomGen().nextInt(100); + + if (lchance > 75) { + Location newloc = (Location) ploc; + int randx = Utils.getRandomGen().nextInt(50); + int randz = Utils.getRandomGen().nextInt(50); + if (Utils.getRandomGen().nextBoolean()) { + newloc.setX(newloc.getX() + randx); + } else { + newloc.setX(newloc.getX() - randx); + } + if (Utils.getRandomGen().nextBoolean()) { + newloc.setZ(newloc.getZ() + randz); + } else { + newloc.setZ(newloc.getZ() - randz); + } + newloc.setY(250); + newloc.getWorld().strikeLightning(newloc); + + } + + } + + } + } else { + PluginCore.getAICore().CancelTarget(CoreType.ATTACK); + } + } else { + PluginCore.getAICore().CancelTarget(CoreType.ATTACK); } } - - public void KeepLooking(){ - if (AICore.PlayerTarget.isOnline() && AICore.isTarget && HerobrineAI.getPluginCore().getAICore().getCoreTypeNow()==CoreType.ATTACK){ - if (AICore.PlayerTarget.isDead()==false){ - if (ticksToEnd==160){HerobrineAI.getPluginCore().getAICore().CancelTarget(CoreType.ATTACK);}else{ - ticksToEnd++; - - Location ploc = (Location) AICore.PlayerTarget.getLocation(); - ploc.setY(ploc.getY()+1.5); - HerobrineAI.HerobrineNPC.lookAtPoint(ploc); - if (HerobrineAI.getPluginCore().getConfigDB().Lighting==true){ - int lchance= new Random().nextInt(100); - - if (lchance>75){ - Location newloc = (Location) ploc; - int randx= new Random().nextInt(50); - int randz= new Random().nextInt(50); - if (new Random().nextBoolean()){ - newloc.setX(newloc.getX()+randx); - }else{ - newloc.setX(newloc.getX()-randx); - } - if (new Random().nextBoolean()){ - newloc.setZ(newloc.getZ()+randz); - }else{ - newloc.setZ(newloc.getZ()-randz); + + public void Follow() { + if (AICore.PlayerTarget.isOnline() + && AICore.isTarget + && PluginCore.getAICore().getCoreTypeNow() == CoreType.ATTACK) { + + if (AICore.PlayerTarget.isDead() == false) { + + if (PluginCore.getConfigDB().useWorlds.contains(AICore.PlayerTarget.getWorld().getName()) + && PluginCore.getSupport().checkAttack(AICore.PlayerTarget.getLocation())) { + + HerobrineAI.HerobrineNPC.moveTo(Position.getTeleportPosition(AICore.PlayerTarget.getLocation())); + Location ploc = (Location) AICore.PlayerTarget.getLocation(); + ploc.setY(ploc.getY() + 1.5); + HerobrineAI.HerobrineNPC.lookAtPoint(ploc); + AICore.PlayerTarget.playSound(AICore.PlayerTarget.getLocation(), Sound.ENTITY_PLAYER_BREATH, 0.75f, 0.75f); + if (PluginCore.getConfigDB().HitPlayer == true) { + int hitchance = Utils.getRandomGen().nextInt(100); + if (hitchance < 55) { + AICore.PlayerTarget.playSound(AICore.PlayerTarget.getLocation(), Sound.ENTITY_PLAYER_HURT, 0.75f, 0.75f); + + AICore.PlayerTarget.damage(4); + + } + } + } else { + PluginCore.getAICore().CancelTarget(CoreType.ATTACK); } - newloc.setY(250); - newloc.getWorld().strikeLightning(newloc); - - } - - - } - - - } - }else{HerobrineAI.getPluginCore().getAICore().CancelTarget(CoreType.ATTACK);} - }else{HerobrineAI.getPluginCore().getAICore().CancelTarget(CoreType.ATTACK);} + } else { + PluginCore.getAICore().CancelTarget(CoreType.ATTACK); + } + } else { + PluginCore.getAICore().CancelTarget(CoreType.ATTACK); + } + } - - public void Follow(){ - if (AICore.PlayerTarget.isOnline() && AICore.isTarget && HerobrineAI.getPluginCore().getAICore().getCoreTypeNow()==CoreType.ATTACK){ - if (AICore.PlayerTarget.isDead()==false){ - if (HerobrineAI.getPluginCore().getConfigDB().useWorlds.contains(AICore.PlayerTarget.getWorld().getName()) && HerobrineAI.getPluginCore().getSupport().checkAttack(AICore.PlayerTarget.getLocation())){ - HerobrineAI.HerobrineNPC.moveTo(Position.getTeleportPosition(AICore.PlayerTarget.getLocation())); - Location ploc = (Location) AICore.PlayerTarget.getLocation(); - ploc.setY(ploc.getY()+1.5); - HerobrineAI.HerobrineNPC.lookAtPoint(ploc); - AICore.PlayerTarget.playSound(AICore.PlayerTarget.getLocation(),Sound.BREATH,(float) 0.75,(float) 0.75); - if (HerobrineAI.getPluginCore().getConfigDB().HitPlayer==true){ - int hitchance= new Random().nextInt(100); - if (hitchance<55){ - AICore.PlayerTarget.playSound(AICore.PlayerTarget.getLocation(), Sound.HURT,(float) 0.75,(float) 0.75); - if (AICore.PlayerTarget.getHealth()>=4){ - AICore.PlayerTarget.setHealth(AICore.PlayerTarget.getHealth()-4); - }else{AICore.PlayerTarget.setHealth(0);} - - - } - } - }else{HerobrineAI.getPluginCore().getAICore().CancelTarget(CoreType.ATTACK);} - }else{HerobrineAI.getPluginCore().getAICore().CancelTarget(CoreType.ATTACK);} - }else{HerobrineAI.getPluginCore().getAICore().CancelTarget(CoreType.ATTACK);} - + + public void Hide() { + if (AICore.PlayerTarget.isOnline() && AICore.isTarget + && PluginCore.getAICore().getCoreTypeNow() == CoreType.ATTACK) { + if (AICore.PlayerTarget.isDead() == false) { + + Location ploc = (Location) AICore.PlayerTarget.getLocation(); + + ploc.setY(-20); + + for(int i=0; i < 5; i++){ + for(float j=0; j < 2; j+= 0.5f){ + Location hbloc = (Location) HerobrineAI.HerobrineNPC.getBukkitEntity().getLocation(); + hbloc.setY(hbloc.getY() + j); + hbloc.getWorld().playEffect(hbloc, Effect.SMOKE, 80); + } + } + + if (PluginCore.getConfigDB().SpawnBats) { + Location hbloc = (Location) HerobrineAI.HerobrineNPC.getBukkitEntity().getLocation(); + ploc.getWorld().spawnEntity(hbloc, EntityType.BAT); + ploc.getWorld().spawnEntity(hbloc, EntityType.BAT); + } + + HerobrineAI.HerobrineNPC.moveTo(ploc); + + } else { + PluginCore.getAICore().CancelTarget(CoreType.ATTACK); + } + } else { + PluginCore.getAICore().CancelTarget(CoreType.ATTACK); + } + } - - public void Hide(){ - if (AICore.PlayerTarget.isOnline() && AICore.isTarget && HerobrineAI.getPluginCore().getAICore().getCoreTypeNow()==CoreType.ATTACK){ - if (AICore.PlayerTarget.isDead()==false){ - - Location ploc = (Location) AICore.PlayerTarget.getLocation(); - - ploc.setY(-20); - - Location hbloc1 = (Location) HerobrineAI.HerobrineNPC.getBukkitEntity().getLocation(); - hbloc1.setY(hbloc1.getY()+1); - Location hbloc2 = (Location) HerobrineAI.HerobrineNPC.getBukkitEntity().getLocation(); - hbloc2.setY(hbloc2.getY()+0); - Location hbloc3 = (Location) HerobrineAI.HerobrineNPC.getBukkitEntity().getLocation(); - hbloc3.setY(hbloc3.getY()+0.5); - Location hbloc4 = (Location) HerobrineAI.HerobrineNPC.getBukkitEntity().getLocation(); - hbloc4.setY(hbloc4.getY()+1.5); - - - ploc.getWorld().playEffect(hbloc1, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc2, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc3, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc4, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc1, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc2, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc3, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc4, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc1, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc2, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc3, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc4, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc1, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc2, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc3, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc4, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc1, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc2, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc3, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc4, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc1, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc2, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc3, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc4, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc1, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc2, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc3, Effect.SMOKE, 80); - ploc.getWorld().playEffect(hbloc4, Effect.SMOKE, 80); - - if (HerobrineAI.getPluginCore().getConfigDB().SpawnBats){ - int cc = new Random().nextInt(3); - if (cc==0){ - ploc.getWorld().spawnEntity(hbloc1, EntityType.BAT); - ploc.getWorld().spawnEntity(hbloc1, EntityType.BAT); - }else if (cc==1){ - ploc.getWorld().spawnEntity(hbloc1, EntityType.BAT); - } - - } - - HerobrineAI.HerobrineNPC.moveTo(ploc); - - }else{HerobrineAI.getPluginCore().getAICore().CancelTarget(CoreType.ATTACK);} - }else{HerobrineAI.getPluginCore().getAICore().CancelTarget(CoreType.ATTACK);} - - } - - public void FollowHideRepeat(){ - if (AICore.PlayerTarget.isOnline() && AICore.isTarget && HerobrineAI.getPluginCore().getAICore().getCoreTypeNow()==CoreType.ATTACK){ - if (AICore.PlayerTarget.isDead()==false){ - Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(AICore.plugin, new Runnable() { - public void run() { - Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(AICore.plugin, new Runnable() { - public void run() { - Hide(); - } - }, 1 * 30L); - Follow(); - } - }, 1 * 45L); - }else{HerobrineAI.getPluginCore().getAICore().CancelTarget(CoreType.ATTACK);} - }else{HerobrineAI.getPluginCore().getAICore().CancelTarget(CoreType.ATTACK);} + + public void FollowHideRepeat() { + if (AICore.PlayerTarget.isOnline() && AICore.isTarget + && PluginCore.getAICore().getCoreTypeNow() == CoreType.ATTACK) { + if (AICore.PlayerTarget.isDead() == false) { + Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(AICore.plugin, new Runnable() { + public void run() { + Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(AICore.plugin, new Runnable() { + public void run() { + Hide(); + } + }, 1 * 30L); + Follow(); + } + }, 1 * 45L); + } else { + PluginCore.getAICore().CancelTarget(CoreType.ATTACK); + } + } else { + PluginCore.getAICore().CancelTarget(CoreType.ATTACK); + } } } diff --git a/src/org/jakub1221/herobrineai/AI/cores/Book.java b/src/org/jakub1221/herobrineai/AI/cores/Book.java index e903e22..dbbb8a9 100644 --- a/src/org/jakub1221/herobrineai/AI/cores/Book.java +++ b/src/org/jakub1221/herobrineai/AI/cores/Book.java @@ -9,61 +9,66 @@ import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.BookMeta; import org.jakub1221.herobrineai.HerobrineAI; +import org.jakub1221.herobrineai.Utils; import org.jakub1221.herobrineai.AI.Core; import org.jakub1221.herobrineai.AI.CoreResult; -public class Book extends Core{ - - public Book(){ - super(CoreType.BOOK,AppearType.NORMAL); +public class Book extends Core { + + public Book() { + super(CoreType.BOOK, AppearType.NORMAL, HerobrineAI.getPluginCore()); } - - public CoreResult CallCore(Object[] data){ + + public CoreResult CallCore(Object[] data) { Player player = (Player) data[0]; - - if (HerobrineAI.getPluginCore().getConfigDB().useWorlds.contains(player.getLocation().getWorld().getName())){ - if (HerobrineAI.getPluginCore().getConfigDB().WriteBooks==true && HerobrineAI.getPluginCore().getSupport().checkBooks(player.getLocation())){ - int chance=new Random().nextInt(100); - if (chance>(100-HerobrineAI.getPluginCore().getConfigDB().BookChance)){ - Inventory chest = (Inventory) data[1]; - if (chest.firstEmpty()!=-1){ - chest.setItem(chest.firstEmpty(),newBook()); - return new CoreResult(true,"Book created!"); - }else{ - return new CoreResult(false,"Book create failed!"); - } - }else{ - return new CoreResult(false,"Books are not allowed!"); - } - }else{ - return new CoreResult(false,"Player is not in allowed world!"); + + if (HerobrineAI.getPluginCore().getConfigDB().useWorlds.contains(player.getLocation().getWorld().getName())) { + + if (HerobrineAI.getPluginCore().getConfigDB().WriteBooks == true + && HerobrineAI.getPluginCore().getSupport().checkBooks(player.getLocation())) { + + int chance = Utils.getRandomGen().nextInt(100); + if (chance > (100 - HerobrineAI.getPluginCore().getConfigDB().BookChance)) { + Inventory chest = (Inventory) data[1]; + if (chest.firstEmpty() != -1) { + if (HerobrineAI.getPluginCore().getAICore().getResetLimits().isBook()) { + chest.setItem(chest.firstEmpty(), newBook()); + return new CoreResult(true, "Book created!"); + } + } else { + return new CoreResult(false, "Book create failed!"); + } + } else { + return new CoreResult(false, "Books are not allowed!"); + } + } else { + return new CoreResult(false, "Player is not in allowed world!"); } } - return new CoreResult(false,"Book create failed!"); + return new CoreResult(false, "Book create failed!"); } - public ItemStack newBook(){ - + + public ItemStack newBook() { + int count = HerobrineAI.getPluginCore().getConfigDB().useBookMessages.size(); - - int chance=new Random().nextInt(count); - + + int chance = Utils.getRandomGen().nextInt(count); + ItemStack book = new ItemStack(Material.WRITTEN_BOOK); BookMeta meta = (BookMeta) book.getItemMeta(); - - + ArrayList list = new ArrayList(); meta.setTitle(""); meta.setAuthor(""); - list.add(0, (String) HerobrineAI.getPluginCore().getConfigDB().useBookMessages.get(chance)); - + meta.setPages(list); book.setItemMeta(meta); - return (ItemStack) book; + return (ItemStack) book; } - + } diff --git a/src/org/jakub1221/herobrineai/AI/cores/BuildStuff.java b/src/org/jakub1221/herobrineai/AI/cores/BuildStuff.java index f47fba7..2740dee 100644 --- a/src/org/jakub1221/herobrineai/AI/cores/BuildStuff.java +++ b/src/org/jakub1221/herobrineai/AI/cores/BuildStuff.java @@ -7,141 +7,144 @@ import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.World; import org.jakub1221.herobrineai.HerobrineAI; +import org.jakub1221.herobrineai.Utils; import org.jakub1221.herobrineai.AI.*; +public class BuildStuff extends Core { -public class BuildStuff extends Core{ - - public BuildStuff(){ - super(CoreType.BUILD_STUFF,AppearType.NORMAL); + public BuildStuff() { + super(CoreType.BUILD_STUFF, AppearType.NORMAL, HerobrineAI.getPluginCore()); } - public CoreResult CallCore(Object[] data){ - if (data.length==2){ - return BuildCave((Location) data[0],true); + + public CoreResult CallCore(Object[] data) { + if (data.length == 2) { + return BuildCave((Location) data[0], true); } return BuildCave((Location) data[0]); } - - public CoreResult BuildCave(Location loc){ - - if (HerobrineAI.getPluginCore().getConfigDB().BuildStuff==true){ - if (HerobrineAI.getPluginCore().getSupport().checkBuild(loc)){ - if (loc.getBlockY()<60){ - - int chance=new Random().nextInt(100); - if (chance>(100-HerobrineAI.getPluginCore().getConfigDB().CaveChance)){ - AICore.log.info("Creating cave..."); - - GenerateCave(loc); - - return new CoreResult(false,"Cave created!"); - - }else{ - return new CoreResult(false,"Roll failed!"); - } - }else{ - return new CoreResult(false,"Location must be under 60 of Y."); - } - }else{ - return new CoreResult(false,"Cannot build stuff."); - } - }else{ - return new CoreResult(false,"Player is in secure location."); - } - - - } - - public CoreResult BuildCave(Location loc,boolean cmd){ - - if (HerobrineAI.getPluginCore().getSupport().checkBuild(loc)){ - if (loc.getBlockY()<60){ - - - AICore.log.info("Creating cave..."); - - GenerateCave(loc); - - return new CoreResult(false,"Cave created!"); - - - }else{ - return new CoreResult(false,"Location must be under 60 of Y."); - } - }else{ - return new CoreResult(false,"Player is in secure location."); + public CoreResult BuildCave(Location loc) { + + if (HerobrineAI.getPluginCore().getConfigDB().BuildStuff == true) { + if (HerobrineAI.getPluginCore().getSupport().checkBuild(loc)) { + if (loc.getBlockY() < 60) { + + int chance = Utils.getRandomGen().nextInt(100); + if (chance > (100 - HerobrineAI.getPluginCore().getConfigDB().CaveChance)) { + AICore.log.info("Creating cave..."); + + GenerateCave(loc); + + return new CoreResult(false, "Cave created!"); + + } else { + return new CoreResult(false, "Roll failed!"); + } + } else { + return new CoreResult(false, "Location must be under 60 of Y."); + } + } else { + return new CoreResult(false, "Cannot build stuff."); } + } else { + return new CoreResult(false, "Player is in secure location."); + } } - - public void GenerateCave(Location loc){ - - if (HerobrineAI.getPluginCore().getSupport().checkBuild(loc)){ - - ArrayList redstoneTorchList = new ArrayList(); - boolean goByX=new Random().nextBoolean(); - boolean goNegative=new Random().nextBoolean(); - - int baseX=loc.getBlockX(); - int baseZ=loc.getBlockZ(); - int baseY=loc.getBlockY(); - - int finalX=0; - int finalZ=0; - - int maxL=new Random().nextInt(10)+4; - int iR=new Random().nextInt(3)+4; - int iNow=0; - while(iNow!=iR){ - iNow++; - goByX=new Random().nextBoolean(); - goNegative=new Random().nextBoolean(); - int i=0; - for (i=0;i<=maxL;i++){ - finalX=0; - finalZ=0; - if (goNegative){ - if (goByX){ - finalX=-1; - }else{ - finalZ=-1; - } - }else{ - if (goByX){ - finalX=1; - }else{ - finalZ=1; + + public CoreResult BuildCave(Location loc, boolean cmd) { + + if (HerobrineAI.getPluginCore().getSupport().checkBuild(loc)) { + if (loc.getBlockY() < 60) { + + AICore.log.info("Creating cave..."); + + GenerateCave(loc); + + return new CoreResult(false, "Cave created!"); + + } else { + return new CoreResult(false, "Location must be under 60 of Y."); + } + } else { + return new CoreResult(false, "Player is in secure location."); + } + + } + + public void GenerateCave(Location loc) { + + if (HerobrineAI.getPluginCore().getSupport().checkBuild(loc)) { + + ArrayList redstoneTorchList = new ArrayList(); + + Random rand = Utils.getRandomGen(); + + boolean goByX = rand.nextBoolean(); + boolean goNegative = rand.nextBoolean(); + + int baseX = loc.getBlockX(); + int baseZ = loc.getBlockZ(); + int baseY = loc.getBlockY(); + + int finalX = 0; + int finalZ = 0; + + int maxL = rand.nextInt(10) + 4; + int iR = rand.nextInt(3) + 4; + int iNow = 0; + + while (iNow != iR) { + + iNow++; + goByX = rand.nextBoolean(); + goNegative = rand.nextBoolean(); + int i = 0; + + for (i = 0; i <= maxL; i++) { + finalX = 0; + finalZ = 0; + if (goNegative) { + if (goByX) { + finalX = -1; + } else { + finalZ = -1; + } + } else { + if (goByX) { + finalX = 1; + } else { + finalZ = 1; + } + } + + baseX = baseX + finalX; + baseZ = baseZ + finalZ; + + loc.getWorld().getBlockAt(baseX, baseY, baseZ).breakNaturally(null); + loc.getWorld().getBlockAt(baseX, baseY + 1, baseZ).breakNaturally(null); + + if (rand.nextBoolean()) { + redstoneTorchList.add(new Location(loc.getWorld(), baseX, baseY + 1, baseZ)); + } } } - - baseX=baseX+finalX; - baseZ=baseZ+finalZ; - - loc.getWorld().getBlockAt(baseX,baseY,baseZ).breakNaturally(null); - loc.getWorld().getBlockAt(baseX,baseY+1,baseZ).breakNaturally(null); - if (new Random().nextBoolean()){ - redstoneTorchList.add(new Location(loc.getWorld(),baseX,baseY+1,baseZ)); + + for (Location _loc : redstoneTorchList) { + PlaceRedstoneTorch(_loc.getWorld(), _loc.getBlockX(), _loc.getBlockY(), _loc.getBlockZ()); } - } - } - - for (Location _loc : redstoneTorchList){ - PlaceRedstoneTorch(_loc.getWorld(),_loc.getBlockX(),_loc.getBlockY(),_loc.getBlockZ()); - } - - AICore.log.info("Cave created!"); - - } - } - - public void PlaceRedstoneTorch(World world,int x,int y,int z){ - Random randgen = new Random(); - int chance=randgen.nextInt(100); - if (chance>70){ - world.getBlockAt(x, y, z).setType(Material.REDSTONE_TORCH_ON); + + AICore.log.info("Cave created!"); + } } - - + + public void PlaceRedstoneTorch(World world, int x, int y, int z) { + Random randgen = Utils.getRandomGen(); + int chance = randgen.nextInt(100); + if (chance > 70) { + world.getBlockAt(x, y, z).setType(Material.REDSTONE_TORCH_ON); + } + } + } diff --git a/src/org/jakub1221/herobrineai/AI/cores/Burn.java b/src/org/jakub1221/herobrineai/AI/cores/Burn.java index a0daea4..5de38ee 100644 --- a/src/org/jakub1221/herobrineai/AI/cores/Burn.java +++ b/src/org/jakub1221/herobrineai/AI/cores/Burn.java @@ -1,13 +1,14 @@ package org.jakub1221.herobrineai.AI.cores; import org.bukkit.entity.Player; +import org.jakub1221.herobrineai.HerobrineAI; import org.jakub1221.herobrineai.AI.Core; import org.jakub1221.herobrineai.AI.CoreResult; public class Burn extends Core { public Burn() { - super(CoreType.BURN, AppearType.NORMAL); + super(CoreType.BURN, AppearType.NORMAL, HerobrineAI.getPluginCore()); } @Override diff --git a/src/org/jakub1221/herobrineai/AI/cores/BuryPlayer.java b/src/org/jakub1221/herobrineai/AI/cores/BuryPlayer.java index 1344ed6..e926c81 100644 --- a/src/org/jakub1221/herobrineai/AI/cores/BuryPlayer.java +++ b/src/org/jakub1221/herobrineai/AI/cores/BuryPlayer.java @@ -10,77 +10,83 @@ import org.jakub1221.herobrineai.HerobrineAI; import org.jakub1221.herobrineai.AI.Core; import org.jakub1221.herobrineai.AI.CoreResult; -public class BuryPlayer extends Core{ +public class BuryPlayer extends Core { - public Block savedBlock1=null; - public Block savedBlock2=null; - - public BuryPlayer(){ - super(CoreType.BURY_PLAYER,AppearType.NORMAL); + public Block savedBlock1 = null; + public Block savedBlock2 = null; + + public BuryPlayer() { + super(CoreType.BURY_PLAYER, AppearType.NORMAL, HerobrineAI.getPluginCore()); } - - public CoreResult CallCore(Object[] data){ - return FindPlace((Player)data[0]); + + public CoreResult CallCore(Object[] data) { + return FindPlace((Player) data[0]); } - + public CoreResult FindPlace(Player player){ - if(HerobrineAI.getPluginCore().getSupport().checkBuild(player.getLocation())){ - - - Location loc = (Location) player.getLocation(); - - if (HerobrineAI.StandBlocks.contains(loc.getWorld().getBlockAt(loc.getBlockX(), loc.getBlockY()-1, loc.getBlockZ()).getType())){ - if (HerobrineAI.StandBlocks.contains(loc.getWorld().getBlockAt(loc.getBlockX(), loc.getBlockY()-2, loc.getBlockZ()).getType())){ - if (HerobrineAI.StandBlocks.contains(loc.getWorld().getBlockAt(loc.getBlockX(), loc.getBlockY()-1, loc.getBlockZ()-1).getType())){ - if (HerobrineAI.StandBlocks.contains(loc.getWorld().getBlockAt(loc.getBlockX(), loc.getBlockY()-2, loc.getBlockZ()-1).getType())){ - if (HerobrineAI.StandBlocks.contains(loc.getWorld().getBlockAt(loc.getBlockX(), loc.getBlockY()-3, loc.getBlockZ()).getType())){ - if (HerobrineAI.StandBlocks.contains(loc.getWorld().getBlockAt(loc.getBlockX(), loc.getBlockY()-3, loc.getBlockZ()-1).getType())){ - if (HerobrineAI.StandBlocks.contains(loc.getWorld().getBlockAt(loc.getBlockX(), loc.getBlockY()-1, loc.getBlockZ()-1).getType())){ - if (HerobrineAI.StandBlocks.contains(loc.getWorld().getBlockAt(loc.getBlockX(), loc.getBlockY()-2, loc.getBlockZ()-1).getType())){ - if (HerobrineAI.StandBlocks.contains(loc.getWorld().getBlockAt(loc.getBlockX(), loc.getBlockY()-1, loc.getBlockZ()-2).getType())){ - if (HerobrineAI.NonStandBlocks.contains(loc.getWorld().getBlockAt(loc.getBlockX(), loc.getBlockY(), loc.getBlockZ()-2).getType())){ - Bury(loc.getWorld(),loc.getBlockX(),loc.getBlockY(),loc.getBlockZ(),player); - return new CoreResult(true,"Player buried!"); - } - } - } - } - } - } - } - } - } - } + if(HerobrineAI.getPluginCore().getSupport().checkBuild(player.getLocation())){ + Location loc = (Location) player.getLocation(); + + int[][] blocks = { + {-1, 0}, + {-2, 0}, + {-1,-1}, + {-2,-1}, + {-3, 0}, + {-3,-1}, + {-1,-1}, + {-2,-1}, + {-1,-2}, + { 0,-2}, + + }; + + for (int i = 0; i < blocks.length; i++){ + + Material mat = loc.getWorld().getBlockAt( + loc.getBlockX(), + loc.getBlockY() + blocks[i][0], + loc.getBlockZ() + blocks[i][1] + ).getType(); + + if(!HerobrineAI.StandBlocks.contains(mat)) + return new CoreResult(false,"Cannot find suitable location!"); + + } + + + Bury(loc.getWorld(),loc.getBlockX(),loc.getBlockY(),loc.getBlockZ(),player); + return new CoreResult(true,"Player buried!"); } - - return new CoreResult(false,"Cannot find a good location!"); + + return new CoreResult(false,"Cannot find suitable location!"); } - - public void Bury(World world,int X,int Y,int Z,Player player){ - - Location loc = new Location(world,X,Y,Z); - - loc.getWorld().getBlockAt(X, Y-1, Z).breakNaturally(); - loc.getWorld().getBlockAt(X, Y-2, Z).breakNaturally(); - loc.getWorld().getBlockAt(X, Y-3, Z).breakNaturally(); - loc.getWorld().getBlockAt(X, Y-1, Z-1).breakNaturally(); - loc.getWorld().getBlockAt(X, Y-2, Z-1).breakNaturally(); - loc.getWorld().getBlockAt(X, Y-3, Z-1).breakNaturally(); - player.teleport(new Location(world,X,Y-3,Z)); - RegenBlocks(world,X,Y,Z,player.getName()); - + + public void Bury(World world, int X, int Y, int Z, Player player) { + + Location loc = new Location(world, X, Y, Z); + + loc.getWorld().getBlockAt(X, Y - 1, Z).breakNaturally(); + loc.getWorld().getBlockAt(X, Y - 2, Z).breakNaturally(); + loc.getWorld().getBlockAt(X, Y - 3, Z).breakNaturally(); + loc.getWorld().getBlockAt(X, Y - 1, Z - 1).breakNaturally(); + loc.getWorld().getBlockAt(X, Y - 2, Z - 1).breakNaturally(); + loc.getWorld().getBlockAt(X, Y - 3, Z - 1).breakNaturally(); + player.teleport(new Location(world, X, Y - 3, Z)); + RegenBlocks(world, X, Y, Z, player.getName()); + } - - public void RegenBlocks(World world,int X,int Y,int Z,String playername){ - Location loc = new Location(world,X,Y,Z); - Location signloc = new Location(world,X,Y,Z-2); - Block signblock = signloc.add(0, 0D ,0).getBlock(); + + public void RegenBlocks(World world, int X, int Y, int Z, String playername) { + Location loc = new Location(world, X, Y, Z); + Location signloc = new Location(world, X, Y, Z - 2); + Block signblock = signloc.add(0, 0D, 0).getBlock(); signblock.setType(Material.SIGN_POST); Sign sign = (Sign) signblock.getState(); sign.setLine(1, playername); sign.update(); - loc.getWorld().getBlockAt(X, Y-1, Z).setTypeIdAndData(98,(byte)2,false); - loc.getWorld().getBlockAt(X, Y-1, Z-1).setTypeIdAndData(98,(byte)2,false); + loc.getWorld().getBlockAt(X, Y - 1, Z).setTypeIdAndData(98, (byte) 2, false); + loc.getWorld().getBlockAt(X, Y - 1, Z - 1).setTypeIdAndData(98, (byte) 2, false); } - + } diff --git a/src/org/jakub1221/herobrineai/AI/cores/Curse.java b/src/org/jakub1221/herobrineai/AI/cores/Curse.java index c594bcf..88dc0a6 100644 --- a/src/org/jakub1221/herobrineai/AI/cores/Curse.java +++ b/src/org/jakub1221/herobrineai/AI/cores/Curse.java @@ -12,36 +12,34 @@ import org.jakub1221.herobrineai.AI.CoreResult; public class Curse extends Core { public Curse() { - super(CoreType.CURSE, AppearType.NORMAL); + super(CoreType.CURSE, AppearType.NORMAL, HerobrineAI.getPluginCore()); } @Override public CoreResult CallCore(Object[] data) { - - final Player player = (Player) data[0]; - - player.addPotionEffect(new PotionEffect(PotionEffectType.CONFUSION, 1000, 1)); - player.addPotionEffect(new PotionEffect(PotionEffectType.BLINDNESS, 1000, 1)); - player.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, 1000, 1)); - player.addPotionEffect(new PotionEffect(PotionEffectType.POISON, 50, 1)); - player.addPotionEffect(new PotionEffect(PotionEffectType.WEAKNESS, 1000, 1)); - - int i = 0; - while(i!=3){ - i++; - Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(HerobrineAI.getPluginCore(), new Runnable(){ - @Override - public void run() { - player.getLocation().getWorld().strikeLightning(new Location(player.getLocation().getWorld(),player.getLocation().getX(),player.getLocation().getY()+1,player.getLocation().getZ())); - player.addPotionEffect(new PotionEffect(PotionEffectType.POISON, 50, 1)); - } - - }, i*150L); - } - - - return new CoreResult(true,"Player cursed!"); + final Player player = (Player) data[0]; + + player.addPotionEffect(new PotionEffect(PotionEffectType.CONFUSION, 1000, 1)); + player.addPotionEffect(new PotionEffect(PotionEffectType.BLINDNESS, 1000, 1)); + player.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, 1000, 1)); + player.addPotionEffect(new PotionEffect(PotionEffectType.POISON, 50, 1)); + player.addPotionEffect(new PotionEffect(PotionEffectType.WEAKNESS, 1000, 1)); + + for (int i=0; i< 3 ; i++) { + Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(HerobrineAI.getPluginCore(), new Runnable() { + + @Override + public void run() { + player.getLocation().getWorld().strikeLightning(new Location(player.getLocation().getWorld(), + player.getLocation().getX(), player.getLocation().getY() + 1, player.getLocation().getZ())); + player.addPotionEffect(new PotionEffect(PotionEffectType.POISON, 50, 1)); + } + + }, i * 150L); + } + + return new CoreResult(true, "Player cursed!"); } } diff --git a/src/org/jakub1221/herobrineai/AI/cores/DestroyTorches.java b/src/org/jakub1221/herobrineai/AI/cores/DestroyTorches.java index 401fb6d..b1e7aa0 100644 --- a/src/org/jakub1221/herobrineai/AI/cores/DestroyTorches.java +++ b/src/org/jakub1221/herobrineai/AI/cores/DestroyTorches.java @@ -8,43 +8,44 @@ import org.jakub1221.herobrineai.HerobrineAI; import org.jakub1221.herobrineai.AI.Core; import org.jakub1221.herobrineai.AI.CoreResult; -public class DestroyTorches extends Core{ +public class DestroyTorches extends Core { - public DestroyTorches(){ - super(CoreType.DESTROY_TORCHES,AppearType.NORMAL); + public DestroyTorches() { + super(CoreType.DESTROY_TORCHES, AppearType.NORMAL, HerobrineAI.getPluginCore()); } - - public CoreResult CallCore(Object[] data){ + + public CoreResult CallCore(Object[] data) { return destroyTorches((Location) data[0]); } - - public CoreResult destroyTorches(Location loc){ - if (HerobrineAI.getPluginCore().getConfigDB().DestroyTorches==true){ - - - int x=loc.getBlockX(); - int y=loc.getBlockY(); - int z=loc.getBlockZ(); - World world=loc.getWorld(); - - int i=-(HerobrineAI.getPluginCore().getConfigDB().DestroyTorchesRadius); // Y - int ii=-(HerobrineAI.getPluginCore().getConfigDB().DestroyTorchesRadius); // X - int iii=-(HerobrineAI.getPluginCore().getConfigDB().DestroyTorchesRadius); // Z - - for(i=-(HerobrineAI.getPluginCore().getConfigDB().DestroyTorchesRadius);i<=HerobrineAI.getPluginCore().getConfigDB().DestroyTorchesRadius;i++){ - for(ii=-(HerobrineAI.getPluginCore().getConfigDB().DestroyTorchesRadius);ii<=HerobrineAI.getPluginCore().getConfigDB().DestroyTorchesRadius;ii++){ - for(iii=-(HerobrineAI.getPluginCore().getConfigDB().DestroyTorchesRadius);iii<=HerobrineAI.getPluginCore().getConfigDB().DestroyTorchesRadius;iii++){ - if(world.getBlockAt(x+ii, y+i, z+iii).getType() == Material.TORCH){ - world.getBlockAt(x+ii, y+i, z+iii).breakNaturally(); - return new CoreResult(true,"Torches destroyed!"); + + public CoreResult destroyTorches(Location loc) { + if (HerobrineAI.getPluginCore().getConfigDB().DestroyTorches == true) { + + int x = loc.getBlockX(); + int y = loc.getBlockY(); + int z = loc.getBlockZ(); + World world = loc.getWorld(); + + int i = -(HerobrineAI.getPluginCore().getConfigDB().DestroyTorchesRadius); // Y + int ii = -(HerobrineAI.getPluginCore().getConfigDB().DestroyTorchesRadius); // X + int iii = -(HerobrineAI.getPluginCore().getConfigDB().DestroyTorchesRadius); // Z + + for (i = -(HerobrineAI.getPluginCore().getConfigDB().DestroyTorchesRadius); i <= HerobrineAI.getPluginCore() + .getConfigDB().DestroyTorchesRadius; i++) { + for (ii = -(HerobrineAI.getPluginCore().getConfigDB().DestroyTorchesRadius); ii <= HerobrineAI + .getPluginCore().getConfigDB().DestroyTorchesRadius; ii++) { + for (iii = -(HerobrineAI.getPluginCore().getConfigDB().DestroyTorchesRadius); iii <= HerobrineAI + .getPluginCore().getConfigDB().DestroyTorchesRadius; iii++) { + if (world.getBlockAt(x + ii, y + i, z + iii).getType() == Material.TORCH) { + world.getBlockAt(x + ii, y + i, z + iii).breakNaturally(); + return new CoreResult(true, "Torches destroyed!"); } } - } + } } - + } - return new CoreResult(false,"Cannot destroy torches."); + return new CoreResult(false, "Cannot destroy torches."); } - } diff --git a/src/org/jakub1221/herobrineai/AI/cores/Graveyard.java b/src/org/jakub1221/herobrineai/AI/cores/Graveyard.java index 0b17e9d..8598510 100644 --- a/src/org/jakub1221/herobrineai/AI/cores/Graveyard.java +++ b/src/org/jakub1221/herobrineai/AI/cores/Graveyard.java @@ -9,134 +9,155 @@ import org.bukkit.World; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; import org.jakub1221.herobrineai.HerobrineAI; +import org.jakub1221.herobrineai.Utils; import org.jakub1221.herobrineai.AI.AICore; import org.jakub1221.herobrineai.AI.Core; import org.jakub1221.herobrineai.AI.CoreResult; -public class Graveyard extends Core{ - +public class Graveyard extends Core { private List LivingEntities; - private int ticks=0; - private double savedX=0; - private double savedY=0; - private double savedZ=0; - private World savedWorld=null; - private Player savedPlayer=null; - - public Graveyard(){ - super(CoreType.GRAVEYARD,AppearType.APPEAR); + private int ticks = 0; + private double savedX = 0; + private double savedY = 0; + private double savedZ = 0; + private World savedWorld = null; + private Player savedPlayer = null; + + public Graveyard() { + super(CoreType.GRAVEYARD, AppearType.APPEAR, HerobrineAI.getPluginCore()); } - - public CoreResult CallCore(Object[] data){ + + public CoreResult CallCore(Object[] data) { return Teleport((Player) data[0]); } - - public CoreResult Teleport(Player player){ - if (HerobrineAI.getPluginCore().getConfigDB().UseGraveyardWorld==true){ - if (!HerobrineAI.getPluginCore().getAICore().checkAncientSword(player.getInventory())){ - LivingEntities = Bukkit.getServer().getWorld("world_herobrineai_graveyard").getLivingEntities(); - for (int i=0;i<=LivingEntities.size()-1;i++){ - - if (LivingEntities.get(i) instanceof Player || LivingEntities.get(i).getEntityId() == HerobrineAI.HerobrineEntityID){}else{ + public CoreResult Teleport(Player player) { + if (HerobrineAI.getPluginCore().getConfigDB().UseGraveyardWorld == true) { + if (!HerobrineAI.getPluginCore().getAICore().checkAncientSword(player.getInventory())) { + LivingEntities = Bukkit.getServer().getWorld("world_herobrineai_graveyard").getLivingEntities(); + for (int i = 0; i <= LivingEntities.size() - 1; i++) { + + if (LivingEntities.get(i) instanceof Player + || LivingEntities.get(i).getEntityId() == HerobrineAI.HerobrineEntityID) { + } else { + + LivingEntities.get(i).remove(); + + } + + } + + Bukkit.getServer().getWorld("world_herobrineai_graveyard").setTime(15000); + HerobrineAI.getPluginCore().getAICore().PlayerTarget = player; + Location loc = (Location) player.getLocation(); + savedX = loc.getX(); + savedY = loc.getY(); + savedZ = loc.getZ(); + savedWorld = loc.getWorld(); + savedPlayer = player; + loc.setWorld(Bukkit.getServer().getWorld("world_herobrineai_graveyard")); + loc.setX(-2.49); + loc.setY(4); + loc.setZ(10.69); + loc.setYaw(-179.85f); + loc.setPitch(0.44999f); + player.teleport(loc); - LivingEntities.get(i).remove(); + Start(); + HerobrineAI.getPluginCore().getAICore().isTarget = true; + Bukkit.getServer().getWorld("world_herobrineai_graveyard").setStorm(false); + + return new CoreResult(true, "Player successfully teleported!"); + } else { + return new CoreResult(false, "Player has Ancient Sword."); } - } - - Bukkit.getServer().getWorld("world_herobrineai_graveyard").setTime(15000); - HerobrineAI.getPluginCore().getAICore().PlayerTarget=player; - Location loc = (Location) player.getLocation(); - savedX=loc.getX(); - savedY=loc.getY(); - savedZ=loc.getZ(); - savedWorld=loc.getWorld(); - savedPlayer=player; - loc.setWorld(Bukkit.getServer().getWorld("world_herobrineai_graveyard")); - loc.setX(-2.49); - loc.setY(4); - loc.setZ(10.69); - loc.setYaw((float)-179.85); - loc.setPitch((float) 0.44999); - player.teleport(loc); - Start(); - HerobrineAI.getPluginCore().getAICore().isTarget=true; - Bukkit.getServer().getWorld("world_herobrineai_graveyard").setStorm(false); - return new CoreResult(true,"Player successfully teleported!"); - }else{return new CoreResult(false,"Player has Ancient Sword.");} + return new CoreResult(false, "Graveyard world is not allowed!"); } - return new CoreResult(false,"Graveyard world is not allowed!"); - } - public void Start(){ - - - ticks=0; - HerobrineAI.HerobrineNPC.moveTo(new Location(Bukkit.getServer().getWorld("world_herobrineai_graveyard"),-2.49,4,-4.12)); + + public void Start() { + + ticks = 0; + HerobrineAI.HerobrineNPC + .moveTo(new Location(Bukkit.getServer().getWorld("world_herobrineai_graveyard"), -2.49, 4, -4.12)); HandlerInterval(); - + } - - public void HandlerInterval(){ - - Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(AICore.plugin, new Runnable() { - public void run() { - Handler(); - } - }, 1 * 5L); - } - - public void Handler(){ - - LivingEntities = Bukkit.getServer().getWorld("world_herobrineai_graveyard").getLivingEntities(); - for (int i=0;i<=LivingEntities.size()-1;i++){ - - if (LivingEntities.get(i) instanceof Player || LivingEntities.get(i).getEntityId() == HerobrineAI.HerobrineEntityID){}else{ - - LivingEntities.get(i).remove(); - + + public void HandlerInterval() { + + Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(AICore.plugin, new Runnable() { + public void run() { + Handler(); } - + }, 1 * 5L); + } + + public void Handler() { + + LivingEntities = Bukkit.getServer().getWorld("world_herobrineai_graveyard").getLivingEntities(); + for (int i = 0; i <= LivingEntities.size() - 1; i++) { + + if (LivingEntities.get(i) instanceof Player + || LivingEntities.get(i).getEntityId() == HerobrineAI.HerobrineEntityID) { + } else { + + LivingEntities.get(i).remove(); + + } + } - - if (savedPlayer.isDead()==true || savedPlayer.isOnline()==false || savedPlayer.getLocation().getWorld()!=Bukkit.getServer().getWorld("world_herobrineai_graveyard") || this.ticks==90 || HerobrineAI.getPluginCore().getAICore().isTarget==false){ - if ( HerobrineAI.getPluginCore().getAICore().PlayerTarget==savedPlayer){ + + if (savedPlayer.isDead() == true + || savedPlayer.isOnline() == false + || savedPlayer.getLocation().getWorld() != Bukkit.getServer().getWorld("world_herobrineai_graveyard") + || this.ticks == 90 || HerobrineAI.getPluginCore().getAICore().isTarget == false) { + + if (HerobrineAI.getPluginCore().getAICore().PlayerTarget == savedPlayer) { HerobrineAI.getPluginCore().getAICore().CancelTarget(CoreType.GRAVEYARD); } - savedPlayer.teleport(new Location(savedWorld,savedX,savedY,savedZ)); - }else{ + savedPlayer.teleport(new Location(savedWorld, savedX, savedY, savedZ)); + + } else { Location ploc = (Location) savedPlayer.getLocation(); - ploc.setY(ploc.getY()+1.5); - HerobrineAI.HerobrineNPC.lookAtPoint(ploc); - if (ticks==1){ - HerobrineAI.HerobrineNPC.moveTo(new Location(Bukkit.getServer().getWorld("world_herobrineai_graveyard"),-2.49,4,-4.12)); - } - else if (ticks==40){ - HerobrineAI.HerobrineNPC.moveTo(new Location(Bukkit.getServer().getWorld("world_herobrineai_graveyard"),-2.49,4,-0.5)); - }else if (ticks==60){ - HerobrineAI.HerobrineNPC.moveTo(new Location(Bukkit.getServer().getWorld("world_herobrineai_graveyard"),-2.49,4,5.1)); - - }else if (ticks==84){ - HerobrineAI.HerobrineNPC.moveTo(new Location(Bukkit.getServer().getWorld("world_herobrineai_graveyard"),-2.49,4,7.5)); - + ploc.setY(ploc.getY() + 1.5); + HerobrineAI.HerobrineNPC.lookAtPoint(ploc); + if (ticks == 1) { + HerobrineAI.HerobrineNPC.moveTo( + new Location(Bukkit.getServer().getWorld("world_herobrineai_graveyard"), -2.49, 4, -4.12)); + } else if (ticks == 40) { + HerobrineAI.HerobrineNPC.moveTo( + new Location(Bukkit.getServer().getWorld("world_herobrineai_graveyard"), -2.49, 4, -0.5)); + } else if (ticks == 60) { + HerobrineAI.HerobrineNPC.moveTo( + new Location(Bukkit.getServer().getWorld("world_herobrineai_graveyard"), -2.49, 4, 5.1)); + + } else if (ticks == 84) { + HerobrineAI.HerobrineNPC.moveTo( + new Location(Bukkit.getServer().getWorld("world_herobrineai_graveyard"), -2.49, 4, 7.5)); + + } + + Random randomGen = Utils.getRandomGen(); + + if (randomGen.nextInt(4) == 1) { + Location newloc = new Location(Bukkit.getServer().getWorld("world_herobrineai_graveyard"), + (double) randomGen.nextInt(400), (double) Utils.getRandomGen().nextInt(20) + 20, + (double) randomGen.nextInt(400)); + Bukkit.getServer().getWorld("world_herobrineai_graveyard").strikeLightning(newloc); } - - if (new Random().nextInt(4)==1){ - Location newloc = new Location(Bukkit.getServer().getWorld("world_herobrineai_graveyard"),(double)new Random().nextInt(400),(double)new Random().nextInt(20)+20,(double)new Random().nextInt(400)); - Bukkit.getServer().getWorld("world_herobrineai_graveyard").strikeLightning(newloc); - } ticks++; HandlerInterval(); - + } - + } - - public Location getSavedLocation(){ - return new Location(savedWorld,savedX,savedY,savedZ); + + public Location getSavedLocation() { + return new Location(savedWorld, savedX, savedY, savedZ); } - + } diff --git a/src/org/jakub1221/herobrineai/AI/cores/Haunt.java b/src/org/jakub1221/herobrineai/AI/cores/Haunt.java index de07b28..a5c372f 100644 --- a/src/org/jakub1221/herobrineai/AI/cores/Haunt.java +++ b/src/org/jakub1221/herobrineai/AI/cores/Haunt.java @@ -1,254 +1,305 @@ package org.jakub1221.herobrineai.AI.cores; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; import java.util.Random; +import java.util.Set; import org.bukkit.Bukkit; import org.bukkit.Location; +import org.bukkit.Material; import org.bukkit.World; -import org.bukkit.entity.CreatureType; +import org.bukkit.block.Block; import org.bukkit.entity.EntityType; import org.bukkit.entity.Player; import org.bukkit.entity.Wolf; import org.jakub1221.herobrineai.HerobrineAI; +import org.jakub1221.herobrineai.Utils; import org.jakub1221.herobrineai.AI.AICore; import org.jakub1221.herobrineai.AI.Core; import org.jakub1221.herobrineai.AI.CoreResult; -public class Haunt extends Core{ +import com.google.common.collect.Sets; + +public class Haunt extends Core { private int _ticks = 0; - private int ticksToEnd = 0; private int spawnedWolves = 0; private int spawnedBats = 0; - private int KL_INT=0; - private int PS_INT=0; - private boolean isHandler=false; - - public Haunt(){ - super(CoreType.HAUNT,AppearType.APPEAR); + private int KL_INT = 0; + private int PS_INT = 0; + private boolean isHandler = false; + private boolean isFirst = true; + + public Haunt() { + super(CoreType.HAUNT, AppearType.APPEAR, HerobrineAI.getPluginCore()); } - - public CoreResult CallCore(Object[] data){ + + public CoreResult CallCore(Object[] data) { return setHauntTarget((Player) data[0]); } - - public CoreResult setHauntTarget(Player player){ - if (HerobrineAI.getPluginCore().getSupport().checkHaunt(player.getLocation())){ - - spawnedWolves=0; - spawnedBats=0; - _ticks=0; - ticksToEnd=0; - AICore.isTarget=true; - AICore.PlayerTarget=player; - AICore.log.info("[HerobrineAI] Hauntig player!"); - Location loc = (Location) HerobrineAI.HerobrineNPC.getBukkitEntity().getLocation(); - loc.setY(-20); - HerobrineAI.HerobrineNPC.moveTo(loc); - - StartHandler(); - return new CoreResult(true,"Herobrine haunts "+player.getName()+"!"); + + public CoreResult setHauntTarget(Player player) { + if (PluginCore.getSupport().checkHaunt(player.getLocation())) { + if (!PluginCore.canAttackPlayerNoMSG(player)) { + return new CoreResult(false, "This player is protected."); + } + spawnedWolves = 0; + spawnedBats = 0; + _ticks = 0; + isFirst = true; + AICore.isTarget = true; + AICore.PlayerTarget = player; + AICore.log.info("[HerobrineAI] Hauntig player!"); + Location loc = (Location) HerobrineAI.HerobrineNPC.getBukkitEntity().getLocation(); + loc.setY(-20); + HerobrineAI.HerobrineNPC.moveTo(loc); + + StartHandler(); + return new CoreResult(true, "Herobrine haunts " + player.getName() + "!"); + } + return new CoreResult(false, "Player is in secure area!"); } - return new CoreResult(false,"Player is in secure area!"); + + public void StartHandler() { + isHandler = true; + KL_INT = Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(AICore.plugin, new Runnable() { + public void run() { + KeepLookingHaunt(); + } + }, 1 * 5L, 1 * 5L); + PS_INT = Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(AICore.plugin, new Runnable() { + public void run() { + PlaySounds(); + } + }, 1 * 35L, 1 * 35L); } - - public void StartHandler(){ - isHandler=true; - KL_INT=Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(AICore.plugin, new Runnable() { - public void run() { - KeepLookingHaunt(); - } - }, 1 * 5L, 1 * 5L); - PS_INT=Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(AICore.plugin, new Runnable() { - public void run() { - PlaySounds(); - } - }, 1 * 35L, 1 * 35L); - } - - public void StopHandler(){ - if(isHandler){ - isHandler=false; + + public void StopHandler() { + if (isHandler) { + isHandler = false; Bukkit.getScheduler().cancelTask(KL_INT); Bukkit.getScheduler().cancelTask(PS_INT); } } - - public void PlaySounds(){ - if (AICore.PlayerTarget.isOnline() && AICore.isTarget && HerobrineAI.getPluginCore().getAICore().getCoreTypeNow()==CoreType.HAUNT){ - if (AICore.PlayerTarget.isDead()==false){ - if (ticksToEnd==35){HerobrineAI.getPluginCore().getAICore().CancelTarget(CoreType.HAUNT);}else{ - ticksToEnd++; - Object[] data = {AICore.PlayerTarget}; - HerobrineAI.getPluginCore().getAICore().getCore(CoreType.SOUNDF).RunCore(data); - - Location ploc = (Location) AICore.PlayerTarget.getLocation(); - - Random randxgen = new Random(); - int randx= randxgen.nextInt(100); - if (randx<70){} - else if (randx<80 && spawnedBats<=3){ - if (HerobrineAI.getPluginCore().getConfigDB().SpawnBats){ - ploc.getWorld().spawnEntity(ploc, EntityType.BAT); - spawnedBats++; - } - }else if (randx<90 && spawnedWolves<=2){ - if (HerobrineAI.getPluginCore().getConfigDB().SpawnWolves){ - Wolf wolf = (Wolf) ploc.getWorld().spawnCreature(ploc, CreatureType.WOLF); - wolf.setAdult(); - wolf.setAngry(true); - spawnedWolves++; - } - } - - if (HerobrineAI.getPluginCore().getConfigDB().Lighting==true){ - - int lchance= new Random().nextInt(100); - - if (lchance>75){ - Location newloc = (Location) ploc; - - int randz= new Random().nextInt(50); - int randxp= new Random().nextInt(1); - int randzp= new Random().nextInt(1); - - if (randxp==1){ - newloc.setX(newloc.getX()+randx); - }else{ - newloc.setX(newloc.getX()-randx); - } - if (randzp==1){ - newloc.setZ(newloc.getZ()+randz); - }else{ - newloc.setZ(newloc.getZ()-randz); - } - - newloc.setY(250); - newloc.getWorld().strikeLightning(newloc); - - } - - - } - - - if (ticksToEnd==1){ - Object[] data2 = {AICore.PlayerTarget.getLocation()}; - HerobrineAI.getPluginCore().getAICore().getCore(CoreType.BUILD_STUFF).RunCore(data2);} - - - } - }else{HerobrineAI.getPluginCore().getAICore().CancelTarget(CoreType.HAUNT);} - }else{HerobrineAI.getPluginCore().getAICore().CancelTarget(CoreType.HAUNT);} - } - - public void KeepLookingHaunt(){ - if (AICore.PlayerTarget.isOnline() && AICore.isTarget && HerobrineAI.getPluginCore().getAICore().getCoreTypeNow()==CoreType.HAUNT){ - if (AICore.PlayerTarget.isDead()==false){ - - Location loc = (Location) HerobrineAI.HerobrineNPC.getBukkitEntity().getLocation(); - - Player [] AllOnPlayers = Bukkit.getServer().getOnlinePlayers(); - if (Bukkit.getServer().getOnlinePlayers().length>0){ - int i = 0; - for (i=0;i<=Bukkit.getServer().getOnlinePlayers().length-1;i++){ - if (AllOnPlayers[i].getEntityId()!=HerobrineAI.HerobrineEntityID){ - Location ploc = (Location) AllOnPlayers[i].getLocation(); - - if (ploc.getWorld() == loc.getWorld() && ploc.getX()+5>loc.getX() && ploc.getX()-5loc.getZ() && ploc.getZ()-5loc.getY() && ploc.getY()-5 290) { + PluginCore.getAICore().CancelTarget(CoreType.HAUNT); + } else { + + Object[] data = { AICore.PlayerTarget }; + PluginCore.getAICore().getCore(CoreType.SOUNDF).RunCore(data); + + Location ploc = (Location) AICore.PlayerTarget.getLocation(); + + Random randxgen = Utils.getRandomGen(); + int randx = randxgen.nextInt(100); + if (randx < 70) { + } else if (randx < 80 && spawnedBats < 2) { + if (PluginCore.getConfigDB().SpawnBats) { + ploc.getWorld().spawnEntity(ploc, EntityType.BAT); + spawnedBats++; } - + } else if (randx < 90 && spawnedWolves < 1) { + if (PluginCore.getConfigDB().SpawnWolves) { + Wolf wolf = (Wolf) ploc.getWorld().spawnEntity(ploc, EntityType.WOLF); + wolf.setAdult(); + wolf.setAngry(true); + spawnedWolves++; + } + } + + if (PluginCore.getConfigDB().Lighting == true) { + + int lchance = randxgen.nextInt(100); + + if (lchance > 75) { + Location newloc = (Location) ploc; + + int randz = randxgen.nextInt(50); + int randxp = randxgen.nextInt(1); + int randzp = randxgen.nextInt(1); + + if (randxp == 1) { + newloc.setX(newloc.getX() + randx); + } else { + newloc.setX(newloc.getX() - randx); + } + if (randzp == 1) { + newloc.setZ(newloc.getZ() + randz); + } else { + newloc.setZ(newloc.getZ() - randz); + } + + newloc.setY(250); + newloc.getWorld().strikeLightning(newloc); + + } + + } + + if (isFirst) { + Object[] data2 = { AICore.PlayerTarget.getLocation() }; + PluginCore.getAICore().getCore(CoreType.BUILD_STUFF).RunCore(data2); + } + isFirst = false; + } + } else { + PluginCore.getAICore().CancelTarget(CoreType.HAUNT); + } + } else { + PluginCore.getAICore().CancelTarget(CoreType.HAUNT); + } + } + + public void KeepLookingHaunt() { + if (AICore.PlayerTarget.isOnline() && AICore.isTarget + && PluginCore.getAICore().getCoreTypeNow() == CoreType.HAUNT) { + if (AICore.PlayerTarget.isDead() == false) { + + Location loc = (Location) HerobrineAI.HerobrineNPC.getBukkitEntity().getLocation(); + + if (Bukkit.getServer().getOnlinePlayers().size() > 0) { + + + Player player = Utils.getRandomPlayer(); + + if(player == null) + return; + + Location ploc = (Location) player.getLocation(); + + if (ploc.getWorld() == loc.getWorld() + && ploc.getX() + 5 > loc.getX() + && ploc.getX() - 5 < loc.getX() + && ploc.getZ() + 5 > loc.getZ() + && ploc.getZ() - 5 < loc.getZ() + && ploc.getY() + 5 > loc.getY() + && ploc.getY() - 5 < loc.getY()) { + + PluginCore.getAICore().DisappearEffect(); + } } - - } - - - - - return false; - + HerobrineAI.HerobrineHP = HerobrineAI.HerobrineMaxHP; + loc = AICore.PlayerTarget.getLocation(); + loc.setY(loc.getY() + 1.5); + HerobrineAI.HerobrineNPC.lookAtPoint(loc); + + _ticks++; + + AICore _aicore = PluginCore.getAICore(); + + if(_ticks % 30 == 0) + HauntTP(); + else if(_ticks % 20 == 0) + _aicore.DisappearEffect(); + + + } else { + PluginCore.getAICore().CancelTarget(CoreType.HAUNT); + } + } else { + PluginCore.getAICore().CancelTarget(CoreType.HAUNT); + } } - - public void Teleport(World world,int X,int Y,int Z){ + + public void HauntTP() { + if (AICore.PlayerTarget.isOnline() && AICore.isTarget + && PluginCore.getAICore().getCoreTypeNow() == CoreType.HAUNT) { + if (AICore.PlayerTarget.isDead() == false) { + if (PluginCore.getConfigDB().useWorlds + .contains(AICore.PlayerTarget.getWorld().getName())) { + + FindAndTeleport(AICore.PlayerTarget); + Location ploc = (Location) AICore.PlayerTarget.getLocation(); + ploc.setY(ploc.getY() + 1.5); + HerobrineAI.HerobrineNPC.lookAtPoint(ploc); + + } else { + PluginCore.getAICore().CancelTarget(CoreType.HAUNT); + } + } else { + PluginCore.getAICore().CancelTarget(CoreType.HAUNT); + } + } else { + PluginCore.getAICore().CancelTarget(CoreType.HAUNT); + } + + } + + public boolean FindAndTeleport(Player player) { + + Location loc = (Location) player.getLocation(); + + int x = 0; + int z = 0; + int y = 0; + + Random randGen = Utils.getRandomGen(); + int xMax = randGen.nextInt(10) + 10; + int zMax = randGen.nextInt(10) + 10; + int randY = randGen.nextInt(5) + 5; + xMax = randGen.nextBoolean() ? -xMax : xMax; + zMax = randGen.nextBoolean() ? -zMax : zMax; + + for (y = -randY; y <= randY; y++) { + + for (x = -xMax; xMax > 0 ? x <= xMax : x >= xMax; x += xMax > 0 ? 1 : -1) { + for (z = -zMax; zMax > 0 ? z <= zMax : z >= zMax; z += zMax > 0 ? 1 : -1) { + if (!(x >= -4 && x <= 4 && z >= -4 && z <= 4)) { + + Material blockBottom = loc.getWorld().getBlockAt( + x + loc.getBlockX(), + y + loc.getBlockY() - 1, + z + loc.getBlockZ()).getType(); + Material blockMiddle = loc.getWorld().getBlockAt( + x + loc.getBlockX(), + y + loc.getBlockY(), + z + loc.getBlockZ()).getType(); + + Material blockTop = loc.getWorld().getBlockAt( + x + loc.getBlockX(), + y + loc.getBlockY() + 1, + z + loc.getBlockZ()).getType(); + + List mats = new ArrayList(); + mats.add(blockBottom); + mats.add(blockMiddle); + mats.add(blockTop); + + if (HerobrineAI.StandBlocks.containsAll(mats)){ + Teleport(loc.getWorld(), x + loc.getBlockX(), y + loc.getBlockY(), z + loc.getBlockZ()); + return true; + } + } + } + + } + + } + + return false; + + } + + public void Teleport(World world, int X, int Y, int Z) { + Location loc = (Location) HerobrineAI.HerobrineNPC.getBukkitEntity().getLocation(); loc.setWorld(world); loc.setX((double) X); loc.setY((double) Y); loc.setZ((double) Z); HerobrineAI.HerobrineNPC.moveTo(loc); - + } - + } - - - diff --git a/src/org/jakub1221/herobrineai/AI/cores/Heads.java b/src/org/jakub1221/herobrineai/AI/cores/Heads.java index 6016032..02a8dd2 100644 --- a/src/org/jakub1221/herobrineai/AI/cores/Heads.java +++ b/src/org/jakub1221/herobrineai/AI/cores/Heads.java @@ -10,77 +10,88 @@ import org.bukkit.Material; import org.bukkit.block.Block; import org.bukkit.entity.Player; import org.jakub1221.herobrineai.HerobrineAI; +import org.jakub1221.herobrineai.Utils; import org.jakub1221.herobrineai.AI.AICore; import org.jakub1221.herobrineai.AI.Core; import org.jakub1221.herobrineai.AI.CoreResult; import org.jakub1221.herobrineai.misc.BlockChanger; -public class Heads extends Core{ +public class Heads extends Core { - private boolean isCalled=false; + private boolean isCalled = false; private List headList = new ArrayList(); - - public Heads(){ - super(CoreType.HEADS,AppearType.NORMAL); + + public Heads() { + super(CoreType.HEADS, AppearType.NORMAL, HerobrineAI.getPluginCore()); } - - public CoreResult CallCore(Object[] data){ - if (isCalled==false){ - if (Bukkit.getPlayer((String) data[0]).isOnline()){ - Player player = (Player) Bukkit.getServer().getPlayer((String) data[0]); - if(HerobrineAI.getPluginCore().getSupport().checkBuild(player.getLocation())){ - if (HerobrineAI.getPluginCore().getConfigDB().UseHeads){ - - Location loc = player.getLocation(); - int px=loc.getBlockX(); - int pz=loc.getBlockZ(); - int y=0; - int x=-7; - int z=-7; - for (x=-7;x<=7;x++){ - for (z=-7;z<=7;z++){ - if(new Random().nextInt(7) == new Random().nextInt(7)){ - - if (HerobrineAI.NonStandBlocks.contains(loc.getWorld().getHighestBlockAt(px+x, pz+z).getType())){ - y=loc.getWorld().getHighestBlockYAt(px+x, pz+z); - }else{ - y=loc.getWorld().getHighestBlockYAt(px+x, pz+z)+1; + + public CoreResult CallCore(Object[] data) { + if (isCalled == false) { + if (Bukkit.getPlayer((String) data[0]).isOnline()) { + Player player = (Player) Bukkit.getServer().getPlayer((String) data[0]); + if (PluginCore.getSupport().checkBuild(player.getLocation())) { + if (PluginCore.getConfigDB().UseHeads) { + + Location loc = player.getLocation(); + int px = loc.getBlockX(); + int pz = loc.getBlockZ(); + int y = 0; + int x = -7; + int z = -7; + + Random randomGen = Utils.getRandomGen(); + + for (x = -7; x <= 7; x++) { + for (z = -7; z <= 7; z++) { + if (randomGen.nextInt(7) == randomGen.nextInt(7)) { + + if (HerobrineAI.NonStandBlocks.contains(loc.getWorld().getHighestBlockAt(px + x, pz + z).getType())) { + y = loc.getWorld().getHighestBlockYAt(px + x, pz + z); + } else { + y = loc.getWorld().getHighestBlockYAt(px + x, pz + z) + 1; + } + + Block block = loc.getWorld().getBlockAt(px + x, y, pz + z); + BlockChanger.PlaceSkull(block.getLocation(), "Herobrine"); + + headList.add(block); + + } } - - Block block = loc.getWorld().getBlockAt(px+x, y, pz+z); - BlockChanger.PlaceSkull(block.getLocation(),"Herobrine"); - - headList.add(block); - } + + isCalled = true; + Bukkit.getScheduler().scheduleSyncDelayedTask(AICore.plugin, new Runnable() { + public void run() { + RemoveHeads(); + } + }, 1 * 100L); + + return new CoreResult(true, "Spawned some heads near " + player.getName() + "!"); + + } else { + return new CoreResult(false, "Heads are disabled!"); } + } else { + return new CoreResult(false, "Player is in secure area!"); } - - isCalled=true; - Bukkit.getScheduler().scheduleSyncDelayedTask(AICore.plugin, new Runnable() { - public void run() { - RemoveHeads(); - } - }, 1 * 100L); - - return new CoreResult(true,"Spawned some heads near "+player.getName()+"!"); - - }else{return new CoreResult(false,"Heads are disabled!");} - }else{return new CoreResult(false,"Player is in secure area!");} - }else{return new CoreResult(false,"Player is offline.");} - }else{ - return new CoreResult(false,"There are already heads! Wait until they disappear."); + } else { + return new CoreResult(false, "Player is offline."); + } + } else { + return new CoreResult(false, "There are already heads! Wait until they disappear."); + } } - } - - public void RemoveHeads(){ - for (Block h : headList){ + + public void RemoveHeads() { + for (Block h : headList) { h.setType(Material.AIR); } headList.clear(); - isCalled=false; + isCalled = false; } - public ArrayList getHeadList(){ + + public ArrayList getHeadList() { return (ArrayList) headList; } } diff --git a/src/org/jakub1221/herobrineai/AI/cores/Pyramid.java b/src/org/jakub1221/herobrineai/AI/cores/Pyramid.java index aeb588e..9f04ffe 100644 --- a/src/org/jakub1221/herobrineai/AI/cores/Pyramid.java +++ b/src/org/jakub1221/herobrineai/AI/cores/Pyramid.java @@ -8,191 +8,228 @@ import org.bukkit.Material; import org.bukkit.World; import org.bukkit.entity.Player; import org.jakub1221.herobrineai.HerobrineAI; +import org.jakub1221.herobrineai.Utils; import org.jakub1221.herobrineai.AI.AICore; import org.jakub1221.herobrineai.AI.Core; import org.jakub1221.herobrineai.AI.CoreResult; -public class Pyramid extends Core{ +public class Pyramid extends Core { - public Pyramid(){ - super(CoreType.PYRAMID,AppearType.NORMAL); + public Pyramid() { + super(CoreType.PYRAMID, AppearType.NORMAL, HerobrineAI.getPluginCore()); } - public CoreResult CallCore(Object[] data){ - if (data[0] instanceof Player){ - return FindPlace((Player) data[0]); - }else{ - return FindPlace((Chunk) data[0]); + public CoreResult CallCore(Object[] data) { + if (data[0] instanceof Player) { + return FindPlace((Player) data[0]); + } else { + return FindPlace((Chunk) data[0]); } } - - public CoreResult FindPlace(Chunk chunk){ - if (HerobrineAI.getPluginCore().getConfigDB().BuildPyramids){ - + + public CoreResult FindPlace(Chunk chunk) { + if (PluginCore.getConfigDB().BuildPyramids) { + Location loc = chunk.getBlock(2, 0, 2).getLocation(); - loc=loc.getWorld().getHighestBlockAt(loc).getLocation(); - - boolean canBuild=true; - int i1=0; - int i2=5; - int i3=5; - int i4=0; - int i5=0; - int i6=0; - - for (i1=-5;i1<=5;i1++){//Y - - canBuild=true; - - - for (i4=-1;i4<=3;i4++){//Y - for(i5=-2;i5<=2;i5++){//X - for(i6=-2;i6<=2;i6++){//Z - - if (loc.getBlockX()==i2+i5+loc.getBlockX() && loc.getBlockY()==i1+i4+loc.getBlockY() && loc.getBlockZ()==i3+i6+loc.getBlockZ()){canBuild=false;} - if (i4==-1){ - if (canBuild==true){ - if (HerobrineAI.StandBlocks.contains(loc.getWorld().getBlockAt(i2+i5+loc.getBlockX(), i1+i4+loc.getBlockY(), i3+i6+loc.getBlockZ()).getType())){canBuild=true;}else{canBuild=false;} + loc = loc.getWorld().getHighestBlockAt(loc).getLocation(); + + boolean canBuild = true; + int i1 = 0; + int i2 = 5; + int i3 = 5; + int i4 = 0; + int i5 = 0; + int i6 = 0; + + for (i1 = -5; i1 <= 5; i1++) {// Y + + canBuild = true; + + for (i4 = -1; i4 <= 3; i4++) {// Y + for (i5 = -2; i5 <= 2; i5++) {// X + for (i6 = -2; i6 <= 2; i6++) {// Z + + if (loc.getBlockX() == i2 + i5 + loc.getBlockX() + && loc.getBlockY() == i1 + i4 + loc.getBlockY() + && loc.getBlockZ() == i3 + i6 + loc.getBlockZ()) { + canBuild = false; + } + if (i4 == -1) { + if (canBuild == true) { + if (HerobrineAI.StandBlocks + .contains(loc + .getWorld().getBlockAt(i2 + i5 + loc.getBlockX(), + i1 + i4 + loc.getBlockY(), i3 + i6 + loc.getBlockZ()) + .getType())) { + canBuild = true; + } else { + canBuild = false; + } + } + } else { + if (canBuild == true) { + if (HerobrineAI.NonStandBlocks + .contains(loc + .getWorld().getBlockAt(i2 + i5 + loc.getBlockX(), + i1 + i4 + loc.getBlockY(), i3 + i6 + loc.getBlockZ()) + .getType())) { + canBuild = true; + } else { + canBuild = false; + } + } + + } + + } + + } + } + if (canBuild == true) { + BuildPyramid(loc.getWorld(), i2 + loc.getBlockX(), i1 + loc.getBlockY(), i3 + loc.getBlockZ()); + return new CoreResult(true, "Creating a pyramid!"); + + } + + } + } + return new CoreResult(false, "Cannot create a pyramid!"); + + } + + public CoreResult FindPlace(Player player) { + if (PluginCore.getConfigDB().BuildPyramids) { + + Location loc = (Location) player.getLocation(); + + boolean canBuild = true; + int i1 = 0; + int i2 = 0; + int i3 = 0; + int i4 = 0; + int i5 = 0; + int i6 = 0; + + int xMax = Utils.getRandomGen().nextInt(15) - 10; + int zMax = Utils.getRandomGen().nextInt(15) - 10; + + for (i1 = -5; i1 <= 5; i1++) {// Y + for (i2 = xMax; i2 <= 15; i2++) {// X + for (i3 = zMax; i3 <= 15; i3++) {// Z + canBuild = true; + + for (i4 = -1; i4 <= 3; i4++) {// Y + for (i5 = -2; i5 <= 2; i5++) {// X + for (i6 = -2; i6 <= 2; i6++) {// Z + + if (player.getLocation().getBlockX() == i2 + i5 + loc.getBlockX() + && player.getLocation().getBlockY() == i1 + i4 + loc.getBlockY() + && player.getLocation().getBlockZ() == i3 + i6 + loc.getBlockZ()) { + canBuild = false; + } + if (i4 == -1) { + if (canBuild == true) { + if (HerobrineAI.StandBlocks.contains(loc + .getWorld().getBlockAt(i2 + i5 + loc.getBlockX(), + i1 + i4 + loc.getBlockY(), i3 + i6 + loc.getBlockZ()) + .getType())) { + canBuild = true; + } else { + canBuild = false; } - }else{ - if (canBuild==true){ - if (HerobrineAI.NonStandBlocks.contains(loc.getWorld().getBlockAt(i2+i5+loc.getBlockX(), i1+i4+loc.getBlockY(), i3+i6+loc.getBlockZ()).getType())){canBuild=true;}else{canBuild=false;} } - + } else { + if (canBuild == true) { + if (HerobrineAI.NonStandBlocks.contains(loc + .getWorld().getBlockAt(i2 + i5 + loc.getBlockX(), + i1 + i4 + loc.getBlockY(), i3 + i6 + loc.getBlockZ()) + .getType())) { + canBuild = true; + } else { + canBuild = false; + } + } + } - - } - + + } + } } - if (canBuild==true){ - BuildPyramid(loc.getWorld(),i2+loc.getBlockX(),i1+loc.getBlockY(),i3+loc.getBlockZ()); - return new CoreResult(true,"Creating a pyramid!"); - - - - } - - - - - - } - } - return new CoreResult(false,"Cannot create a pyramid!"); - - } - -public CoreResult FindPlace(Player player){ -if (HerobrineAI.getPluginCore().getConfigDB().BuildPyramids){ - - - Location loc = (Location) player.getLocation(); - - boolean canBuild=true; - int i1=0; - int i2=0; - int i3=0; - int i4=0; - int i5=0; - int i6=0; - - int xMax=new Random().nextInt(15)-10; - int zMax=new Random().nextInt(15)-10; - - for (i1=-5;i1<=5;i1++){//Y - for(i2=xMax;i2<=15;i2++){//X - for(i3=zMax;i3<=15;i3++){//Z - canBuild=true; - - - for (i4=-1;i4<=3;i4++){//Y - for(i5=-2;i5<=2;i5++){//X - for(i6=-2;i6<=2;i6++){//Z + if (canBuild == true) { + BuildPyramid( + loc.getWorld(), + i2 + loc.getBlockX(), + i1 + loc.getBlockY(), + i3 + loc.getBlockZ() + ); - if (player.getLocation().getBlockX()==i2+i5+loc.getBlockX() && player.getLocation().getBlockY()==i1+i4+loc.getBlockY() && player.getLocation().getBlockZ()==i3+i6+loc.getBlockZ()){canBuild=false;} - if (i4==-1){ - if (canBuild==true){ - if (HerobrineAI.StandBlocks.contains(loc.getWorld().getBlockAt(i2+i5+loc.getBlockX(), i1+i4+loc.getBlockY(), i3+i6+loc.getBlockZ()).getType())){canBuild=true;}else{canBuild=false;} - } - }else{ - if (canBuild==true){ - if (HerobrineAI.NonStandBlocks.contains(loc.getWorld().getBlockAt(i2+i5+loc.getBlockX(), i1+i4+loc.getBlockY(), i3+i6+loc.getBlockZ()).getType())){canBuild=true;}else{canBuild=false;} - } - - } - - } - + return new CoreResult(true, "Creating a pyramid!"); + } } + } - if (canBuild==true){ - BuildPyramid(loc.getWorld(),i2+loc.getBlockX(),i1+loc.getBlockY(),i3+loc.getBlockZ()); - return new CoreResult(true,"Creating a pyramid!"); - } - } - + } - + } - - -} -return new CoreResult(false,"Cannot create a pyramid!"); - + return new CoreResult(false, "Cannot create a pyramid!"); + } - - public void BuildPyramid(World world,int X,int Y,int Z){ - - if (HerobrineAI.getPluginCore().getSupport().checkBuild(new Location(world,X,Y,Z))){ - - AICore.log.info("Creating pyramid at "+X+","+Y+","+Z); - - Material mainMat = (Material) Material.SANDSTONE; - - // Level 1 - world.getBlockAt(X,Y,Z).setType(mainMat); - world.getBlockAt(X-2,Y,Z).setType(mainMat); - world.getBlockAt(X-1,Y,Z).setType(mainMat); - world.getBlockAt(X+1,Y,Z).setType(mainMat); - world.getBlockAt(X+2,Y,Z).setType(mainMat); - world.getBlockAt(X-2,Y,Z-1).setType(mainMat); - world.getBlockAt(X-2,Y,Z+1).setType(mainMat); - world.getBlockAt(X-1,Y,Z-1).setType(mainMat); - world.getBlockAt(X-1,Y,Z+1).setType(mainMat); - world.getBlockAt(X,Y,Z-1).setType(mainMat); - world.getBlockAt(X,Y,Z+1).setType(mainMat); - world.getBlockAt(X,Y,Z-2).setType(mainMat); - world.getBlockAt(X,Y,Z+2).setType(mainMat); - world.getBlockAt(X-1,Y,Z-2).setType(mainMat); - world.getBlockAt(X-1,Y,Z+2).setType(mainMat); - world.getBlockAt(X+1,Y,Z-2).setType(mainMat); - world.getBlockAt(X+1,Y,Z+2).setType(mainMat); - world.getBlockAt(X+1,Y,Z-1).setType(mainMat); - world.getBlockAt(X+1,Y,Z+1).setType(mainMat); - world.getBlockAt(X+2,Y,Z-1).setType(mainMat); - world.getBlockAt(X+2,Y,Z+1).setType(mainMat); - world.getBlockAt(X+1,Y,Z-2).setType(mainMat); - world.getBlockAt(X+1,Y,Z+2).setType(mainMat); - // Level 2 - world.getBlockAt(X,Y+1,Z).setType(mainMat); - world.getBlockAt(X-1,Y+1,Z).setType(mainMat); - world.getBlockAt(X+1,Y+1,Z).setType(mainMat); - world.getBlockAt(X-1,Y+1,Z-1).setType(mainMat); - world.getBlockAt(X+1,Y+1,Z-1).setType(mainMat); - world.getBlockAt(X-1,Y+1,Z+1).setType(mainMat); - world.getBlockAt(X+1,Y+1,Z+1).setType(mainMat); - world.getBlockAt(X,Y+1,Z+1).setType(mainMat); - world.getBlockAt(X,Y+1,Z+1).setType(mainMat); - world.getBlockAt(X,Y+1,Z-1).setType(mainMat); - world.getBlockAt(X,Y+1,Z-1).setType(mainMat); - // Level 3 - world.getBlockAt(X,Y+2,Z).setType(mainMat); - // Level 4 - world.getBlockAt(X,Y+3,Z).setType(Material.REDSTONE_TORCH_ON); - + + public void BuildPyramid(World world, int X, int Y, int Z) { + + if (HerobrineAI.getPluginCore().getSupport().checkBuild(new Location(world, X, Y, Z))) { + + AICore.log.info("Creating pyramid at " + X + "," + Y + "," + Z); + + Material mainMat = (Material) Material.SANDSTONE; + + + // TODO CHANGE THIS + // Level 1 + world.getBlockAt(X, Y, Z).setType(mainMat); + world.getBlockAt(X - 2, Y, Z).setType(mainMat); + world.getBlockAt(X - 1, Y, Z).setType(mainMat); + world.getBlockAt(X + 1, Y, Z).setType(mainMat); + world.getBlockAt(X + 2, Y, Z).setType(mainMat); + world.getBlockAt(X - 2, Y, Z - 1).setType(mainMat); + world.getBlockAt(X - 2, Y, Z + 1).setType(mainMat); + world.getBlockAt(X - 1, Y, Z - 1).setType(mainMat); + world.getBlockAt(X - 1, Y, Z + 1).setType(mainMat); + world.getBlockAt(X, Y, Z - 1).setType(mainMat); + world.getBlockAt(X, Y, Z + 1).setType(mainMat); + world.getBlockAt(X, Y, Z - 2).setType(mainMat); + world.getBlockAt(X, Y, Z + 2).setType(mainMat); + world.getBlockAt(X - 1, Y, Z - 2).setType(mainMat); + world.getBlockAt(X - 1, Y, Z + 2).setType(mainMat); + world.getBlockAt(X + 1, Y, Z - 2).setType(mainMat); + world.getBlockAt(X + 1, Y, Z + 2).setType(mainMat); + world.getBlockAt(X + 1, Y, Z - 1).setType(mainMat); + world.getBlockAt(X + 1, Y, Z + 1).setType(mainMat); + world.getBlockAt(X + 2, Y, Z - 1).setType(mainMat); + world.getBlockAt(X + 2, Y, Z + 1).setType(mainMat); + world.getBlockAt(X + 1, Y, Z - 2).setType(mainMat); + world.getBlockAt(X + 1, Y, Z + 2).setType(mainMat); + // Level 2 + world.getBlockAt(X, Y + 1, Z).setType(mainMat); + world.getBlockAt(X - 1, Y + 1, Z).setType(mainMat); + world.getBlockAt(X + 1, Y + 1, Z).setType(mainMat); + world.getBlockAt(X - 1, Y + 1, Z - 1).setType(mainMat); + world.getBlockAt(X + 1, Y + 1, Z - 1).setType(mainMat); + world.getBlockAt(X - 1, Y + 1, Z + 1).setType(mainMat); + world.getBlockAt(X + 1, Y + 1, Z + 1).setType(mainMat); + world.getBlockAt(X, Y + 1, Z + 1).setType(mainMat); + world.getBlockAt(X, Y + 1, Z + 1).setType(mainMat); + world.getBlockAt(X, Y + 1, Z - 1).setType(mainMat); + world.getBlockAt(X, Y + 1, Z - 1).setType(mainMat); + // Level 3 + world.getBlockAt(X, Y + 2, Z).setType(mainMat); + // Level 4 + world.getBlockAt(X, Y + 3, Z).setType(Material.REDSTONE_TORCH_ON); + } - + } - + } diff --git a/src/org/jakub1221/herobrineai/AI/cores/RandomExplosion.java b/src/org/jakub1221/herobrineai/AI/cores/RandomExplosion.java index f705385..b0215c4 100644 --- a/src/org/jakub1221/herobrineai/AI/cores/RandomExplosion.java +++ b/src/org/jakub1221/herobrineai/AI/cores/RandomExplosion.java @@ -5,35 +5,36 @@ import java.util.Random; import org.bukkit.Location; import org.bukkit.entity.Player; import org.jakub1221.herobrineai.HerobrineAI; +import org.jakub1221.herobrineai.Utils; import org.jakub1221.herobrineai.AI.Core; import org.jakub1221.herobrineai.AI.CoreResult; public class RandomExplosion extends Core { public RandomExplosion() { - super(CoreType.RANDOM_EXPLOSION,AppearType.NORMAL); + super(CoreType.RANDOM_EXPLOSION, AppearType.NORMAL, HerobrineAI.getPluginCore()); } @Override public CoreResult CallCore(Object[] data) { - + Player player = (Player) data[0]; - if (HerobrineAI.getPluginCore().getConfigDB().Explosions){ - if (HerobrineAI.getPluginCore().getSupport().checkBuild(player.getLocation())){ - - Location loc = player.getLocation(); - int x=loc.getBlockX()+(new Random().nextInt(16)-8); - int y=loc.getBlockY(); - int z=loc.getBlockZ()+(new Random().nextInt(16)-8); - loc.getWorld().createExplosion(new Location(loc.getWorld(),x,y,z), 1.0f); - - }else{ - return new CoreResult(true,"Player is in secure area!"); + if (PluginCore.getConfigDB().Explosions) { + if (PluginCore.getSupport().checkBuild(player.getLocation())) { + + Location loc = player.getLocation(); + int x = loc.getBlockX() + (Utils.getRandomGen().nextInt(16) - 8); + int y = loc.getBlockY(); + int z = loc.getBlockZ() + (Utils.getRandomGen().nextInt(16) - 8); + loc.getWorld().createExplosion(new Location(loc.getWorld(), x, y, z), 1.0f); + + } else { + return new CoreResult(true, "Player is in secure area!"); + } + } else { + return new CoreResult(true, "Explosions are not allowed!"); } - }else{ - return new CoreResult(true,"Explosions are not allowed!"); - } - return new CoreResult(true,"Explosion near the player!"); + return new CoreResult(true, "Explosion near the player!"); } } diff --git a/src/org/jakub1221/herobrineai/AI/cores/RandomPosition.java b/src/org/jakub1221/herobrineai/AI/cores/RandomPosition.java index 7bc272c..cd04a54 100644 --- a/src/org/jakub1221/herobrineai/AI/cores/RandomPosition.java +++ b/src/org/jakub1221/herobrineai/AI/cores/RandomPosition.java @@ -1,5 +1,6 @@ package org.jakub1221.herobrineai.AI.cores; +import java.util.Collection; import java.util.Random; import org.bukkit.Bukkit; @@ -9,192 +10,233 @@ import org.bukkit.World; import org.bukkit.entity.Player; import org.jakub1221.herobrineai.ConfigDB; import org.jakub1221.herobrineai.HerobrineAI; +import org.jakub1221.herobrineai.Utils; import org.jakub1221.herobrineai.AI.AICore; import org.jakub1221.herobrineai.AI.Core; import org.jakub1221.herobrineai.AI.CoreResult; import org.jakub1221.herobrineai.NPC.AI.Path; -public class RandomPosition extends Core{ +public class RandomPosition extends Core { - private int randomTicks=0; - private int randomMoveTicks=0; - private boolean RandomMoveIsPlayer=false; - - public RandomPosition(){ - super(CoreType.RANDOM_POSITION,AppearType.APPEAR); + private int randomTicks = 0; + private int randomMoveTicks = 0; + private boolean RandomMoveIsPlayer = false; + + public RandomPosition() { + super(CoreType.RANDOM_POSITION, AppearType.APPEAR, HerobrineAI.getPluginCore()); } - - public int getRandomTicks(){return this.randomTicks;} - public int getRandomMoveTicks(){return this.randomMoveTicks;} - public void setRandomTicks(int i){this.randomTicks=i;}; - public void setRandomMoveTicks(int i){this.randomMoveTicks=i;}; - - public CoreResult CallCore(Object[] data){ - return setRandomPosition((World)data[0]); + + public int getRandomTicks() { + return this.randomTicks; } - - public CoreResult setRandomPosition(World world){ - if (HerobrineAI.getPluginCore().getConfigDB().UseWalkingMode){ - if (randomTicks!=3){ - randomTicks++; - if (HerobrineAI.getPluginCore().getAICore().getCoreTypeNow() != CoreType.RANDOM_POSITION && AICore.isTarget==false){ - Location newloc = (Location) getRandomLocation(world); - if (newloc!=null){ - - HerobrineAI.HerobrineNPC.moveTo(newloc); - newloc.setX(newloc.getX()+2); - newloc.setY(newloc.getY()+1.5); - HerobrineAI.HerobrineNPC.lookAtPoint(newloc); - randomTicks=0; - AICore.log.info("[HerobrineAI] Herobrine is now in RandomLocation mode."); - HerobrineAI.getPluginCore().getAICore().Start_RM(); - HerobrineAI.getPluginCore().getAICore().Start_RS(); - HerobrineAI.getPluginCore().getAICore().Start_CG(); - RandomMoveIsPlayer=false; - return new CoreResult(true,"Herobrine is now in WalkingMode."); - }else{AICore.log.info("[HerobrineAI] RandomPosition Failed!");return setRandomPosition(world);} - } - }else{ - return new CoreResult(false,"WalkingMode - Find location failed!"); - } - }else{ - return new CoreResult(false,"WalkingMode is disabled!"); - } - return new CoreResult(false,"WalkingMode failed!"); + + public int getRandomMoveTicks() { + return this.randomMoveTicks; } - - public Location getRandomLocation(World world){ - + + public void setRandomTicks(int i) { + this.randomTicks = i; + }; + + public void setRandomMoveTicks(int i) { + this.randomMoveTicks = i; + }; + + public CoreResult CallCore(Object[] data) { + return setRandomPosition((World) data[0]); + } + + public CoreResult setRandomPosition(World world) { + if (PluginCore.getConfigDB().UseWalkingMode) { + if (randomTicks != 3) { + randomTicks++; + if (PluginCore.getAICore().getCoreTypeNow() != CoreType.RANDOM_POSITION && AICore.isTarget == false) { + Location newloc = (Location) getRandomLocation(world); + if (newloc != null) { + + HerobrineAI.HerobrineNPC.moveTo(newloc); + newloc.setX(newloc.getX() + 2); + newloc.setY(newloc.getY() + 1.5); + HerobrineAI.HerobrineNPC.lookAtPoint(newloc); + randomTicks = 0; + AICore.log.info("[HerobrineAI] Herobrine is now in RandomLocation mode."); + PluginCore.getAICore().Start_RM(); + PluginCore.getAICore().Start_RS(); + PluginCore.getAICore().Start_CG(); + RandomMoveIsPlayer = false; + return new CoreResult(true, "Herobrine is now in WalkingMode."); + } else { + AICore.log.info("[HerobrineAI] RandomPosition Failed!"); + return setRandomPosition(world); + } + } + } else { + return new CoreResult(false, "WalkingMode - Find location failed!"); + } + } else { + return new CoreResult(false, "WalkingMode is disabled!"); + } + return new CoreResult(false, "WalkingMode failed!"); + } + + public Location getRandomLocation(World world) { + int i = 0; - for (i=0;i<=300;i++){ - - int r_nxtX=HerobrineAI.getPluginCore().getConfigDB().WalkingModeXRadius; - int nxtX=r_nxtX; - if (nxtX<0){ - nxtX=-nxtX; + for (i = 0; i <= 100; i++) { + + int r_nxtX = PluginCore.getConfigDB().WalkingModeXRadius; + int nxtX = r_nxtX; + if (nxtX < 0) { + nxtX = -nxtX; } - int r_nxtZ=HerobrineAI.getPluginCore().getConfigDB().WalkingModeZRadius; - int nxtZ=r_nxtZ; - if (nxtZ<0){ - nxtZ=-nxtZ; + int r_nxtZ = PluginCore.getConfigDB().WalkingModeZRadius; + int nxtZ = r_nxtZ; + if (nxtZ < 0) { + nxtZ = -nxtZ; } - int randx= new Random().nextInt(nxtX); - - int randy=0; - - int randz= new Random().nextInt(nxtZ); - - int randxp= new Random().nextInt(1); - - int randzp= new Random().nextInt(1); - - if (randxp==0 && randx!=0){randx=-(randx);} - if (randzp==0 && randz!=0){randz=-(randz);} - - randx=randx+HerobrineAI.getPluginCore().getConfigDB().WalkingModeFromXRadius; - randz=randz+HerobrineAI.getPluginCore().getConfigDB().WalkingModeFromZRadius; - - if (world != null){ - randy=world.getHighestBlockYAt(randx,randz); - }else{ + int randx = Utils.getRandomGen().nextInt(nxtX); + + int randy = 0; + + int randz = Utils.getRandomGen().nextInt(nxtZ); + + int randxp = Utils.getRandomGen().nextInt(1); + + int randzp = Utils.getRandomGen().nextInt(1); + + if (randxp == 0 && randx != 0) { + randx = -(randx); + } + if (randzp == 0 && randz != 0) { + randz = -(randz); + } + + randx = randx + PluginCore.getConfigDB().WalkingModeFromXRadius; + randz = randz + PluginCore.getConfigDB().WalkingModeFromZRadius; + + if (world != null) { + randy = world.getHighestBlockYAt(randx, randz); + } else { return null; } - - if (world.getBlockAt(randx, randy, randz).getType() == Material.AIR && world.getBlockAt(randx, randy+1, randz).getType() == Material.AIR){ - if (world.getBlockAt(randx, randy-1, randz).getType() != Material.AIR && - world.getBlockAt(randx, randy-1, randz).getType() != Material.WATER && - world.getBlockAt(randx, randy-1, randz).getType() != Material.LAVA && - world.getBlockAt(randx, randy-1, randz).getType() != Material.GRASS && - world.getBlockAt(randx, randy-1, randz).getType() != Material.SNOW && - world.getBlockAt(randx, randy-1, randz).getType() != Material.LEAVES && - world.getBlockAt(randx, randy-1, randz).getType() != Material.WHEAT && - world.getBlockAt(randx, randy-1, randz).getType() != Material.TORCH && - world.getBlockAt(randx, randy-1, randz).getType() != Material.REDSTONE_TORCH_OFF && - world.getBlockAt(randx, randy-1, randz).getType() != Material.REDSTONE_TORCH_ON && - world.getBlockAt(randx, randy-1, randz).getType() != Material.REDSTONE && - world.getBlockAt(randx, randy-1, randz).getType() != Material.STATIONARY_WATER && - world.getBlockAt(randx, randy-1, randz).getType() != Material.STATIONARY_LAVA){ - AICore.log.info("[HerobrineAI] RandomLocation "+world.getBlockAt(randx, randy-1, randz).getType().toString()+" is X:"+randx+" Y:"+randy+" Z:"+randz); - return new Location(world,(float) randx + 0.5,(float) randy,(float) randz); - - - } + if (world.getBlockAt(randx, randy, randz).getType() == Material.AIR + && world.getBlockAt(randx, randy + 1, randz).getType() == Material.AIR) { + if (world.getBlockAt(randx, randy - 1, randz).getType() != Material.AIR + && world.getBlockAt(randx, randy - 1, randz).getType() != Material.WATER + && world.getBlockAt(randx, randy - 1, randz).getType() != Material.LAVA + && world.getBlockAt(randx, randy - 1, randz).getType() != Material.GRASS + && world.getBlockAt(randx, randy - 1, randz).getType() != Material.SNOW + && world.getBlockAt(randx, randy - 1, randz).getType() != Material.LEAVES + && world.getBlockAt(randx, randy - 1, randz).getType() != Material.WHEAT + && world.getBlockAt(randx, randy - 1, randz).getType() != Material.TORCH + && world.getBlockAt(randx, randy - 1, randz).getType() != Material.REDSTONE_TORCH_OFF + && world.getBlockAt(randx, randy - 1, randz).getType() != Material.REDSTONE_TORCH_ON + && world.getBlockAt(randx, randy - 1, randz).getType() != Material.REDSTONE + && world.getBlockAt(randx, randy - 1, randz).getType() != Material.STATIONARY_WATER + && world.getBlockAt(randx, randy - 1, randz).getType() != Material.STATIONARY_LAVA) { + + AICore.log.info("[HerobrineAI] RandomLocation " + + world.getBlockAt(randx, randy - 1, randz).getType().toString() + " is X:" + randx + " Y:" + + randy + " Z:" + randz); + return new Location(world, (float) randx + 0.5, (float) randy, (float) randz); + + } } } - + return null; - + } - - public void RandomMove(){ - if (HerobrineAI.getPluginCore().getAICore().getCoreTypeNow()==CoreType.RANDOM_POSITION && AICore.isTarget==false && RandomMoveIsPlayer==false){ - HerobrineAI.HerobrineHP=HerobrineAI.HerobrineMaxHP; - - if (new Random().nextInt(4)==1){ + + public void RandomMove() { + if (PluginCore.getAICore().getCoreTypeNow() == CoreType.RANDOM_POSITION && AICore.isTarget == false + && RandomMoveIsPlayer == false) { + HerobrineAI.HerobrineHP = HerobrineAI.HerobrineMaxHP; + + if (Utils.getRandomGen().nextInt(5) == 3) { Location loc = HerobrineAI.HerobrineNPC.getBukkitEntity().getLocation(); - Path path = new Path((float)loc.getX()+new Random().nextInt(12)-6,(float)loc.getZ()+new Random().nextInt(12)-6); - HerobrineAI.getPluginCore().getPathManager().setPath(path); - } - + Path path = new Path((float) loc.getX() + Utils.getRandomGen().nextInt(30) - 15, + (float) loc.getZ() + Utils.getRandomGen().nextInt(30) - 15); + PluginCore.getPathManager().setPath(path); + } + } - + } - - public void CheckGravity(){ - - if (HerobrineAI.getPluginCore().getAICore().getCoreTypeNow()==CoreType.RANDOM_POSITION && AICore.isTarget==false){ - + + public void CheckGravity() { + + if (PluginCore.getAICore().getCoreTypeNow() == CoreType.RANDOM_POSITION && AICore.isTarget == false) { + Location hbloc = (Location) HerobrineAI.HerobrineNPC.getBukkitEntity().getLocation(); World w = (World) hbloc.getWorld(); - ConfigDB config = HerobrineAI.getPluginCore().getConfigDB(); - if (hbloc.getBlockX()(-config.WalkingModeXRadius)+config.WalkingModeFromXRadius && hbloc.getBlockZ()(-config.WalkingModeZRadius)+config.WalkingModeFromZRadius){ - if (HerobrineAI.NonStandBlocks.contains(w.getBlockAt(hbloc.getBlockX(), hbloc.getBlockY()-1, hbloc.getBlockZ()).getType())){ - - hbloc.setY(hbloc.getY()-1); - - HerobrineAI.HerobrineNPC.moveTo(hbloc); - - } - }else{ - HerobrineAI.getPluginCore().getAICore().CancelTarget(CoreType.RANDOM_POSITION); + ConfigDB config = PluginCore.getConfigDB(); + if (hbloc.getBlockX() < config.WalkingModeXRadius + config.WalkingModeFromXRadius + && hbloc.getBlockX() > (-config.WalkingModeXRadius) + config.WalkingModeFromXRadius + && hbloc.getBlockZ() < config.WalkingModeZRadius + config.WalkingModeFromZRadius + && hbloc.getBlockZ() > (-config.WalkingModeZRadius) + config.WalkingModeFromZRadius) { + if (HerobrineAI.NonStandBlocks.contains( + w.getBlockAt(hbloc.getBlockX(), hbloc.getBlockY() - 1, hbloc.getBlockZ()).getType())) { + + hbloc.setY(hbloc.getY() - 1); + + HerobrineAI.HerobrineNPC.moveTo(hbloc); + + } + } else { + PluginCore.getAICore().CancelTarget(CoreType.RANDOM_POSITION); } } } - - public void CheckPlayerPosition(){ - boolean isThere=false; - Location loc = (Location) HerobrineAI.HerobrineNPC.getBukkitEntity().getLocation(); - Player [] AllOnPlayers = Bukkit.getServer().getOnlinePlayers(); - if (Bukkit.getServer().getOnlinePlayers().length>0){ - int i = 0; - for (i=0;i<=Bukkit.getServer().getOnlinePlayers().length-1;i++){ - if (HerobrineAI.HerobrineEntityID!=AllOnPlayers[i].getEntityId()){ - Location ploc = (Location) AllOnPlayers[i].getLocation(); - if (ploc.getWorld() == loc.getWorld() && ploc.getX()+7>loc.getX() && ploc.getX()-7loc.getZ() && ploc.getZ()-7loc.getY() && ploc.getY()-7loc.getX() && ploc.getX()-15loc.getZ() && ploc.getZ()-15loc.getY() && ploc.getY()-15 onlinePlayers = Bukkit.getServer().getOnlinePlayers(); + if (Bukkit.getServer().getOnlinePlayers().size() > 0) { + + for (Player player : onlinePlayers) { + + if (HerobrineAI.HerobrineEntityID != player.getEntityId()) { + Location ploc = (Location) player.getLocation(); + + if (ploc.getWorld() == loc.getWorld() && ploc.getX() + 7 > loc.getX() + && ploc.getX() - 7 < loc.getX() && ploc.getZ() + 7 > loc.getZ() + && ploc.getZ() - 7 < loc.getZ() && ploc.getY() + 7 > loc.getY() + && ploc.getY() - 7 < loc.getY()) { + + loc.setY(-20); + HerobrineAI.HerobrineNPC.moveTo(loc); + PluginCore.getAICore().CancelTarget(CoreType.RANDOM_POSITION); + RandomMoveIsPlayer = false; + PluginCore.getAICore().setAttackTarget(player); + break; + } else { + + if (ploc.getWorld() == loc.getWorld() && ploc.getX() + 15 > loc.getX() + && ploc.getX() - 15 < loc.getX() && ploc.getZ() + 15 > loc.getZ() + && ploc.getZ() - 15 < loc.getZ() && ploc.getY() + 15 > loc.getY() + && ploc.getY() - 15 < loc.getY()) { + + ploc.setY(ploc.getY() + 1.5); + HerobrineAI.HerobrineNPC.lookAtPoint(ploc); + PluginCore.getPathManager().setPath(null); + isThere = true; + break; + } + } + } + } + } + + if (isThere) { + RandomMoveIsPlayer = true; + } else { + RandomMoveIsPlayer = false; + } + } - + } diff --git a/src/org/jakub1221/herobrineai/AI/cores/RandomSound.java b/src/org/jakub1221/herobrineai/AI/cores/RandomSound.java index 28a66b7..c5061ed 100644 --- a/src/org/jakub1221/herobrineai/AI/cores/RandomSound.java +++ b/src/org/jakub1221/herobrineai/AI/cores/RandomSound.java @@ -8,29 +8,29 @@ import org.jakub1221.herobrineai.AI.CoreResult; public class RandomSound extends Core { public RandomSound() { - super(CoreType.RANDOM_SOUND, AppearType.NORMAL); + super(CoreType.RANDOM_SOUND, AppearType.NORMAL, HerobrineAI.getPluginCore()); } @Override public CoreResult CallCore(final Object[] data) { - - int multip=1; - while(multip!=7){ - Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(HerobrineAI.getPluginCore(), new Runnable(){ + int multip = 1; - @Override - public void run() { - - HerobrineAI.getPluginCore().getAICore().getCore(CoreType.SOUNDF).RunCore(data); - - } - - },multip*30L); - multip++; + while (multip != 7) { + Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(HerobrineAI.getPluginCore(), new Runnable() { + + @Override + public void run() { + + HerobrineAI.getPluginCore().getAICore().getCore(CoreType.SOUNDF).RunCore(data); + + } + + }, multip * 30L); + multip++; } - - return new CoreResult(true,"Starting sound play to target!"); + + return new CoreResult(true, "Starting sound play to target!"); } } diff --git a/src/org/jakub1221/herobrineai/AI/cores/Signs.java b/src/org/jakub1221/herobrineai/AI/cores/Signs.java index e6c5bd4..5682c30 100644 --- a/src/org/jakub1221/herobrineai/AI/cores/Signs.java +++ b/src/org/jakub1221/herobrineai/AI/cores/Signs.java @@ -7,74 +7,84 @@ import org.bukkit.Material; import org.bukkit.block.Block; import org.bukkit.block.Sign; import org.jakub1221.herobrineai.HerobrineAI; +import org.jakub1221.herobrineai.Utils; import org.jakub1221.herobrineai.AI.ConsoleLogger; import org.jakub1221.herobrineai.AI.Core; import org.jakub1221.herobrineai.AI.CoreResult; import org.jakub1221.herobrineai.misc.BlockChanger; -public class Signs extends Core{ - - public Signs(){ - super(CoreType.SIGNS,AppearType.NORMAL); +public class Signs extends Core { + + public Signs() { + super(CoreType.SIGNS, AppearType.NORMAL, HerobrineAI.getPluginCore()); } - public CoreResult CallCore(Object[] data){ - return placeSign((Location) data[0],(Location) data[1]); + public CoreResult CallCore(Object[] data) { + return placeSign((Location) data[0], (Location) data[1]); } - + static ConsoleLogger log = new ConsoleLogger(); - - public CoreResult placeSign(Location loc,Location ploc){ - boolean status=false; + + public CoreResult placeSign(Location loc, Location ploc) { + boolean status = false; log.info("Generating sign location..."); - - - if (loc.getWorld().getBlockAt(loc.getBlockX()+2, loc.getBlockY(), loc.getBlockZ()).getType() == Material.AIR && loc.getWorld().getBlockAt(loc.getBlockX()+2, loc.getBlockY()-1, loc.getBlockZ()).getType()!= Material.AIR){ - loc.setX(loc.getBlockX()+2); - createSign(loc,ploc); - status=true; - }else if (loc.getWorld().getBlockAt(loc.getBlockX()-2, loc.getBlockY(), loc.getBlockZ()).getType() == Material.AIR && loc.getWorld().getBlockAt(loc.getBlockX()-2, loc.getBlockY()-1, loc.getBlockZ()).getType()!= Material.AIR){ - loc.setX(loc.getBlockX()-2); - createSign(loc,ploc); - status=true; - }else if (loc.getWorld().getBlockAt(loc.getBlockX(), loc.getBlockY(), loc.getBlockZ()+2).getType() == Material.AIR && loc.getWorld().getBlockAt(loc.getBlockX(), loc.getBlockY()-1, loc.getBlockZ()+2).getType()!= Material.AIR){ - loc.setZ(loc.getBlockZ()+2); - createSign(loc,ploc); - status=true; - }else if (loc.getWorld().getBlockAt(loc.getBlockX(), loc.getBlockY(), loc.getBlockZ()-2).getType() == Material.AIR && loc.getWorld().getBlockAt(loc.getBlockX(), loc.getBlockY()-1, loc.getBlockZ()-2).getType()!= Material.AIR){ - loc.setZ(loc.getBlockZ()-2); - createSign(loc,ploc); - status=true; + if (loc.getWorld().getBlockAt(loc.getBlockX() + 2, loc.getBlockY(), loc.getBlockZ()).getType() == Material.AIR + && loc.getWorld().getBlockAt(loc.getBlockX() + 2, loc.getBlockY() - 1, loc.getBlockZ()) + .getType() != Material.AIR) { + loc.setX(loc.getBlockX() + 2); + createSign(loc, ploc); + status = true; + } else if (loc.getWorld().getBlockAt(loc.getBlockX() - 2, loc.getBlockY(), loc.getBlockZ()) + .getType() == Material.AIR + && loc.getWorld().getBlockAt(loc.getBlockX() - 2, loc.getBlockY() - 1, loc.getBlockZ()) + .getType() != Material.AIR) { + loc.setX(loc.getBlockX() - 2); + createSign(loc, ploc); + status = true; + } else if (loc.getWorld().getBlockAt(loc.getBlockX(), loc.getBlockY(), loc.getBlockZ() + 2) + .getType() == Material.AIR + && loc.getWorld().getBlockAt(loc.getBlockX(), loc.getBlockY() - 1, loc.getBlockZ() + 2) + .getType() != Material.AIR) { + loc.setZ(loc.getBlockZ() + 2); + createSign(loc, ploc); + status = true; + } else if (loc.getWorld().getBlockAt(loc.getBlockX(), loc.getBlockY(), loc.getBlockZ() - 2) + .getType() == Material.AIR + && loc.getWorld().getBlockAt(loc.getBlockX(), loc.getBlockY() - 1, loc.getBlockZ() - 2) + .getType() != Material.AIR) { + loc.setZ(loc.getBlockZ() - 2); + createSign(loc, ploc); + status = true; } - - if (status){ - return new CoreResult(true,"Sign placed!"); - }else{ - return new CoreResult(false,"Cannot place a sign!"); + + if (status) { + return new CoreResult(true, "Sign placed!"); + } else { + return new CoreResult(false, "Cannot place a sign!"); } } - - - public void createSign(Location loc,Location ploc){ - - Random randcgen = new Random(); - int chance=randcgen.nextInt(100); - if (chance>(100-HerobrineAI.getPluginCore().getConfigDB().SignChance)){ - Random randgen = new Random(); - int count = HerobrineAI.getPluginCore().getConfigDB().useSignMessages.size(); - int randmsg=randgen.nextInt(count); - - Block signblock = loc.add(0, 0D ,0).getBlock(); - Block undersignblock = signblock.getLocation().subtract(0D, 1D, 0D).getBlock(); - if (HerobrineAI.NonStandBlocks.contains(signblock.getType()) && !HerobrineAI.NonStandBlocks.contains(undersignblock.getType())){ - signblock.setType(Material.SIGN_POST); - Sign sign = (Sign) signblock.getState(); - sign.setLine(1, HerobrineAI.getPluginCore().getConfigDB().useSignMessages.get(randmsg)); - - sign.setRawData((byte) BlockChanger.getPlayerBlockFace(ploc).ordinal()); - sign.update(); + + public void createSign(Location loc, Location ploc) { + + Random randcgen = Utils.getRandomGen(); + int chance = randcgen.nextInt(100); + if (chance > (100 - HerobrineAI.getPluginCore().getConfigDB().SignChance)) { + Random randgen = Utils.getRandomGen(); + int count = HerobrineAI.getPluginCore().getConfigDB().useSignMessages.size(); + int randmsg = randgen.nextInt(count); + + Block signblock = loc.add(0, 0D, 0).getBlock(); + Block undersignblock = signblock.getLocation().subtract(0D, 1D, 0D).getBlock(); + if (HerobrineAI.NonStandBlocks.contains(signblock.getType()) + && !HerobrineAI.NonStandBlocks.contains(undersignblock.getType())) { + signblock.setType(Material.SIGN_POST); + Sign sign = (Sign) signblock.getState(); + sign.setLine(1, HerobrineAI.getPluginCore().getConfigDB().useSignMessages.get(randmsg)); + + sign.setRawData((byte) BlockChanger.getPlayerBlockFace(ploc).ordinal()); + sign.update(); + } } } - } } diff --git a/src/org/jakub1221/herobrineai/AI/cores/SoundF.java b/src/org/jakub1221/herobrineai/AI/cores/SoundF.java index fc23ed7..73ae9b5 100644 --- a/src/org/jakub1221/herobrineai/AI/cores/SoundF.java +++ b/src/org/jakub1221/herobrineai/AI/cores/SoundF.java @@ -4,13 +4,15 @@ import java.util.Random; import org.bukkit.Sound; import org.bukkit.entity.Player; +import org.jakub1221.herobrineai.HerobrineAI; +import org.jakub1221.herobrineai.Utils; import org.jakub1221.herobrineai.AI.Core; import org.jakub1221.herobrineai.AI.CoreResult; public class SoundF extends Core{ public SoundF(){ - super(CoreType.SOUNDF,AppearType.NORMAL); + super(CoreType.SOUNDF,AppearType.NORMAL, HerobrineAI.getPluginCore()); } public CoreResult CallCore(Object[] data){ @@ -19,32 +21,19 @@ public class SoundF extends Core{ public CoreResult playRandom(Player player){ - Sound[] sounds = new Sound[15]; - sounds[0]=Sound.STEP_STONE; - sounds[1]=Sound.STEP_WOOD; - sounds[2]=Sound.STEP_GRASS; - sounds[3]=Sound.STEP_SAND; - sounds[4]=Sound.STEP_GRAVEL; - sounds[5]=Sound.BREATH; - sounds[6]=Sound.BREATH; - sounds[7]=Sound.BREATH; - sounds[8]=Sound.BREATH; - sounds[9]=Sound.DOOR_OPEN; - sounds[10]=Sound.DOOR_CLOSE; - sounds[11]=Sound.GHAST_SCREAM; - sounds[12]=Sound.GHAST_SCREAM2; - sounds[13]=Sound.WITHER_DEATH; - sounds[14]=Sound.WITHER_HURT; + Sound[] sounds = { + Sound.ENTITY_GHAST_SCREAM, + Sound.ENTITY_WITHER_DEATH, + Sound.ENTITY_WITHER_HURT, + Sound.ENTITY_BAT_HURT, + Sound.ENTITY_PLAYER_BREATH, + Sound.ENTITY_PLAYER_HURT, + Sound.BLOCK_IRON_DOOR_OPEN, + Sound.BLOCK_IRON_DOOR_CLOSE + }; - int chance=new Random().nextInt(14); - int randx=new Random().nextInt(3); - int randz=new Random().nextInt(3); - int randxp=new Random().nextInt(1); - int randzp=new Random().nextInt(1); - if (randxp==0 && randx!=0){randx=(-(randx));} - if (randzp==0 && randz!=0){randz=(-(randz));} - player.playSound(player.getLocation(),sounds[chance],(float) 0.75,(float) 0.75); + player.playSound(player.getLocation(),sounds[Utils.getRandomGen().nextInt(sounds.length)],(float) 0.75,(float) 0.75); return new CoreResult(true,"SoundF is starting!"); } diff --git a/src/org/jakub1221/herobrineai/AI/cores/Temple.java b/src/org/jakub1221/herobrineai/AI/cores/Temple.java index 5ec44e1..2869f8e 100644 --- a/src/org/jakub1221/herobrineai/AI/cores/Temple.java +++ b/src/org/jakub1221/herobrineai/AI/cores/Temple.java @@ -12,216 +12,260 @@ import org.bukkit.enchantments.Enchantment; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import org.jakub1221.herobrineai.HerobrineAI; +import org.jakub1221.herobrineai.Utils; import org.jakub1221.herobrineai.AI.Core; import org.jakub1221.herobrineai.AI.CoreResult; import org.jakub1221.herobrineai.entity.MobType; import org.jakub1221.herobrineai.misc.ItemName; import org.jakub1221.herobrineai.misc.StructureLoader; -public class Temple extends Core{ +public class Temple extends Core { - public Temple(){ - super(CoreType.TEMPLE,AppearType.NORMAL); + public Temple() { + super(CoreType.TEMPLE, AppearType.NORMAL, HerobrineAI.getPluginCore()); } - - public CoreResult CallCore(Object[] data){ - if (data[0] instanceof Player){ - return FindPlacePlayer((Player)data[0]); - }else{ - return FindPlacePlayer((Chunk)data[0]); + + public CoreResult CallCore(Object[] data) { + if (data[0] instanceof Player) { + return FindPlacePlayer((Player) data[0]); + } else { + return FindPlacePlayer((Chunk) data[0]); } } - - public CoreResult FindPlacePlayer(Player player){ - + + public CoreResult FindPlacePlayer(Player player) { + Location loc = player.getLocation(); - - boolean canBuild=true; - int i1=0; - int i2=0; - int i3=0; - int i4=0; - int i5=0; - int i6=0; - - for (i1=-5;i1<=5;i1++){//Y - for(i2=-20;i2<=20;i2++){//X - for(i3=-20;i3<=20;i3++){//Z - canBuild=true; - - - for (i4=-1;i4<=12;i4++){//Y - for(i5=0;i5<=11;i5++){//X - for(i6=0;i6<=10;i6++){//Z - - if (player.getLocation().getBlockX()==i2+i5+loc.getBlockX() && player.getLocation().getBlockY()==i1+i4+loc.getBlockY() && player.getLocation().getBlockZ()==i3+i6+loc.getBlockZ()){canBuild=false;} - if (i4==-1){ - if (canBuild==true){ - if (HerobrineAI.StandBlocks.contains(loc.getWorld().getBlockAt(i2+i5+loc.getBlockX(), i1+i4+loc.getBlockY(), i3+i6+loc.getBlockZ()).getType())){canBuild=true;}else{canBuild=false;} - } - }else{ - if (canBuild==true){ - if (HerobrineAI.NonStandBlocks.contains(loc.getWorld().getBlockAt(i2+i5+loc.getBlockX(), i1+i4+loc.getBlockY(), i3+i6+loc.getBlockZ()).getType())){canBuild=true;}else{canBuild=false;} + + boolean canBuild = true; + int i1 = 0; + int i2 = 0; + int i3 = 0; + int i4 = 0; + int i5 = 0; + int i6 = 0; + + for (i1 = -5; i1 <= 5; i1++) {// Y + for (i2 = -20; i2 <= 20; i2++) {// X + for (i3 = -20; i3 <= 20; i3++) {// Z + canBuild = true; + + for (i4 = -1; i4 <= 12; i4++) {// Y + for (i5 = 0; i5 <= 11; i5++) {// X + for (i6 = 0; i6 <= 10; i6++) {// Z + + if (player.getLocation().getBlockX() == i2 + i5 + loc.getBlockX() + && player.getLocation().getBlockY() == i1 + i4 + loc.getBlockY() + && player.getLocation().getBlockZ() == i3 + i6 + loc.getBlockZ()) { + canBuild = false; } - + if (i4 == -1) { + if (canBuild == true) { + if (HerobrineAI.StandBlocks.contains(loc + .getWorld().getBlockAt(i2 + i5 + loc.getBlockX(), + i1 + i4 + loc.getBlockY(), i3 + i6 + loc.getBlockZ()) + .getType())) { + canBuild = true; + } else { + canBuild = false; + } + } + } else { + if (canBuild == true) { + if (HerobrineAI.NonStandBlocks.contains(loc + .getWorld().getBlockAt(i2 + i5 + loc.getBlockX(), + i1 + i4 + loc.getBlockY(), i3 + i6 + loc.getBlockZ()) + .getType())) { + canBuild = true; + } else { + canBuild = false; + } + } + + } + } - - } - + + } + } + if (canBuild == true) { + Create(loc.getWorld(), i2 + loc.getBlockX(), i1 + loc.getBlockY(), i3 + loc.getBlockZ()); + return new CoreResult(true, "Creating temple near " + player.getName() + "!"); } } - if (canBuild==true){ - Create(loc.getWorld(),i2+loc.getBlockX(),i1+loc.getBlockY(),i3+loc.getBlockZ()); - return new CoreResult(true,"Creating temple near "+player.getName()+"!"); - } - } - + } - + } - - return new CoreResult(false,"Cannot find a good place for Temple."); - + return new CoreResult(false, "Cannot find a good place for Temple."); + } - - public CoreResult FindPlacePlayer(Chunk chunk){ - + + public CoreResult FindPlacePlayer(Chunk chunk) { + Location loc = chunk.getBlock(2, 0, 2).getLocation(); - loc=loc.getWorld().getHighestBlockAt(loc).getLocation(); - - boolean canBuild=true; - int i1=0; - int i2=0; - int i3=0; - int i4=0; - int i5=0; - int i6=0; - - i1=0; - i2=0; - i3=0; - i4=0; - i5=0; - i6=0; + loc = loc.getWorld().getHighestBlockAt(loc).getLocation(); - - for (i1=-5;i1<=5;i1++){//Y - - canBuild=true; - - - for (i4=-1;i4<=12;i4++){//Y - for(i5=0;i5<=11;i5++){//X - for(i6=0;i6<=10;i6++){//Z - - if (loc.getBlockX()==i2+i5+loc.getBlockX() && loc.getBlockY()==i1+i4+loc.getBlockY() && loc.getBlockZ()==i3+i6+loc.getBlockZ()){canBuild=false;} - if (i4==-1){ - if (canBuild==true){ - if (HerobrineAI.StandBlocks.contains(loc.getWorld().getBlockAt(i2+i5+loc.getBlockX(), i1+i4+loc.getBlockY(), i3+i6+loc.getBlockZ()).getType())){canBuild=true;}else{canBuild=false;} - } - }else{ - if (canBuild==true){ - if (HerobrineAI.NonStandBlocks.contains(loc.getWorld().getBlockAt(i2+i5+loc.getBlockX(), i1+i4+loc.getBlockY(), i3+i6+loc.getBlockZ()).getType())){canBuild=true;}else{canBuild=false;} + boolean canBuild = true; + int i1 = 0; + int i2 = 0; + int i3 = 0; + int i4 = 0; + int i5 = 0; + int i6 = 0; + + i1 = 0; + i2 = 0; + i3 = 0; + i4 = 0; + i5 = 0; + i6 = 0; + + for (i1 = -5; i1 <= 5; i1++) {// Y + + canBuild = true; + + for (i4 = -1; i4 <= 12; i4++) {// Y + for (i5 = 0; i5 <= 11; i5++) {// X + for (i6 = 0; i6 <= 10; i6++) {// Z + + if (loc.getBlockX() == i2 + i5 + loc.getBlockX() && loc.getBlockY() == i1 + i4 + loc.getBlockY() + && loc.getBlockZ() == i3 + i6 + loc.getBlockZ()) { + canBuild = false; + } + if (i4 == -1) { + if (canBuild == true) { + if (HerobrineAI.StandBlocks + .contains(loc + .getWorld().getBlockAt(i2 + i5 + loc.getBlockX(), + i1 + i4 + loc.getBlockY(), i3 + i6 + loc.getBlockZ()) + .getType())) { + canBuild = true; + } else { + canBuild = false; } - } - + } else { + if (canBuild == true) { + if (HerobrineAI.NonStandBlocks + .contains(loc + .getWorld().getBlockAt(i2 + i5 + loc.getBlockX(), + i1 + i4 + loc.getBlockY(), i3 + i6 + loc.getBlockZ()) + .getType())) { + canBuild = true; + } else { + canBuild = false; + } } - + + } + + } + + } + } + if (canBuild == true) { + Create(loc.getWorld(), i2 + loc.getBlockX(), i1 + loc.getBlockY(), i3 + loc.getBlockZ()); + return new CoreResult(true, "Creating temple!"); + } + + } + + return new CoreResult(false, "Cannot find a good place for Temple."); + + } + + public void Create(World world, int X, int Y, int Z) { + + Location loc = new Location(world, X, Y, Z); + + if (HerobrineAI.getPluginCore().getSupport().checkBuild(new Location(world, X, Y, Z))) { + + int MainX = loc.getBlockX(); + int MainY = loc.getBlockY(); + int MainZ = loc.getBlockZ(); + + // Main blocks + + new StructureLoader(HerobrineAI.getPluginCore().getInputStreamData("/res/temple.yml")).Build(loc.getWorld(), + MainX, MainY, MainZ); + loc.getWorld().getBlockAt(MainX + 6, MainY + 0, MainZ + 2).setType(Material.CHEST); + // Mob spawn + if (!HerobrineAI.isNPCDisabled) { + if (HerobrineAI.getPluginCore().getConfigDB().UseNPC_Guardian) { + Location mobloc = new Location(loc.getWorld(), MainX + 6, MainY + 0, MainZ + 4); + for (int i = 1; i <= HerobrineAI.getPluginCore().getConfigDB().npc + .getInt("npc.Guardian.SpawnCount"); i++) { + HerobrineAI.getPluginCore().getEntityManager().spawnCustomZombie(mobloc, + MobType.ARTIFACT_GUARDIAN); } } - if (canBuild==true){ - Create(loc.getWorld(),i2+loc.getBlockX(),i1+loc.getBlockY(),i3+loc.getBlockZ()); - return new CoreResult(true,"Creating temple!"); + } + // Chest + ItemStack ciItem = null; + if (HerobrineAI.getPluginCore().getConfigDB().UseCustomItems) { + if (HerobrineAI.getPluginCore().getConfigDB().UseCustomItemsList.size() > 0) { + Random generator = new Random(); + int chance = generator.nextInt(HerobrineAI.getPluginCore().getConfigDB().UseCustomItemsList.size()); + if (HerobrineAI.getPluginCore().getSupport().isCustomItems()) { + if (HerobrineAI.getPluginCore().getSupport().getCustomItems() + .checkItem(HerobrineAI.getPluginCore().getConfigDB().UseCustomItemsList.get(chance))) { + ciItem = HerobrineAI.getPluginCore().getSupport().getCustomItems() + .getItem(HerobrineAI.getPluginCore().getConfigDB().UseCustomItemsList.get(chance)); + } + } } - - - - - } - - - return new CoreResult(false,"Cannot find a good place for Temple."); - - } - - public void Create(World world,int X,int Y,int Z){ - - Location loc = new Location(world,X,Y,Z); - - if (HerobrineAI.getPluginCore().getSupport().checkBuild(new Location(world,X,Y,Z))){ - - int MainX=loc.getBlockX(); - int MainY=loc.getBlockY(); - int MainZ=loc.getBlockZ(); - - //Main blocks - - new StructureLoader(HerobrineAI.getPluginCore().data_temple).Build(loc.getWorld(), MainX, MainY, MainZ); - loc.getWorld().getBlockAt(MainX+6, MainY+0, MainZ+2).setType(Material.CHEST); - //Mob spawn - if (HerobrineAI.getPluginCore().getConfigDB().UseNPC_Guardian){ - Location mobloc = new Location(loc.getWorld(),MainX+6, MainY+0, MainZ+4); - for (int i=1;i<=HerobrineAI.getPluginCore().getConfigDB().npc.getInt("npc.Guardian.SpawnCount");i++){ - HerobrineAI.getPluginCore().getEntityManager().spawnCustomZombie(mobloc, MobType.ARTIFACT_GUARDIAN); - } - } - //Chest - ItemStack ciItem=null; - if (HerobrineAI.getPluginCore().getConfigDB().UseCustomItems){ - if (HerobrineAI.getPluginCore().getConfigDB().UseCustomItemsList.size()>0){ - Random generator = new Random(); - int chance = generator.nextInt(HerobrineAI.getPluginCore().getConfigDB().UseCustomItemsList.size()); - if (HerobrineAI.getPluginCore().getSupport().isCustomItems()){ - if (HerobrineAI.getPluginCore().getSupport().getCustomItems().checkItem(HerobrineAI.getPluginCore().getConfigDB().UseCustomItemsList.get(chance))){ - ciItem=HerobrineAI.getPluginCore().getSupport().getCustomItems().getItem(HerobrineAI.getPluginCore().getConfigDB().UseCustomItemsList.get(chance)); + + if (ciItem != null) { + Chest chest = (Chest) loc.getWorld().getBlockAt(MainX + 6, MainY + 0, MainZ + 2).getState(); + chest.getBlockInventory().setItem(chest.getInventory().firstEmpty(), ciItem); } + } else { + + Random generator = Utils.getRandomGen(); + int chance = generator.nextInt(15); + ItemStack item = null; + ArrayList newLore = new ArrayList(); + + if (chance < 4 && HerobrineAI.getPluginCore().getConfigDB().UseArtifactBow) { + + item = new ItemStack(Material.BOW); + newLore.add("Herobrine�s artifact"); + newLore.add("Bow of Teleporting"); + item = ItemName.setNameAndLore(item, "Bow of Teleporting", newLore); + item.addEnchantment(Enchantment.ARROW_FIRE, 1); + item.addEnchantment(Enchantment.ARROW_KNOCKBACK, 1); + + } else if (chance < 8 && HerobrineAI.getPluginCore().getConfigDB().UseArtifactSword) { + + item = new ItemStack(Material.DIAMOND_SWORD); + newLore.add("Herobrine�s artifact"); + newLore.add("Sword of Lighting"); + item = ItemName.setNameAndLore(item, "Sword of Lighting", newLore); + item.addEnchantment(Enchantment.KNOCKBACK, 2); + item.addEnchantment(Enchantment.DAMAGE_ALL, 2); + item.addEnchantment(Enchantment.DURABILITY, 3); + + } else if (chance < 12 && HerobrineAI.getPluginCore().getConfigDB().UseArtifactApple) { + + item = new ItemStack(Material.GOLDEN_APPLE); + newLore.add("Herobrine�s artifact"); + newLore.add("Apple of Death"); + item = ItemName.setNameAndLore(item, "Apple of Death", newLore); + + } else { + if (HerobrineAI.getPluginCore().getConfigDB().UseAncientSword) { + item = HerobrineAI.getPluginCore().getAICore().createAncientSword(); + item.addEnchantment(Enchantment.KNOCKBACK, 2); + item.addEnchantment(Enchantment.DAMAGE_ALL, 2); + } + } + + Chest chest = (Chest) loc.getWorld().getBlockAt(MainX + 6, MainY + 0, MainZ + 2).getState(); + chest.getBlockInventory().setItem(chest.getInventory().firstEmpty(), item); } - } - - if (ciItem!=null){ - Chest chest = (Chest) loc.getWorld().getBlockAt(MainX+6, MainY+0, MainZ+2).getState(); - chest.getBlockInventory().setItem(chest.getInventory().firstEmpty(), ciItem); - } - }else{ - Random generator = new Random(); - int chance = generator.nextInt(15); - ItemStack item = null; - ArrayList newLore = new ArrayList(); - if (chance<4 && HerobrineAI.getPluginCore().getConfigDB().UseArtifactBow){ - item = new ItemStack(Material.BOW); - newLore.add("Herobrine´s artifact"); - newLore.add("Bow of Teleporting"); - item = ItemName.setNameAndLore(item, "Bow of Teleporting", newLore); - item.addEnchantment(Enchantment.ARROW_FIRE, 1); - item.addEnchantment(Enchantment.ARROW_KNOCKBACK, 1); - }else if (chance<8 && HerobrineAI.getPluginCore().getConfigDB().UseArtifactSword){ - item = new ItemStack(Material.DIAMOND_SWORD); - newLore.add("Herobrine´s artifact"); - newLore.add("Sword of Lighting"); - item = ItemName.setNameAndLore(item, "Sword of Lighting", newLore); - item.addEnchantment(Enchantment.KNOCKBACK, 2); - item.addEnchantment(Enchantment.DAMAGE_ALL, 2); - item.addEnchantment(Enchantment.DURABILITY, 3); - }else if (chance<12 && HerobrineAI.getPluginCore().getConfigDB().UseArtifactApple){ - item = new ItemStack(Material.GOLDEN_APPLE); - newLore.add("Herobrine´s artifact"); - newLore.add("Apple of Death"); - item = ItemName.setNameAndLore(item, "Apple of Death", newLore); - - }else{ - if (HerobrineAI.getPluginCore().getConfigDB().UseAncientSword){ - item=HerobrineAI.getPluginCore().getAICore().createAncientSword(); - item.addEnchantment(Enchantment.KNOCKBACK, 2); - item.addEnchantment(Enchantment.DAMAGE_ALL, 2); - } - } - - Chest chest = (Chest) loc.getWorld().getBlockAt(MainX+6, MainY+0, MainZ+2).getState(); - chest.getBlockInventory().setItem(chest.getInventory().firstEmpty(), item); - } } } - + } diff --git a/src/org/jakub1221/herobrineai/AI/cores/Totem.java b/src/org/jakub1221/herobrineai/AI/cores/Totem.java index fc972f5..93cc5dd 100644 --- a/src/org/jakub1221/herobrineai/AI/cores/Totem.java +++ b/src/org/jakub1221/herobrineai/AI/cores/Totem.java @@ -1,5 +1,7 @@ package org.jakub1221.herobrineai.AI.cores; +import java.util.Collection; + import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.entity.Player; @@ -11,139 +13,105 @@ import org.jakub1221.herobrineai.AI.Core; import org.jakub1221.herobrineai.AI.CoreResult; import org.jakub1221.herobrineai.AI.Message; -public class Totem extends Core{ - - public Totem(){ - super(CoreType.TOTEM,AppearType.APPEAR); +public class Totem extends Core { + + public Totem() { + super(CoreType.TOTEM, AppearType.APPEAR, HerobrineAI.getPluginCore()); } - public CoreResult CallCore(Object[] data){ - return TotemCall((Location)data[0],(String)data[1]); + public CoreResult CallCore(Object[] data) { + return TotemCall((Location) data[0], (String) data[1]); } - - public CoreResult TotemCall(Location loc,String caller){ - - AICore.isTotemCalled=false; + + public CoreResult TotemCall(Location loc, String caller) { + + AICore.isTotemCalled = false; loc.getWorld().strikeLightning(loc); - if (HerobrineAI.getPluginCore().getConfigDB().TotemExplodes==true){ - loc.getWorld().createExplosion(loc, 5); + + if (PluginCore.getConfigDB().TotemExplodes == true) { + loc.getWorld().createExplosion(loc, 5); } - if (Bukkit.getServer().getPlayer(caller) != null){ - if (Bukkit.getServer().getPlayer(caller).isOnline()){ - HerobrineAI.getPluginCore().getAICore().setCoreTypeNow(CoreType.TOTEM); - HerobrineAI.getPluginCore().getAICore().setAttackTarget(Bukkit.getServer().getPlayer(caller)); + + if (Bukkit.getServer().getPlayer(caller) != null) { + + if (Bukkit.getServer().getPlayer(caller).isOnline()) { + PluginCore.getAICore().setCoreTypeNow(CoreType.TOTEM); + PluginCore.getAICore().setAttackTarget(Bukkit.getServer().getPlayer(caller)); Player player = (Player) Bukkit.getServer().getPlayer(caller); + + Collection onlinePlayers = Bukkit.getServer().getOnlinePlayers(); - Player [] AllOnPlayers = Bukkit.getServer().getOnlinePlayers(); - if (Bukkit.getServer().getOnlinePlayers().length>0){ - int i = 0; - for (i=0;i<=Bukkit.getServer().getOnlinePlayers().length-1;i++){ - Location ploc = (Location) AllOnPlayers[i].getLocation(); - if (AllOnPlayers[i].getName() != player.getName() && ploc.getX()+10>loc.getX() && ploc.getX()-10loc.getZ() && ploc.getZ()-10 0) { + for(Player onlinePlayer : onlinePlayers) { + Location ploc = (Location) onlinePlayer.getLocation(); + if (onlinePlayer.getName() != player.getName() && ploc.getX() + 10 > loc.getX() + && ploc.getX() - 10 < loc.getX() && ploc.getZ() + 10 > loc.getZ() + && ploc.getZ() - 10 < loc.getZ()) { + + Message.SendMessage(onlinePlayer); + if (PluginCore.getConfigDB().UsePotionEffects) { + onlinePlayer.addPotionEffect(new PotionEffect(PotionEffectType.CONFUSION, 1000, 1)); + onlinePlayer.addPotionEffect(new PotionEffect(PotionEffectType.BLINDNESS, 1000, 1)); + onlinePlayer.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, 1000, 1)); + } + } + } + + } + } else { Player target = null; + + Collection onlinePlayers = Bukkit.getServer().getOnlinePlayers(); - Player [] AllOnPlayers = Bukkit.getServer().getOnlinePlayers(); - if (Bukkit.getServer().getOnlinePlayers().length>0){ - int i = 0; - for (i=0;i<=Bukkit.getServer().getOnlinePlayers().length-1;i++){ - if (hasTarget==false){ - Location ploc = (Location) AllOnPlayers[i].getLocation(); - if (ploc.getX()+10>loc.getX() && ploc.getX()-10loc.getZ() && ploc.getZ()-10 0) { + for(Player onlinePlayer : onlinePlayers) { + + Location ploc = (Location) onlinePlayer.getLocation(); + + if (ploc.getX() + 10 > loc.getX() && ploc.getX() - 10 < loc.getX() + && ploc.getZ() + 10 > loc.getZ() && ploc.getZ() - 10 < loc.getZ()) { + + target = onlinePlayer; + break; + + } + + } + + } - } - if (hasTarget==true){ - - HerobrineAI.getPluginCore().getAICore().CancelTarget(CoreType.TOTEM); - HerobrineAI.getPluginCore().getAICore().setAttackTarget(target); - Player player = (Player) target; - if (Bukkit.getServer().getOnlinePlayers().length>0){ - int i = 0; - for (i=0;i<=Bukkit.getServer().getOnlinePlayers().length-1;i++){ - Location ploc = (Location) AllOnPlayers[i].getLocation(); - if (AllOnPlayers[i].getName() != player.getName() && ploc.getX()+20>loc.getX() && ploc.getX()-20loc.getZ() && ploc.getZ()-20 0) { + for(Player onlinePlayer : onlinePlayers) { - Message.SendMessage(AllOnPlayers[i]); - AllOnPlayers[i].addPotionEffect(new PotionEffect(PotionEffectType.CONFUSION, 1000, 1)); - AllOnPlayers[i].addPotionEffect(new PotionEffect(PotionEffectType.BLINDNESS, 1000, 1)); - AllOnPlayers[i].addPotionEffect(new PotionEffect(PotionEffectType.SLOW, 1000, 1)); - - } - } - - } - - - } - - + Location ploc = (Location) onlinePlayer.getLocation(); + if (onlinePlayer.getName() != player.getName() + && ploc.getX() + 20 > loc.getX() + && ploc.getX() - 20 < loc.getX() + && ploc.getZ() + 20 > loc.getZ() + && ploc.getZ() - 20 < loc.getZ() + ) { + + Message.SendMessage(onlinePlayer); + onlinePlayer.addPotionEffect(new PotionEffect(PotionEffectType.CONFUSION, 1000, 1)); + onlinePlayer.addPotionEffect(new PotionEffect(PotionEffectType.BLINDNESS, 1000, 1)); + onlinePlayer.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, 1000, 1)); + + } + } + + } + + } + } - - - }else{ - boolean hasTarget=false; - Player target = null; - - Player [] AllOnPlayers = Bukkit.getServer().getOnlinePlayers(); - if (Bukkit.getServer().getOnlinePlayers().length>0){ - int i = 0; - for (i=0;i<=Bukkit.getServer().getOnlinePlayers().length-1;i++){ - if (hasTarget==false){ - Location ploc = (Location) AllOnPlayers[i].getLocation(); - if (ploc.getX()+20>loc.getX() && ploc.getX()-20loc.getZ() && ploc.getZ()-200){ - int i = 0; - for (i=0;i<=Bukkit.getServer().getOnlinePlayers().length-1;i++){ - if (AllOnPlayers[i].getEntityId()!=HerobrineAI.HerobrineEntityID){ - Location ploc = (Location) AllOnPlayers[i].getLocation(); - if (AllOnPlayers[i].getName() != player.getName() && ploc.getX()+20>loc.getX() && ploc.getX()-20loc.getZ() && ploc.getZ()-20 allWorlds = new ArrayList(); + List worlds_ = Bukkit.getWorlds(); + for(int i=0;i<=worlds_.size()-1;i++){ + if(!worlds_.get(i).getName().equalsIgnoreCase("world_herobrineai_graveyard")){ + allWorlds.add(worlds_.get(i).getName()); + } + } + + try { + config.load(configF); + } catch (FileNotFoundException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } catch (InvalidConfigurationException e) { + e.printStackTrace(); + } + + config.set("config.Worlds", allWorlds); + + try { + config.save(configF); + } catch (IOException e) { + e.printStackTrace(); + } + + Reload(); + + } } diff --git a/src/org/jakub1221/herobrineai/HerobrineAI.java b/src/org/jakub1221/herobrineai/HerobrineAI.java index 2f69dc1..d524304 100644 --- a/src/org/jakub1221/herobrineai/HerobrineAI.java +++ b/src/org/jakub1221/herobrineai/HerobrineAI.java @@ -6,10 +6,12 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Random; import java.util.logging.Logger; import org.bukkit.Bukkit; import org.bukkit.ChatColor; +import org.bukkit.Color; import org.bukkit.GameMode; import org.bukkit.Location; import org.bukkit.Material; @@ -18,8 +20,9 @@ import org.bukkit.WorldCreator; import org.bukkit.command.CommandExecutor; import org.bukkit.entity.Player; import org.bukkit.event.Listener; +import org.bukkit.metadata.FixedMetadataValue; import org.bukkit.plugin.java.JavaPlugin; - +import org.jakub1221.herobrineai.NPC.AI.Path; import org.jakub1221.herobrineai.NPC.AI.PathManager; import org.jakub1221.herobrineai.NPC.Entity.HumanNPC; import org.jakub1221.herobrineai.NPC.NPCCore; @@ -36,9 +39,7 @@ import org.jakub1221.herobrineai.listeners.InventoryListener; import org.jakub1221.herobrineai.listeners.PlayerListener; import org.jakub1221.herobrineai.listeners.WorldListener; - - -public class HerobrineAI extends JavaPlugin implements Listener{ +public class HerobrineAI extends JavaPlugin implements Listener { private static HerobrineAI pluginCore; private AICore aicore; @@ -46,94 +47,108 @@ public class HerobrineAI extends JavaPlugin implements Listener{ private Support support; private EntityManager entMng; private PathManager pathMng; - public static final int build=3127; - public static final String versionStr="3.1.0"; - public java.io.InputStream data_temple=HerobrineAI.class.getResourceAsStream("/res/temple.yml"); - public java.io.InputStream data_graveyard_world=HerobrineAI.class.getResourceAsStream("/res/graveyard_world.yml"); - - public static int HerobrineHP=200; - public static int HerobrineMaxHP=200; - public static final boolean isDebugging=false; - + public static final int build = 3219; + public static final String versionStr = "3.2.2"; + public static boolean isNPCDisabled = false; + private static int pathUpdateINT = 0; + + public static String bukkit_ver_string = "1.6.4 R0.1"; + public static int HerobrineHP = 200; + public static int HerobrineMaxHP = 200; + public static final boolean isDebugging = false; + public static boolean isInitDone = false; + public static NPCCore NPCman; public static HumanNPC HerobrineNPC; public static long HerobrineEntityID; - + public static boolean AvailableWorld = false; - + public static List AllowedBlocks = new ArrayList(); public static List StandBlocks = new ArrayList(); public static List NonStandBlocks = new ArrayList(); - public Map PlayerApple = new HashMap(); - + public Map PlayerApple = new HashMap(); + public static Logger log = Logger.getLogger("Minecraft"); - - public void onEnable(){ - - NPCman = new NPCCore(this); - HerobrineAI.pluginCore = this; - this.configdb = new ConfigDB(log); - - - getServer().getPluginManager().registerEvents(new EntityListener(), this); - getServer().getPluginManager().registerEvents(new BlockListener(), this); - getServer().getPluginManager().registerEvents(new InventoryListener(), this); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - getServer().getPluginManager().registerEvents(new WorldListener(), this); - - // Metrics - + + public void onEnable() { + + boolean errorCheck = true; + try { - Metrics metrics = new Metrics(this); - metrics.start(); - } catch (IOException e) { - + Class.forName("net.minecraft.server.v1_6_R3.Entity"); + } catch (ClassNotFoundException e) { + errorCheck = false; + isInitDone = false; } - - // Initialize PathManager - - this.pathMng = new PathManager(); - - // Initialize AICore - - this.aicore = new AICore(); - - // Initialize EntityManager - - this.entMng = new EntityManager(); - - // Config loading - - configdb.Startup(); - configdb.Reload(); - - // Spawn Herobrine - - Location nowloc = new Location((World) Bukkit.getServer().getWorlds().get(0),(float) 0,(float) -20,(float) 0); - nowloc.setYaw((float) 1); - nowloc.setPitch((float) 1); - HerobrineSpawn(nowloc); - - HerobrineNPC.setItemInHand(configdb.ItemInHand.getItemStack()); - - //Graveyard World - - if (this.configdb.UseGraveyardWorld==true){ - if (Bukkit.getServer().getWorld("world_herobrineai_graveyard")==null){ - log.info("[HerobrineAI] Creating Graveyard world..."); - WorldCreator wc = new WorldCreator("world_herobrineai_graveyard"); - wc.generateStructures(false); - org.bukkit.WorldType type = org.bukkit.WorldType.FLAT; - wc.type(type); - wc.createWorld(); - GraveyardWorld.Create(); - } - + if (errorCheck) { + isInitDone = true; + HerobrineAI.pluginCore = this; + + NPCman = new NPCCore(this); + + this.configdb = new ConfigDB(log); + + getServer().getPluginManager().registerEvents(new EntityListener(), this); + getServer().getPluginManager().registerEvents(new BlockListener(), this); + getServer().getPluginManager().registerEvents(new InventoryListener(), this); + getServer().getPluginManager().registerEvents(new PlayerListener(), this); + getServer().getPluginManager().registerEvents(new WorldListener(), this); + + // Metrics + + try { + Metrics metrics = new Metrics(this); + metrics.start(); + } catch (IOException e) { + } - log.info("[HerobrineAI] Plugin loaded! Version: "+versionStr+" / Build: "+build); - + + // Initialize PathManager + + this.pathMng = new PathManager(); + + // Initialize AICore + + this.aicore = new AICore(); + + // Initialize EntityManager + + this.entMng = new EntityManager(); + + // Config loading + + configdb.Startup(); + configdb.Reload(); + + // Spawn Herobrine + + Location nowloc = new Location((World) Bukkit.getServer().getWorlds().get(0), (float) 0, (float) -20, + (float) 0); + nowloc.setYaw((float) 1); + nowloc.setPitch((float) 1); + HerobrineSpawn(nowloc); + + HerobrineNPC.setItemInHand(configdb.ItemInHand.getItemStack()); + + // Graveyard World + + if (this.configdb.UseGraveyardWorld == true) { + if (Bukkit.getServer().getWorld("world_herobrineai_graveyard") == null) { + log.info("[HerobrineAI] Creating Graveyard world..."); + WorldCreator wc = new WorldCreator("world_herobrineai_graveyard"); + wc.generateStructures(false); + org.bukkit.WorldType type = org.bukkit.WorldType.FLAT; + wc.type(type); + wc.createWorld(); + GraveyardWorld.Create(); + } + + } + log.info("[HerobrineAI] Plugin loaded! Version: " + versionStr + " / Build: " + build); + // Init Block Types - + StandBlocks.add(Material.STONE); StandBlocks.add(Material.getMaterial(2)); StandBlocks.add(Material.GRAVEL); @@ -150,11 +165,11 @@ public class HerobrineAI extends JavaPlugin implements Listener{ StandBlocks.add(Material.getMaterial(57)); StandBlocks.add(Material.getMaterial(41)); StandBlocks.add(Material.getMaterial(42)); - + NonStandBlocks.add(Material.AIR); NonStandBlocks.add(Material.GRASS); NonStandBlocks.add(Material.SNOW); - + AllowedBlocks.add(Material.AIR); AllowedBlocks.add(Material.SNOW); AllowedBlocks.add(Material.getMaterial(31)); @@ -173,179 +188,267 @@ public class HerobrineAI extends JavaPlugin implements Listener{ AllowedBlocks.add(Material.getMaterial(77)); AllowedBlocks.add(Material.LADDER); - for (int i = 0;i<=configdb.useWorlds.size()-1;i++){ - if (Bukkit.getServer().getWorlds().contains(Bukkit.getServer().getWorld(configdb.useWorlds.get(i)))){AvailableWorld=true;} - } - if (AvailableWorld==false){ - log.info("**********************************************************"); - log.info("[HerobrineAI] There are no available worlds for Herobrine!"); - log.info("**********************************************************"); + /* + * Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(this, + * new Runnable() { public void run() { + * + * for (int i = 0;i<=configdb.useWorlds.size()-1;i++){ if + * (Bukkit.getServer().getWorlds().contains(Bukkit.getServer(). + * getWorld(configdb.useWorlds.get(i)))){AvailableWorld=true;} } if + * (AvailableWorld==false){ log.warning( + * "**********************************************************"); + * log. + * warning("[HerobrineAI] There are no available worlds for Herobrine!" + * ); log.warning( + * "**********************************************************"); + * }else{ log.info( + * "**********************************************************"); + * log.info("[HerobrineAI] No problems detected."); log.info( + * "**********************************************************"); } + * + * + * } }, 1 * 1L); + */ + + pathUpdateINT = Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable() { + public void run() { + if (new Random().nextInt(4) == 2 && HerobrineAI.getPluginCore().getAICore().getCoreTypeNow() + .equals(CoreType.RANDOM_POSITION)) { + pathMng.setPath(new Path(new Random().nextInt(15) - 7f, new Random().nextInt(15) - 7f)); + } } - - - - Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(AICore.plugin, new Runnable() { - public void run() { - - } - }, 1 * 35L, 1 * 35L); - + }, 1 * 200L, 1 * 200L); + Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable() { - public void run() { - pathMng.update(); - } - }, 1 * 5L, 1 * 5L); - - - //Command Executors + public void run() { + pathMng.update(); + } + }, 1 * 5L, 1 * 5L); + + // Command Executors this.getCommand("hb").setExecutor((CommandExecutor) new CmdExecutor(this)); this.getCommand("hb-ai").setExecutor((CommandExecutor) new CmdExecutor(this)); - - //Support initialize + + // Support initialize this.support = new Support(); - - - //Register mobs - try{ - @SuppressWarnings("rawtypes") - Class[] args = new Class[3]; - args[0] = Class.class; - args[1] = String.class; - args[2] = int.class; - Method a = net.minecraft.server.v1_5_R2.EntityTypes.class.getDeclaredMethod("a", args); - a.setAccessible(true); + Class[] argst = new Class[3]; + argst[0] = Class.class; + argst[1] = String.class; + argst[2] = int.class; + try { + Method ab = net.minecraft.server.v1_11_R1.EntityTypes.class.getDeclaredMethod("a", argst); + } catch (NoSuchMethodException e1) { + isNPCDisabled = true; + } catch (SecurityException e1) { + isNPCDisabled = true; + } - a.invoke(a, CustomZombie.class, "Zombie", 54); - a.invoke(a, CustomSkeleton.class, "Skeleton", 51); - }catch (Exception e){ - e.printStackTrace(); - this.setEnabled(false); - } - + if (!isNPCDisabled) { + try { + @SuppressWarnings("rawtypes") + Class[] args = new Class[3]; + args[0] = Class.class; + args[1] = String.class; + args[2] = int.class; - - } - - - public void onDisable(){ - this.entMng.killAllMobs(); - NPCman.DisableTask(); - aicore.CancelTarget(CoreType.ANY); - log.info("[HerobrineAI] Plugin disabled!"); - - + Method a = net.minecraft.server.v1_11_R1.EntityTypes.class.getDeclaredMethod("a", args); + a.setAccessible(true); + + a.invoke(a, CustomZombie.class, "Zombie", 54); + a.invoke(a, CustomSkeleton.class, "Skeleton", 51); + } catch (Exception e) { + e.printStackTrace(); + this.setEnabled(false); + } + } else { + log.warning("[HerobrineAI] Custom NPCs have been disabled. (Incompatibility error!)"); + } + } else { + log.warning("[HerobrineAI] ******************ERROR******************"); + log.warning("[HerobrineAI] This version is only compatible with bukkit version " + bukkit_ver_string); + log.warning("[HerobrineAI] *****************************************"); + this.setEnabled(false); + } } - - public AICore getAICore(){ - + + public void onDisable() { + + if (isInitDone) { + this.entMng.killAllMobs(); + Bukkit.getServer().getScheduler().cancelTask(pathUpdateINT); + NPCman.DisableTask(); + aicore.CancelTarget(CoreType.ANY); + aicore.Stop_BD(); + aicore.Stop_CG(); + aicore.Stop_MAIN(); + aicore.Stop_RC(); + aicore.Stop_RM(); + aicore.Stop_RP(); + aicore.Stop_RS(); + aicore.disableAll(); + log.info("[HerobrineAI] Plugin disabled!"); + } + + } + + public java.io.InputStream getInputStreamData(String src) { + return HerobrineAI.class.getResourceAsStream(src); + } + + public AICore getAICore() { + return this.aicore; - + } - - public EntityManager getEntityManager(){ + + public EntityManager getEntityManager() { return this.entMng; } - - public static HerobrineAI getPluginCore(){ - + + public static HerobrineAI getPluginCore() { + return HerobrineAI.pluginCore; - + } - - public void HerobrineSpawn(Location loc){ - HerobrineNPC = (HumanNPC) NPCman.spawnHumanNPC(ChatColor.WHITE+"Herobrine", loc); - HerobrineEntityID=HerobrineNPC.getBukkitEntity().getEntityId(); - + + public void HerobrineSpawn(Location loc) { + HerobrineNPC = (HumanNPC) NPCman.spawnHumanNPC(ChatColor.WHITE + "Herobrine", loc); + HerobrineNPC.getBukkitEntity().setMetadata("NPC", new FixedMetadataValue(this, true)); + HerobrineEntityID = HerobrineNPC.getBukkitEntity().getEntityId(); + } - public void HerobrineRemove(){ - - HerobrineEntityID=0; - HerobrineNPC=null; + + public void HerobrineRemove() { + + HerobrineEntityID = 0; + HerobrineNPC = null; NPCman.removeAll(); - + } - public ConfigDB getConfigDB(){ - return this.configdb; - } - public String getVersionStr(){ - return versionStr; - } - public Support getSupport(){ - return this.support; - } - public PathManager getPathManager(){ + + public ConfigDB getConfigDB() { + return this.configdb; + } + + public String getVersionStr() { + return versionStr; + } + + public Support getSupport() { + return this.support; + } + + public PathManager getPathManager() { return this.pathMng; } - public boolean canAttackPlayer(Player player,Player sender){ - - if (player.isOp()){ - if (configdb.AttackOP){ - if (player.getGameMode()==GameMode.CREATIVE){ - if (configdb.AttackCreative){ - return true; - }else{sender.sendMessage(ChatColor.RED+"[HerobrineAI] Player is in Creative mode.");return false;} - } - return true; - }else{sender.sendMessage(ChatColor.RED+"[HerobrineAI] Player is OP.");return false;} - }else if (player.hasPermission("hb-ai.ignore")){ - sender.sendMessage(ChatColor.RED+"[HerobrineAI] Player has ignore permission."); - return false; - }else if (player.getGameMode()==GameMode.CREATIVE){ - if (configdb.AttackCreative){ - return true; - }else{sender.sendMessage(ChatColor.RED+"[HerobrineAI] Player is in Creative mode.");return false;} - }else{return true;} - - } - public boolean canAttackPlayerConsole(Player player){ - - if (player.isOp()){ - if (configdb.AttackOP){ - if (player.getGameMode()==GameMode.CREATIVE){ - if (configdb.AttackCreative){ - return true; - }else{log.info("[HerobrineAI] Player is in Creative mode.");return false;} - } - return true; - }else{log.info("[HerobrineAI] Player is OP.");return false;} - }else if (player.hasPermission("hb-ai.ignore")){ - log.info("[HerobrineAI] Player has ignore permission."); - return false; - }else if (player.getGameMode()==GameMode.CREATIVE){ - if (configdb.AttackCreative){ - return true; - }else{log.info("[HerobrineAI] Player is in Creative mode.");return false;} - }else{return true;} - - } - - public boolean canAttackPlayerNoMSG(Player player){ - if (player.isOp()){ - if (configdb.AttackOP){ - if (player.getGameMode()==GameMode.CREATIVE){ - if (configdb.AttackCreative){ - return true; - }else{return false;} - } - return true; - }else{return false;} - }else if (player.hasPermission("hb-ai.ignore")){ - return false; - }else if (player.getGameMode()==GameMode.CREATIVE){ - if (configdb.AttackCreative){ - return true; - }else{return false;} - }else{return true;} - - } - public String getAvailableWorldString(){ - if (AvailableWorld){ - return "Yes"; - }else{ - return "No"; - } - } + + public boolean canAttackPlayer(Player player, Player sender) { + + boolean opCheck = true; + boolean creativeCheck = true; + boolean ignoreCheck = true; + + if (!configdb.AttackOP) { + if (player.isOp()) { + opCheck = false; + } + } + if (!configdb.AttackCreative) { + if (player.getGameMode() == GameMode.CREATIVE) { + creativeCheck = false; + } + } + ; + if (configdb.UseIgnorePermission && player.hasPermission("hb-ai.ignore")) { + ignoreCheck = false; + } + + if (opCheck && creativeCheck && ignoreCheck) { + return true; + } else { + if (!opCheck) { + sender.sendMessage(ChatColor.RED + "[HerobrineAI] Player is OP."); + } else if (!creativeCheck) { + sender.sendMessage(ChatColor.RED + "[HerobrineAI] Player is in Creative mode."); + } else if (!ignoreCheck) { + sender.sendMessage(ChatColor.RED + "[HerobrineAI] Player has ignore permission."); + } + return false; + } + + } + + public boolean canAttackPlayerConsole(Player player) { + + boolean opCheck = true; + boolean creativeCheck = true; + boolean ignoreCheck = true; + + if (!configdb.AttackOP) { + if (player.isOp()) { + opCheck = false; + } + } + if (!configdb.AttackCreative) { + if (player.getGameMode() == GameMode.CREATIVE) { + creativeCheck = false; + } + } + ; + if (configdb.UseIgnorePermission && player.hasPermission("hb-ai.ignore")) { + ignoreCheck = false; + } + + if (opCheck && creativeCheck && ignoreCheck) { + return true; + } else { + if (!opCheck) { + log.info("[HerobrineAI] Player is OP."); + } else if (!creativeCheck) { + log.info("[HerobrineAI] Player is in Creative mode."); + } else if (!ignoreCheck) { + log.info("[HerobrineAI] Player has ignore permission."); + } + return false; + } + + } + + public boolean canAttackPlayerNoMSG(Player player) { + boolean opCheck = true; + boolean creativeCheck = true; + boolean ignoreCheck = true; + + if (!configdb.AttackOP) { + if (player.isOp()) { + opCheck = false; + } + } + if (!configdb.AttackCreative) { + if (player.getGameMode() == GameMode.CREATIVE) { + creativeCheck = false; + } + } + ; + if (configdb.UseIgnorePermission && player.hasPermission("hb-ai.ignore")) { + ignoreCheck = false; + } + + if (opCheck && creativeCheck && ignoreCheck) { + return true; + } else { + + return false; + } + } + + public String getAvailableWorldString() { + if (AvailableWorld) { + return "Yes"; + } else { + return "No"; + } + } } - diff --git a/src/org/jakub1221/herobrineai/Metrics.java b/src/org/jakub1221/herobrineai/Metrics.java index 0dc8763..0eab10b 100644 --- a/src/org/jakub1221/herobrineai/Metrics.java +++ b/src/org/jakub1221/herobrineai/Metrics.java @@ -360,7 +360,7 @@ public class Metrics { data.append(encode("guid")).append('=').append(encode(guid)); encodeDataPair(data, "version", description.getVersion()); encodeDataPair(data, "server", Bukkit.getVersion()); - encodeDataPair(data, "players", Integer.toString(Bukkit.getServer().getOnlinePlayers().length)); + encodeDataPair(data, "players", Integer.toString(Bukkit.getServer().getOnlinePlayers().size())); encodeDataPair(data, "revision", String.valueOf(REVISION)); // If we're pinging, append it diff --git a/src/org/jakub1221/herobrineai/NPC/AI/Path.java b/src/org/jakub1221/herobrineai/NPC/AI/Path.java index 45ff7b0..b76ee23 100644 --- a/src/org/jakub1221/herobrineai/NPC/AI/Path.java +++ b/src/org/jakub1221/herobrineai/NPC/AI/Path.java @@ -97,9 +97,12 @@ public class Path { } }else{ - if (new Random().nextInt(4)==0){ + if (new Random().nextInt(7)==3){ - HerobrineAI.HerobrineNPC.setYaw(new Random().nextInt(360)); + int yaw=new Random().nextInt(360); + + HerobrineAI.HerobrineNPC.setYaw(yaw); + HerobrineAI.HerobrineNPC.setYawA(yaw); HerobrineAI.HerobrineNPC.setPitch(0); } diff --git a/src/org/jakub1221/herobrineai/NPC/AI/PathManager.java b/src/org/jakub1221/herobrineai/NPC/AI/PathManager.java index 86795b6..47edf4e 100644 --- a/src/org/jakub1221/herobrineai/NPC/AI/PathManager.java +++ b/src/org/jakub1221/herobrineai/NPC/AI/PathManager.java @@ -1,21 +1,24 @@ package org.jakub1221.herobrineai.NPC.AI; +import org.jakub1221.herobrineai.HerobrineAI; +import org.jakub1221.herobrineai.AI.Core.CoreType; + public class PathManager { Path pathNow = null; - - public void setPath(Path path){ - pathNow=path; + + public void setPath(Path path) { + pathNow = path; } - - public void update(){ - if (pathNow!=null){ - pathNow.update(); + + public void update() { + if (pathNow != null && HerobrineAI.getPluginCore().getAICore().getCoreTypeNow().equals(CoreType.RANDOM_POSITION)) { + pathNow.update(); } } - - public Path getPath(){ + + public Path getPath() { return pathNow; } - + } diff --git a/src/org/jakub1221/herobrineai/NPC/Entity/HumanEntity.java b/src/org/jakub1221/herobrineai/NPC/Entity/HumanEntity.java index bdcf5d5..dea4afa 100644 --- a/src/org/jakub1221/herobrineai/NPC/Entity/HumanEntity.java +++ b/src/org/jakub1221/herobrineai/NPC/Entity/HumanEntity.java @@ -1,12 +1,12 @@ package org.jakub1221.herobrineai.NPC.Entity; -import net.minecraft.server.v1_5_R2.Entity; -import net.minecraft.server.v1_5_R2.EntityHuman; -import net.minecraft.server.v1_5_R2.EntityPlayer; -import net.minecraft.server.v1_5_R2.EnumGamemode; -import net.minecraft.server.v1_5_R2.PlayerInteractManager; +import net.minecraft.server.v1_11_R1.Entity; +import net.minecraft.server.v1_11_R1.EntityHuman; +import net.minecraft.server.v1_11_R1.EntityPlayer; +import net.minecraft.server.v1_11_R1.EnumGamemode; +import net.minecraft.server.v1_11_R1.PlayerInteractManager; -import org.bukkit.craftbukkit.v1_5_R2.entity.CraftEntity; +import org.bukkit.craftbukkit.v1_11_R1.entity.CraftEntity; import org.jakub1221.herobrineai.NPC.NPCCore; import org.jakub1221.herobrineai.NPC.NMS.BWorld; import org.jakub1221.herobrineai.NPC.Network.NetworkHandler; diff --git a/src/org/jakub1221/herobrineai/NPC/Entity/HumanNPC.java b/src/org/jakub1221/herobrineai/NPC/Entity/HumanNPC.java index 010436a..135903b 100644 --- a/src/org/jakub1221/herobrineai/NPC/Entity/HumanNPC.java +++ b/src/org/jakub1221/herobrineai/NPC/Entity/HumanNPC.java @@ -1,9 +1,9 @@ package org.jakub1221.herobrineai.NPC.Entity; -import net.minecraft.server.v1_5_R2.EntityPlayer; -import net.minecraft.server.v1_5_R2.Packet18ArmAnimation; -import net.minecraft.server.v1_5_R2.WorldServer; -import net.minecraft.server.v1_5_R2.Entity; +import net.minecraft.server.v1_11_R1.EntityPlayer; +import net.minecraft.server.v1_11_R1.Packet18ArmAnimation; +import net.minecraft.server.v1_11_R1.WorldServer; +import net.minecraft.server.v1_11_R1.Entity; import org.bukkit.Location; import org.bukkit.entity.LivingEntity; @@ -43,7 +43,7 @@ public class HumanNPC { } public String getName() { - return ((HumanEntity) getEntity()).name; + return ((HumanEntity) getEntity()).getName(); } public void setPitch(float pitch){ @@ -96,10 +96,14 @@ public class HumanNPC { ((EntityPlayer) getEntity()).yaw = (float) (newYaw - 90); ((EntityPlayer) getEntity()).pitch = (float) newPitch; - ((EntityPlayer) getEntity()).aA = (float) (newYaw - 90); + ((EntityPlayer) getEntity()).aP = (float) (newYaw - 90); } + + public void setYawA(float yaw){ + ((EntityPlayer) getEntity()).aP=yaw; + } public org.bukkit.entity.Entity getBukkitEntity() { return entity.getBukkitEntity(); diff --git a/src/org/jakub1221/herobrineai/NPC/NMS/BServer.java b/src/org/jakub1221/herobrineai/NPC/NMS/BServer.java index 2d8aad7..be37688 100644 --- a/src/org/jakub1221/herobrineai/NPC/NMS/BServer.java +++ b/src/org/jakub1221/herobrineai/NPC/NMS/BServer.java @@ -5,13 +5,13 @@ import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; -import net.minecraft.server.v1_5_R2.DedicatedServer; -import net.minecraft.server.v1_5_R2.MinecraftServer; -import net.minecraft.server.v1_5_R2.WorldServer; +import net.minecraft.server.v1_6_R3.DedicatedServer; +import net.minecraft.server.v1_6_R3.MinecraftServer; +import net.minecraft.server.v1_6_R3.WorldServer; import org.bukkit.Bukkit; import org.bukkit.Server; -import org.bukkit.craftbukkit.v1_5_R2.CraftServer; +import org.bukkit.craftbukkit.v1_6_R3.CraftServer; public class BServer { private static BServer ins; diff --git a/src/org/jakub1221/herobrineai/NPC/NMS/BWorld.java b/src/org/jakub1221/herobrineai/NPC/NMS/BWorld.java index 4848729..b8f8f1e 100644 --- a/src/org/jakub1221/herobrineai/NPC/NMS/BWorld.java +++ b/src/org/jakub1221/herobrineai/NPC/NMS/BWorld.java @@ -6,17 +6,17 @@ import java.util.concurrent.Callable; import java.util.logging.Level; import java.util.logging.Logger; -import net.minecraft.server.v1_5_R2.AxisAlignedBB; -import net.minecraft.server.v1_5_R2.Entity; -import net.minecraft.server.v1_5_R2.EntityPlayer; -import net.minecraft.server.v1_5_R2.PlayerChunkMap; -import net.minecraft.server.v1_5_R2.WorldProvider; -import net.minecraft.server.v1_5_R2.WorldServer; +import net.minecraft.server.v1_11_R1.AxisAlignedBB; +import net.minecraft.server.v1_11_R1.Entity; +import net.minecraft.server.v1_11_R1.EntityPlayer; +import net.minecraft.server.v1_11_R1.PlayerChunkMap; +import net.minecraft.server.v1_11_R1.WorldProvider; +import net.minecraft.server.v1_11_R1.WorldServer; import org.bukkit.Location; import org.bukkit.World; -import org.bukkit.craftbukkit.v1_5_R2.CraftWorld; -import org.bukkit.craftbukkit.v1_5_R2.entity.CraftPlayer; +import org.bukkit.craftbukkit.v1_11_R1.CraftWorld; +import org.bukkit.craftbukkit.v1_11_R1.entity.CraftPlayer; import org.bukkit.entity.Player; import org.bukkit.plugin.java.JavaPlugin; diff --git a/src/org/jakub1221/herobrineai/NPC/NPCCore.java b/src/org/jakub1221/herobrineai/NPC/NPCCore.java index e75ca55..f9aad32 100644 --- a/src/org/jakub1221/herobrineai/NPC/NPCCore.java +++ b/src/org/jakub1221/herobrineai/NPC/NPCCore.java @@ -6,8 +6,8 @@ import java.util.HashMap; import java.util.HashSet; import java.util.Map; -import net.minecraft.server.v1_5_R2.Entity; -import net.minecraft.server.v1_5_R2.PlayerInteractManager; +import net.minecraft.server.v1_11_R1.Entity; +import net.minecraft.server.v1_11_R1.PlayerInteractManager; import org.bukkit.Bukkit; import org.bukkit.Location; @@ -25,15 +25,15 @@ import org.jakub1221.herobrineai.NPC.NMS.BWorld; import org.jakub1221.herobrineai.NPC.Network.NetworkCore; public class NPCCore { - + private ArrayList npcs = new ArrayList(); private BServer server; private int taskid; private Map bworlds = new HashMap(); private NetworkCore networkCore; public static JavaPlugin plugin; - public boolean isInLoaded=false; - private int lastID=0; + public boolean isInLoaded = false; + private int lastID = 0; public NPCCore(JavaPlugin plugin) { server = BServer.getInstance(); @@ -43,15 +43,14 @@ public class NPCCore { } catch (IOException e) { e.printStackTrace(); } - - + taskid = Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable() { @Override public void run() { ArrayList toRemove = new ArrayList(); for (HumanNPC i : npcs) { Entity j = i.getEntity(); - + if (j.dead) { toRemove.add(i); } @@ -72,7 +71,7 @@ public class NPCCore { } npcs.clear(); } - + public BWorld getBWorld(World world) { BWorld bworld = bworlds.get(world); if (bworld != null) { @@ -83,63 +82,64 @@ public class NPCCore { return bworld; } - public void DisableTask(){ - Bukkit.getServer().getScheduler().cancelTask(taskid); - } + public void DisableTask() { + Bukkit.getServer().getScheduler().cancelTask(taskid); + } private class WorldL implements Listener { @SuppressWarnings("unused") @EventHandler public void onChunkLoad(ChunkLoadEvent event) throws EventException { for (HumanNPC humannpc : npcs) { - if (humannpc != null && event.getChunk() == humannpc.getBukkitEntity().getLocation().getBlock().getChunk()) { - - if (isInLoaded==false){ - BWorld world = getBWorld(event.getWorld()); - - isInLoaded=true; - }} + if (humannpc != null + && event.getChunk() == humannpc.getBukkitEntity().getLocation().getBlock().getChunk()) { + + if (isInLoaded == false) { + BWorld world = getBWorld(event.getWorld()); + + isInLoaded = true; + } + } } } - + @EventHandler - public void onChunkUnload(ChunkUnloadEvent event){ + public void onChunkUnload(ChunkUnloadEvent event) { for (HumanNPC humannpc : npcs) { - if (humannpc != null && event.getChunk() == humannpc.getBukkitEntity().getLocation().getBlock().getChunk()) { - - } + if (humannpc != null + && event.getChunk() == humannpc.getBukkitEntity().getLocation().getBlock().getChunk()) { + } + } } } public HumanNPC spawnHumanNPC(String name, Location l) { lastID++; - int id = lastID; + int id = lastID; return spawnHumanNPC(name, l, id); } public HumanNPC spawnHumanNPC(String name, Location l, int id) { - - BWorld world = getBWorld(l.getWorld()); - HumanEntity humanEntity = new HumanEntity(this, world, name, new PlayerInteractManager(world.getWorldServer())); - ((Entity) humanEntity).setLocation(l.getX(), l.getY(), l.getZ(),l.getYaw(),l.getPitch()); - world.getWorldServer().addEntity(humanEntity); - HumanNPC humannpc = new HumanNPC(humanEntity,id); - npcs.add(humannpc); - return humannpc; - } - + BWorld world = getBWorld(l.getWorld()); + HumanEntity humanEntity = new HumanEntity(this, world, name, new PlayerInteractManager(world.getWorldServer())); + ((Entity) humanEntity).setLocation(l.getX(), l.getY(), l.getZ(), l.getYaw(), l.getPitch()); + world.getWorldServer().addEntity(humanEntity); + HumanNPC humannpc = new HumanNPC(humanEntity, id); + npcs.add(humannpc); + return humannpc; + } public HumanNPC getHumanNPC(int id) { - - for(HumanNPC n : npcs){ - if (n.getID()==id){ + + for (HumanNPC n : npcs) { + if (n.getID() == id) { return n; } } - + return null; } diff --git a/src/org/jakub1221/herobrineai/NPC/Network/NetworkCore.java b/src/org/jakub1221/herobrineai/NPC/Network/NetworkCore.java index 2239bef..1062eb3 100644 --- a/src/org/jakub1221/herobrineai/NPC/Network/NetworkCore.java +++ b/src/org/jakub1221/herobrineai/NPC/Network/NetworkCore.java @@ -2,9 +2,9 @@ package org.jakub1221.herobrineai.NPC.Network; import java.io.IOException; -import net.minecraft.server.v1_5_R2.Connection; -import net.minecraft.server.v1_5_R2.NetworkManager; -import net.minecraft.server.v1_5_R2.Packet; +import net.minecraft.server.v1_11_R1.Connection; +import net.minecraft.server.v1_11_R1.NetworkManager; +import net.minecraft.server.v1_11_R1.Packet; public class NetworkCore extends NetworkManager{ diff --git a/src/org/jakub1221/herobrineai/NPC/Network/NetworkHandler.java b/src/org/jakub1221/herobrineai/NPC/Network/NetworkHandler.java index 266b2c3..8bfd86d 100644 --- a/src/org/jakub1221/herobrineai/NPC/Network/NetworkHandler.java +++ b/src/org/jakub1221/herobrineai/NPC/Network/NetworkHandler.java @@ -1,26 +1,26 @@ package org.jakub1221.herobrineai.NPC.Network; -import net.minecraft.server.v1_5_R2.EntityPlayer; -import net.minecraft.server.v1_5_R2.Packet; -import net.minecraft.server.v1_5_R2.Packet101CloseWindow; -import net.minecraft.server.v1_5_R2.Packet102WindowClick; -import net.minecraft.server.v1_5_R2.Packet106Transaction; -import net.minecraft.server.v1_5_R2.Packet10Flying; -import net.minecraft.server.v1_5_R2.Packet130UpdateSign; -import net.minecraft.server.v1_5_R2.Packet14BlockDig; -import net.minecraft.server.v1_5_R2.Packet15Place; -import net.minecraft.server.v1_5_R2.Packet16BlockItemSwitch; -import net.minecraft.server.v1_5_R2.Packet18ArmAnimation; -import net.minecraft.server.v1_5_R2.Packet19EntityAction; -import net.minecraft.server.v1_5_R2.Packet255KickDisconnect; -import net.minecraft.server.v1_5_R2.Packet3Chat; -import net.minecraft.server.v1_5_R2.Packet7UseEntity; -import net.minecraft.server.v1_5_R2.Packet9Respawn; -import net.minecraft.server.v1_5_R2.PlayerConnection; +import net.minecraft.server.v1_11_R1.EntityPlayer; +import net.minecraft.server.v1_11_R1.Packet; +import net.minecraft.server.v1_11_R1.Packet101CloseWindow; +import net.minecraft.server.v1_11_R1.Packet102WindowClick; +import net.minecraft.server.v1_11_R1.Packet106Transaction; +import net.minecraft.server.v1_11_R1.Packet10Flying; +import net.minecraft.server.v1_11_R1.Packet130UpdateSign; +import net.minecraft.server.v1_11_R1.Packet14BlockDig; +import net.minecraft.server.v1_11_R1.Packet15Place; +import net.minecraft.server.v1_11_R1.Packet16BlockItemSwitch; +import net.minecraft.server.v1_11_R1.Packet18ArmAnimation; +import net.minecraft.server.v1_11_R1.Packet19EntityAction; +import net.minecraft.server.v1_11_R1.Packet255KickDisconnect; +import net.minecraft.server.v1_11_R1.Packet3Chat; +import net.minecraft.server.v1_11_R1.Packet7UseEntity; +import net.minecraft.server.v1_11_R1.Packet9Respawn; +import net.minecraft.server.v1_11_R1.PlayerConnection; import org.bukkit.Bukkit; -import org.bukkit.craftbukkit.v1_5_R2.CraftServer; -import org.bukkit.craftbukkit.v1_5_R2.entity.CraftPlayer; +import org.bukkit.craftbukkit.v1_11_R1.CraftServer; +import org.bukkit.craftbukkit.v1_11_R1.entity.CraftPlayer; import org.jakub1221.herobrineai.NPC.NPCCore; public class NetworkHandler extends PlayerConnection { @@ -34,10 +34,6 @@ public class NetworkHandler extends PlayerConnection { return new CraftPlayer((CraftServer) Bukkit.getServer(), player); } - @Override - public void d() { - }; - @Override public void a(Packet10Flying packet10flying) { }; diff --git a/src/org/jakub1221/herobrineai/NPC/Network/NetworkUtils.java b/src/org/jakub1221/herobrineai/NPC/Network/NetworkUtils.java index b9d6607..a9b2a10 100644 --- a/src/org/jakub1221/herobrineai/NPC/Network/NetworkUtils.java +++ b/src/org/jakub1221/herobrineai/NPC/Network/NetworkUtils.java @@ -1,11 +1,11 @@ package org.jakub1221.herobrineai.NPC.Network; -import net.minecraft.server.v1_5_R2.Packet; +import net.minecraft.server.v1_11_R1.Packet; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.World; -import org.bukkit.craftbukkit.v1_5_R2.entity.CraftPlayer; +import org.bukkit.craftbukkit.v1_11_R1.entity.CraftPlayer; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; diff --git a/src/org/jakub1221/herobrineai/Support.java b/src/org/jakub1221/herobrineai/Support.java index 3fed16c..1cfc036 100644 --- a/src/org/jakub1221/herobrineai/Support.java +++ b/src/org/jakub1221/herobrineai/Support.java @@ -3,6 +3,7 @@ package org.jakub1221.herobrineai; import org.bukkit.Bukkit; import org.bukkit.Location; import org.jakub1221.herobrineai.support._CustomItems; +import org.jakub1221.herobrineai.support._Factions; import org.jakub1221.herobrineai.support._GriefPrevention; import org.jakub1221.herobrineai.support._PreciousStones; import org.jakub1221.herobrineai.support._Residence; @@ -17,12 +18,14 @@ public class Support { private boolean B_CustomItems=false; private boolean B_WorldGuard=false; private boolean B_PreciousStones=false; + private boolean B_Factions=false; private _Residence ResidenceCore=null; private _GriefPrevention GriefPreventionCore=null; private _Towny TownyCore=null; private _CustomItems CustomItems=null; private _WorldGuard WorldGuard=null; private _PreciousStones PreciousStones=null; + private _Factions Factions=null; public Support(){ ResidenceCore=new _Residence(); @@ -31,11 +34,12 @@ public class Support { CustomItems=new _CustomItems(); WorldGuard=new _WorldGuard(); PreciousStones=new _PreciousStones(); + Factions=new _Factions(); Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(HerobrineAI.getPluginCore(), new Runnable() { public void run() { CheckForPlugins(); } - }, 1 * 10L); + }, 1 * 2L); } public boolean isPreciousStones(){ @@ -53,6 +57,9 @@ public class Support { public boolean isTowny(){ return B_Towny; } + public boolean isFactions(){ + return B_Factions; + } public void CheckForPlugins(){ if (ResidenceCore.Check()){ B_Residence=true; @@ -79,6 +86,10 @@ public class Support { B_PreciousStones=true; HerobrineAI.log.info("[HerobrineAI] PreciousStones plugin detected!"); } + if (Factions.Check()){ + B_Factions=true; + HerobrineAI.log.info("[HerobrineAI] Factions plugin detected!"); + } } public boolean isSecuredArea(Location loc){ if (B_Residence){ @@ -101,6 +112,10 @@ public class Support { if (PreciousStones.isSecuredArea(loc)){ return true; }else{return false;} + }else if (B_Factions){ + if (Factions.isSecuredArea(loc)){ + return true; + }else{return false;} } return false; } diff --git a/src/org/jakub1221/herobrineai/Utils.java b/src/org/jakub1221/herobrineai/Utils.java new file mode 100644 index 0000000..f41cffd --- /dev/null +++ b/src/org/jakub1221/herobrineai/Utils.java @@ -0,0 +1,40 @@ +package org.jakub1221.herobrineai; + +import java.util.Collection; +import java.util.Random; + +import org.bukkit.Bukkit; +import org.bukkit.entity.Player; + +public class Utils { + + private static Random randomGen = new Random(); + + public static Random getRandomGen(){ + return randomGen; + } + + public static Player getRandomPlayer() { + Collection playersOnline = Bukkit.getServer().getOnlinePlayers(); + + if(playersOnline.size() == 1 && ((Player)playersOnline.toArray()[0]).getEntityId() == HerobrineAI.getPluginCore().HerobrineEntityID) + return null; + + int player_rolled = new Random().nextInt(playersOnline.size()); + + Player p = (Player) playersOnline.toArray()[player_rolled]; + + if (p.getEntityId() == HerobrineAI.getPluginCore().HerobrineEntityID) + return getRandomPlayer(); + + return p; + + } + + public static int getRandomPlayerNum() { + Collection playersOnline = Bukkit.getServer().getOnlinePlayers(); + + return new Random().nextInt(playersOnline.size()); + } + +} diff --git a/src/org/jakub1221/herobrineai/commands/CmdExecutor.java b/src/org/jakub1221/herobrineai/commands/CmdExecutor.java index 409ad54..36704ce 100644 --- a/src/org/jakub1221/herobrineai/commands/CmdExecutor.java +++ b/src/org/jakub1221/herobrineai/commands/CmdExecutor.java @@ -12,539 +12,932 @@ import org.jakub1221.herobrineai.HerobrineAI; import org.jakub1221.herobrineai.AI.AICore; import org.jakub1221.herobrineai.AI.Core.CoreType; -public class CmdExecutor implements CommandExecutor{ +public class CmdExecutor implements CommandExecutor { private HerobrineAI P_Core = null; private Logger log = null; - - public CmdExecutor(HerobrineAI i){ - P_Core=i; - log=i.log; + + public CmdExecutor(HerobrineAI i) { + P_Core = i; + log = i.log; } - + @Override - public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){ - - if (sender instanceof Player){ + public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) { + + if (sender instanceof Player) { Player player = (Player) sender; - if (player.isOp()){ - if (args.length>0){ - if (args[0].equalsIgnoreCase("attack")){ - if (args.length>1){ - if (Bukkit.getServer().getPlayer(args[1])!=null){ - if (Bukkit.getServer().getPlayer(args[1]).isOnline()){ - if (P_Core.getSupport().checkAttack(Bukkit.getServer().getPlayer(args[1]).getLocation())){ - if (P_Core.canAttackPlayer(Bukkit.getServer().getPlayer(args[1]), player)){ - if (AICore.isTarget==false){ - P_Core.getAICore().setAttackTarget(Bukkit.getServer().getPlayer(args[1])); - player.sendMessage(ChatColor.RED+"[HerobrineAI] Herobrine is now attacking the "+args[1]+"!"); - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Herobrine already has target! Use "+ChatColor.GREEN+"/hb-ai cancel"+ChatColor.RED+" to cancel actual target");} + if (player.isOp()) { + if (args.length > 0) { + if (args[0].equalsIgnoreCase("attack")) { + if (args.length > 1) { + if (Bukkit.getServer().getPlayer(args[1]) != null) { + if (Bukkit.getServer().getPlayer(args[1]).isOnline()) { + if (P_Core.getSupport() + .checkAttack(Bukkit.getServer().getPlayer(args[1]).getLocation())) { + if (P_Core.canAttackPlayer(Bukkit.getServer().getPlayer(args[1]), player)) { + if (AICore.isTarget == false) { + P_Core.getAICore() + .setAttackTarget(Bukkit.getServer().getPlayer(args[1])); + player.sendMessage( + ChatColor.RED + "[HerobrineAI] Herobrine is now attacking the " + + args[1] + "!"); + } else { + player.sendMessage(ChatColor.RED + + "[HerobrineAI] Herobrine already has target! Use " + + ChatColor.GREEN + "/hb-ai cancel" + ChatColor.RED + + " to cancel actual target"); + } + } + } else { + player.sendMessage(ChatColor.RED + "[HerobrineAI] Player is in secure area."); + } + } else { + player.sendMessage(ChatColor.RED + "[HerobrineAI] Player is offline."); } - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is in secure area.");} - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is offline.");} - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is offline.");} - }else{player.sendMessage(ChatColor.RED+"Usage: "+ChatColor.GREEN+"/hb-ai attack ");} - }else if (args[0].equalsIgnoreCase("pyramid")){ - if (args.length>1){ - if (Bukkit.getServer().getPlayer(args[1])!=null){ - if (Bukkit.getServer().getPlayer(args[1]).isOnline()){ - if (P_Core.getSupport().checkBuild(Bukkit.getServer().getPlayer(args[1]).getLocation())){ - Object[] data = {Bukkit.getServer().getPlayer(args[1])}; - if(P_Core.getAICore().getCore(CoreType.PYRAMID).RunCore(data).getResult()){ - player.sendMessage(ChatColor.RED+"[HerobrineAI] Creating pyramind near "+args[1]+"!"); - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Cannot find good place for pyramid!");} - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is in secure area.");} - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is offline.");} - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is offline.");} - }else{player.sendMessage(ChatColor.RED+"Usage: "+ChatColor.GREEN+"/hb-ai pyramid ");} - } - else if (args[0].equalsIgnoreCase("bury")){ - if (args.length>1){ - if (Bukkit.getServer().getPlayer(args[1])!=null){ - if (Bukkit.getServer().getPlayer(args[1]).isOnline()){ - if (P_Core.getSupport().checkHaunt(Bukkit.getServer().getPlayer(args[1]).getLocation())){ - Object[] data = {Bukkit.getServer().getPlayer(args[1])}; - if(P_Core.getAICore().getCore(CoreType.BURY_PLAYER).RunCore(data).getResult()){ - player.sendMessage(ChatColor.RED+"[HerobrineAI] Buried "+args[1]+"!"); - - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Cannot find good place!");} - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is in secure area.");} - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is offline.");} - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is offline.");} - }else{player.sendMessage(ChatColor.RED+"Usage: "+ChatColor.GREEN+"/hb-ai bury ");} - }else if (args[0].equalsIgnoreCase("temple")){ - if (args.length>1){ - - if (Bukkit.getServer().getPlayer(args[1])!=null){ - if (Bukkit.getServer().getPlayer(args[1]).isOnline()){ - if (P_Core.getSupport().checkBuild(Bukkit.getServer().getPlayer(args[1]).getLocation())){ - Object[] data = {Bukkit.getServer().getPlayer(args[1])}; - if(P_Core.getAICore().getCore(CoreType.TEMPLE).RunCore(data).getResult()){ - player.sendMessage(ChatColor.RED+"[HerobrineAI] Creating temple near "+args[1]+"!"); - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Cannot find good place for temple!");} - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is in secure area.");} - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is offline.");} - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is offline.");} - - }else{player.sendMessage(ChatColor.RED+"Usage: "+ChatColor.GREEN+"/hb-ai temple ");} - }else if (args[0].equalsIgnoreCase("heads")){ - if (args.length>1){ - - if (Bukkit.getServer().getPlayer(args[1])!=null){ - Object[] data = {args[1]}; - player.sendMessage(ChatColor.RED+"[HerobrineAI] "+P_Core.getAICore().getCore(CoreType.HEADS).RunCore(data).getResultString()); - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is offline.");} - - }else{player.sendMessage(ChatColor.RED+"Usage: "+ChatColor.GREEN+"/hb-ai heads ");} - }else if (args[0].equalsIgnoreCase("cave")){ - if (args.length>1){ - - if (Bukkit.getServer().getPlayer(args[1])!=null){ - Object[] data = {Bukkit.getServer().getPlayer(args[1]).getLocation(),true}; - player.sendMessage(ChatColor.RED+"[HerobrineAI] "+P_Core.getAICore().getCore(CoreType.BUILD_STUFF).RunCore(data).getResultString()); - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is offline.");} - - }else{player.sendMessage(ChatColor.RED+"Usage: "+ChatColor.GREEN+"/hb-ai cave ");} - }else if (args[0].equalsIgnoreCase("burn")){ - if (args.length>1){ - - if (Bukkit.getServer().getPlayer(args[1])!=null){ - Object[] data = {Bukkit.getServer().getPlayer(args[1])}; - player.sendMessage(ChatColor.RED+"[HerobrineAI] "+P_Core.getAICore().getCore(CoreType.BURN).RunCore(data).getResultString()); - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is offline.");} - - }else{player.sendMessage(ChatColor.RED+"Usage: "+ChatColor.GREEN+"/hb-ai burn ");} - }else if (args[0].equalsIgnoreCase("curse")){ - if (args.length>1){ - - if (Bukkit.getServer().getPlayer(args[1])!=null){ - Object[] data = {Bukkit.getServer().getPlayer(args[1])}; - player.sendMessage(ChatColor.RED+"[HerobrineAI] "+P_Core.getAICore().getCore(CoreType.CURSE).RunCore(data).getResultString()); - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is offline.");} - - }else{player.sendMessage(ChatColor.RED+"Usage: "+ChatColor.GREEN+"/hb-ai curse ");} - } - else if (args[0].equalsIgnoreCase("graveyard")){ - if (args.length>1){ - if (Bukkit.getServer().getPlayer(args[1])!=null){ - if (Bukkit.getServer().getPlayer(args[1]).isOnline()){ - if (AICore.isTarget==false){ - P_Core.getAICore().GraveyardTeleport(Bukkit.getServer().getPlayer(args[1])); - player.sendMessage(ChatColor.RED+"[HerobrineAI] "+args[1]+" is now in the Graveyard world!"); - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Herobrine already has target! Use "+ChatColor.GREEN+"/hb-ai cancel"+ChatColor.RED+" to cancel actual target");} - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is offline.");} - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is offline.");} - }else{player.sendMessage(ChatColor.RED+"Usage: "+ChatColor.GREEN+"/hb-ai graveyard ");} - }else if (args[0].equalsIgnoreCase("haunt")){ - - if (args.length>1){ - if (Bukkit.getServer().getPlayer(args[1])!=null){ - if (Bukkit.getServer().getPlayer(args[1]).isOnline()){ - if (P_Core.canAttackPlayer(Bukkit.getServer().getPlayer(args[1]), player)){ - if (AICore.isTarget==false){ - P_Core.getAICore().setHauntTarget(Bukkit.getServer().getPlayer(args[1])); - player.sendMessage(ChatColor.RED+"[HerobrineAI] Herobrine now haunts the "+args[1]+"!"); - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Herobrine already has target! Use "+ChatColor.GREEN+"/hb-ai cancel"+ChatColor.RED+" to cancel actual target.");} + } else { + player.sendMessage(ChatColor.RED + "[HerobrineAI] Player is offline."); } - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is offline.");} - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is offline.");} - }else{player.sendMessage(ChatColor.RED+"Usage: "+ChatColor.GREEN+"/hb-ai haunt ");} - - }else if (args[0].equalsIgnoreCase("cancel")){ - - P_Core.getAICore().CancelTarget(CoreType.ANY); - player.sendMessage(ChatColor.RED+"[HerobrineAI] Target cancelled!"); - - }else if (args[0].equalsIgnoreCase("reload")){ - - - - P_Core.getConfigDB().Reload(); - - player.sendMessage(ChatColor.RED+"[HerobrineAI] Config reloaded!"); - - }else if (args[0].equalsIgnoreCase("help")){ - - player.sendMessage(ChatColor.RED+"[HerobrineAI] Command list"); - player.sendMessage(ChatColor.GREEN+"/hb-ai help - shows all commands"); - player.sendMessage(ChatColor.GREEN+"/hb-ai attack - herobrine attacks the player"); - player.sendMessage(ChatColor.GREEN+"/hb-ai haunt - herobrine haunts the player"); - player.sendMessage(ChatColor.GREEN+"/hb-ai cancel - cancel herobrine´s actual target"); - player.sendMessage(ChatColor.GREEN+"/hb-ai reload - reload config"); - player.sendMessage(ChatColor.GREEN+"/hb-ai position - gets actual position of Herobrine"); - player.sendMessage(ChatColor.GREEN+"/hb-ai pyramid - build pyramid near the player"); - player.sendMessage(ChatColor.GREEN+"/hb-ai bury - bury player"); - player.sendMessage(ChatColor.GREEN+"/hb-ai graveyard - teleport player to the Graveyard world"); - player.sendMessage(ChatColor.GREEN+"/hb-ai temple - build temple near the player"); - player.sendMessage(ChatColor.GREEN+"/hb-ai heads - place heads near the player"); - player.sendMessage(ChatColor.GREEN+"/hb-ai cave - create cave near the player"); - player.sendMessage(ChatColor.GREEN+"/hb-ai burn - burn player"); - player.sendMessage(ChatColor.GREEN+"/hb-ai curse - curse player"); - - }else if (args[0].equalsIgnoreCase("position")){ - - player.sendMessage(ChatColor.RED+"[HerobrineAI] Position"); - player.sendMessage(ChatColor.RED+"World: "+P_Core.HerobrineNPC.getBukkitEntity().getLocation().getWorld().getName()+" X: "+((int)P_Core.HerobrineNPC.getBukkitEntity().getLocation().getX())+ - " Y: "+((int)P_Core.HerobrineNPC.getBukkitEntity().getLocation().getY())+" Z: "+((int)P_Core.HerobrineNPC.getBukkitEntity().getLocation().getZ())); - player.sendMessage(ChatColor.RED+"InWalkingMode: "+AICore.getStringWalkingMode()); - player.sendMessage(ChatColor.RED+"Available World: "+HerobrineAI.getPluginCore().getAvailableWorldString()); - }else{player.sendMessage(ChatColor.RED+"Usage: /hb-ai help");} - }else{player.sendMessage(ChatColor.RED+"Usage: /hb-ai help");} - }else{ + } else { + player.sendMessage( + ChatColor.RED + "Usage: " + ChatColor.GREEN + "/hb-ai attack "); + } + } else if (args[0].equalsIgnoreCase("pyramid")) { + if (args.length > 1) { + if (Bukkit.getServer().getPlayer(args[1]) != null) { + if (Bukkit.getServer().getPlayer(args[1]).isOnline()) { + if (P_Core.getSupport() + .checkBuild(Bukkit.getServer().getPlayer(args[1]).getLocation())) { + Object[] data = { Bukkit.getServer().getPlayer(args[1]) }; + if (P_Core.getAICore().getCore(CoreType.PYRAMID).RunCore(data).getResult()) { + player.sendMessage(ChatColor.RED + "[HerobrineAI] Creating pyramind near " + + args[1] + "!"); + } else { + player.sendMessage(ChatColor.RED + + "[HerobrineAI] Cannot find good place for pyramid!"); + } + } else { + player.sendMessage(ChatColor.RED + "[HerobrineAI] Player is in secure area."); + } + } else { + player.sendMessage(ChatColor.RED + "[HerobrineAI] Player is offline."); + } + } else { + player.sendMessage(ChatColor.RED + "[HerobrineAI] Player is offline."); + } + } else { + player.sendMessage( + ChatColor.RED + "Usage: " + ChatColor.GREEN + "/hb-ai pyramid "); + } + } else if (args[0].equalsIgnoreCase("bury")) { + if (args.length > 1) { + if (Bukkit.getServer().getPlayer(args[1]) != null) { + if (Bukkit.getServer().getPlayer(args[1]).isOnline()) { + if (P_Core.getSupport() + .checkHaunt(Bukkit.getServer().getPlayer(args[1]).getLocation())) { + Object[] data = { Bukkit.getServer().getPlayer(args[1]) }; + if (P_Core.getAICore().getCore(CoreType.BURY_PLAYER).RunCore(data) + .getResult()) { + player.sendMessage(ChatColor.RED + "[HerobrineAI] Buried " + args[1] + "!"); + + } else { + player.sendMessage(ChatColor.RED + "[HerobrineAI] Cannot find good place!"); + } + } else { + player.sendMessage(ChatColor.RED + "[HerobrineAI] Player is in secure area."); + } + } else { + player.sendMessage(ChatColor.RED + "[HerobrineAI] Player is offline."); + } + } else { + player.sendMessage(ChatColor.RED + "[HerobrineAI] Player is offline."); + } + } else { + player.sendMessage( + ChatColor.RED + "Usage: " + ChatColor.GREEN + "/hb-ai bury "); + } + } else if (args[0].equalsIgnoreCase("temple")) { + if (args.length > 1) { + + if (Bukkit.getServer().getPlayer(args[1]) != null) { + if (Bukkit.getServer().getPlayer(args[1]).isOnline()) { + if (P_Core.getSupport() + .checkBuild(Bukkit.getServer().getPlayer(args[1]).getLocation())) { + Object[] data = { Bukkit.getServer().getPlayer(args[1]) }; + if (P_Core.getAICore().getCore(CoreType.TEMPLE).RunCore(data).getResult()) { + player.sendMessage(ChatColor.RED + "[HerobrineAI] Creating temple near " + + args[1] + "!"); + } else { + player.sendMessage( + ChatColor.RED + "[HerobrineAI] Cannot find good place for temple!"); + } + } else { + player.sendMessage(ChatColor.RED + "[HerobrineAI] Player is in secure area."); + } + } else { + player.sendMessage(ChatColor.RED + "[HerobrineAI] Player is offline."); + } + } else { + player.sendMessage(ChatColor.RED + "[HerobrineAI] Player is offline."); + } + + } else { + player.sendMessage( + ChatColor.RED + "Usage: " + ChatColor.GREEN + "/hb-ai temple "); + } + } else if (args[0].equalsIgnoreCase("heads")) { + if (args.length > 1) { + + if (Bukkit.getServer().getPlayer(args[1]) != null) { + Object[] data = { args[1] }; + player.sendMessage(ChatColor.RED + "[HerobrineAI] " + + P_Core.getAICore().getCore(CoreType.HEADS).RunCore(data).getResultString()); + } else { + player.sendMessage(ChatColor.RED + "[HerobrineAI] Player is offline."); + } + + } else { + player.sendMessage( + ChatColor.RED + "Usage: " + ChatColor.GREEN + "/hb-ai heads "); + } + } else if (args[0].equalsIgnoreCase("cave")) { + if (args.length > 1) { + + if (Bukkit.getServer().getPlayer(args[1]) != null) { + Object[] data = { Bukkit.getServer().getPlayer(args[1]).getLocation(), true }; + player.sendMessage(ChatColor.RED + "[HerobrineAI] " + P_Core.getAICore() + .getCore(CoreType.BUILD_STUFF).RunCore(data).getResultString()); + } else { + player.sendMessage(ChatColor.RED + "[HerobrineAI] Player is offline."); + } + + } else { + player.sendMessage( + ChatColor.RED + "Usage: " + ChatColor.GREEN + "/hb-ai cave "); + } + } else if (args[0].equalsIgnoreCase("burn")) { + if (args.length > 1) { + + if (Bukkit.getServer().getPlayer(args[1]) != null) { + Object[] data = { Bukkit.getServer().getPlayer(args[1]) }; + player.sendMessage(ChatColor.RED + "[HerobrineAI] " + + P_Core.getAICore().getCore(CoreType.BURN).RunCore(data).getResultString()); + } else { + player.sendMessage(ChatColor.RED + "[HerobrineAI] Player is offline."); + } + + } else { + player.sendMessage( + ChatColor.RED + "Usage: " + ChatColor.GREEN + "/hb-ai burn "); + } + } else if (args[0].equalsIgnoreCase("curse")) { + if (args.length > 1) { + + if (Bukkit.getServer().getPlayer(args[1]) != null) { + Object[] data = { Bukkit.getServer().getPlayer(args[1]) }; + player.sendMessage(ChatColor.RED + "[HerobrineAI] " + + P_Core.getAICore().getCore(CoreType.CURSE).RunCore(data).getResultString()); + } else { + player.sendMessage(ChatColor.RED + "[HerobrineAI] Player is offline."); + } + + } else { + player.sendMessage( + ChatColor.RED + "Usage: " + ChatColor.GREEN + "/hb-ai curse "); + } + } else if (args[0].equalsIgnoreCase("graveyard")) { + if (args.length > 1) { + if (Bukkit.getServer().getPlayer(args[1]) != null) { + if (Bukkit.getServer().getPlayer(args[1]).isOnline()) { + if (AICore.isTarget == false) { + P_Core.getAICore().GraveyardTeleport(Bukkit.getServer().getPlayer(args[1])); + player.sendMessage(ChatColor.RED + "[HerobrineAI] " + args[1] + + " is now in the Graveyard world!"); + } else { + player.sendMessage(ChatColor.RED + + "[HerobrineAI] Herobrine already has target! Use " + ChatColor.GREEN + + "/hb-ai cancel" + ChatColor.RED + " to cancel actual target"); + } + } else { + player.sendMessage(ChatColor.RED + "[HerobrineAI] Player is offline."); + } + } else { + player.sendMessage(ChatColor.RED + "[HerobrineAI] Player is offline."); + } + } else { + player.sendMessage( + ChatColor.RED + "Usage: " + ChatColor.GREEN + "/hb-ai graveyard "); + } + } else if (args[0].equalsIgnoreCase("haunt")) { + + if (args.length > 1) { + if (Bukkit.getServer().getPlayer(args[1]) != null) { + if (Bukkit.getServer().getPlayer(args[1]).isOnline()) { + if (P_Core.canAttackPlayer(Bukkit.getServer().getPlayer(args[1]), player)) { + if (AICore.isTarget == false) { + P_Core.getAICore().setHauntTarget(Bukkit.getServer().getPlayer(args[1])); + player.sendMessage(ChatColor.RED + "[HerobrineAI] Herobrine now haunts the " + + args[1] + "!"); + } else { + player.sendMessage( + ChatColor.RED + "[HerobrineAI] Herobrine already has target! Use " + + ChatColor.GREEN + "/hb-ai cancel" + ChatColor.RED + + " to cancel actual target."); + } + } + } else { + player.sendMessage(ChatColor.RED + "[HerobrineAI] Player is offline."); + } + } else { + player.sendMessage(ChatColor.RED + "[HerobrineAI] Player is offline."); + } + } else { + player.sendMessage( + ChatColor.RED + "Usage: " + ChatColor.GREEN + "/hb-ai haunt "); + } + + } else if (args[0].equalsIgnoreCase("cancel")) { + + P_Core.getAICore().CancelTarget(CoreType.ANY); + player.sendMessage(ChatColor.RED + "[HerobrineAI] Target cancelled!"); + + } else if (args[0].equalsIgnoreCase("reload")) { + + P_Core.getConfigDB().Reload(); + + player.sendMessage(ChatColor.RED + "[HerobrineAI] Config reloaded!"); + + } else if (args[0].equalsIgnoreCase("help")) { + + player.sendMessage(ChatColor.RED + "[HerobrineAI] Command list"); + player.sendMessage(ChatColor.GREEN + "/hb-ai help - shows all commands"); + player.sendMessage( + ChatColor.GREEN + "/hb-ai attack - herobrine attacks the player"); + player.sendMessage( + ChatColor.GREEN + "/hb-ai haunt - herobrine haunts the player"); + player.sendMessage(ChatColor.GREEN + "/hb-ai cancel - cancel herobrine�s actual target"); + player.sendMessage(ChatColor.GREEN + "/hb-ai reload - reload config"); + player.sendMessage(ChatColor.GREEN + "/hb-ai position - gets actual position of Herobrine"); + player.sendMessage( + ChatColor.GREEN + "/hb-ai pyramid - build pyramid near the player"); + player.sendMessage(ChatColor.GREEN + "/hb-ai bury - bury player"); + player.sendMessage(ChatColor.GREEN + + "/hb-ai graveyard - teleport player to the Graveyard world"); + player.sendMessage( + ChatColor.GREEN + "/hb-ai temple - build temple near the player"); + player.sendMessage( + ChatColor.GREEN + "/hb-ai heads - place heads near the player"); + player.sendMessage(ChatColor.GREEN + "/hb-ai cave - create cave near the player"); + player.sendMessage(ChatColor.GREEN + "/hb-ai burn - burn player"); + player.sendMessage(ChatColor.GREEN + "/hb-ai curse - curse player"); + player.sendMessage(ChatColor.GREEN + "/hb-ai allworlds - add all worlds to config"); + + } else if (args[0].equalsIgnoreCase("position")) { + + player.sendMessage(ChatColor.RED + "[HerobrineAI] Position"); + player.sendMessage(ChatColor.RED + "World: " + + P_Core.HerobrineNPC.getBukkitEntity().getLocation().getWorld().getName() + " X: " + + ((int) P_Core.HerobrineNPC.getBukkitEntity().getLocation().getX()) + " Y: " + + ((int) P_Core.HerobrineNPC.getBukkitEntity().getLocation().getY()) + " Z: " + + ((int) P_Core.HerobrineNPC.getBukkitEntity().getLocation().getZ())); + player.sendMessage(ChatColor.RED + "InWalkingMode: " + AICore.getStringWalkingMode()); + player.sendMessage(ChatColor.RED + "Available World: " + + HerobrineAI.getPluginCore().getAvailableWorldString()); + } else if (args[0].equalsIgnoreCase("allworlds")) { + + HerobrineAI.getPluginCore().getConfigDB().addAllWorlds(); + player.sendMessage(ChatColor.GREEN + "[HerobrineAI] All worlds have been added to config."); + player.sendMessage( + ChatColor.YELLOW + "[HerobrineAI] Note: Worlds with blank spaces can cause problems!"); + + } else { + player.sendMessage(ChatColor.RED + "Usage: /hb-ai help"); + } + } else { + player.sendMessage(ChatColor.RED + "Usage: /hb-ai help"); + } + } else { /* PERMISSION NODE */ - - if (args.length>0){ - if (args[0].equalsIgnoreCase("attack")){ - if (args.length>1){ - if (player.hasPermission("hb-ai.attack")){ - if (Bukkit.getServer().getPlayer(args[1])!=null){ - if (Bukkit.getServer().getPlayer(args[1]).isOnline()){ - if (P_Core.getSupport().checkAttack(Bukkit.getServer().getPlayer(args[1]).getLocation())){ - if (P_Core.canAttackPlayer(Bukkit.getServer().getPlayer(args[1]), player)){ - if (AICore.isTarget==false){ - P_Core.getAICore().setAttackTarget(Bukkit.getServer().getPlayer(args[1])); - player.sendMessage(ChatColor.RED+"[HerobrineAI] Herobrine is now attacking the "+args[1]+"!"); - - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Herobrine already has target! Use "+ChatColor.GREEN+"/hb-ai cancel"+ChatColor.RED+" to cancel actual target");} - + + if (args.length > 0) { + if (args[0].equalsIgnoreCase("attack")) { + if (args.length > 1) { + if (player.hasPermission("hb-ai.attack")) { + if (Bukkit.getServer().getPlayer(args[1]) != null) { + if (Bukkit.getServer().getPlayer(args[1]).isOnline()) { + if (P_Core.getSupport() + .checkAttack(Bukkit.getServer().getPlayer(args[1]).getLocation())) { + if (P_Core.canAttackPlayer(Bukkit.getServer().getPlayer(args[1]), player)) { + if (AICore.isTarget == false) { + P_Core.getAICore() + .setAttackTarget(Bukkit.getServer().getPlayer(args[1])); + player.sendMessage(ChatColor.RED + + "[HerobrineAI] Herobrine is now attacking the " + args[1] + + "!"); + + } else { + player.sendMessage(ChatColor.RED + + "[HerobrineAI] Herobrine already has target! Use " + + ChatColor.GREEN + "/hb-ai cancel" + ChatColor.RED + + " to cancel actual target"); + } + + } + } else { + player.sendMessage( + ChatColor.RED + "[HerobrineAI] Player is in secure area."); + } + } else { + player.sendMessage(ChatColor.RED + "[HerobrineAI] Player is offline."); } - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is in secure area.");} - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is offline.");} - - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is offline.");} - }else{player.sendMessage(ChatColor.RED+"You don´t have permissions to do that.");} - }else{player.sendMessage(ChatColor.RED+"Usage: "+ChatColor.GREEN+"/hb-ai attack ");} - }else if (args[0].equalsIgnoreCase("pyramid")){ - if (args.length>1){ - if(player.hasPermission("hb-ai.pyramid")){ - if (Bukkit.getServer().getPlayer(args[1])!=null){ - if (Bukkit.getServer().getPlayer(args[1]).isOnline()){ - if (P_Core.getSupport().checkBuild(Bukkit.getServer().getPlayer(args[1]).getLocation())){ - Object[] data = {Bukkit.getServer().getPlayer(args[1])}; - if(P_Core.getAICore().getCore(CoreType.PYRAMID).RunCore(data).getResult()){ - player.sendMessage(ChatColor.RED+"[HerobrineAI] Creating pyramind near "+args[1]+"!"); - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Cannot find good place for pyramid!");} - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is in secure area.");} - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is offline.");} - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is offline.");} - }else{player.sendMessage(ChatColor.RED+"You don´t have permissions to do that.");} - }else{player.sendMessage(ChatColor.RED+"Usage: "+ChatColor.GREEN+"/hb-ai pyramid ");} - }else if (args[0].equalsIgnoreCase("temple")){ - if (args.length>1){ - if(player.hasPermission("hb-ai.temple")){ - if (Bukkit.getServer().getPlayer(args[1])!=null){ - if (Bukkit.getServer().getPlayer(args[1]).isOnline()){ - if (P_Core.getSupport().checkBuild(Bukkit.getServer().getPlayer(args[1]).getLocation())){ - Object[] data = {Bukkit.getServer().getPlayer(args[1])}; - if(P_Core.getAICore().getCore(CoreType.TEMPLE).RunCore(data).getResult()){ - player.sendMessage(ChatColor.RED+"[HerobrineAI] Creating temple near "+args[1]+"!"); - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Cannot find good place for temple!");} - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is in secure area.");} - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is offline.");} - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is offline.");} - }else{player.sendMessage(ChatColor.RED+"You don´t have permissions to do that.");} - }else{player.sendMessage(ChatColor.RED+"Usage: "+ChatColor.GREEN+"/hb-ai temple ");} - }else if (args[0].equalsIgnoreCase("bury")){ - - if (args.length>1){ - if (player.hasPermission("hb-ai.bury")){ - if (Bukkit.getServer().getPlayer(args[1])!=null){ - if (Bukkit.getServer().getPlayer(args[1]).isOnline()){ - if (P_Core.getSupport().checkBuild(Bukkit.getServer().getPlayer(args[1]).getLocation())){ - Object[] data = {Bukkit.getServer().getPlayer(args[1])}; - if(P_Core.getAICore().getCore(CoreType.BURY_PLAYER).RunCore(data).getResult()){ - player.sendMessage(ChatColor.RED+"[HerobrineAI] Buried "+args[1]+"!"); - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Cannot find good place!");} - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is in secure area.");} - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is offline.");} - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is offline.");} - }else{player.sendMessage(ChatColor.RED+"You don´t have permissions to do that.");} - }else{player.sendMessage(ChatColor.RED+"Usage: "+ChatColor.GREEN+"/hb-ai bury ");} + + } else { + player.sendMessage(ChatColor.RED + "[HerobrineAI] Player is offline."); + } + } else { + player.sendMessage(ChatColor.RED + "You don�t have permissions to do that."); + } + } else { + player.sendMessage( + ChatColor.RED + "Usage: " + ChatColor.GREEN + "/hb-ai attack "); } - else if (args[0].equalsIgnoreCase("cave")){ - if (args.length>1){ - if (player.hasPermission("hb-ai.cave")){ - - if (Bukkit.getServer().getPlayer(args[1])!=null){ - Object[] data = {Bukkit.getServer().getPlayer(args[1]).getLocation(),true}; - player.sendMessage(ChatColor.RED+"[HerobrineAI] "+P_Core.getAICore().getCore(CoreType.BUILD_STUFF).RunCore(data).getResultString()); - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is offline.");} - }else{player.sendMessage(ChatColor.RED+"You don´t have permissions to do that.");} - }else{player.sendMessage(ChatColor.RED+"Usage: "+ChatColor.GREEN+"/hb-ai cave ");} - }else if (args[0].equalsIgnoreCase("burn")){ - if (args.length>1){ - if (player.hasPermission("hb-ai.burn")){ - - if (Bukkit.getServer().getPlayer(args[1])!=null){ - Object[] data = {Bukkit.getServer().getPlayer(args[1])}; - player.sendMessage(ChatColor.RED+"[HerobrineAI] "+P_Core.getAICore().getCore(CoreType.BURN).RunCore(data).getResultString()); - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is offline.");} - }else{player.sendMessage(ChatColor.RED+"You don´t have permissions to do that.");} - }else{player.sendMessage(ChatColor.RED+"Usage: "+ChatColor.GREEN+"/hb-ai burn ");} - }else if (args[0].equalsIgnoreCase("curse")){ - if (args.length>1){ - if (player.hasPermission("hb-ai.curse")){ - - if (Bukkit.getServer().getPlayer(args[1])!=null){ - Object[] data = {Bukkit.getServer().getPlayer(args[1])}; - player.sendMessage(ChatColor.RED+"[HerobrineAI] "+P_Core.getAICore().getCore(CoreType.CURSE).RunCore(data).getResultString()); - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is offline.");} - }else{player.sendMessage(ChatColor.RED+"You don´t have permissions to do that.");} - }else{player.sendMessage(ChatColor.RED+"Usage: "+ChatColor.GREEN+"/hb-ai curse ");} - }else if (args[0].equalsIgnoreCase("heads")){ - if (args.length>1){ - if (player.hasPermission("hb-ai.heads")){ - if (Bukkit.getServer().getPlayer(args[1])!=null){ - Object[] data = {args[1]}; - player.sendMessage(ChatColor.RED+"[HerobrineAI] "+P_Core.getAICore().getCore(CoreType.HEADS).RunCore(data).getResultString()); - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is offline.");} - }else{player.sendMessage(ChatColor.RED+"You don´t have permissions to do that.");} - }else{player.sendMessage(ChatColor.RED+"Usage: "+ChatColor.GREEN+"/hb-ai heads ");} - } - else if (args[0].equalsIgnoreCase("graveyard")){ - if (args.length>1){ - if (player.hasPermission("hb-ai.graveyard")){ - if (Bukkit.getServer().getPlayer(args[1])!=null){ - if (Bukkit.getServer().getPlayer(args[1]).isOnline()){ - if (AICore.isTarget==false){ - P_Core.getAICore().GraveyardTeleport(Bukkit.getServer().getPlayer(args[1])); - player.sendMessage(ChatColor.RED+"[HerobrineAI] "+args[1]+" is now in the Graveyard world!"); - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Herobrine already has target! Use "+ChatColor.GREEN+"/hb-ai cancel"+ChatColor.RED+" to cancel actual target");} - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is offline.");} - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is offline.");} - }else{player.sendMessage(ChatColor.RED+"You don´t have permissions to do that.");} - }else{player.sendMessage(ChatColor.RED+"Usage: "+ChatColor.GREEN+"/hb-ai graveyard ");} - }else if (args[0].equalsIgnoreCase("haunt")){ - - if (args.length>1){ - if (player.hasPermission("hb-ai.haunt")){ - if (Bukkit.getServer().getPlayer(args[1])!=null){ - if (Bukkit.getServer().getPlayer(args[1]).isOnline()){ - if (P_Core.getSupport().checkHaunt(Bukkit.getServer().getPlayer(args[1]).getLocation())){ - if (P_Core.canAttackPlayer(Bukkit.getServer().getPlayer(args[1]), player)){ - if (AICore.isTarget==false){ - P_Core.getAICore().setHauntTarget(Bukkit.getServer().getPlayer(args[1])); - player.sendMessage(ChatColor.RED+"[HerobrineAI] Herobrine now haunts the "+args[1]+"!"); - - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Herobrine already has target! Use "+ChatColor.GREEN+"/hb-ai cancel"+ChatColor.RED+" to cancel actual target.");} + } else if (args[0].equalsIgnoreCase("pyramid")) { + if (args.length > 1) { + if (player.hasPermission("hb-ai.pyramid")) { + if (Bukkit.getServer().getPlayer(args[1]) != null) { + if (Bukkit.getServer().getPlayer(args[1]).isOnline()) { + if (P_Core.getSupport() + .checkBuild(Bukkit.getServer().getPlayer(args[1]).getLocation())) { + Object[] data = { Bukkit.getServer().getPlayer(args[1]) }; + if (P_Core.getAICore().getCore(CoreType.PYRAMID).RunCore(data) + .getResult()) { + player.sendMessage(ChatColor.RED + + "[HerobrineAI] Creating pyramind near " + args[1] + "!"); + } else { + player.sendMessage(ChatColor.RED + + "[HerobrineAI] Cannot find good place for pyramid!"); + } + } else { + player.sendMessage( + ChatColor.RED + "[HerobrineAI] Player is in secure area."); + } + } else { + player.sendMessage(ChatColor.RED + "[HerobrineAI] Player is offline."); } - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is in secure area.");} - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is offline.");} - }else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is offline.");} - }else{player.sendMessage(ChatColor.RED+"You don´t have permissions to do that.");} - }else{player.sendMessage(ChatColor.RED+"Usage: "+ChatColor.GREEN+"/hb-ai haunt ");} - - }else if (args[0].equalsIgnoreCase("cancel")){ - if (player.hasPermission("hb-ai.cancel")){ - P_Core.getAICore().CancelTarget(CoreType.ANY); - player.sendMessage(ChatColor.RED+"[HerobrineAI] Target cancelled!"); - }else{player.sendMessage(ChatColor.RED+"You don´t have permissions to do that.");} - }else if (args[0].equalsIgnoreCase("reload")){ - if (player.hasPermission("hb-ai.reload")){ - - P_Core.getConfigDB().Reload(); - - player.sendMessage(ChatColor.RED+"[HerobrineAI] Config reloaded!"); - }else{player.sendMessage(ChatColor.RED+"You don´t have permissions to do that.");} - }else if (args[0].equalsIgnoreCase("help")){ - if (player.hasPermission("hb-ai.help")){ - player.sendMessage(ChatColor.RED+"[HerobrineAI] Command list"); - player.sendMessage(ChatColor.GREEN+"/hb-ai help - shows all commands"); - player.sendMessage(ChatColor.GREEN+"/hb-ai attack - herobrine attacks the player"); - player.sendMessage(ChatColor.GREEN+"/hb-ai haunt - herobrine haunts the player"); - player.sendMessage(ChatColor.GREEN+"/hb-ai cancel - cancel herobrine´s actual target"); - player.sendMessage(ChatColor.GREEN+"/hb-ai reload - reload config"); - player.sendMessage(ChatColor.GREEN+"/hb-ai position - gets actual position of Herobrine"); - player.sendMessage(ChatColor.GREEN+"/hb-ai pyramid - build pyramid near the player"); - player.sendMessage(ChatColor.GREEN+"/hb-ai bury - bury player"); - player.sendMessage(ChatColor.GREEN+"/hb-ai graveyard - teleport player to the Graveyard world"); - player.sendMessage(ChatColor.GREEN+"/hb-ai temple - build temple near the player"); - player.sendMessage(ChatColor.GREEN+"/hb-ai heads - place heads near the player"); - player.sendMessage(ChatColor.GREEN+"/hb-ai cave - create cave near the player"); - player.sendMessage(ChatColor.GREEN+"/hb-ai burn - burn player"); - player.sendMessage(ChatColor.GREEN+"/hb-ai curse - curse player"); - - }else{player.sendMessage(ChatColor.RED+"You don´t have permissions to do that.");} - }else if (args[0].equalsIgnoreCase("position")){ - if (player.hasPermission("hb-ai.position")){ - player.sendMessage(ChatColor.RED+"[HerobrineAI] Position"); - player.sendMessage(ChatColor.RED+"World: "+P_Core.HerobrineNPC.getBukkitEntity().getLocation().getWorld().getName()+" X: "+((int)P_Core.HerobrineNPC.getBukkitEntity().getLocation().getX())+ - " Y: "+((int)P_Core.HerobrineNPC.getBukkitEntity().getLocation().getY())+" Z: "+((int)P_Core.HerobrineNPC.getBukkitEntity().getLocation().getZ())); - player.sendMessage(ChatColor.RED+"InWalkingMode: "+AICore.getStringWalkingMode()); - player.sendMessage(ChatColor.RED+"Available World: "+HerobrineAI.getPluginCore().getAvailableWorldString()); - }else{player.sendMessage(ChatColor.RED+"You don´t have permissions to do that.");} - }else{player.sendMessage(ChatColor.RED+"Usage: /hb-ai help");} - }else{player.sendMessage(ChatColor.RED+"Usage: /hb-ai help");} - - - + } else { + player.sendMessage(ChatColor.RED + "[HerobrineAI] Player is offline."); + } + } else { + player.sendMessage(ChatColor.RED + "You don�t have permissions to do that."); + } + } else { + player.sendMessage( + ChatColor.RED + "Usage: " + ChatColor.GREEN + "/hb-ai pyramid "); + } + } else if (args[0].equalsIgnoreCase("temple")) { + if (args.length > 1) { + if (player.hasPermission("hb-ai.temple")) { + if (Bukkit.getServer().getPlayer(args[1]) != null) { + if (Bukkit.getServer().getPlayer(args[1]).isOnline()) { + if (P_Core.getSupport() + .checkBuild(Bukkit.getServer().getPlayer(args[1]).getLocation())) { + Object[] data = { Bukkit.getServer().getPlayer(args[1]) }; + if (P_Core.getAICore().getCore(CoreType.TEMPLE).RunCore(data).getResult()) { + player.sendMessage(ChatColor.RED + "[HerobrineAI] Creating temple near " + + args[1] + "!"); + } else { + player.sendMessage(ChatColor.RED + + "[HerobrineAI] Cannot find good place for temple!"); + } + } else { + player.sendMessage( + ChatColor.RED + "[HerobrineAI] Player is in secure area."); + } + } else { + player.sendMessage(ChatColor.RED + "[HerobrineAI] Player is offline."); + } + } else { + player.sendMessage(ChatColor.RED + "[HerobrineAI] Player is offline."); + } + } else { + player.sendMessage(ChatColor.RED + "You don�t have permissions to do that."); + } + } else { + player.sendMessage( + ChatColor.RED + "Usage: " + ChatColor.GREEN + "/hb-ai temple "); + } + } else if (args[0].equalsIgnoreCase("bury")) { + + if (args.length > 1) { + if (player.hasPermission("hb-ai.bury")) { + if (Bukkit.getServer().getPlayer(args[1]) != null) { + if (Bukkit.getServer().getPlayer(args[1]).isOnline()) { + if (P_Core.getSupport() + .checkBuild(Bukkit.getServer().getPlayer(args[1]).getLocation())) { + Object[] data = { Bukkit.getServer().getPlayer(args[1]) }; + if (P_Core.getAICore().getCore(CoreType.BURY_PLAYER).RunCore(data) + .getResult()) { + player.sendMessage( + ChatColor.RED + "[HerobrineAI] Buried " + args[1] + "!"); + } else { + player.sendMessage( + ChatColor.RED + "[HerobrineAI] Cannot find good place!"); + } + } else { + player.sendMessage( + ChatColor.RED + "[HerobrineAI] Player is in secure area."); + } + } else { + player.sendMessage(ChatColor.RED + "[HerobrineAI] Player is offline."); + } + } else { + player.sendMessage(ChatColor.RED + "[HerobrineAI] Player is offline."); + } + } else { + player.sendMessage(ChatColor.RED + "You don�t have permissions to do that."); + } + } else { + player.sendMessage( + ChatColor.RED + "Usage: " + ChatColor.GREEN + "/hb-ai bury "); + } + } else if (args[0].equalsIgnoreCase("cave")) { + if (args.length > 1) { + if (player.hasPermission("hb-ai.cave")) { + + if (Bukkit.getServer().getPlayer(args[1]) != null) { + Object[] data = { Bukkit.getServer().getPlayer(args[1]).getLocation(), true }; + player.sendMessage(ChatColor.RED + "[HerobrineAI] " + P_Core.getAICore() + .getCore(CoreType.BUILD_STUFF).RunCore(data).getResultString()); + } else { + player.sendMessage(ChatColor.RED + "[HerobrineAI] Player is offline."); + } + } else { + player.sendMessage(ChatColor.RED + "You don�t have permissions to do that."); + } + } else { + player.sendMessage( + ChatColor.RED + "Usage: " + ChatColor.GREEN + "/hb-ai cave "); + } + } else if (args[0].equalsIgnoreCase("burn")) { + if (args.length > 1) { + if (player.hasPermission("hb-ai.burn")) { + + if (Bukkit.getServer().getPlayer(args[1]) != null) { + Object[] data = { Bukkit.getServer().getPlayer(args[1]) }; + player.sendMessage(ChatColor.RED + "[HerobrineAI] " + P_Core.getAICore() + .getCore(CoreType.BURN).RunCore(data).getResultString()); + } else { + player.sendMessage(ChatColor.RED + "[HerobrineAI] Player is offline."); + } + } else { + player.sendMessage(ChatColor.RED + "You don�t have permissions to do that."); + } + } else { + player.sendMessage( + ChatColor.RED + "Usage: " + ChatColor.GREEN + "/hb-ai burn "); + } + } else if (args[0].equalsIgnoreCase("curse")) { + if (args.length > 1) { + if (player.hasPermission("hb-ai.curse")) { + + if (Bukkit.getServer().getPlayer(args[1]) != null) { + Object[] data = { Bukkit.getServer().getPlayer(args[1]) }; + player.sendMessage(ChatColor.RED + "[HerobrineAI] " + P_Core.getAICore() + .getCore(CoreType.CURSE).RunCore(data).getResultString()); + } else { + player.sendMessage(ChatColor.RED + "[HerobrineAI] Player is offline."); + } + } else { + player.sendMessage(ChatColor.RED + "You don�t have permissions to do that."); + } + } else { + player.sendMessage( + ChatColor.RED + "Usage: " + ChatColor.GREEN + "/hb-ai curse "); + } + } else if (args[0].equalsIgnoreCase("heads")) { + if (args.length > 1) { + if (player.hasPermission("hb-ai.heads")) { + if (Bukkit.getServer().getPlayer(args[1]) != null) { + Object[] data = { args[1] }; + player.sendMessage(ChatColor.RED + "[HerobrineAI] " + P_Core.getAICore() + .getCore(CoreType.HEADS).RunCore(data).getResultString()); + } else { + player.sendMessage(ChatColor.RED + "[HerobrineAI] Player is offline."); + } + } else { + player.sendMessage(ChatColor.RED + "You don�t have permissions to do that."); + } + } else { + player.sendMessage( + ChatColor.RED + "Usage: " + ChatColor.GREEN + "/hb-ai heads "); + } + } else if (args[0].equalsIgnoreCase("graveyard")) { + if (args.length > 1) { + if (player.hasPermission("hb-ai.graveyard")) { + if (Bukkit.getServer().getPlayer(args[1]) != null) { + if (Bukkit.getServer().getPlayer(args[1]).isOnline()) { + if (AICore.isTarget == false) { + P_Core.getAICore().GraveyardTeleport(Bukkit.getServer().getPlayer(args[1])); + player.sendMessage(ChatColor.RED + "[HerobrineAI] " + args[1] + + " is now in the Graveyard world!"); + } else { + player.sendMessage( + ChatColor.RED + "[HerobrineAI] Herobrine already has target! Use " + + ChatColor.GREEN + "/hb-ai cancel" + ChatColor.RED + + " to cancel actual target"); + } + } else { + player.sendMessage(ChatColor.RED + "[HerobrineAI] Player is offline."); + } + } else { + player.sendMessage(ChatColor.RED + "[HerobrineAI] Player is offline."); + } + } else { + player.sendMessage(ChatColor.RED + "You don�t have permissions to do that."); + } + } else { + player.sendMessage( + ChatColor.RED + "Usage: " + ChatColor.GREEN + "/hb-ai graveyard "); + } + } else if (args[0].equalsIgnoreCase("haunt")) { + + if (args.length > 1) { + if (player.hasPermission("hb-ai.haunt")) { + if (Bukkit.getServer().getPlayer(args[1]) != null) { + if (Bukkit.getServer().getPlayer(args[1]).isOnline()) { + if (P_Core.getSupport() + .checkHaunt(Bukkit.getServer().getPlayer(args[1]).getLocation())) { + if (P_Core.canAttackPlayer(Bukkit.getServer().getPlayer(args[1]), player)) { + if (AICore.isTarget == false) { + P_Core.getAICore() + .setHauntTarget(Bukkit.getServer().getPlayer(args[1])); + player.sendMessage( + ChatColor.RED + "[HerobrineAI] Herobrine now haunts the " + + args[1] + "!"); + + } else { + player.sendMessage(ChatColor.RED + + "[HerobrineAI] Herobrine already has target! Use " + + ChatColor.GREEN + "/hb-ai cancel" + ChatColor.RED + + " to cancel actual target."); + } + } + } else { + player.sendMessage( + ChatColor.RED + "[HerobrineAI] Player is in secure area."); + } + } else { + player.sendMessage(ChatColor.RED + "[HerobrineAI] Player is offline."); + } + } else { + player.sendMessage(ChatColor.RED + "[HerobrineAI] Player is offline."); + } + } else { + player.sendMessage(ChatColor.RED + "You don�t have permissions to do that."); + } + } else { + player.sendMessage( + ChatColor.RED + "Usage: " + ChatColor.GREEN + "/hb-ai haunt "); + } + + } else if (args[0].equalsIgnoreCase("cancel")) { + if (player.hasPermission("hb-ai.cancel")) { + P_Core.getAICore().CancelTarget(CoreType.ANY); + player.sendMessage(ChatColor.RED + "[HerobrineAI] Target cancelled!"); + } else { + player.sendMessage(ChatColor.RED + "You don�t have permissions to do that."); + } + } else if (args[0].equalsIgnoreCase("reload")) { + if (player.hasPermission("hb-ai.reload")) { + + P_Core.getConfigDB().Reload(); + + player.sendMessage(ChatColor.RED + "[HerobrineAI] Config reloaded!"); + } else { + player.sendMessage(ChatColor.RED + "You don�t have permissions to do that."); + } + } else if (args[0].equalsIgnoreCase("help")) { + if (player.hasPermission("hb-ai.help")) { + player.sendMessage(ChatColor.RED + "[HerobrineAI] Command list"); + player.sendMessage(ChatColor.GREEN + "/hb-ai help - shows all commands"); + player.sendMessage( + ChatColor.GREEN + "/hb-ai attack - herobrine attacks the player"); + player.sendMessage( + ChatColor.GREEN + "/hb-ai haunt - herobrine haunts the player"); + player.sendMessage(ChatColor.GREEN + "/hb-ai cancel - cancel herobrine�s actual target"); + player.sendMessage(ChatColor.GREEN + "/hb-ai reload - reload config"); + player.sendMessage(ChatColor.GREEN + "/hb-ai position - gets actual position of Herobrine"); + player.sendMessage( + ChatColor.GREEN + "/hb-ai pyramid - build pyramid near the player"); + player.sendMessage(ChatColor.GREEN + "/hb-ai bury - bury player"); + player.sendMessage(ChatColor.GREEN + + "/hb-ai graveyard - teleport player to the Graveyard world"); + player.sendMessage( + ChatColor.GREEN + "/hb-ai temple - build temple near the player"); + player.sendMessage( + ChatColor.GREEN + "/hb-ai heads - place heads near the player"); + player.sendMessage( + ChatColor.GREEN + "/hb-ai cave - create cave near the player"); + player.sendMessage(ChatColor.GREEN + "/hb-ai burn - burn player"); + player.sendMessage(ChatColor.GREEN + "/hb-ai curse - curse player"); + player.sendMessage(ChatColor.GREEN + "/hb-ai allworlds - add all worlds to config"); + + } else { + player.sendMessage(ChatColor.RED + "You don�t have permissions to do that."); + } + } else if (args[0].equalsIgnoreCase("allworlds")) { + if (player.hasPermission("hb-ai.allworlds")) { + HerobrineAI.getPluginCore().getConfigDB().addAllWorlds(); + player.sendMessage(ChatColor.GREEN + "[HerobrineAI] All worlds have been added to config."); + player.sendMessage(ChatColor.YELLOW + + "[HerobrineAI] Note: Worlds with blank spaces can cause problems!"); + } else { + player.sendMessage(ChatColor.RED + "You don�t have permissions to do that."); + } + } else if (args[0].equalsIgnoreCase("position")) { + if (player.hasPermission("hb-ai.position")) { + player.sendMessage(ChatColor.RED + "[HerobrineAI] Position"); + player.sendMessage(ChatColor.RED + "World: " + + P_Core.HerobrineNPC.getBukkitEntity().getLocation().getWorld().getName() + " X: " + + ((int) P_Core.HerobrineNPC.getBukkitEntity().getLocation().getX()) + " Y: " + + ((int) P_Core.HerobrineNPC.getBukkitEntity().getLocation().getY()) + " Z: " + + ((int) P_Core.HerobrineNPC.getBukkitEntity().getLocation().getZ())); + player.sendMessage(ChatColor.RED + "InWalkingMode: " + AICore.getStringWalkingMode()); + player.sendMessage(ChatColor.RED + "Available World: " + + HerobrineAI.getPluginCore().getAvailableWorldString()); + } else { + player.sendMessage(ChatColor.RED + "You don�t have permissions to do that."); + } + } else { + player.sendMessage(ChatColor.RED + "Usage: /hb-ai help"); + } + } else { + player.sendMessage(ChatColor.RED + "Usage: /hb-ai help"); + } + } return true; - }else{ + } else { // CONSOLE - if (args.length>0){ - if (args[0].equalsIgnoreCase("attack")){ - if (args.length>1){ - if (Bukkit.getServer().getPlayer(args[1])!=null){ - if (Bukkit.getServer().getPlayer(args[1]).isOnline()){ - if (P_Core.getSupport().checkAttack(Bukkit.getServer().getPlayer(args[1]).getLocation())){ - if (P_Core.canAttackPlayerConsole(Bukkit.getServer().getPlayer(args[1]))){ - if (AICore.isTarget==false){ - P_Core.getAICore().setAttackTarget(Bukkit.getServer().getPlayer(args[1])); - log.info("[HerobrineAI] Herobrine is now attacking the "+args[1]+"!"); - }else{log.info("[HerobrineAI] Herobrine already has target! Use /hb-ai cancel to cancel actual target");} + if (args.length > 0) { + if (args[0].equalsIgnoreCase("attack")) { + if (args.length > 1) { + if (Bukkit.getServer().getPlayer(args[1]) != null) { + if (Bukkit.getServer().getPlayer(args[1]).isOnline()) { + if (P_Core.getSupport() + .checkAttack(Bukkit.getServer().getPlayer(args[1]).getLocation())) { + if (P_Core.canAttackPlayerConsole(Bukkit.getServer().getPlayer(args[1]))) { + if (AICore.isTarget == false) { + P_Core.getAICore().setAttackTarget(Bukkit.getServer().getPlayer(args[1])); + log.info("[HerobrineAI] Herobrine is now attacking the " + args[1] + "!"); + } else { + log.info( + "[HerobrineAI] Herobrine already has target! Use /hb-ai cancel to cancel actual target"); + } + } + } else { + log.info("[HerobrineAI] Player is in secured area."); } - }else{log.info("[HerobrineAI] Player is in secured area.");} - }else{log.info("[HerobrineAI] Player is offline.");} - }else{log.info("[HerobrineAI] Player is offline.");} - }else{log.info("Usage: /hb-ai attack ");} - }else if (args[0].equalsIgnoreCase("pyramid")){ - if (args.length>1){ - if (Bukkit.getServer().getPlayer(args[1])!=null){ - if (Bukkit.getServer().getPlayer(args[1]).isOnline()){ - if (P_Core.getSupport().checkBuild(Bukkit.getServer().getPlayer(args[1]).getLocation())){ - Object[] data = {Bukkit.getServer().getPlayer(args[1])}; - if(P_Core.getAICore().getCore(CoreType.PYRAMID).RunCore(data).getResult()){ - log.info("[HerobrineAI] Creating pyramind near "+args[1]+"!"); - }else{log.info("[HerobrineAI] Cannot find good place for pyramid!");} - }else{log.info("[HerobrineAI] Player is in secure area.");} - }else{log.info("[HerobrineAI] Player is offline.");} - }else{log.info("[HerobrineAI] Player is offline.");} - }else{log.info("Usage: "+ChatColor.GREEN+"/hb-ai pyramid ");} - }else if (args[0].equalsIgnoreCase("temple")){ - if (args.length>1){ - if (Bukkit.getServer().getPlayer(args[1])!=null){ - if (Bukkit.getServer().getPlayer(args[1]).isOnline()){ - if (P_Core.getSupport().checkBuild(Bukkit.getServer().getPlayer(args[1]).getLocation())){ - Object[] data = {Bukkit.getServer().getPlayer(args[1])}; - if(P_Core.getAICore().getCore(CoreType.TEMPLE).RunCore(data).getResult()){ - log.info("[HerobrineAI] Creating temple near "+args[1]+"!"); - }else{log.info("[HerobrineAI] Cannot find good place for temple!");} - }else{log.info("[HerobrineAI] Player is in secure area.");} - }else{log.info("[HerobrineAI] Player is offline.");} - }else{log.info("[HerobrineAI] Player is offline.");} - }else{log.info("Usage: "+ChatColor.GREEN+"/hb-ai temple ");} - }else if (args[0].equalsIgnoreCase("bury")){ - if (args.length>1){ - if (Bukkit.getServer().getPlayer(args[1])!=null){ - if (Bukkit.getServer().getPlayer(args[1]).isOnline()){ - if (P_Core.getSupport().checkBuild(Bukkit.getServer().getPlayer(args[1]).getLocation())){ - Object[] data = {Bukkit.getServer().getPlayer(args[1])}; - if(P_Core.getAICore().getCore(CoreType.BURY_PLAYER).RunCore(data).getResult()){ - log.info("[HerobrineAI] Buried "+args[1]+"!"); - }else{log.info("[HerobrineAI] Cannot find good place!");} - }else{log.info("[HerobrineAI] Player is in secure area.");} - }else{log.info("[HerobrineAI] Player is offline.");} - }else{log.info("[HerobrineAI] Player is offline.");} - }else{log.info("Usage: /hb-ai bury ");} - }else if (args[0].equalsIgnoreCase("cave")){ - if (args.length>1){ - - - if (Bukkit.getServer().getPlayer(args[1])!=null){ - Object[] data = {Bukkit.getServer().getPlayer(args[1]).getLocation(),true}; - log.info(ChatColor.RED+"[HerobrineAI] "+P_Core.getAICore().getCore(CoreType.BUILD_STUFF).RunCore(data).getResultString()); - }else{log.info(ChatColor.RED+"[HerobrineAI] Player is offline.");} - - }else{log.info("Usage: /hb-ai cave ");} - }else if (args[0].equalsIgnoreCase("burn")){ - if (args.length>1){ - - if (Bukkit.getServer().getPlayer(args[1])!=null){ - Object[] data = {Bukkit.getServer().getPlayer(args[1])}; - log.info("[HerobrineAI] "+P_Core.getAICore().getCore(CoreType.BURN).RunCore(data).getResultString()); - }else{log.info("[HerobrineAI] Player is offline.");} - - }else{log.info("Usage: /hb-ai burn ");} - }else if (args[0].equalsIgnoreCase("curse")){ - if (args.length>1){ - - if (Bukkit.getServer().getPlayer(args[1])!=null){ - Object[] data = {Bukkit.getServer().getPlayer(args[1])}; - log.info("[HerobrineAI] "+P_Core.getAICore().getCore(CoreType.CURSE).RunCore(data).getResultString()); - }else{log.info("[HerobrineAI] Player is offline.");} - - }else{log.info("Usage: /hb-ai curse ");} - }else if (args[0].equalsIgnoreCase("heads")){ - if (args.length>1){ - - if (Bukkit.getServer().getPlayer(args[1])!=null){ - Object[] data = {args[1]}; - log.info("[HerobrineAI] "+P_Core.getAICore().getCore(CoreType.HEADS).RunCore(data).getResultString()); - }else{log.info("[HerobrineAI] Player is offline.");} - - }else{log.info("Usage: "+ChatColor.GREEN+"/hb-ai heads ");} + } else { + log.info("[HerobrineAI] Player is offline."); + } + } else { + log.info("[HerobrineAI] Player is offline."); + } + } else { + log.info("Usage: /hb-ai attack "); } - else if (args[0].equalsIgnoreCase("graveyard")){ - if (args.length>1){ - if (Bukkit.getServer().getPlayer(args[1])!=null){ - if (Bukkit.getServer().getPlayer(args[1]).isOnline()){ - if (AICore.isTarget==false){ - P_Core.getAICore().GraveyardTeleport(Bukkit.getServer().getPlayer(args[1])); - log.info("[HerobrineAI] "+args[1]+" is now in the Graveyard world!"); - }else{log.info("[HerobrineAI] Herobrine already has target! Use "+ChatColor.GREEN+"/hb-ai cancel"+ChatColor.RED+" to cancel actual target");} - }else{log.info("[HerobrineAI] Player is offline.");} - }else{log.info("[HerobrineAI] Player is offline.");} - }else{log.info("Usage: /hb-ai graveyard ");} - }else if (args[0].equalsIgnoreCase("haunt")){ - - if (args.length>1){ - if (Bukkit.getServer().getPlayer(args[1])!=null){ - if (Bukkit.getServer().getPlayer(args[1]).isOnline()){ - if (P_Core.getSupport().checkHaunt(Bukkit.getServer().getPlayer(args[1]).getLocation())){ - if (P_Core.canAttackPlayerConsole(Bukkit.getServer().getPlayer(args[1]))){ - if (AICore.isTarget==false){ - P_Core.getAICore().setHauntTarget(Bukkit.getServer().getPlayer(args[1])); - log.info("[HerobrineAI] Herobrine now haunts the "+args[1]+"!"); - }else{log.info("[HerobrineAI] Herobrine already has target! Use /hb-ai cancel to cancel actual target.");} + } else if (args[0].equalsIgnoreCase("pyramid")) { + if (args.length > 1) { + if (Bukkit.getServer().getPlayer(args[1]) != null) { + if (Bukkit.getServer().getPlayer(args[1]).isOnline()) { + if (P_Core.getSupport() + .checkBuild(Bukkit.getServer().getPlayer(args[1]).getLocation())) { + Object[] data = { Bukkit.getServer().getPlayer(args[1]) }; + if (P_Core.getAICore().getCore(CoreType.PYRAMID).RunCore(data).getResult()) { + log.info("[HerobrineAI] Creating pyramind near " + args[1] + "!"); + } else { + log.info("[HerobrineAI] Cannot find good place for pyramid!"); + } + } else { + log.info("[HerobrineAI] Player is in secure area."); } - }else{log.info("[HerobrineAI] Player is in secure area.");} - }else{log.info("[HerobrineAI] Player is offline.");} - }else{log.info("[HerobrineAI] Player is offline.");} - }else{log.info("Usage: /hb-ai haunt ");} - - }else if (args[0].equalsIgnoreCase("cancel")){ - - P_Core.getAICore().CancelTarget(CoreType.ANY); - log.info(ChatColor.RED+"[HerobrineAI] Target cancelled!"); - - }else if (args[0].equalsIgnoreCase("reload")){ - - P_Core.getConfigDB().Reload(); - - log.info("[HerobrineAI] Config reloaded!"); - - }else if (args[0].equalsIgnoreCase("help")){ - - log.info("[HerobrineAI] Command list"); - log.info("/hb-ai help - shows all commands"); - log.info("/hb-ai attack - herobrine attacks the player"); - log.info("/hb-ai haunt - herobrine haunts the player"); - log.info("/hb-ai cancel - cancel herobrine´s actual target"); - log.info("/hb-ai reload - reload config"); - log.info("/hb-ai position - gets actual position of Herobrine"); - log.info("/hb-ai pyramid - build pyramid near the player"); - log.info("/hb-ai bury - bury player"); - log.info("/hb-ai graveyard - teleport player to the Graveyard world"); - log.info("/hb-ai temple - build temple near the player"); - log.info("/hb-ai heads - place heads near the player"); - log.info("/hb-ai cave - create cave near the player"); - log.info("/hb-ai burn - burn player"); - log.info("/hb-ai curse - curse player"); - - }else if (args[0].equalsIgnoreCase("position")){ - - log.info("[HerobrineAI] Position"); - log.info("World: "+P_Core.HerobrineNPC.getBukkitEntity().getLocation().getWorld().getName()+" X: "+((int)P_Core.HerobrineNPC.getBukkitEntity().getLocation().getX())+ - " Y: "+((int)P_Core.HerobrineNPC.getBukkitEntity().getLocation().getY())+" Z: "+((int)P_Core.HerobrineNPC.getBukkitEntity().getLocation().getZ())); - log.info("InWalkingMode: "+AICore.getStringWalkingMode()); - log.info("Available World: "+HerobrineAI.getPluginCore().getAvailableWorldString()); - - - }else{log.info("Usage: /hb-ai help");} - }else{log.info("Usage: /hb-ai help");} + } else { + log.info("[HerobrineAI] Player is offline."); + } + } else { + log.info("[HerobrineAI] Player is offline."); + } + } else { + log.info("Usage: " + ChatColor.GREEN + "/hb-ai pyramid "); + } + } else if (args[0].equalsIgnoreCase("temple")) { + if (args.length > 1) { + if (Bukkit.getServer().getPlayer(args[1]) != null) { + if (Bukkit.getServer().getPlayer(args[1]).isOnline()) { + if (P_Core.getSupport() + .checkBuild(Bukkit.getServer().getPlayer(args[1]).getLocation())) { + Object[] data = { Bukkit.getServer().getPlayer(args[1]) }; + if (P_Core.getAICore().getCore(CoreType.TEMPLE).RunCore(data).getResult()) { + log.info("[HerobrineAI] Creating temple near " + args[1] + "!"); + } else { + log.info("[HerobrineAI] Cannot find good place for temple!"); + } + } else { + log.info("[HerobrineAI] Player is in secure area."); + } + } else { + log.info("[HerobrineAI] Player is offline."); + } + } else { + log.info("[HerobrineAI] Player is offline."); + } + } else { + log.info("Usage: " + ChatColor.GREEN + "/hb-ai temple "); + } + } else if (args[0].equalsIgnoreCase("bury")) { + if (args.length > 1) { + if (Bukkit.getServer().getPlayer(args[1]) != null) { + if (Bukkit.getServer().getPlayer(args[1]).isOnline()) { + if (P_Core.getSupport() + .checkBuild(Bukkit.getServer().getPlayer(args[1]).getLocation())) { + Object[] data = { Bukkit.getServer().getPlayer(args[1]) }; + if (P_Core.getAICore().getCore(CoreType.BURY_PLAYER).RunCore(data).getResult()) { + log.info("[HerobrineAI] Buried " + args[1] + "!"); + } else { + log.info("[HerobrineAI] Cannot find good place!"); + } + } else { + log.info("[HerobrineAI] Player is in secure area."); + } + } else { + log.info("[HerobrineAI] Player is offline."); + } + } else { + log.info("[HerobrineAI] Player is offline."); + } + } else { + log.info("Usage: /hb-ai bury "); + } + } else if (args[0].equalsIgnoreCase("cave")) { + if (args.length > 1) { + + if (Bukkit.getServer().getPlayer(args[1]) != null) { + Object[] data = { Bukkit.getServer().getPlayer(args[1]).getLocation(), true }; + log.info(ChatColor.RED + "[HerobrineAI] " + + P_Core.getAICore().getCore(CoreType.BUILD_STUFF).RunCore(data).getResultString()); + } else { + log.info(ChatColor.RED + "[HerobrineAI] Player is offline."); + } + + } else { + log.info("Usage: /hb-ai cave "); + } + } else if (args[0].equalsIgnoreCase("burn")) { + if (args.length > 1) { + + if (Bukkit.getServer().getPlayer(args[1]) != null) { + Object[] data = { Bukkit.getServer().getPlayer(args[1]) }; + log.info("[HerobrineAI] " + + P_Core.getAICore().getCore(CoreType.BURN).RunCore(data).getResultString()); + } else { + log.info("[HerobrineAI] Player is offline."); + } + + } else { + log.info("Usage: /hb-ai burn "); + } + } else if (args[0].equalsIgnoreCase("curse")) { + if (args.length > 1) { + + if (Bukkit.getServer().getPlayer(args[1]) != null) { + Object[] data = { Bukkit.getServer().getPlayer(args[1]) }; + log.info("[HerobrineAI] " + + P_Core.getAICore().getCore(CoreType.CURSE).RunCore(data).getResultString()); + } else { + log.info("[HerobrineAI] Player is offline."); + } + + } else { + log.info("Usage: /hb-ai curse "); + } + } else if (args[0].equalsIgnoreCase("heads")) { + if (args.length > 1) { + + if (Bukkit.getServer().getPlayer(args[1]) != null) { + Object[] data = { args[1] }; + log.info("[HerobrineAI] " + + P_Core.getAICore().getCore(CoreType.HEADS).RunCore(data).getResultString()); + } else { + log.info("[HerobrineAI] Player is offline."); + } + + } else { + log.info("Usage: " + ChatColor.GREEN + "/hb-ai heads "); + } + } else if (args[0].equalsIgnoreCase("graveyard")) { + if (args.length > 1) { + if (Bukkit.getServer().getPlayer(args[1]) != null) { + if (Bukkit.getServer().getPlayer(args[1]).isOnline()) { + if (AICore.isTarget == false) { + P_Core.getAICore().GraveyardTeleport(Bukkit.getServer().getPlayer(args[1])); + log.info("[HerobrineAI] " + args[1] + " is now in the Graveyard world!"); + } else { + log.info("[HerobrineAI] Herobrine already has target! Use " + ChatColor.GREEN + + "/hb-ai cancel" + ChatColor.RED + " to cancel actual target"); + } + } else { + log.info("[HerobrineAI] Player is offline."); + } + } else { + log.info("[HerobrineAI] Player is offline."); + } + } else { + log.info("Usage: /hb-ai graveyard "); + } + } else if (args[0].equalsIgnoreCase("haunt")) { + + if (args.length > 1) { + if (Bukkit.getServer().getPlayer(args[1]) != null) { + if (Bukkit.getServer().getPlayer(args[1]).isOnline()) { + if (P_Core.getSupport() + .checkHaunt(Bukkit.getServer().getPlayer(args[1]).getLocation())) { + if (P_Core.canAttackPlayerConsole(Bukkit.getServer().getPlayer(args[1]))) { + if (AICore.isTarget == false) { + P_Core.getAICore().setHauntTarget(Bukkit.getServer().getPlayer(args[1])); + log.info("[HerobrineAI] Herobrine now haunts the " + args[1] + "!"); + } else { + log.info( + "[HerobrineAI] Herobrine already has target! Use /hb-ai cancel to cancel actual target."); + } + } + } else { + log.info("[HerobrineAI] Player is in secure area."); + } + } else { + log.info("[HerobrineAI] Player is offline."); + } + } else { + log.info("[HerobrineAI] Player is offline."); + } + } else { + log.info("Usage: /hb-ai haunt "); + } + + } else if (args[0].equalsIgnoreCase("cancel")) { + + P_Core.getAICore().CancelTarget(CoreType.ANY); + log.info(ChatColor.RED + "[HerobrineAI] Target cancelled!"); + + } else if (args[0].equalsIgnoreCase("reload")) { + + P_Core.getConfigDB().Reload(); + + log.info("[HerobrineAI] Config reloaded!"); + + } else if (args[0].equalsIgnoreCase("help")) { + + log.info("[HerobrineAI] Command list"); + log.info("/hb-ai help - shows all commands"); + log.info("/hb-ai attack - herobrine attacks the player"); + log.info("/hb-ai haunt - herobrine haunts the player"); + log.info("/hb-ai cancel - cancel herobrine�s actual target"); + log.info("/hb-ai reload - reload config"); + log.info("/hb-ai position - gets actual position of Herobrine"); + log.info("/hb-ai pyramid - build pyramid near the player"); + log.info("/hb-ai bury - bury player"); + log.info("/hb-ai graveyard - teleport player to the Graveyard world"); + log.info("/hb-ai temple - build temple near the player"); + log.info("/hb-ai heads - place heads near the player"); + log.info("/hb-ai cave - create cave near the player"); + log.info("/hb-ai burn - burn player"); + log.info("/hb-ai curse - curse player"); + log.info("/hb-ai allworlds - add all worlds to config"); + + } else if (args[0].equalsIgnoreCase("position")) { + + log.info("[HerobrineAI] Position"); + log.info("World: " + P_Core.HerobrineNPC.getBukkitEntity().getLocation().getWorld().getName() + + " X: " + ((int) P_Core.HerobrineNPC.getBukkitEntity().getLocation().getX()) + " Y: " + + ((int) P_Core.HerobrineNPC.getBukkitEntity().getLocation().getY()) + " Z: " + + ((int) P_Core.HerobrineNPC.getBukkitEntity().getLocation().getZ())); + log.info("InWalkingMode: " + AICore.getStringWalkingMode()); + log.info("Available World: " + HerobrineAI.getPluginCore().getAvailableWorldString()); + + } else if (args[0].equalsIgnoreCase("allworlds")) { + + HerobrineAI.getPluginCore().getConfigDB().addAllWorlds(); + log.info("[HerobrineAI] All worlds have been added to config."); + log.info("[HerobrineAI] Note: Worlds with blank spaces can cause problems!"); + + } else { + log.info("Usage: /hb-ai help"); + } + } else { + log.info("Usage: /hb-ai help"); + } return true; } } - + } diff --git a/src/org/jakub1221/herobrineai/entity/CustomSkeleton.java b/src/org/jakub1221/herobrineai/entity/CustomSkeleton.java index cfcab5e..689d0eb 100644 --- a/src/org/jakub1221/herobrineai/entity/CustomSkeleton.java +++ b/src/org/jakub1221/herobrineai/entity/CustomSkeleton.java @@ -1,59 +1,68 @@ package org.jakub1221.herobrineai.entity; -import java.util.Random; - import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.entity.Skeleton; import org.bukkit.inventory.ItemStack; import org.bukkit.Color; import org.jakub1221.herobrineai.HerobrineAI; +import org.jakub1221.herobrineai.Utils; import org.jakub1221.herobrineai.misc.ItemName; -import net.minecraft.server.v1_5_R2.World; +import net.minecraft.server.v1_11_R1.GenericAttributes; +import net.minecraft.server.v1_11_R1.World; -public class CustomSkeleton extends net.minecraft.server.v1_5_R2.EntitySkeleton implements CustomEntity{ +public class CustomSkeleton extends net.minecraft.server.v1_11_R1.EntitySkeleton implements CustomEntity { - private MobType mobType=null; - - public CustomSkeleton(World world,Location loc,MobType mbt) { + private MobType mobType = null; + + public CustomSkeleton(World world, Location loc, MobType mbt) { super(world); - this.mobType=mbt; - if (mbt==MobType.DEMON){ - spawnDemon(loc); - } + this.mobType = mbt; + if (mbt == MobType.DEMON) { + spawnDemon(loc); + } + } + + public void spawnDemon(Location loc) { + + this.getAttributeInstance(GenericAttributes.c).setValue(HerobrineAI.getPluginCore().getConfigDB().npc.getDouble("npc.Demon.Speed")); + this.getAttributeInstance(GenericAttributes.maxHealth).setValue(HerobrineAI.getPluginCore().getConfigDB().npc.getInt("npc.Demon.HP")); + this.setHealth(HerobrineAI.getPluginCore().getConfigDB().npc.getInt("npc.Demon.HP")); + this.setCustomName("Demon"); + + Skeleton entityCast = (Skeleton) this.getBukkitEntity(); + + entityCast.getEquipment().setItemInHand(new ItemStack(Material.GOLDEN_APPLE, 1)); + entityCast.getEquipment().setHelmet(ItemName.colorLeatherArmor(new ItemStack(Material.LEATHER_HELMET, 1), Color.RED)); + entityCast.getEquipment().setChestplate(ItemName.colorLeatherArmor(new ItemStack(Material.LEATHER_CHESTPLATE, 1), Color.RED)); + entityCast.getEquipment().setLeggings(ItemName.colorLeatherArmor(new ItemStack(Material.LEATHER_LEGGINGS, 1), Color.RED)); + entityCast.getEquipment().setBoots(ItemName.colorLeatherArmor(new ItemStack(Material.LEATHER_BOOTS, 1), Color.RED)); + this.getBukkitEntity().teleport(loc); + } - - public void spawnDemon(Location loc){ - this.health=HerobrineAI.getPluginCore().getConfigDB().npc.getInt("npc.Demon.HP"); - this.setCustomName("Demon"); - this.maxHealth=HerobrineAI.getPluginCore().getConfigDB().npc.getInt("npc.Demon.HP"); - - ((Skeleton)this.getBukkitEntity()).getEquipment().setItemInHand(new ItemStack(Material.GOLDEN_APPLE,1)); - ((Skeleton)this.getBukkitEntity()).getEquipment().setHelmet(ItemName.colorLeatherArmor(new ItemStack(Material.LEATHER_HELMET,1), Color.RED)); - ((Skeleton)this.getBukkitEntity()).getEquipment().setChestplate(ItemName.colorLeatherArmor(new ItemStack(Material.LEATHER_CHESTPLATE,1), Color.RED)); - ((Skeleton)this.getBukkitEntity()).getEquipment().setLeggings(ItemName.colorLeatherArmor(new ItemStack(Material.LEATHER_LEGGINGS,1), Color.RED)); - ((Skeleton)this.getBukkitEntity()).getEquipment().setBoots(ItemName.colorLeatherArmor(new ItemStack(Material.LEATHER_BOOTS,1), Color.RED)); - this.getBukkitEntity().teleport(loc); - - } - public CustomSkeleton(World world) { super(world); } @Override - public void Kill(){ - for(int i=1;i<=2500;i++){ - if (HerobrineAI.getPluginCore().getConfigDB().npc.contains("npc.Demon.Drops."+Integer.toString(i))==true){ - int chance=new Random().nextInt(100); - if (chance<=HerobrineAI.getPluginCore().getConfigDB().npc.getInt("npc.Demon.Drops."+Integer.toString(i)+".Chance")){ - this.getBukkitEntity().getLocation().getWorld().dropItemNaturally(this.getBukkitEntity().getLocation(), new ItemStack(Material.getMaterial(i),HerobrineAI.getPluginCore().getConfigDB().npc.getInt("npc.Demon.Drops."+Integer.toString(i)+".Count"))); - } + public void Kill() { + for (int i = 1; i <= 2500; i++) { + if (HerobrineAI.getPluginCore().getConfigDB().npc.contains("npc.Demon.Drops." + Integer.toString(i)) == true) { + int chance = Utils.getRandomGen().nextInt(100); + + int requiredRoll = HerobrineAI.getPluginCore().getConfigDB().npc.getInt("npc.Demon.Drops." + Integer.toString(i) + ".Chance"); + + if (chance <= requiredRoll) { + + ItemStack its = new ItemStack(Material.getMaterial(i), HerobrineAI.getPluginCore().getConfigDB().npc.getInt("npc.Demon.Drops." + Integer.toString(i) + ".Count")); + + this.getBukkitEntity().getLocation().getWorld().dropItemNaturally(this.getBukkitEntity().getLocation(),its); + } } } - this.health=0; + this.setHealth(0); } @Override diff --git a/src/org/jakub1221/herobrineai/entity/CustomZombie.java b/src/org/jakub1221/herobrineai/entity/CustomZombie.java index c9406e7..d31dbfc 100644 --- a/src/org/jakub1221/herobrineai/entity/CustomZombie.java +++ b/src/org/jakub1221/herobrineai/entity/CustomZombie.java @@ -4,80 +4,104 @@ import java.util.Random; import org.bukkit.Location; import org.bukkit.Material; +import org.bukkit.entity.Skeleton; +import org.bukkit.entity.Zombie; +import org.bukkit.inventory.ItemStack; import org.jakub1221.herobrineai.HerobrineAI; +import org.jakub1221.herobrineai.Utils; -import net.minecraft.server.v1_5_R2.ItemStack; -import net.minecraft.server.v1_5_R2.World; +import net.minecraft.server.v1_11_R1.GenericAttributes; +import net.minecraft.server.v1_11_R1.World; -public class CustomZombie extends net.minecraft.server.v1_5_R2.EntityZombie implements CustomEntity{ - - private MobType mobType=null; - - public CustomZombie(World world,Location loc,MobType mbt) { +public class CustomZombie extends net.minecraft.server.v1_11_R1.EntityZombie implements CustomEntity { + + private MobType mobType = null; + + public CustomZombie(World world, Location loc, MobType mbt) { super(world); - this.mobType=mbt; - if (mbt==MobType.ARTIFACT_GUARDIAN){ - spawnArtifactGuardian(loc); - }else if (mbt==MobType.HEROBRINE_WARRIOR){ - spawnHerobrineWarrior(loc); - } + this.mobType = mbt; + if (mbt == MobType.ARTIFACT_GUARDIAN) { + spawnArtifactGuardian(loc); + } else if (mbt == MobType.HEROBRINE_WARRIOR) { + spawnHerobrineWarrior(loc); + } } - private void spawnArtifactGuardian(Location loc){ - - this.health=HerobrineAI.getPluginCore().getConfigDB().npc.getInt("npc.Guardian.HP"); - this.setCustomName("Artifact Guardian"); - this.maxHealth=HerobrineAI.getPluginCore().getConfigDB().npc.getInt("npc.Guardian.HP"); - this.setEquipment(0, new ItemStack(net.minecraft.server.v1_5_R2.Item.GOLD_SWORD)); - this.setEquipment(1, new ItemStack(net.minecraft.server.v1_5_R2.Item.GOLD_BOOTS)); - this.setEquipment(2, new ItemStack(net.minecraft.server.v1_5_R2.Item.GOLD_LEGGINGS)); - this.setEquipment(3, new ItemStack(net.minecraft.server.v1_5_R2.Item.GOLD_CHESTPLATE)); - this.setEquipment(4, new ItemStack(net.minecraft.server.v1_5_R2.Item.GOLD_HELMET)); - this.getBukkitEntity().teleport(loc); - - - - } - - private void spawnHerobrineWarrior(Location loc){ - - this.health=HerobrineAI.getPluginCore().getConfigDB().npc.getInt("npc.Warrior.HP"); - this.setCustomName("Herobrine´s Warrior"); - this.maxHealth=HerobrineAI.getPluginCore().getConfigDB().npc.getInt("npc.Warrior.HP"); - this.setEquipment(0, new ItemStack(net.minecraft.server.v1_5_R2.Item.IRON_SWORD)); - this.setEquipment(1, new ItemStack(net.minecraft.server.v1_5_R2.Item.IRON_BOOTS)); - this.setEquipment(2, new ItemStack(net.minecraft.server.v1_5_R2.Item.IRON_LEGGINGS)); - this.setEquipment(3, new ItemStack(net.minecraft.server.v1_5_R2.Item.IRON_CHESTPLATE)); - this.setEquipment(4, new ItemStack(net.minecraft.server.v1_5_R2.Item.IRON_HELMET)); - this.getBukkitEntity().teleport(loc); - - } - - public CustomZombie(World world) { - super(world); - } + private void spawnArtifactGuardian(Location loc) { + + this.getAttributeInstance(GenericAttributes.c).setValue(HerobrineAI.getPluginCore().getConfigDB().npc.getDouble("npc.Guardian.Speed")); + this.getAttributeInstance(GenericAttributes.maxHealth).setValue(HerobrineAI.getPluginCore().getConfigDB().npc.getInt("npc.Guardian.HP")); + this.setHealth(HerobrineAI.getPluginCore().getConfigDB().npc.getInt("npc.Guardian.HP")); + + this.setCustomName("Artifact Guardian"); + + Zombie entityCast = (Zombie) this.getBukkitEntity(); + + entityCast.getEquipment().setItemInMainHand(new ItemStack(Material.GOLD_SWORD, 1)); + entityCast.getEquipment().setHelmet(new ItemStack(Material.GOLD_HELMET, 1)); + entityCast.getEquipment().setChestplate(new ItemStack(Material.GOLD_CHESTPLATE, 1)); + entityCast.getEquipment().setLeggings(new ItemStack(Material.GOLD_LEGGINGS, 1)); + entityCast.getEquipment().setBoots(new ItemStack(Material.GOLD_BOOTS, 1)); + + this.getBukkitEntity().teleport(loc); + + } + + private void spawnHerobrineWarrior(Location loc) { + + this.getAttributeInstance(GenericAttributes.c).setValue(HerobrineAI.getPluginCore().getConfigDB().npc.getDouble("npc.Warrior.Speed")); + this.getAttributeInstance(GenericAttributes.maxHealth).setValue(HerobrineAI.getPluginCore().getConfigDB().npc.getInt("npc.Warrior.HP")); + this.setHealth(HerobrineAI.getPluginCore().getConfigDB().npc.getInt("npc.Warrior.HP")); + + this.setCustomName("Herobrine Warrior"); + + Zombie entityCast = (Zombie) this.getBukkitEntity(); + + entityCast.getEquipment().setItemInMainHand(new ItemStack(Material.IRON_SWORD, 1)); + entityCast.getEquipment().setHelmet(new ItemStack(Material.IRON_HELMET, 1)); + entityCast.getEquipment().setChestplate(new ItemStack(Material.IRON_CHESTPLATE, 1)); + entityCast.getEquipment().setLeggings(new ItemStack(Material.IRON_LEGGINGS, 1)); + entityCast.getEquipment().setBoots(new ItemStack(Material.IRON_BOOTS, 1)); + + this.getBukkitEntity().teleport(loc); + + } + + public CustomZombie(World world) { + super(world); + } @Override public void Kill() { - + String mobS = ""; - if (this.mobType==MobType.ARTIFACT_GUARDIAN){mobS="Guardian";}else{mobS="Warrior";} - - for(int i=1;i<=2500;i++){ - if (HerobrineAI.getPluginCore().getConfigDB().npc.contains("npc."+mobS+".Drops."+Integer.toString(i))==true){ - int chance=new Random().nextInt(100); - if (chance<=HerobrineAI.getPluginCore().getConfigDB().npc.getInt("npc."+mobS+".Drops."+Integer.toString(i)+".Chance")){ - this.getBukkitEntity().getLocation().getWorld().dropItemNaturally(this.getBukkitEntity().getLocation(), new org.bukkit.inventory.ItemStack(Material.getMaterial(i),HerobrineAI.getPluginCore().getConfigDB().npc.getInt("npc."+mobS+".Drops."+Integer.toString(i)+".Count"))); - } - } + if (this.mobType == MobType.ARTIFACT_GUARDIAN) { + mobS = "Guardian"; + } else { + mobS = "Warrior"; } - this.health=0; + for (int i = 1; i <= 2500; i++) { + if (HerobrineAI.getPluginCore().getConfigDB().npc.contains("npc." + mobS + ".Drops." + Integer.toString(i)) == true) { + int chance = Utils.getRandomGen().nextInt(100); + + int requiredRoll = HerobrineAI.getPluginCore().getConfigDB().npc.getInt("npc." + mobS + ".Drops." + Integer.toString(i) + ".Chance"); + + if (chance <= requiredRoll) { + + ItemStack its = new ItemStack(Material.getMaterial(i), HerobrineAI.getPluginCore().getConfigDB().npc.getInt("npc." + mobS + ".Drops." + Integer.toString(i) + ".Count")); + + this.getBukkitEntity().getLocation().getWorld().dropItemNaturally(this.getBukkitEntity().getLocation(),its); + } + } + } + + this.setHealth(0); } @Override public MobType getMobType() { return this.mobType; } - + } diff --git a/src/org/jakub1221/herobrineai/entity/EntityManager.java b/src/org/jakub1221/herobrineai/entity/EntityManager.java index 2e30683..debf118 100644 --- a/src/org/jakub1221/herobrineai/entity/EntityManager.java +++ b/src/org/jakub1221/herobrineai/entity/EntityManager.java @@ -5,7 +5,6 @@ import java.util.Map; import org.bukkit.Location; import org.bukkit.World; -import org.jakub1221.herobrineai.HerobrineAI; public class EntityManager { @@ -14,7 +13,7 @@ public class EntityManager { public void spawnCustomZombie(Location loc,MobType mbt){ World world = loc.getWorld(); - net.minecraft.server.v1_5_R2.World mcWorld = ((org.bukkit.craftbukkit.v1_5_R2.CraftWorld) world).getHandle(); + net.minecraft.server.v1_11_R1.World mcWorld = ((org.bukkit.craftbukkit.v1_11_R1.CraftWorld) world).getHandle(); CustomZombie zmb = new CustomZombie(mcWorld,loc,mbt); mcWorld.addEntity(zmb); mobList.put(new Integer(zmb.getBukkitEntity().getEntityId()),zmb); @@ -24,7 +23,7 @@ public class EntityManager { public void spawnCustomSkeleton(Location loc,MobType mbt){ World world = loc.getWorld(); - net.minecraft.server.v1_5_R2.World mcWorld = ((org.bukkit.craftbukkit.v1_5_R2.CraftWorld) world).getHandle(); + net.minecraft.server.v1_11_R1.World mcWorld = ((org.bukkit.craftbukkit.v1_11_R1.CraftWorld) world).getHandle(); CustomSkeleton zmb = new CustomSkeleton(mcWorld,loc,mbt); mcWorld.addEntity(zmb); mobList.put(new Integer(zmb.getBukkitEntity().getEntityId()),zmb); diff --git a/src/org/jakub1221/herobrineai/listeners/BlockListener.java b/src/org/jakub1221/herobrineai/listeners/BlockListener.java index 8975157..3fc4f52 100644 --- a/src/org/jakub1221/herobrineai/listeners/BlockListener.java +++ b/src/org/jakub1221/herobrineai/listeners/BlockListener.java @@ -12,92 +12,95 @@ import org.bukkit.event.Listener; import org.bukkit.event.block.BlockIgniteEvent; import org.bukkit.event.block.BlockBreakEvent; import org.bukkit.event.block.BlockPlaceEvent; +import org.bukkit.util.Vector; import org.jakub1221.herobrineai.AI.*; import org.jakub1221.herobrineai.AI.Core.CoreType; import org.jakub1221.herobrineai.AI.cores.Heads; import org.jakub1221.herobrineai.HerobrineAI; -public class BlockListener implements Listener{ - +public class BlockListener implements Listener { + Logger log = Logger.getLogger("Minecraft"); - + @EventHandler - public void onBlockIgnite(BlockIgniteEvent event){ - if (event.getBlock()!=null){ - Block blockt = (Block) event.getBlock(); - Location blockloc = (Location) blockt.getLocation(); - - if (event.getPlayer()!=null){ - blockloc.setY(blockloc.getY()-1); - Block block = (Block) blockloc.getWorld().getBlockAt(blockloc); - if (block.getType() == Material.NETHERRACK){ - - if (block.getWorld().getBlockAt(blockloc.getBlockX(), blockloc.getBlockY()-1, blockloc.getBlockZ()).getType() == Material.NETHERRACK){ - if (block.getWorld().getBlockAt(blockloc.getBlockX()-1, blockloc.getBlockY()-1, blockloc.getBlockZ()).getType() == Material.GOLD_BLOCK){ - if (block.getWorld().getBlockAt(blockloc.getBlockX()-1, blockloc.getBlockY()-1, blockloc.getBlockZ()-1).getType() == Material.GOLD_BLOCK){ - if (block.getWorld().getBlockAt(blockloc.getBlockX()-1, blockloc.getBlockY()-1, blockloc.getBlockZ()+1).getType() == Material.GOLD_BLOCK){ - if (block.getWorld().getBlockAt(blockloc.getBlockX()+1, blockloc.getBlockY()-1, blockloc.getBlockZ()).getType() == Material.GOLD_BLOCK){ - if (block.getWorld().getBlockAt(blockloc.getBlockX()+1, blockloc.getBlockY()-1, blockloc.getBlockZ()-1).getType() == Material.GOLD_BLOCK){ - if (block.getWorld().getBlockAt(blockloc.getBlockX()+1, blockloc.getBlockY()-1, blockloc.getBlockZ()+1).getType() == Material.GOLD_BLOCK){ - if (block.getWorld().getBlockAt(blockloc.getBlockX(), blockloc.getBlockY()-1, blockloc.getBlockZ()-1).getType() == Material.GOLD_BLOCK){ - if (block.getWorld().getBlockAt(blockloc.getBlockX(), blockloc.getBlockY()-1, blockloc.getBlockZ()+1).getType() == Material.GOLD_BLOCK){ - if (block.getWorld().getBlockAt(blockloc.getBlockX(), blockloc.getBlockY(), blockloc.getBlockZ()+1).getType() == Material.REDSTONE_TORCH_ON){ - if (block.getWorld().getBlockAt(blockloc.getBlockX(), blockloc.getBlockY(), blockloc.getBlockZ()-1).getType() == Material.REDSTONE_TORCH_ON){ - if (block.getWorld().getBlockAt(blockloc.getBlockX()+1, blockloc.getBlockY(), blockloc.getBlockZ()).getType() == Material.REDSTONE_TORCH_ON){ - if (block.getWorld().getBlockAt(blockloc.getBlockX()-1, blockloc.getBlockY(), blockloc.getBlockZ()).getType() == Material.REDSTONE_TORCH_ON){ - - if (HerobrineAI.getPluginCore().getConfigDB().UseTotem==true && AICore.isTotemCalled==false){ - - HerobrineAI.getPluginCore().getAICore().PlayerCallTotem(event.getPlayer()); - - } - - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - - if (event.getBlock().getWorld()==Bukkit.getServer().getWorld("world_herobrineai_graveyard")){ - event.setCancelled(true); - return; - } - } - - @EventHandler - public void onBlockBreak(BlockBreakEvent event){ - if (event.getBlock().getWorld()==Bukkit.getServer().getWorld("world_herobrineai_graveyard")){ - event.setCancelled(true); - return; - }else{ - Heads h = (Heads) HerobrineAI.getPluginCore().getAICore().getCore(CoreType.HEADS); - ArrayList list = h.getHeadList(); - if (list.contains(event.getBlock())){ - event.setCancelled(true); - return; + public void onBlockIgnite(BlockIgniteEvent event) { + if (event.getBlock() != null) { + Block blockt = (Block) event.getBlock(); + Location blockloc = (Location) blockt.getLocation(); + + if (event.getPlayer() != null) { + blockloc.setY(blockloc.getY() - 1); + Block block = (Block) blockloc.getWorld().getBlockAt(blockloc); + if (block.getType() == Material.NETHERRACK) { + + Object[][] checkList = { + { new Vector(0, -1, 0), Material.NETHERRACK }, + { new Vector(-1, -1, 0), Material.GOLD_BLOCK }, + { new Vector(-1, -1, -1), Material.GOLD_BLOCK }, + { new Vector(-1, -1, 1), Material.GOLD_BLOCK }, + { new Vector(1, -1, 0), Material.GOLD_BLOCK }, + { new Vector(1, -1, -1), Material.GOLD_BLOCK }, + { new Vector(1, -1, 1), Material.GOLD_BLOCK }, + { new Vector(0, -1, -1), Material.GOLD_BLOCK }, + { new Vector(0, -1, +1), Material.GOLD_BLOCK }, + { new Vector(0, 0, 1), Material.REDSTONE_TORCH_ON }, + { new Vector(0, 0, -1), Material.REDSTONE_TORCH_ON }, + { new Vector(1, 0, 0), Material.REDSTONE_TORCH_ON }, + { new Vector(-1, 0, 0), Material.REDSTONE_TORCH_ON } + }; + + boolean checkListCorrect = true; + + for (int i = 0; i < checkList.length; i++) { + + Vector v = (Vector) checkList[i][0]; + + Block checkBlock = block.getWorld().getBlockAt(blockloc.getBlockX() + v.getBlockX(), + blockloc.getBlockY() + v.getBlockY(), blockloc.getBlockZ() + v.getBlockZ()); + + if (checkBlock.getType() != (Material) checkList[i][1]) { + checkListCorrect = false; + break; + } + } + + if (checkListCorrect && HerobrineAI.getPluginCore().getConfigDB().UseTotem && !AICore.isTotemCalled) { + HerobrineAI.getPluginCore().getAICore().PlayerCallTotem(event.getPlayer()); + } + + } } } - - - } - @EventHandler - public void onBlockPlace(BlockPlaceEvent event){ - if (event.getBlock().getWorld()==Bukkit.getServer().getWorld("world_herobrineai_graveyard")){ + + if (event.getBlock().getWorld() == Bukkit.getServer().getWorld("world_herobrineai_graveyard")) { event.setCancelled(true); return; } - - + + } + + @EventHandler + public void onBlockBreak(BlockBreakEvent event) { + if (event.getBlock().getWorld() == Bukkit.getServer().getWorld("world_herobrineai_graveyard")) { + event.setCancelled(true); + return; + } else { + Heads h = (Heads) HerobrineAI.getPluginCore().getAICore().getCore(CoreType.HEADS); + ArrayList list = h.getHeadList(); + if (list.contains(event.getBlock())) { + event.setCancelled(true); + return; + } + } + + } + + @EventHandler + public void onBlockPlace(BlockPlaceEvent event) { + if (event.getBlock().getWorld() == Bukkit.getServer().getWorld("world_herobrineai_graveyard")) { + event.setCancelled(true); + return; + } + } } diff --git a/src/org/jakub1221/herobrineai/listeners/EntityListener.java b/src/org/jakub1221/herobrineai/listeners/EntityListener.java index 37584b8..50c0c69 100644 --- a/src/org/jakub1221/herobrineai/listeners/EntityListener.java +++ b/src/org/jakub1221/herobrineai/listeners/EntityListener.java @@ -7,8 +7,8 @@ import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.entity.Arrow; -import org.bukkit.entity.CreatureType; import org.bukkit.entity.Entity; +import org.bukkit.entity.EntityType; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; import org.bukkit.entity.Projectile; @@ -25,266 +25,290 @@ import org.bukkit.event.entity.EntityDeathEvent; import org.bukkit.event.entity.ProjectileHitEvent; import org.bukkit.inventory.ItemStack; import org.jakub1221.herobrineai.HerobrineAI; +import org.jakub1221.herobrineai.Utils; import org.jakub1221.herobrineai.AI.*; import org.jakub1221.herobrineai.AI.Core.CoreType; import org.jakub1221.herobrineai.entity.MobType; import org.jakub1221.herobrineai.misc.ItemName; import org.bukkit.event.entity.EntityTargetLivingEntityEvent; -public class EntityListener implements Listener{ - - private ItemStack itemInHand=null; +public class EntityListener implements Listener { + + private ItemStack itemInHand = null; private ArrayList equalsLore = new ArrayList(); private ArrayList equalsLoreS = new ArrayList(); private ArrayList getLore = new ArrayList(); - - public EntityListener(){ - equalsLore.add("Herobrine´s artifact"); + + public EntityListener() { + equalsLore.add("Herobrine artifact"); equalsLore.add("Bow of Teleporting"); - equalsLoreS.add("Herobrine´s artifact"); + equalsLoreS.add("Herobrine artifact"); equalsLoreS.add("Sword of Lighting"); } - - @SuppressWarnings("deprecation") - @EventHandler - public void onCreatureSpawn(CreatureSpawnEvent event){ - Entity entity = event.getEntity(); - CreatureType creatureType = event.getCreatureType(); - if (event.isCancelled()) return; - - if (creatureType == CreatureType.ZOMBIE){ - if (HerobrineAI.getPluginCore().getConfigDB().UseNPC_Warrior){ - if (new Random().nextInt(100)=HerobrineAI.HerobrineHP){ - - - int i=1; - for(i=1;i<=2500;i++){ - if (HerobrineAI.getPluginCore().getConfigDB().config.contains("config.Drops."+Integer.toString(i))==true){ - Random randgen = new Random(); - int chance=randgen.nextInt(100); - if (chance<=HerobrineAI.getPluginCore().getConfigDB().config.getInt("config.Drops."+Integer.toString(i)+".chance")){ - HerobrineAI.HerobrineNPC.getBukkitEntity().getLocation().getWorld().dropItemNaturally(HerobrineAI.HerobrineNPC.getBukkitEntity().getLocation(), new ItemStack(Material.getMaterial(i),HerobrineAI.getPluginCore().getConfigDB().config.getInt("config.Drops."+Integer.toString(i)+".count"))); - } + if (HerobrineAI.getPluginCore().getConfigDB().Killable == true + && HerobrineAI.getPluginCore().getAICore().getCoreTypeNow() != CoreType.GRAVEYARD) { + + if (dEvent.getDamager() instanceof Player) { + if (event.getDamage() >= HerobrineAI.HerobrineHP) { + + HerobrineDropItems(); + + HerobrineAI.getPluginCore().getAICore().CancelTarget(CoreType.ANY); + HerobrineAI.HerobrineHP = HerobrineAI.HerobrineMaxHP; + Player player = (Player) dEvent.getDamager(); + player.sendMessage(" " + HerobrineAI.getPluginCore().getConfigDB().DeathMessage); + + } else { + HerobrineAI.HerobrineHP -= event.getDamage(); + HerobrineAI.HerobrineNPC.HurtAnimation(); + AICore.log.info("HIT: " + event.getDamage()); + } + } else if (dEvent.getDamager() instanceof Projectile) { + + Arrow arrow = (Arrow) dEvent.getDamager(); + if (arrow.getShooter() instanceof Player) { + if (HerobrineAI.getPluginCore().getAICore().getCoreTypeNow() == CoreType.RANDOM_POSITION) { + HerobrineAI.getPluginCore().getAICore().CancelTarget(CoreType.ANY); + HerobrineAI.getPluginCore().getAICore().setAttackTarget((Player) arrow.getShooter()); + } else { + + if (event.getDamage() >= HerobrineAI.HerobrineHP) { + + HerobrineDropItems(); + + HerobrineAI.getPluginCore().getAICore().CancelTarget(CoreType.ANY); + HerobrineAI.HerobrineHP = HerobrineAI.HerobrineMaxHP; + Player player = (Player) arrow.getShooter(); + player.sendMessage(" " + HerobrineAI.getPluginCore().getConfigDB().DeathMessage); + + } else { + HerobrineAI.HerobrineHP -= event.getDamage(); + HerobrineAI.HerobrineNPC.HurtAnimation(); + AICore.log.info("HIT: " + event.getDamage()); + } + + } + } else { + if (HerobrineAI.getPluginCore().getAICore().getCoreTypeNow() == CoreType.RANDOM_POSITION) { + Location newloc = (Location) HerobrineAI.HerobrineNPC.getBukkitEntity().getLocation(); + newloc.setY(-20); + HerobrineAI.HerobrineNPC.moveTo(newloc); + HerobrineAI.getPluginCore().getAICore().CancelTarget(CoreType.ANY); } } - - HerobrineAI.getPluginCore().getAICore().CancelTarget(CoreType.ANY); - HerobrineAI.HerobrineHP=HerobrineAI.HerobrineMaxHP; - Player player = (Player) dEvent.getDamager(); - player.sendMessage(" "+HerobrineAI.getPluginCore().getConfigDB().DeathMessage); - - }else{HerobrineAI.HerobrineHP-=event.getDamage();HerobrineAI.HerobrineNPC.HurtAnimation();AICore.log.info("HIT: "+event.getDamage());} - }else if(dEvent.getDamager() instanceof Projectile){ - - Arrow arrow = (Arrow) dEvent.getDamager(); - if (arrow.getShooter() instanceof Player){ - if (HerobrineAI.getPluginCore().getAICore().getCoreTypeNow() == CoreType.RANDOM_POSITION){ - HerobrineAI.getPluginCore().getAICore().CancelTarget(CoreType.ANY); - HerobrineAI.getPluginCore().getAICore().setAttackTarget((Player) arrow.getShooter()); - }else{ - - if (event.getDamage()>=HerobrineAI.HerobrineHP){ - - - int i=1; - for(i=1;i<=2500;i++){ - if (HerobrineAI.getPluginCore().getConfigDB().config.contains("config.Drops."+Integer.toString(i))==true){ - Random randgen = new Random(); - int chance=randgen.nextInt(100); - if (chance<=HerobrineAI.getPluginCore().getConfigDB().config.getInt("config.Drops."+Integer.toString(i)+".chance")){ - HerobrineAI.HerobrineNPC.getBukkitEntity().getLocation().getWorld().dropItemNaturally(HerobrineAI.HerobrineNPC.getBukkitEntity().getLocation(), new ItemStack(Material.getMaterial(i),HerobrineAI.getPluginCore().getConfigDB().config.getInt("config.Drops."+Integer.toString(i)+".count"))); - } - } - } - - HerobrineAI.getPluginCore().getAICore().CancelTarget(CoreType.ANY); - HerobrineAI.HerobrineHP=HerobrineAI.HerobrineMaxHP; - Player player = (Player) arrow.getShooter(); - player.sendMessage(" "+HerobrineAI.getPluginCore().getConfigDB().DeathMessage); - - }else{HerobrineAI.HerobrineHP-=event.getDamage();HerobrineAI.HerobrineNPC.HurtAnimation();AICore.log.info("HIT: "+event.getDamage());} - - - } - }else{if (HerobrineAI.getPluginCore().getAICore().getCoreTypeNow() == CoreType.RANDOM_POSITION){ - Location newloc = (Location) HerobrineAI.HerobrineNPC.getBukkitEntity().getLocation(); - newloc.setY(-20); + } else { + if (HerobrineAI.getPluginCore().getAICore().getCoreTypeNow() == CoreType.RANDOM_POSITION) { + Location newloc = (Location) HerobrineAI.HerobrineNPC.getBukkitEntity().getLocation(); + newloc.setY(-20); HerobrineAI.HerobrineNPC.moveTo(newloc); HerobrineAI.getPluginCore().getAICore().CancelTarget(CoreType.ANY); - }} - }else{ - if (HerobrineAI.getPluginCore().getAICore().getCoreTypeNow() == CoreType.RANDOM_POSITION){ - Location newloc = (Location) HerobrineAI.HerobrineNPC.getBukkitEntity().getLocation(); - newloc.setY(-20); - HerobrineAI.HerobrineNPC.moveTo(newloc); - HerobrineAI.getPluginCore().getAICore().CancelTarget(CoreType.ANY); + } } } - } - - } - - - event.setCancelled(true); - event.setDamage(0); - return; - - - }else{ - if (event instanceof EntityDamageByEntityEvent){ - EntityDamageByEntityEvent dEvent = (EntityDamageByEntityEvent) event; - if (dEvent.getDamager() instanceof Player){ - Player player = (Player) dEvent.getDamager(); - if (player.getItemInHand() != null){ - if (player.getItemInHand().getType() == Material.DIAMOND_SWORD){ - if (ItemName.getLore(player.getItemInHand())!=null){ - itemInHand = player.getItemInHand(); - getLore=ItemName.getLore(itemInHand); - if (getLore.containsAll(equalsLoreS)){ - if (HerobrineAI.getPluginCore().getConfigDB().UseArtifactSword){ - if (new Random().nextBoolean()){ - player.getLocation().getWorld().strikeLightning(event.getEntity().getLocation()); - } - } - } - } - } + } - }else if (dEvent.getDamager() instanceof Zombie){ - Zombie zmb = (Zombie) dEvent.getDamager(); - if (zmb.getCustomName()=="Artifact Guardian" || zmb.getCustomName()=="Herobrine´s Warrior"){ - - dEvent.setDamage(dEvent.getDamage()*3); - } - - }else if (dEvent.getDamager() instanceof Skeleton){ - Skeleton zmb = (Skeleton) dEvent.getDamager(); - if (zmb.getCustomName()=="Demon"){ - - dEvent.setDamage(dEvent.getDamage()*3); - } - - } - } - if (event.getCause()!=null){ - if (event.getCause() == DamageCause.LIGHTNING){ - if (event.getEntity() instanceof Player){ - if (event.getEntity().getEntityId()!=HerobrineAI.HerobrineEntityID){ - Player player = (Player) event.getEntity(); - if (player.getItemInHand() != null){ - if (player.getItemInHand().getType() == Material.DIAMOND_SWORD){ - if (ItemName.getLore(player.getItemInHand())!=null){ - itemInHand = player.getItemInHand(); - getLore=ItemName.getLore(itemInHand); - if (getLore.containsAll(equalsLoreS)){ - if (HerobrineAI.getPluginCore().getConfigDB().UseArtifactSword){ - event.setDamage(0); - event.setCancelled(true); - return; + + event.setCancelled(true); + event.setDamage(0); + return; + + } else { + if (event instanceof EntityDamageByEntityEvent) { + EntityDamageByEntityEvent dEvent = (EntityDamageByEntityEvent) event; + if (dEvent.getDamager() instanceof Player) { + Player player = (Player) dEvent.getDamager(); + if (player.getItemInHand() != null) { + if (player.getItemInHand().getType() == Material.DIAMOND_SWORD) { + if (ItemName.getLore(player.getItemInHand()) != null) { + itemInHand = player.getItemInHand(); + getLore = ItemName.getLore(itemInHand); + if (getLore.containsAll(equalsLoreS)) { + if (HerobrineAI.getPluginCore().getConfigDB().UseArtifactSword) { + if (Utils.getRandomGen().nextBoolean()) { + player.getLocation().getWorld().strikeLightning(event.getEntity().getLocation()); + } + } } } - } - } } - - } + } + } else if (dEvent.getDamager() instanceof Zombie) { + Zombie zmb = (Zombie) dEvent.getDamager(); + if (zmb.getCustomName() == "Artifact Guardian" || zmb.getCustomName() == "Herobrine�s Warrior") { + + dEvent.setDamage(dEvent.getDamage() * 3); + } + + } else if (dEvent.getDamager() instanceof Skeleton) { + Skeleton zmb = (Skeleton) dEvent.getDamager(); + if (zmb.getCustomName() == "Demon") { + + dEvent.setDamage(dEvent.getDamage() * 3); + } + } } + if (event.getCause() != null) { + if (event.getCause() == DamageCause.LIGHTNING) { + if (event.getEntity() instanceof Player) { + if (event.getEntity().getEntityId() != HerobrineAI.HerobrineEntityID) { + Player player = (Player) event.getEntity(); + if (player.getItemInHand() != null) { + if (player.getItemInHand().getType() == Material.DIAMOND_SWORD) { + if (ItemName.getLore(player.getItemInHand()) != null) { + itemInHand = player.getItemInHand(); + getLore = ItemName.getLore(itemInHand); + if (getLore.containsAll(equalsLoreS)) { + if (HerobrineAI.getPluginCore().getConfigDB().UseArtifactSword) { + event.setDamage(0); + event.setCancelled(true); + return; + } + } + } + } + } + + } + } + } } } } + protected void HerobrineDropItems(){ + for (int i = 1; i <= 2500; i++) { + if (HerobrineAI.getPluginCore().getConfigDB().config.contains("config.Drops." + Integer.toString(i)) == true) { + + Random randgen = Utils.getRandomGen(); + + int chance = randgen.nextInt(100); + + int requiredRoll = HerobrineAI.getPluginCore().getConfigDB().config.getInt("config.Drops." + Integer.toString(i) + ".chance"); + + if (chance <= requiredRoll) { + + int itsAmount = HerobrineAI.getPluginCore().getConfigDB().config.getInt("config.Drops." + Integer.toString(i)+ ".count"); + + ItemStack its = new ItemStack(Material.getMaterial(i), itsAmount); + + HerobrineAI.HerobrineNPC.getBukkitEntity().getLocation().getWorld().dropItemNaturally( + HerobrineAI.HerobrineNPC.getBukkitEntity().getLocation(), + its); + } + } + } + } + } diff --git a/src/org/jakub1221/herobrineai/listeners/InventoryListener.java b/src/org/jakub1221/herobrineai/listeners/InventoryListener.java index 6114cc3..7a4688b 100644 --- a/src/org/jakub1221/herobrineai/listeners/InventoryListener.java +++ b/src/org/jakub1221/herobrineai/listeners/InventoryListener.java @@ -12,43 +12,52 @@ import org.jakub1221.herobrineai.AI.Core.CoreType; import org.jakub1221.herobrineai.HerobrineAI; import org.jakub1221.herobrineai.misc.ItemName; -public class InventoryListener implements Listener{ +public class InventoryListener implements Listener { Logger log = Logger.getLogger("Minecraft"); - + @EventHandler - public void onInventoryClose(InventoryCloseEvent event){ - if (event.getInventory().getType() == InventoryType.CHEST){ - - Object[] data = {event.getPlayer(),event.getInventory()}; - - HerobrineAI.getPluginCore().getAICore().getCore(CoreType.BOOK).RunCore(data); - - if (new Random().nextInt(100)>97){ - if (HerobrineAI.getPluginCore().getConfigDB().UseHeads){ - if (event.getInventory().firstEmpty()!=-1){ - event.getInventory().setItem(event.getInventory().firstEmpty(),ItemName.CreateSkull(event.getPlayer().getName())); + public void onInventoryClose(InventoryCloseEvent event) { + if (event.getInventory().getType() == InventoryType.CHEST) { + + Object[] data = { event.getPlayer(), event.getInventory() }; + + HerobrineAI.getPluginCore().getAICore().getCore(CoreType.BOOK).RunCore(data); + + if (new Random().nextInt(100) > 97) { + + if (HerobrineAI.getPluginCore().getConfigDB().UseHeads) { + if (event.getInventory().firstEmpty() != -1) { + if (HerobrineAI.getPluginCore().getAICore().getResetLimits().isHead()) { + event.getInventory().setItem(event.getInventory().firstEmpty(), + ItemName.CreateSkull(event.getPlayer().getName())); + } + } + } } } } - } - } - - @EventHandler - public void onInventoryOpen(InventoryOpenEvent event){ + + @EventHandler + public void onInventoryOpen(InventoryOpenEvent event) { + + if (event.getInventory().getType() == InventoryType.CHEST + || event.getInventory().getType() == InventoryType.FURNACE + || event.getInventory().getType() == InventoryType.WORKBENCH) { - - if (event.getInventory().getType() == InventoryType.CHEST || event.getInventory().getType() == InventoryType.FURNACE || event.getInventory().getType() == InventoryType.WORKBENCH){ - if (HerobrineAI.getPluginCore().getConfigDB().useWorlds.contains(event.getPlayer().getLocation().getWorld().getName())){ - if (HerobrineAI.getPluginCore().getConfigDB().PlaceSigns==true && HerobrineAI.getPluginCore().getSupport().checkSigns(event.getPlayer().getLocation())){ - Object[] data = {event.getPlayer().getLocation(),event.getPlayer().getLocation()}; - HerobrineAI.getPluginCore().getAICore().getCore(CoreType.SIGNS).RunCore(data); - } + if (HerobrineAI.getPluginCore().getConfigDB().useWorlds.contains(event.getPlayer().getLocation().getWorld().getName())) { + + if (HerobrineAI.getPluginCore().getConfigDB().PlaceSigns == true + && HerobrineAI.getPluginCore().getSupport().checkSigns(event.getPlayer().getLocation())) { + + if (HerobrineAI.getPluginCore().getAICore().getResetLimits().isSign()) { + Object[] data = { event.getPlayer().getLocation(), event.getPlayer().getLocation() }; + HerobrineAI.getPluginCore().getAICore().getCore(CoreType.SIGNS).RunCore(data); + } } } - } - - - + + } + } diff --git a/src/org/jakub1221/herobrineai/listeners/PlayerListener.java b/src/org/jakub1221/herobrineai/listeners/PlayerListener.java index 5ce3f71..0d3adcc 100644 --- a/src/org/jakub1221/herobrineai/listeners/PlayerListener.java +++ b/src/org/jakub1221/herobrineai/listeners/PlayerListener.java @@ -1,7 +1,6 @@ package org.jakub1221.herobrineai.listeners; import java.util.ArrayList; -import java.util.Random; import org.bukkit.Bukkit; import org.bukkit.ChatColor; @@ -9,7 +8,7 @@ import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.World; import org.bukkit.block.Jukebox; -import org.bukkit.craftbukkit.v1_5_R2.entity.CraftPlayer; +import org.bukkit.craftbukkit.v1_11_R1.entity.CraftPlayer; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; import org.bukkit.event.EventPriority; @@ -25,191 +24,230 @@ import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.event.player.PlayerTeleportEvent; import org.bukkit.inventory.ItemStack; import org.jakub1221.herobrineai.HerobrineAI; +import org.jakub1221.herobrineai.Utils; import org.jakub1221.herobrineai.AI.AICore; import org.jakub1221.herobrineai.AI.Core.CoreType; import org.jakub1221.herobrineai.misc.ItemName; -public class PlayerListener implements Listener{ - - private ItemStack itemInHand=null; +public class PlayerListener implements Listener { + private ArrayList equalsLoreS = new ArrayList(); private ArrayList equalsLoreA = new ArrayList(); - private ArrayList getLore = new ArrayList(); private ArrayList LivingEntities = new ArrayList(); private Location le_loc = null; private Location p_loc = null; private long timestamp = 0; private boolean canUse = false; - - public PlayerListener(){ - equalsLoreS.add("Herobrine´s artifact"); + + public PlayerListener() { + equalsLoreS.add("Herobrine artifact"); equalsLoreS.add("Sword of Lighting"); - equalsLoreA.add("Herobrine´s artifact"); + equalsLoreA.add("Herobrine artifact"); equalsLoreA.add("Apple of Death"); } - - @EventHandler - public void onPlayerInteract(PlayerInteractEvent event){ - if (event.getAction() == Action.LEFT_CLICK_BLOCK || event.getAction() == Action.RIGHT_CLICK_BLOCK){ - if (event.getClickedBlock()!=null && event.getPlayer().getItemInHand()!=null){ - ItemStack itemInHand = event.getPlayer().getItemInHand(); - if (event.getPlayer().getItemInHand().getType()!=null){ - if (itemInHand.getType() == Material.DIAMOND_SWORD || itemInHand.getType() == Material.GOLDEN_APPLE){ - if (ItemName.getLore(itemInHand)!=null){ - if (ItemName.getLore(itemInHand).containsAll(equalsLoreS) && HerobrineAI.getPluginCore().getConfigDB().UseArtifactSword){ - if (new Random().nextBoolean()){ - event.getPlayer().getLocation().getWorld().strikeLightning(event.getClickedBlock().getLocation()); - } - }else if (ItemName.getLore(itemInHand).containsAll(equalsLoreA) && HerobrineAI.getPluginCore().getConfigDB().UseArtifactApple){ - timestamp = System.currentTimeMillis() / 1000; - canUse=false; - if (HerobrineAI.getPluginCore().PlayerApple.containsKey(event.getPlayer())){ - if (HerobrineAI.getPluginCore().PlayerApple.get(event.getPlayer()) < timestamp){ - HerobrineAI.getPluginCore().PlayerApple.remove(event.getPlayer()); - canUse=true; - }else{canUse=false;} - }else{canUse=true;} - - if (canUse==true){ - event.getPlayer().getWorld().createExplosion(event.getPlayer().getLocation(), 0F); - LivingEntities = (ArrayList) event.getPlayer().getLocation().getWorld().getLivingEntities(); - HerobrineAI.getPluginCore().PlayerApple.put(event.getPlayer(), timestamp+60); - for (int i=0;i<=LivingEntities.size()-1;i++){ - - if (LivingEntities.get(i) instanceof Player || LivingEntities.get(i).getEntityId() == HerobrineAI.HerobrineEntityID){}else{ - le_loc=LivingEntities.get(i).getLocation(); - p_loc=event.getPlayer().getLocation(); - if (le_loc.getBlockX() < p_loc.getBlockX()+20 && le_loc.getBlockX() > p_loc.getBlockX()-20){ - if (le_loc.getBlockY() < p_loc.getBlockY()+10 && le_loc.getBlockY() > p_loc.getBlockY()-10){ - if (le_loc.getBlockZ() < p_loc.getBlockZ()+20 && le_loc.getBlockZ() > p_loc.getBlockZ()-20){ - event.getPlayer().getWorld().createExplosion(LivingEntities.get(i).getLocation(), 0F); - LivingEntities.get(i).damage(10000); - } - } - } - - } - - } - - }else{ - event.getPlayer().sendMessage(ChatColor.RED+"Apple of Death is recharging!"); - } - } - } - } - } - } - } - - - if (event.getClickedBlock()!=null){ - if (event.getPlayer().getItemInHand()!=null){ - if (event.getClickedBlock().getType()==Material.JUKEBOX){ - ItemStack item = event.getPlayer().getItemInHand(); - Jukebox block = (Jukebox) event.getClickedBlock().getState(); - if (!block.isPlaying()){ - if (item.getType()==Material.getMaterial(2266)){ - HerobrineAI.getPluginCore().getAICore(); - if (!AICore.isDiscCalled){ - final Player player = event.getPlayer(); - HerobrineAI.getPluginCore().getAICore(); - AICore.isDiscCalled=true; - HerobrineAI.getPluginCore().getAICore().CancelTarget(CoreType.ANY); - Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(AICore.plugin, new Runnable() { - public void run() { - HerobrineAI.getPluginCore().getAICore().callByDisc(player); - } - }, 1 * 50L); - } - } - } - } - } - } - - } - - @EventHandler - public void onPlayerEnterBed(PlayerBedEnterEvent event){ - if (new Random().nextInt(100)>75){ - Player player = event.getPlayer(); - ((CraftPlayer) player).getHandle().a(true, false, false); - HerobrineAI.getPluginCore().getAICore().playerBedEnter(player); - } - } - - @EventHandler(priority = EventPriority.HIGHEST) - public void onPlayerQuit(PlayerQuitEvent event){ - if(event.getPlayer().getEntityId()!=HerobrineAI.HerobrineEntityID){ - if (HerobrineAI.getPluginCore().getAICore().PlayerTarget==event.getPlayer() && HerobrineAI.getPluginCore().getAICore().getCoreTypeNow() == CoreType.GRAVEYARD && event.getPlayer().getLocation().getWorld()==Bukkit.getServer().getWorld("world_herobrineai_graveyard") && HerobrineAI.getPluginCore().getAICore().isTarget){ - if (new Random().nextBoolean()){ - event.getPlayer().teleport( HerobrineAI.getPluginCore().getAICore().getGraveyard().getSavedLocation()); - - } - } - } - } - - @EventHandler(priority = EventPriority.HIGHEST) - public void onPlayerKick(PlayerKickEvent event){ - if (event.getPlayer().getEntityId()==HerobrineAI.HerobrineEntityID){ - event.setCancelled(true); - return; - } - } - - @EventHandler(priority = EventPriority.HIGHEST) - public void onPlayerTeleport(PlayerTeleportEvent event){ - if(event.getPlayer().getEntityId()==HerobrineAI.HerobrineEntityID){ - if (event.getFrom().getWorld()!=event.getTo().getWorld()){ - HerobrineAI.getPluginCore().HerobrineRemove(); - HerobrineAI.getPluginCore().HerobrineSpawn(event.getTo()); - event.setCancelled(true); - return; - } - - if (HerobrineAI.getPluginCore().getAICore().getCoreTypeNow() == CoreType.RANDOM_POSITION){ - if (HerobrineAI.HerobrineNPC.getEntity().getBukkitEntity().getLocation().getBlockX() > HerobrineAI.getPluginCore().getConfigDB().WalkingModeXRadius){ - if (HerobrineAI.HerobrineNPC.getEntity().getBukkitEntity().getLocation().getBlockX() < (-HerobrineAI.getPluginCore().getConfigDB().WalkingModeXRadius)){ - if (HerobrineAI.HerobrineNPC.getEntity().getBukkitEntity().getLocation().getBlockZ() > HerobrineAI.getPluginCore().getConfigDB().WalkingModeZRadius){ - if (HerobrineAI.HerobrineNPC.getEntity().getBukkitEntity().getLocation().getBlockZ() < (-HerobrineAI.getPluginCore().getConfigDB().WalkingModeZRadius)){ - HerobrineAI.getPluginCore().getAICore().CancelTarget(CoreType.RANDOM_POSITION); - HerobrineAI.HerobrineNPC.moveTo(new Location(Bukkit.getServer().getWorlds().get(0),0,-20,0)); - } - } - } - } - } - } - } - - @EventHandler - public void onPlayerDeathEvent(PlayerDeathEvent event){ - if (event.getEntity().getEntityId() == HerobrineAI.HerobrineEntityID){ - event.setDeathMessage(""); - - HerobrineAI.getPluginCore().HerobrineRemove(); - Location nowloc = new Location((World) Bukkit.getServer().getWorlds().get(0),(float) 0,(float) -20,(float) 0); - nowloc.setYaw((float) 1); - nowloc.setPitch((float) 1); - HerobrineAI.getPluginCore().HerobrineSpawn(nowloc); - } - } - @EventHandler - public void onPlayerMoveEvent(PlayerMoveEvent event){ - if (event.getPlayer().getEntityId()!=HerobrineAI.HerobrineEntityID){ - if (event.getPlayer().getWorld()==Bukkit.getServer().getWorld("world_herobrineai_graveyard")){ - Player player = (Player) event.getPlayer(); - player.teleport(new Location(Bukkit.getServer().getWorld("world_herobrineai_graveyard"),-2.49,4,10.69,(float)-179.85,(float) 0.44999)); + public void onPlayerInteract(PlayerInteractEvent event) { + + if (event.getAction() == Action.LEFT_CLICK_BLOCK || event.getAction() == Action.RIGHT_CLICK_BLOCK) { + if (event.getClickedBlock() != null && event.getPlayer().getItemInHand() != null) { + + ItemStack itemInHand = event.getPlayer().getItemInHand(); + if (event.getPlayer().getItemInHand().getType() != null) { + + if (itemInHand.getType() == Material.DIAMOND_SWORD + || itemInHand.getType() == Material.GOLDEN_APPLE) { + + if (ItemName.getLore(itemInHand) != null) { + + if (ItemName.getLore(itemInHand).containsAll(equalsLoreS) + && HerobrineAI.getPluginCore().getConfigDB().UseArtifactSword) { + + if (Utils.getRandomGen().nextBoolean()) { + event.getPlayer().getLocation().getWorld() + .strikeLightning(event.getClickedBlock().getLocation()); + } + + } else if (ItemName.getLore(itemInHand).containsAll(equalsLoreA) + && HerobrineAI.getPluginCore().getConfigDB().UseArtifactApple) { + + timestamp = System.currentTimeMillis() / 1000; + canUse = false; + + if (HerobrineAI.getPluginCore().PlayerApple.containsKey(event.getPlayer())) { + if (HerobrineAI.getPluginCore().PlayerApple.get(event.getPlayer()) < timestamp) { + HerobrineAI.getPluginCore().PlayerApple.remove(event.getPlayer()); + canUse = true; + } else { + canUse = false; + } + } else { + canUse = true; + } + + if (canUse == true) { + + event.getPlayer().getWorld().createExplosion(event.getPlayer().getLocation(), 0F); + LivingEntities = (ArrayList) event.getPlayer().getLocation() + .getWorld().getLivingEntities(); + HerobrineAI.getPluginCore().PlayerApple.put(event.getPlayer(), timestamp + 60); + + for (int i = 0; i <= LivingEntities.size() - 1; i++) { + + if (LivingEntities.get(i) instanceof Player || LivingEntities.get(i) + .getEntityId() == HerobrineAI.HerobrineEntityID) { + } else { + le_loc = LivingEntities.get(i).getLocation(); + p_loc = event.getPlayer().getLocation(); + + if (le_loc.getBlockX() < p_loc.getBlockX() + 20 + && le_loc.getBlockX() > p_loc.getBlockX() - 20) { + + if (le_loc.getBlockY() < p_loc.getBlockY() + 10 + && le_loc.getBlockY() > p_loc.getBlockY() - 10) { + + if (le_loc.getBlockZ() < p_loc.getBlockZ() + 20 + && le_loc.getBlockZ() > p_loc.getBlockZ() - 20) { + + event.getPlayer().getWorld().createExplosion(LivingEntities.get(i).getLocation(), 0F); + LivingEntities.get(i).damage(10000); + } + } + } + } + } + } else { + event.getPlayer().sendMessage(ChatColor.RED + "Apple of Death is recharging!"); + } + } + } + } + } + } + } + + if (event.getClickedBlock() != null) { + if (event.getPlayer().getItemInHand() != null) { + if (event.getClickedBlock().getType() == Material.JUKEBOX) { + + ItemStack item = event.getPlayer().getItemInHand(); + Jukebox block = (Jukebox) event.getClickedBlock().getState(); + + if (!block.isPlaying()) { + if (item.getType() == Material.getMaterial(2266)) { + + HerobrineAI.getPluginCore().getAICore(); + + if (!AICore.isDiscCalled) { + + final Player player = event.getPlayer(); + HerobrineAI.getPluginCore().getAICore(); + AICore.isDiscCalled = true; + HerobrineAI.getPluginCore().getAICore().CancelTarget(CoreType.ANY); + + Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(AICore.plugin, + new Runnable() { + public void run() { + HerobrineAI.getPluginCore().getAICore().callByDisc(player); + } + }, 1 * 50L); + } + } + } + } + } + } + + } + + @EventHandler + public void onPlayerEnterBed(PlayerBedEnterEvent event) { + if (Utils.getRandomGen().nextInt(100) > 75) { + Player player = event.getPlayer(); + ((CraftPlayer) player).getHandle().a(true, false, false); + HerobrineAI.getPluginCore().getAICore().playerBedEnter(player); } } - - - + + @EventHandler(priority = EventPriority.HIGHEST) + + public void onPlayerQuit(PlayerQuitEvent event) { + if (event.getPlayer().getEntityId() != HerobrineAI.HerobrineEntityID) { + + if (HerobrineAI.getPluginCore().getAICore().PlayerTarget == event.getPlayer() + && HerobrineAI.getPluginCore().getAICore().getCoreTypeNow() == CoreType.GRAVEYARD + && event.getPlayer().getLocation().getWorld() == Bukkit.getServer() + .getWorld("world_herobrineai_graveyard") + && HerobrineAI.getPluginCore().getAICore().isTarget) { + + if (Utils.getRandomGen().nextBoolean()) { + event.getPlayer() + .teleport(HerobrineAI.getPluginCore().getAICore().getGraveyard().getSavedLocation()); + } + } + } + } + + @EventHandler(priority = EventPriority.HIGHEST) + public void onPlayerKick(PlayerKickEvent event) { + if (event.getPlayer().getEntityId() == HerobrineAI.HerobrineEntityID) { + event.setCancelled(true); + return; + } + } + + @EventHandler(priority = EventPriority.HIGHEST) + public void onPlayerTeleport(PlayerTeleportEvent event) { + + if (event.getPlayer().getEntityId() == HerobrineAI.HerobrineEntityID) { + if (event.getFrom().getWorld() != event.getTo().getWorld()) { + HerobrineAI.getPluginCore().HerobrineRemove(); + HerobrineAI.getPluginCore().HerobrineSpawn(event.getTo()); + event.setCancelled(true); + return; + } + + if (HerobrineAI.getPluginCore().getAICore().getCoreTypeNow() == CoreType.RANDOM_POSITION) { + + Location herobrineLocation = HerobrineAI.HerobrineNPC.getEntity().getBukkitEntity().getLocation(); + + if (herobrineLocation.getBlockX() > HerobrineAI.getPluginCore().getConfigDB().WalkingModeXRadius + && herobrineLocation.getBlockX() < -HerobrineAI.getPluginCore().getConfigDB().WalkingModeXRadius + && herobrineLocation.getBlockZ() > HerobrineAI.getPluginCore().getConfigDB().WalkingModeZRadius + && herobrineLocation.getBlockZ() < -HerobrineAI.getPluginCore().getConfigDB().WalkingModeZRadius) { + + HerobrineAI.getPluginCore().getAICore().CancelTarget(CoreType.RANDOM_POSITION); + HerobrineAI.HerobrineNPC.moveTo(new Location(Bukkit.getServer().getWorlds().get(0), 0, -20, 0)); + + } + } + } + } + + @EventHandler + public void onPlayerDeathEvent(PlayerDeathEvent event) { + if (event.getEntity().getEntityId() == HerobrineAI.HerobrineEntityID) { + event.setDeathMessage(""); + + HerobrineAI.getPluginCore().HerobrineRemove(); + + Location nowloc = new Location((World) Bukkit.getServer().getWorlds().get(0), 0, -20.f, 0); + nowloc.setYaw(1.f); + nowloc.setPitch(1.f); + HerobrineAI.getPluginCore().HerobrineSpawn(nowloc); + } + } + + @EventHandler + public void onPlayerMoveEvent(PlayerMoveEvent event) { + if (event.getPlayer().getEntityId() != HerobrineAI.HerobrineEntityID) { + if (event.getPlayer().getWorld() == Bukkit.getServer().getWorld("world_herobrineai_graveyard")) { + Player player = (Player) event.getPlayer(); + player.teleport(new Location(Bukkit.getServer().getWorld("world_herobrineai_graveyard"), -2.49f, 4.f, + 10.69f, -179.85f, 0.44999f)); + } + } + } - } diff --git a/src/org/jakub1221/herobrineai/listeners/WorldListener.java b/src/org/jakub1221/herobrineai/listeners/WorldListener.java index 1a840a8..357f7f0 100644 --- a/src/org/jakub1221/herobrineai/listeners/WorldListener.java +++ b/src/org/jakub1221/herobrineai/listeners/WorldListener.java @@ -31,7 +31,7 @@ public class WorldListener implements Listener{ if (HerobrineAI.getPluginCore().getConfigDB().BuildPyramids==true){ - if (new Random().nextInt(15)==1){ + if (new Random().nextInt(30)==4){ Object[] data = {event.getChunk()}; HerobrineAI.getPluginCore().getAICore().getCore(CoreType.PYRAMID).RunCore(data); } diff --git a/src/org/jakub1221/herobrineai/misc/BlockChanger.java b/src/org/jakub1221/herobrineai/misc/BlockChanger.java index 483fcfd..c73e6fc 100644 --- a/src/org/jakub1221/herobrineai/misc/BlockChanger.java +++ b/src/org/jakub1221/herobrineai/misc/BlockChanger.java @@ -11,57 +11,96 @@ import org.bukkit.block.Skull; public class BlockChanger { - public static BlockFace getPlayerBlockFace(Location loc) - { - - BlockFace dir = null; - float y = loc.getYaw(); - if( y < 0 ){y += 360;} - y %= 360; - int i = (int)((y+8) / 22.5); - switch(i){ - case 0: dir = BlockFace.WEST; break; - case 1: dir = BlockFace.WEST_NORTH_WEST; break; - case 2: dir = BlockFace.NORTH_WEST; break; - case 3: dir = BlockFace.NORTH_NORTH_WEST; break; - case 4: dir = BlockFace.NORTH; break; - case 5: dir = BlockFace.NORTH_NORTH_EAST; break; - case 6: dir = BlockFace.NORTH_EAST; break; - case 7: dir = BlockFace.EAST_NORTH_EAST; break; - case 8: dir = BlockFace.EAST; break; - case 9: dir = BlockFace.EAST_SOUTH_EAST; break; - case 10: dir = BlockFace.SOUTH_EAST; break; - case 11: dir = BlockFace.SOUTH_SOUTH_EAST; break; - case 12: dir = BlockFace.SOUTH; break; - case 13: dir = BlockFace.SOUTH_SOUTH_WEST; break; - case 14: dir = BlockFace.SOUTH_WEST; break; - case 15: dir = BlockFace.WEST_SOUTH_WEST; break; - default: dir = BlockFace.WEST; break; - } - - return dir; - - } - - public static void PlaceSkull(Location loc, String name){ - int chance = new Random().nextInt(7); - Block b = loc.getBlock(); - b.setType(Material.SKULL); - - Skull skull = (Skull)b.getState(); - skull.setSkullType(SkullType.PLAYER); - skull.setOwner(name); + public static BlockFace getPlayerBlockFace(Location loc) { - BlockFace bface = BlockFace.EAST; - - if (chance==0){bface=BlockFace.WEST;} - else if (chance==1){bface=BlockFace.EAST;} - else if (chance==2){bface=BlockFace.SOUTH;} - else if (chance==3){bface=BlockFace.NORTH;} - - skull.setRawData((byte) bface.ordinal()); - skull.update(true); - - + BlockFace dir = null; + float y = loc.getYaw(); + if (y < 0) { + y += 360; } + y %= 360; + int i = (int) ((y + 8) / 22.5); + switch (i) { + case 0: + dir = BlockFace.WEST; + break; + case 1: + dir = BlockFace.WEST_NORTH_WEST; + break; + case 2: + dir = BlockFace.NORTH_WEST; + break; + case 3: + dir = BlockFace.NORTH_NORTH_WEST; + break; + case 4: + dir = BlockFace.NORTH; + break; + case 5: + dir = BlockFace.NORTH_NORTH_EAST; + break; + case 6: + dir = BlockFace.NORTH_EAST; + break; + case 7: + dir = BlockFace.EAST_NORTH_EAST; + break; + case 8: + dir = BlockFace.EAST; + break; + case 9: + dir = BlockFace.EAST_SOUTH_EAST; + break; + case 10: + dir = BlockFace.SOUTH_EAST; + break; + case 11: + dir = BlockFace.SOUTH_SOUTH_EAST; + break; + case 12: + dir = BlockFace.SOUTH; + break; + case 13: + dir = BlockFace.SOUTH_SOUTH_WEST; + break; + case 14: + dir = BlockFace.SOUTH_WEST; + break; + case 15: + dir = BlockFace.WEST_SOUTH_WEST; + break; + default: + dir = BlockFace.WEST; + break; + } + + return dir; + + } + + public static void PlaceSkull(Location loc, String name) { + int chance = new Random().nextInt(7); + Block b = loc.getBlock(); + b.setType(Material.SKULL); + + Skull skull = (Skull) b.getState(); + skull.setSkullType(SkullType.PLAYER); + skull.setOwner(name); + + BlockFace bface = BlockFace.EAST; + + if (chance == 0) { + bface = BlockFace.WEST; + } else if (chance == 1) { + bface = BlockFace.EAST; + } else if (chance == 2) { + bface = BlockFace.SOUTH; + } else if (chance == 3) { + bface = BlockFace.NORTH; + } + + skull.setRawData((byte) bface.ordinal()); + skull.update(true); + + } } diff --git a/src/org/jakub1221/herobrineai/misc/CustomID.java b/src/org/jakub1221/herobrineai/misc/CustomID.java index 9ee4ac9..872a361 100644 --- a/src/org/jakub1221/herobrineai/misc/CustomID.java +++ b/src/org/jakub1221/herobrineai/misc/CustomID.java @@ -6,58 +6,58 @@ public class CustomID { private int ID; private int DATA; - - public CustomID(String _data){ - if (_data!=null){ - if (!_data.equals("0")){ - if (_data!=null && _data.length()>0){ - String[] both = _data.split(":"); - ID=Integer.parseInt(both[0]); - if (both.length>1){ - DATA=Integer.parseInt(both[1]); - }else{ - DATA=0; - } - }else{ - ID=0; - DATA=0; - } - }else{ - ID=0; - DATA=0; - } - }else{ - ID=0; - DATA=0; + + public CustomID(String _data) { + if (_data != null) { + if (!_data.equals("0")) { + if (_data != null && _data.length() > 0) { + String[] both = _data.split(":"); + ID = Integer.parseInt(both[0]); + if (both.length > 1) { + DATA = Integer.parseInt(both[1]); + } else { + DATA = 0; + } + } else { + ID = 0; + DATA = 0; + } + } else { + ID = 0; + DATA = 0; + } + } else { + ID = 0; + DATA = 0; } } - - public int getID(){ + + public int getID() { return ID; } - - public int getDATA(){ + + public int getDATA() { return DATA; } - - public boolean isData(){ - if (DATA>0){ + + public boolean isData() { + if (DATA > 0) { return true; } return false; } - - public ItemStack getItemStack(){ + + public ItemStack getItemStack() { ItemStack item = null; - if (ID!=0){ - if (DATA>0){ - item = new ItemStack(ID,1,(byte) DATA); - }else{ - item = new ItemStack(ID); + if (ID != 0) { + if (DATA > 0) { + item = new ItemStack(ID, 1, (byte) DATA); + } else { + item = new ItemStack(ID); + } } - } - return item; - + return item; + } - + } diff --git a/src/org/jakub1221/herobrineai/misc/ItemName.java b/src/org/jakub1221/herobrineai/misc/ItemName.java index b5bf58b..d91397d 100644 --- a/src/org/jakub1221/herobrineai/misc/ItemName.java +++ b/src/org/jakub1221/herobrineai/misc/ItemName.java @@ -1,6 +1,5 @@ package org.jakub1221.herobrineai.misc; - import java.util.ArrayList; import org.bukkit.ChatColor; @@ -14,50 +13,56 @@ import org.bukkit.inventory.meta.SkullMeta; public class ItemName { - public static ItemMeta meta=null; - public static SkullMeta skullmeta=null; - - public static ItemStack colorLeatherArmor(ItemStack i,Color color){ - + public static ItemMeta meta = null; + public static SkullMeta skullmeta = null; + + public static ItemStack colorLeatherArmor(ItemStack i, Color color) { + LeatherArmorMeta la_meta = (LeatherArmorMeta) i.getItemMeta(); la_meta.setColor(color); i.setItemMeta(la_meta); - + return i; } - public static ItemStack setName(ItemStack item, String name){ - meta=item.getItemMeta(); + + public static ItemStack setName(ItemStack item, String name) { + meta = item.getItemMeta(); meta.setDisplayName(name); item.setItemMeta(meta); return item; } - public static ItemStack setLore(ItemStack item, ArrayList lore){ - meta=item.getItemMeta(); + + public static ItemStack setLore(ItemStack item, ArrayList lore) { + meta = item.getItemMeta(); meta.setLore(lore); item.setItemMeta(meta); return item; } - public static ItemStack setNameAndLore(ItemStack item, String name,ArrayList lore){ - meta=item.getItemMeta(); + + public static ItemStack setNameAndLore(ItemStack item, String name, ArrayList lore) { + meta = item.getItemMeta(); meta.setDisplayName(name); meta.setLore(lore); item.setItemMeta(meta); return item; } - public static ArrayList getLore(ItemStack item){ + + public static ArrayList getLore(ItemStack item) { return (ArrayList) item.getItemMeta().getLore(); } - public static String getName(ItemStack item){ + + public static String getName(ItemStack item) { return item.getItemMeta().getDisplayName(); } - public static ItemStack CreateSkull(String data){ - ItemStack skull = new ItemStack(Material.SKULL_ITEM, 1, (short)SkullType.PLAYER.ordinal()); - SkullMeta skullmeta = (SkullMeta)skull.getItemMeta(); + + public static ItemStack CreateSkull(String data) { + ItemStack skull = new ItemStack(Material.SKULL_ITEM, 1, (short) SkullType.PLAYER.ordinal()); + SkullMeta skullmeta = (SkullMeta) skull.getItemMeta(); skullmeta.setOwner(data); - - skullmeta.setDisplayName(ChatColor.RESET+data); + + skullmeta.setDisplayName(ChatColor.RESET + data); skull.setItemMeta(skullmeta); return skull; } - + } \ No newline at end of file diff --git a/src/org/jakub1221/herobrineai/misc/StructureLoader.java b/src/org/jakub1221/herobrineai/misc/StructureLoader.java index 323fcfd..b3f2c43 100644 --- a/src/org/jakub1221/herobrineai/misc/StructureLoader.java +++ b/src/org/jakub1221/herobrineai/misc/StructureLoader.java @@ -10,38 +10,45 @@ import org.bukkit.configuration.file.YamlConfiguration; public class StructureLoader { - private int current=0; - private int length=0; + private int current = 0; + private int length = 0; private InputStream inp; private YamlConfiguration file; - - public StructureLoader(InputStream in){ - inp=in; - + + public StructureLoader(InputStream in) { + inp = in; + file = new YamlConfiguration(); - + try { file.load(inp); } catch (FileNotFoundException e) { - + e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (InvalidConfigurationException e) { - + + e.printStackTrace(); + } + + try { + inp.close(); + } catch (IOException e) { e.printStackTrace(); } } - - public void Build(World world,int MainX,int MainY,int MainZ){ - - length=file.getInt("DATA.LENGTH")-1; - for (current=0;current<=length;current++){ - world.getBlockAt(MainX+file.getInt("DATA."+current+".X"), MainY+file.getInt("DATA."+current+".Y"), MainZ+file.getInt("DATA."+current+".Z")).setTypeIdAndData(+file.getInt("DATA."+current+".ID"),(byte) +file.getInt("DATA."+current+".DATA"),false); + + public void Build(World world, int MainX, int MainY, int MainZ) { + + length = file.getInt("DATA.LENGTH") - 1; + for (current = 0; current <= length; current++) { + world.getBlockAt(MainX + file.getInt("DATA." + current + ".X"), + MainY + file.getInt("DATA." + current + ".Y"), MainZ + file.getInt("DATA." + current + ".Z")) + .setTypeIdAndData(+file.getInt("DATA." + current + ".ID"),(byte) +file.getInt("DATA." + current + ".DATA"), false); } - - + } - + } diff --git a/src/org/jakub1221/herobrineai/support/_Factions.java b/src/org/jakub1221/herobrineai/support/_Factions.java new file mode 100644 index 0000000..78e1810 --- /dev/null +++ b/src/org/jakub1221/herobrineai/support/_Factions.java @@ -0,0 +1,17 @@ +package org.jakub1221.herobrineai.support; + +import org.bukkit.Bukkit; +import org.bukkit.Location; + +import com.massivecraft.factions.entity.BoardColls; +import com.massivecraft.mcore.ps.PS; + +public class _Factions { + + public boolean Check(){ + return (Bukkit.getServer().getPluginManager().getPlugin("Factions")!=null); + } + public boolean isSecuredArea(Location loc){ + return !BoardColls.get().getFactionAt(PS.valueOf(loc)).getComparisonName().equalsIgnoreCase("Wilderness"); + } +}