From 686d555a47812ebf8eca53751370779f3d136958 Mon Sep 17 00:00:00 2001 From: Govindas Date: Tue, 16 Aug 2022 16:16:05 +0300 Subject: [PATCH] Rushed Skript 2.6 support on 1.12.2, breaks 1.16 a bit --- META-INF/MANIFEST.MF | 0 README.md | 0 SkStuff.iml | 12 +- bin/META-INF/MANIFEST.MF | 0 bin/META-INF/SkStuff.kotlin_module | Bin bin/me/TheBukor/SkStuff/SkStuff.class | Bin 10016 -> 9440 bytes .../SkStuff/effects/EffClearPathGoals.class | Bin 2444 -> 2447 bytes .../SkStuff/effects/EffGZipFile.class | Bin .../SkStuff/effects/EffMakeJump.class | Bin 3511 -> 3520 bytes .../SkStuff/effects/EffRemovePathGoal.class | Bin 7984 -> 7999 bytes .../SkStuff/effects/EffSetPathGoal.class | Bin 25779 -> 25508 bytes .../SkStuff/effects/EffShowEntityEffect.class | Bin 2932 -> 2935 bytes .../SkStuff/expressions/ExprFireProof.class | Bin 4194 -> 4200 bytes .../SkStuff/expressions/ExprGlideState.class | Bin .../expressions/ExprInventoryOwner.class | Bin .../SkStuff/expressions/ExprNoClip.class | Bin 4202 -> 4211 bytes .../expressions/ExprNoGravityState.class | Bin .../expressions/ExprTimespanToNumber.class | Bin .../SkStuff/expressions/ExprToLowerCase.class | Bin .../SkStuff/expressions/ExprToUpperCase.class | Bin .../expressions/ExprWordsToUpperCase.class | Bin .../PathfinderGoalFollow_v1_13_R2.class | Bin 3033 -> 3039 bytes .../PathfinderGoalFollow_v1_14_R1.class | Bin 3033 -> 3039 bytes .../TheBukor/SkStuff/util/NMS_v1_13_R2.class | Bin 3817 -> 3820 bytes .../TheBukor/SkStuff/util/NMS_v1_14_R1.class | Bin 5538 -> 5440 bytes .../TheBukor/SkStuff/util/NMS_v1_15_R1.class | Bin 5425 -> 5440 bytes .../SkStuff/util/ReflectionUtils.class | Bin 4327 -> 4351 bytes plugin.yml | 0 src/META-INF/MANIFEST.MF | 0 src/me/TheBukor/SkStuff/SkStuff.java | 37 +++--- src/me/TheBukor/SkStuff/bstats/Metrics.java | 0 .../SkStuff/effects/EffClearPathGoals.java | 7 +- .../TheBukor/SkStuff/effects/EffMakeJump.java | 0 .../SkStuff/effects/EffRemovePathGoal.java | 0 .../SkStuff/effects/EffSetPathGoal.java | 7 +- .../SkStuff/effects/EffShowEntityEffect.java | 0 .../SkStuff/expressions/ExprFireProof.java | 0 .../SkStuff/expressions/ExprNoClip.java | 0 .../SkStuff/expressions/ExprStepLength.java | 0 .../PathfinderGoalFollow_v1_13_R2.java | 0 .../PathfinderGoalFollow_v1_14_R1.java | 0 .../PathfinderGoalFollow_v1_15_R1.java | 0 .../PathfinderGoalFollow_v1_16_R2.java | 79 ------------- .../PathfinderGoalFollow_v1_16_R3.java | 0 .../TheBukor/SkStuff/util/NMSInterface.java | 0 .../TheBukor/SkStuff/util/NMS_v1_10_R1.java | 0 .../TheBukor/SkStuff/util/NMS_v1_11_R1.java | 0 .../TheBukor/SkStuff/util/NMS_v1_12_R1.java | 0 .../TheBukor/SkStuff/util/NMS_v1_13_R2.java | 0 .../TheBukor/SkStuff/util/NMS_v1_14_R1.java | 2 +- .../TheBukor/SkStuff/util/NMS_v1_15_R1.java | 0 .../TheBukor/SkStuff/util/NMS_v1_16_R2.java | 79 ------------- .../TheBukor/SkStuff/util/NMS_v1_16_R3.java | 108 +++++++++--------- src/me/TheBukor/SkStuff/util/NMS_v1_8_R3.java | 0 src/me/TheBukor/SkStuff/util/NMS_v1_9_R2.java | 0 .../SkStuff/util/ReflectionUtils.java | 0 56 files changed, 91 insertions(+), 240 deletions(-) mode change 100644 => 100755 META-INF/MANIFEST.MF mode change 100644 => 100755 README.md mode change 100644 => 100755 bin/META-INF/MANIFEST.MF mode change 100644 => 100755 bin/META-INF/SkStuff.kotlin_module mode change 100644 => 100755 bin/me/TheBukor/SkStuff/effects/EffGZipFile.class mode change 100644 => 100755 bin/me/TheBukor/SkStuff/expressions/ExprGlideState.class mode change 100644 => 100755 bin/me/TheBukor/SkStuff/expressions/ExprInventoryOwner.class mode change 100644 => 100755 bin/me/TheBukor/SkStuff/expressions/ExprNoGravityState.class mode change 100644 => 100755 bin/me/TheBukor/SkStuff/expressions/ExprTimespanToNumber.class mode change 100644 => 100755 bin/me/TheBukor/SkStuff/expressions/ExprToLowerCase.class mode change 100644 => 100755 bin/me/TheBukor/SkStuff/expressions/ExprToUpperCase.class mode change 100644 => 100755 bin/me/TheBukor/SkStuff/expressions/ExprWordsToUpperCase.class mode change 100644 => 100755 plugin.yml mode change 100644 => 100755 src/META-INF/MANIFEST.MF mode change 100644 => 100755 src/me/TheBukor/SkStuff/SkStuff.java mode change 100644 => 100755 src/me/TheBukor/SkStuff/bstats/Metrics.java mode change 100644 => 100755 src/me/TheBukor/SkStuff/effects/EffClearPathGoals.java mode change 100644 => 100755 src/me/TheBukor/SkStuff/effects/EffMakeJump.java mode change 100644 => 100755 src/me/TheBukor/SkStuff/effects/EffRemovePathGoal.java mode change 100644 => 100755 src/me/TheBukor/SkStuff/effects/EffSetPathGoal.java mode change 100644 => 100755 src/me/TheBukor/SkStuff/effects/EffShowEntityEffect.java mode change 100644 => 100755 src/me/TheBukor/SkStuff/expressions/ExprFireProof.java mode change 100644 => 100755 src/me/TheBukor/SkStuff/expressions/ExprNoClip.java mode change 100644 => 100755 src/me/TheBukor/SkStuff/expressions/ExprStepLength.java mode change 100644 => 100755 src/me/TheBukor/SkStuff/pathfinders/PathfinderGoalFollow_v1_13_R2.java mode change 100644 => 100755 src/me/TheBukor/SkStuff/pathfinders/PathfinderGoalFollow_v1_14_R1.java mode change 100644 => 100755 src/me/TheBukor/SkStuff/pathfinders/PathfinderGoalFollow_v1_15_R1.java delete mode 100644 src/me/TheBukor/SkStuff/pathfinders/PathfinderGoalFollow_v1_16_R2.java mode change 100644 => 100755 src/me/TheBukor/SkStuff/pathfinders/PathfinderGoalFollow_v1_16_R3.java mode change 100644 => 100755 src/me/TheBukor/SkStuff/util/NMSInterface.java mode change 100644 => 100755 src/me/TheBukor/SkStuff/util/NMS_v1_10_R1.java mode change 100644 => 100755 src/me/TheBukor/SkStuff/util/NMS_v1_11_R1.java mode change 100644 => 100755 src/me/TheBukor/SkStuff/util/NMS_v1_12_R1.java mode change 100644 => 100755 src/me/TheBukor/SkStuff/util/NMS_v1_13_R2.java mode change 100644 => 100755 src/me/TheBukor/SkStuff/util/NMS_v1_14_R1.java mode change 100644 => 100755 src/me/TheBukor/SkStuff/util/NMS_v1_15_R1.java delete mode 100644 src/me/TheBukor/SkStuff/util/NMS_v1_16_R2.java mode change 100644 => 100755 src/me/TheBukor/SkStuff/util/NMS_v1_8_R3.java mode change 100644 => 100755 src/me/TheBukor/SkStuff/util/NMS_v1_9_R2.java mode change 100644 => 100755 src/me/TheBukor/SkStuff/util/ReflectionUtils.java diff --git a/META-INF/MANIFEST.MF b/META-INF/MANIFEST.MF old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/SkStuff.iml b/SkStuff.iml index 3df7d4c..186bff2 100644 --- a/SkStuff.iml +++ b/SkStuff.iml @@ -18,13 +18,22 @@ + + + + + BUKKIT + + + + - + @@ -155,5 +164,6 @@ + \ No newline at end of file diff --git a/bin/META-INF/MANIFEST.MF b/bin/META-INF/MANIFEST.MF old mode 100644 new mode 100755 diff --git a/bin/META-INF/SkStuff.kotlin_module b/bin/META-INF/SkStuff.kotlin_module old mode 100644 new mode 100755 diff --git a/bin/me/TheBukor/SkStuff/SkStuff.class b/bin/me/TheBukor/SkStuff/SkStuff.class index 0c6d0aa0b16a863e4b2a43e07f6af1c44af57d3e..758f2bc15c7af2c16464f2fe55c3c32a7b642b14 100644 GIT binary patch delta 1593 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 a`iG`6;)c_hTh6^6(&TOrnaNiznDrmzTg3qY diff --git a/bin/me/TheBukor/SkStuff/effects/EffClearPathGoals.class b/bin/me/TheBukor/SkStuff/effects/EffClearPathGoals.class index 807391dabbdd1093716f98095b972d4748521e9b..3732af1a5c49527f6c52a5a1d6a4dcbf0f7254db 100644 GIT binary patch delta 204 zcmWlTOHRUI7)8(DM?U@e10=+O19axZGGk(_)F(cuqCCq}cHl-x4CxwJL1&n-0M_6p zm^o@}lbd_ao!w>SyAtlw%@(M$(3A-dDRC{_Xl#N5ZgbuhxaT3aW^Rwdh43UiYhGv- z2zeFWg!U>-)ko4&#&)vVi6iIhs7p`i8$4=x4Gcq~_}B4^Bg2@9Fg47W$7gQa`BZrE k-tv;Q`(t~Tf-mSSO2PRbE*4kWS&Igz88wP3@0@V_57sImLjV8( delta 201 zcmWlTNlpS$7zXS0kRKi|VnSH30M>+d=f*I|JT`-Z$|y(RA|!_NCET;q!~=K<&)|*~ zp*#6fRm<-qbx8TYm#-h-o}K2FYMdmGLQP{+jZu%>NYJDeRXeJV@E~-Bo~F+r!4O{< z3FD)GQPa~<8CyLCYiFN+W+u!H9(NI546nQee@^*kVOX*f)`kt+px{oNcZC=HTi)r@ f{kFZNP!e=FrJ#7m#iATOwWyE}tx;r|kRx*iZa^QT diff --git a/bin/me/TheBukor/SkStuff/effects/EffGZipFile.class b/bin/me/TheBukor/SkStuff/effects/EffGZipFile.class old mode 100644 new mode 100755 diff --git a/bin/me/TheBukor/SkStuff/effects/EffMakeJump.class b/bin/me/TheBukor/SkStuff/effects/EffMakeJump.class index cf3be69595f29e171bcf31863cecdf79bf748e54..9458e1af92ea7255c2c1dc1d7da4bb1e13feb1b6 100644 GIT binary patch delta 401 zcmYk&%W6|m6vpxYPCQvVC#RrT2q9F13I!?2L{lhrW@my!sj1c^#>O;>QIquIC8@Vw z)M~qJT8&y?K`I6uh~o}A>NEHZIB>OO*RAG3uIz(6pWrW?kl( z*F4ZX6dpx|$3jbJ3kxn!cq%*-o`3CJP-<~!UuA-QzL$h$|F5uO(#}ZerN=8?o2GLr zxaw!uNe;Z>t+3{CkuimnC^afIi**mfJM-Ha)f;p?HrX;~Lx~gb`Jgyj$~Lp9a<)2^ zx|}N&@^zu>@sUra7}|^Y%RD}lR16xW`^|TC+!W;Gk!{70Nd<;>zDduyG%j2fj`>e1 lIG~Ld{%;ByVFD#w`%CB#4gs$F7Y{JWu%9l9^SmHU><}PzP%i)g delta 372 zcmYk&NiRcT6vpxYtGPYbbr-Be8q#2`7KTJ>Bdka)g__zLiyB)~QS&@rYF_vVVj-~* zYYQu%!O90bu3S$=ej9U~iVKOO9X(xoF#WXV}vnF%Ge7=wp7KBA% z$s$BrSQb|9Gqp;sJ-n-sN7jW6Vbcj3HQp_oZFZcLQS8}u^Uf$M++$xju&Jj(VfbT- zkui-!nFLLf?45Fvz0aeQFjRRJ&=RsAQEY3jP3o C{YkR` diff --git a/bin/me/TheBukor/SkStuff/effects/EffRemovePathGoal.class b/bin/me/TheBukor/SkStuff/effects/EffRemovePathGoal.class index 84f78a9edc5898a0d6d40b19ab467c46ccb43000..b6333f25668e6bac4627569b75ec7cc02e60a776 100644 GIT binary patch delta 638 zcmYjPNl#N@6g{VvcW+-`ZJ~p-*fJ>M1f>)dH4xVK>>^Ju`nh#=bm%Fd%o{1zR}+4-eYen6H@>>xy{60Tvl8$ zaTV8m=*M-%4OiTB#VsF(aoc4}FeuQ4OVQZlA^ulS(&sQ4t9ReV-_k>a~#K=DoS zUGYQlQ;PHHKE*G^Z^fKq-i^DU_+z4iMIn?FdQ5t`Oj)HgTq;8KBTt`6lYT!f287Fn z!SVs_Agjyco}xGG3~Gd7C#o>w1Q$l_oUz@ASzN(d`=rt2jXQnP=!+&;CtPXa1V$WS z(qfAB_E%rj&PaA$1YxVI!Pf2iEP~#K{ETBQWdnVPDy)cJ>r>?3hxQH;k|6I<;^5EhUUcynQn;?c6!V$#(0?0^$ A<^TWy delta 666 zcmYjPIZRYx5dOY>@MiYkhb*THD3{{Na$}_%D+>#ahR%ZEYE)vZ3}{8Ar3rblGYVcP zUg#<)DtMxT_l5U;)ix^P;(HXvWbz#|^A(fKV5}$BHk|Aq08qyT25Ycialqgpx`K$~ zkm9g!x_xsbh*li+)g&Af95)F0ffGLWgm4n4e3kIkX~8bR89}c>1bqhiIIB1(==c43 z!3Beh7!b4#3N8sQ3$6&R8g$^A;JRW+aYJ!aaZ53*7*X6-+)>m>9C5`!WxIQtRtdsTOjKG2p6T)6XouToMLyxauQ228qyZU z1-k{AUXj2!N(6f_fhq(A|IfU(Am1xc&|xS2#fUpvSYO*YhO|IIYHIofvS9s7c~2L> S-bvhttsWZ?tqfrc^8NxW!;Mk^ diff --git a/bin/me/TheBukor/SkStuff/effects/EffSetPathGoal.class b/bin/me/TheBukor/SkStuff/effects/EffSetPathGoal.class index 87d78be252b9eed24363c7257cb4c24d5669b092..e043a78f9ee320db9d810906789b576676c55f51 100644 GIT binary patch delta 8308 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 CYhMQd delta 8382 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 delta 362 zcmW;IxlY4C6a~;bmK{$VBMPM82v7{7f|M+xLkKzw680Svh8U8N#C8aK*rA^WBpN;e zr9*;-j-F5850H>35Pmf8+;=sa;(f=z;`R66=T`uIxHZs)Ocb4%jG`Y?l)^EM8A`Jp zbL2cV3ml8&62~&R!m&!OaX92UN0!{+5acFDPKRrt6&a2#a+@O`Ljj2*Z95c8I?6F5 zQPJV)@SpC+8LKuv*@q%u)FE}(L{0vv-A#K)F{p0U3ry_GUah_7fSP9C6{2hlC$Mv# zge9Ph`WtPUM3&(ox4LgW?1_&P)k6IZyFRwS+7Fr?(Ll4{&X-qf}v6ikGtRFKACr~wwt<8 diff --git a/bin/me/TheBukor/SkStuff/expressions/ExprFireProof.class b/bin/me/TheBukor/SkStuff/expressions/ExprFireProof.class index 10c34a12e88b850f38671f3d31891a4678936014..49c7a3758d9b69a4044cc228ecea80281ad45307 100644 GIT binary patch delta 561 zcmZ9J%WsTP7{-66-+X<)esgpLO*K-Pt`v=0kfz-jmxvgpZZ&S@E2E~yXw9g)*0|rP zJzvsa(-R+lzj+6&;$_G}28AOH zG;=gbo@2sLh|gfa@fZuSI2^MRF)IoiLrzjka*C0VIz}7V&gqzyW33{b2^r(8Fdk~? zIpMr;!4Tw2l|rSEFB?qSje1Qk>xHjhtuW?N?W5`OLbY8MHVG3hSWl*`|xE$BmHNG{w+^5FYIlJlCy}&{CkaIz*EjtsoSJ)S4{g;>g zqj|pYk4f9t=t+9h`5CS8oc$bdl~k@>bM>}aH4oFwA|-V?Zq}pbZeT3~?t7|x^(|zWGLd8*W*5T!c*DPNo8})DNd(2!*EQ3v$b?{&eMpGomWOqSA1sTq&1E1dy$`<9C&4f)dVGH30>8)zAOXP;_ z(KYRpOc^>T_~)kK76Zy{!yWD__YC)WV0g$Q!(;jkPiQtg<(Yl2^~q_&bFBTWV>K^? zw&}@wyFSrqr=s?nmqLpzCR?gsqfEFmt8^(w*(OdzV2%c5`z#B;y9?}aH%lUPIu&-Z z+cwp`ZS7%$%R!MPEOqK>E$du`r#G=_)+jtq*nO2uNWLkmu5RUB|0 zuJgYz-5H~Ct3SepJGX9(A?mqkB5`xyCuexi$+=&fzctrB{(SQeSk9}E1q=y=BuyM? zWSFBuF(hCp!HCymK3MW}+*4WD6mo)-jhy0iNQ_F79aKGy`q-FoCgd#Vg!7@AUJ%BG zi-ts@TrF0Mg^J;It=pJd{gYW04>fsN=n}5DWYA(JTu1O(dW8vHsy?To%b06!K(am8 zxnaq&#y>YLljMY3mfPGB?pp3~-|~QmmPhnk9@A=ZJTXKg`LTR^DPJCL-%!d|D#BCC zGoHIIGCJ#pA>%&8GHx=l(!8v{Ppl4>bqiYrD{M6?#=sQwg>65W_g$~BUGLU_p;Oh+ z!!Fm7dfT>}J(`0-7PCav(^}SPg{Qsr>Uli%(eF~xqK-d9284anqxSzdDfLU;0^who z%SGwbzMUtOf* delta 546 zcmZ9J+iy%!6oARrW}9h@<(_Vi3c7;1nUeB&;SSP_ zCpbb$I2zy+#+iupSd=VBZZdMmg-rn!P9&&uG9bpO4)RPz?sSx^3H5+!W`r|=LeC24 zg!6`Ysah}B%cYv(Wnp#K{&I804f-F^tkaY5T0L?a zqh5R2=VnudUM1^ov*tWZnr<~Q_Rk-zb0h01I=?f!YW}$1-?s-i*s3{1Ms=Z9uiyeJ M>C$g(uszrH8)bQ2l>h($ diff --git a/bin/me/TheBukor/SkStuff/expressions/ExprNoGravityState.class b/bin/me/TheBukor/SkStuff/expressions/ExprNoGravityState.class old mode 100644 new mode 100755 diff --git a/bin/me/TheBukor/SkStuff/expressions/ExprTimespanToNumber.class b/bin/me/TheBukor/SkStuff/expressions/ExprTimespanToNumber.class old mode 100644 new mode 100755 diff --git a/bin/me/TheBukor/SkStuff/expressions/ExprToLowerCase.class b/bin/me/TheBukor/SkStuff/expressions/ExprToLowerCase.class old mode 100644 new mode 100755 diff --git a/bin/me/TheBukor/SkStuff/expressions/ExprToUpperCase.class b/bin/me/TheBukor/SkStuff/expressions/ExprToUpperCase.class old mode 100644 new mode 100755 diff --git a/bin/me/TheBukor/SkStuff/expressions/ExprWordsToUpperCase.class b/bin/me/TheBukor/SkStuff/expressions/ExprWordsToUpperCase.class old mode 100644 new mode 100755 diff --git a/bin/me/TheBukor/SkStuff/pathfinders/PathfinderGoalFollow_v1_13_R2.class b/bin/me/TheBukor/SkStuff/pathfinders/PathfinderGoalFollow_v1_13_R2.class index 4ebc38a2a1cb5056615165ca6bfc81d71924db39..ebd6d8afea509abfc68f63b5f464e5fc50ac1b7d 100644 GIT binary patch delta 239 zcmW-ZxlV#n6ofyJaKhzu7W9@hHYAWJ37xSuu|P#d1eMJN1UGO&5flZ&8&KFAI|>q7 z-oVOd@CAtfb&8qH%sKNN_z9TlY%~T!^!jFHJmoW> Lbw|I3p0NA@usAM} delta 226 zcmW-ZJ5EAj5QRUHFyX(`S-m>h2C4|`P)f%sg&a7fOuPTp{YD;x`j&(XKfUldM0ii?GnQ{{|vrNo7Bsg$V*SIQby zrAAD-rmi%syWw_$$nZC^tlZHQ?v)1~l@@K~iKy~SN9Za&UX(ts!oY65ja`3D{s93D BD{ue+ diff --git a/bin/me/TheBukor/SkStuff/pathfinders/PathfinderGoalFollow_v1_14_R1.class b/bin/me/TheBukor/SkStuff/pathfinders/PathfinderGoalFollow_v1_14_R1.class index 689328773713408150dc9376bc965502ef5c453f..dfb0de78edee3e6b07f7dbf50218d042bea6dfd4 100644 GIT binary patch delta 239 zcmW-ZxlV#n6ofyJaKhzu7W9@hHYAWJ37xSuu|P#d1eMJN1UGO&5flZ&8&KFAI|>q7 z-oVOd@CAtfb&8qH%sKNN_z9TlY%~T!^!jFHJmoW> Lbw|I3p0NA@usAM} delta 226 zcmW-ZJ5EAj5QRUHFyX(`S-m>h2C4|`P)f%sg&a7fOuPTp{YD;x`j&(XKfUldM0ii?GnQ{{|vrNo7Bsg$V*SIQby zrAAD-rmi%syWw_$$nZC^tlZHQ?v)1~l@@K~iKy~SN9Za&UX(ts!oY65ja`3D{s93D BD{ue+ diff --git a/bin/me/TheBukor/SkStuff/util/NMS_v1_13_R2.class b/bin/me/TheBukor/SkStuff/util/NMS_v1_13_R2.class index a3485c5332696235e8fcf54f4c45a1c524145f8c..4d9473c897153c77149436d28716fc94c31243ba 100644 GIT binary patch delta 235 zcmWlRyG{a86h+sa;N0PIVrj(~8e(Ippb{Gz6GLHbr96BqDyV=8>i7WP<9vYMpmY>| zfR(>NVn=VBX?C*LUfCn}*EQdN!!IDqn{V=k66FLXDh^eH%UV>{H5&$-%{W_Zn=p19 z77e@X8J4LlYdQ+Ba4BoAjWgl^@$OJ1Y6O3c?i4&TdmeA%jn43su&qyg$ zSvaRDbm$5fTxuG^6`pX-O}MWLx7-Q6$es<)rh}q0IU`i*Ywm>wa>4_i=23X!S$N@9 P@L5u%{h#!wJ#zj5hmJB9 delta 233 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 Y3jfpeu+Z;+5ql+T*%3`Vdj?1S20W&-#{d8T delta 828 zcmY+BNlX+$7=^#?8K-)h3KAB{7%^OkfsnX?2ML6u;bIgNMNt+-Q4vK^L&JKA&wxZo6e(p?w1 zxGHFuT;sa)!_&`ogAT_Mt(N2_BMed;zf5+%iN=gh1EWN6OLCh#lDphf zM3LaW${A0`+pa0_D9hat%J{G?tl800W6P!MIJDt%!CnG8&MqQucEIedUswOok3+i)vv~!jAdsIP8d5^Ad quWlamgT6J<|9mT0pnP)^7gG73r^%w=KP+auT5XjPM-tmIeSZN4@T8ak diff --git a/bin/me/TheBukor/SkStuff/util/ReflectionUtils.class b/bin/me/TheBukor/SkStuff/util/ReflectionUtils.class index 38ce87a82daa2197fb294abc343be0d5eea9c63d..630a07ab86c2b4115f2ba7e006a77effe682372a 100644 GIT binary patch delta 844 zcmaKq$xjqf5Qo26U(>$9Nn9|*1ZM()7-NhvDuRFt?uZKtDlRCZ;=ZpqAS&Vl;&a~> zao-S69tbgB@DI_0M?H)68l33GbW*SC^{=YF{-wXg`eTVNzdrT=llb70MU6`)n-sM! z0cspJ+jENzTV3kdrr7SXgPjh$9Co|xVXv+C+1~wDalqvuha3*O9O0o_Q8c@pMT$CFT+Y#;IIp;%xTt9D>ZtXpHpL}b-yQMi_*AQ+ zU2)mu2Ks`=N2$pV$BItP6FbIVHD1xCdCD`>8_thD=Y?=+ zUh+!wnl~mz6-NY1^OkJQJGxAT${M0Dn)h@IT6d!ghEnrmOc&4n6p%upG5Y(kA|{K; zQ{-0Tqlj@7nf6F5`j2!5GtH++Q(_h&5oS`%L^*9%BJDmeo6Q^<>?h7#=E=wq8O)cv zU~>3?eyZqmrDHVye$ojkrYZ6i3ls|_;!~7{2Qe23W*LiRYL0Y#HJ?-K6H7dXc#j8bJet25to}a?7Q-?u`@>L93(HwC$k1ncht>*1KzP!;&5}q~L8W|` zpAoENm7LblF-g@_EAmvUld39FSszAPAEE?26V@o!dfS784y+Rgp+1w5z`sX KQyZlAv+*~@$%I4z delta 750 zcmY+C$xl>45Qo1v^Je<-Y;Y2yxEydMkl|oF7~(c;3T_}EinyUDDvAs4D=I3Y;;!w6 z8z^pw7sJg&6OS4X9z1#R=)wO%tbW2o^OCNvdcUf#tGb8dKjR&rf4}Uz2bSlm&x)kT$_P03hdBugHSg62p zyA>BrY50?S$)VbO^sf`plPTQRWk#YWjJmdCm(nK~?ygmn1c> z7%;6WKcacf;82fpBUu@7ie#E0ipikF4C-ImrOc4=&6KFdp^T}Nnt{xC>_2H4bIte6 z&hmLgM3_f8)5Y3dg`_*dZaxd7aEJs8StKPR|Zn}7&H+@+XC+90FmE4J=sEUpp zX^9-Eni}&htE;>=;3U$VM4FS}F9+c)mFi*nas%SO9MO+*EXs1~MmfvqW;yld>)5uA zTFHi-pt|iRhZQtPKOx4kl2u~uV5X#1v#cmktxl`fh-$V(#}gVRMp%(jtX1+zEY%(9 aZk==|7cW@_qAdw3V&2D6YJ>P8HvR$H%yY;9 diff --git a/plugin.yml b/plugin.yml old mode 100644 new mode 100755 diff --git a/src/META-INF/MANIFEST.MF b/src/META-INF/MANIFEST.MF old mode 100644 new mode 100755 diff --git a/src/me/TheBukor/SkStuff/SkStuff.java b/src/me/TheBukor/SkStuff/SkStuff.java old mode 100644 new mode 100755 index afeaa58..d1c4fcf --- a/src/me/TheBukor/SkStuff/SkStuff.java +++ b/src/me/TheBukor/SkStuff/SkStuff.java @@ -27,15 +27,15 @@ public class SkStuff extends JavaPlugin { Skript.registerExpression(ExprStepLength.class, Number.class, ExpressionType.PROPERTY, "[the] step length of %entity%", "%entity%'s step length"); Skript.registerEffect(EffClearPathGoals.class, "(clear|delete) [all] pathfind[er] goals (of|from) %livingentities%"); Skript.registerEffect(EffRemovePathGoal.class, "remove pathfind[er] goal (0¦(avoid|run away from) entit(y|ies)|1¦break door[s]|2¦breed|3¦eat grass|4¦(flee from the sun|seek shad(e|ow))|5¦float (in[side]|on) water|6¦follow (owner|tamer)|7¦follow (adult|parent)[s]|8¦(fight back|react to|target) (damager|attacker)|9¦o(c|z)elot jump on blocks|10¦leap at target|11¦look at entit(y|ies)|12¦melee attack entit(y|ies)|13¦move to[wards] target|14¦target nearest entity|15¦o(c|z)elot attack [chicken[s]]|16¦open door[s]|17¦(panic|flee)|18¦look around randomly|19¦(walk around randomly|wander)|20¦sit|21¦[creeper] (explode|inflate|swell)|22¦squid (swim|wander)|23¦shoot fireball[s]|24¦[silverfish] hide (in[side]|on) block[s]|25¦(wake other silverfish[es]|[silverfish] call (help|reinforcement|other [hidden] silverfish[es]))|26¦[enderm(a|e)n] pick[[ ]up] block[s]|27¦[enderm(a|e)n] place block[s]|28¦[enderman] attack player (staring|looking) [at eye[s]]|29¦ghast move to[wards] target|30¦ghast (idle move[ment]|wander|random fl(ight|y[ing]))|31¦(tempt to|follow players (holding|with)) [a[n]] item|32¦target [random] entity (if|when) (not tamed|untamed)|33¦guardian attack [entity]|34¦[z[ombie[ ]]pig[man]] attack [player[s]] (if|when) angry|35¦[z[ombie[ ]]pig[man]] (react to|fight back|target) (attacker|damager) (if|when) angry|36¦[rabbit] eat carrot crops|37¦[killer] rabbit [melee] attack|38¦slime [random] jump|39¦slime change (direction|facing) randomly|40¦slime (idle move[ment]|wander)|41¦follow [entity]|42¦bow shoot) from %livingentities%"); - // Note to self: whenever adding a new pathfinder goal, increase the expression index for 'entities' in EffSetPathGoal - Skript.registerEffect(EffSetPathGoal.class, "add pathfind[er] goal [[with] priority %-integer%] (0¦(avoid|run away from) %*entitydatas%[, radius %-number%[, speed %-number%[, speed (if|when) (close|near) %-number%]]]|1¦break door[s]|2¦breed[,[move[ment]] speed %-number%]|3¦eat grass|4¦(flee from the sun|seek shad(e|ow))[, [move[ment]] speed %-number%]|5¦(float (in[side]|on) water|swim)|6¦follow (owner|tamer)[, speed %-number%[, min[imum] distance %-number%[, max[imum] distance %-number%]]]|7¦follow (adult|parent)[s][, [move[ment]] speed %-number%]|8¦(fight back|react to|target) (damager|attacker) [[of] type] %*entitydatas%[, call ([for] help|reinforcement) %-boolean%]|9¦o(c|z)elot jump on blocks[, [move[ment]] speed %-number%]|10¦leap at target[, [leap] height %-number%]|11¦look at %*entitydatas%[, (radius|max[imum] distance) %-number%]|12¦melee attack %*entitydatas%[, [move[ment]] speed %-number%[, (memorize|do('nt| not) forget) target [for [a] long[er] time] %-boolean%]]|13¦move to[wards] target[, [move[ment]] speed %-number%[, (radius|max[imum] distance) %-number%]]|14¦target nearest [entity [of] type] %*entitydatas%[, check sight %-boolean%]|15¦o(c|z)elot attack|16¦open door[s]|17¦(panic|flee)[, [move[ment]] speed %-number%]|18¦look around randomly|19¦(walk around randomly|wander)[, [move[ment]] speed %-number%[, min[imum] [of] %-timespan% between mov(e[ment][s]|ing)]]|20¦sit|21¦[creeper] (explode|inflate|swell)|22¦squid (swim around|wander)|23¦shoot fireball[s]|24¦[silverfish] hide (in[side]|on) block[s]|25¦((call|summon|wake) [other] [hidden] silverfish[es])|26¦[enderman] pick[[ ]up] block[s]|27¦[enderman] place block[s]|28¦[enderman] attack player (staring|looking) at [their] eye[s]]|29¦ghast move to[wards] target|30¦ghast (idle move[ment]|wander|random fl(ight|y[ing]))|31¦(tempt to|follow players (holding|with)) %-itemstack%[, [move[ment]] speed %number%[, scared of player movement %-boolean%]]|32¦target [random] %*entitydatas% (if|when) (not |un)tamed|33¦guardian attack [entities]|34¦[z[ombie[ ]]pig[man]] attack [player[s]] (if|when) angry|35¦[z[ombie[ ]]pig[man]] (react to|fight back|target) (attacker|damager) (if|when) angry|36¦[rabbit] eat carrot crops|37¦[killer] rabbit [melee] attack|38¦slime [random] jump|39¦slime change (direction|facing) randomly|40¦slime (idle move[ment]|wander)|41¦follow %*entitydatas%[, radius %-number%[, speed %-number%[, [custom[ ]]name[d] %-string%]]]|42¦bow shoot[, [move[ment]] speed %-number%[, unk[nown] param[eter] %-number%[, follow range %-number%]]])) to %livingentities%"); + + Skript.registerEffect(EffSetPathGoal.class, "add pathfind[er] goal [[with] priority %-integer%] (0¦(avoid|run away from) %*entitydatas%[, radius %-number%[, speed %-number%[, speed (if|when) (close|near) %-number%]]]|1¦break door[s]|2¦breed[,[move[ment]] speed %-number%]|3¦eat grass|4¦(flee from the sun|seek shad(e|ow))[, [move[ment]] speed %-number%]|5¦(float (in[side]|on) water|swim)|6¦follow (owner|tamer)[, speed %-number%[, min[imum] distance %-number%[, max[imum] distance %-number%]]]|7¦follow (adult|parent)[s][, [move[ment]] speed %-number%]|8¦(fight back|react to|target) (damager|attacker) [[of] type] %*entitydatas%[, call ([for] help|reinforcement) %-boolean%]|9¦o(c|z)elot jump on blocks[, [move[ment]] speed %-number%]|10¦leap at target[, [leap] height %-number%]|11¦look at %*entitydatas%[, (radius|max[imum] distance) %-number%]|12¦melee attack %*entitydatas%[, [move[ment]] speed %-number%[, (memorize|do('nt| not) forget) target [for [a] long[er] time] %-boolean%]]|13¦move to[wards] target[, [move[ment]] speed %-number%[, (radius|max[imum] distance) %-number%]]|14¦target nearest [entity [of] type] %*entitydatas%[, check sight %-boolean%]|15¦o(c|z)elot attack|16¦open door[s]|17¦(panic|flee)[, [move[ment]] speed %-number%]|18¦look around randomly|19¦(walk around randomly|wander)[, [move[ment]] speed %-number%[, min[imum] [of] %-timespan% between mov(e[ment][s]|ing)]]|20¦sit|21¦[creeper] (explode|inflate|swell)|22¦squid (swim around|wander)|23¦shoot fireball[s]|24¦[silverfish] hide (in[side]|on) block[s]|25¦((call|summon|wake) [other] [hidden] silverfish[es])|26¦[enderman] pick[[ ]up] block[s]|27¦[enderman] place block[s]|28¦[enderman] attack player (staring|looking) at [their] eye[s]]|29¦ghast move to[wards] target|30¦ghast (idle move[ment]|wander|random fl(ight|y[ing]))|31¦(tempt to|follow players (holding|with)) %-itemstack%[, [move[ment]] speed %number%[, scared of player movement %-boolean%]]|32¦target [random] %*entitydatas% (if|when) (not |un)tamed|33¦guardian attack [entities]|34¦[z[ombie[ ]]pig[man]] attack [player[s]] (if|when) angry|35¦[z[ombie[ ]]pig[man]] (react to|fight back|target) (attacker|damager) (if|when) angry|36¦[rabbit] eat carrot crops|37¦[killer] rabbit [melee] attack|38¦slime [random] jump|39¦slime change (direction|facing) randomly|40¦slime (idle move[ment]|wander)|41¦follow %*entitydatas%[, radius %-number%[, speed %-number%[, [custom[ ]]name[d] %-string%]]]|42¦bow shoot[, [move[ment]] speed %-number%[, unk[nown] param[eter] %-number%[, follow range %-number%]]]) to %livingentities%"); Skript.registerEffect(EffMakeJump.class, "make %livingentities% jump", "force %livingentities% to jump"); Skript.registerExpression(ExprNoClip.class, Boolean.class, ExpressionType.PROPERTY, "no[( |-)]clip (state|mode) of %entities%", "%entities%'s no[( |-)]clip (state|mode)"); Skript.registerExpression(ExprFireProof.class, Boolean.class, ExpressionType.PROPERTY, "fire[ ]proof (state|mode) of %entities%", "%entities%'s fire[ ]proof (state|mode)"); } - Metrics metrics = new Metrics(this, 1); - metrics.startSubmitting(); - getLogger().info("Hooked into Metrics! Woohoo!!"); + //Metrics metrics = new Metrics(this, 1); + //metrics.startSubmitting(); + //getLogger().info("Hooked into Metrics! Woohoo!!"); getLogger().info("Everything's ready!"); } else { getLogger().info("Unable to find Skript or Skript isn't accepting registrations, disabling SkStuff..."); @@ -43,52 +43,49 @@ public class SkStuff extends JavaPlugin { } } - private boolean setupNMSVersion() { + public static boolean setupNMSVersion() { String version = ReflectionUtils.getVersion(); switch (version) { case "v1_8_R3.": nmsMethods = new NMS_v1_8_R3(); - getLogger().info("It looks like you're running 1.8.8!"); + Bukkit.getLogger().info("It looks like you're running 1.8.8!"); break; case "v1_9_R2.": nmsMethods = new NMS_v1_9_R2(); - getLogger().info("It looks like you're running 1.9.4!"); + Bukkit.getLogger().info("It looks like you're running 1.9.4!"); break; case "v1_10_R1.": nmsMethods = new NMS_v1_10_R1(); - getLogger().info("It looks like you're running 1.10.2!"); + Bukkit.getLogger().info("It looks like you're running 1.10.2!"); break; case "v1_11_R1.": nmsMethods = new NMS_v1_11_R1(); - getLogger().info("It looks like you're running 1.11.2!"); + Bukkit.getLogger().info("It looks like you're running 1.11.2!"); break; case "v1_12_R1.": nmsMethods = new NMS_v1_12_R1(); - getLogger().info("It looks like you're running 1.12.2!"); + Bukkit.getLogger().info("It looks like you're running 1.12.2!"); break; case "v1_13_R2.": nmsMethods = new NMS_v1_13_R2(); - getLogger().info("It looks like you're running 1.13.2!"); + Bukkit.getLogger().info("It looks like you're running 1.13.2!"); break; case "v1_14_R1.": nmsMethods = new NMS_v1_14_R1(); - getLogger().info("It looks like you're running 1.14.4!"); + Bukkit.getLogger().info("It looks like you're running 1.14.4!"); break; case "v1_15_R1.": nmsMethods = new NMS_v1_15_R1(); - getLogger().info("It looks like you're running 1.15.2!"); - break; - case "v1_16_R2.": - nmsMethods = new NMS_v1_16_R2(); - getLogger().info("It looks like you're running 1.16.3!"); + Bukkit.getLogger().info("It looks like you're running 1.15.2!"); break; + case "v1_16_R3.": nmsMethods = new NMS_v1_16_R3(); - getLogger().info("It looks like you're running 1.16.4!"); + Bukkit.getLogger().info("It looks like you're running 1.16.4!"); break; default: - getLogger().warning("It looks like you're running an unsupported server version, some features will not be available :("); + Bukkit.getLogger().warning("It looks like you're running an unsupported server version, some features will not be available :("); break; } return nmsMethods != null; diff --git a/src/me/TheBukor/SkStuff/bstats/Metrics.java b/src/me/TheBukor/SkStuff/bstats/Metrics.java old mode 100644 new mode 100755 diff --git a/src/me/TheBukor/SkStuff/effects/EffClearPathGoals.java b/src/me/TheBukor/SkStuff/effects/EffClearPathGoals.java old mode 100644 new mode 100755 index 8b4f529..73057ec --- a/src/me/TheBukor/SkStuff/effects/EffClearPathGoals.java +++ b/src/me/TheBukor/SkStuff/effects/EffClearPathGoals.java @@ -2,6 +2,7 @@ package me.TheBukor.SkStuff.effects; import javax.annotation.Nullable; +import org.bukkit.Bukkit; import org.bukkit.entity.ArmorStand; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; @@ -33,7 +34,11 @@ public class EffClearPathGoals extends Effect { LivingEntity[] ents = entities.getAll(e); for (LivingEntity ent : ents) { if (!(ent instanceof Player || ent instanceof ArmorStand || ent == null)) { - SkStuff.getNMSMethods().clearPathfinderGoals(ent); + if (SkStuff.setupNMSVersion()) { + SkStuff.getNMSMethods().clearPathfinderGoals(ent); + } else { + //Bukkit.getMobGoals().removeAllGoals(ent); + } } } } diff --git a/src/me/TheBukor/SkStuff/effects/EffMakeJump.java b/src/me/TheBukor/SkStuff/effects/EffMakeJump.java old mode 100644 new mode 100755 diff --git a/src/me/TheBukor/SkStuff/effects/EffRemovePathGoal.java b/src/me/TheBukor/SkStuff/effects/EffRemovePathGoal.java old mode 100644 new mode 100755 diff --git a/src/me/TheBukor/SkStuff/effects/EffSetPathGoal.java b/src/me/TheBukor/SkStuff/effects/EffSetPathGoal.java old mode 100644 new mode 100755 index 7617354..e171db4 --- a/src/me/TheBukor/SkStuff/effects/EffSetPathGoal.java +++ b/src/me/TheBukor/SkStuff/effects/EffSetPathGoal.java @@ -96,7 +96,7 @@ public final class EffSetPathGoal extends Effect { @SuppressWarnings("unchecked") @Override - public final boolean init(Expression[] expr, int matchedPattern, Kleenean arg2, ParseResult result) { + public boolean init(Expression[] expr, int matchedPattern, Kleenean arg2, ParseResult result) { goalPriority = (Expression) expr[0]; mark = result.mark; if (mark == 0) { @@ -155,7 +155,7 @@ public final class EffSetPathGoal extends Effect { bowShootUnkParam = (Expression) expr[36]; bowShootFollowRange = (Expression) expr[37]; } - entities = (Expression) expr[38]; + entities = (Expression) expr[expr.length - 1]; /* Debug stuff, just in case I need it int i = 0; for (Expression expression : expr) { @@ -550,9 +550,6 @@ public final class EffSetPathGoal extends Effect { case "v1.15_R1.": newGoals.add(new PathfinderGoalFollow_v1_15_R1((net.minecraft.server.v1_15_R1.EntityCreature) nmsEnt, nmsClass, radius, spd, usesName, customName)); break; - case "v1.16_R2.": - newGoals.add(new PathfinderGoalFollow_v1_16_R2((net.minecraft.server.v1_16_R2.EntityCreature) nmsEnt, nmsClass, radius, spd, usesName, customName)); - break; case "v1.16_R3.": newGoals.add(new PathfinderGoalFollow_v1_16_R3((net.minecraft.server.v1_16_R3.EntityCreature) nmsEnt, nmsClass, radius, spd, usesName, customName)); break; diff --git a/src/me/TheBukor/SkStuff/effects/EffShowEntityEffect.java b/src/me/TheBukor/SkStuff/effects/EffShowEntityEffect.java old mode 100644 new mode 100755 diff --git a/src/me/TheBukor/SkStuff/expressions/ExprFireProof.java b/src/me/TheBukor/SkStuff/expressions/ExprFireProof.java old mode 100644 new mode 100755 diff --git a/src/me/TheBukor/SkStuff/expressions/ExprNoClip.java b/src/me/TheBukor/SkStuff/expressions/ExprNoClip.java old mode 100644 new mode 100755 diff --git a/src/me/TheBukor/SkStuff/expressions/ExprStepLength.java b/src/me/TheBukor/SkStuff/expressions/ExprStepLength.java old mode 100644 new mode 100755 diff --git a/src/me/TheBukor/SkStuff/pathfinders/PathfinderGoalFollow_v1_13_R2.java b/src/me/TheBukor/SkStuff/pathfinders/PathfinderGoalFollow_v1_13_R2.java old mode 100644 new mode 100755 diff --git a/src/me/TheBukor/SkStuff/pathfinders/PathfinderGoalFollow_v1_14_R1.java b/src/me/TheBukor/SkStuff/pathfinders/PathfinderGoalFollow_v1_14_R1.java old mode 100644 new mode 100755 diff --git a/src/me/TheBukor/SkStuff/pathfinders/PathfinderGoalFollow_v1_15_R1.java b/src/me/TheBukor/SkStuff/pathfinders/PathfinderGoalFollow_v1_15_R1.java old mode 100644 new mode 100755 diff --git a/src/me/TheBukor/SkStuff/pathfinders/PathfinderGoalFollow_v1_16_R2.java b/src/me/TheBukor/SkStuff/pathfinders/PathfinderGoalFollow_v1_16_R2.java deleted file mode 100644 index 7ef4f8e..0000000 --- a/src/me/TheBukor/SkStuff/pathfinders/PathfinderGoalFollow_v1_16_R2.java +++ /dev/null @@ -1,79 +0,0 @@ -package me.TheBukor.SkStuff.pathfinders; - -import net.minecraft.server.v1_16_R2.Entity; -import net.minecraft.server.v1_16_R2.EntityCreature; -import net.minecraft.server.v1_16_R2.EntityLiving; -import net.minecraft.server.v1_16_R2.PathfinderGoal; - -import java.util.List; - -public class PathfinderGoalFollow_v1_16_R2 extends PathfinderGoal { - private final EntityCreature follower; - private EntityLiving followed; - private final Class followedClass; - private final float radius; - private final double speed; - private final boolean isByName; - private final String customName; - - public PathfinderGoalFollow_v1_16_R2(EntityCreature follower, Class followedClass, float radius, double speed, boolean isByName, String customName) { - this.follower = follower; - this.followedClass = followedClass; - this.radius = radius; - this.speed = speed; - this.isByName = isByName; - this.customName = customName; - } - - // a() is shouldExecute() - @SuppressWarnings("unchecked") - @Override - public boolean a() { - if (followed == null) { - List list = follower.world.a((Class) followedClass, follower.getBoundingBox().grow(radius, 4.0D, radius)); - if (list.isEmpty()) { - return false; - } - if (isByName) { - for (Object entity : list) { - if (((EntityLiving) entity).getCustomName().equals(customName)) { - followed = (EntityLiving) entity; - return true; - } - } - } else { - followed = (EntityLiving) list.get(0); - return true; - } - } - return true; - } - - // b() is shouldContinueExecuting() - @Override - public boolean b() { - if (followed.dead) { - followed = null; - return false; - } else if (followed.h(follower) < 9.0D || followed.h(follower) > Math.pow(radius, 2)) { // h() = distanceSquaredFrom() - return false; // if 3 blocks away or not in radius, stop moving. - //Maybe I'll add a teleport feature later. - } else if (isByName) { - if (!followed.getCustomName().equals(customName)) { - followed = null; - return false; - } - } - //return follower.getNavigation().n(); // n() means hasNoPath() - return true; - // n() is now protected void and I'm not sure how to access it, so I'm just returning a boolean, this probably will cause some issues with this pathfinder goal, if you know a better solution, let me know. - Govindas. - } - - // c() is execute() - @Override - public void c () { - follower.getNavigation().a(followed, speed); // a() means moveTo() - } - - - } diff --git a/src/me/TheBukor/SkStuff/pathfinders/PathfinderGoalFollow_v1_16_R3.java b/src/me/TheBukor/SkStuff/pathfinders/PathfinderGoalFollow_v1_16_R3.java old mode 100644 new mode 100755 diff --git a/src/me/TheBukor/SkStuff/util/NMSInterface.java b/src/me/TheBukor/SkStuff/util/NMSInterface.java old mode 100644 new mode 100755 diff --git a/src/me/TheBukor/SkStuff/util/NMS_v1_10_R1.java b/src/me/TheBukor/SkStuff/util/NMS_v1_10_R1.java old mode 100644 new mode 100755 diff --git a/src/me/TheBukor/SkStuff/util/NMS_v1_11_R1.java b/src/me/TheBukor/SkStuff/util/NMS_v1_11_R1.java old mode 100644 new mode 100755 diff --git a/src/me/TheBukor/SkStuff/util/NMS_v1_12_R1.java b/src/me/TheBukor/SkStuff/util/NMS_v1_12_R1.java old mode 100644 new mode 100755 diff --git a/src/me/TheBukor/SkStuff/util/NMS_v1_13_R2.java b/src/me/TheBukor/SkStuff/util/NMS_v1_13_R2.java old mode 100644 new mode 100755 diff --git a/src/me/TheBukor/SkStuff/util/NMS_v1_14_R1.java b/src/me/TheBukor/SkStuff/util/NMS_v1_14_R1.java old mode 100644 new mode 100755 index 0ef09a5..3d1a6b8 --- a/src/me/TheBukor/SkStuff/util/NMS_v1_14_R1.java +++ b/src/me/TheBukor/SkStuff/util/NMS_v1_14_R1.java @@ -47,7 +47,7 @@ public class NMS_v1_14_R1 implements NMSInterface { cField = PathfinderGoalSelector.class.getDeclaredField("c"); cField.setAccessible(true); dField.set(goalSelector, new LinkedHashSet<>()); - cField.set(targetSelector, new EnumMap<>(net.minecraft.server.v1_16_R2.PathfinderGoal.Type.class)); + cField.set(targetSelector, new EnumMap<>(net.minecraft.server.v1_14_R1.PathfinderGoal.Type.class)); Field fField; fField = PathfinderGoalSelector.class.getDeclaredField("f"); diff --git a/src/me/TheBukor/SkStuff/util/NMS_v1_15_R1.java b/src/me/TheBukor/SkStuff/util/NMS_v1_15_R1.java old mode 100644 new mode 100755 diff --git a/src/me/TheBukor/SkStuff/util/NMS_v1_16_R2.java b/src/me/TheBukor/SkStuff/util/NMS_v1_16_R2.java deleted file mode 100644 index 1bc5368..0000000 --- a/src/me/TheBukor/SkStuff/util/NMS_v1_16_R2.java +++ /dev/null @@ -1,79 +0,0 @@ -package me.TheBukor.SkStuff.util; - - -import net.minecraft.server.v1_16_R2.EntityInsentient; -import net.minecraft.server.v1_16_R2.PathfinderGoal; -import net.minecraft.server.v1_16_R2.PathfinderGoalSelector; -import org.bukkit.Bukkit; -import org.bukkit.craftbukkit.v1_16_R2.entity.CraftEntity; -import org.bukkit.entity.Entity; -import org.bukkit.entity.Mob; - -import java.util.LinkedHashSet; - -public class NMS_v1_16_R2 implements NMSInterface { - - @Override - public void clearPathfinderGoals(Entity entity) { - Mob e = (Mob) entity; - Bukkit.getMobGoals().removeAllGoals(e); - - } - - @Override - public void removePathfinderGoal(Object entity, Class goalClass, boolean isTargetSelector) { - if (entity instanceof EntityInsentient) { - ((EntityInsentient) entity).setGoalTarget(null); - if (isTargetSelector) { - ((LinkedHashSet) ReflectionUtils.getField("b", PathfinderGoalSelector.class, ((EntityInsentient) entity).targetSelector)).removeIf(goal -> ReflectionUtils.getField("a", goal.getClass(), goal).getClass() == goalClass); - } else { - ((LinkedHashSet) ReflectionUtils.getField("b", PathfinderGoalSelector.class, ((EntityInsentient) entity).goalSelector)).removeIf(goal -> ReflectionUtils.getField("a", goal.getClass(), goal).getClass() == goalClass); - } - } - } - - @Override - public void addPathfinderGoal(Object entity, int priority, Object goal, boolean isTargetSelector) { - if (entity instanceof EntityInsentient && goal instanceof PathfinderGoal) { - if (isTargetSelector) - ((EntityInsentient) entity).targetSelector.a(priority, (PathfinderGoal) goal); - else - ((EntityInsentient) entity).goalSelector.a(priority, (PathfinderGoal) goal); - } - } - - - @Override - public boolean getNoClip(Entity entity) { - net.minecraft.server.v1_16_R2.Entity nmsEntity = ((CraftEntity) entity).getHandle(); - return nmsEntity.noclip; - } - - @Override - public void setNoClip(Entity entity, boolean noclip) { - net.minecraft.server.v1_16_R2.Entity nmsEntity = ((CraftEntity) entity).getHandle(); - nmsEntity.noclip = noclip; - } - - @Override - public boolean getFireProof(Entity entity) { - net.minecraft.server.v1_16_R2.Entity nmsEntity = ((CraftEntity) entity).getHandle(); - return nmsEntity.isFireProof(); - } - - @Override - public void setFireProof(Entity entity, boolean fireProof) { - net.minecraft.server.v1_16_R2.Entity nmsEntity = ((CraftEntity) entity).getHandle(); - ReflectionUtils.setField("fireProof", nmsEntity.getClass(), nmsEntity, fireProof); - } - public float getEntityStepLength(Entity entity) { - net.minecraft.server.v1_16_R2.Entity nmsEntity = ((CraftEntity) entity).getHandle(); - return nmsEntity.G; - } - - @Override - public void setEntityStepLength(Entity entity, float length) { - net.minecraft.server.v1_16_R2.Entity nmsEntity = ((CraftEntity) entity).getHandle(); - nmsEntity.G = length; - } -} \ No newline at end of file diff --git a/src/me/TheBukor/SkStuff/util/NMS_v1_16_R3.java b/src/me/TheBukor/SkStuff/util/NMS_v1_16_R3.java index b5df025..e0c7ada 100644 --- a/src/me/TheBukor/SkStuff/util/NMS_v1_16_R3.java +++ b/src/me/TheBukor/SkStuff/util/NMS_v1_16_R3.java @@ -13,67 +13,67 @@ import java.util.LinkedHashSet; public class NMS_v1_16_R3 implements NMSInterface { - @Override - public void clearPathfinderGoals(Entity entity) { - Mob e = (Mob) entity; - Bukkit.getMobGoals().removeAllGoals(e); + @Override + public void clearPathfinderGoals(Entity entity) { + Mob e = (Mob) entity; + //Bukkit.getMobGoals().removeAllGoals(e); - } + } - @Override - public void removePathfinderGoal(Object entity, Class goalClass, boolean isTargetSelector) { - if (entity instanceof EntityInsentient) { - ((EntityInsentient) entity).setGoalTarget(null); - if (isTargetSelector) { - ((LinkedHashSet) ReflectionUtils.getField("b", PathfinderGoalSelector.class, ((EntityInsentient) entity).targetSelector)).removeIf(goal -> ReflectionUtils.getField("a", goal.getClass(), goal).getClass() == goalClass); - } else { - ((LinkedHashSet) ReflectionUtils.getField("b", PathfinderGoalSelector.class, ((EntityInsentient) entity).goalSelector)).removeIf(goal -> ReflectionUtils.getField("a", goal.getClass(), goal).getClass() == goalClass); - } - } - } + @Override + public void removePathfinderGoal(Object entity, Class goalClass, boolean isTargetSelector) { + if (entity instanceof EntityInsentient) { + ((EntityInsentient) entity).setGoalTarget(null); + if (isTargetSelector) { + ((LinkedHashSet) ReflectionUtils.getField("b", PathfinderGoalSelector.class, ((EntityInsentient) entity).targetSelector)).removeIf(goal -> ReflectionUtils.getField("a", goal.getClass(), goal).getClass() == goalClass); + } else { + ((LinkedHashSet) ReflectionUtils.getField("b", PathfinderGoalSelector.class, ((EntityInsentient) entity).goalSelector)).removeIf(goal -> ReflectionUtils.getField("a", goal.getClass(), goal).getClass() == goalClass); + } + } + } - @Override - public void addPathfinderGoal(Object entity, int priority, Object goal, boolean isTargetSelector) { - if (entity instanceof EntityInsentient && goal instanceof PathfinderGoal) { - if (isTargetSelector) - ((EntityInsentient) entity).targetSelector.a(priority, (PathfinderGoal) goal); - else - ((EntityInsentient) entity).goalSelector.a(priority, (PathfinderGoal) goal); - } - } + @Override + public void addPathfinderGoal(Object entity, int priority, Object goal, boolean isTargetSelector) { + if (entity instanceof EntityInsentient && goal instanceof PathfinderGoal) { + if (isTargetSelector) + ((EntityInsentient) entity).targetSelector.a(priority, (PathfinderGoal) goal); + else + ((EntityInsentient) entity).goalSelector.a(priority, (PathfinderGoal) goal); + } + } - @Override - public boolean getNoClip(Entity entity) { - net.minecraft.server.v1_16_R3.Entity nmsEntity = ((CraftEntity) entity).getHandle(); - return nmsEntity.noclip; - } + @Override + public boolean getNoClip(Entity entity) { + net.minecraft.server.v1_16_R3.Entity nmsEntity = ((CraftEntity) entity).getHandle(); + return nmsEntity.noclip; + } - @Override - public void setNoClip(Entity entity, boolean noclip) { - net.minecraft.server.v1_16_R3.Entity nmsEntity = ((CraftEntity) entity).getHandle(); - nmsEntity.noclip = noclip; - } + @Override + public void setNoClip(Entity entity, boolean noclip) { + net.minecraft.server.v1_16_R3.Entity nmsEntity = ((CraftEntity) entity).getHandle(); + nmsEntity.noclip = noclip; + } - @Override - public boolean getFireProof(Entity entity) { - net.minecraft.server.v1_16_R3.Entity nmsEntity = ((CraftEntity) entity).getHandle(); - return nmsEntity.isFireProof(); - } + @Override + public boolean getFireProof(Entity entity) { + net.minecraft.server.v1_16_R3.Entity nmsEntity = ((CraftEntity) entity).getHandle(); + return nmsEntity.isFireProof(); + } - @Override - public void setFireProof(Entity entity, boolean fireProof) { - net.minecraft.server.v1_16_R3.Entity nmsEntity = ((CraftEntity) entity).getHandle(); - ReflectionUtils.setField("fireProof", nmsEntity.getClass(), nmsEntity, fireProof); - } - public float getEntityStepLength(Entity entity) { - net.minecraft.server.v1_16_R3.Entity nmsEntity = ((CraftEntity) entity).getHandle(); - return nmsEntity.G; - } + @Override + public void setFireProof(Entity entity, boolean fireProof) { + net.minecraft.server.v1_16_R3.Entity nmsEntity = ((CraftEntity) entity).getHandle(); + ReflectionUtils.setField("fireProof", nmsEntity.getClass(), nmsEntity, fireProof); + } + public float getEntityStepLength(Entity entity) { + net.minecraft.server.v1_16_R3.Entity nmsEntity = ((CraftEntity) entity).getHandle(); + return nmsEntity.G; + } - @Override - public void setEntityStepLength(Entity entity, float length) { - net.minecraft.server.v1_16_R3.Entity nmsEntity = ((CraftEntity) entity).getHandle(); - nmsEntity.G = length; - } + @Override + public void setEntityStepLength(Entity entity, float length) { + net.minecraft.server.v1_16_R3.Entity nmsEntity = ((CraftEntity) entity).getHandle(); + nmsEntity.G = length; + } } \ No newline at end of file diff --git a/src/me/TheBukor/SkStuff/util/NMS_v1_8_R3.java b/src/me/TheBukor/SkStuff/util/NMS_v1_8_R3.java old mode 100644 new mode 100755 diff --git a/src/me/TheBukor/SkStuff/util/NMS_v1_9_R2.java b/src/me/TheBukor/SkStuff/util/NMS_v1_9_R2.java old mode 100644 new mode 100755 diff --git a/src/me/TheBukor/SkStuff/util/ReflectionUtils.java b/src/me/TheBukor/SkStuff/util/ReflectionUtils.java old mode 100644 new mode 100755