From 3d429e7cb99ee6fae4c7313c5d83824a461e5a46 Mon Sep 17 00:00:00 2001 From: Zrips Date: Sun, 20 Jun 2021 13:24:49 +0300 Subject: [PATCH] Initial transition towards CMILib --- libs/CMILib1.0.2.2.jar | Bin 0 -> 743809 bytes .../com/gamingmesh/jobs/CMIGUI/CMIGui.java | 392 --- .../gamingmesh/jobs/CMIGUI/CMIGuiButton.java | 301 -- .../jobs/CMIGUI/GUIButtonCommand.java | 34 - .../gamingmesh/jobs/CMIGUI/GUIListener.java | 160 - .../gamingmesh/jobs/CMIGUI/GUIManager.java | 431 --- .../jobs/CMILib/ActionBarManager.java | 91 - .../gamingmesh/jobs/CMILib/CMIAsyncHead.java | 28 - .../gamingmesh/jobs/CMILib/CMIChatColor.java | 611 ---- .../jobs/CMILib/CMICustomColors.java | 1592 ---------- .../jobs/CMILib/CMIEnchantment.java | 4 +- .../gamingmesh/jobs/CMILib/CMIEntityType.java | 377 --- .../gamingmesh/jobs/CMILib/CMIItemStack.java | 547 ---- .../gamingmesh/jobs/CMILib/CMIMaterial.java | 2771 ----------------- .../jobs/CMILib/CMIMaterialCriteria.java | 7 - .../com/gamingmesh/jobs/CMILib/CMINBT.java | 344 -- .../jobs/CMILib/CMIReflections.java | 406 --- .../gamingmesh/jobs/CMILib/CMISlabType.java | 8 - .../gamingmesh/jobs/CMILib/ConfigReader.java | 465 --- .../gamingmesh/jobs/CMILib/ItemManager.java | 422 --- .../jobs/CMILib/ItemReflection.java | 106 - .../gamingmesh/jobs/CMILib/RawMessage.java | 607 ---- .../jobs/CMILib/RawMessageFragment.java | 67 - .../jobs/CMILib/RawMessageManager.java | 89 - .../jobs/CMILib/RawMessagePartType.java | 5 - .../jobs/CMILib/TitleMessageManager.java | 134 - .../com/gamingmesh/jobs/CMILib/Version.java | 108 - .../com/gamingmesh/jobs/Gui/GuiManager.java | 18 +- .../com/gamingmesh/jobs/ItemBoostManager.java | 26 +- src/main/java/com/gamingmesh/jobs/Jobs.java | 144 +- .../com/gamingmesh/jobs/PlayerManager.java | 31 +- .../com/gamingmesh/jobs/Signs/SignUtil.java | 17 +- .../jobs/actions/BlockActionInfo.java | 3 +- .../jobs/commands/JobsCommands.java | 11 +- .../jobs/commands/list/archive.java | 3 +- .../gamingmesh/jobs/commands/list/area.java | 3 +- .../jobs/commands/list/blockinfo.java | 6 +- .../gamingmesh/jobs/commands/list/bonus.java | 6 +- .../com/gamingmesh/jobs/commands/list/bp.java | 5 +- .../gamingmesh/jobs/commands/list/browse.java | 7 +- .../gamingmesh/jobs/commands/list/demote.java | 3 +- .../jobs/commands/list/edititembonus.java | 19 +- .../jobs/commands/list/editjobs.java | 24 +- .../jobs/commands/list/editquests.java | 19 +- .../jobs/commands/list/entitylist.java | 4 +- .../gamingmesh/jobs/commands/list/gtop.java | 3 +- .../jobs/commands/list/itembonus.java | 10 +- .../jobs/commands/list/iteminfo.java | 7 +- .../gamingmesh/jobs/commands/list/join.java | 3 +- .../jobs/commands/list/placeholders.java | 5 +- .../gamingmesh/jobs/commands/list/quests.java | 3 +- .../gamingmesh/jobs/commands/list/stats.java | 3 +- .../gamingmesh/jobs/commands/list/top.java | 3 +- .../jobs/config/BlockProtectionManager.java | 3 +- .../jobs/config/BossBarManager.java | 3 +- .../gamingmesh/jobs/config/ConfigManager.java | 31 +- .../jobs/config/GeneralConfigManager.java | 16 +- .../jobs/config/LanguageManager.java | 11 +- .../jobs/config/NameTranslatorManager.java | 22 +- .../jobs/config/RestrictedBlockManager.java | 22 +- .../gamingmesh/jobs/config/ShopManager.java | 17 +- .../gamingmesh/jobs/config/TitleManager.java | 13 +- .../gamingmesh/jobs/container/ArmorTypes.java | 2 +- .../com/gamingmesh/jobs/container/Job.java | 5 +- .../gamingmesh/jobs/container/JobInfo.java | 3 +- .../gamingmesh/jobs/container/JobItems.java | 12 +- .../jobs/container/JobLimitedItems.java | 4 +- .../gamingmesh/jobs/container/JobsPlayer.java | 9 +- .../gamingmesh/jobs/container/Schedule.java | 3 +- .../com/gamingmesh/jobs/container/Title.java | 2 +- .../blockOwnerShip/BlockOwnerShip.java | 449 +-- .../container/blockOwnerShip/BlockTypes.java | 46 +- .../com/gamingmesh/jobs/dao/JobsManager.java | 3 +- .../jobs/economy/BufferedEconomy.java | 32 +- .../com/gamingmesh/jobs/i18n/Language.java | 3 +- .../jobs/listeners/JobsListener.java | 17 +- .../jobs/listeners/JobsPaymentListener.java | 138 +- .../jobs/stuff/CMIScoreboardManager.java | 9 +- .../java/com/gamingmesh/jobs/stuff/Debug.java | 30 - .../com/gamingmesh/jobs/stuff/GiveItem.java | 4 +- .../com/gamingmesh/jobs/stuff/PageInfo.java | 98 - .../java/com/gamingmesh/jobs/stuff/Util.java | 23 +- .../{CMILib => stuff}/VersionChecker.java | 2 +- .../jobs/stuff/complement/Complement.java | 2 +- src/main/resources/plugin.yml | 1 + 85 files changed, 742 insertions(+), 10786 deletions(-) create mode 100644 libs/CMILib1.0.2.2.jar delete mode 100644 src/main/java/com/gamingmesh/jobs/CMIGUI/CMIGui.java delete mode 100644 src/main/java/com/gamingmesh/jobs/CMIGUI/CMIGuiButton.java delete mode 100644 src/main/java/com/gamingmesh/jobs/CMIGUI/GUIButtonCommand.java delete mode 100644 src/main/java/com/gamingmesh/jobs/CMIGUI/GUIListener.java delete mode 100644 src/main/java/com/gamingmesh/jobs/CMIGUI/GUIManager.java delete mode 100644 src/main/java/com/gamingmesh/jobs/CMILib/ActionBarManager.java delete mode 100644 src/main/java/com/gamingmesh/jobs/CMILib/CMIAsyncHead.java delete mode 100644 src/main/java/com/gamingmesh/jobs/CMILib/CMIChatColor.java delete mode 100644 src/main/java/com/gamingmesh/jobs/CMILib/CMICustomColors.java delete mode 100644 src/main/java/com/gamingmesh/jobs/CMILib/CMIEntityType.java delete mode 100644 src/main/java/com/gamingmesh/jobs/CMILib/CMIItemStack.java delete mode 100644 src/main/java/com/gamingmesh/jobs/CMILib/CMIMaterial.java delete mode 100644 src/main/java/com/gamingmesh/jobs/CMILib/CMIMaterialCriteria.java delete mode 100644 src/main/java/com/gamingmesh/jobs/CMILib/CMINBT.java delete mode 100644 src/main/java/com/gamingmesh/jobs/CMILib/CMIReflections.java delete mode 100644 src/main/java/com/gamingmesh/jobs/CMILib/CMISlabType.java delete mode 100644 src/main/java/com/gamingmesh/jobs/CMILib/ConfigReader.java delete mode 100644 src/main/java/com/gamingmesh/jobs/CMILib/ItemManager.java delete mode 100644 src/main/java/com/gamingmesh/jobs/CMILib/ItemReflection.java delete mode 100644 src/main/java/com/gamingmesh/jobs/CMILib/RawMessage.java delete mode 100644 src/main/java/com/gamingmesh/jobs/CMILib/RawMessageFragment.java delete mode 100644 src/main/java/com/gamingmesh/jobs/CMILib/RawMessageManager.java delete mode 100644 src/main/java/com/gamingmesh/jobs/CMILib/RawMessagePartType.java delete mode 100644 src/main/java/com/gamingmesh/jobs/CMILib/TitleMessageManager.java delete mode 100644 src/main/java/com/gamingmesh/jobs/CMILib/Version.java delete mode 100644 src/main/java/com/gamingmesh/jobs/stuff/Debug.java delete mode 100644 src/main/java/com/gamingmesh/jobs/stuff/PageInfo.java rename src/main/java/com/gamingmesh/jobs/{CMILib => stuff}/VersionChecker.java (95%) diff --git a/libs/CMILib1.0.2.2.jar b/libs/CMILib1.0.2.2.jar new file mode 100644 index 0000000000000000000000000000000000000000..ff793baafe8e54d0a3fd36ea98b40076510f5490 GIT binary patch literal 743809 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%0AFfCK|U1U9$>oXKp1>G80IQ% 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

|FI}OTHxn8%*lcB`b$jM@rhfwfs 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�n_>teOZtT3Irt})%MN=liw0UUh;HstwB@vBs zML(rw_T!^n>N~GTdd=R4KcY!AmBr&juX#^j?}g>TdS_Ely1}q<>Zx{(G|V1tTHjEg z@o0q5%{sFCE~C;HQXihY5W$Sa+dCSLAA0Z1THnY!n(5}2JH{BbS6%ZP<&_(R>b(-| zDwc%kTE(*S=6{hlCCOF(h*>1DpyUANt_ipy;s*(RE<-}~ovD36E6YThQebioxk6eG z@yEdT{&9t53bhGn;2z3!uZV6?h<=K-i(-696%Dct?jl#)0W|jDUj~(%%T|ks(8bA; zDNRpHW$M0iGVsBN_*K|e?PtwNk6rEap?2}VlwLa$#6PI0e^zMArCp2;uO9S#=Muh@;7_ToO(N-g@u(>xs}%0+~(TSWs`E(SL@Z}xa7!?%5A!v z3)|C1J-v^+n7}v1O^-vML1Ys`ai$ncmoWp{D8cW<-RP zo5-8!m7yXiRzD?vS=*`4`Sm@T2Ja-e*Uu+L4O%1#Dx~A&;WhfnDpUZFq+FcX{oE+{ zC&tv&TkEX(th};WY+G7rlsVEN!`b(=tZD-Y?TJg?2xV0fDk{n?#E@+by%0vFPN!7! zA`$zKC{RirSz@iDhT1dq6Cf{M+l(?tS=7SFPzEviShT22)EbP+A_xdfpAoQT%ipBAFskBTAylGKQ)iBc+eSPKH|Ymnk&zZjMY%B#*cBXK4{8 zTf)3oQ|54miKLqu!SiV&FcLBeyBMba?lnJ1arjVAP3s~N`wD0~*@Vj|9sx7>h4Scw zfE&ZHRGesum=UteobbM%=0NNuY+495JPdz3tSJO*_yS&FYZ zPCY80TzY)h#;UciJ${yriQYsnCyc|WW?g-yvBC0EWv$~R=UojW0gP!YXD2QG=4DLy zS=g2{dm;BRt`M4pO|@O_=sGcNZH=m}x(@^Jj3G=At9O~K$&R_SLFf0l)j~d>u2obK zHry8ri@LTR6JI@5^_9QTGL;zsI!E17OAdVl#Z_8=+MFXg@%7AF!p^&E zg;BXSSxc+_WE$sf!k;wNq&I9Gc!$5@6Flg7ejzb99J0Ya%lrjr!86Dz4Bi?8zu$~QrQ)@}L+Q_pd3ba_mb@1Ib*jEOF zr>oZJ80hJo9h$bWhpMzp7GiMyEd(Lqr1b1cte3hV{>p%|uW}F5T;rVeVD9B)||+V!7j{1H^|0S7J>l*eoZX_ zglO;)ZgD+VlK3F(k*6Exhq^06HME078Uy|i5lkv)+c8 zZJMT=n{L8AlILJwGMGswuM@nIvDh&XzgOinNmA+W{m}T`L@C+o7QR%&U-MPAlyu(W zukww!3Iz8hNws{pR|{ZQluZj%>*(o5k()GGmP2U!#Kao_x89b8r@TEK*cExz!d6;p zR6oClroxH#;wrz2SB-j2MD=j>SUiEtk&QlN;HpW}bOm#HlHYKyy^DPu4+4)iuNZ%{SY^AK@w9}3i2e~!G>rD&fkRW08Kv$ik*3MV`c z70g!9kh6OAw1vI&j)>vJuy>D+g?EG6*&t=Gf%?z6^Q2v$z|>S^$oLS*r%<@mqFRhp zN}t!6Qh?kn#EVL#nI3&qhYExE?dSkMgO=SiN??Y=#k4o14+9{u=zrdwN~ShRELWW=SddRa~OU#E2;!T_-uno za^iM&6X$~h_GKByqo%!V{;kxlz=sk+L)dDKic1z(o}EnnwspY1C7agN%sN*;uyae6 z5z}i7RD+xvo;|pT4Gg|Si0^zVNTP4VR)0(tm_6tuXX<3z~#E-;@LR=xDtdJ3_IOB+s9oz4c=Kx zMWpcJ=t-&pAy#J?(E$t_J6;PKwR{40?s zVxCs*)4QmYcGC~aJGQJ1x;+2h?IK*qDL4#6SgjHf*pCOY$CntxVX{Gp>8lrd4kSg7 z4NE%cYP&w_U_aoJkY(#)i};hZznVYe99PZ|5$LT_xtJ%sBnncu(B}4!x+cIM!w*E~cRF7N8L| z#)uq0K@WirS9PA703&|rV(BJ%_fS(6r932e#g%mFIh`~-8D(r=DI!U{oJnE%;(Lio zhSFALG!)ogsKbijp3Jv``kz}IZ$iP zt!D1tY-CNddy|cQ0!hnq-%8RMftjGLYu-2;|nDyxos2(G5V^8#O zw;#+2ZVXZ<^=Uf%sq`44{eD7oXQ*NlUQb!%8F_N!?~n+Wl;;GMM0K}6t2id6b{pM6 z0Eu&NvX^7$A+ge({Y#aLv70L?`ABu)LA&k%uD5{*mAoqUoL<*Dh34E~a?0yzU)sT) zc$~(D^;Z0wBxof8FCy6M8;uFN2^i%OMF7JvQbNzsD?>eZ#vKydojiY{9_cWN>k(?i zo-~_@$xZ2(Um(KX0tom$i#JB<;e4o|O3x~0#6wgCDN&oUwj1O=b@WceVlcz5o@7OZ zJEqBF4rb`L?%_KRmaB{&913j5;M>?%oEdPpJZh`_3V&eg|n-3 zBN}10X&{1oLe3Y<3-mnV^Kw|EHdI|@5;mC2Q&4ZUMj;4+KwDnEkC}jE>c_MLckUiN zE3Zurn~xA664g)+3YDH!Rw zN>{_B0xG+{P4YoWA_#>sKj(Q=8Pbyrig!3bm;{v*@Al|%D!O9otOe%r_a(WKzgfDO zQjp^f9wBiywK2(aHl87NVO$QO@Kwl9@a)Qi^DOQ%b0C#51=%cRT@6VH z7AC+d=)-Nj-tN!^5P!e?DznYLLeIn;zT%)7kdcecE^6WFPn@0;zREkh%st}{9os#a@mnwYox5gOA6$icfpLjyO5f3J)V%cAJEjEP6s zcf%-&m%Jti2oC4oo&C_Rd|&v<4r7gJ20(@O*<$cM6Olybp>-%!zu^5|re6su4D_Vm z%HA+F)YW7mzPC<0%W%gDXQ3U2d$yu{+A+NxZxb}@DVe*kUA|lVa7)`$icm&sGJSI- zbPol$xfs$3=nzvCe040#Ts#x7o5Zb&WCfeLS7E;rPkaU ze~~38Bpk17bE(>Gm%D!YccOH`8e{hr^O3@-m+SyO6u>~=y~7>tJr)##C!?HRTo38o zRFC$#D z%aTif1(h=AKa$_$@MI0U0PXEvl(MqSCn_~2V#t+^!X8>&}RnTUH#{Zaxv zHVbhPXN##RPf($NZ9A)d0AwVu>iwW8k8~yjFUlL9EDV zr%g*o7hEFTfVDQu2k0B*mFG(wa%6~xwx*kB7wF`1GTmM*Hjj9~i4X;mo?jGE&p>^R zSDd)e5l2JL{;!e6!)37w344?L9_OU6#yN{%(RE7i24zqF(X9JY6+ zpw3<&%He$GHg|i@Y##hNL2F1ep}j$`f|ZVK&{)}oc|J{BGCE!AGwms!;FFH%5xe`f zBZ9>~Ki;jxp_+xHvrI1wW`=dfe9znksT|2dE!rMEWWf!NYJx@~?Gd}K_-vnhwf%b} zSLkV9hCMitlPQyAF1CG#@|?OtIL68rL3&{>tGEd36oI9oD$|mPl=c&)gokwcqe_6} zQe8uhF!3oy`wHs4y?pxsjVLTh26d9;$OMiXTUKFYA7rE|$`pjb@F;6?%&lE+#EN?p zpnjfs;?%Nodd0GC#np*df`Um;^Wbh`U1Bfxn*f%kT^_k1+^TFsYE(%~EDu|n^~=fm z+ORz!N2&iXu-!sO; zm!9sfr1$OY7(Q!I!XC3`1LkmofrLQSV-eRV+d&g)gOdxHyOaR8P+manQl^)tJF>ytuFLgI4f?fJ0r1%NS-w(e?0r;Z*h_rkAVDju_l?0-{>OFiw<(I zhZ#r}rZ_W6kJ!tML*fq@Y~#*0sZn)m3?ol0Ny7Q5J1kK!y=ZaFReZ#ccVzpyDJgOU z(-QoRy5;{aJjTx?-&?BIx#zc;#y za?-Lvtkv+?l-;C)4kY7q5yhmSJ&W=p&pQf`V$bw!X$}Y9jWK|U>#Ro6c${1=*956r z?vw4(_0cf+X64;JJo>n_SsenhKLN{n@^;v7_crBgQoZrV>;*DmzLeQ z>ASn3BLz~Ivc-6PZ|Sy972Zb6Mg4tpqmm3+MG|^RXb}NTop})U8gT} z!2edeJgC&PPf&^P!ABdU|43I}#DQVX&a3=2$I&v^P-kJrf+LZa*MB*{5o>^j9h+l& z)M)$Ak~02#uQBi?JxkSqSv#7{qk{8Gd#-x8ATI^&E|kVRZiF{JvKkq>=F+G+_OUld zYe&$SfIm9MXFJbwJTTch<-d8{Ik~?Xjb}dMlFECF3iW)e{Fp9YGKze=eV8po;-C63 zE+KljP5zvBl-2LfVc{!f^| z|GHO|b~d$jVpOp)H2VLrfEeXn#s6}yV%T1>b^b`_GVwD)mVI)T0^?t=@%ah87^_q=$CxI^#=w8j_sWPl=mh3*7r2`{c&{_7HD$~op~hQ zK~B;4QoFn7cZE7yCA9`$<6;{7rp3izE;Y#zlY>n*R)Z~l;J_p&D|JACuLh^AtaYs1e$t-0$e`-@gmt`=h9p4-lMn=nB8E_iHzgbHh;+DD z5R65#kukE>^QZNzsRP$ZSiB3pnTo}*J;;=G3v{N0K7;x^KS7ZJsV+&DCel& z(7u@!O&Zk|jyJf3em^K+Dy=!lBRU1pHD0@T4uyNGq_3DZZahY(;S8qvXb{s6{}*6* z8k#k}Eu86pijr&ih$A}A@$Yj$KKZ)`FVo=nCBjzf+r)uJ+N)@H|6>{Jv=whCC&1GF zQrq@k-NP&7Q$90UXqLB2aP$;59vu`H-X?mpoQ;suG?a>gSl9(MSOEDX?+d;vAscOm z$t4n-uvkPO{i*-=8l)v5otSqWl`kb(G*c0~2Qezx1!N*2`%ykTYO+XbND?^~Ityy|)5J)Kwj8o4s-*PcN3Y2axQ7cs2 zm4P=kiN<>bz`O8t$#dqo<+KWZj($eZzK~lcu`Sb-Ouy|s`raOU?7V#T{Qh2DOarbO z*i~yoqpOFbY}@59zBf>jrLu7a6OEmx#N;iE#cs~*?2J*643QMRH~dT|h(1$S1bB@a z%Aik0i{}I|SJz>e+Nf(@Jn@>5wTZ{Qw4BvLfcJ1TjxOZ*ZvLvXEtD{J-*W%qx~eOR zh9)v)OB&<*p}F%wi0HzYnVeDT+Ks20;6Q1`&Ks}6@0V?(UY!X#4mk%hXV^2bUT=dk zi~gg!!m?O?$NHC(v?&+HFP^kBG81l@F~b9XbCJnERYbjET1G`&fx35ZOd-RbYzSd& znY`)!i%CZm7-m>SCg?dH#EDX2A z`TB3B1NicOxf*EE>cKzeqVvKbsCg(KJ+(r{rXER||E(xN27?={Ope0`rzb z!J?@p;*B6FiQY$L5)B7xP3AF!#etZR>Bq#3H|juw&-?MAUIk8BwnHSIlpfp3*jg&J zcCFZw@0Lpz>2kTHQbSBKa2s56S2R6+iU+^K3ffrSrq2=k6jogq(BH*Mb@ahHJQ^4C}FuQQF0kvJw*UzjRR)Sc62Q{p-Z{R&A+ zkupQnTCw}t$sKLJ`4M^*V(&6aoI|2bjg!<;<3u2NsW+cPVoC+GT%w!x*y4jU?1vyYmH#=5hG=>!pcm1MN! zEmMa(!K?CdfX4O&wfJxd?X5m+?oOn@)t5+!BM>GGE`G38cMxkAVU{hqMKN!WMA4hS z|C7s;cv$nNY}xj?=`3~TQKUa`yp@98axdz&A(D~0>?1A`Clruc%I-5Z!JKFWKKam3dk99$#UIV$M24^yFRMY zWFen*e$(ZvJ@7iG7DUkbJ@|4Dnjp*Pv8|ikD(Tpf4q?A1N#k3VZ#GdJ3Gw=q@aG{i z!!FpLhbefh<=kjdoM-vUt#^QSDK~&NTR?;V;9Kwk3*U=2Vb@(LyEJ3vVD+Uv2;%V= zJqDxp>qSuY4_{H@ieu1~mS97vs8>7k)o=k?u6GL&RpE zoZY0JDwD*MkHIbz-0_G7{m*EvkX`P47r#@9<8dIS(=fiLjqXr$YJKiVtDf8_oJ=Hj zdlJk2?VqUhbzk7dnIi8i%bB&stwu*D@Nb1QJ6Q`y44F3->RtbniIHfCxA9F-7%N7D zuh$h3YPwXNreYAgf$5LG&{oP>vx@;?d6z#T^Bqr*>P`owR=T`aN1bbSG=#znyptt_ zB2TbME6MtWnC?@iw7^Z3N|i{K+5_iN0=_qIIQ zMg(Fpnv=^sUkpK%!u61mg+~1G1|tOMu%oGuqr2_tK=vl(U>EJF5iASsa879Q48Qva z3h;<9On{W+NLr+bGLdE0+Xcn%uQrfv;8%4A;RKqZ4b0t?X*i8yzs8rM6`2(#mOAmbC!n79%A_gs5OnR;UTViwRVCsp3Z zSAF6N( zL$8c*bH>GDHgbb6BJKPFXL#L z!|Ws-2$nzXpy5mIE7q}X7YC(mQd(7mfG6VVRF&9B2O^tSxP#lj52<9R64Y)cE}b}^ z&&b5z%b_dveDGw^bdD^El^MLn9{9i72OCG^3rVI=;IQz3~t067<*@!2I0WW!XXA#!jss{l@WIG>0Xy&^p(u3xUT^_9VJ5#ru ztoDANpAKMq(5Yxm%+Weq%d7Z}+Ka4{>)BdMjSRc!6TF-3w$`S-6X;TK+nXb~1sZUb zRlW3fkBO5+jOnT849s8$5o!?B#(qbJU~@GjP#FcZ=GuJvyY!Cc!&K^AL8*E3c5Ef`#sX<+dcTZ6yRwz~G zU?qCd5O@J=-c;&7+G{CKtBm&-%X`SWB-MKu(+EJnpKEYW?L$p2KdK-It9$Du!jtom z21QEQ?q5@0S?Pbk^UrF8X=cYj3*HmIDFNE2|?m#TId39@rYC4K0oeBO3I%{yFwy>;dr3 zo8(tq6*#xad<8FeCXh(P+f@l(PxL05;&U=f0VFwJ$+Ijjghd+IqG$wdwcP*{%5m2% zku<-I65KP~682V;cB_QTK|u8Wp+$;iLbAZvNAfbu?2SP0 z&~?;HDPDlHRTW_3njD5h@kn=w$1?|wk`;|Da-LBmM-t0A}BS?{ec&>oS1x>B)0oatJ?d@*+t%-_%;VkbJJrWnh&`6Ma1@;jQcj{Mp4fHu2f zkWXXGXa}8u)#B8^&|f6ju+h^B@)@puO($@Z3S_4x5yCozc^9hrv6OUKj^OOXmgXxQ zhXIG4RxDMsfNq<)Xsr(ZEH<>@6>H}Z_5L6>G}go%Zf#;#)6)vL4e7;57lM64aB|&0 zrW=xI?wOfk=T7!U19$yFGVsT9sx}&RKKS{FYGrgmf%rJ8$rWqji5zhaaIJgl=)R%p zMOZ7gq?Q*B@GfiBLQ%PJ2=Mq(+1KZ{f&~WVW&T#Bh`jZZ?rvFuI+-vPY>2R@&sJ0t z5rGr&me>jF=gg$s#c{*qhAvdhHKSoJG>@C;p4ZZ>s4B@Nl+3w39pr{f(QR}Z^Y?-I#=32)itS*nT&ve{osZd& zhM>`XP2CSSOa3!Ay71yqg@w(2PP?Uh)&xSY7-{RGuK71wcz}niq@Ce#oFI!enu1fpFzP_*v;7J z!fyGf=BElZhUy*E24!DE-Mu6Sv)Ux@+~l3VUDVA~V#DyH9d6iAQ?H6;HJ9pwO%E1& zyFkYFVqrQt*}B4Bv?LNE3T)zb*OL{;&mfAfIB^8f-WVfr)u(dNdKeRRy?!n|S^sQy z%tZUX+X8Pvm<#lWYBWFfKB%bC!%(|RtqhO2F{vN zWeJ&K!PV@bD@N_a>Bw%ji+%a#a6gaLfY&%o7MaQ7B}fP41M%2d+hn-@NlpXBNfH`u zyL>AXvLS}0A`G`*h1}|M;k?8kov`nC zV8?3z3Y1&65+xQ*U$rYX7ut9yYQ0$XU&M843W#Ig1;sSNYuPRFv?LHA7eK0>P4P6+ zhoxR2AkMbO5$rcvAVMtMu}jgNlj-uO^$#jyoYCI9MHcnDf>~wfFb!1||2PoCN6nV~ zI%3~{m>8|zd0}Qbxc6#jX^UPbY3h_^gmKeeOi%OGEqT<#_J*W+tup57d{bwv$?>)} zD09otDtKXbPbv@`-A$VdCRF;uxOHEhqmky3qLB)gT@dJsro01RSc1n_Jcuf8LoB^V z>k;Eidd?eR-MX)mtu1=OYtAh##wADJR0q&@(V(RmD<5Nrp=+z-2Sh@N(`23E3l9_+T^%z-s4!A6vKx=jFG|?Or;M zOzt@8asnc9?yNMWE>iDs0(x(Oyd3=r$r?xB2!?E@25Ii}FxN(Rd?LjstUU2M%?>ma9D1qtqjm;sV39}5LnbW%+q`tX+io4HBeQE|$So_39?5E5u{5q< zwT1LHwXNq3Op86?`fl!@dXWoCy{nzUZi}x5oeR$rxsJT$U)4!_ncGdz9|*mrl(QY=S5>;>HJ<_2g-(@wZ;0RRB}Q$}yA~=Q z1pkJZNAYLEzlw@Grb>9UKT82otfyVDTo*59C%=nt*k6b9t(`)Dcd{N1z?MxWnT_ac z+N6TsbhoH2Jdd4w2LM#=9wqeREb)XuC|`YG;-pBlP58x4%i`_*`t^^cS;a_l3l@F1 zXh%~hb%bNT(7yy2B}>giSR2!oSRZ}@YOJPYj=q)Evr5G;3CB-&@7%PS`7rMgKPro_ z{Qe8C$X^+Gko(auq$2;{ExM59lJZYO@_(NHHErYntbYINL&e$9_@w%5)2Y&&A!+kV0)5YwPT z6D*XWNYto)Q_J+`hMuarn$meSZN;5e=5iF9)#uH>X$AmEv8|)M115XB4o+0+vhBmt zJM!43zdt&ZG%SC$ZLVkQ?jXJvJ3hUyeWQ6v>$cA75w)%5{oA&0ZEXoYaU%;DdD9=T z{`I}*PHatjQ0p@br&W)vt}lgPcelp4eg}Kq(UWOCzvj;MAf_RRKP$T@ww5MH($hWi zTLtE1tDIhySgu*C+rdor4Yw)~=FGvtX4c{oCAHP{Qny+rS&2vcjc>df&MglV?cM#U zKfaVjJCoJrjzWy~;Y>3KtD6lW{cjsQQFO|WQ?Kni7`1)`19#bFQb#o=7N$KAiYQzL zO~6`A5d8^Boh-;$J-`k~jMYVOQh_Fx@@#!`)#DJwXY+WV%7*bx4{%b8)gYh{gGiS0 z%tZL1GS(Hq*zp-)!%TzVi`W-^!E6Q;Q%2D^{8KH70y9Xsq7Z7HI(*Cc(=NF!=ys{( z`(3p=+f578sIS{s&i^<)wc042K$jHuuCg^-B6I?D$eZ9r+=6~ygKYb{|mpdprkF5R;6>V^MEWR#UV z6av#4q7NRI!=@MlPL?hT*deMyl8{h5%9fho6?RnNbB+3Vw9-f}>1atvOL6u>dH5Up z%%oWyJ+n~YEBk>I0pcm9S|-Kw{xN-I^2f+oLt}Fkpd5ox7-`S(ZQ(fVxJ+=NlmUne zPQtVU>0j+ueIypfrm&ceXD5Ld>s3SSR+$ahWk|j`c75t+22m%r_qAv{M8%Q?94c+h zQiggHQxPvMwRdlsOPAW*^V|^Gu;vYK8ZdP(1=AdzUDqYH(>)v+u06n*eIYi4xajgt zKG|EfRa)Alp04%4f+3CI3ndW0DR3y$p|P+(Gotn8Tg87*+E_)Kye&g~{4TR#+fbF! z1XKfS3}i?H__GfKano6p3?{m=;LZXYGcs_uuR-!B4&7wGT|s?;Ijyshu2#chCaTN` z7+_{-k%3xq0JvKMPotp6wxn;v|L#Z7cabArrx=vRe z_5LLThjtP3J8gRe!3o`F>WrGi^1fvK3a=^YX$xR&dDMoRT+jr;`ke+E>D|n&oCd9c zp|ZtVnWm&YVyLz~LxBKW-_l*u5lh5IPV<0mvT>;ho8DD_$vq`olVVgubu?q7_5}o) zQDLLso7@8tbM-|1zwg{N?~3;u`Z{oNWIjKXSNC7)UU)XPx(07;X)6AOw@ zV6^rY#V~WRqfBh=2#IutW|BYta7M6m14S9Qu!>un6Mz+At=FiMIa_HS_nzNP{S^s4 zSfIfMKe#U2&za)h=3g7{jTCACthR9xX3NITUhn(AP(F~qjsnxx=3lgn2q8YO^*HE- zU|D-ha+L_Nr?<`}Bm6(2fNKY=p+r5@V$4NRClMrv)ow62H;oXs3+WN3tS!zG%5@#6;>$uKYL=QejXj&9HdGvM3?ydb(j zU8L`TKeoXM8@ey#@${2w<-1dCo!^(UfWJWr>*d}zx9G3sWhyBokIjjYgIr=+^fDK$dY z^%JA1e}tUna!wDa^|!L!+kJp?7VyKLVpNdpVA4 zaKDK&RjXpj3|_w)VWPw`S>rrqo?>Mpgw^!*$ZMI=mNtb98)tN@Ka=kl!^Eg(MZ^W{ zH!;!nF;S+%W}9S3F2ZLMv*6FVnv|C=hGf$!hVM5uxV8k0j%|SHS&s;WlMg%^!l<#g zZ%2v_to4iZ^AH1-bRdIs=PEsYC!<157G6L41*R8XrE=Hniuo1<9Jfj7+&D&o>`x^= zQXU%pK1j4ulUef*kS*~?DFwP@5`d6RhZ@$j-DANTSSk0^a^WsT9mBpEJy3|OU+F_X zP#Ds(&>(q>;J;6P`K6uVUs>XRYe zdHzQeg4<$4%ka)f3<|z{q;gXP7#VgYB8?ce0&AT-%HGh3L55K1${nIBU?V^WNkUAK zg0^_hU*{eU(-A2P-#BEpkM*8z`W8GVF#=PHm~7=C|LO&G#_JvrA0m`Ge2S()F_iPJ z6e2h5v~djJ+=sVt{#*_^>h=jjz_fx|&^y-`C3dFUJSnT8mbMyBq-(TSg0eW|6>NSj z?ar;YKaeL*%kVZj3u0$Xtglq>?eRA7RKm_asos8viO2VJ z{muqc0p{PjXUovV&R1=xc6ieC0FTSX20bx+ow%tHtkfE}jwkxT(#3^lYJ{>A;1&V5 z8xx;}3cC~;xs@{BhVO>sj<_>f4m^r&ihu2^-H8T~7$@W(K;ml9Kb{D^{ zacTX)F$U~w--rDgeMc-O7x;pl>XN98uM=f{?|~^W+G3R74)P4HHl;&E_K%b_lu>#E zxm!vn+7AN~5R#s*0rvshQ$g#Q8o|u~vGHu*wYJc0w}<=sr)3&;sxmn;JHSSzs)a2< z`a=VBH?)9GdP6Aus@Hh0^OXP+qM^KVyXaUdO@LI+F1mY~N@Gk<=tB#K z^dyQFT=(=21+=eGTeSi0o#e+xpWh)T&!Rf`kO6#AUSzE;!QnH#@9n_tzaGVgX^y+P zt?0I??xD_agFV4INaE7oEIi(Yt9B^(EeKJuF-ByFyIDvy^Iu(OMv1N6-j%zH3wxIF zH()_1(>JI(xSLxG^5e+|B&1UtDfZPbO)%T=GATrkzi1&fe4EcBIS^LJ+I6S`%n82d zkb)M5dt$P0oK@nl(p zA&lX0Xm@xsK2I|rGM}O*WidM}yxk#C4702`-PqX6RZ~Xh!Gb7c3}~^(8WweicCIm% z1*E7OoDgvF+UWt7<#Z=)9kD4fhkeYS*6G{{nE9gE z!ghda_Thb8tr}T5!D*H=3+7J-j?YH!M3;GHI(r}cf+?@+H)TMe2u!tx8q z{PZkm?vt(PkI+eFfvFu9(ytqOf7bG4DvTC83Z_@-0&ZTz=l--_ry_!L5jZV1bCMoC z4gLY(OmuX(juSx?hAcG}Kd4YH?~<)aQ{pr!n{q648idrqJp#&RmL(&;d#liIi<=>G z#3(N>#|%vUT%*0j+NA(39iQ2Gqqg&Iu18OjzX#K!ijFaS3^dJu@v~c?s7i@bX*=*) z&C|m8&I7b?X&Dfei-4D#lw<;|2Ww2GDp7>pl7zF$rOi3azWu4fZvGVJ(`7XM24;DG zl36cV&Re$)5u+%4G@X}7k5m&8Vh>|&xj+8&ea;_PwE?3{G09E%+onbW~&tb$ohvj-J zfju|E)E(LxhEQE)fa8f`5T=SHhKnv!YuqiFgzMOw?)Y;q26w{bfW9Uev zm-c%BtuUQi{_Es}SHsL4u#PgRYN}OQ5=UamstjldJ{04nD zHAeIXdI@{gg`OIv3Yu~W5Isq>WjqN2fjHLoEiyL3EcHJ|b~r zEXeCmo72Kk?wyE;BOWd&97Nak!fi#IzdG&N(#uUSdM)8w{HAllJVOt~(ORUCse07Y z7hYS10!QOyB4{};^S9)x-;@J$7H)!2i$%_eau;m6-_IPuFg=Z=m5=o)86g{te>=eT zj-~(dMJp7hoy{`*LzVPZT2Sn6RuH5QFT`b(H5;Hoh6QOD)`#;<(Nihc^oSD6ho@cy%a;O751$|X^_lv^uEzDVy zf*>IR-A7T5XvQo-cUEp^NO;Sv_qAYf+#25jS?WbPfQYGm3bjI#Om`l{$!0a;$tW(% zl9iOk7NSmLiaN}YOSyQ1VE4$<@~^!d08T{n`usPG%k@Q!3a&b%<&U*g`tU8SRVfF3 z<=T>`v-sr1Oh-ec7Wy<_Pn)y4=_zwdJL~6-8f(^yoPL9Y?Ibk5%QS7NxAmJL_vUcICBVa@It@@`fFm^~K@oa7&4EZHux!^D&7JDcU*VVhUvU4f6X zTH@bdd#U#@oG$1{PWLi)e@78jVUlK1@r&TQ7MMjefK0w4Q)yaTP3v_`yzSVaCbPD3 zXsQU~^X$1saATQc>yt96dN_5N5*SbdA%(~&C9DNFKn7BAuYoXpU3xb z`75jQ>bF`)DUQzuUL36ALJnY>^8=phD@S(rY2l;_+x7$QdqSW`|6-4fZN6LrKGJ^f zGY`6iJTgM_7iOcoa6Xkb#oTfxDgMQ&QvEX_BEH&@<+jv@@$Q$*yqG&Bl;Oh~*l08cGAD$~t)isgF4+1F26si2y02n!5t6 zOtNwUJw2HGzy=;7uYuXsy2ww1Ti+G&ijKBnIAb? znSnluwR!yE1yU7=V-cXed9FRZh&=~%y|oaX0k#CHm&9D=>lvJV(&_uJ?KliUqNtSu z#xfGE9Oxhz=0$5OTqCCv9U(N=;K2VO!7Fc1=Etla?b*)I0g9PR8a{hKc4a*_)q47K%KNhLzzZYWcA}rp$-z+%$k!2ei2K%Q%e-DHXw3jL!6uMPVOscY z=Cc%|Dutpd0q(LZh)Ie7xUEb!-|;=su8j|jS8aV#zDg}it1QdLD;jQ>G>5nL=h_dg;>b-bT2K&AynbndfX?v!sMy zRQ5eaS59GhL!CTwTNQw`0KOY!Fjhna)LI3jRWTl!q=Q~tlA1d)7Hf)OI;g1GJiE_* z%0fS*5gxOcrGuhe;SFOB>|Mv3d@QKo5P=}t0(BAC{&ak5(DE$t zrT2<2lExEAblN1ngnm_3V*=Yf9lB-!Ti<`@BYFm(RLzVn{mSIxpx{KG2o} znj^PW-Uy^SpYu8t6Z9_fSM0l9oJ5gMI&>=wO)E34eQN>Bj)*DWhdiD%;Lv3K72o?iM|BrWuS8iPoCO9^0UXYK6oN@L}@}{Yq;0#QQ8eaR-d%p$B#$8 z1&g}x>q?HeMpiK5Bj7^~tsHx795z6W&AZqZr z3NPM7mU}mhAho1ROxFy)HQo6+B2i4lA&keCpxozxHNuK;e@sWQ^@bRwJ^RQ~@Q+WW zCWvhlHk()jlOXU&azBgRYj5*HM84@3N*x{TCWMeAqEwtZ4jFW9(0-fl)Jv<0U_bs+ z>G|P3-9D~<>(;#Yohu9z5^cl7(=96eF&+(BMe83sGAj`#KAk6m>|a$xp7v9&Wzl;{ zv=H4pG@=o$TplXuBwIEDOM+6G-aZ~t-=A2vvR@Bwazmw9|Ae3G!?1Q1r#{SWqVsGL zJfo#A3gScW`NHVr)DU^(m85|9;83xZMo>gNCpIS64v>7)d{)IT%EuFl2p?XIKnAkg z@R?X>?HF+iAKy>8U>mbB{EGdc23m66AdZ$E>F^kthV@O5ze%mPWbtM`BS=frxN_Yy zd>&~5EFa=Io)B4DBQpm}Jj3WmE~8o5IIxe)Z}@P7eQ=={s>ySO?F#pBPjpdUMSU3q z2@pxYGwMs_I6C4%PYvZtg&A`56nDvMgt$N82BJ7K} zbHjB|*Ba6aIRtbyBv#&0Ju3_$vFsyc_jygFVW9qGqr}F1EX`jOqtZvD7b|>_C?=pX zE>NIR(t7Mk-00DnTyFuR!Zri#Emd>{c5Bj2XKZn42OC)eomSDXk?%L_J$ynFKB}C2 znbWQ2IZ51OkM`+r9C;FQ5k}G9G4FU*eIFEIl)J9?(M`YxsXTi)_oR;Tipc~l* zNAIaIH87N^LPOA)!q+%-9Y(1yDgWgx9(ff#Wz5IRB z{BmaU+_Bfn;Vn`0HgT-=@?jz+io}}*o^+cD2s5NiTGpdTEeDD|kSKaSrrgO%?uBEU zVE9@kW5%57+tu1>V1PG-W0@IP19_<>wWE=G3o6Gf16X3zK4vb5ga<75!e*ryY{=Mn zK8aK6^$C@B0A$+{J<1mV_X8RE4&QWxw4HkgVPsjG;ecFxIu`290c~jC0(bY2o;pUO zy!V4QK82$&Um9(unXRTBW|a-!a8}J3x!8#`Vdf@`Dm0>LRK&9x`?|PM2!3W#aa8TR zjl!SOp#ld+LoGezEqe~V4~ecRhh&>ayo2Vq0aI{V*BeUGTJn;?wm7<>2uKk$6Cui)P)VI7OakvRiCcx5 z>beEGngZ*-Sp|+X0jjXHYb{SiXm31t10D+?0p9lyxM0#gq&1d zjQ-WYHoL%!Rl?LFHY(JScMgeUU7JM2w$;9by^x=t*ROVbx>X0$IA0uX3|I}Uzjyv! z0p(7zy7g%ZgDITh0-tZiU{djSw!zXoENKp{bP)$#k4&PiNq-vJ7?oG8scjNzltjA2 z(>n0z;r3m&QkOS(bhK5%DsZ4qfVOoj-?}vxgJrzM9pGETES&H>@8#gZUjYDY`7=~@ zVYsnCUlT2C`UiL2?u3vk&sva%#CdZYPhSk_1&HbCX)WpxTVeTSiQ-i25}U*x!bTS= zlbZ}DJy9wZ&farqwY)@OB?i#2`si>YRs>oIqV*UfdoW{WUVKs4zo}~iL)vgQ0PxuX z*84_$(7pksebsFUt_PlLL8SvpXQ63zvD@mPAGrKnc-?JSoQCvvBT02X#-yw*1&Fgl z>U@NXgS2ng6gH!q4zMf(uUvM+rFE!z{j7H$xlb^;A+?9=ugJN$Fg|xqDo3;aMR%)o z&tvK8hjt(EtqKQJ`@}OR(0PV_WfCbOe30193k(w)VIg0O0>_*@AuZp*y(|U4rJRt21TQ>tbJt5Sn2%?#= zt-hsA-o(k)5KcjGgxhcHUL6sbv8`1n~`} z%5Rjd;65)Zx<*GJug*ZEKN9^h1gsjLfjvH3YQ3cpRwwa|d|qPV zWz~`*-0vlDQTeBn*tE`jc51_iIXmx5hV*#C8lCgE{m5oE{mM{_MQ;S2Z;J9ux^1Yv zcSzz{E66)ih3r*c1n?Vra_^q z*-9TI^?AQvy~ziqza)uFVB2WRI+1mwaDQQkcWM>zNKSE*zUQw*-Y~SKrU=EP6}vzn zCCsY^x?Y&wz-`?^vNsu}wejD%gj3+H8d{e7&sM2QioYZjS7Nwl=t>h8CkBG*+UD@G zYjK?p8V;5W5;BYRK#tA=>pv6}d?`vj>3 z(1-K&F|b-*m}QsIG2Y9 zXBi51->JjO{&yl!ay{CnW!x^-LSs#vX>GuAPX=&*e3yikM> z{_N47zbqf1xSi&PgaVN7_v9l7idWbA0YR^rJD)Bbp7sNnuNdB8_J>j!7c$;q^&Yqy zhwoRjf(BgzCRID;T>=A=cg9?4}2P7JR<4;II7j zql2nJk`}OELOSalE+`A@Xo{E#Q8lGtC4V``pJ@59R6XtBRovv&qPsb2Dh*MO9VdaO z0U*c7r{dWcQ~4lv!^~OPs!}TMJD7m*NB~G{Pmm9rnhX^e${%BhuxEvVlS^YhRE$^0Sl!`E4ZmeM2})H`AG z(52ZULay|HalFPIugWvzP3`2WdMU~TalC{~m*&)oZ8nv2k$U$xN()!aBPu_|#!5}U z6Cyt0M=tNVYf!e@%%^iMFlt5qPp}k+Aru%oSLrI!CtF`CPy@nE`C}R&8TP?+JMAu5 zQI8W6gvbCmfD#PZ0+Cb^87W!C)P~Fus8~g_ z-BoPD-mmP8YZ59US`t2@SWcDJ0ZgqS^_RPFr~ zZo623DMeP|D6@Vno{i9cF4!Ok42VOlAoq}dDO?Bw)FAv1hLXkd1gyDGAP?{$kyIXs z<&Hlt=>HF2?-blw_^xSp&>h>hZQHhO+wR!5ZQJ_Aww-irJNdHr|EsB)T{UyEPS!en z>seLrbKTeNwRz)MU16#SVZ@xuz==9M&z&azvmi@emuys`nJm#vlPPvttfHS_W5AjK zkUp}PdSHxJu!sckP^>9Ic^eaU&qDjnTThym?najB%eT{fNi@QXGa>L>7CwCuyb%$o zLjSsTUSH=MoE8sL0paJSQWh?5{N2D5OhDF%-dimreiJ}$%&{6dFV~?TN8VJ_%?CFt zcZnh1Q?#sF-keEWrl|2(7|huMjhm+0_DzE&)Z`s^=z_)T1QX#Gnbe_e2P;1tXqlBt z3RBDu)D#;H#+GyApba(xvb}XdjbO)Vs?`zkRc`Wb+Tl77Rs$lF_K?$l}bSs^%1cN2~N;mRgoZyg5x)XCtv!@j8?p=02;lVf==0teJw-@ zy=?ckU7#j8e{vI(eCZ!ebi55_HR}b$#U>pPX{xxQD(n>d2ZShvoX}J1--d)%`ta3% z4Vn^~y-<+rI5K6dcGWo{#x*ul>sVEka54`(*^@Ez{F}SeG54(3!BZ2_Z1ZI5vRMbR zt9)YXG;%`|Xy$@scNw04y^v*%VL92UbRod1+4F~yYR>f>fd4msnd%)ho} z(e^bv6V#MO+7synlr9v%D0M*76-?Yxb^zPuQ#p|71V1k&~ zuu=B!;J50(v{1bKsLS7?9U%_eqHz@;UzGM3Jku_71}Qqp|Bf)S*#3>QfOBa)bO&A5 z{}Ver(0CE@3H;`qA9(XARGkpRJ z_AJ830077IA@UgA{j)P*%nSpGCk<$n`K;fbDoIg`NE(BY(*CLeZb48tf_907!9%?6QANIU{UAc#D?1s%MknY~5O=|oi+YcQe25cAh@@O` zXL%!d@%1r#I3+o%zu77Tyai3+3}xnIMXPg@+WkL1G_W@b(HP1iT4!@6^=Gf z%A-Roy^7x8BY(l`Ru~7dLHNfGzt>iOls7u5@Mixk?o;!Y&t^aRSs`YTS$$tZ_%ZUN zU&ix>N$mW+HMCyUMG0R`I#R1&$^wHO*gxZ;XxbXelM=NgjcIE6?I7LjfPdaG3_FM$ zXMJ-R(;Hs8Q?YHXMoSXAh0#SLyW}aW5)bU1PaxI_PXZJ?7M-qCjcxJ)PN%hJb%h)c zcy^tx3r2RCLvbE`^}Z#rLkgDFlu(|{ zc_o{gPSP4?(r`?tdaGMn;_*u2)fha#@Ok|}fN#|NdUg8WiFiP7YKO4w#wtSdQ&>Iv z23HC4Ynr>8h*e(Nc9l~)n7Wx%_tJ|?g-Q_@y^;xIMv4WtX0Mcf6-d{?fv!8gT4bx(t*H6 zIj}Eadg!4rfI@{zw2Gs+3X%=JzOO6%W6ne>1QWMj_oFj+ZQRj%nMM4dM&9{D)gN+? z(w?8O?|DHutWi^ea!7fH7g8Xu zb_>!Ok;AJk64C*Vs7@rK-U8>_dE5NgNEwtJtWzMgFc!}D2gXc$Gr~5Kv1gi+BTNXy z!{HnjG3KLgX`yq*5#t~w|08<=HdrJMFQFh{%;iXk$S?pJk7xf+G>0l#4YnbBf_@KN zTZdXM$**{hZ7@JQObFf3(+_?@(f|SWkE680G%}6|J)JDur(4lF);p5@FZG6 zMs9;2-bV@>3lT|3Qc3a!xgzOEUT-`cvRqIEzx~o5K+xLU*q5MBlQFh4KCN`2fAkQ)DWfW?wT%gAyhL;`16RMX<=`7oT z62YsWJA2-Yr(lzcTbG7)4F-}jwrmhjlh_RLFHh7roAC-h1Wi3(ZI=Y|_aUwk1siF7 zd;56baGm-ur)w0|G03iAO@TcpX`>Ck`WK&w5>|#@?u?y5Paxji;veRr$Yq$2GOL=& zlzI>sqW)F>bvHU)u*-tr=gDdYbz2f#g;4T}Mj%UI9LccZ_urP1!F%@IF`!?++;SaXd&{7}EVO>Q_eSKL;at@xR*;z;3>6 z#97xiiKX0a>rq6YPKEN|%w>w2#BGTGvhc$+FUzO{1RJp2*zoa2?D96yE*I+$uy$VZ zv1i&Z)Gzc6LO!0|oMxt`wi{p1uhnXSHUa)2PQV8-D9Ekco#$w1YLqIS3RR%0Vg@D( zLb?2|Gu-r%HVYOgsad*W_@`RSZ#BobklIx}m0iT}&mar;zu!Ju*78#5pn7eCG z;^1^zY4Y5(N8qSuESt@#<&DCHCN4T)X$(AZXeIyTtnt*uUaQM4Ac~h;rvvGjb>tkr z^UR#JBp-bF*2t?1Q&-G?Zs~gM++kkH0W&NdMLTcd*R{L~Wr1XxmZqw*sgkl? ztFWb50;lF=J$@z}nr^sW=;x?rWo#F1(RFO7B0AszBO&7L3cV#cGMl(pyd9Y?1JAf> z7LPxeMjZJPBZv_~L^F`&GbBV&AxelwIOq@#&0;hn{+N~8Na9V!hsh8V;tjk>;|+{4 za;1zhIEDj+V+`m~NuWjf4*Z4rh-QAEU<{C`iost-arLAOqv(d-L=1!Irq<%nOrq#J zl2P=c7;?m-7)DXoB*SsLm3YL{2Lb#wmR!r0wF`A!E{$^~iIZwuC2QNvJek#hTn6d; zs~fD8oJe3NU1tg+!^=;ZWTi)FpO{yHhr<)u3y#jkF9JF7O+0fv7M(lAfP)i{o0nG` zGX%;V$K`|Nbd@^QHxSw!#u?;tn`_ZK5OF@p?ca@G4L2S>=Pk}ZpX-Zs7p-h(tTf@Q zdn`IMpE>0Uu9X|LVlZY02BsZQLkqFP9ht`&WDmGo;V+wFpIBm^&3Dj%ZpqTW24{K& z7VlFH>2AK9q$#~OOYJobIBVqP+cM+ zl8>U3=5>m_LTa4#PN9gZn~ENa36gOseN2p#Qj%4ps^%-^S43q`;}xgqla`ZNqkW4< zBwdJVn~EQ@8S)+$(Lb`Wp%^qOpM%@9D@TNoEgyx$teQJe4NFwzLfSMcv6z{~1dQCs z&FiG&Astc$;T&=aaSX!+L)^vVA?l^$Vd^F0p>D$f;PtX|c>4?@yo0Di{9&cd$L>#5 z+4CG}4;4zl4)LYKR%HrbrFaVmL_^fkPEwY^R0njk-b!hC5MdET9m{o7-2yn424s}E zg}g_1d+;-76ZL>|&-Cj7$qRr~Q_a`ivgQ5`P0FdAU@jZqn^jANVBl!QQoo6~@LpWHWwMLC zzB)RTC63(8BPJ$5hj$4i7mE{zl?I^5{|uIfx;2^V$#+_@fA3f6` z6ef5Ogsxg$QUA3qT+(D^MVT{OiZZB<4bWqiqh~e^ZSNn^ps40)m}$h=g$+f;g|_7- zWMTSNFHX%(T~Mz>c*3_zXoBkc#^u8YWsX4F-i=d%(Hi9>&H!7vF+sDu=J7RI{bf$K z$Q6u>n@;$OP{GNHhgU60Os?f>Con0(rtuKk%6r*t@=0q#TkDG|bJ4OWu~xk*NV{2) zc~Y6B%~g#{Ya(AX7`ay36E`od1X3#-7mmzhj!eyPM_=ee(%jbafonI9K$81{Dc|2U zl8DT>W(*xJUTpAHGdtx!7u1}Y%M>-#jTzjwwOs62{c(DANzR-zD;M*-=s}YN^BeeR zcf_j%nN7@6`5Hib>JXUfZ7iCC5!;wl1Sr(tr^&Xpl^uoEbBDEVte)aeRg!v%3yq5s z5&6FE_R7A3N>u8WARzxN?6Cp2W2b;WiTJVYqp5MQ7@HY{{h+3ZbgO5u_|lS1RtzJ7 zO-7DvNE|_%9|3L4HksF!&z%|OnPbqE2SA^C&~v&QdoUdv+EQCUY!((VE9X$0fwsA+ zpzNd}wtPrIMfI1IC6zJ5GjPoMg(Jt-rbz4(fH7;}64Ka-(^h{FQw#Z&)x$yf1bfQ3 z@^m(K9voUkBS+uv zSb*JxwV;uok$j#_!}ih_u#Uo5MTYvza1d<3LAc4H>R4yKxjfY5aX;`FC4gk~7H=}%1yKN9e2 z-)|bsDhzl@XMTw4T~bS5wa$?>;l-ol5%|oNvxk-TWw*92nVJUS0|zxdvC7y3mkna~ z^qr)<+WFSG!`x%&HuV@+h;xrk#D`OHYd#=|{xXwE{E1ze9ee{KJI||K8MO!NS%^#) z_SgcgESflbUb}`h9R0xN{$Tt1KWK9?B=#nVwEj{O#YLN%E0}OYnhj}njRXUvGH?PH zp-@Q{_85S)J)aJkmcH0kAv=-LiC8PP3pqbvHB0;7?OS`ON%kn()s2;1gdBIIy-qT# z^rrvtXu1a1II*-rRxIpkP8%Wf@5vr~0CfwTz}A=R!ddh>9@U&qJb2WywmU}EE6BsTx_fsS0; zc&4mTY1>2q)pdzcTI~&(jNb=F(ONUb`{%o8_FQ&zINpe%(`eMqeYK-~IMD8?L7jWJ z4Gd;pofA@Kt?anNaryMQCRNF_S#(fbRpjL`PxUyMhu+_#p7Ac>6doV$!7TS90$7=| zo`e}wce6rIIw;Z;aZ4U ztbn8Nb;JOBq=EABetFR%MtPVokz1Z}W#K?MqIQR>CQNTxjcbLj2waVHQa}~xl?OWR zn-3M%q93vMZ@mRq1c{&qJXu=OPRG7h#GXJlaf2n6r9~(^MZZeL{_z5aWXk1bZ{IocsD2dP*WVU&{d2p-vh7+Zw1W%gax>$JK z?st=@G;3%Y=^hkw{MW8n)u42^hB!$i^a*KUS$xUnxc4xQjYh*gX#f|kgibahTOF}k zWSFa|4>5qlp$uBcST=8Aqbcrezo>Qbq?pLMf9`^Y5F&gaz-Ww$AE2zV{~I++8uVVxhBi$zt@kVd7z6lZkG) zi25Y#^vd$p5u|HcA2)Jm6dHLvJ4`wE+~{4VvOfb4L#YtC%Bi@p1!qp#UKD#(hyd~Q zKXqg6gC|y|hcQICy??8V`_C>-T5&Wc*u@L&?vxu37lmewbHaVWrBYdePT}f#TL-We zNPNmLR0qVj;_2+D8@ou___xqS$eZ(54`AB=WRd=fpg>C}FIBgN1-glJ5e^5a2)nkx zSlv*=pds-IO;%)Cp5<*6zg29NBMMa=hMAJ+ak62P%F6uc&r8*YspUPM2x(Og)qhi2 zwGX0fw#sYHjz3eQYL^3SxXhBosNG>h)pBR-`kl&$&_q$KjSp+iZ`?jRgB3_kFeWh3qsMv%eAySjdfqoURhY0 zxn=)cD;-2q9aoXp>U7t6PkUoY1C%sq8S8&dm^`(0(e$fAxx$CmOf!|TP}^lMcYR39 zDUk)*B(*_M$Ta;9koBXlo5Zn}sat}%_-2*j#-p1RB7Fx}aT;8UFMJW`f$qpfajqYf ziaVo|fQ*=%4*DP#x9*=H){Wttm$FcSZD)t#DxSU(5i`cpcquiP( z&SJIfKAKDW#Ll&bgmMU1!o)ufG;2c9hT=zhOWKuQ6&s*3B}!M1NWj9$$3SZLfVxS0 zd;9{WXoIiXoQMRv?4Lnno;Q!{Cf-G&xjv(2op97VB2{stxqx z)3pg*shs~nhBl}TQD&Bv6h%RN-sg2BD+=;7)6XW9B?(+vLAZ&V;jsG4a*D@pUihMd zYWHaHI0Hpq>8HL=bTLQWvDEp|b=;d=Ha>&whEGY@IXgna+fTdLl2_2s;Qe)0!4bJO z^(nhAaG0WLIL{4}D~g`$E>&i`2P4s6dZQ8kqXFQAW7f`}tPHU8z<%+9J@G?VJ|~Oc z94ac#en}Wiy+x@=Q_h+9W6-c~I)E2Cbmk_$Rp~L8iqvfiwp-PH!90eqZCrvQQAeQj z&~NUhxTX1Eau6|m4%InqPk@=LD&+l$9CTy1&B)+Zrn(#TLi`?Yt-v_LbzS($12@je ztjUnced+A;-S{}7Hr4p9Sx(j-41Dmt$ieUtTj6-VAK$-xRETlt$UhSM2H_>TLA+&e z{|$X$CO?&QZ!9$a7Tzyq57?)pF1?*DG5DT*A;EVo`*=EAIQPGFM&rtb5~Z za-5rS_^e~#y-uS-NpKMzydbJ#^A5UM2B%3{l-7lM59Ca|0z9!ZoN@MBO4Sr{mDreG9G(F?D36L-1l z?cW~D(Ag$ssB)n)(Wywq>!2uyNlA4T6|C~i(+KYd9Tc(Y$`B`ry|T}t+uq7=lWhbs zq4QwxrwaHZC?pH7_+Lx%CN?Igv&bTf$dAI6-Sj2AB6rp<=FMRHT{6-_=xOQ!6BKdm z-Tka+dXn!S$b1^F8RXHMedWX!F+0~6|0cvT*@5n;_k}Bj%%9~DOU?KHjkd=7j{Zf4 z?Z?Z^1`^$mm7+pI)d8vD9x7LyL@i~obh^ie<1qBHZVBM;KnLF> zY&%;QmQ|yU+lQ`?^AQp=!q1XdR6sfQOetblQnn1JsQF;8QK2Ba&@7BF)T)$pE~m#g ziYNdzMA1nhloXCejvUe`;@Zz*xweEA!j~SCi;xr%5&-dVHLD!&2 zhhiU2&mOl)XmlPLO#4^Kujntm`#oBo2ut5)b!=d)uvy1I0_kW(7!*Tw#cjA!7Pg%TT+T)_)PRZX)i$67q* zs~_E**XT<>KZh=bkQ#YjygE!0p;AA3R@|VoNj^05atxWJahj{&8kSjn67hkb&u6E) zzC0)Y5l|Z;CQnFd`;Sh1n$^)FksMeL?fUHHyOI15Smz?CO=dGi_>yl{KywIZUoE38 zQPA|F+~CO2BdST+leA+<$GPR0hPt-06kIKxx`31ZS=^zv4UV9D?7G012lB7I24P}Y z6YAR{+0efgsV_v@c|xiVy^Hxl5D33McngVot%o=nh0zth#HmTWS0QQ6yA5i}!6CaM zckv*0KXsu}`O6E$$HL5h3=8c7ZRuA)rldpO^va%{BaOVqE*A-uvIl&&6ngmIc2kS1YESZkQUX)nEqNYbU0&YAjM+52X7s1lj zwF5}`u!rh%^H{T82zW3%y}QJ>gna@HXHK_Yi=-qM_A3M?=Y;z}W3cA3ZL4@2_7-;9msz&D0--BACsJ zT7RS0DHwbtE*H~$F?kjUh}LI{5TJ|&Sfl^Vj$$wme@Ab@wNpLyg@G9uH?dHzV>W6L z#1@)m7?S0p(&7Uvg$c+LlY<077!*i>hm1IuUigPAJq-{SIDQDxdr0mH$4$hYT2u7A-&aB*{#y?wdKpn; zqH0te(X)6w@IY~e5CguD$&faj*3WD@T7H2 zo6mK%qyI>}zBFjJ)OABi-)Pka7OPdP{0V-2%RXw0)ma3K!BGe;YYmF6+P(-UE!{GW zqSGLRhej=hQ&BwreGiT5B1Lz#9?W*4g9&u2>!dqKateM^?4(!MHGNP!J+q_nnnSQo zOR%mJs)Rzu#kv2VyRhRFfjfD?HcUCBoJ*U@PkT5pR0t8jl})IGm`(t0x7VIQ(4~F- zwl8$QKtjv<;SVwmDBLylfmM;W42s5>)Tq#$NwC_U>ovD55J3sBye0g{*Ydp8XVd}; z*?=P=&;n%Xk?z^6re!QgFz7o>`0&&x)ul!^QkaS$0F{V66eoJ<9JToZXDZxhOUnqLb?R{v=*`LbKwh0mnxaNzG+-Lgam@Fs_oOZ?d zr{IO01!=VBe8=E4sx?`P8@7a;ipscJx(70qa%o(*cBeZ)g`lr4PdkO7lY5cFUt48ETL{ z3L2XRY-5P7r7FY^icfAE0AomIjrh!8y88P#oJ_yb9gi0NI|NDuPusW-Fcf06 zi#Pz-4Rs)`dU`^JaocLQ`(oiXEQ%(ING!NZPU(Bdpvb z@wr=FQ7obMnY}(Hw(+){f0IGpVs2o>SsSmS9wTzKn8`JLRB3)VBN-i))qX2J2AOJM zK!#pl@7T%XE(g20Z4pMyxe=t--b6(~V4UV6$WG9%JzARmitmY*LK9fLP(A^vvz`=| zFV5xGBXU72MI&aZQh3M}!+2U5=PxeIu|7~cj$2Y#A=Zfj>wJnV)+*Rim?uHaUi;a% zV36gN#<{j2SXONY2AC@1l zR1>YI0y9t}9jsaW3C3@jX%cbI#L$cOZJ27h92E#H!8UGr!!uqS!7syQnX-xxQDGY^ zO}OXhKWQ=E`l9%kbl<>sqhn zL~d$Td%kYHus>&2m|YF;Jm@QduPD16@bI*$+HI`|+H5k;G_6N>@VlcN1|(h%!?*B3 zYO(9(+mM&c%CK%n^Wt1Ehc-#gqt&!XDXLH&Qn&FM&0ofu%1sUHgR?pJvrB5;aEoQg zPUoNkpi)upBTuDOq4fTVANbS6?yHJvk#hF?wb2@C4}~ z&+$1LI}g0`yhtSz)sn;-Q$g-k>*UR~XHB=c;RXpl#)#pkWZSYQ&(eqxUu<>1Sjh&I zt|~#0P1#bfhbqTj4244T+qW~Pb)Y?uz(dk`>vJ&=mh#ks;Tau@GD8)&FXPB-V*|)k zG^ZT-h9V}LuZGM(SCuXj%7c=1x+ZKrAe#WT>?w&^fYpc90IV8r6yES zF)?A$)p4Hb45?1n=o5env|;o+l%xS zExs7lXww>#t=vJ$m|F-h)!KgTDJpLCk}zdqX#>-gK66U`ABW?GMYmxQ(Mpb2TvBSI zUX;!chtCda5R2ZcCXLA7u-?c4-B3Pdx~p{2P7vSABN^uz9IxwXDEMUU72}&@L#(SR zF0JB?$QB!(K>MOr^jt>nP;`YxR<%l0l6a9~%^;Lb(#bQ=QLQ$)No5MbTT;&5p_Ww> zQ?Bb5k61&92VdShKNoLdykxev&=`y>SOJ(?AiM?{KAOLQMM(39d-mj|VU{urZVOIr zryhKqB2d_-qQp+$in|&$#gbCf@ghY#H8w4Ok_H}`iSiO@j!zp0UopRw&P{0>m4zQ>=l?D8SX=JKM*`JJ@$oF5 z@`OJXe;pV~eiB4Zaaw#~he!SQQ+b>lTB_WbBlJf5MoS$ow%^n}0Wxc+UsY0|wO=X8 zj7MgZPwInD3|Wu3DiwU+waqo zmZONw8}xc4v9L}Cxy@LjAzNf7 z7`A=J0bgxfcUU!aU4Tl+PkwIT-92VcNZV#ou+#yV74yD+O+CmeYN39}ov{ToHGkt| zkkyFGGaBcFY5VWxFb+EXc8tJ*PTN=;7FV>FeWL?jjve=3H1yoT$SAtKp<%XL#Dh-v z@>{#Mp%=ML%MV09>DR|(QY>AQ@&4S5;oasE$FA)r_||mPJ(!Zl8_@;EkMyx{woF!o z)KkSx+w}-8>DFDE60RH7g>LuEaJSO844RnXa7&TweV*Y`65D z;Vn~txQyzTI1U)0BkxV4obc`=#?7Cuu=h!nwjFO&UTfWu*tC^{!XsJlO>Y8TgY5vh z%-R97Nv<0XNu3Ed+ch64vk*#r_Z zs8Y%lH9=O^dFzampp}7Ynj5e=@{F)$nK+V+U?|2xD|*o?1e!Plb+|-fss$$NkoY#m zHUZ2htQ_S>wFn2!DxwTKf97pm+LdC5+?Q;1sr5Kx6qBYat~kjShX!>r?l@6YMauOc zwD~dFh@eznTkWm)B(aLaq z<8-&a4dxA?@_$@#2+1&UreE;1_&c|_MVWjd_vTyCaTZ^|0ftDo2_gxVP%HEw9?Fjj zYsTiG#YepAP^>Cgoy?mOC`pvzd~PxopkMSN5U6YRLl5b*#D&Tqa+4)rEikP)fR&sR3g60DN6};A zJZy92NjdOCO)`_f^~W1&OLG{W>7{@C z37YF-SkBJe|2EQ_2B6p2ma`Ihs^RVk&dtp&Uyx+7Y9SKe8Zq=?WtJPSh+AQWV0lvQ z^>|Q%>bO;i;gU)3BZ%(Uqg==DYYK}Ngjs^x^5ed?$2@k~Ew_km{hfX97iC%l zs15Z~df2HydkTC{OB3RMnXsdNz)5_gNPM$+T-fOoa>OBiz)IeNQ~wx2Lyl6Ql-JX$ zozS{(EZ{emk`sPgChNW+={L_u0*L~`CFw-dek_%wX@<I(|ui<#FN>2m=aH3jhx$61nmdVh_yeo|&g?UXdF z`inB~wY?kZQtBhsC{*rAwsIegfZom!G~Xlu_)e!nF}3Ydtqv;M+LY&`p7x?%E}D}^ z4A1^k)v&HZ>n*}+13+H8RqcZl7ked0wX>X^7E?eM7fi4$f+y0n;l> z@J8Sk`Q|$ncxYi?NDB)q^UR1)Y z*ic<{WHU%z1T?@X;^w+wy4ciTCt9a(VvXW1-))*bz#h z)@d;O>11ZzG}qmZyE1vFfu*5qv9_YDvRHoTO6E$ZTwuMhavPnEIFw4kturdDpX(y8 z?P8>!xf7zA)n`%n|C9g63INFx#;gveS|m`_|5j%>vGUzaP(^DMVB_*gqtW5MJ1X?7 z(dF$v#~VuBQZ3;#@ucHC+9mRueUt`iG*QpGWV1nSci=9wk2)2UtUhXIG2|~5Q&)X5 zD?;_eBfryTv&43x)$;K-{TJr#WYeVzhh%!|aV)<#A>`s?g-+_0!@%vk^*LfW05&!ZRRr6iEGux*5%#WqFRR7ZY z(on0v;qaYCqoP!dx8e08EM;`;p5WC_hnH`s$HVXN{^WZec0=;C?n@*zT>D0H)AdZ!rI*95-OAAeI;d`8j7kJ8l%IiD#|Rj{gC&$iW8^OdNLvuY!2)x>kaqlHe6 z2-y%WEdsDV$3x3FB}+Wg^r-@01rK+;SNobyVv0YlYivw`6n{d%SsgAEV-a>8Bk z+gY>6BY_PE`ZB>fVr21JWn?NqQQJ z8D@GpgEH2|gijeO4$OJloed0&=c#LK;NzO4hn`IeEg#Tw_@OB@%nBxrQRTGtBr`z)>RQfvQG`cqWxX%Mibv1hl{r$WhM=o_W$J5r2 z$2cjuu7B5kiK;T&Oe>eNYNc%bAB}Vx6m8twQuqwLMBmSSru;wRI9+ya>THiKNS^xR zzxvywU8A}5x5hr}#TsilHdAX;uG(ER#oPuuLdkj=U|^Py;G&LZY;8UsD&NY;5%9h1oUU;gG%f}im z2bSL7L8{Q&9lMvOt`1DpYi~Htd1#p6zCq7tIwrGKYG;;z*8)7Jlq+T|CJTW+v8s9( zCdVg2v^)k2p?3a0!s(z(5Iinw)omYjG8Y#LJ$k~WZ~H&e*;*M`#z0$6bk=Pr-p9iJ z^G~7m##;tc?Dn+61H6qkrIQxh45)HLM{m#Ns1oIdviLByKy4IK$g_@a)`P4Pc(iLo ztKybmd|QpwAvv*9qCQ)d)-@{n9H?JF)RE2q+ck9Pd6KLnTR@~sj=XLz1>~r9h%+o* zVAQD{*_wcO=z6KFRwh@V#jNOpJY}rYuc32()^xL8xU^xF3wkZDo%ieZI&%%9tYZPT z%d{u20NbEXCB>-7J%DZOCuv*<#w6{UZjy`Y(V@EX3x`V^eLJm=D2KMEr#im=A)n@} zb|H_M1)YmuUShmT3ffH!pN0*SD%N|7zrmk!kxIJVxSlKFA=y}PeGa*|O zfqfyI&DB6&t%{FVo7M3Hjqm!;ty=ofuQS>WtOjtZuvRb$&vjaLp>4;jv)CuLOCF1& z`ZGi$YAlDiroM1&4sfebk}?+>{3DkTUUWK~(NbRTmQYT;NqnlB?MS0OWi^d#7jueM zp+`{|bOcsM$Kcekpe>z-2k4oM zlGH6-pT+C%De$?BIdw$2sGP#LDom$Y0rbS=!Vmjx{(2Y9QStngLN?ujen;iiM0;Mb za(<|;vttrtD_@t>-!Z6QIfk7of1VpSq+NAW`o$g@fbm{h=VuC=DR=zJaq-^9bf4yc zkJpKs`wg@TcL!{q+Pd)oe-YYFCAqxD;+WAJ^hqukk`V1VsO*mYgoJE3Ww~Uf?L$8fic23;ARxv-L;s&8;qXFHInIc9#e2{dv=&qwJ=guI~$kj+2&l^HQo# zk9G-7?p5Gt||M0*P5t}J)%A}OIJ?{r@KiqGfp*eo=H zJLGRSC7viT#3aX~B;T@d87l{;G^Lwbj$tYNmE4euYn3We+L1?k11OMOYLN@jEO-7q zYfw_kE6Fe*rK;s(!Lj@!*AlPM_|V7vF8cO3s9eckJuXCqstaxDQpU3Ckpz8ds}5yp zV{5cF*{D+u)r=dfv!<>IX9-dU;~@$~BabCyWBAjqRfrZ8M{TnSZRw=6BhAtLdoe{h ziD_UD;cTlqza>9&uV8LlwOclI1J=^Z5y(`uLQe3Kf6m#hx;B#{eI4RV>7RS2)n{NM z77gX*Z%Z{Nl=d6yGFwNyC5@Uh`9_(gEHQ<~V}6!N6K4b#M_Oe(82r@eqb5lu6Wue* zUlkO~d!}}{O;Z|ug2gRYuuBEunOeuq8mX)>LeaDEZf^9jEO?f1PI^Q>9Q}D`Q29^H z!S`o{KhRKV{!@uVAt1kBv}eBJ_zilIFhft-NSD{+H0LRJJ$AT8N4lQg1@I*g7RPs< zqjb(3dcO_BU?Jm}+`LO^*2UnXP$)M8^3t)`~_#|2%lvaBzoo|QI~Gr-hlgS?=Q z6%WD%nMRKB_`ac+4{zY9iucc%`c-n)iW{2;i8tz*`+{!?|Cw-EqC2|tn7N;CuV-7+ zsgr!^P1wwsSd!V!alY&U!(oGEsxQzPG;SM5bbr6Md~kndW8O3?+X8yU^I=Jjr;oij z=f0Huu{^ax8ra?MLZ5hUlEu{go`T9MO=S%0CzcRqgWAE{Gw!l`kAKDcS46KkG}dlY zzvcC6b*q!VvBo=V*~diWcgk8?4ZlzqTPs&~%X+squLXT(oJAUwYj@Usrd}^rXhYtB zYORedqM6Hj>4M)3*5oHUCh~m;rFv>x_|dc>Tu^vuodvEKPl3v6{5w*>)NCI-%dlSf znZDQrwkDl=G@kzQg>)nzN6^|fbhhD~kzHVAG%w5JKK=aYHX&TlQ4smb@^I#p@ku*u8St65KH=#?(;z&vtY-J5R9bo|pOJC?4zOWy=m&FFTT&~TGOqc>wRnDH`5D-p zqKe^i%a^zPkEAB@wf&2Ak>b7K+vgaPS^r|dgT%f`}X{DkWar0lyv zZtpJP`vpA4WWAsC3|g$;VX|Anp%I*2KJMTf~vv${Ypd(6Hh38wwL*est3X4=^a&3G5( zpbFXyMQIb09JQ+vGiyo4=twPOQ3GjOvkURA%-q%_0WD`x18lkj`FBh;^X5rmXi6h* z7R)MMI%oFP!W#JWaL4evq7nABMnw-r*3`?KNrjtg8iW}X?t!Y!Q(cV1zp*Rp-)2@h zF&>kGIFbxHxJa7d@<_1d3Qn(WbFokxe4Qtfp=4k5p+{y^Qlx1=&jR zrum1M&H8tEhSvk|ize@z3%eZn-)E`A>` zBx|vqr7=MsGpT@diksoFzpH90wuzZBWPMhS)J>magPTFT%NUVcI8XQ6!!isE4>w32 zQwKLj;qg`<&B7z;9NV)`c&xReo{TMJu`Hfg$oE}V{dFRyYmDDh(Dm~Pb|=kh zTn(fxOD3X&S4z$6?>GVT)<6xc6a4bD}#1+?G{1L1am7Tvj#695b?~I*G;C z2U>Hg^|dEt@1i%_%N$#>uiSvnx>T(6z)nA2TB)U%I1y!KzJ!a3lK$uj?8zOHo)+J% zx{LLf+hJgfqY7}dJI}1@V%tGri^EBgiwmL7e0;cbuS1+-IW(-U%o|zN6oIB^cI6Yw zDs3n>mwoK7YH>-V&IH(#XvQI>_S$emgdhr&D@p)PJdnrrXTKvS|K5XQOXBC-6#n~r zPn@-*3}@L{x&z4Po^NWgiSqOOGu>F?B%SS=()Y@fbzIp>(X$6sV@v{oitM<<{<{gj6k)U|W(DXm?LVf@U|Y~YgRzPB)-inbNVt<_=1U^ROKtTp#j zP$6G9bc=MeKjwgHu6HAV%eX^@@*jefESG1|F!-hi4$Il+W7kdurdOZN>|DsU=|&gX zW;f?#wCYzD!%_EMOojoHlb%f-1M!oH{qyNbF?Y^h*r4(n+?64d9j8Qy*RM?wF4b-Jiq6|>xXO3T<4tYoco>`=5`ro z%~p}8ikkPCf5@Mq@+=uF1Rbuu{n2;w?zI^BR|J=>8l zD?~+$eP8BwZhapMyKPV+58LA1o=|;ux#!4Pxp+AaXFT}l1Vg&aEH=*MAc|XZ_<8pf z9mzlk=lF8ff5o7aBr@R+X;GQAuRk96;Mr`+fR3t39O{F{iD;E@kvg5%?QEM*e)?nv zJ(T&SOHGIm@RVbQUyuu#cEdy)(qYVE&`4m@KQ!%)5l4qLefw!|K4RPHks|vL<+8@# zZ-=K^;z%u7(O%VyEI%P(0(a$EARwsybY^A~0t&w~P(mH&FO@$j}QbUrcPJnbd893F68U&s!yV`fQZY@4d=+!5s zEPIc?=ktf>hvec%ozb6`qHWWwRij#Fah+SZET7EteQdh)qr&uFoB1DAp~Sg;{kFBf zH4`Q;{5$&OFTrIaM0B#NYpzM)aN|uwBa5hJD|BvN2V0c z6!}RqyGz{PRxy%g8sAxts>sWz7ahN>r+2iXla=|cUGRLn?Jl|r zRyHMhAGv;XAL9^@94k|o`<=?>0xu1%F5wejmgLE%nMyDHJc(VfGbwh>kMKNGou$j;*pIk9Q(Xke zP(t1>6CPKy&!!#&zka4v)GFfwejRrt>^XbZPo^w%cy1r;p>_R(cK_Ty@N&Z$_~N8< z`ylzrUxoQUp1XQ`bhIRi#E%rEO|_6OzbdBcpLxpBmfP9VxEM`adwv+?5pW&L@b#QB z_%bTr&#va|Wvl#rPonw>WymGTvz!-{B)bQjExyQrxL0KTdcks@?Z#E=K|j4Ii?$%(6>Of+Sb2UW;Qc5bZoSC(O~&%-~f(E$)e(K zWbge)+p|V-8qF?Y;+9-=d3AV`e%ITf<5s@KnFcUA>4dDL$_(fYk0?A5tW>6eVd!~u z!mQz?KlyJt>=LOau(pU}*PE*AwscAGv#TF@`-hS|?7k#dKjQXTdkgK!e<)WpW3t@t z3eEmFxefW>%ukg4vBWp7%lF>Yyh6I~zG$dOtcKzF&V>H%PplRvyyxXv|L3jfaB0zD zJoknPB_n&I`R>_-RpP@!W??RitBO zB08k{P1}9R>XAXSf1knu7Oa;tu*$r&dF?W7T}~u-eJpfk$i-Up!-l}>QExUc_xNG6 z*j3?vp-{`trf0}q?Mkp(zACSLjbdH-9g(l5Gvgm#&h65XxdJZ+5nzj^}fUl-wbL6CZ1yLu{ zKSmn;7GLoz`nitep}J-9M`F8t_s=7~+y$*t*^a7lIkB*xJPR3X$!CKW1(3jhju=Ky zu-?(FCb1{QB(U5StR@N9OxiR-N1=jkebrSANT3OUI+pQs9iZz{nGzpL7ZGHLLezJ!;EW699?Wc zpn_oQertRj%2jfW<(ueIn{PDn`D`sIgQv)vl>+W|MgJG|;L!l$G2oL*M7!QS2p|{R z6@n0smQPHLAt-(ETt2)=f!ra%m6dvG)%`JY1=O^h7!*zdP!W+A*D4u3Ff1_^Vaybw zz^DKY_};wApRYYIBr#>7;;+x^uLOR=ik9djNa6ZxNwGJ;#<)Io+XJFrKHXPb0|5uBYR9Mdm16JMVrFmm~|)!51DQ+5z&_Z6Gi zgzzB*oA10KMO4US`2F7T3Nw{DJ>*VcZL0k*%Lmd8RRm_Pz}rl+1E8kE)zN2%p+Bc^ zL`MKjb5!yR!uX2nbEZajaA3%%?^+(D%2v-&(2)*Ga^Bl+)|;%-VGO2nEB>UGl4vP4 zEO_!*LSmu#qb8bJobhm{xahs+|`BmiMMzr$yzBWyKBG{k4M<;83rsOnqR7 zp_A;#e&SbABeLnkChmNRJTLr8n>D)rv1`b8e#o%=SNUr!VOu-n02=74A>ExtFI-=; z&gD(EbKZxEcJ3G#2c#F>j9eb|a!7cC&;7yHxqy4rs`@FC;h4@k55!v0}vJGYO~ z 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�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%0D&ojH(@X*o|dI}!ZH(WF{kIS8XF zGTiZLy6f*$T+rz>R5(I)9`}?o^rZm43IC=ko>ZOqGIlNVgnR-mTecLD!4Y*p&R`W? z-*l@NdMqGKlNe?iRsYXVh#3*0vgM+y@lb!7f$_d=-WGIWum>7LSMP{h8P^XTRy7V# zn;?b*Bhdi<`4OA5ot2-7cN0Gujg&ZNtqTWiR^~_*FJPs1!*(f5j&D=!Qp-`n)uyjE zw*4BeqcKiOvap3g$6nH$;0`kvlAm3tJOZW?4NRY)K@Q3F6wi#IyN3Kqw+BZga z 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νt6$!q^~nFkYcK(oUY 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 w)AnJ()8#=?9TX@rLR^t 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 literal 0 HcmV?d00001 diff --git a/src/main/java/com/gamingmesh/jobs/CMIGUI/CMIGui.java b/src/main/java/com/gamingmesh/jobs/CMIGUI/CMIGui.java deleted file mode 100644 index adf04bb3..00000000 --- a/src/main/java/com/gamingmesh/jobs/CMIGUI/CMIGui.java +++ /dev/null @@ -1,392 +0,0 @@ -package com.gamingmesh.jobs.CMIGUI; - -import java.util.HashMap; -import java.util.LinkedHashSet; -import java.util.Map.Entry; - -import org.bukkit.entity.Player; -import org.bukkit.event.inventory.InventoryType; -import org.bukkit.inventory.Inventory; -import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.ItemMeta; - -import com.gamingmesh.jobs.Jobs; -import com.gamingmesh.jobs.CMIGUI.GUIManager.CmiInventoryType; -import com.gamingmesh.jobs.CMIGUI.GUIManager.CommandType; -import com.gamingmesh.jobs.CMIGUI.GUIManager.GUIButtonLocation; -import com.gamingmesh.jobs.CMIGUI.GUIManager.GUIClickType; -import com.gamingmesh.jobs.CMIGUI.GUIManager.GUIFieldType; -import com.gamingmesh.jobs.CMIGUI.GUIManager.GUIRows; -import com.gamingmesh.jobs.CMIGUI.GUIManager.InvType; -import com.gamingmesh.jobs.CMILib.CMIChatColor; -import com.gamingmesh.jobs.CMILib.CMIMaterial; -import com.gamingmesh.jobs.CMILib.Version; -import com.gamingmesh.jobs.commands.JobsCommands; -import com.gamingmesh.jobs.stuff.PageInfo; - -public class CMIGui { - - private InventoryType invType; - private GUIRows gUIRows; - private Player player; - private Inventory inv; - private String title; - private HashMap buttons = new HashMap(); - private LinkedHashSet noSlotButtons = new LinkedHashSet(); - - private HashMap lock = new HashMap(); - private HashMap permLock = new HashMap(); - - private CmiInventoryType type = CmiInventoryType.regular; - private Object whatShows; - - private boolean allowShift = false; - - public CMIGui() { - } - - public CMIGui(Player player) { - this.player = player; - } - - @Override - public CMIGui clone() { - CMIGui g = new CMIGui(player); - g.setInvSize(gUIRows); - g.setButtons(buttons); - g.setInv(inv); - g.setInvType(invType); - g.setTitle(title); - g.setCmiInventoryType(type); - g.setWhatShows(whatShows); - return g; - } - - public boolean isSimilar(CMIGui gui) { - - if (this.getInvSize() != gui.getInvSize()) - return false; - - if (this.getInvType() != gui.getInvType()) - return false; - - return true; - } - - public CMIGui open() { - GUIManager.openGui(this); - return this; - } - - public CMIGui update() { - GUIManager.softUpdateContent(this); - return this; - } - - public InventoryType getInvType() { - if (invType == null) - invType = InventoryType.CHEST; - return invType; - } - - public void setInvType(InventoryType invType) { - this.invType = invType; - } - - public GUIRows getInvSize() { - if (gUIRows == null) - autoResize(); - return gUIRows; - } - - public void setInvSize(GUIRows GUIRows) { - this.gUIRows = GUIRows; - } - - public void setInvSize(int rows) { - this.gUIRows = GUIRows.getByRows(rows); - } - - public void autoResize() { - this.combineButtons(); - int max = 0; - for (Entry one : this.buttons.entrySet()) { - if (one.getKey() > max) - max = one.getKey(); - } - - if (max < 9) { - this.gUIRows = GUIRows.r1; - } else if (max < 18) { - this.gUIRows = GUIRows.r2; - } else if (max < 27) { - this.gUIRows = GUIRows.r3; - } else if (max < 36) { - this.gUIRows = GUIRows.r4; - } else if (max < 45) { - this.gUIRows = GUIRows.r5; - } else { - this.gUIRows = GUIRows.r6; - } - } - - public Player getPlayer() { - return player; - } - - public void setPlayer(Player player) { - this.player = player; - } - - public Inventory getInv() { - if (inv == null) - GUIManager.generateInventory(this); - return inv; - } - - public void setInv(Inventory inv) { - this.inv = inv; - } - - public String getTitle() { - if (title == null) - title = ""; - return CMIChatColor.translate(title); - } - - public void updateTitle(String title) { - setTitle(title); -// Jobs.getNms().updateInventoryTitle(player, this.title); - } - - public void setTitle(String title) { - if (Version.isCurrentEqualOrHigher(Version.v1_16_R1)) { - if (CMIChatColor.stripColor(title).length() > 64) { - title = title.substring(0, 63) + "~"; - } - } else { - if (title.length() > 32) { - title = title.substring(0, 31) + "~"; - } - } - this.title = title; - } - - - public HashMap getButtons() { - combineButtons(); - return buttons; - } - - public CMIGui addButton(CMIGuiButton button) { - return addButton(button, 54); - } - - public CMIGui addButton(CMIGuiButton button, int maxSlot) { - if (button.getSlot() != null && buttons.get(button.getSlot()) != null) { - for (int ii = button.getSlot(); ii < maxSlot; ii++) { - CMIGuiButton b = buttons.get(ii); - if (b == null) { - buttons.put(ii, button); - break; - } - } - return this; - } - - if (button.getSlot() == null) { - noSlotButtons.add(button); - return this; - } - buttons.put(button.getSlot(), button); - setInv(null); - return this; - } - - public CMIGui updateButton(CMIGuiButton button) { - buttons.put(button.getSlot(), button); - setInv(null); - return this; - } - - private void combineButtons() { - for (CMIGuiButton button : noSlotButtons) { - for (int ii = 0; ii < 54; ii++) { - CMIGuiButton b = buttons.get(ii); - if (b == null) { - buttons.put(ii, button); - break; - } - } - } - noSlotButtons.clear(); - } - - public void fillEmptyButtons() { - combineButtons(); - for (int i = 0; i < this.getInvSize().getFields(); i++) { - if (this.buttons.containsKey(i)) - continue; - addEmptyButton(i); - } - } - - private CMIMaterial filler = CMIMaterial.BLACK_STAINED_GLASS_PANE; - - public void addEmptyButton(int slot) { - ItemStack MiscInfo = filler.newItemStack(); - if (!CMIMaterial.isAir(MiscInfo.getType())) { - ItemMeta MiscInfoMeta = MiscInfo.getItemMeta(); - if (MiscInfoMeta != null) { - MiscInfoMeta.setDisplayName(" "); - MiscInfo.setItemMeta(MiscInfoMeta); - } - } - addButton(new CMIGuiButton(slot, GUIFieldType.Locked, MiscInfo)); - } - - public void setButtons(HashMap buttons) { -// for (Entry one : buttons.entrySet()) { -// CMIGuiButton old = this.buttons.get(one.getKey()); -// if (old == null) -// old = one.getValue(); -// buttons.put(one.getKey(), old); -// } - this.buttons = buttons; - } - - public boolean isLocked(InvType type) { - return lock.containsKey(type) ? (lock.get(type) == GUIFieldType.Locked) : false; - } - - public void addLock(InvType type) { - addLock(type, GUIFieldType.Locked); - } - - public void addLock(InvType type, GUIFieldType lock) { - this.lock.put(type, lock); - } - - public boolean isPermLocked(InvType type) { - return permLock.containsKey(type) ? (!this.player.hasPermission(permLock.get(type))) : true; - } - - public void addPermLock(InvType type, String perm) { - this.permLock.put(type, perm); - } - - public CmiInventoryType getType() { - return type; - } - - public void setCmiInventoryType(CmiInventoryType type) { - this.type = type; - } - - public Object getWhatShows() { - return whatShows; - } - - public void setWhatShows(Object whatShows) { - this.whatShows = whatShows; - } - - public Integer getSlot(GUIButtonLocation place) { - GUIRows size = this.getInvSize(); - int v = place.getCollumn() * 9; - v = place.getCollumn() > 0 ? v - 1 : v; - Integer value = (((place.getRow() * (size.getRows())) * 9) - 8) + v; - value = place.getRow() > 0 ? value : value + 9; - return value - 1; - } - - public void onClose() { - - } - - public boolean click(int slot) { - return click(slot, null, null); - } - - public boolean click(int slot, GUIClickType type, ItemStack currentItem) { - return true; - } - - public void addPagination(PageInfo pi, Object cmd, String pagePref) { - addPagination(pi, JobsCommands.LABEL + " " + cmd.getClass().getSimpleName(), pagePref); - } - - public void addPagination(PageInfo pi, String cmd, String pagePref) { - - if (!cmd.startsWith("/")) - cmd = "/" + cmd; -// String separator = this.getMsg(LC.info_fliperSimbols); - - int CurrentPage = pi.getCurrentPage(); - int pageCount = pi.getTotalPages(); - int totalEntries = pi.getTotalEntries(); - - if (pageCount == 1) - return; - if (this.getInvSize().getRows() < 6) - this.setInvSize(GUIRows.r6); - - Integer prevSlot = this.getSlot(GUIButtonLocation.bottomLeft); - Integer nextSlot = this.getSlot(GUIButtonLocation.bottomRight); - Integer midSlot = this.getSlot(GUIButtonLocation.bottomRight) - 4; - - String pagePrefix = pagePref == null ? "" : pagePref; - - int NextPage = CurrentPage + 1; - NextPage = CurrentPage < pageCount ? NextPage : CurrentPage; - int Prevpage = CurrentPage - 1; - Prevpage = CurrentPage > 1 ? Prevpage : CurrentPage; - -// RawMessage rm = new RawMessage(); - - if (pageCount != 0) { - - for (int i = GUIRows.r5.getFields(); i < GUIRows.r6.getFields(); i++) { - this.getButtons().remove(i); - } - - CMIGuiButton button = new CMIGuiButton(midSlot, CMIMaterial.WHITE_WOOL.newItemStack()); - button.setName(Jobs.getLanguage().getMessage("command.help.output.pageCount", "[current]", CurrentPage, "[total]", pageCount)); - button.addLore(Jobs.getLanguage().getMessage("pageCountHover", "[totalEntries]", totalEntries)); - this.addButton(button); - - if (this.getButtons().get(prevSlot) == null && CurrentPage > 1) { - button = new CMIGuiButton(prevSlot, CMIMaterial.WHITE_WOOL.newItemStack()); - button.setName(Jobs.getLanguage().getMessage("command.help.output.prevPageGui")); - button.addLore(Jobs.getLanguage().getMessage("command.help.output.pageCount", "[current]", CurrentPage, "[total]", pageCount)); - button.addCommand(cmd + " " + pagePrefix + Prevpage, CommandType.silent); - this.addButton(button); - } - - if (this.getButtons().get(nextSlot) == null && pageCount > CurrentPage) { - button = new CMIGuiButton(nextSlot, CMIMaterial.WHITE_WOOL.newItemStack()); - button.setName(Jobs.getLanguage().getMessage("command.help.output.nextPageGui")); - button.addLore(Jobs.getLanguage().getMessage("command.help.output.pageCount", "[current]", CurrentPage, "[total]", pageCount)); - button.addCommand(cmd + " " + pagePrefix + NextPage, CommandType.silent); - this.addButton(button); - } - - } - } - - public boolean isAllowShift() { - return allowShift; - } - - public void setAllowShift(boolean allowShift) { - this.allowShift = allowShift; - } - - public CMIMaterial getFiller() { - return filler; - } - - public void setFiller(CMIMaterial filler) { - this.filler = filler; - } -} diff --git a/src/main/java/com/gamingmesh/jobs/CMIGUI/CMIGuiButton.java b/src/main/java/com/gamingmesh/jobs/CMIGUI/CMIGuiButton.java deleted file mode 100644 index f6ace65e..00000000 --- a/src/main/java/com/gamingmesh/jobs/CMIGUI/CMIGuiButton.java +++ /dev/null @@ -1,301 +0,0 @@ -package com.gamingmesh.jobs.CMIGUI; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; - -import org.bukkit.ChatColor; -import org.bukkit.Location; -import org.bukkit.Material; -import org.bukkit.entity.Player; -import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.ItemMeta; - -import com.gamingmesh.jobs.CMIGUI.GUIManager.CommandType; -import com.gamingmesh.jobs.CMIGUI.GUIManager.GUIClickType; -import com.gamingmesh.jobs.CMIGUI.GUIManager.GUIFieldType; -import com.gamingmesh.jobs.CMILib.CMIItemStack; -import com.gamingmesh.jobs.CMILib.CMIMaterial; -import com.gamingmesh.jobs.CMILib.CMIReflections; - -public class CMIGuiButton { - - private Integer slot = null; - private GUIFieldType fieldType = GUIFieldType.Locked; - private boolean closeInv = false; - - private HashMap> commandMap = new HashMap<>(); - - private List permissions = new ArrayList(); - private ItemStack item = null; - - @Override - public CMIGuiButton clone() { - CMIGuiButton b = new CMIGuiButton(slot, fieldType, item); - b.setPermissions(new ArrayList(permissions)); - b.setCommandMap(new HashMap>(commandMap)); - return b; - } - - public CMIGuiButton(Integer slot, GUIFieldType fieldType, ItemStack item) { - this.slot = slot; - this.fieldType = fieldType; - this.item = item == null ? null : item.clone(); - } - - public CMIGuiButton(Integer slot) { - this.slot = slot; - } - - public CMIGuiButton(ItemStack item) { - this.item = item == null ? null : item.clone(); - } - - public CMIGuiButton(Integer slot, CMIItemStack item) { - this(slot, item.getItemStack()); - } - - public CMIGuiButton(Integer slot, ItemStack item) { - this.slot = slot; - this.item = item == null ? null : item.clone(); - if (this.item != null && this.item.getDurability() == 32767) { - CMIMaterial d = CMIMaterial.getRandom(CMIMaterial.get(this.item)); - if (d != null && d.getLegacyData() != -1) - this.item.setDurability((short) d.getLegacyData()); - } - } - - public CMIGuiButton(Integer slot, Material material) { - this.slot = slot; - this.item = new ItemStack(material); - } - - public CMIGuiButton(Integer slot, CMIMaterial material) { - this.slot = slot; - this.item = material.newItemStack(); - } - - public CMIGuiButton(Integer slot, Material material, int data) { - this(slot, material, data, null); - } - - public CMIGuiButton(Integer slot, Material material, String name) { - this(slot, material, 0, name); - } - - public CMIGuiButton(Integer slot, CMIMaterial material, String name) { - this(slot, material.getMaterial(), material.getLegacyData() != -1 ? material.getLegacyData() : 0, name); - } - - public CMIGuiButton(Integer slot, Material material, int data, String name) { - this.slot = slot; - this.item = new ItemStack(material, 1, (short) data); - if (name != null) { - ItemMeta meta = this.item.getItemMeta(); - meta.setDisplayName(ChatColor.translateAlternateColorCodes('&', name)); - this.item.setItemMeta(meta); - } - } - - public Integer getSlot() { - return slot; - } - - public CMIGuiButton setSlot(Integer slot) { - this.slot = slot; - return this; - } - - public GUIFieldType getFieldType() { - return fieldType; - } - - public CMIGuiButton setFieldType(GUIFieldType fieldType) { - this.fieldType = fieldType; - return this; - } - - public CMIGuiButton lockField() { - this.fieldType = GUIFieldType.Locked; - return this; - } - - public CMIGuiButton unlockField() { - this.fieldType = GUIFieldType.Free; - return this; - } - - public boolean isLocked() { - return this.fieldType.equals(GUIFieldType.Locked); - } - - public List getPermissions() { - return permissions; - } - - public CMIGuiButton addPermission(String perm) { - this.permissions.add(perm); - return this; - } - - public void setPermissions(List permissions) { - this.permissions = permissions; - } - - public List getCommands(GUIClickType type) { - List list = commandMap.get(type); - if (list == null) - list = new ArrayList(); - return list; - } - - public CMIGuiButton setName(String name) { - if (this.item == null) - return this; - ItemMeta meta = this.item.getItemMeta(); - if (meta != null) { - meta.setDisplayName(ChatColor.translateAlternateColorCodes('&', name)); - this.item.setItemMeta(meta); - } - return this; - } - - public CMIGuiButton addLore(List l) { - l = spreadList(l); - for (String one : l) { - addLore(one); - } - return this; - } - - public List spreadList(List ls) { - List s = new ArrayList(); - for (int i = 0; i < ls.size(); i++) { - if (ls.get(i).contains(" \\n")) { - s.addAll(Arrays.asList(ls.get(i).split(" \\\\n"))); - } else - s.add(ls.get(i)); - } - return s; - } - - public CMIGuiButton addLore(String l) { - if (this.item == null) - return this; - ItemMeta meta = this.item.getItemMeta(); - if (meta != null) { - List lore = meta.getLore(); - if (lore == null) - lore = new ArrayList(); - lore.add(ChatColor.translateAlternateColorCodes('&', l)); - meta.setLore(lore); - this.item.setItemMeta(meta); - } - return this; - } - - public CMIGuiButton addItemName(String name) { - if (this.item == null) - return this; - ItemMeta meta = this.item.getItemMeta(); - meta.setDisplayName(ChatColor.translateAlternateColorCodes('&', name)); - this.item.setItemMeta(meta); - return this; - } - - public CMIGuiButton addCommand(String command) { - return addCommand(null, command); - } - - public CMIGuiButton addCommand(String command, CommandType vis) { - return addCommand(null, command, vis); - } - - public CMIGuiButton addCommand(GUIClickType type, String command) { - return addCommand(type, command, CommandType.gui); - } - - public CMIGuiButton addCommand(GUIClickType type, String command, CommandType vis) { - if (type == null) { - for (GUIClickType one : GUIClickType.values()) { - List list = commandMap.get(one); - if (list == null) - list = new ArrayList(); - list.add(new GUIButtonCommand(command, vis)); - commandMap.put(one, list); - } - } else { - List list = commandMap.get(type); - if (list == null) - list = new ArrayList(); - list.add(new GUIButtonCommand(command, vis)); - commandMap.put(type, list); - } - return this; - } - - public void click() { - - } - - public void click(GUIClickType type) { - - } - - public CMIGuiButton addCommand(Location loc) { - if (loc == null) - return this; - addCommand("cmi tppos " + loc.getWorld().getName() + " " + loc.getX() + " " + loc.getY() + " " + loc.getBlockZ() + " " + loc.getPitch() + " " + loc.getYaw()); - return this; - } - - public ItemStack getItem() { - return getItem(null); - } - - public ItemStack getItem(Player player) { - - if (item != null) { - ItemStack i = item.clone(); - - if (isLocked()) { - i = CMIReflections.setNbt(item, GUIManager.CMIGUIIcon, GUIManager.LIProtection); - } - - ItemMeta meta = i.getItemMeta(); - - if (player != null) { -// if (meta != null && meta.hasDisplayName()) { -// meta.setDisplayName(CMI.getInstance().getPlaceholderAPIManager().updatePlaceHolders(player, meta.getDisplayName())); -// } -// -// if (meta != null && meta.hasLore()) { -// meta.setLore(CMI.getInstance().getPlaceholderAPIManager().updatePlaceHolders(player, meta.getLore())); -// } - } - i.setItemMeta(meta); - return i; - } - - return item; - } - - public CMIGuiButton setItem(ItemStack item) { - this.item = item == null ? null : item.clone(); - return this; - } - - public void setCommandMap(HashMap> commandMap) { - this.commandMap = commandMap; - } - - public boolean isCloseInv() { - return closeInv; - } - - public void setCloseInv(boolean closeInv) { - this.closeInv = closeInv; - } - -} diff --git a/src/main/java/com/gamingmesh/jobs/CMIGUI/GUIButtonCommand.java b/src/main/java/com/gamingmesh/jobs/CMIGUI/GUIButtonCommand.java deleted file mode 100644 index d37fcb44..00000000 --- a/src/main/java/com/gamingmesh/jobs/CMIGUI/GUIButtonCommand.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.gamingmesh.jobs.CMIGUI; - -import com.gamingmesh.jobs.CMIGUI.GUIManager.CommandType; - -class GUIButtonCommand { - private String command; - private CommandType vis = CommandType.gui; - - public GUIButtonCommand(String command) { - this.command = command; - } - - public GUIButtonCommand(String command, CommandType vis) { - this.command = command; - this.vis = vis; - } - - public String getCommand() { - return command; - } - - public void setCommand(String command) { - this.command = command; - } - - public CommandType getCommandType() { - return vis; - } - - public void setCommandType(CommandType vis) { - this.vis = vis; - } - -} diff --git a/src/main/java/com/gamingmesh/jobs/CMIGUI/GUIListener.java b/src/main/java/com/gamingmesh/jobs/CMIGUI/GUIListener.java deleted file mode 100644 index 50a0ce77..00000000 --- a/src/main/java/com/gamingmesh/jobs/CMIGUI/GUIListener.java +++ /dev/null @@ -1,160 +0,0 @@ -package com.gamingmesh.jobs.CMIGUI; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.UUID; - -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; -import org.bukkit.event.Listener; -import org.bukkit.event.inventory.ClickType; -import org.bukkit.event.inventory.InventoryAction; -import org.bukkit.event.inventory.InventoryClickEvent; -import org.bukkit.event.inventory.InventoryCloseEvent; -import org.bukkit.event.inventory.InventoryDragEvent; -import org.bukkit.event.inventory.InventoryType; -import org.bukkit.inventory.ItemStack; - -import com.gamingmesh.jobs.Jobs; -import com.gamingmesh.jobs.CMILib.CMIReflections; - -public class GUIListener implements Listener { - Jobs plugin; - - public GUIListener(Jobs plugin) { - this.plugin = plugin; - } - - @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true) - public void onNormalInventoryClose(InventoryCloseEvent event) { - final Player player = (Player) event.getPlayer(); - if (GUIManager.isOpenedGui(player)) { - if (GUIManager.removePlayer(player)) { - player.updateInventory(); - clearIconItems(player); - } - } - } - - private static void clearIconItems(Player player) { - for (ItemStack one : player.getInventory().getContents()) { - Object res = CMIReflections.getNbt(one, GUIManager.CMIGUIIcon); - if (res == null || !(res instanceof String) || !((String) res).equalsIgnoreCase(GUIManager.LIProtection)) - continue; - player.getInventory().remove(one); - } - } - - private HashMap LastClick = new HashMap<>(); - - private boolean canClickByTimer(UUID uuid) { - Long time = LastClick.get(uuid); - if (time == null) { - LastClick.put(uuid, System.currentTimeMillis()); - return true; - } - - if (time + 51 > System.currentTimeMillis()) { - LastClick.put(uuid, System.currentTimeMillis()); - return false; - } - - LastClick.put(uuid, System.currentTimeMillis()); - return true; - } - - @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true) - public void onInventoryClick(final InventoryClickEvent event) { - final Player player = (Player) event.getWhoClicked(); - - if (!GUIManager.isOpenedGui(player)) - return; - - CMIGui gui = GUIManager.getGui(player); - if (event.getClick() == ClickType.DOUBLE_CLICK || event.getHotbarButton() != -1) { - event.setCancelled(true); - return; - } - - if (!gui.isAllowShift() && event.isShiftClick()) - event.setCancelled(true); - - if (!event.getAction().equals(InventoryAction.PICKUP_ALL) && - !event.getAction().equals(InventoryAction.PICKUP_ONE) && - !event.getAction().equals(InventoryAction.PICKUP_HALF) && - !event.getAction().equals(InventoryAction.PICKUP_SOME) && - !event.getAction().equals(InventoryAction.PLACE_ALL) && - !event.getAction().equals(InventoryAction.PLACE_ONE) && - !event.getAction().equals(InventoryAction.PLACE_SOME) && - !gui.isAllowShift() && !event.getAction().equals(InventoryAction.MOVE_TO_OTHER_INVENTORY)) - event.setCancelled(true); - - if (!canClickByTimer(player.getUniqueId())) { - event.setCancelled(true); - return; - } - - final List buttons = new ArrayList<>(); - buttons.add(event.getRawSlot()); - if (!GUIManager.canClick(player, buttons)) { - event.setCancelled(true); - } - - if (GUIManager.isLockedPart(player, buttons)) - event.setCancelled(true); - - InventoryAction action = event.getAction(); - if (!GUIManager.processClick(player, event.getCurrentItem(), buttons, GUIManager.getClickType(event.isLeftClick(), event.isShiftClick(), action))) { - event.setCancelled(true); - return; - } - - if (gui.isAllowShift() && event.getAction().equals(InventoryAction.MOVE_TO_OTHER_INVENTORY) && event.getClickedInventory().getType().equals(InventoryType.PLAYER)) { - - event.setCancelled(true); - - ItemStack item = event.getCurrentItem().clone(); - - for (int i = 0; i < gui.getInvSize().getFields(); i++) { - CMIGuiButton b = gui.getButtons().get(i); - - if ((b == null || !b.isLocked() && b.getItem() == null) && gui.getInv().getItem(i) == null) { - gui.getInv().setItem(i, item); - event.setCurrentItem(null); - break; - } - } - } - } - - @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true) - public void onInventoryMove(final InventoryDragEvent event) { - final Player player = (Player) event.getWhoClicked(); - - if (!GUIManager.isOpenedGui(player)) - return; - - if (!canClickByTimer(player.getUniqueId())) { - event.setCancelled(true); - return; - } - - final List buttons = new ArrayList<>(); - buttons.addAll(event.getRawSlots()); - if (!GUIManager.canClick(player, buttons)) { - event.setCancelled(true); - } - - if (GUIManager.isLockedPart(player, buttons)) { - event.setCancelled(true); - } - - if (!GUIManager.processClick(player, null, buttons, GUIManager.getClickType(true, false, null))) { - event.setCancelled(true); - return; - - } - } -} \ No newline at end of file diff --git a/src/main/java/com/gamingmesh/jobs/CMIGUI/GUIManager.java b/src/main/java/com/gamingmesh/jobs/CMIGUI/GUIManager.java deleted file mode 100644 index be39a137..00000000 --- a/src/main/java/com/gamingmesh/jobs/CMIGUI/GUIManager.java +++ /dev/null @@ -1,431 +0,0 @@ -package com.gamingmesh.jobs.CMIGUI; - -import java.util.HashMap; -import java.util.List; -import java.util.Map.Entry; -import java.util.UUID; -import java.util.logging.Level; - -import org.bukkit.Bukkit; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; -import org.bukkit.event.inventory.InventoryAction; -import org.bukkit.event.player.PlayerCommandPreprocessEvent; -import org.bukkit.event.server.ServerCommandEvent; -import org.bukkit.inventory.Inventory; -import org.bukkit.inventory.ItemStack; - -import com.gamingmesh.jobs.Jobs; -import com.gamingmesh.jobs.CMILib.CMIReflections; - -public class GUIManager { - - private static HashMap map = new HashMap<>(); - - public final static String CMIGUIIcon = "CMIGUIIcon"; - public final static String LIProtection = "LIProtection"; - - static { - registerListener(); - } - - public static void registerListener() { - Jobs plugin = org.bukkit.plugin.java.JavaPlugin.getPlugin(Jobs.class); - plugin.getServer().getPluginManager().registerEvents(new GUIListener(plugin), plugin); - } - - public enum GUIButtonLocation { - topLeft(0, 0), topRight(0, 1), bottomLeft(1, 0), bottomRight(1, 1); - - private Integer row; - private Integer collumn; - - GUIButtonLocation(Integer row, Integer collumn) { - this.collumn = collumn; - this.row = row; - } - - public Integer getRow() { - return row; - } - - public Integer getCollumn() { - return collumn; - } - - } - - public enum GUIRows { - r1(1), r2(2), r3(3), r4(4), r5(5), r6(6); - - private int rows; - - GUIRows(int rows) { - this.rows = rows; - } - - public Integer getFields() { - return rows * 9; - } - - public Integer getRows() { - return rows; - } - - public static GUIRows getByRows(Integer rows) { - if (rows > 9) - rows = rows / 9; - for (GUIRows one : GUIRows.values()) { - if (one.getRows().equals(rows)) - return one; - } - return GUIRows.r6; - } - } - - public enum GUIFieldType { - Free, Locked - } - - public enum InvType { - Gui, Main, Quickbar - } - - public enum CmiInventoryType { - regular, SavedInv, EditableInv, RecipeCreator, ArmorStandEditor, EntityInventoryEditor, Recipes, SellHand - } - - public enum GUIClickType { - Left, LeftShift, Right, RightShift, MiddleMouse; - - public boolean isShiftClick() { - switch (this) { - case Left: - case MiddleMouse: - case Right: - break; - case RightShift: - case LeftShift: - return true; - default: - break; - } - return false; - } - - public boolean isLeftClick() { - switch (this) { - case MiddleMouse: - case Right: - case RightShift: - break; - case Left: - case LeftShift: - return true; - default: - break; - } - return false; - } - - public boolean isRightClick() { - switch (this) { - case Right: - case RightShift: - return true; - case Left: - case LeftShift: - case MiddleMouse: - default: - break; - } - return false; - } - - public boolean isMiddleClick() { - switch (this) { - case MiddleMouse: - return true; - case Right: - case RightShift: - case Left: - case LeftShift: - default: - break; - } - return false; - } - } - - public void closeAll() { - for (Entry one : map.entrySet()) { - Player player = Bukkit.getPlayer(one.getKey()); - if (player == null) - continue; - player.closeInventory(); - } - } - - public static GUIClickType getClickType(boolean left, boolean shift, InventoryAction action) { - - if (!left && !shift && (action.equals(InventoryAction.NOTHING) || action.equals(InventoryAction.CLONE_STACK))) - return GUIClickType.MiddleMouse; - - if (left && !shift) { - return GUIClickType.Left; - } else if (left && shift) { - return GUIClickType.LeftShift; - } else if (!left && !shift) { - return GUIClickType.Right; - } else { - return GUIClickType.RightShift; - } - } - - public static boolean processClick(final Player player, ItemStack currentItem, List buttons, final GUIClickType clickType) { - CMIGui gui = map.get(player.getUniqueId()); - if (gui == null) - return true; - - for (Integer one : buttons) { - - final CMIGuiButton button = gui.getButtons().get(one); - - if (!gui.click(one, clickType, currentItem)) - return false; - - if (button == null) - continue; - boolean canClick = true; - for (String oneC : button.getPermissions()) { - if (!player.hasPermission(oneC)) - canClick = false; - } - - if (canClick) { - Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(org.bukkit.plugin.java.JavaPlugin.getPlugin(Jobs.class), new Runnable() { - @Override - public void run() { - - for (GUIButtonCommand oneC : button.getCommands(clickType)) { - performCommand(player, oneC.getCommand(), oneC.getCommandType()); - } - } - }, 1); - } - - button.click(); - button.click(clickType); - - if (button.isCloseInv()) - player.closeInventory(); - - if (!button.getCommands(clickType).isEmpty()) - break; - } - - return true; - } - - public void performCommand(CommandSender sender, String command, CommandType type) { - if (sender instanceof Player) { - performCommand((Player) sender, command, type); - } else { - ServerCommandEvent event = new ServerCommandEvent(sender, command.startsWith("/") ? command : "/" + command); - Bukkit.getServer().getPluginManager().callEvent(event); - if (!event.isCancelled()) { - Bukkit.dispatchCommand(Bukkit.getConsoleSender(), event.getCommand().startsWith("/") ? event.getCommand().substring(1, event.getCommand().length()) : event.getCommand()); - } - if (!type.equals(CommandType.silent)) - Bukkit.getLogger().log(Level.INFO, sender.getName() + " issued " + type.name() + " command: /" + command); - } - } - - public static void performCommand(Player player, String command, CommandType type) { - PlayerCommandPreprocessEvent event = new PlayerCommandPreprocessEvent(player, command.startsWith("/") ? command : "/" + command); - Bukkit.getServer().getPluginManager().callEvent(event); - if (!event.isCancelled()) { - player.performCommand(event.getMessage().startsWith("/") ? event.getMessage().substring(1, event.getMessage().length()) : event.getMessage()); - } - if (!type.equals(CommandType.silent)) - Bukkit.getLogger().log(Level.INFO, player.getName() + " issued " + type.name() + " command: /" + command); - } - - public enum CommandType { - gui, warmup, acmd, rank, silent - } - - public static boolean isLockedPart(Player player, List buttons) { - CMIGui gui = map.get(player.getUniqueId()); - if (gui == null) - return false; - - int size = gui.getInv().getSize(); - int mainInvMax = size + 36 - 9; - int quickbar = size + 36; - - for (Integer one : buttons) { - if (one > quickbar || quickbar < 0) - continue; - if (one < size && (gui.isLocked(InvType.Gui) && gui.isPermLocked(InvType.Gui))) { - return true; - } else if (one >= size && one < mainInvMax && (gui.isLocked(InvType.Main) && gui.isPermLocked(InvType.Main))) { - return true; - } else if (one >= mainInvMax && one < quickbar && ((gui.isLocked(InvType.Quickbar) && gui.isPermLocked(InvType.Quickbar)) || (gui.isLocked(InvType.Main) && gui.isPermLocked(InvType.Main)))) { - return true; - } - } - - return false; - } - - public static boolean canClick(Player player, List buttons) { - try { - CMIGui gui = map.get(player.getUniqueId()); - if (gui == null) - return true; - - for (Integer one : buttons) { - CMIGuiButton button = gui.getButtons().get(one); - if (button == null) - continue; - if (button.getFieldType() == GUIFieldType.Locked) - return false; - } - } catch (Exception e) { - return false; - } - return true; - } - - public static CMIGui getGui(Player player) { - return map.get(player.getUniqueId()); - } - - public static boolean isOpenedGui(Player player) { - CMIGui gui = map.get(player.getUniqueId()); - if (gui == null) - return false; - if (player.getOpenInventory() == null) - return false; -// if (!player.getOpenInventory().getTopInventory().equals(gui.getInv())) -// return false; - return true; - } - - public static boolean removePlayer(Player player) { - CMIGui removed = map.remove(player.getUniqueId()); - if (removed == null) - return false; - - removed.onClose(); - - if (player.getOpenInventory() != null && player.getOpenInventory().getTopInventory().equals(removed.getInv())) - player.closeInventory(); - -// CMIGUICloseEvent event = new CMIGUICloseEvent(player, removed); -// Bukkit.getServer().getPluginManager().callEvent(event); - - return true; - } - - public static void generateInventory(CMIGui gui) { - - Inventory GuiInv = null; - if (gui.getInvSize() != null) - GuiInv = Bukkit.createInventory(null, gui.getInvSize().getFields(), gui.getTitle()); - else - GuiInv = Bukkit.createInventory(null, gui.getInvType(), gui.getTitle()); - - if (GuiInv == null) - return; - - for (Entry one : gui.getButtons().entrySet()) { - if (one.getKey() > GuiInv.getSize()) - continue; - try { - ItemStack item = one.getValue().getItem(gui.getPlayer()); - item = item == null ? null : item.clone(); - if (item != null && one.getValue().isLocked()) { - item = CMIReflections.setNbt(item, CMIGUIIcon, LIProtection); - } - GuiInv.setItem(one.getKey(), item); - } catch (ArrayIndexOutOfBoundsException e) { - break; - } - } - gui.setInv(GuiInv); - } - -// public void updateInventory(CMIGui old, CMIGui gui) { -// -// Inventory GuiInv = gui.getInv(); -// if (GuiInv == null) -// return; -// -// plugin.getNMS().updateInventoryTitle(gui.getPlayer(), gui.getTitle()); -// -// for (Entry one : gui.getButtons().entrySet()) { -// if (one.getKey() > GuiInv.getSize()) -// continue; -// GuiInv.setItem(one.getKey(), one.getValue().getItem()); -// } -// gui.setInv(GuiInv); -// } - - public static void openGui(CMIGui gui) { - Player player = gui.getPlayer(); - if (player.isSleeping()) - return; - - CMIGui oldGui = null; - if (isOpenedGui(player)) { - oldGui = getGui(player); - if (!gui.isSimilar(oldGui)) { - oldGui = null; - } - } - if (oldGui == null) { - generateInventory(gui); - player.closeInventory(); - player.openInventory(gui.getInv()); - map.put(player.getUniqueId(), gui); - } else { - updateContent(gui); - } - - } - - public static void updateContent(CMIGui gui) { - Player player = gui.getPlayer(); - if (player.getOpenInventory() == null || player.getOpenInventory().getTopInventory() == null) { - player.closeInventory(); - } - -// Jobs.getNms().updateInventoryTitle(player, gui.getTitle()); - player.getOpenInventory().getTopInventory().setContents(gui.getInv().getContents()); - gui.setInv(player.getOpenInventory().getTopInventory()); - map.put(player.getUniqueId(), gui); - } - - public static void softUpdateContent(CMIGui gui) { - Player player = gui.getPlayer(); - if (player.getOpenInventory() == null || player.getOpenInventory().getTopInventory() == null) { - player.closeInventory(); - } - -// plugin.getNMS().updateInventoryTitle(player, gui.getTitle()); - - for (int i = 0; i < player.getOpenInventory().getTopInventory().getSize(); i++) { - CMIGuiButton button = gui.getButtons().get(i); - if (button == null) - continue; - if (!button.isLocked()) - continue; - player.getOpenInventory().getTopInventory().setItem(i, button.getItem(gui.getPlayer())); - } - gui.setInv(player.getOpenInventory().getTopInventory()); - map.put(player.getUniqueId(), gui); - player.updateInventory(); - } -} \ No newline at end of file diff --git a/src/main/java/com/gamingmesh/jobs/CMILib/ActionBarManager.java b/src/main/java/com/gamingmesh/jobs/CMILib/ActionBarManager.java deleted file mode 100644 index 93367533..00000000 --- a/src/main/java/com/gamingmesh/jobs/CMILib/ActionBarManager.java +++ /dev/null @@ -1,91 +0,0 @@ -package com.gamingmesh.jobs.CMILib; - -import java.lang.reflect.Field; -import java.lang.reflect.Method; -import java.util.UUID; - -import org.bukkit.Bukkit; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class ActionBarManager { - private static Object packet; - private static Method getHandle; - private static Method sendPacket; - private static Field playerConnection; - private static Class nmsChatSerializer; - private static Class nmsIChatBaseComponent; - private static Class packetType; - - private static Class ChatMessageclz; - private static Class sub; - private static Object[] consts; - - static { - if (Version.isCurrentHigher(Version.v1_7_R4)) { - Version version = Version.getCurrent(); - try { - packetType = Class.forName("net.minecraft.server." + version + ".PacketPlayOutChat"); - Class typeCraftPlayer = Class.forName("org.bukkit.craftbukkit." + version + ".entity.CraftPlayer"); - Class typeNMSPlayer = Class.forName("net.minecraft.server." + version + ".EntityPlayer"); - Class typePlayerConnection = Class.forName("net.minecraft.server." + version + ".PlayerConnection"); - nmsChatSerializer = Class.forName(getChatSerializerClasspath()); - nmsIChatBaseComponent = Class.forName("net.minecraft.server." + version + ".IChatBaseComponent"); - getHandle = typeCraftPlayer.getMethod("getHandle"); - playerConnection = typeNMSPlayer.getField("playerConnection"); - sendPacket = typePlayerConnection.getMethod("sendPacket", Class.forName("net.minecraft.server." + version + ".Packet")); - if (Version.isCurrentHigher(Version.v1_11_R1)) { - ChatMessageclz = Class.forName("net.minecraft.server." + version + ".ChatMessageType"); - consts = ChatMessageclz.getEnumConstants(); - sub = consts[2].getClass(); - } - } catch (Exception ex) { - Bukkit.getConsoleSender().sendMessage(ex.toString()); - } - } - } - - public static void send(CommandSender receivingPacket, String msg) { - if (receivingPacket instanceof Player) - send((Player) receivingPacket, msg); - else - receivingPacket.sendMessage(msg); - } - - public static void send(Player receivingPacket, String msg) { - if (receivingPacket == null || !receivingPacket.isOnline() || msg == null) - return; - - try { - if (!Version.getCurrent().isHigher(Version.v1_7_R4) || nmsChatSerializer == null) { - receivingPacket.sendMessage(CMIChatColor.translate(msg)); - return; - } - - RawMessage rm = new RawMessage().addText(msg); - Object serialized = nmsChatSerializer.getMethod("a", String.class).invoke(null, CMIChatColor.translate(rm.getRaw())); - if (Version.isCurrentHigher(Version.v1_15_R1)) - packet = packetType.getConstructor(nmsIChatBaseComponent, sub, UUID.class).newInstance(serialized, consts[2], receivingPacket.getUniqueId()); - else if (Version.isCurrentHigher(Version.v1_11_R1)) { - packet = packetType.getConstructor(nmsIChatBaseComponent, sub).newInstance(serialized, consts[2]); - } else if (Version.isCurrentHigher(Version.v1_7_R4)) { - packet = packetType.getConstructor(nmsIChatBaseComponent, byte.class).newInstance(serialized, (byte) 2); - } else { - packet = packetType.getConstructor(nmsIChatBaseComponent, int.class).newInstance(serialized, 2); - } - Object player = getHandle.invoke(receivingPacket); - Object connection = playerConnection.get(player); - - sendPacket.invoke(connection, packet); - - } catch (Exception ex) { - ex.printStackTrace(); - } - } - - private static String getChatSerializerClasspath() { - if (!Version.isCurrentHigher(Version.v1_8_R2)) - return "net.minecraft.server." + Version.getCurrent() + ".ChatSerializer"; - return "net.minecraft.server." + Version.getCurrent() + ".IChatBaseComponent$ChatSerializer";// 1_8_R2 moved to IChatBaseComponent - } -} diff --git a/src/main/java/com/gamingmesh/jobs/CMILib/CMIAsyncHead.java b/src/main/java/com/gamingmesh/jobs/CMILib/CMIAsyncHead.java deleted file mode 100644 index 16340034..00000000 --- a/src/main/java/com/gamingmesh/jobs/CMILib/CMIAsyncHead.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.gamingmesh.jobs.CMILib; - -import org.bukkit.inventory.ItemStack; - -public class CMIAsyncHead { - private boolean head = false; - private boolean force = false; - - public void afterAsyncUpdate(ItemStack item) { - - } - - public boolean isAsyncHead() { - return head; - } - - public void setAsyncHead(boolean head) { - this.head = head; - } - - public boolean isForce() { - return force; - } - - public void setForce(boolean force) { - this.force = force; - } -} diff --git a/src/main/java/com/gamingmesh/jobs/CMILib/CMIChatColor.java b/src/main/java/com/gamingmesh/jobs/CMILib/CMIChatColor.java deleted file mode 100644 index 57d962d2..00000000 --- a/src/main/java/com/gamingmesh/jobs/CMILib/CMIChatColor.java +++ /dev/null @@ -1,611 +0,0 @@ -package com.gamingmesh.jobs.CMILib; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Random; -import java.util.TreeMap; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import org.bukkit.ChatColor; -import org.bukkit.Color; - -public class CMIChatColor { - - private static final Map BY_CHAR = new HashMap<>(); - private static final Map BY_NAME = new HashMap<>(); - private static final LinkedHashMap CUSTOM_BY_NAME = new LinkedHashMap<>(); - private static final Map CUSTOM_BY_HEX = new HashMap<>(); - private static final TreeMap CUSTOM_BY_RGB = new TreeMap<>(); - - static { - for (CMICustomColors one : CMICustomColors.values()) { - CUSTOM_BY_NAME.put(one.name().toLowerCase().replace("_", ""), new CMIChatColor(one.toString(), one.getHex())); - CUSTOM_BY_HEX.put(one.getHex().toLowerCase(), new CMIChatColor(one.toString(), one.getHex())); - if (one.getExtra() != null) { - for (String extra : one.getExtra()) { - CUSTOM_BY_NAME.put(extra.toLowerCase().replace("_", ""), new CMIChatColor(extra.replace(' ', '_'), one.getHex())); - } - } - } - - for (float x = 0.0F; x <= 1; x += 0.1) { - for (float z = 0.1F; z <= 1; z += 0.1) { - for (float y = 0; y <= 1; y += 0.03) { - java.awt.Color color = java.awt.Color.getHSBColor(y, x, z); - String hex = Integer.toHexString((color.getRed() << 16) + (color.getGreen() << 8) + color.getBlue() & 0xffffff); - while (hex.length() < 6) { - hex = "0" + hex; - } - CMIChatColor.getClosest(hex); - } - } - } - } - - public final static String colorReplacerPlaceholder = "\uFF06"; - - public static final String colorFontPrefix = "{@"; - public static final String colorCodePrefix = "{#"; - public static final String colorCodeSuffix = "}"; - - private static String escape(String text) { - return text.replace("#", "\\#").replace("{", "\\{").replace("}", "\\}"); - } - - public static final String hexColorRegex = "(\\" + colorCodePrefix + ")([0-9A-Fa-f]{6}|[0-9A-Fa-f]{3})(\\" + colorCodeSuffix + ")"; - public static final Pattern hexColorRegexPattern = Pattern.compile(CMIChatColor.hexColorRegex); - public static final Pattern hexColorRegexPatternLast = Pattern.compile(CMIChatColor.hexColorRegex + "(?!.*\\{#)"); - public static final Pattern hexDeColorNamePattern = Pattern.compile("(&x)((&[0-9A-Fa-f]){6})"); - public static final String ColorNameRegex = "(\\" + colorCodePrefix + ")([a-zA-Z_]{3,})(\\" + colorCodeSuffix + ")"; - public static final Pattern hexColorNamePattern = Pattern.compile(CMIChatColor.ColorNameRegex); - public static final Pattern hexColorNamePatternLast = Pattern.compile(ColorNameRegex + "(?!.*\\{#)"); - - public static final String ColorFontRegex = "(\\" + colorFontPrefix + ")([a-zA-Z_]{3,})(\\" + colorCodeSuffix + ")"; - - public static final Pattern gradientPattern = Pattern.compile("(\\{(#[^\\{]*?)>\\})(.*?)(\\{(#.*?)<(>?)\\})"); - - public static final String hexColorDecolRegex = "(&x)(&[0-9A-Fa-f]){6}"; - - public static final Pattern postGradientPattern = Pattern.compile("(" + CMIChatColor.hexColorRegex + "|" + CMIChatColor.ColorNameRegex + ")" + "(.)" + "(" + CMIChatColor.hexColorRegex + "|" - + CMIChatColor.ColorNameRegex + ")"); - public static final Pattern fullPattern = Pattern.compile("(&[0123456789abcdefklmnorABCDEFKLMNOR])|" + CMIChatColor.hexColorRegex + "|" + CMIChatColor.ColorNameRegex + "|" - + CMIChatColor.ColorFontRegex); - - public static final CMIChatColor BLACK = new CMIChatColor("Black", '0', 0, 0, 0); - public static final CMIChatColor DARK_BLUE = new CMIChatColor("Dark_Blue", '1', 0, 0, 170); - public static final CMIChatColor DARK_GREEN = new CMIChatColor("Dark_Green", '2', 0, 170, 0); - public static final CMIChatColor DARK_AQUA = new CMIChatColor("Dark_Aqua", '3', 0, 170, 170); - public static final CMIChatColor DARK_RED = new CMIChatColor("Dark_Red", '4', 170, 0, 0); - public static final CMIChatColor DARK_PURPLE = new CMIChatColor("Dark_Purple", '5', 170, 0, 170); - public static final CMIChatColor GOLD = new CMIChatColor("Gold", '6', 255, 170, 0); - public static final CMIChatColor GRAY = new CMIChatColor("Gray", '7', 170, 170, 170); - public static final CMIChatColor DARK_GRAY = new CMIChatColor("Dark_Gray", '8', 85, 85, 85); - public static final CMIChatColor BLUE = new CMIChatColor("Blue", '9', 85, 85, 255); - public static final CMIChatColor GREEN = new CMIChatColor("Green", 'a', 85, 255, 85); - public static final CMIChatColor AQUA = new CMIChatColor("Aqua", 'b', 85, 255, 255); - public static final CMIChatColor RED = new CMIChatColor("Red", 'c', 255, 85, 85); - public static final CMIChatColor LIGHT_PURPLE = new CMIChatColor("Light_Purple", 'd', 255, 85, 255); - public static final CMIChatColor YELLOW = new CMIChatColor("Yellow", 'e', 255, 255, 85); - public static final CMIChatColor WHITE = new CMIChatColor("White", 'f', 255, 255, 255); - public static final CMIChatColor OBFUSCATED = new CMIChatColor("Obfuscated", 'k', false); - public static final CMIChatColor BOLD = new CMIChatColor("Bold", 'l', false); - public static final CMIChatColor STRIKETHROUGH = new CMIChatColor("Strikethrough", 'm', false); - public static final CMIChatColor UNDERLINE = new CMIChatColor("Underline", 'n', false); - public static final CMIChatColor ITALIC = new CMIChatColor("Italic", 'o', false); - public static final CMIChatColor RESET = new CMIChatColor("Reset", 'r', false, true); - public static final CMIChatColor HEX = new CMIChatColor("Hex", 'x', false, false); - - private char c; - private boolean color = true; - private boolean reset = false; - private Pattern pattern = null; - private int red; - private int green; - private int blue; - private String hex = null; - private String name; - - public CMIChatColor(String name, char c, int red, int green, int blue) { - this(name, c, true, false, red, green, blue); - } - - public CMIChatColor(String hex) { - this(null, hex); - } - - public CMIChatColor(String name, String hex) { - if (hex.startsWith("#")) - hex = hex.substring(1); - this.hex = hex; - this.name = name; - - try { - red = Integer.valueOf(this.hex.substring(0, 2), 16); - green = Integer.valueOf(this.hex.substring(2, 4), 16); - blue = Integer.parseInt(this.hex.substring(4, 6), 16); - } catch (Throwable e) { - this.hex = null; - } - } - - public CMIChatColor(String name, char c, Boolean color) { - this(name, c, color, false); - } - - public CMIChatColor(String name, char c, Boolean color, Boolean reset) { - this(name, c, color, reset, -1, -1, -1); - } - - public CMIChatColor(String name, char c, Boolean color, Boolean reset, int red, int green, int blue) { - this.name = name; - this.c = c; - this.color = color; - this.reset = reset; - this.pattern = Pattern.compile("(?i)(&[" + c + "])"); - this.red = red; - this.green = green; - this.blue = blue; - - if (Version.isCurrentLower(Version.v1_16_R1) && name.equalsIgnoreCase("Hex")) - return; - BY_CHAR.put(Character.valueOf(c), this); - BY_NAME.put(this.getName().toLowerCase().replace("_", ""), this); - } - - public static String processGradient(String text) { - - Matcher gradientMatch = gradientPattern.matcher(text); - - while (gradientMatch.find()) { - String fullmatch = gradientMatch.group(); - CMIChatColor c1 = CMIChatColor.getColor(CMIChatColor.colorCodePrefix + gradientMatch.group(2).replace("#", "") + CMIChatColor.colorCodeSuffix); - CMIChatColor c2 = CMIChatColor.getColor(CMIChatColor.colorCodePrefix + gradientMatch.group(5).replace("#", "") + CMIChatColor.colorCodeSuffix); - - if (c1 == null || c2 == null) { - continue; - } - - String gtext = gradientMatch.group(3); - - boolean continuous = !gradientMatch.group(6).isEmpty(); - - String updated = ""; - - gtext = stripColor(gtext); - - if (gtext != null) - for (int i = 0; i < gtext.length(); i++) { - char ch = gtext.charAt(i); - int length = gtext.length(); - length = length < 2 ? 2 : length; - double percent = (i * 100D) / (length - 1); - CMIChatColor mix = CMIChatColor.mixColors(c1, c2, percent); - updated += CMIChatColor.colorCodePrefix + mix.getHex() + CMIChatColor.colorCodeSuffix; - updated += String.valueOf(ch); - } - - if (continuous) { - updated += CMIChatColor.colorCodePrefix + gradientMatch.group(5).replace("#", "") + ">" + CMIChatColor.colorCodeSuffix; - } - - text = text.replace(fullmatch, updated); - - if (continuous) { - text = processGradient(text); - } - } - - return text; - } - - public static String translate(String text) { - - if (text == null) - return null; - - text = processGradient(text); - - if (text.contains(colorCodePrefix)) { - - Matcher match = hexColorRegexPattern.matcher(text); - while (match.find()) { - String string = match.group(); - - StringBuilder magic = new StringBuilder("§x"); - for (char c : string.substring(2, string.length() - 1).toCharArray()) { - magic.append('§').append(c); - if (string.substring(2, string.length() - 1).length() == 3) - magic.append('§').append(c); - } - text = text.replace(string, magic.toString()); - } - - Matcher nameMatch = hexColorNamePattern.matcher(text); - while (nameMatch.find()) { - String string = nameMatch.group(2); - CMIChatColor cn = getByCustomName(string.toLowerCase().replace("_", "")); - if (cn == null) - continue; - String gex = cn.getHex(); - StringBuilder magic = new StringBuilder("§x"); - for (char c : gex.toCharArray()) { - magic.append('§').append(c); - } - text = text.replace(nameMatch.group(), magic.toString()); - } - } - - return ChatColor.translateAlternateColorCodes('&', text); - } - - public static String applyEqualGradient(String text, List gradients) { - if (gradients == null || gradients.isEmpty()) - return text; - int size = text.length() / gradients.size(); - StringBuilder messageWithGradient = new StringBuilder(); - messageWithGradient.append(gradients.get(0).getFormatedHex(">")); - for (int y = 0; y <= gradients.size() - 1; y++) { - if (y > 0 && size > 0) - messageWithGradient.append(gradients.get(y).getFormatedHex("<>")); - for (int i = 0; i < size; i++) { - messageWithGradient.append(text.charAt(0)); - text = text.substring(1); - } - } - messageWithGradient.append(text + gradients.get(gradients.size() - 1).getFormatedHex("<")); - return messageWithGradient.toString(); - } - - @Deprecated - public static String translateAlternateColorCodes(String text) { - return translate(text); - } - - public static String colorize(String text) { - if (text == null) - return null; - return translate(text); - } - - public static String deColorize(String text) { - if (text == null) - return null; - text = CMIChatColor.translate(text); - text = text.replace("§", "&"); - - if (text.contains("&x")) { - Matcher match = hexDeColorNamePattern.matcher(text); - while (match.find()) { - String reg = match.group(2).replace("&", ""); - CMIChatColor custom = CUSTOM_BY_HEX.get(reg.toLowerCase()); - if (custom != null) { - text = text.replace(match.group(), colorCodePrefix + custom.getName().toLowerCase().replace("_", "") + colorCodeSuffix); - } else { - text = text.replace(match.group(), colorCodePrefix + reg + colorCodeSuffix); - } - } - } - - return text; - } - - public static List deColorize(List lore) { - for (int i = 0; i < lore.size(); i++) { - lore.set(i, deColorize(lore.get(i))); - } - return lore; - } - - public static String stripColor(String text) { - if (text == null) - return null; - text = CMIChatColor.translate(text); - return ChatColor.stripColor(text); - } - - public static String getLastColors(String text) { - if (text == null) - return null; - - text = deColorize(text); - Matcher match = hexColorRegexPatternLast.matcher(text); - if (match.find()) { - String colorByHex = match.group(0); - if (text.endsWith(colorByHex)) - return colorByHex; - String[] split = text.split(escape(colorByHex), 2); - if (split == null) - return colorByHex; - String last = getLastColors(split[1]); - return last == null || last.isEmpty() ? colorByHex : last; - - } - - match = hexColorNamePatternLast.matcher(text); - if (match.find()) { - String colorByName = match.group(); - if (text.endsWith(colorByName)) - return colorByName; - String[] split = text.split(escape(colorByName), 2); - if (split == null) - return colorByName; - String last = getLastColors(split[1]); - return last == null || last.isEmpty() ? colorByName : last; - } - - return ChatColor.getLastColors(translate(text)); - } - - public String getColorCode() { - if (hex != null) - return colorCodePrefix + hex + colorCodeSuffix; - return "&" + c; - } - - public String getBukkitColorCode() { - if (hex != null) - return translate(colorCodePrefix + hex + colorCodeSuffix); - return "§" + c; - } - - @Override - public String toString() { - return getBukkitColorCode(); - } - - public char getChar() { - return c; - } - - public void setChar(char c) { - this.c = c; - } - - public boolean isColor() { - return color; - } - - public boolean isFormat() { - return !color && !reset; - } - - public boolean isReset() { - return reset; - } - - public ChatColor getColor() { - return ChatColor.getByChar(this.getChar()); - } - - public static CMIChatColor getColor(String text) { - - if (text == null) - return null; - - String or = deColorize(text); - - if (or.contains(colorCodePrefix)) { - Matcher match = hexColorRegexPatternLast.matcher(or); - if (match.find()) { - return new CMIChatColor(match.group(2)); - } - match = hexColorNamePatternLast.matcher(or); - if (match.find()) { - return CMIChatColor.getByCustomName(match.group(2)); - } - } - - text = deColorize(text).replace("&", ""); - - if (text.length() > 1) { - String formated = text.toLowerCase().replace("_", ""); - CMIChatColor got = BY_NAME.get(formated); - if (got != null) - return got; - - got = CUSTOM_BY_NAME.get(formated); - if (got != null) - return got; - } - - if (or.length() > 1 && String.valueOf(or.charAt(or.length() - 2)).equalsIgnoreCase("&")) { - text = text.substring(text.length() - 1, text.length()); - - for (Entry one : BY_CHAR.entrySet()) { - if (String.valueOf(one.getKey()).equalsIgnoreCase(text)) { - return one.getValue(); - } - } - } - - return null; - } - - public static CMIChatColor getRandomColor() { - List ls = new ArrayList<>(); - for (CMIChatColor one : BY_NAME.values()) { - if (!one.isColor()) - continue; - ls.add(one); - } - Collections.shuffle(ls); - return ls.get(0); - } - - public Pattern getPattern() { - return pattern; - } - - public Color getRGBColor() { - if (blue < 0) - return null; - return Color.fromRGB(red, green, blue); - } - - public String getHex() { - return hex; - } - - public String getFormatedHex() { - return getFormatedHex(null); - } - - public String getFormatedHex(String subSuffix) { - return colorCodePrefix + hex + (subSuffix == null ? "" : subSuffix) + colorCodeSuffix; - } - - public String getName() { - return name; - } - - public String getCleanName() { - return name.replace("_", ""); - } - - public static CMIChatColor getByCustomName(String name) { - if (name.equalsIgnoreCase("random")) { - List valuesList = new ArrayList<>(CUSTOM_BY_NAME.values()); - int randomIndex = new Random().nextInt(valuesList.size()); - return valuesList.get(randomIndex); - } - - return CUSTOM_BY_NAME.get(name.toLowerCase().replace("_", "")); - } - - public static CMIChatColor getByHex(String hex) { - if (hex.startsWith(colorCodePrefix)) - hex = hex.substring(colorCodePrefix.length()); - if (hex.endsWith(colorCodeSuffix)) - hex = hex.substring(0, hex.length() - colorCodeSuffix.length()); - return CUSTOM_BY_HEX.get(hex.toLowerCase().replace("_", "")); - } - - public static Map getByName() { - return BY_NAME; - } - - public static Map getByCustomName() { - return CUSTOM_BY_NAME; - } - - public static String getHexFromCoord(int x, int y) { - x = x < 0 ? 0 : x > 255 ? 255 : x; - y = y < 0 ? 0 : y > 255 ? 255 : y; - - int blue = (int) (255 - y * 255 * (1.0 + Math.sin(6.3 * x)) / 2); - int green = (int) (255 - y * 255 * (1.0 + Math.cos(6.3 * x)) / 2); - int red = (int) (255 - y * 255 * (1.0 - Math.sin(6.3 * x)) / 2); - String hex = Integer.toHexString((red << 16) + (green << 8) + blue & 0xffffff); - while (hex.length() < 6) { - hex = "0" + hex; - } - return "#" + hex; - } - - public static String getHexRedGreenByPercent(int percentage, int parts) { - float percent = (percentage * 33F / 100F) / 100F; - - java.awt.Color color = java.awt.Color.getHSBColor(percent, 1, 1); - String hex = Integer.toHexString((color.getRed() << 16) + (color.getGreen() << 8) + color.getBlue() & 0xffffff); - while (hex.length() < 6) { - hex = "0" + hex; - } - return "#" + hex; - } - - public int getRed() { - return red; - } - - public int getGreen() { - return green; - } - - public int getBlue() { - return blue; - } - - public static CMIChatColor getClosest(String hex) { - if (hex.startsWith("#")) - hex = hex.substring(1); - - CMIChatColor closest = CUSTOM_BY_RGB.get(hex); - if (closest != null) - return closest; - - java.awt.Color c2 = null; - try { - c2 = new java.awt.Color( - Integer.valueOf(hex.substring(0, 2), 16), - Integer.valueOf(hex.substring(2, 4), 16), - Integer.valueOf(hex.substring(4, 6), 16)); - } catch (Throwable e) { - return null; - } - double distance = Double.MAX_VALUE; - for (CMIChatColor one : CUSTOM_BY_HEX.values()) { - - java.awt.Color c1 = new java.awt.Color( - Integer.valueOf(one.hex.substring(0, 2), 16), - Integer.valueOf(one.hex.substring(2, 4), 16), - Integer.valueOf(one.hex.substring(4, 6), 16)); - - int red1 = c1.getRed(); - int red2 = c2.getRed(); - int rmean = (red1 + red2) >> 1; - int r = red1 - red2; - int g = c1.getGreen() - c2.getGreen(); - int b = c1.getBlue() - c2.getBlue(); - double dist = Math.sqrt((((512 + rmean) * r * r) >> 8) + 4 * g * g + (((767 - rmean) * b * b) >> 8)); - if (dist < distance) { - closest = one; - distance = dist; - } - } - - if (closest != null) { - CUSTOM_BY_RGB.put(hex, closest); - return closest; - } - CUSTOM_BY_RGB.put(hex, null); - - return null; - } - - public CMIChatColor mixColors(CMIChatColor color, double percent) { - return mixColors(this, color, percent); - } - - public static CMIChatColor mixColors(CMIChatColor color1, CMIChatColor color2, double percent) { - percent = percent / 100D; - double inverse_percent = 1.0 - percent; - int redPart = (int) (color2.getRed() * percent + color1.getRed() * inverse_percent); - int greenPart = (int) (color2.getGreen() * percent + color1.getGreen() * inverse_percent); - int bluePart = (int) (color2.getBlue() * percent + color1.getBlue() * inverse_percent); - String hexCode = String.format("#%02x%02x%02x", redPart, greenPart, bluePart); - return new CMIChatColor(hexCode); - } - -// public static CMIChatColor getClosest(Long rgb) { -// -// Entry low = CUSTOM_BY_RGB.floorEntry(rgb); -// Entry high = CUSTOM_BY_RGB.ceilingEntry(rgb); -// customColors res = null; -// if (low != null && high != null) { -// res = Math.abs(rgb - low.getKey()) < Math.abs(rgb - high.getKey()) ? low.getValue() : high.getValue(); -// } else if (low != null || high != null) { -// res = low != null ? low.getValue() : high == null ? null : high.getValue(); -// } -// if (res == null) { -// return null; -// } -// return new CMIChatColor(res.name(), res.hex); -// } - -} diff --git a/src/main/java/com/gamingmesh/jobs/CMILib/CMICustomColors.java b/src/main/java/com/gamingmesh/jobs/CMILib/CMICustomColors.java deleted file mode 100644 index 1bf46324..00000000 --- a/src/main/java/com/gamingmesh/jobs/CMILib/CMICustomColors.java +++ /dev/null @@ -1,1592 +0,0 @@ -package com.gamingmesh.jobs.CMILib; - -public enum CMICustomColors { - Black("000000"), - Navy_Blue("000080"), - Dark_Blue("0000C8"), - Blue("0000FF"), - Stratos("000741"), - Swamp("001B1C"), - Resolution_Blue("002387"), - Deep_Fir("002900"), - Burnham("002E20"), - International_Klein_Blue("002FA7"), - Prussian_Blue("003153"), - Midnight_Blue("003366"), - Smalt("003399"), - Deep_Teal("003532"), - Cyprus("003E40"), - Kaitoke_Green("004620"), - Cobalt("0047AB"), - Crusoe("004816"), - Sherpa_Blue("004950"), - Endeavour("0056A7"), - Camarone("00581A"), - Science_Blue("0066CC"), - Blue_Ribbon("0066FF"), - Tropical_Rain_Forest("00755E"), - Allports("0076A3"), - Deep_Cerulean("007BA7"), - Lochmara("007EC7"), - Azure_Radiance("007FFF"), - Teal("008080"), - Bondi_Blue("0095B6"), - Pacific_Blue("009DC4"), - Persian_Green("00A693"), - Jade("00A86B"), - Caribbean_Green("00CC99"), - Robins_Egg_Blue("00CCCC"), - Green("00FF00"), - Spring_Green("00FF7F"), - Cyan("00FFFF", "Aqua"), - Blue_Charcoal("010D1A"), - Midnight("011635"), - Holly("011D13"), - Daintree("012731"), - Cardin_Green("01361C"), - County_Green("01371A"), - Astronaut_Blue("013E62"), - Regal_Blue("013F6A"), - Aqua_Deep("014B43"), - Orient("015E85"), - Blue_Stone("016162"), - Fun_Green("016D39"), - Pine_Green("01796F"), - Blue_Lagoon("017987"), - Deep_Sea("01826B"), - Green_Haze("01A368"), - English_Holly("022D15"), - Sherwood_Green("02402C"), - Congress_Blue("02478E"), - Evening_Sea("024E46"), - Bahama_Blue("026395"), - Observatory("02866F"), - Cerulean("02A4D3"), - Tangaroa("03163C"), - Green_Vogue("032B52"), - Mosque("036A6E"), - Midnight_Moss("041004"), - Black_Pearl("041322"), - Blue_Whale("042E4C"), - Zuccini("044022"), - Teal_Blue("044259"), - Deep_Cove("051040"), - Gulf_Blue("051657"), - Venice_Blue("055989"), - Watercourse("056F57"), - Catalina_Blue("062A78"), - Tiber("063537"), - Gossamer("069B81"), - Niagara("06A189"), - Tarawera("073A50"), - Jaguar("080110"), - Black_Bean("081910"), - Deep_Sapphire("082567"), - Elf_Green("088370"), - Bright_Turquoise("08E8DE"), - Downriver("092256"), - Palm_Green("09230F"), - Madison("09255D"), - Bottle_Green("093624"), - Deep_Sea_Green("095859"), - Salem("097F4B"), - Black_Russian("0A001C"), - Dark_Fern("0A480D"), - Japanese_Laurel("0A6906"), - Atoll("0A6F75"), - Cod_Gray("0B0B0B"), - Marshland("0B0F08"), - Gordons_Green("0B1107"), - Black_Forest("0B1304"), - San_Felix("0B6207"), - Malachite("0BDA51"), - Ebony("0C0B1D"), - Woodsmoke("0C0D0F"), - Racing_Green("0C1911"), - Surfie_Green("0C7A79"), - Blue_Chill("0C8990"), - Black_Rock("0D0332"), - Bunker("0D1117"), - Aztec("0D1C19"), - Bush("0D2E1C"), - Cinder("0E0E18"), - Firefly("0E2A30"), - Torea_Bay("0F2D9E"), - Vulcan("10121D"), - Green_Waterloo("101405"), - Eden("105852"), - Arapawa("110C6C"), - Ultramarine("120A8F"), - Elephant("123447"), - Jewel("126B40"), - Diesel("130000"), - Asphalt("130A06"), - Blue_Zodiac("13264D"), - Parsley("134F19"), - Nero("140600"), - Tory_Blue("1450AA"), - Bunting("151F4C"), - Denim("1560BD"), - Genoa("15736B"), - Mirage("161928"), - Hunter_Green("161D10"), - Big_Stone("162A40"), - Celtic("163222"), - Timber_Green("16322C"), - Gable_Green("163531"), - Pine_Tree("171F04"), - Chathams_Blue("175579"), - Deep_Forest_Green("182D09"), - Blumine("18587A"), - Palm_Leaf("19330E"), - Nile_Blue("193751"), - Fun_Blue("1959A8"), - Lucky_Point("1A1A68"), - Mountain_Meadow("1AB385"), - Tolopea("1B0245"), - Haiti("1B1035"), - Deep_Koamaru("1B127B"), - Acadia("1B1404"), - Seaweed("1B2F11"), - Biscay("1B3162"), - Matisse("1B659D"), - Crowshead("1C1208"), - Rangoon_Green("1C1E13"), - Persian_Blue("1C39BB"), - Everglade("1C402E"), - Elm("1C7C7D"), - Green_Pea("1D6142"), - Creole("1E0F04"), - Karaka("1E1609"), - El_Paso("1E1708"), - Cello("1E385B"), - Te_Papa_Green("1E433C"), - Dodger_Blue("1E90FF"), - Eastern_Blue("1E9AB0"), - Night_Rider("1F120F"), - Java("1FC2C2"), - Jacksons_Purple("20208D"), - Cloud_Burst("202E54"), - Blue_Dianne("204852"), - Eternity("211A0E"), - Deep_Blue("220878"), - Forest_Green("228B22"), - Mallard("233418"), - Violet("240A40"), - Kilamanjaro("240C02"), - Log_Cabin("242A1D"), - Black_Olive("242E16"), - Green_House("24500F"), - Graphite("251607"), - Cannon_Black("251706"), - Port_Gore("251F4F"), - Shark("25272C"), - Green_Kelp("25311C"), - Curious_Blue("2596D1"), - Paua("260368"), - Paris_M("26056A"), - Wood_Bark("261105"), - Gondola("261414"), - Steel_Gray("262335"), - Ebony_Clay("26283B"), - Bay_of_Many("273A81"), - Plantation("27504B"), - Eucalyptus("278A5B"), - Oil("281E15"), - Astronaut("283A77"), - Mariner("286ACD"), - Violent_Violet("290C5E"), - Bastille("292130"), - Zeus("292319"), - Charade("292937"), - Jelly_Bean("297B9A"), - Jungle_Green("29AB87"), - Cherry_Pie("2A0359"), - Coffee_Bean("2A140E"), - Baltic_Sea("2A2630"), - Turtle_Green("2A380B"), - Cerulean_Blue("2A52BE"), - Sepia_Black("2B0202"), - Valhalla("2B194F"), - Heavy_Metal("2B3228"), - Blue_Gem("2C0E8C"), - Revolver("2C1632"), - Bleached_Cedar("2C2133"), - Lochinvar("2C8C84"), - Mikado("2D2510"), - Outer_Space("2D383A"), - St_Tropaz("2D569B"), - Jacaranda("2E0329"), - Jacko_Bean("2E1905"), - Rangitoto("2E3222"), - Rhino("2E3F62"), - Sea_Green("2E8B57"), - Scooter("2EBFD4"), - Onion("2F270E"), - Governor_Bay("2F3CB3"), - Sapphire("2F519E"), - Spectra("2F5A57"), - Casal("2F6168"), - Melanzane("300529"), - Cocoa_Brown("301F1E"), - Woodrush("302A0F"), - San_Juan("304B6A"), - Turquoise("30D5C8"), - Eclipse("311C17"), - Pickled_Bluewood("314459"), - Azure("315BA1"), - Calypso("31728D"), - Paradiso("317D82"), - Persian_Indigo("32127A"), - Blackcurrant("32293A"), - Mine_Shaft("323232"), - Stromboli("325D52"), - Bilbao("327C14"), - Astral("327DA0"), - Christalle("33036B"), - Thunder("33292F"), - Shamrock("33CC99"), - Tamarind("341515"), - Mardi_Gras("350036"), - Valentino("350E42"), - Jagger("350E57"), - Tuna("353542"), - Chambray("354E8C"), - Martinique("363050"), - Tuatara("363534"), - Waiouru("363C0D"), - Ming("36747D"), - La_Palma("368716"), - Chocolate("370202"), - Clinker("371D09"), - Brown_Tumbleweed("37290E"), - Birch("373021"), - Oracle("377475"), - Blue_Diamond("380474"), - Grape("381A51"), - Dune("383533"), - Oxford_Blue("384555"), - Clover("384910"), - Limed_Spruce("394851"), - Dell("396413"), - Toledo("3A0020"), - Sambuca("3A2010"), - Jacarta("3A2A6A"), - William("3A686C"), - Killarney("3A6A47"), - Keppel("3AB09E"), - Temptress("3B000B"), - Aubergine("3B0910"), - Jon("3B1F1F"), - Treehouse("3B2820"), - Amazon("3B7A57"), - Boston_Blue("3B91B4"), - Windsor("3C0878"), - Rebel("3C1206"), - Meteorite("3C1F76"), - Dark_Ebony("3C2005"), - Camouflage("3C3910"), - Bright_Gray("3C4151"), - Cape_Cod("3C4443"), - Lunar_Green("3C493A"), - Bean_("3D0C02"), - Bistre("3D2B1F"), - Goblin("3D7D52"), - Kingfisher_Daisy("3E0480"), - Cedar("3E1C14"), - English_Walnut("3E2B23"), - Black_Marlin("3E2C1C"), - Ship_Gray("3E3A44"), - Pelorous("3EABBF"), - Bronze("3F2109"), - Cola("3F2500"), - Madras("3F3002"), - Minsk("3F307F"), - Cabbage_Pont("3F4C3A"), - Tom_Thumb("3F583B"), - Mineral_Green("3F5D53"), - Puerto_Rico("3FC1AA"), - Harlequin("3FFF00"), - Brown_Pod("401801"), - Cork("40291D"), - Masala("403B38"), - Thatch_Green("403D19"), - Fiord("405169"), - Viridian("40826D"), - Chateau_Green("40A860"), - Ripe_Plum("410056"), - Paco("411F10"), - Deep_Oak("412010"), - Merlin("413C37"), - Gun_Powder("414257"), - East_Bay("414C7D"), - Royal_Blue("4169E1"), - Ocean_Green("41AA78"), - Burnt_Maroon("420303"), - Lisbon_Brown("423921"), - Faded_Jade("427977"), - Scarlet_Gum("431560"), - Iroko("433120"), - Armadillo("433E37"), - River_Bed("434C59"), - Green_Leaf("436A0D"), - Barossa("44012D"), - Morocco_Brown("441D00"), - Mako("444954"), - Kelp("454936"), - San_Marino("456CAC"), - Picton_Blue("45B1E8"), - Loulou("460B41"), - Crater_Brown("462425"), - Gray_Asparagus("465945"), - Steel_Blue("4682B4"), - Rustic_Red("480404"), - Bulgarian_Rose("480607"), - Clairvoyant("480656"), - Cocoa_Bean("481C1C"), - Woody_Brown("483131"), - Taupe("483C32"), - Van_Cleef("49170C"), - Brown_Derby("492615"), - Metallic_Bronze("49371B"), - Verdun_Green("495400"), - Blue_Bayoux("496679"), - Bismark("497183"), - Bracken("4A2A04"), - Deep_Bronze("4A3004"), - Mondo("4A3C30"), - Tundora("4A4244"), - Gravel("4A444B"), - Trout("4A4E5A"), - Pigment_Indigo("4B0082"), - Nandor("4B5D52"), - Saddle("4C3024"), - Abbey("4C4F56"), - Blackberry("4D0135"), - Cab_Sav("4D0A18"), - Indian_Tan("4D1E01"), - Cowboy("4D282D"), - Livid_Brown("4D282E"), - Rock("4D3833"), - Punga("4D3D14"), - Bronzetone("4D400F"), - Woodland("4D5328"), - Mahogany("4E0606"), - Bossanova("4E2A5A"), - Matterhorn("4E3B41"), - Bronze_Olive("4E420C"), - Mulled_Wine("4E4562"), - Axolotl("4E6649"), - Wedgewood("4E7F9E"), - Shakespeare("4EABD1"), - Honey_Flower("4F1C70"), - Daisy_Bush("4F2398"), - Indigo("4F69C6"), - Fern_Green("4F7942"), - Fruit_Salad("4F9D5D"), - Apple("4FA83D"), - Mortar("504351"), - Kashmir_Blue("507096"), - Cutty_Sark("507672"), - Emerald("50C878"), - Emperor("514649"), - Chalet_Green("516E3D"), - Como("517C66"), - Smalt_Blue("51808F"), - Castro("52001F"), - Maroon_Oak("520C17"), - Gigas("523C94"), - Voodoo("533455"), - Victoria("534491"), - Hippie_Green("53824B"), - Heath("541012"), - Judge_Gray("544333"), - Fuscous_Gray("54534D"), - Vida_Loca("549019"), - Cioccolato("55280C"), - Saratoga("555B10"), - Finlandia("556D56"), - Havelock_Blue("5590D9"), - Fountain_Blue("56B4BE"), - Spring_Leaves("578363"), - Saddle_Brown("583401"), - Scarpa_Flow("585562"), - Cactus("587156"), - Hippie_Blue("589AAF"), - Wine_Berry("591D35"), - Brown_Bramble("592804"), - Congo_Brown("593737"), - Millbrook("594433"), - Waikawa_Gray("5A6E9C"), - Horizon("5A87A0"), - Jambalaya("5B3013"), - Bordeaux("5C0120"), - Mulberry_Wood("5C0536"), - Carnaby_Tan("5C2E01"), - Comet("5C5D75"), - Redwood("5D1E0F"), - Don_Juan("5D4C51"), - Chicago("5D5C58"), - Verdigris("5D5E37"), - Dingley("5D7747"), - Breaker_Bay("5DA19F"), - Kabul("5E483E"), - Hemlock("5E5D3B"), - Irish_Coffee("5F3D26"), - Mid_Gray("5F5F6E"), - Shuttle_Gray("5F6672"), - Aqua_Forest("5FA777"), - Tradewind("5FB3AC"), - Horses_Neck("604913"), - Smoky("605B73"), - Corduroy("606E68"), - Danube("6093D1"), - Espresso("612718"), - Eggplant("614051"), - Costa_Del_Sol("615D30"), - Glade_Green("61845F"), - Buccaneer("622F30"), - Quincy("623F2D"), - Butterfly_Bush("624E9A"), - West_Coast("625119"), - Finch("626649"), - Patina("639A8F"), - Fern("63B76C"), - Blue_Violet("6456B7"), - Dolphin("646077"), - Storm_Dust("646463"), - Siam("646A54"), - Nevada("646E75"), - Cornflower_Blue("6495ED"), - Viking("64CCDB"), - Rosewood("65000B"), - Cherrywood("651A14"), - Purple_Heart("652DC1"), - Fern_Frond("657220"), - Willow_Grove("65745D"), - Hoki("65869F"), - Pompadour("660045"), - Purple("660099"), - Tyrian_Purple("66023C"), - Dark_Tan("661010"), - Silver_Tree("66B58F"), - Bright_Green("66FF00"), - Screamin_Green("66FF66"), - Black_Rose("67032D"), - Scampi("675FA6"), - Ironside_Gray("676662"), - Viridian_Green("678975"), - Christi("67A712"), - Nutmeg_Wood_Finish("683600"), - Zambezi("685558"), - Salt_Box("685E6E"), - Tawny_Port("692545"), - Finn("692D54"), - Scorpion("695F62"), - Lynch("697E9A"), - Spice("6A442E"), - Himalaya("6A5D1B"), - Soya_Bean("6A6051"), - Hairy_Heath("6B2A14"), - Royal_Purple("6B3FA0"), - Shingle_Fawn("6B4E31"), - Dorado("6B5755"), - Bermuda_Gray("6B8BA2"), - Olive_Drab("6B8E23"), - Eminence("6C3082"), - Turquoise_Blue("6CDAE7"), - Lonestar("6D0101"), - Pine_Cone("6D5E54"), - Dove_Gray("6D6C6C"), - Juniper("6D9292"), - Gothic("6D92A1"), - Red_Oxide("6E0902"), - Moccaccino("6E1D14"), - Pickled_Bean("6E4826"), - Dallas("6E4B26"), - Kokoda("6E6D57"), - Pale_Sky("6E7783"), - Cafe_Royale("6F440C"), - Flint("6F6A61"), - Highland("6F8E63"), - Limeade("6F9D02"), - Downy("6FD0C5"), - Persian_Plum("701C1C"), - Sepia("704214"), - Antique_Bronze("704A07"), - Ferra("704F50"), - Coffee("706555"), - Slate_Gray("708090"), - Cedar_Wood_Finish("711A00"), - Metallic_Copper("71291D"), - Affair("714693"), - Studio("714AB2"), - Tobacco_Brown("715D47"), - Yellow_Metal("716338"), - Peat("716B56"), - Olivetone("716E10"), - Storm_Gray("717486"), - Sirocco("718080"), - Aquamarine_Blue("71D9E2"), - Venetian_Red("72010F"), - Old_Copper("724A2F"), - Go_Ben("726D4E"), - Raven("727B89"), - Seance("731E8F"), - Raw_Umber("734A12"), - Kimberly("736C9F"), - Crocodile("736D58"), - Crete("737829"), - Xanadu("738678"), - Spicy_Mustard("74640D"), - Limed_Ash("747D63"), - Rolling_Stone("747D83"), - Blue_Smoke("748881"), - Laurel("749378"), - Mantis("74C365"), - Russett("755A57"), - Deluge("7563A8"), - Cosmic("76395D"), - Blue_Marguerite("7666C6"), - Lima("76BD17"), - Sky_Blue("76D7EA"), - Dark_Burgundy("770F05"), - Crown_of_Thorns("771F1F"), - Walnut("773F1A"), - Pablo("776F61"), - Pacifika("778120"), - Oxley("779E86"), - Pastel_Green("77DD77"), - Japanese_Maple("780109"), - Mocha("782D19"), - Peanut("782F16"), - Camouflage_Green("78866B"), - Wasabi("788A25"), - Ship_Cove("788BBA"), - Sea_Nymph("78A39C"), - Roman_Coffee("795D4C"), - Old_Lavender("796878"), - Rum("796989"), - Fedora("796A78"), - Sandstone("796D62"), - Spray("79DEEC"), - Siren("7A013A"), - Fuchsia_Blue("7A58C1"), - Boulder("7A7A7A"), - Wild_Blue_Yonder("7A89B8"), - De_York("7AC488"), - Red_Beech("7B3801"), - Cinnamon("7B3F00"), - Yukon_Gold("7B6608"), - Tapa("7B7874"), - Waterloo_("7B7C94"), - Flax_Smoke("7B8265"), - Amulet("7B9F80"), - Asparagus("7BA05B"), - Kenyan_Copper("7C1C05"), - Pesto("7C7631"), - Topaz("7C778A"), - Concord("7C7B7A"), - Jumbo("7C7B82"), - Trendy_Green("7C881A"), - Gumbo("7CA1A6"), - Acapulco("7CB0A1"), - Neptune("7CB7BB"), - Pueblo("7D2C14"), - Bay_Leaf("7DA98D"), - Malibu("7DC8F7"), - Bermuda("7DD8C6"), - Copper_Canyon("7E3A15"), - Claret("7F1734"), - Peru_Tan("7F3A02"), - Falcon("7F626D"), - Mobster("7F7589"), - Moody_Blue("7F76D3"), - Chartreuse("7FFF00"), - Aquamarine("7FFFD4"), - Maroon("800000"), - Rose_Bud_Cherry("800B47"), - Falu_Red("801818"), - Red_Robin("80341F"), - Vivid_Violet("803790"), - Russet("80461B"), - Friar_Gray("807E79"), - Olive("808000"), - Gray("808080"), - Gulf_Stream("80B3AE"), - Glacier("80B3C4"), - Seagull("80CCEA"), - Nutmeg("81422C"), - Spicy_Pink("816E71"), - Empress("817377"), - Spanish_Green("819885"), - Sand_Dune("826F65"), - Gunsmoke("828685"), - Battleship_Gray("828F72"), - Merlot("831923"), - Shadow("837050"), - Chelsea_Cucumber("83AA5D"), - Monte_Carlo("83D0C6"), - Plum("843179"), - Granny_Smith("84A0A0"), - Chetwode_Blue("8581D9"), - Bandicoot("858470"), - Bali_Hai("859FAF"), - Half_Baked("85C4CC"), - Red_Devil("860111"), - Lotus("863C3C"), - Ironstone("86483C"), - Bull_Shot("864D1E"), - Rusty_Nail("86560A"), - Bitter("868974"), - Regent_Gray("86949F"), - Disco("871550"), - Americano("87756E"), - Hurricane("877C7B"), - Oslo_Gray("878D91"), - Sushi("87AB39"), - Spicy_Mix("885342"), - Kumera("886221"), - Suva_Gray("888387"), - Avocado("888D65"), - Camelot("893456"), - Solid_Pink("893843"), - Cannon_Pink("894367"), - Makara("897D6D"), - Burnt_Umber("8A3324"), - True_V("8A73D6"), - Clay_Creek("8A8360"), - Monsoon("8A8389"), - Stack("8A8F8A"), - Jordy_Blue("8AB9F1"), - Electric_Violet("8B00FF"), - Monarch("8B0723"), - Corn_Harvest("8B6B0B"), - Olive_Haze("8B8470"), - Schooner("8B847E"), - Natural_Gray("8B8680"), - Mantle("8B9C90"), - Portage("8B9FEE"), - Envy("8BA690"), - Cascade("8BA9A5"), - Riptide("8BE6D8"), - Cardinal_Pink("8C055E"), - Mule_Fawn("8C472F"), - Potters_Clay("8C5738"), - Trendy_Pink("8C6495"), - Paprika("8D0226"), - Sanguine_Brown("8D3D38"), - Tosca("8D3F3F"), - Cement("8D7662"), - Granite_Green("8D8974"), - Manatee("8D90A1"), - Polo_Blue("8DA8CC"), - Red_Berry("8E0000"), - Rope("8E4D1E"), - Opium("8E6F70"), - Domino("8E775E"), - Mamba("8E8190"), - Nepal("8EABC1"), - Pohutukawa("8F021C"), - El_Salva("8F3E33"), - Korma("8F4B0E"), - Squirrel("8F8176"), - Vista_Blue("8FD6B4"), - Burgundy("900020"), - Old_Brick("901E1E"), - Hemp("907874"), - Almond_Frost("907B71"), - Sycamore("908D39"), - Sangria("92000A"), - Cumin("924321"), - Beaver("926F5B"), - Stonewall("928573"), - Venus("928590"), - Medium_Purple("9370DB"), - Cornflower("93CCEA"), - Algae_Green("93DFB8"), - Copper_Rust("944747"), - Arrowtown("948771"), - Scarlett("950015"), - Strikemaster("956387"), - Mountain_Mist("959396"), - Carmine("960018"), - Brown("964B00"), - Leather("967059"), - Purple_Mountains_Majesty("9678B6"), - Lavender_Purple("967BB6"), - Pewter("96A8A1"), - Summer_Green("96BBAB"), - Au_Chico("97605D"), - Wisteria("9771B5"), - Atlantis("97CD2D"), - Vin_Rouge("983D61"), - Lilac_Bush("9874D3"), - Bazaar("98777B"), - Hacienda("98811B"), - Pale_Oyster("988D77"), - Mint_Green("98FF98"), - Fresh_Eggplant("990066"), - Violet_Eggplant("991199"), - Tamarillo("991613"), - Totem_Pole("991B07"), - Copper_Rose("996666"), - Amethyst("9966CC"), - Mountbatten_Pink("997A8D"), - Blue_Bell("9999CC"), - Prairie_Sand("9A3820"), - Toast("9A6E61"), - Gurkha("9A9577"), - Olivine("9AB973"), - Shadow_Green("9AC2B8"), - Oregon("9B4703"), - Lemon_Grass("9B9E8F"), - Stiletto("9C3336"), - Hawaiian_Tan("9D5616"), - Gull_Gray("9DACB7"), - Pistachio("9DC209"), - Granny_Smith_Apple("9DE093"), - Anakiwa("9DE5FF"), - Chelsea_Gem("9E5302"), - Sepia_Skin("9E5B40"), - Sage("9EA587"), - Citron("9EA91F"), - Rock_Blue("9EB1CD"), - Morning_Glory("9EDEE0"), - Cognac("9F381D"), - Reef_Gold("9F821C"), - Star_Dust("9F9F9C"), - Santas_Gray("9FA0B1"), - Sinbad("9FD7D3"), - Feijoa("9FDD8C"), - Tabasco("A02712"), - Buttered_Rum("A1750D"), - Hit_Gray("A1ADB5"), - Citrus("A1C50A"), - Aqua_Island("A1DAD7"), - Water_Leaf("A1E9DE"), - Flirt("A2006D"), - Rouge("A23B6C"), - Cape_Palliser("A26645"), - Gray_Chateau("A2AAB3"), - Edward("A2AEAB"), - Pharlap("A3807B"), - Amethyst_Smoke("A397B4"), - Blizzard_Blue("A3E3ED"), - Delta("A4A49D"), - Wistful("A4A6D3"), - Green_Smoke("A4AF6E"), - Jazzberry_Jam("A50B5E"), - Zorba("A59B91"), - Bahia("A5CB0C"), - Roof_Terracotta("A62F20"), - Paarl("A65529"), - Barley_Corn("A68B5B"), - Donkey_Brown("A69279"), - Dawn("A6A29A"), - Mexican_Red("A72525"), - Luxor_Gold("A7882C"), - Rich_Gold("A85307"), - Reno_Sand("A86515"), - Coral_Tree("A86B6B"), - Dusty_Gray("A8989B"), - Dull_Lavender("A899E6"), - Tallow("A8A589"), - Bud("A8AE9C"), - Locust("A8AF8E"), - Norway("A8BD9F"), - Chinook("A8E3BD"), - Gray_Olive("A9A491"), - Aluminium("A9ACB6"), - Cadet_Blue("A9B2C3"), - Schist("A9B497"), - Tower_Gray("A9BDBF"), - Perano("A9BEF2"), - Opal("A9C6C2"), - Night_Shadz("AA375A"), - Fire("AA4203"), - Muesli("AA8B5B"), - Sandal("AA8D6F"), - Shady_Lady("AAA5A9"), - Logan("AAA9CD"), - Spun_Pearl("AAABB7"), - Regent_St_Blue("AAD6E6"), - Magic_Mint("AAF0D1"), - Lipstick("AB0563"), - Royal_Heath("AB3472"), - Sandrift("AB917A"), - Cold_Purple("ABA0D9"), - Bronco("ABA196"), - Limed_Oak("AC8A56"), - East_Side("AC91CE"), - Lemon_Ginger("AC9E22"), - Napa("ACA494"), - Hillary("ACA586"), - Cloudy("ACA59F"), - Silver_Chalice("ACACAC"), - Swamp_Green("ACB78E"), - Spring_Rain("ACCBB1"), - Conifer("ACDD4D"), - Celadon("ACE1AF"), - Mandalay("AD781B"), - Casper("ADBED1"), - Moss_Green("ADDFAD"), - Padua("ADE6C4"), - Green_Yellow("ADFF2F"), - Hippie_Pink("AE4560"), - Desert("AE6020"), - Bouquet("AE809E"), - Medium_Carmine("AF4035"), - Apple_Blossom("AF4D43"), - Brown_Rust("AF593E"), - Driftwood("AF8751"), - Alpine("AF8F2C"), - Lucky("AF9F1C"), - Martini("AFA09E"), - Bombay("AFB1B8"), - Pigeon_Post("AFBDD9"), - Cadillac("B04C6A"), - Matrix("B05D54"), - Tapestry("B05E81"), - Mai_Tai("B06608"), - Del_Rio("B09A95"), - Powder_Blue("B0E0E6"), - Inch_Worm("B0E313"), - Bright_Red("B10000"), - Vesuvius("B14A0B"), - Pumpkin_Skin("B1610B"), - Santa_Fe("B16D52"), - Teak("B19461"), - Fringy_Flower("B1E2C1"), - Ice_Cold("B1F4E7"), - Shiraz("B20931"), - Biloba_Flower("B2A1EA"), - Tall_Poppy("B32D29"), - Fiery_Orange("B35213"), - Hot_Toddy("B38007"), - Taupe_Gray("B3AF95"), - La_Rioja("B3C110"), - Well_Read("B43332"), - Blush("B44668"), - Jungle_Mist("B4CFD3"), - Turkish_Rose("B57281"), - Lavender("B57EDC"), - Mongoose("B5A27F"), - Olive_Green("B5B35C"), - Jet_Stream("B5D2CE"), - Cruise("B5ECDF"), - Hibiscus("B6316C"), - Thatch("B69D98"), - Heathered_Gray("B6B095"), - Eagle("B6BAA4"), - Spindle("B6D1EA"), - Gum_Leaf("B6D3BF"), - Rust("B7410E"), - Muddy_Waters("B78E5C"), - Sahara("B7A214"), - Husk("B7A458"), - Nobel("B7B1B1"), - Heather("B7C3D0"), - Madang("B7F0BE"), - Milano_Red("B81104"), - Copper("B87333"), - Gimblet("B8B56A"), - Green_Spring("B8C1B1"), - Celery("B8C25D"), - Sail("B8E0F9"), - Chestnut("B94E48"), - Crail("B95140"), - Marigold("B98D28"), - Wild_Willow("B9C46A"), - Rainee("B9C8AC"), - Guardsman_Red("BA0101"), - Rock_Spray("BA450C"), - Bourbon("BA6F1E"), - Pirate_Gold("BA7F03"), - Nomad("BAB1A2"), - Submarine("BAC7C9"), - Charlotte("BAEEF9"), - Medium_Red_Violet("BB3385"), - Brandy_Rose("BB8983"), - Rio_Grande("BBD009"), - Surf("BBD7C1"), - Powder_Ash("BCC9C2"), - Tuscany("BD5E2E"), - Quicksand("BD978E"), - Silk("BDB1A8"), - Malta("BDB2A1"), - Chatelle("BDB3C7"), - Lavender_Gray("BDBBD7"), - French_Gray("BDBDC6"), - Clay_Ash("BDC8B3"), - Loblolly("BDC9CE"), - French_Pass("BDEDFD"), - London_Hue("BEA6C3"), - Pink_Swan("BEB5B7"), - Fuego("BEDE0D"), - Rose_of_Sharon("BF5500"), - Tide("BFB8B0"), - Blue_Haze("BFBED8"), - Silver_Sand("BFC1C2"), - Key_Lime_Pie("BFC921"), - Ziggurat("BFDBE2"), - Lime("BFFF00"), - Thunderbird("C02B18"), - Mojo("C04737"), - Old_Rose("C08081"), - Silver("C0C0C0"), - Pale_Leaf("C0D3B9"), - Pixie_Green("C0D8B6"), - Tia_Maria("C1440E"), - Fuchsia_Pink("C154C1"), - Buddha_Gold("C1A004"), - Bison_Hide("C1B7A4"), - Tea("C1BAB0"), - Gray_Suit("C1BECD"), - Sprout("C1D7B0"), - Sulu("C1F07C"), - Indochine("C26B03"), - Twine("C2955D"), - Cotton_Seed("C2BDB6"), - Pumice("C2CAC4"), - Jagged_Ice("C2E8E5"), - Maroon_Flush("C32148"), - Indian_Khaki("C3B091"), - Pale_Slate("C3BFC1"), - Gray_Nickel("C3C3BD"), - Periwinkle_Gray("C3CDE6"), - Tiara("C3D1D1"), - Tropical_Blue("C3DDF9"), - Cardinal("C41E3A"), - Fuzzy_Wuzzy_Brown("C45655"), - Orange_Roughy("C45719"), - Mist_Gray("C4C4BC"), - Coriander("C4D0B0"), - Mint_Tulip("C4F4EB"), - Mulberry("C54B8C"), - Nugget("C59922"), - Tussock("C5994B"), - Sea_Mist("C5DBCA"), - Yellow_Green("C5E17A"), - Brick_Red("C62D42"), - Contessa("C6726B"), - Oriental_Pink("C69191"), - Roti("C6A84B"), - Ash("C6C3B5"), - Kangaroo("C6C8BD"), - Las_Palmas("C6E610"), - Monza("C7031E"), - Red_Violet("C71585"), - Coral_Reef("C7BCA2"), - Melrose("C7C1FF"), - Cloud("C7C4BF"), - Ghost("C7C9D5"), - Pine_Glade("C7CD90"), - Botticelli("C7DDE5"), - Antique_Brass("C88A65"), - Lilac("C8A2C8"), - Hokey_Pokey("C8A528"), - Lily("C8AABF"), - Laser("C8B568"), - Edgewater("C8E3D7"), - Piper("C96323"), - Pizza("C99415"), - Light_Wisteria("C9A0DC"), - Rodeo_Dust("C9B29B"), - Sundance("C9B35B"), - Earls_Green("C9B93B"), - Silver_Rust("C9C0BB"), - Conch("C9D9D2"), - Reef("C9FFA2"), - Aero_Blue("C9FFE5"), - Flush_Mahogany("CA3435"), - Turmeric("CABB48"), - Paris_White("CADCD4"), - Bitter_Lemon("CAE00D"), - Skeptic("CAE6DA"), - Viola("CB8FA9"), - Foggy_Gray("CBCAB6"), - Green_Mist("CBD3B0"), - Nebula("CBDBD6"), - Persian_Red("CC3333"), - Burnt_Orange("CC5500"), - Ochre("CC7722"), - Puce("CC8899"), - Thistle_Green("CCCAA8"), - Periwinkle("CCCCFF"), - Electric_Lime("CCFF00"), - Tenn("CD5700"), - Chestnut_Rose("CD5C5C"), - Brandy_Punch("CD8429"), - Onahau("CDF4FF"), - Sorrell_Brown("CEB98F"), - Cold_Turkey("CEBABA"), - Yuma("CEC291"), - Chino("CEC7A7"), - Eunry("CFA39D"), - Old_Gold("CFB53B"), - Tasman("CFDCCF"), - Surf_Crest("CFE5D2"), - Humming_Bird("CFF9F3"), - Scandal("CFFAF4"), - Red_Stage("D05F04"), - Hopbush("D06DA1"), - Meteor("D07D12"), - Perfume("D0BEF8"), - Prelude("D0C0E5"), - Tea_Green("D0F0C0"), - Geebung("D18F1B"), - Vanilla("D1BEA8"), - Soft_Amber("D1C6B4"), - Celeste("D1D2CA"), - Mischka("D1D2DD"), - Pear("D1E231"), - Hot_Cinnamon("D2691E"), - Raw_Sienna("D27D46"), - Careys_Pink("D29EAA"), - Tan("D2B48C"), - Deco("D2DA97"), - Blue_Romance("D2F6DE"), - Gossip("D2F8B0"), - Sisal("D3CBBA"), - Swirl("D3CDC5"), - Charm("D47494"), - Clam_Shell("D4B6AF"), - Straw("D4BF8D"), - Akaroa("D4C4A8"), - Bird_Flower("D4CD16"), - Iron("D4D7D9"), - Geyser("D4DFE2"), - Hawkes_Blue("D4E2FC"), - Grenadier("D54600"), - Can_Can("D591A4"), - Whiskey("D59A6F"), - Winter_Hazel("D5D195"), - Granny_Apple("D5F6E3"), - My_Pink("D69188"), - Tacha("D6C562"), - Moon_Raker("D6CEF6"), - Quill_Gray("D6D6D1"), - Snowy_Mint("D6FFDB"), - New_York_Pink("D7837F"), - Pavlova("D7C498"), - Fog("D7D0FF"), - Valencia("D84437"), - Japonica("D87C63"), - Thistle("D8BFD8"), - Maverick("D8C2D5"), - Foam("D8FCFA"), - Cabaret("D94972"), - Burning_Sand("D99376"), - Cameo("D9B99B"), - Timberwolf("D9D6CF"), - Tana("D9DCC1"), - Link_Water("D9E4F5"), - Mabel("D9F7FF"), - Cerise("DA3287"), - Flame_Pea("DA5B38"), - Bamboo("DA6304"), - Red_Damask("DA6A41"), - Orchid("DA70D6"), - Copperfield("DA8A67"), - Golden_Grass("DAA520"), - Zanah("DAECD6"), - Iceberg("DAF4F0"), - Oyster_Bay("DAFAFF"), - Cranberry("DB5079"), - Petite_Orchid("DB9690"), - Di_Serria("DB995E"), - Alto("DBDBDB"), - Frosted_Mint("DBFFF8"), - Crimson("DC143C"), - Punch("DC4333"), - Galliano("DCB20C"), - Blossom("DCB4BC"), - Wattle("DCD747"), - Westar("DCD9D2"), - Moon_Mist("DCDDCC"), - Caper("DCEDB4"), - Swans_Down("DCF0EA"), - Swiss_Coffee("DDD6D5"), - White_Ice("DDF9F1"), - Cerise_Red("DE3163"), - Roman("DE6360"), - Tumbleweed("DEA681"), - Gold_Tips("DEBA13"), - Brandy("DEC196"), - Wafer("DECBC6"), - Sapling("DED4A4"), - Barberry("DED717"), - Beryl_Green("DEE5C0"), - Pattens_Blue("DEF5FF"), - Heliotrope("DF73FF"), - Apache("DFBE6F"), - Chenin("DFCD6F"), - Lola("DFCFDB"), - Willow_Brook("DFECDA"), - Chartreuse_Yellow("DFFF00"), - Mauve("E0B0FF"), - Anzac("E0B646"), - Harvest_Gold("E0B974"), - Calico("E0C095"), - Baby_Blue("E0FFFF"), - Sunglo("E16865"), - Equator("E1BC64"), - Pink_Flare("E1C0C8"), - Periglacial_Blue("E1E6D6"), - Kidnapper("E1EAD4"), - Tara("E1F6E8"), - Mandy("E25465"), - Terracotta("E2725B"), - Golden_Bell("E28913"), - Shocking("E292C0"), - Dixie("E29418"), - Light_Orchid("E29CD2"), - Snuff("E2D8ED"), - Mystic("E2EBED"), - Apple_Green("E2F3EC"), - Razzmatazz("E30B5C"), - Alizarin_Crimson("E32636"), - Cinnabar("E34234"), - Cavern_Pink("E3BEBE"), - Peppermint("E3F5E1"), - Mindaro("E3F988"), - Deep_Blush("E47698"), - Gamboge("E49B0F"), - Melanie("E4C2D5"), - Twilight("E4CFDE"), - Bone("E4D1C0"), - Sunflower("E4D422"), - Grain_Brown("E4D5B7"), - Zombie("E4D69B"), - Frostee("E4F6E7"), - Snow_Flurry("E4FFD1"), - Amaranth("E52B50"), - Zest("E5841B"), - Dust_Storm("E5CCC9"), - Stark_White("E5D7BD"), - Hampton("E5D8AF"), - Bon_Jour("E5E0E1"), - Mercury("E5E5E5"), - Polar("E5F9F6"), - Trinidad("E64E03"), - Gold_Sand("E6BE8A"), - Cashmere("E6BEA5"), - Double_Spanish_White("E6D7B9"), - Satin_Linen("E6E4D4"), - Harp("E6F2EA"), - Off_Green("E6F8F3"), - Hint_of_Green("E6FFE9"), - Tranquil("E6FFFF"), - Mango_Tango("E77200"), - Christine("E7730A"), - Tonys_Pink("E79F8C"), - Kobi("E79FC4"), - Rose_Fog("E7BCB4"), - Corn("E7BF05"), - Putty("E7CD8C"), - Gray_Nurse("E7ECE6"), - Lily_White("E7F8FF"), - Bubbles("E7FEFF"), - Fire_Bush("E89928"), - Shilo("E8B9B3"), - Pearl_Bush("E8E0D5"), - Green_White("E8EBE0"), - Chrome_White("E8F1D4"), - Gin("E8F2EB"), - Aqua_Squeeze("E8F5F2"), - Clementine("E96E00"), - Burnt_Sienna("E97451"), - Tahiti_Gold("E97C07"), - Oyster_Pink("E9CECD"), - Confetti("E9D75A"), - Ebb("E9E3E3"), - Ottoman("E9F8ED"), - Clear_Day("E9FFFD"), - Carissma("EA88A8"), - Porsche("EAAE69"), - Tulip_Tree("EAB33B"), - Rob_Roy("EAC674"), - Raffia("EADAB8"), - White_Rock("EAE8D4"), - Panache("EAF6EE"), - Solitude("EAF6FF"), - Aqua_Spring("EAF9F5"), - Dew("EAFFFE"), - Apricot("EB9373"), - Zinnwaldite("EBC2AF"), - Fuel_Yellow("ECA927"), - Ronchi("ECC54E"), - French_Lilac("ECC7EE"), - Just_Right("ECCDB9"), - Wild_Rice("ECE090"), - Fall_Green("ECEBBD"), - Aths_Special("ECEBCE"), - Starship("ECF245"), - Red_Ribbon("ED0A3F"), - Tango("ED7A1C"), - Carrot_Orange("ED9121"), - Sea_Pink("ED989E"), - Tacao("EDB381"), - Desert_Sand("EDC9AF"), - Pancho("EDCDAB"), - Chamois("EDDCB1"), - Primrose("EDEA99"), - Frost("EDF5DD"), - Aqua_Haze("EDF5F5"), - Zumthor("EDF6FF"), - Narvik("EDF9F1"), - Honeysuckle("EDFC84"), - Lavender_Magenta("EE82EE"), - Beauty_Bush("EEC1BE"), - Chalky("EED794"), - Almond("EED9C4"), - Flax("EEDC82"), - Bizarre("EEDEDA"), - Double_Colonial_White("EEE3AD"), - Cararra("EEEEE8"), - Manz("EEEF78"), - Tahuna_Sands("EEF0C8"), - Athens_Gray("EEF0F3"), - Tusk("EEF3C3"), - Loafer("EEF4DE"), - Catskill_White("EEF6F7"), - Twilight_Blue("EEFDFF"), - Jonquil("EEFF9A"), - Rice_Flower("EEFFE2"), - Jaffa("EF863F"), - Gallery("EFEFEF"), - Porcelain("EFF2F3"), - Mauvelous("F091A9"), - Golden_Dream("F0D52D"), - Golden_Sand("F0DB7D"), - Buff("F0DC82"), - Prim("F0E2EC"), - Khaki("F0E68C"), - Selago("F0EEFD"), - Titan_White("F0EEFF"), - Alice_Blue("F0F8FF"), - Feta("F0FCEA"), - Gold_Drop("F18200"), - Wewak("F19BAB"), - Sahara_Sand("F1E788"), - Parchment("F1E9D2"), - Blue_Chalk("F1E9FF"), - Mint_Julep("F1EEC1"), - Seashell("F1F1F1"), - Saltpan("F1F7F2"), - Tidal("F1FFAD"), - Chiffon("F1FFC8"), - Flamingo("F2552A"), - Tangerine("F28500"), - Mandys_Pink("F2C3B2"), - Concrete("F2F2F2"), - Black_Squeeze("F2FAFA"), - Pomegranate("F34723"), - Buttercup("F3AD16"), - New_Orleans("F3D69D"), - Vanilla_Ice("F3D9DF"), - Sidecar("F3E7BB"), - Dawn_Pink("F3E9E5"), - Wheatfield("F3EDCF"), - Canary("F3FB62"), - Orinoco("F3FBD4"), - Carla("F3FFD8"), - Hollywood_Cerise("F400A1"), - Sandy_brown("F4A460"), - Saffron("F4C430"), - Ripe_Lemon("F4D81C"), - Janna("F4EBD3"), - Pampas("F4F2EE"), - Wild_Sand("F4F4F4"), - Zircon("F4F8FF"), - Froly("F57584"), - Cream_Can("F5C85C"), - Manhattan("F5C999"), - Maize("F5D5A0"), - Wheat("F5DEB3"), - Sandwisp("F5E7A2"), - Pot_Pourri("F5E7E2"), - Albescent_White("F5E9D3"), - Soft_Peach("F5EDEF"), - Ecru_White("F5F3E5"), - Beige("F5F5DC"), - Golden_Fizz("F5FB3D"), - Australian_Mint("F5FFBE"), - French_Rose("F64A8A"), - Brilliant_Rose("F653A6"), - Illusion("F6A4C9"), - Merino("F6F0E6"), - Black_Haze("F6F7F7"), - Spring_Sun("F6FFDC"), - Violet_Red("F7468A"), - Chilean_Fire("F77703"), - Persian_Pink("F77FBE"), - Rajah("F7B668"), - Azalea("F7C8DA"), - We_Peep("F7DBE6"), - Quarter_Spanish_White("F7F2E1"), - Whisper("F7F5FA"), - Snow_Drift("F7FAF7"), - Casablanca("F8B853"), - Chantilly("F8C3DF"), - Cherub("F8D9E9"), - Marzipan("F8DB9D"), - Energy_Yellow("F8DD5C"), - Givry("F8E4BF"), - White_Linen("F8F0E8"), - Magnolia("F8F4FF"), - Spring_Wood("F8F6F1"), - Coconut_Cream("F8F7DC"), - White_Lilac("F8F7FC"), - Desert_Storm("F8F8F7"), - Texas("F8F99C"), - Corn_Field("F8FACD"), - Mimosa("F8FDD3"), - Carnation("F95A61"), - Saffron_Mango("F9BF58"), - Carousel_Pink("F9E0ED"), - Dairy_Cream("F9E4BC"), - Portica("F9E663"), - Amour("F9EAF3"), - Rum_Swizzle("F9F8E4"), - Dolly("F9FF8B"), - Sugar_Cane("F9FFF6"), - Ecstasy("FA7814"), - Tan_Hide("FA9D5A"), - Corvette("FAD3A2"), - Peach_Yellow("FADFAD"), - Turbo("FAE600"), - Astra("FAEAB9"), - Champagne("FAECCC"), - Linen("FAF0E6"), - Fantasy("FAF3F0"), - Citrine_White("FAF7D6"), - Alabaster("FAFAFA"), - Hint_of_Yellow("FAFDE4"), - Milan("FAFFA4"), - Brink_Pink("FB607F"), - Geraldine("FB8989"), - Lavender_Rose("FBA0E3"), - Sea_Buckthorn("FBA129"), - Sun("FBAC13"), - Lavender_Pink("FBAED2"), - Rose_Bud("FBB2A3"), - Cupid("FBBEDA"), - Classic_Rose("FBCCE7"), - Apricot_Peach("FBCEB1"), - Banana_Mania("FBE7B2"), - Marigold_Yellow("FBE870"), - Festival("FBE96C"), - Sweet_Corn("FBEA8C"), - Candy_Corn("FBEC5D"), - Hint_of_Red("FBF9F9"), - Shalimar("FBFFBA"), - Shocking_Pink("FC0FC0"), - Tickle_Me_Pink("FC80A5"), - Tree_Poppy("FC9C1D"), - Lightning_Yellow("FCC01E"), - Goldenrod("FCD667"), - Candlelight("FCD917"), - Cherokee("FCDA98"), - Double_Pearl_Lusta("FCF4D0"), - Pearl_Lusta("FCF4DC"), - Vista_White("FCF8F7"), - Bianca("FCFBF3"), - Moon_Glow("FCFEDA"), - China_Ivory("FCFFE7"), - Ceramic("FCFFF9"), - Torch_Red("FD0E35"), - Wild_Watermelon("FD5B78"), - Crusta("FD7B33"), - Sorbus("FD7C07"), - Sweet_Pink("FD9FA2"), - Light_Apricot("FDD5B1"), - Pig_Pink("FDD7E4"), - Cinderella("FDE1DC"), - Golden_Glow("FDE295"), - Lemon("FDE910"), - Old_Lace("FDF5E6"), - Half_Colonial_White("FDF6D3"), - Drover("FDF7AD"), - Pale_Prim("FDFEB8"), - Cumulus("FDFFD5"), - Persian_Rose("FE28A2"), - Sunset_Orange("FE4C40"), - Bittersweet("FE6F5E"), - California("FE9D04"), - Yellow_Sea("FEA904"), - Melon("FEBAAD"), - Bright_Sun("FED33C"), - Dandelion("FED85D"), - Salomie("FEDB8D"), - Cape_Honey("FEE5AC"), - Remy("FEEBF3"), - Oasis("FEEFCE"), - Bridesmaid("FEF0EC"), - Beeswax("FEF2C7"), - Bleach_White("FEF3D8"), - Pipi("FEF4CC"), - Half_Spanish_White("FEF4DB"), - Wisp_Pink("FEF4F8"), - Provincial_Pink("FEF5F1"), - Half_Dutch_White("FEF7DE"), - Solitaire("FEF8E2"), - White_Pointer("FEF8FF"), - Off_Yellow("FEF9E3"), - Orange_White("FEFCED"), - Red("FF0000"), - Rose("FF007F"), - Purple_Pizzazz("FF00CC"), - Magenta("FF00FF", "Fuchsia"), - Scarlet("FF2400"), - Wild_Strawberry("FF3399"), - Razzle_Dazzle_Rose("FF33CC"), - Radical_Red("FF355E"), - Red_Orange("FF3F34"), - Coral_Red("FF4040"), - Vermilion("FF4D00"), - International_Orange("FF4F00"), - Outrageous_Orange("FF6037"), - Blaze_Orange("FF6600"), - Pink_Flamingo("FF66FF"), - Orange("FF681F"), - Hot_Pink("FF69B4"), - Persimmon("FF6B53"), - Blush_Pink("FF6FFF"), - Burning_Orange("FF7034"), - Pumpkin("FF7518"), - Flamenco("FF7D07"), - Flush_Orange("FF7F00"), - Coral("FF7F50"), - Salmon("FF8C69"), - Pizazz("FF9000"), - West_Side("FF910F"), - Pink_Salmon("FF91A4"), - Neon_Carrot("FF9933"), - Atomic_Tangerine("FF9966"), - Vivid_Tangerine("FF9980"), - Sunshade("FF9E2C"), - Orange_Peel("FFA000"), - Mona_Lisa("FFA194"), - Web_Orange("FFA500"), - Carnation_Pink("FFA6C9"), - Hit_Pink("FFAB81"), - Yellow_Orange("FFAE42"), - Cornflower_Lilac("FFB0AC"), - Sundown("FFB1B3"), - My_Sin("FFB31F"), - Texas_Rose("FFB555"), - Cotton_Candy("FFB7D5"), - Macaroni_and_Cheese("FFB97B"), - Selective_Yellow("FFBA00"), - Koromiko("FFBD5F"), - Amber("FFBF00"), - Wax_Flower("FFC0A8"), - Pink("FFC0CB"), - Your_Pink("FFC3C0"), - Supernova("FFC901"), - Flesh("FFCBA4"), - Sunglow("FFCC33"), - Golden_Tainoi("FFCC5C"), - Peach_Orange("FFCC99"), - Chardonnay("FFCD8C"), - Pastel_Pink("FFD1DC"), - Romantic("FFD2B7"), - Grandis("FFD38C"), - Gold("FFD700"), - School_bus_Yellow("FFD800"), - Cosmos("FFD8D9"), - Mustard("FFDB58"), - Peach_Schnapps("FFDCD6"), - Caramel("FFDDAF"), - Tuft_Bush("FFDDCD"), - Watusi("FFDDCF"), - Pink_Lace("FFDDF4"), - Navajo_White("FFDEAD"), - Frangipani("FFDEB3"), - Pippin("FFE1DF"), - Pale_Rose("FFE1F2"), - Negroni("FFE2C5"), - Cream_Brulee("FFE5A0"), - Peach("FFE5B4"), - Tequila("FFE6C7"), - Kournikova("FFE772"), - Sandy_Beach("FFEAC8"), - Karry("FFEAD4"), - Broom("FFEC13"), - Colonial_White("FFEDBC"), - Derby("FFEED8"), - Vis_Vis("FFEFA1"), - Egg_White("FFEFC1"), - Papaya_Whip("FFEFD5"), - Fair_Pink("FFEFEC"), - Peach_Cream("FFF0DB"), - Lavender_blush("FFF0F5"), - Gorse("FFF14F"), - Buttermilk("FFF1B5"), - Pink_Lady("FFF1D8"), - Forget_Me_Not("FFF1EE"), - Tutu("FFF1F9"), - Picasso("FFF39D"), - Chardon("FFF3F1"), - Paris_Daisy("FFF46E"), - Barley_White("FFF4CE"), - Egg_Sour("FFF4DD"), - Sazerac("FFF4E0"), - Serenade("FFF4E8"), - Chablis("FFF4F3"), - Seashell_Peach("FFF5EE"), - Sauvignon("FFF5F3"), - Milk_Punch("FFF6D4"), - Varden("FFF6DF"), - Rose_White("FFF6F5"), - Baja_White("FFF8D1"), - Gin_Fizz("FFF9E2"), - Early_Dawn("FFF9E6"), - Lemon_Chiffon("FFFACD"), - Bridal_Heath("FFFAF4"), - Scotch_Mist("FFFBDC"), - Soapstone("FFFBF9"), - Witch_Haze("FFFC99"), - Buttery_White("FFFCEA"), - Island_Spice("FFFCEE"), - Cream("FFFDD0"), - Chilean_Heath("FFFDE6"), - Travertine("FFFDE8"), - Orchid_White("FFFDF3"), - Quarter_Pearl_Lusta("FFFDF4"), - Half_and_Half("FFFEE1"), - Apricot_White("FFFEEC"), - Rice_Cake("FFFEF0"), - Black_White("FFFEF6"), - Romance("FFFEFD"), - Yellow("FFFF00"), - Laser_Lemon("FFFF66"), - Pale_Canary("FFFF99"), - Portafino("FFFFB4"), - Ivory("FFFFF0"), - White("FFFFFF"); - - private String hex; - private String[] extra; - private long rgb = 0; - - CMICustomColors(String hex, String... extra) { - this.hex = hex.toLowerCase(); - this.extra = extra; - rgb = Long.parseLong(hex, 16); - } - - public String getHex() { - return hex; - } - - public String[] getExtra() { - return extra; - } - - public long getRgb() { - return rgb; - } -} \ No newline at end of file diff --git a/src/main/java/com/gamingmesh/jobs/CMILib/CMIEnchantment.java b/src/main/java/com/gamingmesh/jobs/CMILib/CMIEnchantment.java index a708eab7..778f16d5 100644 --- a/src/main/java/com/gamingmesh/jobs/CMILib/CMIEnchantment.java +++ b/src/main/java/com/gamingmesh/jobs/CMILib/CMIEnchantment.java @@ -8,7 +8,7 @@ import java.util.Map; import org.bukkit.enchantments.Enchantment; -import com.gamingmesh.jobs.stuff.Util; +import net.Zrips.CMILib.Container.CMIText; public enum CMIEnchantment { @@ -206,7 +206,7 @@ public enum CMIEnchantment { } public String getName() { - return Util.firstToUpperCase(toString()); + return CMIText.firstToUpperCase(toString()); } public static String getName(Enchantment enchant) { diff --git a/src/main/java/com/gamingmesh/jobs/CMILib/CMIEntityType.java b/src/main/java/com/gamingmesh/jobs/CMILib/CMIEntityType.java deleted file mode 100644 index 968960b4..00000000 --- a/src/main/java/com/gamingmesh/jobs/CMILib/CMIEntityType.java +++ /dev/null @@ -1,377 +0,0 @@ -package com.gamingmesh.jobs.CMILib; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; - -import org.bukkit.block.CreatureSpawner; -import org.bukkit.entity.EntityType; -import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.BlockStateMeta; - -public enum CMIEntityType { - - DROPPED_ITEM(1, "Item"), - EXPERIENCE_ORB(2, "Experience Orb"), - AREA_EFFECT_CLOUD(3, "Area Effect Cloud"), - ELDER_GUARDIAN(4, "Elder Guardian", Arrays.asList( - "MWM3OTc0ODJhMTRiZmNiODc3MjU3Y2IyY2ZmMWI2ZTZhOGI4NDEzMzM2ZmZiNGMyOWE2MTM5Mjc4YjQzNmIifX19")), - WITHER_SKELETON(5, "Wither Skeleton", Arrays.asList( - "Nzk1M2I2YzY4NDQ4ZTdlNmI2YmY4ZmIyNzNkNzIwM2FjZDhlMWJlMTllODE0ODFlYWQ1MWY0NWRlNTlhOCJ9fX0=", - "NDk2YmM4ZWJkNGUxM2Y0OTZkOGQ3NGM1NjVkZDU2ZTk5YTRhZjJlMmVhN2EyN2E5NmMxYWJkMjg0MTg0YiJ9fX0=", - "ZjVlYzk2NDY0NWE4ZWZhYzc2YmUyZjE2MGQ3Yzk5NTYzNjJmMzJiNjUxNzM5MGM1OWMzMDg1MDM0ZjA1MGNmZiJ9fX0=")), - STRAY(6, "Stray", Arrays.asList( - "NzhkZGY3NmU1NTVkZDVjNGFhOGEwYTVmYzU4NDUyMGNkNjNkNDg5YzI1M2RlOTY5ZjdmMjJmODVhOWEyZDU2In19fQ==")), - EGG(7, "Thrown Egg"), - LEASH_HITCH(8, "Leash Knot"), - PAINTING(9, "Painting"), - ARROW(10, "Arrow"), - SNOWBALL(11, "Snowball"), - FIREBALL(12, "Fireball"), - SMALL_FIREBALL(13, "Small Fireball"), - ENDER_PEARL(14, "Thrown Ender Pearl"), - ENDER_SIGNAL(15, "End Signal"), - SPLASH_POTION(16, "Splash Potion"), - THROWN_EXP_BOTTLE(17, "Thrown Bottle o' Enchanting"), - ITEM_FRAME(18, "Item Frame"), - WITHER_SKULL(19, "Wither Skull"), - PRIMED_TNT(20, "Primed TNT"), - FALLING_BLOCK(21, "Falling Block"), - FIREWORK(22, "Firework Rocket"), - HUSK(23, "Husk", Arrays.asList( - "Nzc3MDY4MWQxYTI1NWZiNGY3NTQ3OTNhYTA1NWIyMjA0NDFjZGFiOWUxMTQxZGZhNTIzN2I0OTkzMWQ5YjkxYyJ9fX0=")), - SPECTRAL_ARROW(24, "Spectral Arrow"), - SHULKER_BULLET(25, "Shulker Bullet"), - DRAGON_FIREBALL(26, "Dragon Fireball"), - ZOMBIE_VILLAGER(27, "Zombie Villager", Arrays.asList( - "NDRmMDhlYmQ0ZTI1Y2RhM2FkZTQ1Yjg2MzM3OGFkMzc3ZjE4YzUxMGRiNGQyOGU4MmJiMjQ0NTE0MzliMzczNCJ9fX0=", - "OTYxZjE5ZmZkOGFlNDI1NzkyYzRiMTgxNzU2YWRmZjhkNDgxNzRhZWVmNThhMGYzMjdhMjhjNzQyYzcyNDQyIn19fQ==", - "NTI4YzJiYWQ1Mzg5Y2IzNTkyYjU2NWIzYzQ3ZWNjMTg5ZTA1NDJhODc4MzUwMjhkNjE0OGJiZTMzNDU2NDUifX19", - "YTE2MTU1ZmNmMzY2Y2Y0ZTA2Y2U1ZGZmYzQ4Y2E1NGU4ZWE0OGRmZTUyNTM1OGI2MTJkYzQ0ZmQ0MzIifX19", - "Y2ZmMDQ4MmZkMzJmYWIyY2U5ZjVmYTJlMmQ5YjRkYzc1NjFkYTQyMjE1MmM5OWZjODA0YjkxMzljYWYyNTZiIn19fQ==", - "MzdlODM4Y2NjMjY3NzZhMjE3YzY3ODM4NmY2YTY1NzkxZmU4Y2RhYjhjZTljYTRhYzZiMjgzOTdhNGQ4MWMyMiJ9fX0=")), - SKELETON_HORSE(28, "Skeleton Horse", Arrays.asList( - "NDdlZmZjZTM1MTMyYzg2ZmY3MmJjYWU3N2RmYmIxZDIyNTg3ZTk0ZGYzY2JjMjU3MGVkMTdjZjg5NzNhIn19fQ==")), - ZOMBIE_HORSE(29, "Zombie Horse", Arrays.asList( - "ZDIyOTUwZjJkM2VmZGRiMThkZTg2ZjhmNTVhYzUxOGRjZTczZjEyYTZlMGY4NjM2ZDU1MWQ4ZWI0ODBjZWVjIn19fQ==")), - ARMOR_STAND(30, "Armor Stand"), - DONKEY(31, "Donkey", Arrays.asList( - "ZGZiNmMzYzA1MmNmNzg3ZDIzNmEyOTE1ZjgwNzJiNzdjNTQ3NDk3NzE1ZDFkMmY4Y2JjOWQyNDFkODhhIn19fQ==")), - MULE(32, "Mule", Arrays.asList( - "YTA0ODZhNzQyZTdkZGEwYmFlNjFjZTJmNTVmYTEzNTI3ZjFjM2IzMzRjNTdjMDM0YmI0Y2YxMzJmYjVmNWYifX19")), - EVOKER_FANGS(33, "Evoker Fangs"), - EVOKER(34, "Evoker", Arrays.asList( - "YTAwZDNmZmYxNmMyZGNhNTliOWM1OGYwOTY1MjVjODY5NzExNjZkYmFlMTMzYjFiMDUwZTVlZTcxNjQ0MyJ9fX0=")), - VEX(35, "Vex", Arrays.asList( - "NWU3MzMwYzdkNWNkOGEwYTU1YWI5ZTk1MzIxNTM1YWM3YWUzMGZlODM3YzM3ZWE5ZTUzYmVhN2JhMmRlODZiIn19fQ==")), - VINDICATOR(36, "Vindicator", Arrays.asList( - "YTAwZDNmZmYxNmMyZGNhNTliOWM1OGYwOTY1MjVjODY5NzExNjZkYmFlMTMzYjFiMDUwZTVlZTcxNjQ0MyJ9fX0=")), - ILLUSIONER(37, "Illusioner", Arrays.asList( - "NTEyNTEyZTdkMDE2YTIzNDNhN2JmZjFhNGNkMTUzNTdhYjg1MTU3OWYxMzg5YmQ0ZTNhMjRjYmViODhiIn19fQ==", - "MmYyODgyZGQwOTcyM2U0N2MwYWI5NjYzZWFiMDgzZDZhNTk2OTI3MzcwNjExMGM4MjkxMGU2MWJmOGE4ZjA3ZSJ9fX0=")), - MINECART_COMMAND(40, "Minecart with Command Block"), - BOAT(41, "Boat"), - MINECART(42, "Minecart"), - MINECART_CHEST(43, "Minecart with Chest"), - MINECART_FURNACE(44, "Minecart with Furnace"), - MINECART_TNT(45, "Minecart with TNT"), - MINECART_HOPPER(46, "Minecart with Hopper"), - MINECART_MOB_SPAWNER(47, "Minecart with Spawner"), - CREEPER(50, "Creeper", Arrays.asList( - "ZjQyNTQ4MzhjMzNlYTIyN2ZmY2EyMjNkZGRhYWJmZTBiMDIxNWY3MGRhNjQ5ZTk0NDQ3N2Y0NDM3MGNhNjk1MiJ9fX0=", - "YTNmMTcyZDI5Y2Y5NGJjODk1NjA4YjdhNWRjMmFmMGRlNDljNzg4ZDViZWNiMTYwNWYxZjUzNDg4YTAxNzBiOCJ9fX0=")), - SKELETON(51, "Skeleton", Arrays.asList( - "MzAxMjY4ZTljNDkyZGExZjBkODgyNzFjYjQ5MmE0YjMwMjM5NWY1MTVhN2JiZjc3ZjRhMjBiOTVmYzAyZWIyIn19fQ==", - "Yjk1MDc4ZDNiM2IxNzAxZDQ1NzI5ZDNhMTQyMjQ2N2IyOWRiYjJlMWE5MTI4MTMzYTJmMTYzZWJlODVkMmRiOSJ9fX0=")), - SPIDER(52, "Spider", Arrays.asList( - "Y2Q1NDE1NDFkYWFmZjUwODk2Y2QyNThiZGJkZDRjZjgwYzNiYTgxNjczNTcyNjA3OGJmZTM5MzkyN2U1N2YxIn19fQ==")), - GIANT(53, "Giant"), - ZOMBIE(54, "Zombie", Arrays.asList( - "NTZmYzg1NGJiODRjZjRiNzY5NzI5Nzk3M2UwMmI3OWJjMTA2OTg0NjBiNTFhNjM5YzYwZTVlNDE3NzM0ZTExIn19fQ==", - "MzExZGQ5MWVlNGQzMWRkZDU5MWQyODMyZWExZWMwODBmMmVkZWQzM2FiODllZTFkYjhiMDRiMjZhNjhhIn19fQ==")), - SLIME(55, "Slime", Arrays.asList( - "MTZhZDIwZmMyZDU3OWJlMjUwZDNkYjY1OWM4MzJkYTJiNDc4YTczYTY5OGI3ZWExMGQxOGM5MTYyZTRkOWI1In19fQ==")), - GHAST(56, "Ghast", Arrays.asList( - "OGI2YTcyMTM4ZDY5ZmJiZDJmZWEzZmEyNTFjYWJkODcxNTJlNGYxYzk3ZTVmOTg2YmY2ODU1NzFkYjNjYzAifX19")), - PIG_ZOMBIE(57, "Zombie Pigman", Arrays.asList( - "NzRlOWM2ZTk4NTgyZmZkOGZmOGZlYjMzMjJjZDE4NDljNDNmYjE2YjE1OGFiYjExY2E3YjQyZWRhNzc0M2ViIn19fQ==")), - ENDERMAN(58, "Enderman", Arrays.asList( - "N2E1OWJiMGE3YTMyOTY1YjNkOTBkOGVhZmE4OTlkMTgzNWY0MjQ1MDllYWRkNGU2YjcwOWFkYTUwYjljZiJ9fX0=")), - CAVE_SPIDER(59, "Cave Spider", Arrays.asList( - "NDE2NDVkZmQ3N2QwOTkyMzEwN2IzNDk2ZTk0ZWViNWMzMDMyOWY5N2VmYzk2ZWQ3NmUyMjZlOTgyMjQifX19")), - SILVERFISH(60, "Silverfish", Arrays.asList( - "ZGE5MWRhYjgzOTFhZjVmZGE1NGFjZDJjMGIxOGZiZDgxOWI4NjVlMWE4ZjFkNjIzODEzZmE3NjFlOTI0NTQwIn19fQ==")), - BLAZE(61, "Blaze", Arrays.asList( - "Yjc4ZWYyZTRjZjJjNDFhMmQxNGJmZGU5Y2FmZjEwMjE5ZjViMWJmNWIzNWE0OWViNTFjNjQ2Nzg4MmNiNWYwIn19fQ==")), - MAGMA_CUBE(62, "Magma Cube", Arrays.asList( - "Mzg5NTdkNTAyM2M5MzdjNGM0MWFhMjQxMmQ0MzQxMGJkYTIzY2Y3OWE5ZjZhYjM2Yjc2ZmVmMmQ3YzQyOSJ9fX0=")), - ENDER_DRAGON(63, "Ender Dragon"), - WITHER(64, "Wither", Arrays.asList( - "ZGRhZmIyM2VmYzU3ZjI1MTg3OGU1MzI4ZDExY2IwZWVmODdiNzljODdiMjU0YTdlYzcyMjk2ZjkzNjNlZjdjIn19fQ==", - "M2U0ZjQ5NTM1YTI3NmFhY2M0ZGM4NDEzM2JmZTgxYmU1ZjJhNDc5OWE0YzA0ZDlhNGRkYjcyZDgxOWVjMmIyYiJ9fX0=", - "OTY0ZTFjM2UzMTVjOGQ4ZmZmYzM3OTg1YjY2ODFjNWJkMTZhNmY5N2ZmZDA3MTk5ZThhMDVlZmJlZjEwMzc5MyJ9fX0=", - "Y2RmNzRlMzIzZWQ0MTQzNjk2NWY1YzU3ZGRmMjgxNWQ1MzMyZmU5OTllNjhmYmI5ZDZjZjVjOGJkNDEzOWYifX19", - "YTQzNTE2NGMwNWNlYTI5OWEzZjAxNmJiYmVkMDU3MDZlYmI3MjBkYWM5MTJjZTQzNTFjMjI5NjYyNmFlY2Q5YSJ9fX0=")), - BAT(65, "Bat", Arrays.asList( - "NGNmMWIzYjNmNTM5ZDJmNjNjMTcyZTk0Y2FjZmFhMzkxZThiMzg1Y2RkNjMzZjNiOTkxYzc0ZTQ0YjI4In19fQ==")), - WITCH(66, "Witch", Arrays.asList( - "ODllOGI1ZjE1YTliMjlhMWUzODljOTUyMThmZDM3OTVmMzI4NzJlNWFlZTk0NjRhNzY0OTVjNTI3ZDIyNDUifX19")), - ENDERMITE(67, "Endermite", Arrays.asList( - "ODRhYWZmYTRjMDllMmVhZmI4NWQzNTIyMTIyZGIwYWE0NTg3NGJlYTRlM2Y1ZTc1NjZiNGQxNjZjN2RmOCJ9fX0=")), - GUARDIAN(68, "Guardian", Arrays.asList( - "ZGZiNjc1Y2I1YTdlM2ZkMjVlMjlkYTgyNThmMjRmYzAyMGIzZmE5NTAzNjJiOGJjOGViMjUyZTU2ZTc0In19fQ==")), - SHULKER(69, "Shulker", Arrays.asList( - "MWU3MzgzMmUyNzJmODg0NGM0NzY4NDZiYzQyNGEzNDMyZmI2OThjNThlNmVmMmE5ODcxYzdkMjlhZWVhNyJ9fX0=")), - PIG(90, "Pig", Arrays.asList( - "NjIxNjY4ZWY3Y2I3OWRkOWMyMmNlM2QxZjNmNGNiNmUyNTU5ODkzYjZkZjRhNDY5NTE0ZTY2N2MxNmFhNCJ9fX0=", - "YzNhYmQ0NGFlNjdkOWM5MjU0ZDE3N2U5NjU4ZGE4NDg0MzM4OWQ1ZTFmZmQyYWYxZmI1MTIxN2M3NWMyOTgifX19")), - SHEEP(91, "Sheep", Arrays.asList( - "MjZhNDExMmRmMWU0YmNlMmE1ZTI4NDE3ZjNhYWZmNzljZDY2ZTg4NWMzNzI0NTU0MTAyY2VmOGViOCJ9fX0=", - "ZjMxZjljY2M2YjNlMzJlY2YxM2I4YTExYWMyOWNkMzNkMThjOTVmYzczZGI4YTY2YzVkNjU3Y2NiOGJlNzAifX19", - "Y2UxYWM2ODM5OTNiZTM1NTEyZTFiZTMxZDFmNGY5OGU1ODNlZGIxNjU4YTllMjExOTJjOWIyM2I1Y2NjZGMzIn19fQ==", - "ODM5YWY0NzdlYjYyNzgxNWY3MjNhNTY2MjU1NmVjOWRmY2JhYjVkNDk0ZDMzOGJkMjE0MjMyZjIzZTQ0NiJ9fX0=", - "YWU1Mjg2N2FmZWYzOGJiMTRhMjZkMTQyNmM4YzBmMTE2YWQzNDc2MWFjZDkyZTdhYWUyYzgxOWEwZDU1Yjg1In19fQ==", - "MmFjNzRhMmI5YjkxNDUyZTU2ZmExZGRhNWRiODEwNzc4NTZlNDlmMjdjNmUyZGUxZTg0MWU1Yzk1YTZmYzVhYiJ9fX0=", - "ZjA5ODM5N2EyNzBiNGMzZDJiMWU1NzRiOGNmZDNjYzRlYTM0MDkwNjZjZWZlMzFlYTk5MzYzM2M5ZDU3NiJ9fX0=", - "MTgzNjU2NWM3ODk3ZDQ5YTcxYmMxODk4NmQxZWE2NTYxMzIxYTBiYmY3MTFkNDFhNTZjZTNiYjJjMjE3ZTdhIn19fQ==", - "OTJhMjQ0OGY1OGE0OTEzMzI0MzRlODVjNDVkNzg2ZDg3NDM5N2U4MzBhM2E3ODk0ZTZkOTI2OTljNDJiMzAifX19", - "MWM4YTk3YTM4ODU2NTE0YTE2NDEzZTJjOTk1MjEyODlmNGM1MzYzZGM4MmZjOWIyODM0Y2ZlZGFjNzhiODkifX19", - "YTAxNzIxNWM3ZjhkYjgyMDQwYWEyYzQ3Mjk4YjY2NTQxYzJlYjVmN2Y5MzA0MGE1ZDIzZDg4ZjA2ODdkNGIzNCJ9fX0=", - "NDI4N2ViNTAxMzkxZjI3NTM4OWYxNjZlYzlmZWJlYTc1ZWM0YWU5NTFiODhiMzhjYWU4N2RmN2UyNGY0YyJ9fX0=", - "NDZmNmM3ZTdmZDUxNGNlMGFjYzY4NTkzMjI5ZTQwZmNjNDM1MmI4NDE2NDZlNGYwZWJjY2NiMGNlMjNkMTYifX19", - "YTU1YWQ2ZTVkYjU2OTJkODdmNTE1MTFmNGUwOWIzOWZmOWNjYjNkZTdiNDgxOWE3Mzc4ZmNlODU1M2I4In19fQ==", - "ZDllYzIyODE4ZDFmYmZjODE2N2ZiZTM2NzI4YjI4MjQwZTM0ZTE2NDY5YTI5MjlkMDNmZGY1MTFiZjJjYTEifX19", - "MzI2NTIwODNmMjhlZDFiNjFmOWI5NjVkZjFhYmYwMTBmMjM0NjgxYzIxNDM1OTUxYzY3ZDg4MzY0NzQ5ODIyIn19fQ==")), - COW(92, "Cow", Arrays.asList( - "NWQ2YzZlZGE5NDJmN2Y1ZjcxYzMxNjFjNzMwNmY0YWVkMzA3ZDgyODk1ZjlkMmIwN2FiNDUyNTcxOGVkYzUifX19", - "YzVhOWNkNThkNGM2N2JjY2M4ZmIxZjVmNzU2YTJkMzgxYzlmZmFjMjkyNGI3ZjRjYjcxYWE5ZmExM2ZiNWMifX19")), - CHICKEN(93, "Chicken", Arrays.asList( - "MTYzODQ2OWE1OTljZWVmNzIwNzUzNzYwMzI0OGE5YWIxMWZmNTkxZmQzNzhiZWE0NzM1YjM0NmE3ZmFlODkzIn19fQ==")), - SQUID(94, "Squid", Arrays.asList( - "MDE0MzNiZTI0MjM2NmFmMTI2ZGE0MzRiODczNWRmMWViNWIzY2IyY2VkZTM5MTQ1OTc0ZTljNDgzNjA3YmFjIn19fQ==")), - WOLF(95, "Wolf", Arrays.asList( - "ZTk1Y2JiNGY3NWVhODc2MTdmMmY3MTNjNmQ0OWRhYzMyMDliYTFiZDRiOTM2OTY1NGIxNDU5ZWExNTMxNyJ9fX0=")), - MUSHROOM_COW(96, "Mushroom Cow", "Mooshroom", Arrays.asList( - "ZDBiYzYxYjk3NTdhN2I4M2UwM2NkMjUwN2EyMTU3OTEzYzJjZjAxNmU3YzA5NmE0ZDZjZjFmZTFiOGRiIn19fQ==")), - SNOWMAN(97, "Snowman", Arrays.asList( - "MWZkZmQxZjc1MzhjMDQwMjU4YmU3YTkxNDQ2ZGE4OWVkODQ1Y2M1ZWY3MjhlYjVlNjkwNTQzMzc4ZmNmNCJ9fX0=")), - OCELOT(98, "Ocelot", "Cat", Arrays.asList( - "YWI4ODFjMzliM2FmZGNjNzlmOTFmZTVkZTNjZGQwMTViYzMzNTM4NDNmNTkxZjRkMjNjZDMwMjdkZTRlNiJ9fX0=", - "YTc1NWU3ZGYwNGQxOGIzMWQ2M2MxN2Y0YTdiNGM3MzkyNGJkNjI2NWRhNjllMTEzZWRkZDk3NTE2ZmM3In19fQ==", - "ZjJhNjYyZjJhZTdkZWJlZTY1MjkyYzJiZjQyZmJiMDliOTdiMmZmYmRiMjcwNTIwYzJkYjk2ZTUxZDg5NDUifX19", - "NTY1N2NkNWMyOTg5ZmY5NzU3MGZlYzRkZGNkYzY5MjZhNjhhMzM5MzI1MGMxYmUxZjBiMTE0YTFkYjEifX19")), - IRON_GOLEM(99, "Iron Golem", Arrays.asList( - "ODkwOTFkNzllYTBmNTllZjdlZjk0ZDdiYmE2ZTVmMTdmMmY3ZDQ1NzJjNDRmOTBmNzZjNDgxOWE3MTQifX19")), - HORSE(100, "Horse", Arrays.asList( - "NjE5MDI4OTgzMDg3MzBjNDc0NzI5OWNiNWE1ZGE5YzI1ODM4YjFkMDU5ZmU0NmZjMzY4OTZmZWU2NjI3MjkifX19")), - RABBIT(101, "Rabbit", Arrays.asList( - "Y2I4Y2ZmNGIxNWI4Y2EzN2UyNTc1MGYzNDU3MThmMjg5Y2IyMmM1YjNhZDIyNjI3YTcxMjIzZmFjY2MifX19", - "NzJjNTgxMTZhMTQ3ZDFhOWEyNjI2OTIyNGE4YmUxODRmZThlNWYzZjNkZjliNjE3NTEzNjlhZDg3MzgyZWM5In19fQ==", - "Yzk3N2EzMjY2YmYzYjllYWYxN2U1YTAyZWE1ZmJiNDY4MDExNTk4NjNkZDI4OGI5M2U2YzEyYzljYiJ9fX0=")), - POLAR_BEAR(102, "Polar Bear", Arrays.asList( - "ZDQ2ZDIzZjA0ODQ2MzY5ZmEyYTM3MDJjMTBmNzU5MTAxYWY3YmZlODQxOTk2NjQyOTUzM2NkODFhMTFkMmIifX19")), - LLAMA(103, "Llama", Arrays.asList( - "ODAyNzdlNmIzZDlmNzgxOWVmYzdkYTRiNDI3NDVmN2FiOWE2M2JhOGYzNmQ2Yjg0YTdhMjUwYzZkMWEzNThlYiJ9fX0=", - "Y2YyNGU1NmZkOWZmZDcxMzNkYTZkMWYzZTJmNDU1OTUyYjFkYTQ2MjY4NmY3NTNjNTk3ZWU4MjI5OWEifX19", - "YzJiMWVjZmY3N2ZmZTNiNTAzYzMwYTU0OGViMjNhMWEwOGZhMjZmZDY3Y2RmZjM4OTg1NWQ3NDkyMTM2OCJ9fX0=", - "NGQ2N2ZkNGJmZjI5MzI2OWNiOTA4OTc0ZGNhODNjMzM0ODVlNDM1ZWQ1YThlMWRiZDY1MjFjNjE2ODcxNDAifX19")), - LLAMA_SPIT(104, "Llama Spit"), - PARROT(105, "Parrot", Arrays.asList( - "YTRiYThkNjZmZWNiMTk5MmU5NGI4Njg3ZDZhYjRhNTMyMGFiNzU5NGFjMTk0YTI2MTVlZDRkZjgxOGVkYmMzIn19fQ==", - "Yjc4ZTFjNWY0OGE3ZTEyYjI2Mjg1MzU3MWVmMWY1OTdhOTJlZjU4ZGE4ZmFhZmUwN2JiN2MwZTY5ZTkzIn19fQ==", - "YWI5YTM2YzU1ODlmM2EyZTU5YzFjYWE5YjNiODhmYWRhNzY3MzJiZGI0YTc5MjYzODhhOGMwODhiYmJjYiJ9fX0=", - "M2Q2ZjRhMjFlMGQ2MmFmODI0Zjg3MDhhYzYzNDEwZjFhMDFiYmI0MWQ3ZjRhNzAyZDk0NjljNjExMzIyMiJ9fX0=", - "MmI5NGYyMzZjNGE2NDJlYjJiY2RjMzU4OWI5YzNjNGEwYjViZDVkZjljZDVkNjhmMzdmOGM4M2Y4ZTNmMSJ9fX0=", - "ZGFjNjcwM2RlZDQ2ZDkzOWE2MjBmZTIyYzQzZTE4Njc0ZTEzZDIzYzk3NDRiZTAzNmIzNDgzYzFkMWNkZCJ9fX0=", - "ZjBiZmE4NTBmNWRlNGIyOTgxY2NlNzhmNTJmYzJjYzdjZDdiNWM2MmNhZWZlZGRlYjljZjMxMWU4M2Q5MDk3In19fQ==", - "ZjhhODJjOGI3NWRkMWMyY2U4MTMzYzBiYTkzOWI4YzUyZTQ3ZDNlYzM3NDk1MGY0N2RkZGJiZTM0NWUyMCJ9fX0=", - "YWNhNTgwYjA1MWM2M2JlMjlkYTU0NWE5YWE3ZmY3ZTEzNmRmNzdhODFjNjdkYzFlZTllNjE3MGMxNGZiMzEwIn19fQ==")), - VILLAGER(120, "Villager", Arrays.asList( - "ODIyZDhlNzUxYzhmMmZkNGM4OTQyYzQ0YmRiMmY1Y2E0ZDhhZThlNTc1ZWQzZWIzNGMxOGE4NmU5M2IifX19")), - ENDER_CRYSTAL(200, "End Crystal"), - TURTLE(901, "Turtle", Arrays.asList( - "MGE0MDUwZTdhYWNjNDUzOTIwMjY1OGZkYzMzOWRkMTgyZDdlMzIyZjlmYmNjNGQ1Zjk5YjU3MThhIn19fQ==")), - PHANTOM(902, "Phantom", Arrays.asList( - "NDExZDI1YmNkYWJhZmFkNWZkNmUwMTBjNWIxY2Y3YTAwYzljY2E0MGM1YTQ2NzQ3ZjcwNmRjOWNiM2EifX19", - "YWQyZmE1NjE4NDQ3NzYyZTI2MTExZTA2MGRjNTkzZWE2MjJkNWRkZmMzODVkN2U0MjUzMmU0NjMyN2Y4MDdjMCJ9fX0=")), - TRIDENT(903, "Trident"), - COD(904, "Cod", Arrays.asList( - "NmY5OWI1ODBkNDVhNzg0ZTdhOTY0ZTdkM2IxZjk3Y2VjZTc0OTExMTczYmQyMWMxZDdjNTZhY2RjMzg1ZWQ1In19fQ==")), - SALMON(905, "Salmon", Arrays.asList( - "YWRmYzU3ZDA5MDU5ZTQ3OTlmYTkyYzE1ZTI4NTEyYmNmYWExMzE1NTc3ZmUzYTI3YWVkMzg5ZTRmNzUyMjg5YSJ9fX0=")), - PUFFERFISH(906, "Pufferfish", Arrays.asList( - "YTk1NTkzODg5OTNmZTc4MmY2N2JkNThkOThjNGRmNTZiY2Q0MzBlZGNiMmY2NmVmNTc3N2E3M2MyN2RlMyJ9fX0=")), - TROPICAL_FISH(907, "Tropical Fish", Arrays.asList( - "MzZkMTQ5ZTRkNDk5OTI5NjcyZTI3Njg5NDllNjQ3Nzk1OWMyMWU2NTI1NDYxM2IzMjdiNTM4ZGYxZTRkZiJ9fX0=")), - DROWNED(908, "Drowned", Arrays.asList( - "YzNmN2NjZjYxZGJjM2Y5ZmU5YTYzMzNjZGUwYzBlMTQzOTllYjJlZWE3MWQzNGNmMjIzYjNhY2UyMjA1MSJ9fX0=", - "MWY4YmFhNDhiOGY1MTE5OTBlNDdkYjk2ODMyNGMxNTJiZDExNjc3MzFkZGYwMzQ1MzAwNDQ3MzVhNmJkMmVkNCJ9fX0=", - "YzFhNzMyNTI0MDFhNmU5NDZmNjFkYmFjMGUwMjdkMTgzZTBhY2U1ODc1MmZhMTVhNjRkMjQ0OWZjZjUwODdiNyJ9fX0=", - "Yzg0ZGY3OWM0OTEwNGIxOThjZGFkNmQ5OWZkMGQwYmNmMTUzMWM5MmQ0YWI2MjY5ZTQwYjdkM2NiYmI4ZTk4YyJ9fX0=", - "ZmIxNTMxYzA0ZTI1ZDdmYTY0NTc2OTgyNjg0OTFjYjg5NmQzMzAyZDI2ODg0ZmNmZGYxYTBiMmY5MmQ3N2M4ZiJ9fX0=", - "NTZkYWY1MGVhZjc2YzNhNmQ1YWQzOWM5NjZmMjk4NzdiOTFkOTUwZGQxZTM3MTIyZTljODE5NTg1Yzg5ZDkyZSJ9fX0=")), - DOLPHIN(909, "Dolphin", Arrays.asList( - "OGU5Njg4Yjk1MGQ4ODBiNTViN2FhMmNmY2Q3NmU1YTBmYTk0YWFjNmQxNmY3OGU4MzNmNzQ0M2VhMjlmZWQzIn19fQ==")), - LINGERING_POTION(910, "Lingering Potion"), - FISHING_HOOK(911, "Fishing Hook"), - LIGHTNING(912, "Lightning Bolt"), - WEATHER(913, "Weather"), - PLAYER(914, "Player"), - COMPLEX_PART(915, "Complex Part"), - TIPPED_ARROW(916, "Tipped Arrow"), - - PANDA(917, "Panda", Arrays.asList( - "ZDE4OGM5ODBhYWNmYTk0Y2YzMzA4ODUxMmIxYjk1MTdiYTgyNmIxNTRkNGNhZmMyNjJhZmY2OTc3YmU4YSJ9fX0=")), - PILLAGER(918, "Pillager", Arrays.asList( - "NGFlZTZiYjM3Y2JmYzkyYjBkODZkYjVhZGE0NzkwYzY0ZmY0NDY4ZDY4Yjg0OTQyZmRlMDQ0MDVlOGVmNTMzMyJ9fX0=")), - RAVAGER(919, "Ravager", Arrays.asList( - "MWNiOWYxMzlmOTQ4OWQ4NmU0MTBhMDZkOGNiYzY3MGM4MDI4MTM3NTA4ZTNlNGJlZjYxMmZlMzJlZGQ2MDE5MyJ9fX0=", - "M2I2MjUwMWNkMWI4N2IzN2Y2MjgwMTgyMTBlYzU0MDBjYjY1YTRkMWFhYjc0ZTZhM2Y3ZjYyYWE4NWRiOTdlZSJ9fX0=")), - TRADER_LLAMA(920, "Trader Llama", Arrays.asList( - "ODQyNDc4MGIzYzVjNTM1MWNmNDlmYjViZjQxZmNiMjg5NDkxZGY2YzQzMDY4M2M4NGQ3ODQ2MTg4ZGI0Zjg0ZCJ9fX0=", - "NzA4N2E1NTZkNGZmYTk1ZWNkMjg0NGYzNTBkYzQzZTI1NGU1ZDUzNWZhNTk2ZjU0MGQ3ZTc3ZmE2N2RmNDY5NiJ9fX0=", - "YmU0ZDhhMGJjMTVmMjM5OTIxZWZkOGJlMzQ4MGJhNzdhOThlZTdkOWNlMDA3MjhjMGQ3MzNmMGEyZDYxNGQxNiJ9fX0=")), - WANDERING_TRADER(921, "Wandering Trader", Arrays.asList( - "NWYxMzc5YTgyMjkwZDdhYmUxZWZhYWJiYzcwNzEwZmYyZWMwMmRkMzRhZGUzODZiYzAwYzkzMGM0NjFjZjkzMiJ9fX0=")), - FOX(922, "Fox", Arrays.asList( - "YjZmZWI3NjFiMmY1OWZhYmU1Y2MzY2M4MmE5MzRiNTM0ZWE5OWVkYjkxMzJjY2RhOWY0ODRiZDU5ODZkNyJ9fX0=", - "MjRhMDM0NzQzNjQzNGViMTNkNTM3YjllYjZiNDViNmVmNGM1YTc4Zjg2ZTkxODYzZWY2MWQyYjhhNTNiODIifX19", - "MTZkYjdkNTA3Mzg5YTE0YmJlYzM5ZGU2OTIyMTY1YjMyZDQzNjU3YmNiNmFhZjRiNTE4MjgyNWIyMmI0In19fQ==")), - CAT(923, "Cat", Arrays.asList( - "N2M5Yjc0MDllN2I1MzgzYzE5YjM2MmIyYTBjYjQzZDUwOTNiMTNlMmIyMzRlOGExODkxNTYzZTU1ZWFlOWQ2OCJ9fX0=", - "NTg4MDNmMDI3MGY4Y2RmNGUwZmU5NzMyZDQ5NjdjY2NjMGEyZjRmY2QxMThjZDE1MDAwOTc5YjE4ODg1MTQ0ZiJ9fX0=")), - BEE(924, "Bee", Arrays.asList( - "OTQ3MzIyZjgzMWUzYzE2OGNmYmQzZTI4ZmU5MjUxNDRiMjYxZTc5ZWIzOWM3NzEzNDlmYWM1NWE4MTI2NDczIn19fQ==", - "OTlkYzNmMDBlY2FiMjI0OWJiNmExNmM4YzUxMTVjZWI5ZjIzMjA1YTBkNTVjYzBlOWJhYmQyNTYyZjc5NTljNCJ9fX0==", - "ZTZiNzRlMDUyYjc0Mjg4Nzk5YmE2ZDlmMzVjNWQwMjIxY2Y4YjA0MzMxNTQ3ZWMyZjY4ZDczNTk3YWUyYzliIn19fQ==", - "YmIxNzc3NDY2MjUxMmQ3ODdlZjc3YjFhNDZhMDRlMmM2ZmQ2Nzc5NGJmN2Y3Nzk1NjZlYjIxYzgxNDNhYWQ5ZSJ9fX0=")), - - ZOMBIFIED_PIGLIN(925, "Zombified Piglin", Arrays.asList("N2VhYmFlY2M1ZmFlNWE4YTQ5Yzg4NjNmZjQ4MzFhYWEyODQxOThmMWEyMzk4ODkwYzc2NWUwYThkZTE4ZGE4YyJ9fX0=")), - HOGLIN(926, "Hoglin", Arrays.asList("OWJiOWJjMGYwMWRiZDc2MmEwOGQ5ZTc3YzA4MDY5ZWQ3Yzk1MzY0YWEzMGNhMTA3MjIwODU2MWI3MzBlOGQ3NSJ9fX0=")), - PIGLIN(927, "Piglin", Arrays.asList("OWYxODEwN2QyNzVmMWNiM2E5Zjk3M2U1OTI4ZDU4NzlmYTQwMzI4ZmYzMjU4MDU0ZGI2ZGQzZTdjMGNhNjMzMCJ9fX0=")), - STRIDER(928, "Strider", Arrays.asList("MThhOWFkZjc4MGVjN2RkNDYyNWM5YzA3NzkwNTJlNmExNWE0NTE4NjY2MjM1MTFlNGM4MmU5NjU1NzE0YjNjMSJ9fX0=")), - ZOGLIN(929, "Zoglin", Arrays.asList("ZTY3ZTE4NjAyZTAzMDM1YWQ2ODk2N2NlMDkwMjM1ZDg5OTY2NjNmYjllYTQ3NTc4ZDNhN2ViYmM0MmE1Y2NmOSJ9fX0=")), - - // 1.16.2 - PIGLIN_BRUTE(930, "Piglin Brute", Arrays.asList("M2UzMDBlOTAyNzM0OWM0OTA3NDk3NDM4YmFjMjllM2E0Yzg3YTg0OGM1MGIzNGMyMTI0MjcyN2I1N2Y0ZTFjZiJ9fX0=")), - - // if possible we can remove this string for each texture to save up some space - // eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUv - UNKNOWN(999, "Unknown"); - - private int id; - private String name; - private String secondaryName; - EntityType type = null; - public static HashMap cache = new HashMap<>(); - static HashMap byName = new HashMap<>(); - - static { - for (CMIEntityType one : CMIEntityType.values()) { - byName.put(one.toString().replace("_", "").toLowerCase(), one); - byName.put(one.getName().replace("_", "").replace(" ", "").toLowerCase(), one); - byName.put(String.valueOf(one.getId()), one); - if (one.secondaryName != null) - byName.put(one.secondaryName.replace("_", "").replace(" ", "").toLowerCase(), one); - } - } - - CMIEntityType(int id, String name, List headTextures) { - this(id, name, null, headTextures); - } - - CMIEntityType(int id, String name) { - this(id, name, null, new ArrayList()); - } - - CMIEntityType(int id, String name, String secondaryName) { - this(id, name, secondaryName, new ArrayList()); - } - - CMIEntityType(int id, String name, String secondaryName, List headTextures) { - this.id = id; - this.name = name; - this.secondaryName = secondaryName; - } - - public int getId() { - return id; - } - - public String getName() { - return name; - } - - public static CMIEntityType getById(int id) { - CMIEntityType ttype = getByName(String.valueOf(id)); - return ttype == null ? CMIEntityType.PIG : ttype; - } - - public static CMIEntityType getByType(EntityType entity) { - return getByName(entity.toString()); - } - - public static CMIEntityType getByItem(ItemStack item) { - if (item == null) - return null; - - if (CMIMaterial.isMonsterEgg(item.getType())) { - String name = item.getType().toString().replace("_SPAWN_EGG", ""); - return getByName(name); - } - - if (CMIMaterial.SPAWNER.equals(item.getType())) { - if (item.getItemMeta() instanceof BlockStateMeta) { - BlockStateMeta bsm = (BlockStateMeta) item.getItemMeta(); - if (bsm.getBlockState() instanceof CreatureSpawner) { - CreatureSpawner bs = (CreatureSpawner) bsm.getBlockState(); - return CMIEntityType.getByType(bs.getSpawnedType()); - } - } - } - return null; - } - - public static CMIEntityType getByName(String name) { - return byName.get(name.toLowerCase().replace("_", "")); - } - - public EntityType getType() { - if (type != null) - return type; - for (EntityType one : EntityType.values()) { - if (one.toString().equalsIgnoreCase(this.name())) { - type = one; - break; - } - } - return type; - } - - public boolean isAlive() { - return getType() != null && getType().isAlive(); - } - - public boolean isSpawnable() { - return getType() != null && getType().isSpawnable(); - } - - public static String getRealNameByType(EntityType type) { - if (type == null) - return null; - CMIEntityType ctype = CMIEntityType.getByType(type); - if (ctype != null) - return ctype.getName(); - String name = type.name(); - - name = name.toLowerCase().replace('_', ' '); - name = name.substring(0, 1).toUpperCase() + name.substring(1); - return name; - } - - public CMIMaterial getSpawnEggMaterial() { - CMIMaterial m = CMIMaterial.get((this.equals(CMIEntityType.MUSHROOM_COW) ? "Mooshroom".toLowerCase() : this.toString().toLowerCase()) + "_spawn_egg"); - return m != null && m.isMonsterEgg() ? m : null; - } -} \ No newline at end of file diff --git a/src/main/java/com/gamingmesh/jobs/CMILib/CMIItemStack.java b/src/main/java/com/gamingmesh/jobs/CMILib/CMIItemStack.java deleted file mode 100644 index 544d691e..00000000 --- a/src/main/java/com/gamingmesh/jobs/CMILib/CMIItemStack.java +++ /dev/null @@ -1,547 +0,0 @@ -package com.gamingmesh.jobs.CMILib; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map.Entry; - -import org.bukkit.Material; -import org.bukkit.block.CreatureSpawner; -import org.bukkit.enchantments.Enchantment; -import org.bukkit.entity.EntityType; -import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.EnchantmentStorageMeta; -import org.bukkit.inventory.meta.ItemMeta; -import org.bukkit.inventory.meta.PotionMeta; -import org.bukkit.inventory.meta.SkullMeta; -import org.bukkit.material.SpawnEgg; -import org.bukkit.potion.PotionData; -import org.bukkit.potion.PotionEffect; -import org.bukkit.potion.PotionEffectType; - -import com.gamingmesh.jobs.Jobs; -import com.gamingmesh.jobs.stuff.Util; - -public class CMIItemStack { - - @Deprecated - private int id = 0; - @Deprecated - private short data = 0; - private short durability = 0; - private int amount = 0; - - private String bukkitName = null; - private String mojangName = null; - private CMIMaterial cmiMaterial = null; - private Material material = null; - private CMIEntityType entityType = null; - private ItemStack item; - - public CMIItemStack(Material material) { - this.material = material; - this.cmiMaterial = CMIMaterial.get(material); - } - - public CMIItemStack(CMIMaterial cmiMaterial) { - this.cmiMaterial = cmiMaterial; - if (cmiMaterial != null) - this.material = cmiMaterial.getMaterial(); - } - - public CMIItemStack(ItemStack item) { - setItemStack(item); - } - - @Override - public CMIItemStack clone() { - CMIItemStack cm = new CMIItemStack(material); - cm.entityType = this.entityType; - cm.setId(id); - cm.setData(data); - cm.setAmount(amount); - cm.setDurability(durability); - cm.setBukkitName(bukkitName); - cm.setMojangName(mojangName); - cm.setCMIMaterial(cmiMaterial); - cm.setMaterial(material); - cm.setItemStack(item != null ? item.clone() : null); - return cm; - } - - @Deprecated - public int getId() { - return id; - } - - @Deprecated - public void setId(Integer id) { - this.id = id; - } - - @Deprecated - public short getData() { - return data; - } - - public boolean isTool() { - return getMaxDurability() > 0; - } - - public boolean isArmor() { - if (this.getCMIType() != null && this.getCMIType().isArmor()) - return true; - return CMIMaterial.isArmor(this.getType()); - } - - public short getDurability() { - return Util.getDurability(getItemStack()); - } - - public short getMaxDurability() { - return material.getMaxDurability(); - } - - public void setData(short data) { - this.data = data; - if (this.getCMIType() != null) { - ItemMeta meta = null; - if (item != null && item.hasItemMeta()) { - meta = item.getItemMeta(); - } - this.item = null; - if (meta != null && this.getItemStack() != null) { - this.getItemStack().setItemMeta(meta); - } - } - } - - public CMIItemStack setDisplayName(String name) { - ItemMeta meta = getItemStack().getItemMeta(); - if (meta != null) { - if (name == null) { - meta.setDisplayName(null); - } else - meta.setDisplayName(CMIChatColor.translate(name)); - } - getItemStack().setItemMeta(meta); - return this; - } - - public String getDisplayName() { - ItemMeta meta = getItemStack().getItemMeta(); - return meta == null || meta.getDisplayName() == null || meta.getDisplayName().isEmpty() ? getRealName() : meta.getDisplayName(); - } - - public CMIItemStack addLore(String string) { - if (string == null) - return this; - ItemMeta meta = getItemStack().getItemMeta(); - List lore = meta.getLore(); - if (lore == null) - lore = new ArrayList<>(); - lore.add(CMIChatColor.translate(string)); - meta.setLore(lore); - getItemStack().setItemMeta(meta); - return this; - } - - public CMIItemStack clearLore() { - ItemMeta meta = getItemStack().getItemMeta(); - if (meta != null) { - List t = new ArrayList(); - meta.setLore(t); - this.getItemStack().setItemMeta(meta); - } - return this; - } - - public CMIItemStack setLore(List lore) { - if (lore == null || lore.isEmpty()) - return this; - ItemMeta meta = getItemStack().getItemMeta(); - List t = new ArrayList<>(); - for (String one : lore) { - t.add(CMIChatColor.translate(one)); - } - meta.setLore(t); - getItemStack().setItemMeta(meta); - return this; - } - - public CMIItemStack addEnchant(Enchantment enchant, Integer level) { - if (enchant == null) - return this; - - if (getItemStack().getItemMeta() instanceof EnchantmentStorageMeta) { - EnchantmentStorageMeta meta = (EnchantmentStorageMeta) getItemStack().getItemMeta(); - meta.addStoredEnchant(enchant, level, true); - getItemStack().setItemMeta(meta); - } else { - ItemMeta meta = getItemStack().getItemMeta(); - meta.addEnchant(enchant, level, true); - getItemStack().setItemMeta(meta); - } - - return this; - } - - public CMIItemStack addEnchant(HashMap enchants) { - if (enchants == null || enchants.isEmpty()) - return this; - for (Entry oneEnch : enchants.entrySet()) { - addEnchant(oneEnch.getKey(), oneEnch.getValue()); - } - return this; - } - - public CMIItemStack clearEnchants() { - ItemMeta meta = getItemStack().getItemMeta(); - meta.getEnchants().clear(); - getItemStack().setItemMeta(meta); - return this; - } - - public List getLore() { - ItemMeta meta = this.getItemStack().getItemMeta(); - if (meta != null) { - List lore = meta.getLore(); - if (lore == null) { - lore = new ArrayList<>(); - meta.setLore(lore); - } - - return meta.getLore() == null ? new ArrayList<>() : meta.getLore(); - } - return new ArrayList<>(); - } - - public String getRealName() { - return getCMIType() == null || getCMIType() == CMIMaterial.NONE ? getType().name() : getCMIType().getName(); -// if (this.getItemStack() != null) { - // -//// String translated = CMI.getInstance().getItemManager().getTranslatedName(this.getItemStack()); -//// if (translated != null) -//// return translated; -// try { -// return CMI.getInstance().getRef().getItemMinecraftName(this.getItemStack()); -// } catch (Exception e) { -// } -// } -// return CMI.getInstance().getItemManager().getRealName(this, true).getName(); - } - - public String getBukkitName() { - return bukkitName == null || bukkitName.isEmpty() ? null : bukkitName; - } - - public void setBukkitName(String bukkitName) { - this.bukkitName = bukkitName; - } - - public String getMojangName() { -// if (getCMIType().isSkull() && !Version.isCurrentEqualOrHigher(Version.v1_13_R1)) -// mojangName = "skull"; -// try { -// mojangName = CMI.getInstance().getRef().getItemMinecraftName(getItemStack()).replace("minecraft:", ""); -// } catch (Exception e) { - // -// } - return mojangName == null || mojangName.isEmpty() ? getCMIType().getMaterial().name() : mojangName; - } - - public void setMojangName(String mojangName) { - if (mojangName != null) - this.mojangName = mojangName.replace("minecraft:", ""); - } - - public Material getType() { - if (material == null && cmiMaterial != null) - return cmiMaterial.getMaterial(); - return material; - } - - public CMIMaterial getCMIType() { - return cmiMaterial == null ? CMIMaterial.get(material) : cmiMaterial; - } - - /** - * Gets the material - * - * @deprecated Use {@link #getType()} - * @return Material - */ - @Deprecated - public Material getMaterial() { - return getType(); - } - - public void setMaterial(Material material) { - this.cmiMaterial = CMIMaterial.get(material); - this.material = material; - } - - public void setCMIMaterial(CMIMaterial material) { - this.cmiMaterial = material; - this.material = material == null ? null : material.getMaterial(); - } - - @SuppressWarnings("deprecation") - public ItemStack getItemStack() { - if (item == null) { - try { - if (!this.getType().isItem()) { - return null; - } - } catch (Throwable e) { - } - - if (cmiMaterial.isMonsterEgg()) { - if (Version.isCurrentEqualOrHigher(Version.v1_13_R1)) { - item = new ItemStack(getType()); - item.setAmount(getAmount()); - } else - item = new ItemStack(getType(), amount == 0 ? 1 : amount, data == 0 ? (short) 90 : data); - } else { - if (Version.isCurrentEqualOrHigher(Version.v1_13_R1)) { - item = new ItemStack(getType()); - item.setAmount(getAmount()); - } else - item = new ItemStack(getType(), amount == 0 ? 1 : amount, data); - } - - if (getCMIType().isPotion() || item.getType().name().contains("SPLASH_POTION") || item.getType().name().contains("TIPPED_ARROW")) { - PotionMeta potion = (PotionMeta) item.getItemMeta(); - PotionEffectType effect = PotionEffectType.getById(data); - if (effect != null) { - potion.addCustomEffect(new PotionEffect(effect, 60, 0), true); - } - item.setItemMeta(potion); - item.setDurability((short) 0); - potion = (PotionMeta) item.getItemMeta(); - potion.setDisplayName(getRealName()); - item.setItemMeta(potion); - } - } - return item; - } - - @SuppressWarnings("deprecation") - public CMIItemStack setItemStack(ItemStack item) { - this.item = item; - if (item != null) { - this.amount = item.getAmount(); - this.material = item.getType(); - this.cmiMaterial = CMIMaterial.get(item); - if (Version.isCurrentEqualOrLower(Version.v1_13_R2)) { - this.id = item.getType().getId(); - if ((this.getType().isBlock() || this.getType().isSolid())) { - data = item.getData().getData(); - } - if (item.getType().getMaxDurability() - item.getDurability() < 0) { - data = item.getData().getData(); - } - } else if (cmiMaterial != null) { - this.id = cmiMaterial.getId(); - } - - if (item.getType().getMaxDurability() > 15) - data = (short) 0; - - if (item.getType() == Material.POTION || item.getType().name().contains("SPLASH_POTION") - || item.getType().name().contains("TIPPED_ARROW")) { - PotionMeta potion = (PotionMeta) item.getItemMeta(); - try { - if (potion != null && potion.getBasePotionData().getType().getEffectType() != null) { - data = (short) potion.getBasePotionData().getType().getEffectType().getId(); - } - } catch (NoSuchMethodError e) { - } - } - } - return this; - } - - public int getAmount() { - return amount <= 0 ? 1 : amount; - } - - public void setAmount(int amount) { - this.amount = amount; - if (item != null) - this.item.setAmount(this.amount == 0 ? item.getAmount() : this.amount); - } - - public boolean isSimilar(ItemStack item) { - return isSimilar(ItemManager.getItem(item)); - } - - public boolean isSimilar(CMIItemStack item) { - if (item == null) - return false; - - try { - if ((item.getCMIType().isPotion() || item.getCMIType() == CMIMaterial.TIPPED_ARROW) && - (getCMIType().isPotion() || getCMIType() == CMIMaterial.TIPPED_ARROW) && - getType() == item.getType()) { - PotionMeta potion = (PotionMeta) item.getItemStack().getItemMeta(); - PotionMeta potion2 = (PotionMeta) getItemStack().getItemMeta(); - try { - if (potion != null && potion.getBasePotionData() != null) { - PotionData base1 = potion.getBasePotionData(); - if (base1.getType() != null) { - if (potion2 != null && potion2.getBasePotionData() != null) { - PotionData base2 = potion2.getBasePotionData(); - if (base2.getType() != null) { - if (base1.getType() == base2.getType() && base1.isExtended() == base2.isExtended() && base1.isUpgraded() == base2.isUpgraded()) - return true; - } - } - } - } - return false; - } catch (NoSuchMethodError e) { - } - } - } catch (Throwable e) { - e.printStackTrace(); - } - try { - if (this.getItemStack().getItemMeta() instanceof EnchantmentStorageMeta && item.getItemStack().getItemMeta() instanceof EnchantmentStorageMeta) { - EnchantmentStorageMeta meta1 = (EnchantmentStorageMeta) this.getItemStack().getItemMeta(); - EnchantmentStorageMeta meta2 = (EnchantmentStorageMeta) item.getItemStack().getItemMeta(); - - for (Entry one : meta1.getEnchants().entrySet()) { - if (!meta2.getEnchants().containsKey(one.getKey()) || meta2.getEnchants().get(one.getKey()) != one.getValue()) - return false; - } - - for (Entry one : meta1.getStoredEnchants().entrySet()) { - if (!meta2.getStoredEnchants().containsKey(one.getKey()) || meta2.getStoredEnchants().get(one.getKey()) != one.getValue()) - return false; - } - } - } catch (Throwable e) { - e.printStackTrace(); - } - - if ((item.getCMIType() == CMIMaterial.SPAWNER || item.getCMIType().isMonsterEgg()) && (getCMIType() == CMIMaterial.SPAWNER || getCMIType().isMonsterEgg())) { - if (this.cmiMaterial != item.cmiMaterial) - return false; - if (getEntityType() != item.getEntityType()) - return false; - - return true; - } - - if (item.getCMIType() == CMIMaterial.PLAYER_HEAD && this.getCMIType() == CMIMaterial.PLAYER_HEAD) { - try { - SkullMeta skullMeta = (SkullMeta) item.getItemStack().getItemMeta(); - SkullMeta skullMeta2 = (SkullMeta) getItemStack().getItemMeta(); - - if (skullMeta.getOwner() != null && skullMeta2.getOwner() == null || skullMeta.getOwner() == null && skullMeta2.getOwner() != null) - return false; - if (skullMeta.getOwner() != null && skullMeta2.getOwner() != null && !skullMeta.getOwner().equals(skullMeta2.getOwner())) - return false; - } catch (Throwable e) { - e.printStackTrace(); - } - } - - if (Version.isCurrentEqualOrHigher(Version.v1_13_R1)) - return this.cmiMaterial == item.cmiMaterial; - return this.cmiMaterial == item.cmiMaterial && this.getData() == item.getData(); - } - - public EntityType getEntityType() { - if (this.getItemStack() == null) - return null; - - if (this.entityType != null) - return this.entityType.getType(); - - ItemStack is = this.getItemStack().clone(); - - if (Version.isCurrentEqualOrHigher(Version.v1_8_R1) && is.getItemMeta() instanceof org.bukkit.inventory.meta.BlockStateMeta) { - org.bukkit.inventory.meta.BlockStateMeta bsm = (org.bukkit.inventory.meta.BlockStateMeta) is.getItemMeta(); - if (bsm.getBlockState() instanceof CreatureSpawner) { - CreatureSpawner bs = (CreatureSpawner) bsm.getBlockState(); - return bs.getSpawnedType(); - } - } - - if (is.getData() instanceof SpawnEgg) { - return CMIReflections.getEggType(is); - } - - if (CMIMaterial.get(is) != null && CMIMaterial.get(is).isMonsterEgg()) { - return CMIReflections.getEggType(is); - } - - if (Version.isCurrentEqualOrLower(Version.v1_12_R1)) - return EntityType.fromId(is.getData().getData()); - return null; - } - - public void setDurability(short durability) { - this.durability = durability; - } - - public String toOneLiner() { - String liner = getType().toString(); - if (getCMIType().isPotion() || getType().name().contains("TIPPED_ARROW")) { - PotionMeta potion = (PotionMeta) item.getItemMeta(); - try { - if (potion != null && potion.getBasePotionData().getType().getEffectType() != null) { - liner += ":" + potion.getBasePotionData().getType().getEffectType().getName() + "-" + potion.getBasePotionData().isUpgraded() + "-" + potion.getBasePotionData().isExtended(); - } - } catch (NoSuchMethodError e) { - } - } else { - if (Version.isCurrentLower(Version.v1_13_R1)) - liner += ":" + getData(); - } - if (this.getItemStack().getItemMeta() instanceof EnchantmentStorageMeta) { - EnchantmentStorageMeta meta = (EnchantmentStorageMeta) getItemStack().getItemMeta(); - String s = ""; - for (Entry one : meta.getStoredEnchants().entrySet()) { - if (!s.isEmpty()) - s += ";"; - s += CMIEnchantment.get(one.getKey()) + "x" + one.getValue(); - } - - for (Entry one : meta.getEnchants().entrySet()) { - if (!s.isEmpty()) - s += ";"; - s += CMIEnchantment.get(one.getKey()) + "x" + one.getValue(); - } - if (!s.isEmpty()) - liner += ":" + s; - } - - return liner; - } - - public static ItemStack getHead(String texture) { - if (texture == null || texture.isEmpty()) - return null; - if (texture.length() < 120) - texture = "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUv" + texture; - ItemStack cached = CMIEntityType.cache.get(texture); - if (cached != null) { - return cached.clone(); - } - ItemStack item = CMIMaterial.PLAYER_HEAD.newItemStack(); - item = CMIReflections.setSkullTexture(item, null, texture); - CMIEntityType.cache.put(texture, item); - return item.clone(); - } - - public void setEntityType(CMIEntityType entityType) { - this.entityType = entityType; - } - - public void setEntityType(EntityType entityType) { - setEntityType(CMIEntityType.getByType(entityType)); - } -} diff --git a/src/main/java/com/gamingmesh/jobs/CMILib/CMIMaterial.java b/src/main/java/com/gamingmesh/jobs/CMILib/CMIMaterial.java deleted file mode 100644 index 384dc9ba..00000000 --- a/src/main/java/com/gamingmesh/jobs/CMILib/CMIMaterial.java +++ /dev/null @@ -1,2771 +0,0 @@ -package com.gamingmesh.jobs.CMILib; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -import org.bukkit.Bukkit; -import org.bukkit.Material; -import org.bukkit.block.Block; -import org.bukkit.block.Skull; -import org.bukkit.inventory.ItemStack; - -public enum CMIMaterial { - NONE(null, "None"), - ACACIA_BOAT(447, 0, 27326, "Acacia Boat", "BOAT_ACACIA"), - ACACIA_BUTTON(13993, "Acacia Button"), - ACACIA_DOOR(430, 0, 23797, "Acacia Door", "ACACIA_DOOR_ITEM"), - ACACIA_FENCE(192, 0, 4569, Arrays.asList(CMIMaterialCriteria.seeThrow), "Acacia Fence"), - ACACIA_FENCE_GATE(187, 0, 14145, Arrays.asList(CMIMaterialCriteria.seeThrow), "Acacia Fence Gate"), - ACACIA_LEAVES(161, 0, 16606, "Acacia Leaves", "LEAVES_2"), - ACACIA_LOG(162, 0, 8385, "Acacia Log", "LOG_2"), - ACACIA_PLANKS(5, 4, 31312, "Acacia Wood Plank", "Acacia Planks"), - ACACIA_PRESSURE_PLATE(17586, "Acacia Pressure Plate"), - ACACIA_SAPLING(6, 4, 20806, "Acacia Sapling"), - ACACIA_SLAB(126, 4, 23730, "Acacia Wood Slab", "Acacia Slab"), - ACACIA_STAIRS(163, 0, 17453, "Acacia Stairs"), - ACACIA_TRAPDOOR(18343, "Acacia Trapdoor"), - ACACIA_WOOD(21861, "Acacia Wood"), - ACTIVATOR_RAIL(157, 0, 5834, "Activator Rail"), - AIR(0, 0, 9648, "Air"), - ALLIUM(38, 2, 6871, "Allium", "RED_ROSE"), - ANDESITE(1, 5, 25975, "Andesite"), - ANVIL(145, 0, 18718, "Anvil"), - APPLE(260, 0, 7720, "Apple"), - ARMOR_STAND(416, 0, 12852, "Armor Stand"), - ARROW(262, 0, 31091, "Arrow"), - ATTACHED_MELON_STEM(30882, "Attached Melon Stem"), - ATTACHED_PUMPKIN_STEM(12724, "Attached Pumpkin Stem"), - AZURE_BLUET(38, 3, 17608, "Azure Bluet"), - BAKED_POTATO(393, 0, 14624, "Baked Potato"), - BARRIER(166, 0, 26453, "Barrier"), - BAT_SPAWN_EGG(383, 65, 14607, "Bat Spawn Egg", "Spawn Bat"), - BEACON(138, 0, 6608, "Beacon"), - BEDROCK(7, 0, 23130, "Bedrock"), - BEEF(363, 0, 4803, "Raw Beef"), - BEETROOT(434, 0, 23305, "Beetroot"), - BEETROOTS(207, 0, 22075, "Beetroots", "BEETROOT_BLOCK"), - BEETROOT_SEEDS(435, 0, 21282, "Beetroot Seeds"), - BEETROOT_SOUP(436, 0, 16036, "Beetroot Soup"), - BIRCH_BOAT(445, 0, 28104, "Birch Boat", "BOAT_BIRCH"), - BIRCH_BUTTON(26934, "Birch Button"), - BIRCH_DOOR(428, 0, 14759, "Birch Door", "BIRCH_DOOR_ITEM"), - BIRCH_FENCE(189, 0, 17347, Arrays.asList(CMIMaterialCriteria.seeThrow), "Birch Fence"), - BIRCH_FENCE_GATE(184, 0, 6322, Arrays.asList(CMIMaterialCriteria.seeThrow), "Birch Fence Gate"), - BIRCH_LEAVES(18, 2, 12601, "Birch Leaves", "LEAVES"), - BIRCH_LOG(17, 2, 26727, "Birch Log", "LOG"), - BIRCH_PLANKS(5, 2, 29322, "Birch Wood Plank"), - BIRCH_PRESSURE_PLATE(9664, "Birch Pressure Plate"), - BIRCH_SAPLING(6, 2, 31533, "Birch Sapling"), - BIRCH_SLAB(126, 2, 13807, "Birch Slab"), - BIRCH_STAIRS(135, 0, 7657, "Birch Wood Stairs"), - BIRCH_TRAPDOOR(32585, "Birch Trapdoor"), - BIRCH_WOOD(20913, "Birch Wood"), - BLACK_BANNER(425, 0, 9365, "Black Banner"), - BLACK_BED(355, 15, 20490, "Black Bed"), - BLACK_CARPET(171, 15, 6056, "Black Carpet", "CARPET"), - BLACK_CONCRETE(251, 15, 13338, "Black Concrete", "CONCRETE"), - BLACK_CONCRETE_POWDER(252, 15, 16150, "Black Concrete Powder", "CONCRETE_POWDER"), - BLACK_GLAZED_TERRACOTTA(250, 0, 29678, "Black Glazed Terracotta"), - BLACK_SHULKER_BOX(234, 0, 24076, "Black Shulker Box"), - BLACK_STAINED_GLASS(95, 15, 13941, Arrays.asList(CMIMaterialCriteria.seeThrow), "Black Stained Glass", "STAINED_GLASS"), - BLACK_STAINED_GLASS_PANE(160, 15, 13201, Arrays.asList(CMIMaterialCriteria.seeThrow), "Black Stained Glass Pane", "STAINED_GLASS_PANE"), - BLACK_TERRACOTTA(159, 15, 26691, "Black Terracotta", "STAINED_CLAY"), - BLACK_WALL_BANNER(177, 0, 4919, "Black Banner"), - BLACK_WOOL(35, 15, 16693, "Black Wool"), - BLAZE_POWDER(377, 0, 18941, "Blaze Powder"), - BLAZE_ROD(369, 0, 8289, "Blaze Rod"), - BLAZE_SPAWN_EGG(383, 61, 4759, "Blaze Spawn Egg", "Spawn Blaze"), - BLUE_BANNER(245, 4, 18481, "Blue Banner"), - BLUE_BED(355, 11, 12714, "Blue Bed"), - BLUE_CARPET(171, 11, 13292, "Blue Carpet"), - BLUE_CONCRETE(251, 11, 18756, "Blue Concrete"), - BLUE_CONCRETE_POWDER(252, 11, 17773, "Blue Concrete Powder"), - BLUE_GLAZED_TERRACOTTA(246, 0, 23823, "Blue Glazed Terracotta"), - BLUE_ICE(22449, "Blue Ice"), - BLUE_ORCHID(38, 1, 13432, "Blue Orchid"), - BLUE_SHULKER_BOX(230, 0, 11476, "Blue Shulker Box"), - BLUE_STAINED_GLASS(95, 11, 7107, Arrays.asList(CMIMaterialCriteria.seeThrow), "Blue Stained Glass"), - BLUE_STAINED_GLASS_PANE(160, 11, 28484, Arrays.asList(CMIMaterialCriteria.seeThrow), "Blue Stained Glass Pane"), - BLUE_TERRACOTTA(159, 11, 5236, "Blue Terracotta"), - BLUE_WALL_BANNER(177, 4, 17757, "Blue Banner"), - BLUE_WOOL(35, 11, 15738, "Blue Wool"), - BONE(352, 0, 5686, "Bone"), - BONE_BLOCK(216, 0, 17312, "Bone Block"), - BONE_MEAL(351, 15, 32458, "Bone Meal"), - BOOK(340, 0, 23097, "Book"), - BOOKSHELF(47, 0, 10069, "Bookshelf"), - BOW(261, 0, 8745, "Bow"), - BOWL(281, 0, 32661, "Bowl"), - BRAIN_CORAL(31316, "Brain Coral"), - BRAIN_CORAL_BLOCK(30618, "Brain Coral Block"), - BRAIN_CORAL_FAN(13849, "Brain Coral Fan"), - BRAIN_CORAL_WALL_FAN(22685, "Brain Coral Wall Fan"), - BREAD(297, 0, 32049, "Bread"), - BREWING_STAND(379, 0, 14539, "Brewing Stand", "BREWING_STAND_ITEM"), - BRICK(336, 0, 6820, "Brick", "claybrick"), - BRICKS(45, 0, 14165, "Bricks"), - BRICK_SLAB(44, 4, 26333, "Brick Slab", "STEP"), - BRICK_STAIRS(108, 0, 21534, "Brick Stairs"), - BROWN_BANNER(425, 3, 11481, "Brown Banner"), - BROWN_BED(355, 12, 25624, "Brown Bed"), - BROWN_CARPET(171, 12, 23352, "Brown Carpet"), - BROWN_CONCRETE(251, 12, 19006, "Brown Concrete"), - BROWN_CONCRETE_POWDER(252, 12, 21485, "Brown Concrete Powder"), - BROWN_GLAZED_TERRACOTTA(247, 0, 5655, "Brown Glazed Terracotta"), - BROWN_MUSHROOM(39, 0, 9665, "Brown Mushroom"), - BROWN_MUSHROOM_BLOCK(99, 0, 6291, "Brown Mushroom Block", "HUGE_MUSHROOM_1"), - BROWN_SHULKER_BOX(231, 0, 24230, "Brown Shulker Box"), - BROWN_STAINED_GLASS(95, 12, 20945, Arrays.asList(CMIMaterialCriteria.seeThrow), "Brown Stained Glass"), - BROWN_STAINED_GLASS_PANE(160, 12, 17557, Arrays.asList(CMIMaterialCriteria.seeThrow), "Brown Stained Glass Pane"), - BROWN_TERRACOTTA(159, 12, 23664, "Brown Terracotta"), - BROWN_WALL_BANNER(177, 3, 14731, "Brown Banner"), - BROWN_WOOL(35, 12, 32638, "Brown Wool"), - BUBBLE_COLUMN(13758, "Bubble Column"), - BUBBLE_CORAL(12464, "Bubble Coral"), - BUBBLE_CORAL_BLOCK(15437, "Bubble Coral Block"), - BUBBLE_CORAL_FAN(10795, "Bubble Coral Fan"), - BUBBLE_CORAL_WALL_FAN(20382, "Bubble Coral Wall Fan"), - BUCKET(325, 0, 15215, "Bucket"), - CACTUS(81, 0, 12191, "Cactus"), - CACTUS_GREEN(351, 2, 17296, "Cactus Green"), - CAKE(354, 0, 27048, "Cake"), - CARROT(141, 0, 22824, "Carrot", "Carrotitem"), - CARROTS(391, 0, 17258, "Carrots"), - CARROT_ON_A_STICK(398, 0, 27809, "Carrot on a Stick", "carrotstick"), - CARVED_PUMPKIN(25833, "Carved Pumpkin"), - CAULDRON(380, 0, 26531, "Cauldron", "CAULDRON_ITEM"), - CAVE_AIR(17422, "Cave Air"), - CAVE_SPIDER_SPAWN_EGG(383, 59, 23341, "Cave Spider Spawn Egg", "Spawn Cave Spider"), - CHAINMAIL_BOOTS(305, 0, 17953, "Chainmail Boots"), - CHAINMAIL_CHESTPLATE(303, 0, 23602, "Chainmail Chestplate"), - CHAINMAIL_HELMET(302, 0, 26114, "Chainmail Helmet"), - CHAINMAIL_LEGGINGS(304, 0, 19087, "Chainmail Leggings"), - CHAIN_COMMAND_BLOCK(26798, "Chain Command Block"), - CHARCOAL(263, 1, 5390, "Charcoal"), - CHEST(54, 0, 22969, "Chest"), - CHEST_MINECART(342, 0, 4497, "Minecart with Chest", "Storageminecart"), - CHICKEN(365, 0, 17281, "Raw Chicken"), - CHICKEN_SPAWN_EGG(383, 93, 5462, "Chicken Spawn Egg", "Spawn Chicken"), - CHIPPED_ANVIL(145, 1, 10623, "Chipped Anvil"), - CHISELED_QUARTZ_BLOCK(155, 1, 30964, "Chiseled Quartz Block"), - CHISELED_RED_SANDSTONE(179, 1, 15529, "Chiseled Red Sandstone"), - CHISELED_SANDSTONE(24, 1, 31763, "Chiseled Sandstone"), - CHISELED_STONE_BRICKS(98, 3, 9087, "Chiseled Stone Bricks", "SMOOTH_BRICK"), - CHORUS_FLOWER(200, 0, 28542, "Chorus Flower"), - CHORUS_FRUIT(432, 0, 7652, "Chorus Fruit"), - CHORUS_PLANT(199, 0, 28243, "Chorus Plant"), - CLAY(82, 0, 27880, "Clay", "Clay Block"), - CLAY_BALL(337, 0, 24603, "Clay Ball"), - CLOCK(347, 0, 14980, "Clock", "watch"), - COAL(263, 0, 29067, "Coal"), - COAL_BLOCK(173, 0, 27968, "Block of Coal"), - COAL_ORE(16, 0, 30965, "Coal Ore"), - COARSE_DIRT(3, 1, 15411, "Coarse Dirt"), - COBBLESTONE(4, 0, 32147, "Cobblestone"), - COBBLESTONE_SLAB(44, 3, 6340, "Cobblestone Slab"), - COBBLESTONE_STAIRS(67, 0, 24715, "Cobblestone Stairs"), - COBBLESTONE_WALL(139, 0, 12616, "Cobblestone Wall", "COBBLE_WALL"), - COBWEB(30, 0, 9469, Arrays.asList(CMIMaterialCriteria.seeThrow), "Cobweb", "WEB"), - COCOA(127, 0, 29709, "Cocoa"), - COCOA_BEANS(351, 3, 27381, "Coco Beans"), - COD(24691, "Raw Cod"), - COD_BUCKET(28601, "Bucket of Cod"), - COD_SPAWN_EGG(27248, "Cod Spawn Egg"), - COMMAND_BLOCK(137, 0, 4355, "Command Block", "COMMAND"), - COMMAND_BLOCK_MINECART(422, 0, 7992, "Minecart with Command Block"), - COMPARATOR(404, 0, 18911, "Redstone Comparator"), - COMPASS(345, 0, 24139, "Compass"), - CONDUIT(5148, "Conduit"), - COOKED_BEEF(364, 0, 21595, "Steak"), - COOKED_CHICKEN(366, 0, 20780, "Cooked Chicken"), - COOKED_COD(350, 0, 9681, "Cooked Fish"), - COOKED_MUTTON(424, 0, 31447, "Cooked Mutton"), - COOKED_PORKCHOP(320, 0, 27231, "Cooked Porkchop", "grilledpork"), - COOKED_RABBIT(412, 0, 4454, "Cooked Rabbit"), - COOKED_SALMON(350, 1, 5615, "Cooked Salmon"), - COOKIE(357, 0, 27431, "Cookie"), - COW_SPAWN_EGG(383, 92, 14761, "Cow Spawn Egg", "Spawn Cow"), - CRACKED_STONE_BRICKS(98, 2, 27869, "Cracked Stone Bricks"), - CRAFTING_TABLE(58, 0, 20706, "Crafting Table", "WORKBENCH", "Table"), - CREEPER_HEAD(397, 4, 29146, "Mob Head (Creeper)"), - CREEPER_SPAWN_EGG(383, 50, 9653, "Creeper Spawn Egg", "Spawn Creeper"), - CREEPER_WALL_HEAD(144, 4, 30123, "Creeper Wall Head"), - CUT_RED_SANDSTONE(26842, "Cut Red Sandstone"), - CUT_SANDSTONE(6118, "Cut Sandstone"), - CYAN_BANNER(425, 6, 9839, "Cyan Banner"), - CYAN_BED(355, 9, 16746, "Cyan Bed"), - CYAN_CARPET(171, 9, 31495, "Cyan Carpet"), - CYAN_CONCRETE(251, 9, 26522, "Cyan Concrete"), - CYAN_CONCRETE_POWDER(252, 9, 15734, "Cyan Concrete Powder"), - CYAN_DYE(351, 6, 8043, "Cyan Dye"), - CYAN_GLAZED_TERRACOTTA(244, 0, 9550, "Cyan Glazed Terracotta"), - CYAN_SHULKER_BOX(228, 0, 28123, "Cyan Shulker Box"), - CYAN_STAINED_GLASS(95, 9, 30604, Arrays.asList(CMIMaterialCriteria.seeThrow), "Cyan Stained Glass"), - CYAN_STAINED_GLASS_PANE(160, 9, 11784, Arrays.asList(CMIMaterialCriteria.seeThrow), "Cyan Stained Glass Pane"), - CYAN_TERRACOTTA(159, 9, 25940, "Cyan Terracotta"), - CYAN_WALL_BANNER(177, 6, 10889, "Cyan Banner"), - CYAN_WOOL(35, 9, 12221, "Cyan Wool"), - DAMAGED_ANVIL(145, 2, 10274, "Damaged Anvil"), - DANDELION(37, 0, 30558, "Dandelion", "YELLOW_FLOWER"), - DANDELION_YELLOW(351, 11, 21789, "Dandelion Yellow"), - DARK_OAK_BOAT(448, 0, 28618, "Dark Oak Boat", "BOAT_DARK_OAK"), - DARK_OAK_BUTTON(6214, "Dark Oak Button"), - DARK_OAK_DOOR(431, 0, 10669, "Dark Oak Door", "DARK_OAK_DOOR_ITEM"), - DARK_OAK_FENCE(191, 0, 21767, Arrays.asList(CMIMaterialCriteria.seeThrow), "Dark Oak Fence"), - DARK_OAK_FENCE_GATE(186, 0, 10679, Arrays.asList(CMIMaterialCriteria.seeThrow), "Dark Oak Fence Gate"), - DARK_OAK_LEAVES(161, 1, 22254, "Dark Oak Leaves"), - DARK_OAK_LOG(162, 1, 14831, "Dark Oak Log"), - DARK_OAK_PLANKS(5, 5, 20869, "Dark Oak Wood Plank"), - DARK_OAK_PRESSURE_PLATE(31375, "Dark Oak Pressure Plate"), - DARK_OAK_SAPLING(6, 5, 14933, "Dark Oak Sapling"), - DARK_OAK_SLAB(126, 5, 28852, "Dark Oak Wood Slab"), - DARK_OAK_STAIRS(164, 0, 22921, "Dark Oak Stairs"), - DARK_OAK_TRAPDOOR(10355, "Dark Oak Trapdoor"), - DARK_OAK_WOOD(16995, "Dark Oak Wood"), - DARK_PRISMARINE(168, 2, 19940, "Dark Prismarine"), - DARK_PRISMARINE_SLAB(7577, "Dark Prismarine Slab"), - DARK_PRISMARINE_STAIRS(26511, "Dark Prismarine Stairs"), - DAYLIGHT_DETECTOR(151, 0, 8864, "Daylight Detector"), - DEAD_BRAIN_CORAL(9116, "Dead Brain Coral"), - DEAD_BRAIN_CORAL_BLOCK(12979, "Dead Brain Coral Block"), - DEAD_BRAIN_CORAL_FAN(26150, "Dead Brain Coral Fan"), - DEAD_BRAIN_CORAL_WALL_FAN(23718, "Dead Brain Coral Wall Fan"), - DEAD_BUBBLE_CORAL(30583, "Dead Bubble Coral"), - DEAD_BUBBLE_CORAL_BLOCK(28220, "Dead Bubble Coral Block"), - DEAD_BUBBLE_CORAL_FAN(17322, "Dead Bubble Coral Fan"), - DEAD_BUBBLE_CORAL_WALL_FAN(18453, "Dead Bubble Coral Wall Fan"), - DEAD_BUSH(32, 0, 22888, "Dead Bush"), - DEAD_FIRE_CORAL(8365, "Dead Fire Coral"), - DEAD_FIRE_CORAL_BLOCK(5307, "Dead Fire Coral Block"), - DEAD_FIRE_CORAL_FAN(27073, "Dead Fire Coral Fan"), - DEAD_FIRE_CORAL_WALL_FAN(23375, "Dead Fire Coral Wall Fan"), - DEAD_HORN_CORAL(5755, "Dead Horn Coral"), - DEAD_HORN_CORAL_BLOCK(15103, "Dead Horn Coral Block"), - DEAD_HORN_CORAL_FAN(11387, "Dead Horn Coral Fan"), - DEAD_HORN_CORAL_WALL_FAN(27550, "Dead Horn Coral Wall Fan"), - DEAD_TUBE_CORAL(18028, "Dead Tube Coral"), - DEAD_TUBE_CORAL_BLOCK(28350, "Dead Tube Coral Block"), - DEAD_TUBE_CORAL_FAN(17628, "Dead Tube Coral Fan"), - DEAD_TUBE_CORAL_WALL_FAN(5128, "Dead Tube Coral Wall Fan"), - DEBUG_STICK(24562, "Debug Stick"), - DETECTOR_RAIL(28, 0, 13475, "Detector Rail"), - DIAMOND(264, 0, 20865, "Diamond"), - DIAMOND_AXE(279, 0, 27277, "Diamond Axe"), - DIAMOND_BLOCK(57, 0, 5944, "Block of Diamond"), - DIAMOND_BOOTS(313, 0, 16522, "Diamond Boots"), - DIAMOND_CHESTPLATE(311, 0, 32099, "Diamond Chestplate"), - DIAMOND_HELMET(310, 0, 10755, "Diamond Helmet"), - DIAMOND_HOE(293, 0, 24050, "Diamond Hoe"), - DIAMOND_HORSE_ARMOR(419, 0, 10321, "Diamond Horse Armor", "Diamond_barding"), - DIAMOND_LEGGINGS(312, 0, 11202, "Diamond Leggings"), - DIAMOND_ORE(56, 0, 9292, "Diamond Ore"), - DIAMOND_PICKAXE(278, 0, 24291, "Diamond Pickaxe"), - DIAMOND_SHOVEL(277, 0, 25415, "Diamond Shovel", "DIAMOND_SPADE"), - DIAMOND_SWORD(276, 0, 27707, "Diamond Sword"), - DIORITE(1, 3, 24688, "Diorite"), - DIRT(3, 0, 10580, "Dirt"), - DISPENSER(23, 0, 20871, "Dispenser"), - DOLPHIN_SPAWN_EGG(20787, "Dolphin Spawn Egg"), - DONKEY_SPAWN_EGG(383, 31, 14513, "Donkey Spawn Egg", "Spawn Donkey"), - DRAGON_BREATH(437, 0, 20154, "Dragon's Breath"), - DRAGON_EGG(122, 0, 29946, "Dragon Egg"), - DRAGON_HEAD(397, 5, 20084, "Dragon Head"), - DRAGON_WALL_HEAD(144, 5, 19818, "Dragon Wall Head"), - DRIED_KELP(21042, "Dried Kelp"), - DRIED_KELP_BLOCK(12966, "Dried Kelp Block"), - DROPPER(158, 0, 31273, "Dropper"), - DROWNED_SPAWN_EGG(19368, "Drowned Spawn Egg"), - EGG(344, 0, 21603, "Egg"), - ELDER_GUARDIAN_SPAWN_EGG(383, 4, 11418, "Elder Guardian Spawn Egg", "Spawn Elder Guardian"), - ELYTRA(443, 0, 23829, "Elytra"), - EMERALD(388, 0, 5654, "Emerald"), - EMERALD_BLOCK(133, 0, 9914, "Emerald Block", "Block of Emerald"), - EMERALD_ORE(129, 0, 16630, "Emerald Ore"), - ENCHANTED_BOOK(403, 0, 11741, "Enchanted Book"), - ENCHANTED_GOLDEN_APPLE(322, 1, 8280, "Enchanted Golden Apple"), - ENCHANTING_TABLE(116, 0, 16255, "Enchanting Table", "ENCHANTMENT_TABLE"), - ENDERMAN_SPAWN_EGG(383, 58, 29488, "Enderman Spawn Egg", "Spawn Enderman"), - ENDERMITE_SPAWN_EGG(383, 67, 16617, "Endermite Spawn Egg", "Spawn Endermite"), - ENDER_CHEST(130, 0, 32349, "Ender Chest"), - ENDER_EYE(381, 0, 24860, "Eye of Ender"), - ENDER_PEARL(368, 0, 5259, "Ender Pearl"), - END_CRYSTAL(426, 0, 19090, "End Crystal"), - END_GATEWAY(209, 0, 26605, "End Gateway"), - END_PORTAL(119, 0, 16782, "End Portal"), - END_PORTAL_FRAME(120, 0, 15480, "End Portal Frame", "ENDER_PORTAL_FRAME"), - END_ROD(198, 0, 24832, "End Rod"), - END_STONE(121, 0, 29686, "End Stone", "ENDER_STONE"), - END_STONE_BRICKS(206, 0, 20314, "End Stone Bricks", "END_BRICKS"), - EVOKER_SPAWN_EGG(383, 34, 21271, "Evoker Spawn Egg", "Spawn Evoker"), - EXPERIENCE_BOTTLE(384, 0, 12858, "Bottle o' Enchanting", "expbottle"), - FARMLAND(60, 0, 31166, "Farmland", "SOIL"), - FEATHER(288, 0, 30548, "Feather"), - FERMENTED_SPIDER_EYE(376, 0, 19386, "Fermented Spider Eye"), - FERN(31, 2, 15794, "Fern", "LONG_GRASS"), - FILLED_MAP(358, 0, 23504, "Map"), - FIRE(51, 0, 16396, "Fire"), - FIREWORK_ROCKET(401, 0, 23841, "Firework Rocket"), - FIREWORK_STAR(402, 0, 12190, "Firework Star", "FIREWORK_CHARGE"), - FIRE_CHARGE(385, 0, 4842, "Fire Charge", "Fireball"), - FIRE_CORAL(29151, "Fire Coral"), - FIRE_CORAL_BLOCK(12119, "Fire Coral Block"), - FIRE_CORAL_FAN(11112, "Fire Coral Fan"), - FIRE_CORAL_WALL_FAN(20100, "Fire Coral Wall Fan"), - FISHING_ROD(346, 0, 4167, "Fishing Rod"), - FLINT(318, 0, 23596, "Flint"), - FLINT_AND_STEEL(259, 0, 28620, "Flint and Steel"), - FLOWER_POT(390, 0, 30567, "Flower Pot", "FLOWER_POT_ITEM"), - FROSTED_ICE(212, 0, 21814, "Frosted Ice"), - FURNACE(61, 0, 8133, "Furnace"), - FURNACE_MINECART(343, 0, 14196, "Minecart with Furnace", "POWERED_MINECART"), - GHAST_SPAWN_EGG(383, 56, 9970, "Ghast Spawn Egg", "Spawn Ghast"), - GHAST_TEAR(370, 0, 18222, "Ghast Tear"), - GLASS(20, 0, 6195, Arrays.asList(CMIMaterialCriteria.seeThrow), "Glass"), - GLASS_BOTTLE(374, 0, 6116, "Glass Bottle"), - GLASS_PANE(102, 0, 5709, Arrays.asList(CMIMaterialCriteria.seeThrow), "Glass Pane", "THIN_GLASS"), - GLISTERING_MELON_SLICE(382, 0, 20158, "Glistering Melon", "speckledmelon"), - GLOWSTONE(89, 0, 32713, "Glowstone"), - GLOWSTONE_DUST(348, 0, 6665, "Glowstone Dust"), - GOLDEN_APPLE(322, 0, 27732, "Golden Apple", "Gold apple"), - GOLDEN_AXE(286, 0, 4878, "Golden Axe", "Gold Axe"), - GOLDEN_BOOTS(317, 0, 7859, "Golden Boots", "Gold Boots"), - GOLDEN_CARROT(396, 0, 5300, "Golden Carrot", "Gold Carrot"), - GOLDEN_CHESTPLATE(315, 0, 4507, "Golden Chestplate", "Gold Chestplate"), - GOLDEN_HELMET(314, 0, 7945, "Golden Helmet", "Gold Helmet"), - GOLDEN_HOE(294, 0, 19337, "Golden Hoe", "Gold Hoe"), - GOLDEN_HORSE_ARMOR(418, 0, 7996, "Golden Horse Armor", "Gold Barding"), - GOLDEN_LEGGINGS(316, 0, 21002, "Golden Leggings", "Gold Leggings"), - GOLDEN_PICKAXE(285, 0, 10901, "Golden Pickaxe", "GOLD_PICKAXE"), - GOLDEN_SHOVEL(284, 0, 15597, "Golden Shovel", "GOLD_SPADE"), - GOLDEN_SWORD(283, 0, 10505, "Golden Sword", "GOLD_SWORD"), - GOLD_BLOCK(41, 0, 27392, "Block of Gold", "GOLD_BLOCK"), - GOLD_INGOT(266, 0, 28927, "Gold Ingot"), - GOLD_NUGGET(371, 0, 28814, "Gold Nugget"), - GOLD_ORE(14, 0, 32625, "Gold Ore"), - GRANITE(1, 1, 21091, "Granite"), - GRASS(31, 1, 6155, "Grass"), - GRASS_BLOCK(2, 0, 28346, "Grass Block"), - GRASS_PATH(208, 0, 8604, "Grass Path"), - GRAVEL(13, 0, 7804, "Gravel"), - GRAY_BANNER(425, 8, 12053, "Gray Banner"), - GRAY_BED(355, 7, 15745, "Gray Bed"), - GRAY_CARPET(171, 7, 26991, "Gray Carpet"), - GRAY_CONCRETE(251, 7, 13959, "Gray Concrete"), - GRAY_CONCRETE_POWDER(252, 7, 13031, "Gray Concrete Powder"), - GRAY_DYE(351, 8, 9184, "Gray Dye"), - GRAY_GLAZED_TERRACOTTA(242, 0, 6256, "Gray Glazed Terracotta"), - GRAY_SHULKER_BOX(226, 0, 12754, "Gray Shulker Box"), - GRAY_STAINED_GLASS(95, 7, 29979, Arrays.asList(CMIMaterialCriteria.seeThrow), "Gray Stained Glass"), - GRAY_STAINED_GLASS_PANE(160, 7, 25272, Arrays.asList(CMIMaterialCriteria.seeThrow), "Gray Stained Glass Pane"), - GRAY_TERRACOTTA(159, 7, 18004, "Gray Terracotta"), - GRAY_WALL_BANNER(177, 8, 24275, "Gray Banner"), - GRAY_WOOL(35, 7, 27209, "Gray Wool"), - GREEN_BANNER(425, 2, 10698, "Green Banner"), - GREEN_BED(355, 13, 13797, "Green Bed"), - GREEN_CARPET(171, 13, 7780, "Green Carpet"), - GREEN_CONCRETE(251, 13, 17949, "Green Concrete"), - GREEN_CONCRETE_POWDER(252, 13, 6904, "Green Concrete Powder"), - GREEN_GLAZED_TERRACOTTA(248, 0, 6958, "Green Glazed Terracotta"), - GREEN_SHULKER_BOX(232, 0, 9377, "Green Shulker Box"), - GREEN_STAINED_GLASS(95, 13, 22503, Arrays.asList(CMIMaterialCriteria.seeThrow), "Green Stained Glass"), - GREEN_STAINED_GLASS_PANE(160, 13, 4767, Arrays.asList(CMIMaterialCriteria.seeThrow), "Green Stained Glass Pane"), - GREEN_TERRACOTTA(159, 13, 4105, "Green Terracotta"), - GREEN_WALL_BANNER(177, 2, 15046, "Green Banner"), - GREEN_WOOL(35, 13, 25085, "Green Wool"), - GUARDIAN_SPAWN_EGG(383, 68, 20113, "Guardian Spawn Egg", "Spawn Guardian"), - GUNPOWDER(289, 0, 29974, "Gunpowder", "SULPHUR"), - HAY_BLOCK(170, 0, 17461, "Hay Bale", "HAY_BLOCK"), - HEART_OF_THE_SEA(11807, "Heart of the Sea"), - HEAVY_WEIGHTED_PRESSURE_PLATE(148, 0, 16970, "Heavy Weighted Pressure Plate", "IRON_PLATE"), - HOPPER(154, 0, 31974, "Hopper"), - HOPPER_MINECART(408, 0, 19024, "Minecart with Hopper"), - HORN_CORAL(19511, "Horn Coral"), - HORN_CORAL_BLOCK(19958, "Horn Coral Block"), - HORN_CORAL_FAN(13610, "Horn Coral Fan"), - HORN_CORAL_WALL_FAN(28883, "Horn Coral Wall Fan"), - HORSE_SPAWN_EGG(383, 100, 25981, "Horse Spawn Egg", "Spawn Horse"), - HUSK_SPAWN_EGG(383, 23, 20178, "Husk Spawn Egg", "Spawn Husk"), - ICE(79, 0, 30428, "Ice"), - INFESTED_CHISELED_STONE_BRICKS(97, 5, 4728, "Infested Chiseled Stone Bricks", "MONSTER_EGGS"), - INFESTED_COBBLESTONE(97, 1, 28798, "Infested Cobblestone"), - INFESTED_CRACKED_STONE_BRICKS(97, 4, 7476, "Infested Cracked Stone Bricks"), - INFESTED_MOSSY_STONE_BRICKS(97, 3, 9850, "Infested Mossy Stone Bricks"), - INFESTED_STONE(97, 0, 18440, "Infested Stone"), - INFESTED_STONE_BRICKS(97, 2, 19749, "Infested Stone Bricks"), - INK_SAC(351, 0, 7184, "Ink Sac", "Ink Sack"), - IRON_AXE(258, 0, 15894, "Iron Axe"), - IRON_BARS(101, 0, 9378, Arrays.asList(CMIMaterialCriteria.seeThrow), "Iron Bars", "IRON_FENCE"), - IRON_BLOCK(42, 0, 24754, "Block of Iron", "IRON_BLOCK"), - IRON_BOOTS(309, 0, 8531, "Iron Boots"), - IRON_CHESTPLATE(307, 0, 28112, "Iron Chestplate"), - IRON_DOOR(330, 0, 4788, "Iron Door"), - IRON_HELMET(306, 0, 12025, "Iron Helmet"), - IRON_HOE(292, 0, 11339, "Iron Hoe"), - IRON_HORSE_ARMOR(417, 0, 30108, "Iron Horse Armor", "Iron_barding"), - IRON_INGOT(265, 0, 24895, "Iron Ingot"), - IRON_LEGGINGS(308, 0, 18951, "Iron Leggings"), - IRON_NUGGET(452, 0, 13715, "Iron Nugget"), - IRON_ORE(15, 0, 19834, "Iron Ore"), - IRON_PICKAXE(257, 0, 8842, "Iron Pickaxe"), - IRON_SHOVEL(256, 0, 30045, "Iron Shovel", "IRON_SPADE"), - IRON_SWORD(267, 0, 10904, "Iron Sword"), - IRON_TRAPDOOR(167, 0, 17095, "Iron Trapdoor"), - ITEM_FRAME(389, 0, 27318, "Item Frame"), - JACK_O_LANTERN(91, 0, 31612, "Jack o'Lantern", "JACK_O_LANTERN"), - JUKEBOX(84, 0, 19264, "Jukebox"), - JUNGLE_BOAT(446, 0, 4495, "Jungle Boat", "BOAT_JUNGLE"), - JUNGLE_BUTTON(25317, "Jungle Button"), - JUNGLE_DOOR(429, 0, 28163, "Jungle Door", "JUNGLE_DOOR_ITEM"), - JUNGLE_FENCE(190, 0, 14358, Arrays.asList(CMIMaterialCriteria.seeThrow), "Jungle Fence"), - JUNGLE_FENCE_GATE(185, 0, 21360, Arrays.asList(CMIMaterialCriteria.seeThrow), "Jungle Fence Gate", "JUNGLE_FENCE_GATE"), - JUNGLE_LEAVES(18, 3, 5133, "Jungle Leaves"), - JUNGLE_LOG(17, 3, 20721, "Jungle Log"), - JUNGLE_PLANKS(5, 3, 26445, "Jungle Wood Plank", "Jungle Planks"), - JUNGLE_PRESSURE_PLATE(11376, "Jungle Pressure Plate"), - JUNGLE_SAPLING(6, 3, 17951, "Jungle Sapling"), - JUNGLE_SLAB(43, 0, 19117, "Double Stone Slab"), - JUNGLE_STAIRS(136, 0, 20636, "Jungle Wood Stairs", "Jungle Stairs"), - JUNGLE_TRAPDOOR(8626, "Jungle Trapdoor"), - JUNGLE_WOOD(10341, "Jungle Wood"), - KELP(21916, "Kelp"), - KELP_PLANT(29697, "Kelp Plant"), - KNOWLEDGE_BOOK(453, 0, 12646, "Knowledge Book"), - LADDER(65, 0, 23599, "Ladder"), - LAPIS_BLOCK(22, 0, 14485, "Lapis Lazuli Block", "LAPIS_BLOCK"), - LAPIS_LAZULI(351, 4, 11075, "Lapis Lazuli"), - LAPIS_ORE(21, 0, 22934, "Lapis Lazuli Ore", "LAPIS_ORE"), - LARGE_FERN(175, 3, 30177, "Large Fern", "DOUBLE_PLANT"), - LAVA(10, 0, 8415, "Flowing Lava"), - LAVA_BUCKET(327, 0, 9228, "Lava Bucket"), - LEAD(420, 0, 29539, "Lead", "Leash"), - LEATHER(334, 0, 16414, "Leather"), - LEATHER_BOOTS(301, 0, 15282, "Leather Boots"), - LEATHER_CHESTPLATE(299, 0, 29275, "Leather Tunic", "LEATHER_CHESTPLATE"), - LEATHER_HELMET(298, 0, 11624, "Leather Cap", "LEATHER_HELMET"), - LEATHER_LEGGINGS(300, 0, 28210, "Leather Pants", "LEATHER_LEGGINGS"), - LEVER(69, 0, 15319, "Lever"), - LIGHT_BLUE_BANNER(425, 12, 18060, "Light Blue Banner"), - LIGHT_BLUE_BED(355, 3, 20957, "Light Blue Bed"), - LIGHT_BLUE_CARPET(171, 3, 21194, "Light Blue Carpet"), - LIGHT_BLUE_CONCRETE(251, 3, 29481, "Light Blue Concrete"), - LIGHT_BLUE_CONCRETE_POWDER(252, 3, 31206, "Light Blue Concrete Powder"), - LIGHT_BLUE_DYE(351, 12, 28738, "Light Blue Dye"), - LIGHT_BLUE_GLAZED_TERRACOTTA(238, 0, 4336, "Light Blue Glazed Terracotta"), - LIGHT_BLUE_SHULKER_BOX(222, 0, 18226, "Light Blue Shulker Box"), - LIGHT_BLUE_STAINED_GLASS(95, 3, 17162, Arrays.asList(CMIMaterialCriteria.seeThrow), "Light Blue Stained Glass"), - LIGHT_BLUE_STAINED_GLASS_PANE(160, 3, 18721, Arrays.asList(CMIMaterialCriteria.seeThrow), "Light Blue Stained Glass Pane"), - LIGHT_BLUE_TERRACOTTA(159, 3, 31779, "Light Blue Terracotta"), - LIGHT_BLUE_WALL_BANNER(177, 12, 12011, "Light Blue Banner"), - LIGHT_BLUE_WOOL(35, 3, 21073, "Light Blue Wool"), - LIGHT_GRAY_BANNER(425, 7, 11417, "Light Gray Banner"), - LIGHT_GRAY_BED(355, 8, 5090, "Light Gray Bed"), - LIGHT_GRAY_CARPET(171, 8, 11317, "Light Gray Carpet"), - LIGHT_GRAY_CONCRETE(251, 8, 14453, "Light Gray Concrete"), - LIGHT_GRAY_CONCRETE_POWDER(252, 8, 21589, "Light Gray Concrete Powder"), - LIGHT_GRAY_DYE(351, 7, 27643, "Light Gray Dye"), - LIGHT_GRAY_GLAZED_TERRACOTTA(243, 0, 10707, "Light Gray Glazed Terracotta", "SILVER_GLAZED_TERRACOTTA"), - LIGHT_GRAY_SHULKER_BOX(227, 0, 21345, "Light Gray Shulker Box", "SILVER_SHULKER_BOX"), - LIGHT_GRAY_STAINED_GLASS(95, 8, 5843, Arrays.asList(CMIMaterialCriteria.seeThrow), "Light Gray Stained Glass"), - LIGHT_GRAY_STAINED_GLASS_PANE(160, 8, 19008, Arrays.asList(CMIMaterialCriteria.seeThrow), "Light Gray Stained Glass Pane"), - LIGHT_GRAY_TERRACOTTA(159, 8, 26388, "Light Gray Terracotta"), - LIGHT_GRAY_WALL_BANNER(177, 7, 31088, "Light Gray Banner"), - LIGHT_GRAY_WOOL(35, 8, 22936, "Light Gray Wool"), - LIGHT_WEIGHTED_PRESSURE_PLATE(147, 0, 14875, "Light Weighted Pressure Plate", "GOLD_PLATE"), - LILAC(175, 1, 22837, "Lilac"), - LILY_PAD(111, 0, 19271, "Lily Pad", "WATER_LILY"), - LIME_BANNER(425, 10, 18887, "Lime Banner"), - LIME_BED(355, 5, 27860, "Lime Bed"), - LIME_CARPET(171, 5, 15443, "Lime Carpet"), - LIME_CONCRETE(251, 5, 5863, "Lime Concrete"), - LIME_CONCRETE_POWDER(252, 5, 28859, "Lime Concrete Powder"), - LIME_DYE(351, 10, 6147, "Lime Dye"), - LIME_GLAZED_TERRACOTTA(240, 0, 13861, "Lime Glazed Terracotta"), - LIME_SHULKER_BOX(224, 0, 28360, "Lime Shulker Box"), - LIME_STAINED_GLASS(95, 5, 24266, Arrays.asList(CMIMaterialCriteria.seeThrow), "Lime Stained Glass"), - LIME_STAINED_GLASS_PANE(160, 5, 10610, Arrays.asList(CMIMaterialCriteria.seeThrow), "Lime Stained Glass Pane"), - LIME_TERRACOTTA(159, 5, 24013, "Lime Terracotta"), - LIME_WALL_BANNER(177, 10, 21422, "Lime Banner"), - LIME_WOOL(35, 5, 10443, "Lime Wool"), - LINGERING_POTION(441, 0, 25857, "Lingering Potion"), - LLAMA_SPAWN_EGG(383, 103, 23640, "Llama Spawn Egg", "Spawn Llama"), - MAGENTA_BANNER(425, 13, 15591, "Magenta Banner"), - MAGENTA_BED(355, 2, 20061, "Magenta Bed"), - MAGENTA_CARPET(171, 2, 6180, "Magenta Carpet"), - MAGENTA_CONCRETE(251, 2, 20591, "Magenta Concrete"), - MAGENTA_CONCRETE_POWDER(252, 2, 8272, "Magenta Concrete Powder"), - MAGENTA_DYE(351, 13, 11788, "Magenta Dye"), - MAGENTA_GLAZED_TERRACOTTA(237, 0, 8067, "Magenta Glazed Terracotta"), - MAGENTA_SHULKER_BOX(221, 0, 21566, "Magenta Shulker Box"), - MAGENTA_STAINED_GLASS(95, 2, 26814, Arrays.asList(CMIMaterialCriteria.seeThrow), "Magenta Stained Glass"), - MAGENTA_STAINED_GLASS_PANE(160, 2, 14082, Arrays.asList(CMIMaterialCriteria.seeThrow), "Magenta Stained Glass Pane"), - MAGENTA_TERRACOTTA(159, 2, 25900, "Magenta Terracotta"), - MAGENTA_WALL_BANNER(177, 13, 23291, "Magenta Banner"), - MAGENTA_WOOL(35, 2, 11853, "Magenta Wool"), - MAGMA_BLOCK(213, 0, 25927, "Magma Block", "MAGMA"), - MAGMA_CREAM(378, 0, 25097, "Magma Cream"), - MAGMA_CUBE_SPAWN_EGG(383, 62, 26638, "Magma Cube Spawn Egg", "Spawn Magma Cube"), - MAP(395, 0, 21655, "Empty Map"), - MELON(103, 0, 25172, "Melon Block"), - MELON_SEEDS(362, 0, 18340, "Melon Seeds"), - MELON_SLICE(360, 0, 5347, "Melon Slice"), - MELON_STEM(105, 0, 8247, "Melon Stem"), - MILK_BUCKET(335, 0, 9680, "Milk Bucket"), - MINECART(328, 0, 14352, "Minecart"), - MOOSHROOM_SPAWN_EGG(383, 96, 22125, "Mooshroom Spawn Egg", "Spawn Mushroom Cow"), - MOSSY_COBBLESTONE(48, 0, 21900, "Mossy Cobblestone", "MOSSY_COBBLESTONE"), - MOSSY_COBBLESTONE_WALL(139, 1, 11536, "Mossy Cobblestone Wall"), - MOSSY_STONE_BRICKS(98, 1, 16415, "Mossy Stone Bricks"), - MOVING_PISTON(36, 0, 13831, "Piston Moving Piece"), - MULE_SPAWN_EGG(383, 32, 11229, "Mule Spawn Egg", "Spawn Mule"), - MUSHROOM_STEM(16543, "Mushroom Stem"), - MUSHROOM_STEW(282, 0, 16336, "Mushroom Stew", "MUSHROOM_SOUP"), - MUSIC_DISC_11(2266, 0, 27426, "11 Disc", "RECORD_11"), - MUSIC_DISC_13(2256, 0, 16359, "13 Disc", "GOLD_RECORD"), - MUSIC_DISC_BLOCKS(2258, 0, 26667, "Blocks Disc", "RECORD_3"), - MUSIC_DISC_CAT(2257, 0, 16246, "Cat Disc", "GREEN_RECORD"), - MUSIC_DISC_CHIRP(2259, 0, 19436, "Chirp Disc", "RECORD_4"), - MUSIC_DISC_FAR(2260, 0, 13823, "Far Disc", "RECORD_5"), - MUSIC_DISC_MALL(2261, 0, 11517, "Mall Disc", "RECORD_6"), - MUSIC_DISC_MELLOHI(2262, 0, 26117, "Mellohi Disc", "RECORD_7"), - MUSIC_DISC_STAL(2263, 0, 14989, "Stal Disc", "RECORD_8"), - MUSIC_DISC_STRAD(2264, 0, 16785, "Strad Disc", "RECORD_9"), - MUSIC_DISC_WAIT(2267, 0, 26499, "Wait Disc", "RECORD_12"), - MUSIC_DISC_WARD(2265, 0, 24026, "Ward Disc", "RECORD_10"), - MUTTON(423, 0, 4792, "Raw Mutton"), - MYCELIUM(110, 0, 9913, "Mycelium", "MYCEL"), - NAME_TAG(421, 0, 30731, "Name Tag"), - NAUTILUS_SHELL(19989, "Nautilus Shell"), - NETHERRACK(87, 0, 23425, "Netherrack"), - NETHER_BRICK(405, 0, 19996, "Nether Brick", "Nether Brick Item"), - NETHER_BRICKS(112, 0, 27802, "Nether Bricks"), - NETHER_BRICK_FENCE(113, 0, 5286, Arrays.asList(CMIMaterialCriteria.seeThrow), "Nether Brick Fence", "NETHER_FENCE"), - NETHER_BRICK_SLAB(44, 6, 26586, "Nether Brick Slab"), - NETHER_BRICK_STAIRS(114, 0, 12085, "Nether Brick Stairs", "NETHER_BRICK_STAIRS"), - NETHER_PORTAL(90, 0, 19469, "Nether Portal", "PORTAL"), - NETHER_QUARTZ_ORE(153, 0, 4807, "Nether Quartz Ore", "QUARTZ_ORE"), - NETHER_STAR(399, 0, 12469, "Nether Star"), - NETHER_WART(372, 0, 29227, "Nether Wart", "NETHER_STALK"), - NETHER_WART_BLOCK(214, 0, 15486, "Nether Wart Block", "NETHER_WART_BLOCK"), - NOTE_BLOCK(25, 0, 20979, "Note Block", "NOTE_BLOCK"), - OAK_BOAT(333, 0, 17570, "Boat", "Oak Boat"), - OAK_BUTTON(143, 0, 13510, "Oak Button", "Wooden_button"), - OAK_DOOR(324, 0, 20341, "Wooden Door", "Wood Door", "Door"), - OAK_FENCE(85, 0, 6442, Arrays.asList(CMIMaterialCriteria.seeThrow), "Oak Fence", "FENCE"), - OAK_FENCE_GATE(107, 0, 16689, Arrays.asList(CMIMaterialCriteria.seeThrow), "Oak Fence Gate", "FENCE_GATE"), - OAK_LEAVES(18, 0, 4385, "Oak Leaves"), - OAK_LOG(17, 0, 26723, "Oak Log"), - OAK_PLANKS(5, 0, 14905, "Oak Wood Plank", "Oak Planks"), - OAK_PRESSURE_PLATE(72, 0, 20108, "Oak Pressure Plate", "Wooden_Presure_Plate"), - OAK_SAPLING(6, 0, 9636, "Oak Sapling"), - OAK_SLAB(126, 0, 12002, "Oak Slab", "Wood step"), - OAK_STAIRS(53, 0, 5449, "Oak Stairs", "WOOD_STAIRS"), - OAK_TRAPDOOR(96, 0, 16927, "Oak Trapdoor", "Trapdoor"), - OAK_WOOD(7378, "Oak Wood"), - OBSERVER(218, 0, 10726, "Observer"), - OBSIDIAN(49, 0, 32723, "Obsidian"), - OCELOT_SPAWN_EGG(383, 98, 30080, "Ocelot Spawn Egg", "Spawn Ocelot"), - ORANGE_BANNER(425, 14, 4839, "Orange Banner"), - ORANGE_BED(355, 1, 11194, "Orange Bed"), - ORANGE_CARPET(171, 1, 24752, "Orange Carpet"), - ORANGE_CONCRETE(251, 1, 19914, "Orange Concrete"), - ORANGE_CONCRETE_POWDER(252, 1, 30159, "Orange Concrete Powder"), - ORANGE_DYE(351, 14, 13866, "Orange Dye"), - ORANGE_GLAZED_TERRACOTTA(236, 0, 27451, "Orange Glazed Terracotta"), - ORANGE_SHULKER_BOX(220, 0, 21673, "Orange Shulker Box"), - ORANGE_STAINED_GLASS(95, 1, 25142, Arrays.asList(CMIMaterialCriteria.seeThrow), "Orange Stained Glass"), - ORANGE_STAINED_GLASS_PANE(160, 1, 21089, Arrays.asList(CMIMaterialCriteria.seeThrow), "Orange Stained Glass Pane"), - ORANGE_TERRACOTTA(159, 1, 18684, "Orange Terracotta"), - ORANGE_TULIP(38, 5, 26038, "Orange Tulip"), - ORANGE_WALL_BANNER(177, 114, 9936, "Orange Banner"), - ORANGE_WOOL(35, 1, 23957, "Orange Wool"), - OXEYE_DAISY(38, 8, 11709, "Oxeye Daisy"), - PACKED_ICE(174, 0, 28993, "Packed Ice"), - PAINTING(321, 0, 23945, "Painting"), - PAPER(339, 0, 9923, "Paper"), - PARROT_SPAWN_EGG(383, 105, 23614, "Parrot Spawn Egg", "Spawn Parrot"), - PEONY(175, 5, 21155, "Peony"), - PETRIFIED_OAK_SLAB(18658, "Petrified Oak Slab"), - PHANTOM_MEMBRANE(18398, "Phantom Membrane"), - PHANTOM_SPAWN_EGG(24648, "Phantom Spawn Egg"), - PIG_SPAWN_EGG(383, 90, 22584, "Spawn Pig", "Pig Spawn Egg"), - PINK_BANNER(425, 9, 19439, "Pink Banner"), - PINK_BED(355, 6, 13795, "Pink Bed"), - PINK_CARPET(171, 6, 30186, "Pink Carpet"), - PINK_CONCRETE(251, 6, 5227, "Pink Concrete"), - PINK_CONCRETE_POWDER(252, 6, 6421, "Pink Concrete Powder"), - PINK_DYE(351, 9, 31151, "Pink Dye"), - PINK_GLAZED_TERRACOTTA(241, 0, 10260, "Pink Glazed Terracotta"), - PINK_SHULKER_BOX(225, 0, 24968, "Pink Shulker Box"), - PINK_STAINED_GLASS(95, 6, 16164, Arrays.asList(CMIMaterialCriteria.seeThrow), "Pink Stained Glass"), - PINK_STAINED_GLASS_PANE(160, 6, 24637, Arrays.asList(CMIMaterialCriteria.seeThrow), "Pink Stained Glass Pane"), - PINK_TERRACOTTA(159, 6, 23727, "Pink Terracotta"), - PINK_TULIP(38, 7, 27319, "Pink Tulip"), - PINK_WALL_BANNER(177, 9, 9421, "Pink Banner"), - PINK_WOOL(35, 6, 7611, "Pink Wool"), - PISTON(33, 0, 21130, "Piston", "PISTON_BASE"), - PISTON_HEAD(34, 0, 30226, "Piston Head", "PISTON_EXTENSION"), - PLAYER_HEAD(397, 3, 21174, "Mob Head (Human)", "Player Head"), - PLAYER_WALL_HEAD(144, 3, 13164, "Player Wall Head"), - PODZOL(3, 2, 24068, "Podzol"), - POISONOUS_POTATO(394, 0, 32640, "Poisonous Potato"), - POLAR_BEAR_SPAWN_EGG(383, 102, 17015, "Polar Bear Spawn Egg", "Spawn Polar Bear"), - POLISHED_ANDESITE(1, 6, 8335, "Polished Andesite"), - POLISHED_DIORITE(1, 4, 31615, "Polished Diorite"), - POLISHED_GRANITE(1, 2, 5477, "Polished Granite"), - POPPED_CHORUS_FRUIT(433, 0, 27844, "Popped Chorus Fruit"), - POPPY(38, 0, 12851, "Poppy"), - PORKCHOP(319, 0, 30896, "Raw Porkchop"), - POTATO(392, 0, 21088, "Potato", "Potatoitem"), - POTATOES(142, 0, 10879, "Potatoes"), - POTION(373, 0, 24020, "Potion"), - POTTED_ACACIA_SAPLING(14096, " Acacia Sapling"), - POTTED_ALLIUM(13184, "Potted Allium"), - POTTED_AZURE_BLUET(8754, "Potted Azure Bluet"), - POTTED_BIRCH_SAPLING(32484, "Potted Birch Sapling"), - POTTED_BLUE_ORCHID(6599, "Potted Blue Orchid"), - POTTED_BROWN_MUSHROOM(14481, "Potted Brown Mushroom"), - POTTED_CACTUS(8777, "Potted Cactus"), - POTTED_DANDELION(9727, "Potted Dandelion"), - POTTED_DARK_OAK_SAPLING(6486, "Potted Dark Oak Sapling"), - POTTED_DEAD_BUSH(13020, "Potted Dead Bush"), - POTTED_FERN(23315, "Potted Fern"), - POTTED_JUNGLE_SAPLING(7525, "Potted Jungle Sapling"), - POTTED_OAK_SAPLING(11905, "Potted Oak Sapling"), - POTTED_ORANGE_TULIP(28807, "Potted Orange Tulip"), - POTTED_OXEYE_DAISY(19707, "Potted Oxeye Daisy"), - POTTED_PINK_TULIP(10089, "Potted Pink Tulip"), - POTTED_POPPY(7457, "Potted Poppy"), - POTTED_RED_MUSHROOM(22881, "Potted Red Mushroom"), - POTTED_RED_TULIP(28594, "Potted Red Tulip"), - POTTED_SPRUCE_SAPLING(29498, "Potted Spruce Sapling"), - POTTED_WHITE_TULIP(24330, "Potted White Tulip"), - POWERED_RAIL(27, 0, 11064, "Powered Rail"), - PRISMARINE(168, 0, 7539, "Prismarine"), - PRISMARINE_BRICKS(168, 1, 29118, "Prismarine Bricks"), - PRISMARINE_BRICK_SLAB(26672, "Prismarine Brick Slab"), - PRISMARINE_BRICK_STAIRS(15445, "Prismarine Brick Stairs"), - PRISMARINE_CRYSTALS(410, 0, 31546, "Prismarine Crystals"), - PRISMARINE_SHARD(409, 0, 10993, "Prismarine Shard"), - PRISMARINE_SLAB(31323, "Prismarine Slab"), - PRISMARINE_STAIRS(19217, "Prismarine Stairs"), - PUFFERFISH(349, 3, 8115, "Pufferfish"), - PUFFERFISH_BUCKET(8861, "Bucket of Pufferfish"), - PUFFERFISH_SPAWN_EGG(24573, "Pufferfish Spawn Egg"), - PUMPKIN(86, 0, 19170, "Pumpkin"), - PUMPKIN_PIE(400, 0, 28725, "Pumpkin Pie"), - PUMPKIN_SEEDS(361, 0, 28985, "Pumpkin Seeds"), - PUMPKIN_STEM(104, 0, 19021, "Pumpkin Stem"), - PURPLE_BANNER(425, 5, 29027, "Purple Banner"), - PURPLE_BED(355, 10, 29755, "Purple Bed", "Purple Bed"), - PURPLE_CARPET(171, 10, 5574, "Purple Carpet"), - PURPLE_CONCRETE(251, 10, 20623, "Purple Concrete"), - PURPLE_CONCRETE_POWDER(252, 10, 26808, "Purple Concrete Powder"), - PURPLE_DYE(351, 5, 6347, "Purple Dye"), - PURPLE_GLAZED_TERRACOTTA(245, 0, 4818, "Purple Glazed Terracotta"), - PURPLE_SHULKER_BOX(229, 0, 10373, "Purple Shulker Box"), - PURPLE_STAINED_GLASS(95, 10, 21845, Arrays.asList(CMIMaterialCriteria.seeThrow), "Purple Stained Glass"), - PURPLE_STAINED_GLASS_PANE(160, 10, 10948, Arrays.asList(CMIMaterialCriteria.seeThrow), "Purple Stained Glass Pane"), - PURPLE_TERRACOTTA(159, 10, 10387, "Purple Terracotta"), - PURPLE_WALL_BANNER(177, 5, 14298, "Purple Banner"), - PURPLE_WOOL(35, 10, 11922, "Purple Wool"), - PURPUR_BLOCK(201, 0, 7538, "Purpur Block"), - PURPUR_PILLAR(202, 0, 26718, "Purpur Pillar"), - PURPUR_SLAB(205, 0, 11487, "Purpur Slab"), - PURPUR_STAIRS(203, 0, 8921, "Purpur Stairs"), - QUARTZ(406, 0, 23608, "Nether Quartz"), - QUARTZ_BLOCK(155, 0, 11987, "Block of Quartz"), - QUARTZ_PILLAR(155, 2, 16452, "Quartz Pillar"), - QUARTZ_SLAB(44, 7, 4423, "Quartz Slab"), - QUARTZ_STAIRS(156, 0, 24079, "Quartz Stairs"), - RABBIT(411, 0, 23068, "Raw Rabbit"), - RABBIT_FOOT(414, 0, 13864, "Rabbit's Foot"), - RABBIT_HIDE(415, 0, 12467, "Rabbit Hide"), - RABBIT_SPAWN_EGG(383, 101, 26496, "Rabbit Spawn Egg", "Spawn Rabbit"), - RABBIT_STEW(413, 0, 10611, "Rabbit Stew"), - RAIL(66, 0, 13285, "Rail", "RAILS"), - REDSTONE(331, 0, 11233, "Redstone", "Redstone Dust"), - REDSTONE_BLOCK(152, 0, 19496, "Block of Redstone", "REDSTONE_BLOCK"), - REDSTONE_LAMP(123, 0, 8217, "Redstone Lamp", "REDSTONE_LAMP_OFF"), - REDSTONE_ORE(73, 0, 10887, "Redstone Ore"), - REDSTONE_TORCH(76, 0, 22547, "Redstone Torch(on)", "REDSTONE_TORCH_ON"), - REDSTONE_WALL_TORCH(76, 0, 7595, "Redstone Wall Torch"), - REDSTONE_WIRE(55, 0, 25984, "Redstone Dust", "REDSTONE_WIRE"), - RED_BANNER(425, 1, 26961, "Red Banner"), - RED_BED(355, 14, 30910, "Red Bed", "Red Bed"), - RED_CARPET(171, 14, 5424, "Red Carpet"), - RED_CONCRETE(251, 14, 8032, "Red Concrete"), - RED_CONCRETE_POWDER(252, 14, 13286, "Red Concrete Powder"), - RED_GLAZED_TERRACOTTA(249, 0, 24989, "Red Glazed Terracotta"), - RED_MUSHROOM(40, 0, 19728, "Red Mushroom", "RED_MUSHROOM"), - RED_MUSHROOM_BLOCK(100, 0, 20766, "Red Mushroom Block", "HUGE_MUSHROOM_2"), - RED_NETHER_BRICKS(215, 0, 18056, "Red Nether Bricks", "RED_NETHER_BRICK"), - RED_SAND(12, 1, 16279, "Red Sand"), - RED_SANDSTONE(179, 0, 9092, "Red Sandstone"), - RED_SANDSTONE_SLAB(182, 0, 17550, "Red Sandstone Slab", "STONE_SLAB2"), - RED_SANDSTONE_STAIRS(180, 0, 25466, "Red Sandstone Stairs"), - RED_SHULKER_BOX(233, 0, 32448, "Red Shulker Box"), - RED_STAINED_GLASS(95, 14, 9717, Arrays.asList(CMIMaterialCriteria.seeThrow), "Red Stained Glass"), - RED_STAINED_GLASS_PANE(160, 14, 8630, Arrays.asList(CMIMaterialCriteria.seeThrow), "Red Stained Glass Pane"), - RED_TERRACOTTA(159, 14, 5086, "Red Terracotta"), - RED_TULIP(38, 4, 16781, "Red Tulip"), - RED_WALL_BANNER(177, 1, 4378, "Red Banner"), - RED_WOOL(35, 14, 11621, "Red Wool"), - REPEATER(356, 0, 28823, "Redstone Repeater", "Diode"), - REPEATING_COMMAND_BLOCK(12405, "Repeating Command Block"), - ROSE_BUSH(175, 4, 6080, "Rose Bush"), - ROSE_RED(351, 1, 15694, "Rose Red"), - ROTTEN_FLESH(367, 0, 21591, "Rotten Flesh"), - SADDLE(329, 0, 30206, "Saddle"), - SALMON(349, 1, 18516, "Raw Salmon"), - SALMON_BUCKET(31427, "Bucket of Salmon"), - SALMON_SPAWN_EGG(18739, "Salmon Spawn Egg"), - SAND(12, 0, 11542, "Sand"), - SANDSTONE(24, 0, 13141, "Sandstone"), - SANDSTONE_SLAB(44, 1, 29830, "Sandstone Slab"), - SANDSTONE_STAIRS(128, 0, 18474, "Sandstone Stairs"), - SCUTE(11914, "Scute"), - SEAGRASS(23942, "Seagrass"), - SEA_LANTERN(169, 0, 16984, "Sea Lantern"), - SEA_PICKLE(19562, "Sea Pickle"), - SHEARS(359, 0, 27971, "Shears"), - SHEEP_SPAWN_EGG(383, 91, 24488, "Sheep Spawn Egg", "Spawn Sheep"), - SHIELD(442, 0, 29943, "Shield"), - SHULKER_BOX(229, 0, 7776, "Shulker Box"), - SHULKER_SHELL(450, 0, 27848, "Shulker Shell"), - SHULKER_SPAWN_EGG(383, 69, 31848, "Shulker Spawn Egg", "Spawn Shulker"), - SIGN(323, 0, 16918, "Sign"), - SILVERFISH_SPAWN_EGG(383, 60, 14537, "Silverfish Spawn Egg", "Spawn Silverfish"), - SKELETON_HORSE_SPAWN_EGG(383, 28, 21356, "Skeleton Horse Spawn Egg", "Spawn Skeleton Horse"), - SKELETON_SKULL(397, 0, 13270, "Mob Head (Skeleton)", "Skeleton Skull"), - SKELETON_SPAWN_EGG(383, 51, 15261, "Skeleton Spawn Egg", "Spawn Skeleton"), - SKELETON_WALL_SKULL(144, 0, 31650, "Skeleton Wall Skull"), - SLIME_BALL(341, 0, 5242, "Slimeball"), - SLIME_BLOCK(165, 0, 31892, "Slime Block"), - SLIME_SPAWN_EGG(383, 55, 6550, "Slime Spawn Egg", "Spawn Slime"), - SMOOTH_QUARTZ(14415, "Smooth Quartz"), - SMOOTH_RED_SANDSTONE(179, 2, 25180, "Smooth Red Sandstone"), - SMOOTH_SANDSTONE(24, 2, 30039, "Smooth Sandstone"), - SMOOTH_STONE(21910, "Smooth Stone"), - SNOW(78, 0, 14146, "Snow"), - SNOWBALL(332, 0, 19487, "Snowball"), - SNOW_BLOCK(80, 0, 19913, "Snow Block"), - SOUL_SAND(88, 0, 16841, "Soul Sand"), - SPAWNER(52, 90, 7018, "Spawner", "MOB_SPAWNER"), - SPECTRAL_ARROW(439, 0, 4568, "Spectral Arrow"), - SPIDER_EYE(375, 0, 9318, "Spider Eye"), - SPIDER_SPAWN_EGG(383, 52, 14984, "Spider Spawn Egg", "Spawn Spider"), - SPLASH_POTION(438, 0, 30248, "Splash Potion", "SPLASH_POTION"), - SPONGE(19, 0, 15860, "Sponge", "SPONGE"), - SPRUCE_BOAT(444, 0, 9606, "Spruce Boat", "BOAT_SPRUCE"), - SPRUCE_BUTTON(23281, "Spruce Button"), - SPRUCE_DOOR(427, 0, 10642, "Spruce Door", "SPRUCE_DOOR_ITEM"), - SPRUCE_FENCE(188, 0, 25416, Arrays.asList(CMIMaterialCriteria.seeThrow), "Spruce Fence"), - SPRUCE_FENCE_GATE(183, 0, 26423, Arrays.asList(CMIMaterialCriteria.seeThrow), "Spruce Fence Gate"), - SPRUCE_LEAVES(18, 1, 20039, "Spruce Leaves"), - SPRUCE_LOG(17, 1, 9726, "Spruce Log"), - SPRUCE_PLANKS(5, 1, 14593, "Spruce Wood Plank", "Spruce Planks"), - SPRUCE_PRESSURE_PLATE(15932, "Spruce Pressure Plate"), - SPRUCE_SAPLING(6, 1, 19874, "Spruce Sapling"), - SPRUCE_SLAB(126, 1, 4348, "Spruce Slab"), - SPRUCE_STAIRS(134, 0, 11192, "Spruce Wood Stairs", "Spruce Stairs"), - SPRUCE_TRAPDOOR(10289, "Spruce Trapdoor"), - SPRUCE_WOOD(32328, "Spruce Wood"), - SQUID_SPAWN_EGG(383, 94, 10682, "Squid Spawn Egg", "Spawn Squid"), - STICK(280, 0, 9773, "Stick"), - STICKY_PISTON(29, 0, 18127, "Sticky Piston", "PISTON_STICKY_BASE"), - STONE(1, 0, 22948, "Stone"), - STONE_AXE(275, 0, 6338, "Stone Axe"), - STONE_BRICKS(98, 0, 6962, "Stone Bricks"), - STONE_BRICK_SLAB(44, 5, 19676, "Stone Brick Slab"), - STONE_BRICK_STAIRS(109, 0, 27032, "Stone Brick Stairs", "SMOOTH_STAIRS"), - STONE_BUTTON(77, 0, 12279, "Stone Button"), - STONE_HOE(291, 0, 22855, "Stone Hoe"), - STONE_PICKAXE(274, 0, 14611, "Stone Pickaxe"), - STONE_PRESSURE_PLATE(70, 0, 22591, "Stone Pressure Plate", "STONE_PLATE"), - STONE_SHOVEL(273, 0, 9520, "Stone Shovel", "STONE_SPADE"), - STONE_SLAB(44, 0, 19838, "Stone Slab"), - STONE_SWORD(272, 0, 25084, "Stone Sword"), - STRAY_SPAWN_EGG(383, 6, 30153, "Stray Spawn Egg", "Spawn Stray"), - STRING(287, 0, 12806, "String"), - STRIPPED_ACACIA_LOG(18167, "Stripped Acacia Log"), - STRIPPED_ACACIA_WOOD(27193, "Stripped Acacia Wood"), - STRIPPED_BIRCH_LOG(8838, "Stripped Birch Log"), - STRIPPED_BIRCH_WOOD(22350, "Stripped Birch Wood"), - STRIPPED_DARK_OAK_LOG(6492, "Stripped Dark Oak Log"), - STRIPPED_DARK_OAK_WOOD(16000, "Stripped Dark Oak Wood"), - STRIPPED_JUNGLE_LOG(15476, "Stripped Jungle Log"), - STRIPPED_JUNGLE_WOOD(30315, "Stripped Jungle Wood"), - STRIPPED_OAK_LOG(20523, "Stripped Oak Log"), - STRIPPED_OAK_WOOD(31455, "Stripped Oak Wood"), - STRIPPED_SPRUCE_LOG(6140, "Stripped Spruce Log"), - STRIPPED_SPRUCE_WOOD(6467, "Stripped Spruce Wood"), - STRUCTURE_BLOCK(255, 0, 26831, "Structure Block"), - STRUCTURE_VOID(217, 0, 30806, "Structure Void"), - SUGAR(353, 0, 30638, "Sugar"), - SUGAR_CANE(338, 0, 7726, "Sugar Canes", "Sugar Cane"), - SUNFLOWER(175, 0, 7408, "Sunflower"), - TALL_GRASS(31, 0, 21559, "Tall Grass"), - TALL_SEAGRASS(27189, "Tall Seagrass"), - TERRACOTTA(172, 0, 16544, "Terracotta", "HARD_CLAY"), - TIPPED_ARROW(440, 0, 25164, "Tipped Arrow"), - TNT(46, 0, 7896, "TNT", "TNT"), - TNT_MINECART(407, 0, 4277, "Minecart with TNT", "explosiveminecart"), - TORCH(50, 0, 6063, "Torch"), - TOTEM_OF_UNDYING(449, 0, 10139, "Totem Of Undying", "Totem"), - TRAPPED_CHEST(146, 0, 18970, "Trapped Chest"), - TRIDENT(7534, "Trident"), - TRIPWIRE(132, 0, 8810, "Tripwire"), - TRIPWIRE_HOOK(131, 0, 8130, "Tripwire Hook"), - TROPICAL_FISH(349, 2, 24879, "Tropical Fish"), - TROPICAL_FISH_BUCKET(29995, "Bucket of Tropical Fish"), - TROPICAL_FISH_SPAWN_EGG(19713, "Tropical Fish Spawn Egg"), - TUBE_CORAL(23048, "Tube Coral"), - TUBE_CORAL_BLOCK(23723, "Tube Coral Block"), - TUBE_CORAL_FAN(19929, "Tube Coral Fan"), - TUBE_CORAL_WALL_FAN(25282, "Tube Coral Wall Fan"), - TURTLE_EGG(32101, "Turtle Egg"), - TURTLE_HELMET(30120, "Turtle Shell"), - TURTLE_SPAWN_EGG(17324, "Turtle Spawn Egg"), - VEX_SPAWN_EGG(383, 35, 27751, "Vex Spawn Egg", "Spawn Vex"), - VILLAGER_SPAWN_EGG(383, 120, 30348, "Villager Spawn Egg", "Spawn Villager"), - VINDICATOR_SPAWN_EGG(383, 36, 25324, "Vindicator Spawn Egg", "Spawn Vindicator"), - VINE(106, 0, 14564, Arrays.asList(CMIMaterialCriteria.seeThrow), "Vines", "VINE"), - VOID_AIR(13668, "Void Air"), - WALL_SIGN(68, 0, 10644, "Wall Sign"), - WALL_TORCH(50, 0, 25890, "Wall Torch"), - WATER(8, 0, 24998, "Flowing Water"), - WATER_BUCKET(326, 0, 8802, "Water Bucket"), - WET_SPONGE(19, 1, 9043, "Wet Sponge"), - WHEAT(296, 0, 27709, "Wheat"), - WHEAT_SEEDS(295, 0, 28742, "Wheat Seeds", "SEEDS"), - WHITE_BANNER(425, 15, 17562, "White Banner"), - WHITE_BED(355, 0, 8185, "White Bed", "Bed"), - WHITE_CARPET(171, 0, 15117, "White Carpet"), - WHITE_CONCRETE(251, 0, 6281, "White Concrete"), - WHITE_CONCRETE_POWDER(252, 0, 10363, "White Concrete Powder"), - WHITE_GLAZED_TERRACOTTA(235, 0, 11326, "White Glazed Terracotta"), - WHITE_SHULKER_BOX(219, 0, 31750, "White Shulker Box"), - WHITE_STAINED_GLASS(95, 0, 31190, Arrays.asList(CMIMaterialCriteria.seeThrow), "White Stained Glass"), - WHITE_STAINED_GLASS_PANE(160, 0, 10557, Arrays.asList(CMIMaterialCriteria.seeThrow), "White Stained Glass Pane"), - WHITE_TERRACOTTA(159, 0, 20975, "White Terracotta"), - WHITE_TULIP(38, 6, 9742, "White Tulip"), - WHITE_WALL_BANNER(425, 15, 15967, "White Banner"), - WHITE_WOOL(35, 0, 8624, "White Wool", "Wool"), - WITCH_SPAWN_EGG(383, 66, 11837, "Witch Spawn Egg", "Spawn Witch"), - WITHER_SKELETON_SKULL(397, 1, 31487, "Mob Head (Wither Skeleton)", "Wither Skeleton Skull"), - WITHER_SKELETON_SPAWN_EGG(383, 5, 10073, "Wither Skeleton Spawn Egg", "Spawn Wither Skeleton"), - WITHER_SKELETON_WALL_SKULL(144, 1, 9326, "Wither Skeleton Wall Skull"), - WOLF_SPAWN_EGG(383, 95, 21692, "Wolf Spawn Egg", "Spawn Wolf"), - WOODEN_AXE(271, 0, 6292, "Wooden Axe", "Wood Axe"), - WOODEN_HOE(290, 0, 16043, "Wooden Hoe", "Wood Hoe"), - WOODEN_PICKAXE(270, 0, 12792, "Wooden Pickaxe", "WOOD_PICKAXE"), - WOODEN_SHOVEL(269, 0, 28432, "Wooden Shovel", "WOOD_SPADE"), - WOODEN_SWORD(268, 0, 7175, "Wooden Sword", "WOOD_SWORD"), - WRITABLE_BOOK(386, 0, 13393, "Book and Quill"), - WRITTEN_BOOK(387, 0, 24164, "Written Book"), - YELLOW_BANNER(425, 11, 30382, "Yellow Banner"), - YELLOW_BED(355, 4, 30410, "Yellow Bed"), - YELLOW_CARPET(171, 4, 18149, "Yellow Carpet"), - YELLOW_CONCRETE(251, 4, 15722, "Yellow Concrete"), - YELLOW_CONCRETE_POWDER(252, 4, 10655, "Yellow Concrete Powder"), - YELLOW_GLAZED_TERRACOTTA(239, 0, 10914, "Yellow Glazed Terracotta"), - YELLOW_SHULKER_BOX(223, 0, 28700, "Yellow Shulker Box"), - YELLOW_STAINED_GLASS(95, 4, 12182, Arrays.asList(CMIMaterialCriteria.seeThrow), "Yellow Stained Glass"), - YELLOW_STAINED_GLASS_PANE(160, 4, 20298, Arrays.asList(CMIMaterialCriteria.seeThrow), "Yellow Stained Glass Pane"), - YELLOW_TERRACOTTA(159, 4, 32129, "Yellow Terracotta"), - YELLOW_WALL_BANNER(425, 11, 32004, "Yellow Banner"), - YELLOW_WOOL(35, 4, 29507, "Yellow Wool"), - ZOMBIE_HEAD(397, 2, 9304, "Mob Head (Zombie)", "Zombie Head"), - ZOMBIE_HORSE_SPAWN_EGG(383, 29, 4275, "Zombie Horse Spawn Egg", "Spawn Zombie Horse"), - ZOMBIE_PIGMAN_SPAWN_EGG(383, 57, 11531, "Zombie Pigman Spawn Egg", "Spawn Zombie Pigman"), - ZOMBIE_SPAWN_EGG(383, 54, 5814, "Zombie Spawn Egg", "Spawn Zombie"), - ZOMBIE_VILLAGER_SPAWN_EGG(383, 27, 10311, "Zombie Villager Spawn Egg", "Spawn Zombie Villager"), - ZOMBIE_WALL_HEAD(144, 2, 16296, "Zombie Wall Head"), - - //1.14 - ACACIA_SIGN(29808, "Acacia Sign"), - ACACIA_WALL_SIGN(20316, "Acacia Wall Sign"), - ANDESITE_SLAB(32124, "Andesite Slab"), - ANDESITE_STAIRS(17747, "Andesite Stairs"), - ANDESITE_WALL(14938, "Andesite Wall"), - BAMBOO(18728, "Bamboo"), - BAMBOO_SAPLING(8478, "Bamboo Sapling"), - BARREL(22396, "Barrel"), - BELL(20000, "Bell"), - BIRCH_SIGN(11351, "Birch Sign"), - BIRCH_WALL_SIGN(9887, "Birch Wall Sign"), - BLACK_DYE(6202, "Black Dye"), - BLAST_FURNACE(31157, "Blast Furnace"), - BLUE_DYE(11588, "Blue Dye"), - BRICK_WALL(18995, "Brick Wall"), - BROWN_DYE(7648, "Brown Dye"), - CAMPFIRE(8488, "Campfire"), - CARTOGRAPHY_TABLE(28529, "Cartography Table"), - CAT_SPAWN_EGG(29583, "Cat Spawn Egg"), - CORNFLOWER(15405, "Cornflower"), - CREEPER_BANNER_PATTERN(15774, "Banner Pattern"), - CROSSBOW(4340, "Crossbow"), - CUT_RED_SANDSTONE_SLAB(-11, "Cut Red Sandstone Slab"), - CUT_SANDSTONE_SLAB(-10, "Cut Sandstone Slab"), - DARK_OAK_SIGN(15127, "Dark Oak Sign"), - DARK_OAK_WALL_SIGN(9508, "Dark Oak Wall Sign"), - DIORITE_SLAB(10715, "Diorite Slab"), - DIORITE_STAIRS(13134, "Diorite Stairs"), - DIORITE_WALL(17412, "Diorite Wall"), - END_STONE_BRICK_SLAB(23239, "End Stone Brick Slab"), - END_STONE_BRICK_STAIRS(28831, "End Stone Brick Stairs"), - END_STONE_BRICK_WALL(27225, "End Stone Brick Wall"), - FLETCHING_TABLE(30838, "Fletching Table"), - FLOWER_BANNER_PATTERN(5762, "Banner Pattern"), - FOX_SPAWN_EGG(-1, "Fox Spawn Egg"), - GLOBE_BANNER_PATTERN(-99, "Banner Pattern"), - GRANITE_SLAB(25898, "Granite Slab"), - GRANITE_STAIRS(21840, "Granite Stairs"), - GRANITE_WALL(23279, "Granite Wall"), - GREEN_DYE(23215, "Green Dye"), - GRINDSTONE(26260, "Grindstone"), - JIGSAW(17398, "Jigsaw Block"), - JUNGLE_SIGN(24717, "Jungle Sign"), - JUNGLE_WALL_SIGN(29629, "Jungle Wall Sign"), - LANTERN(5992, "Lantern"), - LEATHER_HORSE_ARMOR(-2, "Leather Horse Armor"), - LECTERN(23490, "Lectern"), - LILY_OF_THE_VALLEY(7185, "Lily of the Valley"), - LOOM(14276, "Loom"), - MOJANG_BANNER_PATTERN(11903, "Banner Pattern"), - MOSSY_COBBLESTONE_SLAB(12139, "Mossy Cobblestone Slab"), - MOSSY_COBBLESTONE_STAIRS(29210, "Mossy Cobblestone Stairs"), - MOSSY_STONE_BRICK_SLAB(14002, "Mossy Stone Brick Slab"), - MOSSY_STONE_BRICK_STAIRS(27578, "Mossy Stone Brick Stairs"), - MOSSY_STONE_BRICK_WALL(18259, "Mossy Stone Brick Wall"), - NETHER_BRICK_WALL(10398, "Nether Brick Wall"), - OAK_SIGN(8192, "Oak Sign"), - OAK_WALL_SIGN(12984, "Oak Wall Sign"), - PANDA_SPAWN_EGG(23759, "Panda Spawn Egg"), - PILLAGER_SPAWN_EGG(28659, "Pillager Spawn Egg"), - POLISHED_ANDESITE_STAIRS(7573, "Polished Andesite Stairs"), - POLISHED_ANDESITE_SLAB(0, "Polished Andesite Slab"), - POLISHED_DIORITE_SLAB(18303, "Polished Diorite Slab"), - POLISHED_DIORITE_STAIRS(4625, "Polished Diorite Stairs"), - POLISHED_GRANITE_SLAB(4521, "Polished Granite Slab"), - POLISHED_GRANITE_STAIRS(29588, "Polished Granite Stairs"), - POTTED_BAMBOO(22542, "Potted Bamboo"), - POTTED_CORNFLOWER(28917, "Potted CornFlower"), - POTTED_LILY_OF_THE_VALLEY(9364, "Potted Lily Of The Valley"), - POTTED_WITHER_ROSE(26876, "Potted Wither Rose"), - PRISMARINE_WALL(18184, "Prismarine Wall"), - RAVAGER_SPAWN_EGG(31284, "Ravager Spawn Egg"), - RED_DYE(5728, "Red Dye"), - RED_NETHER_BRICK_SLAB(12462, "Red Nether Brick Slab"), - RED_NETHER_BRICK_STAIRS(26374, "Red Nether Brick Stairs"), - RED_NETHER_BRICK_WALL(4580, "Red Nether Brick Wall"), - RED_SANDSTONE_WALL(4753, "Red Sandstone Wall"), - SANDSTONE_WALL(18470, "Sandstone Wall"), - SCAFFOLDING(15757, "Scaffolding"), - SKULL_BANNER_PATTERN(7680, "Banner Pattern"), - SMITHING_TABLE(9082, "Smithing Table"), - SMOKER(24781, "Smoker"), - SMOOTH_QUARTZ_SLAB(26543, "Smooth Quartz Slab"), - SMOOTH_QUARTZ_STAIRS(19560, "Smooth Quartz Stairs"), - SMOOTH_RED_SANDSTONE_SLAB(16304, "Smooth Red Sandstone Slab"), - SMOOTH_RED_SANDSTONE_STAIRS(17561, "Smooth Red Sandstone Stairs"), - SMOOTH_SANDSTONE_SLAB(9030, "Smooth Sandstone Slab"), - SMOOTH_SANDSTONE_STAIRS(21183, "Smooth Sandstone Stairs"), - SMOOTH_STONE_SLAB(24129, "Smooth Stone Slab"), - SPRUCE_SIGN(21502, "Spruce Sign"), - SPRUCE_WALL_SIGN(7352, "Spruce Wall Sign"), - STONECUTTER(25170, "Stonecutter"), - STONE_BRICK_WALL(29073, "Stone Brick Wall"), - STONE_STAIRS(23784, "Stone Stairs"), - SUSPICIOUS_STEW(8173, "Suspicious Stew"), - SWEET_BERRIES(19747, "Sweet Berries"), - SWEET_BERRY_BUSH(11958, "Sweet Berry Bush"), - TRADER_LLAMA_SPAWN_EGG(13512, "Trader Llama Spawn Egg"), - WANDERING_TRADER_SPAWN_EGG(12312, "Wandering Trader Spawn Egg"), - WHITE_DYE(10758, "White Dye"), - WITHER_ROSE(8619, "Wither Rose"), - YELLOW_DYE(5952, "Yellow Dye"), - COMPOSTER(-4, "Composter"), - - //1.15 - BEEHIVE("Beehive"), - BEE_NEST("Bee Nest"), - BEE_SPAWN_EGG("Bee Spawn Egg"), - HONEYCOMB("Honeycomb"), - HONEYCOMB_BLOCK("Honeycomb Block"), - HONEY_BLOCK("Honey Block"), - HONEY_BOTTLE("Honey Bottle"), - - //1.16.1 - ANCIENT_DEBRIS("Ancient Debris"), - BASALT("Basalt"), - BLACKSTONE("Blackstone"), - BLACKSTONE_SLAB("Blackstone Slab"), - BLACKSTONE_STAIRS("Blackstone Stairs"), - BLACKSTONE_WALL("Blackstone Wall"), - CHAIN("Chain"), - CHISELED_NETHER_BRICKS("Chiseled Nether Bricks"), - CHISELED_POLISHED_BLACKSTONE("Chiseled Polished Blackstone"), - CRACKED_NETHER_BRICKS("Cracked Nether Bricks"), - CRACKED_POLISHED_BLACKSTONE_BRICKS("Cracked Polished Blackstone Bricks"), - CRIMSON_BUTTON("Crimson Button"), - CRIMSON_DOOR("Crimson Door"), - CRIMSON_FENCE("Crimson Fence"), - CRIMSON_FENCE_GATE("Crimson Fence Gate"), - CRIMSON_FUNGUS("Crimson Fungus"), - CRIMSON_HYPHAE("Crimson Hyphae"), - CRIMSON_NYLIUM("Crimson Nylium"), - CRIMSON_PLANKS("Crimson Planks"), - CRIMSON_PRESSURE_PLATE("Crimson Pressure Plate"), - CRIMSON_ROOTS("Crimson Roots"), - CRIMSON_SIGN("Crimson Sign"), - CRIMSON_SLAB("Crimson Slab"), - CRIMSON_STAIRS("Crimson Stairs"), - CRIMSON_STEM("Crimson Stem"), - CRIMSON_TRAPDOOR("Crimson Trapdoor"), - CRIMSON_WALL_SIGN("Crimson Wall Sign"), - CRYING_OBSIDIAN("Crying Obsidian"), - GILDED_BLACKSTONE("Gilded Blackstone"), - HOGLIN_SPAWN_EGG("Hoglin Spawn Egg"), - LODESTONE("Lodestone"), - MUSIC_DISC_PIGSTEP("Music Disc Pigstep"), - NETHERITE_AXE("Netherite Axe"), - NETHERITE_BLOCK("Netherite Block", "netherite"), - NETHERITE_BOOTS("Netherite Boots"), - NETHERITE_CHESTPLATE("Netherite Chestplate"), - NETHERITE_HELMET("Netherite Helmet"), - NETHERITE_HOE("Netherite Hoe"), - NETHERITE_INGOT("Netherite Ingot"), - NETHERITE_LEGGINGS("Netherite Leggings"), - NETHERITE_PICKAXE("Netherite Pickaxe"), - NETHERITE_SCRAP("Netherite Scrap"), - NETHERITE_SHOVEL("Netherite Shovel"), - NETHERITE_SWORD("Netherite Sword"), - NETHER_GOLD_ORE("Nether Gold Ore"), - NETHER_SPROUTS("Nether Sprouts"), - PIGLIN_BANNER_PATTERN("Piglin Banner Pattern"), - PIGLIN_SPAWN_EGG("Piglin Spawn Egg"), - POLISHED_BASALT("Polished Basalt"), - POLISHED_BLACKSTONE("Polished Blackstone"), - POLISHED_BLACKSTONE_BRICKS("Polished Blackstone Bricks"), - POLISHED_BLACKSTONE_BRICK_SLAB("Polished Blackstone Brick Slab"), - POLISHED_BLACKSTONE_BRICK_STAIRS("Polished Blackstone Brick Stairs"), - POLISHED_BLACKSTONE_BRICK_WALL("Polished Blackstone Brick Wall"), - POLISHED_BLACKSTONE_BUTTON("Polished Blackstone Button"), - POLISHED_BLACKSTONE_PRESSURE_PLATE("Polished Blackstone Pressure Plate"), - POLISHED_BLACKSTONE_SLAB("Polished Blackstone Slab"), - POLISHED_BLACKSTONE_STAIRS("Polished Blackstone Stairs"), - POLISHED_BLACKSTONE_WALL("Polished Blackstone Wall"), - POTTED_CRIMSON_FUNGUS("Potted Crimson Fungus"), - POTTED_CRIMSON_ROOTS("Potted Crimson Roots"), - POTTED_WARPED_FUNGUS("Potted Warped Fungus"), - POTTED_WARPED_ROOTS("Potted Warped Roots"), - QUARTZ_BRICKS("Quartz Bricks"), - RESPAWN_ANCHOR("Respawn Anchor"), - SHROOMLIGHT("Shroomlight"), - SOUL_CAMPFIRE("Soul Campfire"), - SOUL_FIRE("Soul Fire"), - SOUL_LANTERN("Soul Lantern"), - SOUL_SOIL("Soul Soil"), - SOUL_TORCH("Soul Torch"), - SOUL_WALL_TORCH("Soul Wall Torch"), - STRIDER_SPAWN_EGG("Strider Spawn Egg"), - STRIPPED_CRIMSON_HYPHAE("Stripped Crimson Hyphae"), - STRIPPED_CRIMSON_STEM("Stripped Crimson Stem"), - STRIPPED_WARPED_HYPHAE("Stripped Warped Hyphae"), - STRIPPED_WARPED_STEM("Stripped Warped Stem"), - TARGET("Target"), - TWISTING_VINES("Twisting Vines"), - TWISTING_VINES_PLANT("Twisting Vines Plant"), - WARPED_BUTTON("Warped Button"), - WARPED_DOOR("Warped Door"), - WARPED_FENCE("Warped Fence"), - WARPED_FENCE_GATE("Warped Fence Gate"), - WARPED_FUNGUS("Warped Fungus"), - WARPED_FUNGUS_ON_A_STICK("Warped Fungus On A Stick"), - WARPED_HYPHAE("Warped Hyphae"), - WARPED_NYLIUM("Warped Nylium"), - WARPED_PLANKS("Warped Planks"), - WARPED_PRESSURE_PLATE("Warped Pressure Plate"), - WARPED_ROOTS("Warped Roots"), - WARPED_SIGN("Warped Sign"), - WARPED_SLAB("Warped Slab"), - WARPED_STAIRS("Warped Stairs"), - WARPED_STEM("Warped Stem"), - WARPED_TRAPDOOR("Warped Trapdoor"), - WARPED_WALL_SIGN("Warped Wall Sign", "Warped Wall"), - WARPED_WART_BLOCK("Warped Wart Block", "Warped Wart"), - WEEPING_VINES("Weeping Vines"), - WEEPING_VINES_PLANT("Weeping Vines Plant"), - ZOGLIN_SPAWN_EGG("Zoglin Spawn Egg"), - ZOMBIFIED_PIGLIN_SPAWN_EGG("Zombified Piglin Spawn Egg"), - - // 1.16.2 - PIGLIN_BRUTE_SPAWN_EGG("Piglin Brute Spawn Egg"), - - // Legacy - LEGACY_STATIONARY_WATER(9, 0, null, "Stationary Water"), - LEGACY_STATIONARY_LAVA(11, 0, null, "Stationary Lava"), - LEGACY_BURNING_FURNACE(62, 0, null, "Burning Furnace"), - LEGACY_NETHER_WARTS(115, 0, null, "Nether Warts"), - LEGACY_IRON_DOOR_BLOCK(71, 0, null, "Iron Door Block"), - LEGACY_GLOWING_REDSTON_ORE(74, 0, null, "Glowing Redstone Ore"), - LEGACY_SUGAR_CANE_BLOCK(83, 0, null, "Sugar Cane Block"), - LEGACY_RAW_FISH(349, 0, null, "Raw Fish"), - LEGACY_SKULL(144, 0, null, "Skull"), - LEGACY_SIGN_POST(63, 0, null, "Sign Post"), - LEGACY_BED_BLOCK(26, 0, null, "Bed Block"), - LEGACY_REDSTONE_TORCH_OFF(75, 0, null, "Redstone Torch Off"), - LEGACY_REDSTONE_TORCH_ON(76, 0, null, "Redstone Torch On"), - LEGACY_CAKE_BLOCK(92, 0, null, "Cake Block"), - LEGACY_DIODE_BLOCK_OFF(93, 0, null, "Diode Block Off"), - LEGACY_DIODE_BLOCK_ON(94, 0, null, "Diode Block On"), - LEGACY_MELON_BLOCK(103, 0, null, "Melon Block"), - -// LEGACY_BREWING_STAND(117, null, null, "LEGACY_BREWING_STAND", ""), -// LEGACY_CAULDRON(118, 0, null, "LEGACY_CAULDRON", ""), -// LEGACY_REDSTONE_LAMP_ON(124, null, null, "LEGACY_REDSTONE_LAMP_ON", ""), -// LEGACY_WOOD_DOUBLE_STEP(125, null, null, "LEGACY_WOOD_DOUBLE_STEP", ""), -// LEGACY_FLOWER_POT(140, null, null, "LEGACY_FLOWER_POT", ""), - LEGACY_REDSTONE_COMPARATOR_OFF(149, 0, null, "Redstone Comparator Off", ""), - LEGACY_REDSTONE_COMPARATOR_ON(150, 0, null, "Redstone Comparator On", ""), -// LEGACY_STANDING_BANNER(176, null, null, "LEGACY_STANDING_BANNER", ""), -// LEGACY_WALL_BANNER(177, null, null, "LEGACY_WALL_BANNER", ""), -// LEGACY_DAYLIGHT_DETECTOR_INVERTED(178, null, null, "LEGACY_DAYLIGHT_DETECTOR_INVERTED", ""), -// LEGACY_DOUBLE_STONE_SLAB2(181, null, null, "LEGACY_DOUBLE_STONE_SLAB2", ""), - LEGACY_WOODEN_DOOR_BLOCK(64, 0, null, "Wooden Door Block"), - LEGACY_SPRUCE_DOOR(193, 0, null, "Spruce Door Block"), - LEGACY_BIRCH_DOOR(194, 0, null, "Birch Door Block"), - LEGACY_JUNGLE_DOOR(195, 0, null, "Jungle Door Block"), - LEGACY_ACACIA_DOOR(196, 0, null, "Acacia Door Block"), - LEGACY_DARK_OAK_DOOR(197, 0, null, "Dark Oak Door Block"), - LEGACY_GLOWING_REDSTONE_ORE(74, 0, null, "Glowing Redstone Ore"), - LEGACY_BREWING_STAND(117, null, null, "LEGACY_BREWING_STAND"), -// LEGACY_PURPUR_DOUBLE_SLAB(204, null, null, "LEGACY_PURPUR_DOUBLE_SLAB", ""), -// LEGACY_COMMAND_REPEATING(210, null, null, "LEGACY_COMMAND_REPEATING", ""), -// LEGACY_COMMAND_CHAIN(211, null, null, "LEGACY_COMMAND_CHAIN", ""), - LEGACY_WHEAT(59, 0, null, "Wheat block"); - - private Integer legacyId; - private Integer legacyData; - private boolean legacy = false; - private Integer id; - private String name; - private List legacyName; - private String bukkitName; - private String mojangName; - private Set criteria; - - Material mat; - - CMIMaterial(Integer id, String name, String... legacyName) { - this(null, null, id, name, legacyName); - } - - CMIMaterial(Integer id, String name) { - this(null, null, id, name, ""); - } - - CMIMaterial(Integer legacyId, Integer legacyData, Integer id, String name) { - this(legacyId, legacyData, id, name, ""); - } - - CMIMaterial(String name, String... legacyName) { - this(null, null, null, name, legacyName); - } - - CMIMaterial(Integer legacyId, Integer legacyData, Integer id, String name, String... legacyName) { - this(legacyId, legacyData, id, null, name, legacyName); - } - - CMIMaterial(Integer legacyId, Integer legacyData, Integer id, List criteria, String name, String... legacyName) { - this.legacyId = legacyId; - this.legacyData = legacyData; - this.id = id; - this.name = name; - if (legacyName != null && legacyName.length > 0 && !legacyName[0].isEmpty()) - this.legacyName = Arrays.asList(legacyName); - - if (criteria != null) - this.criteria = new HashSet<>(criteria); - - if (this.toString().startsWith("LEGACY_")) { - legacy = true; - } - } - - public String getName() { - return name; - } - - @Deprecated - public Integer getLegacyId() { - return legacyId == null ? 0 : legacyId; - } - - @Deprecated - public Integer getId() { - if (Version.isCurrentEqualOrHigher(Version.v1_13_R1)) { - return this.id == null ? 0 : this.id; - } - return getLegacyId(); - } - - public Material getMaterial() { - return mat; - } - - public void updateMaterial() { - mat = null; - if (Version.isCurrentEqualOrHigher(Version.v1_13_R1)) { - if (mat == null) { - for (Material one : Material.values()) { - if (!one.name().replace("_", "").equalsIgnoreCase(this.name().replace("_", ""))) - continue; - mat = one; - break; - } - } - } else { - if (Version.isCurrentEqualOrLower(Version.v1_12_R1) && this.equals(CMIMaterial.PODZOL)) { - mat = null; - return; - } - if (Version.isCurrentEqualOrLower(Version.v1_13_R2)) { - if (mat == null && this.getId() != null) { - for (Material one : Material.class.getEnumConstants()) { - if (one.getId() != this.getId()) - continue; - mat = one; - break; - } - } - } - if (mat == null) { - for (Material one : Material.class.getEnumConstants()) { - if (!one.name().replace("LEGACY_", "").replace("_", "").equalsIgnoreCase(this.name().replace("_", ""))) - continue; - mat = one; - break; - } - } - if (mat == null) { - for (Material one : Material.class.getEnumConstants()) { - if (!one.name().replace("LEGACY_", "").replace("_", "").equalsIgnoreCase(this.getName().replace(" ", ""))) - continue; - mat = one; - break; - } - } - if (mat == null && !this.getLegacyNames().isEmpty()) { - main: for (Material one : Material.class.getEnumConstants()) { - for (String oneL : this.getLegacyNames()) { - if (!one.name().replace("LEGACY_", "").replace("_", "").equalsIgnoreCase(oneL.replace(" ", "").replace("_", ""))) - continue main; - } - mat = one; - break; - } - } - } - } - - public ItemStack newItemStack() { - return newItemStack(1); - } - - public ItemStack newItemStack(int amount) { - if (mat == null) { - updateMaterial(); - } - if (mat == null) { - return new ItemStack(Material.STONE); - } - - try { - if (!mat.isItem()) - return new ItemStack(Material.STONE); - } catch (Throwable e) { - } - - if (Version.isCurrentEqualOrHigher(Version.v1_13_R1)) { - ItemStack stack = new ItemStack(mat); - stack.setAmount(amount); - return stack; - } - - ItemStack stack = new ItemStack(mat, 1, (short) this.getLegacyData()); - stack.setAmount(amount); - return stack; - } - - public CMIItemStack newCMIItemStack() { - return newCMIItemStack(1); - } - - public CMIItemStack newCMIItemStack(int amount) { - if (mat == null) { - updateMaterial(); - } - if (mat == null) { - return new CMIItemStack(CMIMaterial.STONE); - } - if (Version.isCurrentEqualOrHigher(Version.v1_13_R1)) { - CMIItemStack stack = new CMIItemStack(mat); - stack.setAmount(amount); - return stack; - } - - ItemStack stack = new ItemStack(mat, 1, (short) this.getLegacyData()); - stack.setAmount(amount); - return new CMIItemStack(stack); - } - - @Deprecated - public short getData() { - if (Version.isCurrentEqualOrHigher(Version.v1_13_R1)) { - return 0; - } - return getLegacyData(); - } - - @Deprecated - public short getLegacyData() { - return legacyData == null ? 0 : legacyData.shortValue(); - } - - public static CMIMaterial getRandom(CMIMaterial mat) { - List ls = new ArrayList<>(); - - for (CMIMaterial one : CMIMaterial.values()) { - if (one.getLegacyId() == null) - continue; - if (one.getLegacyId() != mat.getLegacyId()) - continue; - ls.add(one); - } - - if (ls.isEmpty() || ls.size() == 1) { - String part = mat.name; - if (part.contains("_")) - part = part.split("_")[part.split("[_]").length - 1]; - for (CMIMaterial one : CMIMaterial.values()) { - if (!one.name().endsWith(part)) - continue; - ls.add(one); - } - } - - Collections.shuffle(ls); - - return ls.isEmpty() ? CMIMaterial.NONE : ls.get(0); - } - - public CMIMaterial getByColorId(int id) { - return getByColorId(this, id); - } - - public static CMIMaterial getByColorId(CMIMaterial mat, int id) { - if (mat == null) - return CMIMaterial.NONE; - for (CMIMaterial one : CMIMaterial.values()) { - if (one.getLegacyId() == null) - continue; - if (one.getLegacyId() != mat.getLegacyId()) - continue; - if (one.getLegacyData() == id) - return one; - } - - return mat; - } - - public static CMIMaterial get(String id) { - if (id == null) - return CMIMaterial.NONE; - - id = id.replaceAll("_| |minecraft:", "").toLowerCase(); - - String[] split = id.split(":", 2); - if (split.length > 1) { - try { - int ids = Integer.parseInt(split[0]); - if (ids <= 0) - return CMIMaterial.NONE; - - return get(ids, Integer.parseInt(split[1])); - } catch (NumberFormatException ex) { - } - - try { - int data = Integer.parseInt(split[1]); - id = split[0]; - - CMIMaterial mat = ItemManager.byName.get(id + ":" + data); - - if (mat == null) - mat = ItemManager.byName.get(id); - - if (mat != null) { - if (mat.getLegacyId() > 0) { - CMIMaterial m = get(mat.getLegacyId(), data); - - if (m != null) - mat = m; - } - - return mat; - } - } catch (NumberFormatException ex) { - } - } - - CMIMaterial mat = ItemManager.byName.get(id); - if (mat != null) { - return mat; - } - - try { - if ((mat = ItemManager.byId.get(Integer.parseInt(id))) != null) { - return mat; - } - } catch (NumberFormatException ex) { - } - - return CMIMaterial.NONE; - } - - public static CMIMaterial get(Material mat) { - if (mat == null) - return CMIMaterial.NONE; - CMIMaterial m = ItemManager.byRealMaterial.get(mat); - return m != null ? m : get(mat.toString()); - } - - public static CMIMaterial get(int id) { - for (CMIMaterial one : CMIMaterial.values()) { - if (one.getMaterial() != null && one.getId() == id) { - return one; - } - } - for (CMIMaterial one : CMIMaterial.values()) { - if (one.getLegacyId() == id) { - return one; - } - } - return CMIMaterial.NONE; - } - - public static CMIMaterial get(ItemStack item) { - if (item == null) - return CMIMaterial.NONE; - CMIMaterial mat = null; - if (Version.isCurrentEqualOrLower(Version.v1_13_R2)) { - mat = Version.isCurrentEqualOrHigher(Version.v1_13_R1) ? get(item.getType()) : get(item.getType().getId(), item.getData().getData()); - if (mat == null) { - mat = ItemManager.byName.get(item.getType().toString().toLowerCase().replace("_", "")); - } - } else { - mat = ItemManager.byRealMaterial.get(item.getType()); - } - - return mat == null ? CMIMaterial.NONE : mat; - } - - public static CMIMaterial get(Block block) { - if (block == null) - return CMIMaterial.NONE; - - try { - if (Bukkit.getWorld(block.getWorld().getUID()) == null) - return CMIMaterial.NONE; - } catch (Throwable e) { - e.printStackTrace(); - } - - if (Version.isCurrentEqualOrHigher(Version.v1_14_R1)) { - CMIMaterial res = ItemManager.byRealMaterial.get(block.getType()); - return res == null ? CMIMaterial.NONE : res; - } - - byte data = Version.isCurrentEqualOrLower(Version.v1_13_R1) ? block.getData() : 0; - if (block.getState() instanceof Skull) { - Skull skull = (Skull) block.getState(); - data = (byte) skull.getSkullType().ordinal(); - } - - CMIMaterial mat = null; - - if (Version.isCurrentEqualOrHigher(Version.v1_14_R1)) { - mat = ItemManager.byRealMaterial.get(block.getType()); - } - - if (mat == null) { - mat = ItemManager.byName.get(block.getType().toString().replace("_", "").toLowerCase()); - } - - if (mat == null && Version.isCurrentEqualOrLower(Version.v1_13_R2)) { - mat = get(block.getType().getId(), Version.isCurrentEqualOrHigher(Version.v1_13_R1) ? 0 : data); - } - return mat == null ? CMIMaterial.NONE : mat; - } - - @Deprecated - public static CMIMaterial get(int id, int data) { - CMIMaterial mat = ItemManager.byName.get(id + ":" + data); - if (mat != null) { - return mat; - } - mat = ItemManager.byId.get(id); - return mat == null ? CMIMaterial.NONE : mat; - } - - public static CMIMaterial getLegacy(int id) { - CMIMaterial mat = ItemManager.byId.get(id); - return mat != null ? mat : CMIMaterial.NONE; - } - - public short getMaxDurability() { - return getMaterial() == null ? 0 : getMaterial().getMaxDurability(); - } - - public boolean isBlock() { - return getMaterial() != null && getMaterial().isBlock(); - } - - public boolean isEquipment() { - return getMaxDurability() > 16; - } - - public boolean isSolid() { - return getMaterial() != null && getMaterial().isSolid(); - } - - public static boolean isMonsterEgg(Material mat) { - CMIMaterial m = CMIMaterial.get(mat); - return m != null && m.isMonsterEgg(); - } - - public boolean isMonsterEgg() { - switch (this) { - case ELDER_GUARDIAN_SPAWN_EGG: - case WITHER_SKELETON_SPAWN_EGG: - case STRAY_SPAWN_EGG: - case HUSK_SPAWN_EGG: - case ZOMBIE_VILLAGER_SPAWN_EGG: - case SKELETON_HORSE_SPAWN_EGG: - case ZOMBIE_HORSE_SPAWN_EGG: - case DONKEY_SPAWN_EGG: - case MULE_SPAWN_EGG: - case EVOKER_SPAWN_EGG: - case VEX_SPAWN_EGG: - case VINDICATOR_SPAWN_EGG: - case CREEPER_SPAWN_EGG: - case SKELETON_SPAWN_EGG: - case SPIDER_SPAWN_EGG: - case ZOMBIE_SPAWN_EGG: - case SLIME_SPAWN_EGG: - case GHAST_SPAWN_EGG: - case ZOMBIE_PIGMAN_SPAWN_EGG: - case ENDERMAN_SPAWN_EGG: - case CAVE_SPIDER_SPAWN_EGG: - case SILVERFISH_SPAWN_EGG: - case BLAZE_SPAWN_EGG: - case MAGMA_CUBE_SPAWN_EGG: - case BAT_SPAWN_EGG: - case WITCH_SPAWN_EGG: - case ENDERMITE_SPAWN_EGG: - case GUARDIAN_SPAWN_EGG: - case SHULKER_SPAWN_EGG: - case PIG_SPAWN_EGG: - case SHEEP_SPAWN_EGG: - case COW_SPAWN_EGG: - case CHICKEN_SPAWN_EGG: - case SQUID_SPAWN_EGG: - case WOLF_SPAWN_EGG: - case MOOSHROOM_SPAWN_EGG: - case OCELOT_SPAWN_EGG: - case HORSE_SPAWN_EGG: - case RABBIT_SPAWN_EGG: - case POLAR_BEAR_SPAWN_EGG: - case LLAMA_SPAWN_EGG: - case PARROT_SPAWN_EGG: - case VILLAGER_SPAWN_EGG: - case COD_SPAWN_EGG: - case DOLPHIN_SPAWN_EGG: - case DRAGON_EGG: - case DROWNED_SPAWN_EGG: - case PHANTOM_SPAWN_EGG: - case PUFFERFISH_SPAWN_EGG: - case SALMON_SPAWN_EGG: - case TROPICAL_FISH_SPAWN_EGG: - case TURTLE_SPAWN_EGG: - - // 1.14 - case CAT_SPAWN_EGG: - case FOX_SPAWN_EGG: - case PANDA_SPAWN_EGG: - case PILLAGER_SPAWN_EGG: - case RAVAGER_SPAWN_EGG: - case TRADER_LLAMA_SPAWN_EGG: - case WANDERING_TRADER_SPAWN_EGG: - - // 1.15 - case BEE_SPAWN_EGG: - - case HOGLIN_SPAWN_EGG: - case PIGLIN_SPAWN_EGG: - case STRIDER_SPAWN_EGG: - case ZOGLIN_SPAWN_EGG: - case ZOMBIFIED_PIGLIN_SPAWN_EGG: - return true; - default: - break; - } - return false; - } - - public static boolean isBed(Material mat) { - CMIMaterial m = CMIMaterial.get(mat); - return m != null && m.isBed(); - } - - public boolean isBed() { - switch (this) { - case WHITE_BED: - case ORANGE_BED: - case MAGENTA_BED: - case LIGHT_BLUE_BED: - case YELLOW_BED: - case LIME_BED: - case PINK_BED: - case GRAY_BED: - case LIGHT_GRAY_BED: - case CYAN_BED: - case PURPLE_BED: - case BLUE_BED: - case BROWN_BED: - case GREEN_BED: - case RED_BED: - case BLACK_BED: - case LEGACY_BED_BLOCK: - return true; - default: - break; - } - return false; - } - - public static boolean isStairs(Material mat) { - CMIMaterial m = CMIMaterial.get(mat); - return m != null && m.isStairs(); - } - - public boolean isStairs() { - switch (this) { - case ACACIA_STAIRS: - case BIRCH_STAIRS: - case BRICK_STAIRS: - case COBBLESTONE_STAIRS: - case DARK_OAK_STAIRS: - case DARK_PRISMARINE_STAIRS: - case JUNGLE_STAIRS: - case NETHER_BRICK_STAIRS: - case OAK_STAIRS: - case PRISMARINE_BRICK_STAIRS: - case PRISMARINE_STAIRS: - case PURPUR_STAIRS: - case QUARTZ_STAIRS: - case RED_SANDSTONE_STAIRS: - case SANDSTONE_STAIRS: - case SPRUCE_STAIRS: - case STONE_BRICK_STAIRS: - - case ANDESITE_STAIRS: - case DIORITE_STAIRS: - case END_STONE_BRICK_STAIRS: - case GRANITE_STAIRS: - case MOSSY_COBBLESTONE_STAIRS: - case MOSSY_STONE_BRICK_STAIRS: - case POLISHED_ANDESITE_STAIRS: - case POLISHED_DIORITE_STAIRS: - case POLISHED_GRANITE_STAIRS: - case RED_NETHER_BRICK_STAIRS: - case SMOOTH_QUARTZ_STAIRS: - case SMOOTH_RED_SANDSTONE_STAIRS: - case SMOOTH_SANDSTONE_STAIRS: - case STONE_STAIRS: - - case BLACKSTONE_STAIRS: - case CRIMSON_STAIRS: - case POLISHED_BLACKSTONE_BRICK_STAIRS: - case POLISHED_BLACKSTONE_STAIRS: - case WARPED_STAIRS: - return true; - default: - break; - } - return false; - } - - public static boolean isPotion(Material mat) { - CMIMaterial m = CMIMaterial.get(mat); - return m != null && m.isPotion(); - } - - public boolean isPotion() { - switch (this) { - case POTION: - case LINGERING_POTION: - case SPLASH_POTION: - return true; - default: - break; - } - return false; - } - - public static boolean isBoat(Material mat) { - CMIMaterial m = CMIMaterial.get(mat); - return m != null && m.isBoat(); - } - - public boolean isBoat() { - switch (this) { - case OAK_BOAT: - case ACACIA_BOAT: - case BIRCH_BOAT: - case DARK_OAK_BOAT: - case JUNGLE_BOAT: - case SPRUCE_BOAT: - return true; - default: - break; - } - return false; - } - - public static boolean isSapling(Material mat) { - CMIMaterial m = CMIMaterial.get(mat); - return m != null && m.isSapling(); - } - - public boolean isSapling() { - switch (this) { - case OAK_SAPLING: - case SPRUCE_SAPLING: - case BIRCH_SAPLING: - case JUNGLE_SAPLING: - case ACACIA_SAPLING: - case DARK_OAK_SAPLING: - return true; - default: - break; - } - return false; - } - - public static boolean isButton(Material mat) { - CMIMaterial m = CMIMaterial.get(mat); - return m != null && m.isButton(); - } - - public boolean isButton() { - switch (this) { - case ACACIA_BUTTON: - case BIRCH_BUTTON: - case DARK_OAK_BUTTON: - case JUNGLE_BUTTON: - case OAK_BUTTON: - case SPRUCE_BUTTON: - case STONE_BUTTON: - case POLISHED_BLACKSTONE_BUTTON: - case WARPED_BUTTON: - return true; - default: - break; - } - return false; - } - - public static boolean isWater(Material mat) { - CMIMaterial m = CMIMaterial.get(mat); - return m != null && m.isWater(); - } - - public boolean isWater() { - switch (this) { - case WATER: - case LEGACY_STATIONARY_WATER: - return true; - default: - break; - } - return false; - } - - public static boolean isLava(Material mat) { - CMIMaterial m = CMIMaterial.get(mat); - return m != null && m.isLava(); - } - - public boolean isLava() { - switch (this) { - case LAVA: - case LEGACY_STATIONARY_LAVA: - return true; - default: - break; - } - return false; - } - - public static boolean isPlate(Material mat) { - CMIMaterial m = CMIMaterial.get(mat); - return m != null && m.isPlate(); - } - - public boolean isPlate() { - switch (this) { - case ACACIA_PRESSURE_PLATE: - case BIRCH_PRESSURE_PLATE: - case DARK_OAK_PRESSURE_PLATE: - case HEAVY_WEIGHTED_PRESSURE_PLATE: - case JUNGLE_PRESSURE_PLATE: - case LIGHT_WEIGHTED_PRESSURE_PLATE: - case OAK_PRESSURE_PLATE: - case SPRUCE_PRESSURE_PLATE: - case STONE_PRESSURE_PLATE: - case CRIMSON_PRESSURE_PLATE: - case POLISHED_BLACKSTONE_PRESSURE_PLATE: - case WARPED_PRESSURE_PLATE: - return true; - default: - break; - } - return false; - } - - public static boolean isWool(Material mat) { - CMIMaterial m = CMIMaterial.get(mat); - return m != null && m.isWool(); - } - - public boolean isWool() { - switch (this) { - case BLACK_WOOL: - case BLUE_WOOL: - case BROWN_WOOL: - case CYAN_WOOL: - case GRAY_WOOL: - case GREEN_WOOL: - case LIGHT_BLUE_WOOL: - case LIGHT_GRAY_WOOL: - case LIME_WOOL: - case MAGENTA_WOOL: - case ORANGE_WOOL: - case PINK_WOOL: - case PURPLE_WOOL: - case RED_WOOL: - case WHITE_WOOL: - case YELLOW_WOOL: - return true; - default: - break; - } - return false; - } - - public static boolean isCarpet(Material mat) { - CMIMaterial m = CMIMaterial.get(mat); - return m != null && m.isCarpet(); - } - - public boolean isCarpet() { - switch (this) { - case BLACK_CARPET: - case BLUE_CARPET: - case BROWN_CARPET: - case CYAN_CARPET: - case GRAY_CARPET: - case GREEN_CARPET: - case LIGHT_BLUE_CARPET: - case LIGHT_GRAY_CARPET: - case LIME_CARPET: - case MAGENTA_CARPET: - case ORANGE_CARPET: - case PINK_CARPET: - case PURPLE_CARPET: - case RED_CARPET: - case WHITE_CARPET: - case YELLOW_CARPET: - return true; - default: - break; - } - return false; - } - - public static boolean isShulkerBox(Material mat) { - CMIMaterial m = CMIMaterial.get(mat); - return m != null && m.isShulkerBox(); - } - - public boolean isShulkerBox() { - switch (this) { - case BLACK_SHULKER_BOX: - case BLUE_SHULKER_BOX: - case BROWN_SHULKER_BOX: - case CYAN_SHULKER_BOX: - case GRAY_SHULKER_BOX: - case GREEN_SHULKER_BOX: - case LIGHT_BLUE_SHULKER_BOX: - case LIGHT_GRAY_SHULKER_BOX: - case LIME_SHULKER_BOX: - case MAGENTA_SHULKER_BOX: - case ORANGE_SHULKER_BOX: - case PINK_SHULKER_BOX: - case PURPLE_SHULKER_BOX: - case RED_SHULKER_BOX: - case WHITE_SHULKER_BOX: - case YELLOW_SHULKER_BOX: - case SHULKER_BOX: - return true; - default: - break; - } - return false; - } - - public static boolean isLeatherArmor(Material mat) { - CMIMaterial m = CMIMaterial.get(mat); - return m != null && m.isLeatherArmor(); - } - - public boolean isLeatherArmor() { - switch (this) { - case LEATHER_BOOTS: - case LEATHER_CHESTPLATE: - case LEATHER_HELMET: - case LEATHER_LEGGINGS: - return true; - default: - break; - } - return false; - } - - public static boolean isArmor(Material mat) { - CMIMaterial m = CMIMaterial.get(mat); - return m != null && m.isArmor(); - } - - public boolean isArmor() { - switch (this) { - case NETHERITE_HELMET: - case CHAINMAIL_HELMET: - case DIAMOND_HELMET: - case GOLDEN_HELMET: - case IRON_HELMET: - case LEATHER_HELMET: - - case NETHERITE_CHESTPLATE: - case CHAINMAIL_CHESTPLATE: - case DIAMOND_CHESTPLATE: - case GOLDEN_CHESTPLATE: - case IRON_CHESTPLATE: - case LEATHER_CHESTPLATE: - - case NETHERITE_LEGGINGS: - case CHAINMAIL_LEGGINGS: - case DIAMOND_LEGGINGS: - case GOLDEN_LEGGINGS: - case IRON_LEGGINGS: - case LEATHER_LEGGINGS: - - case NETHERITE_BOOTS: - case CHAINMAIL_BOOTS: - case DIAMOND_BOOTS: - case GOLDEN_BOOTS: - case IRON_BOOTS: - case LEATHER_BOOTS: - - case SHIELD: - case TURTLE_HELMET: - return true; - default: - break; - } - return false; - } - - public static boolean isWeapon(Material mat) { - CMIMaterial m = CMIMaterial.get(mat); - return m != null && m.isWeapon(); - } - - public boolean isWeapon() { - switch (this) { - case DIAMOND_SWORD: - case IRON_SWORD: - case GOLDEN_SWORD: - case STONE_SWORD: - case WOODEN_SWORD: - case BOW: - case CROSSBOW: - case TRIDENT: - case NETHERITE_SWORD: - return true; - default: - break; - } - return false; - } - - public static boolean isTool(Material mat) { - CMIMaterial m = CMIMaterial.get(mat); - return m != null && m.isTool(); - } - - public boolean isTool() { - switch (this) { - case NETHERITE_PICKAXE: - case DIAMOND_PICKAXE: - case GOLDEN_PICKAXE: - case IRON_PICKAXE: - case STONE_PICKAXE: - case WOODEN_PICKAXE: - - case NETHERITE_SHOVEL: - case DIAMOND_SHOVEL: - case GOLDEN_SHOVEL: - case IRON_SHOVEL: - case STONE_SHOVEL: - case WOODEN_SHOVEL: - - case NETHERITE_AXE: - case DIAMOND_AXE: - case GOLDEN_AXE: - case IRON_AXE: - case STONE_AXE: - case WOODEN_AXE: - - case NETHERITE_HOE: - case DIAMOND_HOE: - case GOLDEN_HOE: - case IRON_HOE: - case STONE_HOE: - case WOODEN_HOE: - - case SHEARS: - case FISHING_ROD: - return true; - default: - break; - } - return false; - } - - public static boolean isPickaxe(Material mat) { - CMIMaterial m = CMIMaterial.get(mat); - return m != null && m.isPickaxe(); - } - - public boolean isPickaxe() { - switch (this) { - case NETHERITE_PICKAXE: - case DIAMOND_PICKAXE: - case GOLDEN_PICKAXE: - case IRON_PICKAXE: - case STONE_PICKAXE: - case WOODEN_PICKAXE: - return true; - default: - break; - } - return false; - } - - public static boolean isValidItem(Material mat) { - CMIMaterial m = CMIMaterial.get(mat); - return m != null && m.isValidItem(); - } - - public boolean isValidItem() { - return this != CMIMaterial.NONE && !isAir() && getMaterial() != null; - } - - public static boolean isValidAsItemStack(Material mat) { - CMIMaterial m = CMIMaterial.get(mat); - if (m == null) - return false; - return m.isValidItem(); - } - - public boolean isValidAsItemStack() { - - ItemStack item = newItemStack(); - if (item == null || getMaterial() == null) - return false; - - try { - if (!getMaterial().isItem()) - return false; - } catch (Throwable e) { - } - - return isValidItem(); - } - - public boolean isNone() { - return this == CMIMaterial.NONE; - } - - public static boolean isAir(Material mat) { - CMIMaterial m = CMIMaterial.get(mat); - return m != null && m.isAir(); - } - - public boolean isAir() { - switch (this) { - case AIR: - case CAVE_AIR: - case VOID_AIR: - return true; - default: - break; - } - return false; - } - - public static boolean isPotted(Material mat) { - CMIMaterial m = CMIMaterial.get(mat); - return m != null && m.isPotted(); - } - - public boolean isPotted() { - switch (this) { - case POTTED_ACACIA_SAPLING: - case POTTED_ALLIUM: - case POTTED_AZURE_BLUET: - case POTTED_BIRCH_SAPLING: - case POTTED_BLUE_ORCHID: - case POTTED_BROWN_MUSHROOM: - case POTTED_CACTUS: - case POTTED_DANDELION: - case POTTED_DARK_OAK_SAPLING: - case POTTED_DEAD_BUSH: - case POTTED_FERN: - case POTTED_JUNGLE_SAPLING: - case POTTED_OAK_SAPLING: - case POTTED_ORANGE_TULIP: - case POTTED_OXEYE_DAISY: - case POTTED_PINK_TULIP: - case POTTED_POPPY: - case POTTED_RED_MUSHROOM: - case POTTED_RED_TULIP: - case POTTED_SPRUCE_SAPLING: - case POTTED_WHITE_TULIP: - case POTTED_BAMBOO: - case POTTED_CORNFLOWER: - case POTTED_LILY_OF_THE_VALLEY: - case POTTED_WITHER_ROSE: - return true; - default: - break; - } - return false; - } - - public static boolean isAnvil(Material mat) { - CMIMaterial m = CMIMaterial.get(mat); - return m != null && m.isAnvil(); - } - - public boolean isAnvil() { - switch (this) { - case ANVIL: - case CHIPPED_ANVIL: - case DAMAGED_ANVIL: - return true; - default: - break; - } - return false; - } - - public static boolean isDoor(Material mat) { - CMIMaterial m = CMIMaterial.get(mat); - return m != null && m.isDoor(); - } - - public boolean isDoor() { - switch (this) { - case OAK_DOOR: - case IRON_DOOR: - - case LEGACY_SPRUCE_DOOR: - case LEGACY_BIRCH_DOOR: - case LEGACY_JUNGLE_DOOR: - case LEGACY_ACACIA_DOOR: - case LEGACY_DARK_OAK_DOOR: - case LEGACY_WOODEN_DOOR_BLOCK: - -// case SPRUCE_DOOR_ITEM: -// case BIRCH_DOOR_ITEM: -// case JUNGLE_DOOR_ITEM: -// case ACACIA_DOOR_ITEM: -// case DARK_OAK_DOOR_ITEM: -// case WOODEN_DOOR: - case ACACIA_DOOR: - case BIRCH_DOOR: - case DARK_OAK_DOOR: -// case IRON_DOOR_BLOCK: - case JUNGLE_DOOR: - case SPRUCE_DOOR: - case CRIMSON_DOOR: - case WARPED_DOOR: - - return true; - default: - break; - } - return false; - } - - public static boolean isGate(Material mat) { - CMIMaterial m = CMIMaterial.get(mat); - return m != null && m.isGate(); - } - - public boolean isGate() { - switch (this) { - case ACACIA_FENCE_GATE: - case BIRCH_FENCE_GATE: - case DARK_OAK_FENCE_GATE: - case END_GATEWAY: - case JUNGLE_FENCE_GATE: - case OAK_FENCE_GATE: - case SPRUCE_FENCE_GATE: - case CRIMSON_FENCE_GATE: - case WARPED_FENCE_GATE: - return true; - default: - break; - } - return false; - } - - public static boolean isFence(Material mat) { - CMIMaterial m = CMIMaterial.get(mat); - return m != null && m.isFence(); - } - - public boolean isFence() { - switch (this) { - case ACACIA_FENCE: - case BIRCH_FENCE: - case DARK_OAK_FENCE: - case JUNGLE_FENCE: - case NETHER_BRICK_FENCE: - case OAK_FENCE: - case SPRUCE_FENCE: - - case CRIMSON_FENCE: - case WARPED_FENCE: - return true; - default: - break; - } - return false; - } - - public static boolean isRail(Material mat) { - CMIMaterial m = CMIMaterial.get(mat); - return m != null && m.isRail(); - } - - public boolean isRail() { - switch (this) { - case POWERED_RAIL: - case RAIL: - case ACTIVATOR_RAIL: - case DETECTOR_RAIL: - return true; - default: - break; - } - return false; - } - - public static boolean isGlassPane(Material mat) { - CMIMaterial m = CMIMaterial.get(mat); - return m != null && m.isGlassPane(); - } - - public boolean isGlassPane() { - switch (this) { - case BLACK_STAINED_GLASS_PANE: - case BLUE_STAINED_GLASS_PANE: - case BROWN_STAINED_GLASS_PANE: - case CYAN_STAINED_GLASS_PANE: - case GRAY_STAINED_GLASS_PANE: - case GREEN_STAINED_GLASS_PANE: - case LIGHT_BLUE_STAINED_GLASS_PANE: - case LIGHT_GRAY_STAINED_GLASS_PANE: - case LIME_STAINED_GLASS_PANE: - case MAGENTA_STAINED_GLASS_PANE: - case ORANGE_STAINED_GLASS_PANE: - case PINK_STAINED_GLASS_PANE: - case PURPLE_STAINED_GLASS_PANE: - case RED_STAINED_GLASS_PANE: - case WHITE_STAINED_GLASS_PANE: - case YELLOW_STAINED_GLASS_PANE: - case GLASS_PANE: - return true; - default: - break; - } - return false; - } - - public static boolean isWallSign(Material mat) { - CMIMaterial m = get(mat); - return m != null && m.isWallSign(); - } - - public boolean isWallSign() { - switch (this) { - case WALL_SIGN: - case ACACIA_WALL_SIGN: - case BIRCH_WALL_SIGN: - case DARK_OAK_WALL_SIGN: - case JUNGLE_WALL_SIGN: - case OAK_WALL_SIGN: - case SPRUCE_WALL_SIGN: - case CRIMSON_WALL_SIGN: - case WARPED_WALL_SIGN: - return true; - default: - break; - } - return false; - } - - public static boolean isSign(Material mat) { - CMIMaterial m = CMIMaterial.get(mat); - return m != null && m.isSign(); - } - - public boolean isSign() { - switch (this) { - case SIGN: - case WALL_SIGN: - case LEGACY_SIGN_POST: - - case ACACIA_SIGN: - case ACACIA_WALL_SIGN: - - case BIRCH_SIGN: - case BIRCH_WALL_SIGN: - - case DARK_OAK_SIGN: - case DARK_OAK_WALL_SIGN: - - case JUNGLE_SIGN: - case JUNGLE_WALL_SIGN: - - case OAK_SIGN: - case OAK_WALL_SIGN: - - case SPRUCE_SIGN: - case SPRUCE_WALL_SIGN: - - case CRIMSON_SIGN: - case CRIMSON_WALL_SIGN: - - case WARPED_SIGN: - case WARPED_WALL_SIGN: - - return true; - default: - break; - } - return false; - } - - public static boolean isWall(Material mat) { - CMIMaterial m = CMIMaterial.get(mat); - return m != null && m.isWall(); - } - - public boolean isWall() { - switch (this) { - case COBBLESTONE_WALL: - case MOSSY_COBBLESTONE_WALL: - - case ANDESITE_WALL: - case BRICK_WALL: - case DIORITE_WALL: - case END_STONE_BRICK_WALL: - case GRANITE_WALL: - case MOSSY_STONE_BRICK_WALL: - case NETHER_BRICK_WALL: - case PRISMARINE_WALL: - case RED_NETHER_BRICK_WALL: - case RED_SANDSTONE_WALL: - case SANDSTONE_WALL: - case STONE_BRICK_WALL: - return true; - default: - break; - } - return false; - } - - public static boolean isTrapDoor(Material mat) { - CMIMaterial m = CMIMaterial.get(mat); - return m != null && m.isTrapDoor(); - } - - public boolean isTrapDoor() { - switch (this) { - case ACACIA_TRAPDOOR: - case BIRCH_TRAPDOOR: - case DARK_OAK_TRAPDOOR: - case IRON_TRAPDOOR: - case JUNGLE_TRAPDOOR: - case OAK_TRAPDOOR: - case SPRUCE_TRAPDOOR: - case CRIMSON_TRAPDOOR: - case WARPED_TRAPDOOR: - return true; - default: - break; - } - return false; - } - - public static boolean isSkull(Material mat) { - CMIMaterial m = CMIMaterial.get(mat); - return m != null && m.isSkull(); - } - - public boolean isSkull() { - switch (this) { - case SKELETON_SKULL: - case WITHER_SKELETON_SKULL: - case SKELETON_WALL_SKULL: - case WITHER_SKELETON_WALL_SKULL: - case PLAYER_HEAD: - case CREEPER_HEAD: - case DRAGON_HEAD: - case ZOMBIE_HEAD: - case LEGACY_SKULL: - return true; - default: - break; - } - return false; - } - - public static boolean isPlayerHead(Material mat) { - CMIMaterial m = CMIMaterial.get(mat); - return m != null && m.isPlayerHead(); - } - - public boolean isPlayerHead() { - switch (this) { - case PLAYER_HEAD: - case LEGACY_SKULL: - case PLAYER_WALL_HEAD: - return true; - default: - break; - } - return false; - } - - public static boolean isDye(Material mat) { - CMIMaterial m = CMIMaterial.get(mat); - return m != null && m.isDye(); - } - - public boolean isDye() { - switch (this) { - case INK_SAC: - case ROSE_RED: - case CACTUS_GREEN: - case COCOA_BEANS: - case LAPIS_LAZULI: - case PURPLE_DYE: - case CYAN_DYE: - case LIGHT_GRAY_DYE: - case GRAY_DYE: - case PINK_DYE: - case LIME_DYE: - case DANDELION_YELLOW: - case LIGHT_BLUE_DYE: - case MAGENTA_DYE: - case ORANGE_DYE: - case BONE_MEAL: - - case BLACK_DYE: - case BLUE_DYE: - case BROWN_DYE: - case GREEN_DYE: - case RED_DYE: - case WHITE_DYE: - case YELLOW_DYE: - return true; - default: - break; - } - return false; - } - - public static boolean isSlab(Material mat) { - CMIMaterial m = CMIMaterial.get(mat); - return m != null && m.isSlab(); - } - - public boolean isSlab() { - switch (this) { - case ACACIA_SLAB: - case DARK_OAK_SLAB: -// case DOUBLE_STONE_SLAB2: -// case PURPUR_DOUBLE_SLAB: - case BIRCH_SLAB: - case BRICK_SLAB: - case COBBLESTONE_SLAB: - case DARK_PRISMARINE_SLAB: -// case DOUBLE_STONE_SLAB: -// case DOUBLE_SANDSTONE_SLAB: -// case DOUBLE_WOODEN_SLAB: -// case DOUBLE_COBBLESTONE_SLAB: -// case DOUBLE_BRICK_SLAB: -// case DOUBLE_STONE_BRICK_SLAB: -// case DOUBLE_NETHER_BRICK_SLAB: -// case DOUBLE_QUARTZ_SLAB: - case JUNGLE_SLAB: - case NETHER_BRICK_SLAB: - case OAK_SLAB: - case PETRIFIED_OAK_SLAB: - case PRISMARINE_BRICK_SLAB: - case PRISMARINE_SLAB: - case PURPUR_SLAB: - case QUARTZ_SLAB: - case RED_SANDSTONE_SLAB: - case SANDSTONE_SLAB: - case SPRUCE_SLAB: - case STONE_BRICK_SLAB: - case STONE_SLAB: - - case ANDESITE_SLAB: - case CUT_RED_SANDSTONE_SLAB: - case CUT_SANDSTONE_SLAB: - case DIORITE_SLAB: - case END_STONE_BRICK_SLAB: - case GRANITE_SLAB: - case MOSSY_COBBLESTONE_SLAB: - case MOSSY_STONE_BRICK_SLAB: - case POLISHED_ANDESITE_SLAB: - case POLISHED_DIORITE_SLAB: - case POLISHED_GRANITE_SLAB: - case RED_NETHER_BRICK_SLAB: - case SMOOTH_QUARTZ_SLAB: - case SMOOTH_RED_SANDSTONE_SLAB: - case SMOOTH_SANDSTONE_SLAB: - case SMOOTH_STONE_SLAB: - - case BLACKSTONE_SLAB: - case CRIMSON_SLAB: - case POLISHED_BLACKSTONE_BRICK_SLAB: - case POLISHED_BLACKSTONE_SLAB: - case WARPED_SLAB: - return true; - default: - break; - } - return false; - } - - @SuppressWarnings("deprecation") - public static CMISlabType getSlabType(Block block) { - if (!isSlab(block.getType())) - return CMISlabType.NOTSLAB; - - if (Version.isCurrentEqualOrHigher(Version.v1_13_R1)) { - if (block.getBlockData() instanceof org.bukkit.block.data.type.Slab) { - org.bukkit.block.data.type.Slab slab = (org.bukkit.block.data.type.Slab) block.getBlockData(); - switch (slab.getType().toString()) { - case "TOP": - return CMISlabType.TOP; - case "BOTTOM": - return CMISlabType.BOTTOM; - case "DOUBLE": - return CMISlabType.DOUBLE; - default: - break; - } - - } - return CMISlabType.NOTSLAB; - } - if (block.getType().name().contains("STEP")) { - switch (CMIMaterial.get(block).getLegacyId()) { - case 44: - switch (block.getData()) { - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - case 6: - case 7: - return CMISlabType.BOTTOM; - default: - return CMISlabType.DOUBLE; - } - case 126: - switch (block.getData()) { - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - return CMISlabType.BOTTOM; - default: - return CMISlabType.DOUBLE; - } - case 182: - case 205: - switch (block.getData()) { - case 0: - return CMISlabType.BOTTOM; - default: - return CMISlabType.DOUBLE; - } - default: - break; - } - } - - return CMISlabType.NOTSLAB; - } - - public boolean isCanHavePotionType() { - return isPotion() || this == CMIMaterial.TIPPED_ARROW; - } - - public static String getGeneralMaterialName(String fullName) { - String newName = fullName.toUpperCase(); - if (newName.startsWith("STRIPPED")) { - return newName.replaceFirst("_[^_]+", ""); - } - - if (newName.matches("^(DARK|LIGHT).+")) { - return newName.replaceFirst(".+?_.+?_", ""); - } - - if (newName.matches("^(WHITE|ORANGE|MAGENTA|YELLOW|LIME|PINK|GRAY|CYAN|PURPLE|BLUE|BROWN|GREEN|RED|BLACK|" + - "OAK|SPRUCE|BIRCH|JUNGLE|ACACIA).+")) { - return newName.replaceFirst(".+?_", ""); - } - - if (newName.matches("(?i)^(WHITE|ORANGE|MAGENTA|YELLOW|LIME|PINK|GRAY|CYAN|PURPLE|BLUE|BROWN|GREEN|RED|BLACK|" + - "LIGHT_GRAY|LIGHT_BLUE)$")) { - return "color"; - } - - return fullName; - } - - public static byte getBlockData(Block block) { - @SuppressWarnings("deprecation") - byte data = block.getData(); - if (block.getType() == CMIMaterial.COCOA.getMaterial()) - switch (data) { - case 0: - case 1: - case 2: - case 3: - data = 0; - break; - case 4: - case 5: - case 6: - case 7: - data = 1; - break; - case 8: - case 9: - case 10: - case 11: - data = 2; - break; - default: - break; - } - return data; - } - - public boolean equals(Material mat) { - if (getMaterial() == null) { - return false; - } - return this.getMaterial().equals(mat); - } - - public List getLegacyNames() { - return legacyName == null ? new ArrayList<>() : legacyName; - } - - public void addLegacyName(String legacyName) { - if (legacyName == null || legacyName.isEmpty()) - return; - - if (this.legacyName == null) - this.legacyName = new ArrayList<>(); - - this.legacyName.add(legacyName); - } - - public String getBukkitName() { - if (bukkitName == null) - bukkitName = getMaterial() == null ? "N/A" : getMaterial().name(); - return bukkitName; - } - - public void setBukkitName(String bukkitName) { - this.bukkitName = bukkitName; - } - - public String getMojangName() { - if (mojangName == null) - mojangName = CMIReflections.getItemMinecraftName(this.newItemStack()); - return mojangName; - } - - public void setMojangName(String mojangName) { - this.mojangName = mojangName; - } - - public Set getCriteria() { - return criteria; - } - - public boolean containsCriteria(CMIMaterialCriteria criteria) { - return this.criteria != null && criteria != null && this.criteria.contains(criteria); - } - - public boolean isLegacy() { - return legacy; - } -} diff --git a/src/main/java/com/gamingmesh/jobs/CMILib/CMIMaterialCriteria.java b/src/main/java/com/gamingmesh/jobs/CMILib/CMIMaterialCriteria.java deleted file mode 100644 index e024e967..00000000 --- a/src/main/java/com/gamingmesh/jobs/CMILib/CMIMaterialCriteria.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.gamingmesh.jobs.CMILib; - -public enum CMIMaterialCriteria { - - seeThrow, stars, slab, door, carpet, wool, monsteregg - -} diff --git a/src/main/java/com/gamingmesh/jobs/CMILib/CMINBT.java b/src/main/java/com/gamingmesh/jobs/CMILib/CMINBT.java deleted file mode 100644 index 9bfbcf4a..00000000 --- a/src/main/java/com/gamingmesh/jobs/CMILib/CMINBT.java +++ /dev/null @@ -1,344 +0,0 @@ -package com.gamingmesh.jobs.CMILib; - -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -import org.bukkit.inventory.ItemStack; - -public class CMINBT { - - Object tag; - Object object; - - nmbtType type; - - public enum nmbtType { - item, block, entity; - } - - static { - - } - - public CMINBT(ItemStack item) { - tag = CMIReflections.getNbt(item); - object = item; - type = nmbtType.item; - } - - public Integer getInt(String path) { - if (tag == null) - return null; - if (!this.hasNBT(path)) - return null; - try { - return (Integer) tag.getClass().getMethod("getInt", String.class).invoke(tag, path); - } catch (Exception e) { - return null; - } - } - - public Byte getByte(String path) { - if (tag == null) - return null; - if (!this.hasNBT(path)) - return null; - try { - return (Byte) tag.getClass().getMethod("getByte", String.class).invoke(tag, path); - } catch (Exception e) { - return null; - } - } - - public Long getLong(String path) { - if (tag == null) - return null; - if (!this.hasNBT(path)) - return null; - try { - return (Long) tag.getClass().getMethod("getLong", String.class).invoke(tag, path); - } catch (Exception e) { - return null; - } - } - - public Boolean getBoolean(String path) { - if (tag == null) - return null; - if (!this.hasNBT(path)) - return null; - try { - return (Boolean) tag.getClass().getMethod("getBoolean", String.class).invoke(tag, path); - } catch (Exception e) { - return null; - } - } - - public String getString(String path) { - if (tag == null) - return null; - if (!this.hasNBT(path)) - return null; - try { - - if (tag != null && path.contains(".")) { - List keys = new ArrayList(); - keys.addAll(Arrays.asList(path.split("\\."))); - try { - Object nbtbase = tag.getClass().getMethod("get", String.class).invoke(tag, keys.get(0)); - for (int i = 1; i < keys.size(); i++) { - if (i + 1 < keys.size()) { - nbtbase = nbtbase.getClass().getMethod("get", String.class).invoke(nbtbase, keys.get(i)); - } else { - return nbtbase != null ? (String) nbtbase.getClass().getMethod("getString", String.class).invoke(nbtbase, keys.get(i)) : null; - } - } - } catch (Throwable e) { - } - } - - return (String) tag.getClass().getMethod("getString", String.class).invoke(tag, path); - } catch (Exception e) { - return null; - } - } - - public List getList(String path) { - if (tag == null) - return null; - if (!this.hasNBT(path)) - return null; - List list = new ArrayList(); - try { - Object ls = tag.getClass().getMethod("getList", String.class, int.class).invoke(tag, path, 8); - int size = (int) ls.getClass().getMethod("size").invoke(ls); - Method method = ls.getClass().getMethod("get", int.class); - - if (Version.isCurrentEqualOrLower(Version.v1_12_R1)) { - method = ls.getClass().getMethod("getString", int.class); - for (int i = 0; i < size; i++) { - Object ress = method.invoke(ls, i); - String line = (String) ress; - list.add(line); - } - } else { - Object nbtbase = tag.getClass().getMethod("get", String.class).invoke(tag, path); - Method baseMethod = nbtbase.getClass().getMethod(Version.isCurrentEqualOrLower(Version.v1_12_R1) ? "toString" : "asString"); - for (int i = 0; i < size; i++) { - list.add((String) baseMethod.invoke(method.invoke(ls, i))); - } - } - return list; - } catch (Exception e) { - return null; - } - } - - public Short getShort(String path) { - if (tag == null) - return null; - try { - return (Short) tag.getClass().getMethod("getShort", String.class).invoke(tag, path); - } catch (Exception e) { - return null; - } - } - - public Object setBoolean(String path, Boolean value) { - switch (type) { - case block: - break; - case entity: - break; - case item: - try { - if (value == null) { - Method meth = tag.getClass().getMethod("remove", String.class); - meth.invoke(tag, path); - } else { - Method meth = tag.getClass().getMethod("setBoolean", String.class, boolean.class); - meth.invoke(tag, path, value); - } - return CMIReflections.setTag((ItemStack) object, tag); - } catch (Throwable e) { - if (Version.isCurrentEqualOrHigher(Version.v1_7_R4)) - e.printStackTrace(); - return object; - } - default: - break; - } - return object; - } - - public Object setByte(String path, Byte value) { - switch (type) { - case block: - break; - case entity: - break; - case item: - try { - if (value == null) { - Method meth = tag.getClass().getMethod("remove", String.class); - meth.invoke(tag, path); - } else { - Method meth = tag.getClass().getMethod("setByte", String.class, byte.class); - meth.invoke(tag, path, value); - } - return CMIReflections.setTag((ItemStack) object, tag); - } catch (Throwable e) { - if (Version.isCurrentEqualOrHigher(Version.v1_7_R4)) - e.printStackTrace(); - return object; - } - default: - break; - } - return object; - } - - public Object setShort(String path, Short value) { - switch (type) { - case block: - break; - case entity: - break; - case item: - try { - if (value == null) { - Method meth = tag.getClass().getMethod("remove", String.class); - meth.invoke(tag, path); - } else { - Method meth = tag.getClass().getMethod("setShort", String.class, short.class); - meth.invoke(tag, path, value); - } - return CMIReflections.setTag((ItemStack) object, tag); - } catch (Throwable e) { - if (Version.isCurrentEqualOrHigher(Version.v1_7_R4)) - e.printStackTrace(); - return object; - } - default: - break; - } - return object; - } - - public Object setString(String path, String value) { - switch (type) { - case block: - break; - case entity: - break; - case item: - try { - if (value == null) { - Method meth = tag.getClass().getMethod("remove", String.class); - meth.invoke(tag, path); - } else { - Method meth = tag.getClass().getMethod("setString", String.class, String.class); - meth.invoke(tag, path, value); - } - return CMIReflections.setTag((ItemStack) object, tag); - } catch (Throwable e) { - if (Version.isCurrentEqualOrHigher(Version.v1_7_R4)) - e.printStackTrace(); - return object; - } - default: - break; - } - return object; - } - - public Object setInt(String path, Integer value) { - switch (type) { - case block: - break; - case entity: - break; - case item: - try { - - if (value == null) { - Method meth = tag.getClass().getMethod("remove", String.class); - meth.invoke(tag, path); - } else { - Method meth = tag.getClass().getMethod("setInt", String.class, int.class); - meth.invoke(tag, path, value); - } - return CMIReflections.setTag((ItemStack) object, tag); - } catch (Throwable e) { - if (Version.isCurrentEqualOrHigher(Version.v1_7_R4)) - e.printStackTrace(); - return object; - } - default: - break; - } - return object; - } - - public Object setLong(String path, Long value) { - switch (type) { - case block: - break; - case entity: - break; - case item: - try { - if (value == null) { - Method meth = tag.getClass().getMethod("remove", String.class); - meth.invoke(tag, path, value); - } else { - Method meth = tag.getClass().getMethod("setLong", String.class, long.class); - meth.invoke(tag, path, value); - } - return CMIReflections.setTag((ItemStack) object, tag); - } catch (Throwable e) { - if (Version.isCurrentEqualOrHigher(Version.v1_7_R4)) - e.printStackTrace(); - return object; - } - default: - break; - } - return object; - } - - public boolean hasNBT() { - return tag != null; - } - - public boolean hasNBT(String key) { - if (tag != null && key.contains(".")) { - List keys = new ArrayList(); - keys.addAll(Arrays.asList(key.split("\\."))); - try { - Object nbtbase = tag.getClass().getMethod("get", String.class).invoke(tag, keys.get(0)); - for (int i = 1; i < keys.size(); i++) { - if (i + 1 < keys.size()) { - nbtbase = nbtbase.getClass().getMethod("get", String.class).invoke(nbtbase, keys.get(i)); - } else { - return nbtbase != null && (Boolean) nbtbase.getClass().getMethod("hasKey", String.class).invoke(nbtbase, keys.get(i)); - } - } - } catch (Throwable e) { - } - return false; - } - try { - return tag != null && (Boolean) tag.getClass().getMethod("hasKey", String.class).invoke(tag, key); - } catch (Throwable e) { - e.printStackTrace(); - } - return false; - } - - public Object getNbt() { - return tag; - } -} diff --git a/src/main/java/com/gamingmesh/jobs/CMILib/CMIReflections.java b/src/main/java/com/gamingmesh/jobs/CMILib/CMIReflections.java deleted file mode 100644 index 7d032346..00000000 --- a/src/main/java/com/gamingmesh/jobs/CMILib/CMIReflections.java +++ /dev/null @@ -1,406 +0,0 @@ -/** - * Copyright (C) 2017 Zrips - */ - -package com.gamingmesh.jobs.CMILib; - -import java.lang.reflect.Field; -import java.lang.reflect.Method; -import java.util.UUID; - -import org.bukkit.entity.EntityType; -import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.SkullMeta; - -import com.mojang.authlib.GameProfile; -import com.mojang.authlib.properties.Property; - -public class CMIReflections { - - //private Class CraftServerClass; - //private Object CraftServer; - - private static Class NBTTagCompound; - private static Class NBTBase; -// private Class NBTTagList; - - private static Class CraftItemStack; - private static Class Item; - private static Class IStack; - - static { - try { - //CraftServerClass = getBukkitClass("CraftServer"); - //CraftServer = CraftServerClass.cast(Bukkit.getServer()); - NBTTagCompound = getMinecraftClass("NBTTagCompound"); - NBTBase = getMinecraftClass("NBTBase"); - /*try { - NBTTagList = getMinecraftClass("NBTTagList"); - } catch (ClassNotFoundException | SecurityException | IllegalArgumentException e) { - e.printStackTrace(); - }*/ - CraftItemStack = getBukkitClass("inventory.CraftItemStack"); - try { - Item = getMinecraftClass("Item"); - } catch (ClassNotFoundException | SecurityException | IllegalArgumentException e) { - e.printStackTrace(); - } - IStack = getMinecraftClass("ItemStack"); - } catch (ClassCastException | ClassNotFoundException e) { - e.printStackTrace(); - } - } - - public static String toJson(ItemStack item) { - if (item == null) - return null; - - Object nmsStack = asNMSCopy(item); - - try { - Method meth = IStack.getMethod("save", NBTTagCompound); - Object res = meth.invoke(nmsStack, NBTTagCompound.newInstance()); - return res.toString(); - } catch (Throwable e) { - e.printStackTrace(); - } - - return null; - } - - private static Class getBukkitClass(String nmsClassString) throws ClassNotFoundException { - return Class.forName("org.bukkit.craftbukkit." + Version.getCurrent() + "." + nmsClassString); - } - - public static Class getMinecraftClass(String nmsClassString) throws ClassNotFoundException { - return Class.forName("net.minecraft.server." + Version.getCurrent() + "." + nmsClassString); - } - - public ItemStack removeNbt(ItemStack item, String base, String path) { - if (item == null) - return null; - try { - Object nmsStack = asNMSCopy(item); - Method methTag = nmsStack.getClass().getMethod("getTag"); - Object tag = methTag.invoke(nmsStack); - if (tag == null) - return item; - - Method compountMeth = tag.getClass().getMethod("getCompound", String.class); - Object compountTag = compountMeth.invoke(tag, base); - - if (compountTag == null) - return item; - - Method meth = compountTag.getClass().getMethod("remove", String.class); - meth.invoke(compountTag, path); - - Method mm = tag.getClass().getMethod("set", String.class, NBTBase); - mm.invoke(tag, base, compountTag); - - Method meth2 = nmsStack.getClass().getMethod("setTag", NBTTagCompound); - meth2.invoke(nmsStack, tag); - return (ItemStack) asBukkitCopy(nmsStack); - } catch (Throwable e) { - e.printStackTrace(); - return null; - } - } - - public ItemStack removeNbt(ItemStack item, String path) { - if (item == null) - return null; - try { - Object nmsStack = asNMSCopy(item); - Method methTag = nmsStack.getClass().getMethod("getTag"); - Object tag = methTag.invoke(nmsStack); - if (tag == null) - return item; - - Method meth = tag.getClass().getMethod("remove", String.class); - meth.invoke(tag, path); - - Method meth2 = nmsStack.getClass().getMethod("setTag", NBTTagCompound); - meth2.invoke(nmsStack, tag); - return (ItemStack) asBukkitCopy(nmsStack); - } catch (Throwable e) { - e.printStackTrace(); - return null; - } - } - - public boolean hasNbt(ItemStack item, String base) { - if (item == null) - return false; - try { - Object nbt = getNbt(item); - if (nbt == null) - return false; - Method meth = nbt.getClass().getMethod("getCompound", String.class); - Object res = meth.invoke(nbt, base); - return res != null; - } catch (Throwable e) { - return false; - } - } - - public boolean hasNbtString(ItemStack item, String base) { - if (item == null) - return false; - try { - Object nbt = getNbt(item); - if (nbt == null) - return false; - Method meth = nbt.getClass().getMethod("getString", String.class); - Object res = meth.invoke(nbt, base); - return res != null; - } catch (Throwable e) { - return false; - } - } - - public static Object getNbt(ItemStack item) { - if (item == null) - return null; - try { - Object nmsStack = asNMSCopy(item); - Method methTag = nmsStack.getClass().getMethod("getTag"); - Object tag = methTag.invoke(nmsStack); - return tag; - } catch (Throwable e) { - return null; - } - } - - public Object getNbt(ItemStack item, String base, String path) { - if (item == null) - return null; - try { - Object nbt = getNbt(item); - if (nbt == null) - return null; - - Method compoundMeth = nbt.getClass().getMethod("getCompound", String.class); - Object compoundRes = compoundMeth.invoke(nbt, base); - - if (compoundRes == null) - return null; - - Method meth = compoundRes.getClass().getMethod("getString", String.class); - Object res = meth.invoke(compoundRes, path); - return res; - } catch (Throwable e) { - return null; - } - } - - public static ItemStack setNbt(ItemStack item, String path, String value) { - if (item == null) - return null; - try { - Object nmsStack = asNMSCopy(item); - if (nmsStack == null) - return item; - Method methTag = nmsStack.getClass().getMethod("getTag"); - Object tag = methTag.invoke(nmsStack); - if (tag == null) - tag = NBTTagCompound.newInstance(); - Method meth = tag.getClass().getMethod("setString", String.class, String.class); - meth.invoke(tag, path, value); - Method meth2 = nmsStack.getClass().getMethod("setTag", NBTTagCompound); - meth2.invoke(nmsStack, tag); - return (ItemStack) asBukkitCopy(nmsStack); - } catch (Exception e) { - e.printStackTrace(); - return null; - } - } - - public static Object getNbt(ItemStack item, String path) { - if (item == null) - return null; - try { - Object nbt = getNbt(item); - if (nbt == null) - return null; - - Method meth = nbt.getClass().getMethod("getString", String.class); - Object res = meth.invoke(nbt, path); - return res; - } catch (Throwable e) { - return null; - } - } - - public static Object asNMSCopy(ItemStack item) { - try { - Method meth = CraftItemStack.getMethod("asNMSCopy", ItemStack.class); - return meth.invoke(CraftItemStack, item); - } catch (Throwable e) { - e.printStackTrace(); - return null; - } - } - - public static Object asBukkitCopy(Object item) { - try { - Method meth = CraftItemStack.getMethod("asBukkitCopy", IStack); - return meth.invoke(CraftItemStack, item); - } catch (Throwable e) { - return null; - } - } - - public static String getItemMinecraftName(ItemStack item) { - try { - - Object nmsStack = asNMSCopy(item); - if (nmsStack == null) - return null; - if (Version.isCurrentEqualOrHigher(Version.v1_13_R1)) { - Object pre = nmsStack.getClass().getMethod("getItem").invoke(nmsStack); - Object n = pre.getClass().getMethod("getName").invoke(pre); - Class ll = Class.forName("net.minecraft.server." + Version.getCurrent() + ".LocaleLanguage"); - Object lla = ll.getMethod("a").invoke(ll); - return (String) lla.getClass().getMethod("a", String.class).invoke(lla, (String) n); - } - - Field field = Item.getField("REGISTRY"); - Object reg = field.get(field); - Method meth = reg.getClass().getMethod("b", Object.class); - meth.setAccessible(true); - Method secmeth = nmsStack.getClass().getMethod("getItem"); - Object res2 = secmeth.invoke(nmsStack); - Object res = meth.invoke(reg, res2); - return res.toString(); - } catch (Exception e) { - return null; - } - } - - public String getItemMinecraftNamePath(ItemStack item) { - try { - Object nmsStack = asNMSCopy(item); - Method itemMeth = Item.getMethod("getById", int.class); - @SuppressWarnings("deprecation") - Object res = itemMeth.invoke(Item, item.getType().getId()); - Method nameThingy = Item.getMethod("j", IStack); - Object resThingy = nameThingy.invoke(res, nmsStack); - return resThingy.toString(); - } catch (Throwable e) { - return null; - } - } - - public static ItemStack getItemInOffHand(org.bukkit.entity.Player player) { - return Version.getCurrent().isLower(Version.v1_9_R1) ? null : player.getInventory().getItemInOffHand(); - } - - public static int getEggId(ItemStack item) { - EntityType type = getEggType(item); - return type == null ? 0 : type.getTypeId(); - } - - public static EntityType getEggType(ItemStack item) { - if (!CMIMaterial.isMonsterEgg(item.getType())) - return null; - - if (Version.isCurrentEqual(Version.v1_12_R1)) { - try { - if (Version.isCurrentEqualOrLower(Version.v1_11_R1)) { - CMIEntityType cmiType = CMIEntityType.getById(item.getData().getData()); - if (cmiType != null) - return cmiType.getType(); - } - Object tag = getNbt(item); - Object base = tag.getClass().getMethod("getCompound", String.class).invoke(tag, "EntityTag"); - String type = (String) base.getClass().getMethod("getString", String.class).invoke(base, "id"); - return EntityType.fromName(type.replace("minecraft:", "").toUpperCase()); - } catch (Exception e) { - return null; - } - } - - CMIEntityType type = CMIEntityType.getByName(item.getType().toString().replace("_SPAWN_EGG", "")); - return type == null ? null : type.getType(); - } - - public static ItemStack setEggType(ItemStack item, EntityType etype) { - if (!item.getType().toString().contains("_EGG")) - return null; - try { - Object tag = getNbt(item); - - Object ttag = tag.getClass().getMethod("getCompound", String.class).invoke(tag, "EntityTag"); - - if (ttag == null) - ttag = NBTTagCompound.newInstance(); - - CMIEntityType ce = CMIEntityType.getByType(etype); - if (ce == null) - return item; - - ttag.getClass().getMethod("setString", String.class, String.class).invoke(ttag, "id", ce.getName()); - - tag.getClass().getMethod("set", String.class, NBTTagCompound).invoke(tag, "EntityTag", ttag); - setTag(item, tag); - - return (ItemStack) asBukkitCopy(item); - } catch (Exception e) { - return null; - } - } - - public static ItemStack setTag(ItemStack item, Object tag) { - try { - Object nmsStack = asNMSCopy(item); - if (nmsStack == null) { - return null; - } - Method meth2 = nmsStack.getClass().getMethod("setTag", NBTTagCompound); - meth2.invoke(nmsStack, tag); - return (ItemStack) asBukkitCopy(nmsStack); - } catch (Throwable e) { - if (Version.isCurrentEqualOrHigher(Version.v1_7_R4)) - e.printStackTrace(); - return item; - } - } - - public static ItemStack setSkullTexture(ItemStack item, String customProfileName, String texture) { - if (item == null) - return null; - try { - - GameProfile prof = new GameProfile(UUID.nameUUIDFromBytes(texture.getBytes()), null); - prof.getProperties().removeAll("textures"); - prof.getProperties().put("textures", new Property("textures", texture)); - -// ItemMeta headMeta = item.getItemMeta(); - SkullMeta headMeta = (SkullMeta) item.getItemMeta(); - - Field profileField = null; - try { - profileField = headMeta.getClass().getDeclaredField("profile"); - } catch (NoSuchFieldException | SecurityException e) { - e.printStackTrace(); - } - if (profileField != null) { - profileField.setAccessible(true); - try { - profileField.set(headMeta, prof); - } catch (IllegalArgumentException | IllegalAccessException e) { - e.printStackTrace(); - } - item.setItemMeta(headMeta); - } - - Object i = new CMINBT(item).setString("Id", UUID.nameUUIDFromBytes(texture.getBytes()).toString()); - - return i == null ? null : (ItemStack) i; - } catch (Exception e) { - e.printStackTrace(); - return null; - } - } -} diff --git a/src/main/java/com/gamingmesh/jobs/CMILib/CMISlabType.java b/src/main/java/com/gamingmesh/jobs/CMILib/CMISlabType.java deleted file mode 100644 index 4ba19346..00000000 --- a/src/main/java/com/gamingmesh/jobs/CMILib/CMISlabType.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.gamingmesh.jobs.CMILib; - -public enum CMISlabType { - TOP, - BOTTOM, - DOUBLE, - NOTSLAB; -} diff --git a/src/main/java/com/gamingmesh/jobs/CMILib/ConfigReader.java b/src/main/java/com/gamingmesh/jobs/CMILib/ConfigReader.java deleted file mode 100644 index 787bdbc8..00000000 --- a/src/main/java/com/gamingmesh/jobs/CMILib/ConfigReader.java +++ /dev/null @@ -1,465 +0,0 @@ -package com.gamingmesh.jobs.CMILib; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.PrintWriter; -import java.nio.charset.Charset; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.HashMap; -import java.util.List; - -import org.bukkit.Location; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; - -import com.gamingmesh.jobs.Jobs; -import com.google.common.io.Files; - -/* - * Made by Zrips - */ - -public class ConfigReader extends YamlConfiguration { - private HashMap comments; - private HashMap contents; - private YamlConfiguration config; - private String p = null; - private File file = null; - private boolean recordContents = false; - - public ConfigReader(String fileName) { - this(new File(Jobs.getFolder(), fileName)); - } - - public ConfigReader(File file) { - super(); - comments = new HashMap<>(); - contents = new HashMap<>(); - this.file = file; - this.config = getyml(file); - } - - public void load() { - try { - this.load(file); - } catch (IOException | InvalidConfigurationException e) { - e.printStackTrace(); - } - } - - @Override - public void save(String file) throws IOException { - if (file == null) { - throw new IllegalArgumentException("File cannot be null"); - } - - save(new File(file)); - } - - @Override - public void save(File file) throws IOException { - if (file == null) { - throw new IllegalArgumentException("File cannot be null"); - } - Files.createParentDirs(file); - String data = insertComments(saveToString()); - PrintWriter writer = new PrintWriter(file, "UTF-8"); - try { - writer.write(data); - } finally { - writer.close(); - } - } - - private String insertComments(String yaml) { - if (!comments.isEmpty()) { - String[] yamlContents = yaml.split("[" + System.getProperty("line.separator") + "]"); - StringBuilder newContents = new StringBuilder(); - StringBuilder currentPath = new StringBuilder(); - boolean commentedPath = false; - boolean node = false; - int depth = 0; - - boolean firstLine = true; - for (final String line : yamlContents) { - if (firstLine) { - firstLine = false; - if (line.startsWith("#")) { - continue; - } - } - - boolean keyOk = true; - if (line.contains(": ")) { - int index = 0; - index = line.indexOf(": "); - if (index < 0) { - index = line.length() - 1; - } - int whiteSpace = 0; - for (int n = 0; n < line.length(); n++) { - if (line.charAt(n) == ' ') { - whiteSpace++; - } else { - break; - } - } - String key = line.substring(whiteSpace, index); - if (key.contains(" ")) - keyOk = false; - else if (key.contains("&")) - keyOk = false; - else if (key.contains(".")) - keyOk = false; - else if (key.contains("'")) - keyOk = false; - else if (key.contains("\"")) - keyOk = false; - } - - if (line.contains(": ") && keyOk || (line.length() > 1 && line.charAt(line.length() - 1) == ':')) { - commentedPath = false; - node = true; - - int index = 0; - index = line.indexOf(": "); - if (index < 0) { - index = line.length() - 1; - } - if (currentPath.toString().isEmpty()) { - currentPath = new StringBuilder(line.substring(0, index)); - } else { - int whiteSpace = 0; - for (int n = 0; n < line.length(); n++) { - if (line.charAt(n) == ' ') { - whiteSpace++; - } else { - break; - } - } - if (whiteSpace / 2 > depth) { - currentPath.append(".").append(line.substring(whiteSpace, index)); - depth++; - } else if (whiteSpace / 2 < depth) { - int newDepth = whiteSpace / 2; - for (int i = 0; i < depth - newDepth; i++) { - currentPath.replace(currentPath.lastIndexOf("."), currentPath.length(), ""); - } - int lastIndex = currentPath.lastIndexOf("."); - if (lastIndex < 0) { - currentPath = new StringBuilder(); - } else { - currentPath.replace(currentPath.lastIndexOf("."), currentPath.length(), "").append("."); - } - currentPath.append(line.substring(whiteSpace, index)); - depth = newDepth; - } else { - int lastIndex = currentPath.lastIndexOf("."); - if (lastIndex < 0) { - currentPath = new StringBuilder(); - } else { - currentPath.replace(currentPath.lastIndexOf("."), currentPath.length(), "").append("."); - } - currentPath.append(line.substring(whiteSpace, index)); - } - } - } else { - node = false; - } - StringBuilder newLine = new StringBuilder(line); - if (node) { - String comment = null; - if (!commentedPath) { - comment = comments.get(currentPath.toString()); - } - if (comment != null && !comment.isEmpty()) { - newLine.insert(0, System.getProperty("line.separator")).insert(0, comment); - comment = null; - commentedPath = true; - } - } - newLine.append(System.getProperty("line.separator")); - newContents.append(newLine.toString()); - } - - return newContents.toString(); - } - return yaml; - } - - public void appendComment(String path, String... commentLines) { - addComment(path, true, commentLines); - } - - public void addComment(String path, String... commentLines) { - addComment(path, false, commentLines); - } - - public void addComment(String path, boolean append, String... commentLines) { - if (this.p != null) - path = this.p + path; - - StringBuilder commentstring = new StringBuilder(); - if (append && comments.containsKey(path)) { - commentstring.append(comments.get(path)); - } - - String leadingSpaces = ""; - for (int n = 0; n < path.length(); n++) { - if (path.charAt(n) == '.') { - leadingSpaces += " "; - } - } - for (String line : commentLines) { - if (!line.isEmpty()) { - line = leadingSpaces + "# " + line; - } - if (commentstring.length() > 0) { - commentstring.append(System.getProperty("line.separator")); - } - commentstring.append(line); - } - comments.put(path, commentstring.toString()); - } - - public YamlConfiguration getyml(File file) { - YamlConfiguration config = new YamlConfiguration(); - FileInputStream fileinputstream = null; - - try { - fileinputstream = new FileInputStream(file); - InputStreamReader str = new InputStreamReader(fileinputstream, Charset.forName("UTF-8")); - - config.load(str); - str.close(); - } catch (FileNotFoundException e) { - } catch (InvalidConfigurationException | IOException e) { - saveToBackup(); - System.out.println(e.getLocalizedMessage()); - } finally { - if (fileinputstream != null) - try { - fileinputstream.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - return config; - } - - public void saveToBackup() { - saveToBackup(true); - } - - public void saveToBackup(boolean inform) { - File cc = new File(Jobs.getFolder(), "FileBackups"); - if (!cc.isDirectory()) - cc.mkdir(); - - Date date = new Date(); - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss "); - String newFileName = dateFormat.format(date) + file.getName(); - if (inform) - Jobs.consoleMsg("&cFailed to load " + file.getName() + "! Backup have been saved into " + Jobs.getFolder().getPath() + File.separator + "FileBackups" - + File.separator + newFileName); - - File f = new File(Jobs.getFolder(), "FileBackups" + File.separator + newFileName); -// file.renameTo(f); - try { - Files.copy(file, f); - } catch (IOException e) { - e.printStackTrace(); - } - } - - public void save() { - try { - save(file); - } catch (IOException e) { - e.printStackTrace(); - } - } - - private static void newLn(StringBuilder header) { - header.append(System.lineSeparator()); - } - - private static StringBuilder formStringBuilder(List list) { - StringBuilder header = new StringBuilder(); - for (String one : list) { - header.append(one); - newLn(header); - } - return header; - } - - public void header(List list) { - options().header(formStringBuilder(list).toString()); - } - - String[] waitingComment = null; - - private void checkWaitingComment(String path) { - if (waitingComment == null) - return; - addComment(path, waitingComment); - waitingComment = null; - } - - public YamlConfiguration getC() { - return config; - } - - public void copyDefaults(boolean value) { - getC().options().copyDefaults(value); - } - - private String process(String path, Object value) { - if (this.p != null) - path = this.p + path; - checkWaitingComment(path); - config.addDefault(path, value); - copySetting(path); - return path; - } - - public Boolean get(String path, Boolean boo) { - path = process(path, boo); - return config.getBoolean(path); - } - - public Object get(String path, Location boo) { - path = process(path, boo); - return config.get(path); - } - - public int get(String path, int boo) { - path = process(path, boo); - return config.getInt(path); - } - - public int get(String path, Integer boo) { - path = process(path, boo); - return config.getInt(path); - } - - public List getIntList(String path, List list) { - path = process(path, list); - return config.getIntegerList(path); - } - - public List get(String path, List list) { - path = process(path, list); - if (recordContents) { - contents.put(path, config.isList(path) ? config.getStringList(path) : list); - } - - List ls = config.getStringList(path); - for (int p = 0; p < ls.size(); p++) { - String st = convertUnicode(ls.get(p)); - ls.set(p, st); - } - - return ls; - } - - public String get(String path, String boo) { - path = process(path, boo); - if (recordContents) - contents.put(path, config.isString(path) ? config.getString(path) : boo); - - return convertUnicode(config.getString(path)); - } - - public Double get(String path, Double boo) { - path = process(path, boo); - return config.getDouble(path); - } - - private static String convertUnicode(String st) { - try { - if (!st.contains("\\u")) - return st; - - StringBuilder sb = new StringBuilder(st.length()); - for (int i = 0; i < st.length(); i++) { - char ch = st.charAt(i); - if (ch == '\\') { - char nextChar = (i == st.length() - 1) ? '\\' : st.charAt(i + 1); - if (nextChar >= '0' && nextChar <= '7') { - String code = "" + nextChar; - i++; - if ((i < st.length() - 1) && st.charAt(i + 1) >= '0' && st.charAt(i + 1) <= '7') { - code += st.charAt(i + 1); - i++; - if ((i < st.length() - 1) && st.charAt(i + 1) >= '0' && st.charAt(i + 1) <= '7') { - code += st.charAt(i + 1); - i++; - } - } - sb.append((char) Integer.parseInt(code, 8)); - continue; - } - switch (nextChar) { - case 'u': - if (i >= st.length() - 5) { - ch = 'u'; - break; - } - try { - int code = Integer.parseInt("" + st.charAt(i + 2) + st.charAt(i + 3) + st.charAt(i + 4) + st.charAt(i + 5), 16); - sb.append(Character.toChars(code)); - } catch (NumberFormatException e) { - sb.append("\\"); - continue; - } - i += 5; - continue; - default: - sb.append("\\"); - continue; - } - i++; - } - sb.append(ch); - } - return sb.toString(); - } catch (Exception e) { - e.printStackTrace(); - return st; - } - } - - private synchronized void copySetting(String path) { - set(path, config.get(path)); - } - - public void resetP() { - p = null; - } - - public void setP(String cmd) { - this.p = cmd; - } - - public String getPath() { - return this.p; - } - - public void setRecordContents(boolean recordContents) { - this.recordContents = recordContents; - } - - public HashMap getContents() { - return contents; - } - - public File getFile() { - return file; - } -} diff --git a/src/main/java/com/gamingmesh/jobs/CMILib/ItemManager.java b/src/main/java/com/gamingmesh/jobs/CMILib/ItemManager.java deleted file mode 100644 index e3b9164a..00000000 --- a/src/main/java/com/gamingmesh/jobs/CMILib/ItemManager.java +++ /dev/null @@ -1,422 +0,0 @@ -package com.gamingmesh.jobs.CMILib; - -import java.util.HashMap; -import java.util.UUID; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import org.bukkit.Bukkit; -import org.bukkit.Material; -import org.bukkit.OfflinePlayer; -import org.bukkit.entity.Player; -import org.bukkit.event.inventory.InventoryType; -import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.MapMeta; -import org.bukkit.inventory.meta.PotionMeta; -import org.bukkit.inventory.meta.SkullMeta; -import org.bukkit.potion.PotionData; -import org.bukkit.potion.PotionEffectType; -import org.bukkit.potion.PotionType; - -import com.gamingmesh.jobs.Jobs; - -public class ItemManager { - - static HashMap byRealMaterial = new HashMap<>(); - static HashMap byId = new HashMap<>(); - static HashMap byName = new HashMap<>(); - - public HashMap idMap() { - return byId; - } - - public HashMap NameMap() { - return byName; - } - - static { - byRealMaterial.clear(); - for (CMIMaterial one : CMIMaterial.values()) { - if (one == null) - continue; - - // Ignoring legacy materials on new servers - if (Version.isCurrentEqualOrHigher(Version.v1_13_R1) && one.isLegacy()) { - continue; - } - - one.updateMaterial(); - Material mat = one.getMaterial(); - - if (mat == null) { - continue; - } - -// Integer id = one.getId(); - short data = one.getLegacyData(); - Integer legacyId = one.getLegacyId(); - String cmiName = one.getName().replace("_", "").replace(" ", "").toLowerCase(); - String materialName = one.toString().replace("_", "").replace(" ", "").toLowerCase(); - - String mojangName = null; - try { - if (Version.isCurrentEqualOrLower(Version.v1_14_R1) || mat.isItem()) - mojangName = CMIReflections.getItemMinecraftName(new ItemStack(mat)); - } catch (Exception e) { - e.printStackTrace(); - } - if (mojangName == null) { - mojangName = mat.toString(); - } - - mojangName = mojangName == null ? mat.toString().replace("_", "").replace(" ", "").toLowerCase() : mojangName.replace("_", "").replace(" ", "").toLowerCase(); - - if (one.isCanHavePotionType()) { - for (PotionType potType : PotionType.values()) { - byName.put(cmiName + ":" + potType.toString().toLowerCase(), one); - } - } - if (byName.containsKey(cmiName) && Version.isCurrentEqualOrLower(Version.v1_13_R1)) { - byName.put(cmiName + ":" + data, one); - } else - byName.put(cmiName, one); - - byName.put(materialName, one); - if (Version.isCurrentEqualOrLower(Version.v1_13_R1) && !byName.containsKey(cmiName + ":" + data)) - byName.put(cmiName + ":" + data, one); - - if (!one.getLegacyNames().isEmpty()) { - for (String oneL : one.getLegacyNames()) { - String legacyName = oneL.replace("_", "").replace(" ", "").toLowerCase(); - if (Version.isCurrentEqualOrLower(Version.v1_13_R1) && (byName.containsKey(legacyName) || data > 0)) { - byName.put(legacyName + ":" + data, one); - } - byName.put(legacyName, one); - } - } - - if (byName.containsKey(mojangName) && Version.isCurrentEqualOrLower(Version.v1_13_R1)) - byName.put(mojangName + ":" + data, one); - else - byName.put(mojangName, one); - - if (Version.isCurrentEqualOrLower(Version.v1_13_R1)) { - Integer id = one.getId(); - if (byName.containsKey(String.valueOf(id)) || data > 0) - byName.put(id + ":" + data, one); - else - byName.put(String.valueOf(id), one); - if (!byId.containsKey(id)) - byId.put(id, one); - if (!byId.containsKey(one.getLegacyId())) - byId.put(one.getLegacyId(), one); - if (one.getLegacyData() == 0) - byId.put(one.getLegacyId(), one); - if (byName.containsKey(String.valueOf(legacyId)) || data > 0) - byName.put(legacyId + ":" + data, one); - else - byName.put(String.valueOf(legacyId), one); - } - - byRealMaterial.put(mat, one); - } - } - - @Deprecated - public CMIItemStack getItem(Material mat) { - CMIMaterial cmat = CMIMaterial.get(mat); - return cmat == null || cmat == CMIMaterial.NONE ? null : new CMIItemStack(cmat); - } - - public static CMIItemStack getItem(CMIMaterial mat) { - return mat == null || mat == CMIMaterial.NONE ? null : new CMIItemStack(mat); - } - - public static CMIItemStack getItem(ItemStack item) { - if (item == null) - item = new ItemStack(Material.AIR); - CMIItemStack cm = getItem(CMIMaterial.get(item)); - if (cm == null) - return new CMIItemStack(Material.AIR); - cm.setItemStack(item); - return cm; - } - - HashMap headCache = new HashMap<>(); - - public CMIItemStack getItem(String name) { - return getItem(name, null); - } - - public CMIItemStack getItem(String name, CMIAsyncHead ahead) { - if (name == null) - return null; -// if (byBukkitName.isEmpty()) -// load(); - CMIItemStack cm = null; - String original = name.replace("minecraft:", ""); - name = name.toLowerCase().replace("minecraft:", ""); - name = name.replace("_", ""); - Integer amount = null; - CMIEntityType entityType = null; - - String tag = null; - - if (name.contains("{") && name.contains("}")) { - Pattern ptr = Pattern.compile("(\\{).+(\\})"); - Matcher match = ptr.matcher(name); - if (match.find()) { - tag = match.group(); - name = name.replace(match.group(), ""); - } - name = name.replace(" ", " "); - } - - String subdata = null; - if (name.contains(":")) { - CMIMaterial mat = byName.get(name); - if (mat != null) - return new CMIItemStack(mat); - try { - subdata = name.split(":")[1]; - } catch (Throwable e) { - - } - } - - if (name.contains("-")) { - String[] split = name.split("-"); - if (split.length > 1) { - String a = name.split("-")[1]; - try { - amount = Integer.parseInt(a); - } catch (Exception e) { - } - } - name = name.split("-")[0]; - } - - if (name.contains(">")) { - String[] split = name.split(">"); - if (split.length > 1) { - String a = name.split(">")[1]; - try { - amount = Integer.parseInt(a); - } catch (Exception e) { - } - } - name = name.split(">")[0]; - } - - short data = -999; - - if (name.contains(":")) { - try { - data = (short) Integer.parseInt(name.split(":")[1]); - } catch (Exception e) { - } - try { - entityType = CMIEntityType.getByName(name.split(":")[1]); - if (entityType != null) - data = (short) entityType.getId(); - } catch (Exception e) { - } - name = name.split(":")[0]; - } - - switch (name.toLowerCase()) { - case "skull": - cm = CMIMaterial.SKELETON_SKULL.newCMIItemStack(); - break; - case "door": - cm = CMIMaterial.SPRUCE_DOOR.newCMIItemStack(); - break; - case "head": - cm = CMIMaterial.PLAYER_HEAD.newCMIItemStack(); - data = 3; - - if (original.contains(":")) { - ItemStack old = headCache.get(original); - if (old != null) { - cm.setItemStack(old); - } else { - String[] split = original.split(":"); - if (split.length > 1) { - String d = split[1]; - - if (d.length() > 36 || d.startsWith("eyJ0ZXh0dXJlcy")) { - ItemStack skull = CMIItemStack.getHead(d); - headCache.put(original, skull); - cm.setItemStack(skull); - } else { - ItemStack skull = CMIMaterial.PLAYER_HEAD.newItemStack(); - SkullMeta skullMeta = (SkullMeta) skull.getItemMeta(); - if (d.length() == 36) { - try { - OfflinePlayer offPlayer = Bukkit.getOfflinePlayer(UUID.fromString(d)); - skullMeta.setOwningPlayer(offPlayer); - skull.setItemMeta(skullMeta); - } catch (Exception e) { - } - } else { - if (Version.isCurrentEqualOrHigher(Version.v1_16_R3)) { - - if ((ahead != null && !ahead.isForce() || ahead == null) && Bukkit.getPlayer(d) != null) { - Player player = Bukkit.getPlayer(d); - skullMeta.setOwningPlayer(player); - skull.setItemMeta(skullMeta); - headCache.put(original, skull); - } else { - - if (ahead != null) { - ahead.setAsyncHead(true); - } - Bukkit.getScheduler().runTaskAsynchronously(Jobs.getInstance(), () -> { - OfflinePlayer offlineP = Bukkit.getOfflinePlayer(d); - if (offlineP != null) { - skullMeta.setOwningPlayer(offlineP); - skull.setItemMeta(skullMeta); - headCache.put(original, skull); - - // Forcing server to load skin information - Bukkit.createInventory(null, InventoryType.CHEST, "").addItem(skull); - - skull.setItemMeta(skullMeta); - headCache.put(original, skull); - - if (ahead != null) - ahead.afterAsyncUpdate(skull); - } - }); - } - - } else { - skullMeta.setOwner(d); - skull.setItemMeta(skullMeta); - } - - if (ahead == null || !ahead.isAsyncHead()) { - skull.setItemMeta(skullMeta); - headCache.put(original, skull); - } - } - } - } - } - } - break; - case "map": - cm = CMIMaterial.FILLED_MAP.newCMIItemStack(); - - if (original.contains(":") && data > 0) { - ItemStack stack = cm.getItemStack(); - MapMeta map = (MapMeta) stack.getItemMeta(); - map.setMapId(data); - stack.setItemMeta(map); - cm.setItemStack(stack); - return cm; - } - break; - default: - break; - } - - CMIMaterial cmat = CMIMaterial.get(subdata == null ? name : name + ":" + subdata); - if (cmat == null || cmat.equals(CMIMaterial.NONE)) { - cmat = CMIMaterial.get(name); - } - - if (cmat != null && !cmat.equals(CMIMaterial.NONE)) { - cm = cmat.newCMIItemStack(); - } else - cmat = CMIMaterial.get(subdata == null ? original : original + ":" + subdata); - - if (cmat != null && !cmat.equals(CMIMaterial.NONE)) - cm = cmat.newCMIItemStack(); - - if (cm == null) { - try { - Material match = Material.matchMaterial(original); - if (match != null) { - if (Version.isCurrentLower(Version.v1_13_R1) || !CMIMaterial.get(match).isLegacy() && CMIMaterial.get(match) != CMIMaterial.NONE) { - cm = new CMIItemStack(match); - } - } - } catch (Throwable e) { - e.printStackTrace(); - } - } - - if (cm != null && entityType != null) - cm.setEntityType(entityType); - - CMIItemStack ncm = null; - if (cm != null) - ncm = cm.clone(); - - if (ncm != null && data != -999) { - if (ncm.getMaxDurability() > 15) { - ncm.setData((short) 0); - } else { - ncm.setData(data); - } - } - -// if (ncm != null && tag != null) { -// ncm.setTag(CMIChatColor.translate(tag)); -// } - - if (ncm != null && amount != null) - ncm.setAmount(amount); - - if (ncm != null && subdata != null) { - if (ncm.getCMIType().isPotion() || ncm.getCMIType() == CMIMaterial.SPLASH_POTION - || ncm.getCMIType() == CMIMaterial.TIPPED_ARROW) { - Integer d = null; - PotionEffectType type = null; - Boolean upgraded = false; - Boolean extended = false; - String[] split = subdata.split("-"); - try { - d = Integer.parseInt(split.length > 0 ? split[0] : subdata); - type = PotionEffectType.getById(d); - } catch (Exception e) { - } - try { - String n = (split.length > 0 ? split[0] : subdata).replace("_", ""); - for (PotionEffectType one : PotionEffectType.values()) { - if (one == null) - continue; - if (n.equalsIgnoreCase(one.getName().replace("_", ""))) { - type = one; - break; - } - } - - if (split.length > 1) { - upgraded = Boolean.parseBoolean(split[1]); - } - if (split.length > 2) { - extended = Boolean.parseBoolean(split[2]); - } - ItemStack item = ncm.getItemStack(); - if (extended && upgraded) - extended = false; - PotionMeta meta = (PotionMeta) item.getItemMeta(); - meta.setBasePotionData(new PotionData(PotionType.getByEffect(type), extended, upgraded)); - item.setItemMeta(meta); - } catch (Exception e) { - e.printStackTrace(); - } - - } - } - - return ncm; - } - - public Material getMaterial(String name) { - CMIItemStack cm = getItem(name); - return cm == null ? Material.AIR : cm.getType(); - } -} diff --git a/src/main/java/com/gamingmesh/jobs/CMILib/ItemReflection.java b/src/main/java/com/gamingmesh/jobs/CMILib/ItemReflection.java deleted file mode 100644 index 4552dd9e..00000000 --- a/src/main/java/com/gamingmesh/jobs/CMILib/ItemReflection.java +++ /dev/null @@ -1,106 +0,0 @@ -/** - * Copyright (C) 2017 Zrips - */ - -package com.gamingmesh.jobs.CMILib; - -import java.lang.reflect.Field; -import java.lang.reflect.Method; - -import org.bukkit.Bukkit; -import org.bukkit.entity.Entity; -import org.bukkit.inventory.ItemStack; - -public class ItemReflection { - - private static Class CraftServerClass; - private static Object CraftServer; - private static Class CraftItemStack; - private static Class Item; - private static Class IStack; - - static { - initialize(); - } - - private static void initialize() { - try { - CraftServerClass = getBukkitClass("CraftServer"); - CraftServer = CraftServerClass.cast(Bukkit.getServer()); - CraftItemStack = getBukkitClass("inventory.CraftItemStack"); - Item = getMinecraftClass("Item"); - IStack = getMinecraftClass("ItemStack"); - } catch (ClassCastException | ClassNotFoundException e) { - e.printStackTrace(); - } - } - - private static Class getBukkitClass(String nmsClassString) throws ClassNotFoundException { - return Class.forName("org.bukkit.craftbukkit." + Version.getCurrent() + "." + nmsClassString); - } - - public static Class getMinecraftClass(String nmsClassString) throws ClassNotFoundException { - return Class.forName("net.minecraft.server." + Version.getCurrent() + "." + nmsClassString); - } - - public static String getItemMinecraftName(ItemStack item) { - try { - Object nmsStack = asNMSCopy(item); - Field field = Item.getField("REGISTRY"); - Object reg = field.get(field); - Method meth = reg.getClass().getMethod("b", Object.class); - meth.setAccessible(true); - Method secmeth = nmsStack.getClass().getMethod("getItem"); - Object res2 = secmeth.invoke(nmsStack); - Object res = meth.invoke(reg, res2); - return res.toString(); - } catch (Throwable e) { - return null; - } - } - - public String getItemMinecraftNamePath(ItemStack item) { - try { - Object nmsStack = asNMSCopy(item); - Method itemMeth = Item.getMethod("getById", int.class); - @SuppressWarnings("deprecation") - Object res = itemMeth.invoke(Item, item.getType().getId()); - Method nameThingy = Item.getMethod("j", IStack); - Object resThingy = nameThingy.invoke(res, nmsStack); - return resThingy.toString(); - } catch (Throwable e) { - return null; - } - } - - public static Object asNMSCopy(ItemStack item) { - try { - Method meth = CraftItemStack.getMethod("asNMSCopy", ItemStack.class); - return meth.invoke(CraftItemStack, item); - } catch (Throwable e) { - return null; - } - } - - public Object asBukkitCopy(Object item) { - try { - Method meth = CraftItemStack.getMethod("asBukkitCopy", IStack); - return meth.invoke(CraftItemStack, item); - } catch (Throwable e) { - return null; - } - } - - public Object getCraftServer() { - return CraftServer; - } - - public static ItemStack getItemInOffHand(org.bukkit.entity.Player player) { - return Version.getCurrent().isLower(Version.v1_9_R1) ? null : player.getInventory().getItemInOffHand(); - } - - public void setEndermiteActive(Entity ent, boolean state) { - - } - -} diff --git a/src/main/java/com/gamingmesh/jobs/CMILib/RawMessage.java b/src/main/java/com/gamingmesh/jobs/CMILib/RawMessage.java deleted file mode 100644 index 5ed96492..00000000 --- a/src/main/java/com/gamingmesh/jobs/CMILib/RawMessage.java +++ /dev/null @@ -1,607 +0,0 @@ -package com.gamingmesh.jobs.CMILib; - -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.regex.Matcher; - -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; -import org.bukkit.inventory.ItemStack; - -public class RawMessage { - - List parts = new ArrayList(); - List onlyText = new ArrayList(); - - LinkedHashMap temp = new LinkedHashMap(); - - RawMessageFragment fragment = new RawMessageFragment(); - RawMessageFragment hoverFragment = new RawMessageFragment(); - - private RawMessageFragment frozenFragment = new RawMessageFragment(); - private boolean freezeFormat = false; - - private String combined = ""; - String combinedClean = ""; - - private boolean dontBreakLine = false; - - public void clear() { - parts = new ArrayList(); - onlyText = new ArrayList(); - combined = ""; - combinedClean = ""; - } - - private String textIntoJson(String text, boolean hover) { - if (text.isEmpty()) { - return ""; - } - if (text.equalsIgnoreCase(" ")) { - return " "; - } - text = CMIChatColor.deColorize(text); - - Matcher match = CMIChatColor.fullPattern.matcher(text); - String matcher = null; - - List fragments = new ArrayList(); - - RawMessageFragment f = hover ? hoverFragment : fragment; - - String lastText = ""; - while (match.find()) { - matcher = match.group(); - String[] split = text.split(matcher.replace("#", "\\#").replace("{", "\\{").replace("}", "\\}"), 2); - text = ""; - for (int i = 1; i < split.length; i++) { - text += split[i]; - } - if (split[0] != null && !split[0].isEmpty()) { - String t = split[0]; - - String t2 = lastText; - lastText = t; - - if (t2.endsWith(" ") && t.startsWith(" ")) { - t = t.substring(1); - } - - f.setText(t); - fragments.add(f); - f = new RawMessageFragment(f); - } - - if (matcher.startsWith(CMIChatColor.colorFontPrefix)) { - f.setFont(matcher); - continue; - } - - CMIChatColor color = CMIChatColor.getColor(matcher); - if (color == null) - continue; - - if (color.isColor()) { - f.setLastColor(color); - } else { - f.addFormat(color); - } - } - - if (!text.isEmpty()) { - - if (lastText.endsWith(" ") && text.startsWith(" ")) - text = text.substring(1); - - RawMessageFragment t = new RawMessageFragment(f); - - t.setText(text); - fragments.add(t); - } - - if (hover) - hoverFragment = f; - else - fragment = f; - - StringBuilder finalText = new StringBuilder(); - - for (RawMessageFragment one : fragments) { - if (!finalText.toString().isEmpty()) - finalText.append("},{"); - StringBuilder options = new StringBuilder(); - for (CMIChatColor format : one.getFormats()) { - if (!options.toString().isEmpty()) - options.append(','); - if (format.equals(CMIChatColor.UNDERLINE)) - options.append("\"underlined\":true"); - else if (format.equals(CMIChatColor.BOLD)) - options.append("\"bold\":true"); - else if (format.equals(CMIChatColor.ITALIC)) - options.append("\"italic\":true"); - else if (format.equals(CMIChatColor.STRIKETHROUGH)) - options.append("\"strikethrough\":true"); - else if (format.equals(CMIChatColor.OBFUSCATED)) - options.append("\"obfuscated\":true"); - } - if (!options.toString().isEmpty()) { - finalText.append(options.toString()); - finalText.append(','); - } - - if (one.getFont() != null) { - finalText.append("\"font\":\"" + one.getFont() + "\","); - - } - - if (one.getLastColor() != null) { - if (one.getLastColor().getHex() != null) - finalText.append("\"color\":\"#" + one.getLastColor().getHex() + "\","); - else if (one.getLastColor().getName() != null) { - finalText.append("\"color\":\"" + one.getLastColor().getName().toLowerCase() + "\","); - } - } - - String t = one.getText(); - - // Old server support, we need to add colors and formats to the text directly - if (Version.isCurrentLower(Version.v1_16_R1)) { - StringBuilder oldColors = new StringBuilder(); - if (one.getLastColor() != null && one.getLastColor().getName() != null) { - oldColors.append(one.getLastColor().getColorCode()); - } - for (CMIChatColor format : one.getFormats()) { - if (format.equals(CMIChatColor.UNDERLINE)) - oldColors.append("&n"); - else if (format.equals(CMIChatColor.BOLD)) - oldColors.append("&l"); - else if (format.equals(CMIChatColor.ITALIC)) - oldColors.append("&o"); - else if (format.equals(CMIChatColor.STRIKETHROUGH)) - oldColors.append("&m"); - else if (format.equals(CMIChatColor.OBFUSCATED)) - oldColors.append("&k"); - } - t = oldColors.toString() + t; - } - - finalText.append("\"text\":\"" + escape(t, hover ? false : this.isDontBreakLine()) + "\""); - } - - if (finalText.toString().isEmpty()) - return ""; -// CMIDebug.d(finalText); - return "{" + finalText.toString() + "}"; - } - - @Deprecated - public RawMessage add(String text, String hoverText, String command, String suggestion, String url) { - add(text, hoverText, command, suggestion, url, null); - return this; - } - - @Deprecated - public RawMessage add(String text, String hoverText, String command, String suggestion, String url, String insertion) { - this.addText(text); - this.addHover(hoverText); - this.addCommand(command); - this.addSuggestion(suggestion); - this.addUrl(url); - this.addInsertion(insertion); - return this; - } - - @Deprecated - public RawMessage addUrl(String text, String url) { - addUrl(text, url, null); - return this; - } - - @Deprecated - public RawMessage addUrl(String text, String url, String hoverText) { - this.addText(text); - this.addHover(hoverText); - this.addUrl(url); - return this; - } - - @Deprecated - public RawMessage add(String text) { - return add(text, null, null, null, null); - } - - @Deprecated - public RawMessage add(String text, String hoverText) { - return add(text, hoverText, null, null, null); - } - - @Deprecated - public RawMessage add(String text, List hoverText) { - - String hover = ""; - if (hoverText != null) - for (String one : hoverText) { - if (!hover.isEmpty()) - hover += "\n"; - hover += one; - } - return add(text, hover.isEmpty() ? null : hover, null, null, null); - } - - @Deprecated - public RawMessage add(String text, String hoverText, String command) { - return add(text, hoverText, command, null, null); - } - - @Deprecated - public RawMessage add(String text, String hoverText, String command, String suggestion) { - return add(text, hoverText, command, suggestion, null); - } - - @Deprecated - public RawMessage addHoverText(List hoverText) { - return addHover(hoverText); - } - - @Deprecated - public RawMessage addHoverText(String hover) { - return addHover(hover); - } - - public RawMessage addItem(String text, ItemStack item, String command, String suggestion, String insertion) { - this.addText(text); - this.addCommand(command); - this.addSuggestion(suggestion); - this.addInsertion(insertion); - this.addItem(item); - return this; - } - - public RawMessage addText(String text) { - if (text == null || text.isEmpty()) - return this; - if (temp.containsKey(RawMessagePartType.Text)) - build(); - -// if (this.isDontBreakLine()) { - onlyText.add(CMIChatColor.translate(text)); - -// text = escape(text, this.isDontBreakLine()); -// } - text = textIntoJson(text, false); - String f = ""; - if (text.isEmpty()) - f = "\"text\":\"\""; - else if (text.equalsIgnoreCase(" ")) - f = "\"text\":\" \""; - else - f = "\"text\":\"\",\"extra\":[" + CMIChatColor.translate(text).replace(CMIChatColor.colorReplacerPlaceholder, "&") + "]"; - temp.put(RawMessagePartType.Text, f); - return this; - } - - public RawMessage addHover(List hoverText) { - StringBuilder hover = new StringBuilder(); - if (hoverText != null) { - for (String one : hoverText) { - if (!hover.toString().isEmpty()) - hover.append("\n"); - hover.append(one); - } - } - return addHover(hover.toString()); - } - - public RawMessage addHover(String hover) { - hoverFragment = new RawMessageFragment(); - if (hover == null || hover.isEmpty()) - return this; - - hover = textIntoJson(hover, true); -// hover = escape(hover, false); - String f = ""; - if (hover.isEmpty()) - f = "\"text\":\"\""; - else if (hover.equalsIgnoreCase(" ")) - f = "\"text\":\" \""; - else - f = "\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[" + CMIChatColor.translate(hover).replace(CMIChatColor.colorReplacerPlaceholder, "&") + "]}}"; - temp.put(RawMessagePartType.HoverText, f); - return this; - } - - public RawMessage addCommand(String command) { - if (command == null || command.isEmpty()) - return this; - if (!command.startsWith("/")) - command = "/" + command; - command = escape(command, true); - String f = "\"clickEvent\":{\"action\":\"run_command\",\"value\":\"" + CMIChatColor.deColorize(command).replace(CMIChatColor.colorReplacerPlaceholder, "&") + "\"}"; - temp.put(RawMessagePartType.ClickCommand, f); - return this; - } - - public RawMessage addSuggestion(String suggestion) { - if (suggestion == null || suggestion.isEmpty()) - return this; - suggestion = escape(suggestion, true); - String f = "\"clickEvent\":{\"action\":\"suggest_command\",\"value\":\"" + CMIChatColor.deColorize(suggestion).replace(CMIChatColor.colorReplacerPlaceholder, "&") + "\"}"; - temp.put(RawMessagePartType.ClickSuggestion, f); - return this; - } - - public RawMessage addInsertion(String insertion) { - if (insertion == null || insertion.isEmpty()) - return this; - insertion = escape(insertion, true); - String f = "\"insertion\":\"" + CMIChatColor.deColorize(insertion).replace(CMIChatColor.colorReplacerPlaceholder, "&") + "\""; - temp.put(RawMessagePartType.ClickInsertion, f); - return this; - } - - public RawMessage addItem(ItemStack item) { - if (item == null) - return this; - String res = CMIReflections.toJson(item.clone()); - String f = "\"hoverEvent\":{\"action\":\"show_item\",\"value\":\"" + escape(res, true) + "\"}"; - temp.put(RawMessagePartType.HoverItem, f); - return this; - } - - public RawMessage addUrl(String url) { - if (url == null || url.isEmpty()) - return this; - - if (!url.toLowerCase().startsWith("http://") && !url.toLowerCase().startsWith("https://")) - url = "http://" + url; - - String f = "\"clickEvent\":{\"action\":\"open_url\",\"value\":\"" + CMIChatColor.deColorize(url).replace(CMIChatColor.colorReplacerPlaceholder, "&") + "\"}"; - - temp.put(RawMessagePartType.ClickLink, f); - return this; - } - - public RawMessage build() { - if (temp.isEmpty()) - return this; - - if (!temp.containsKey(RawMessagePartType.Text)) - return this; - String part = ""; - for (RawMessagePartType one : RawMessagePartType.values()) { - String t = temp.get(one); - if (t == null) - continue; - if (!part.isEmpty()) - part += ","; - part += t; - } - part = "{" + part + "}"; - temp.clear(); - parts.add(part); - return this; - } - - private static String escape(String s, boolean escapeNewLn) { - - if (s == null) - return null; - StringBuffer sb = new StringBuffer(); - escape(s, sb); - if (escapeNewLn) - return sb.toString().replace(nl, "\\\\n"); - return sb.toString().replace(nl, "\\n"); - } - - private static final String nl = "\u00A5n"; - - private static void escape(String s, StringBuffer sb) { - s = s.replace("\n", nl); - s = s.replace("\\n", nl); - for (int i = 0; i < s.length(); i++) { - char ch = s.charAt(i); - - switch (ch) { - case '"': - sb.append("\\\""); - break; - case '\n': - sb.append("\\n"); - break; - case '\\': - sb.append("\\\\"); - break; - case '\b': - sb.append("\\b"); - break; - case '\f': - sb.append("\\f"); - break; - case '\r': - sb.append("\\r"); - break; - case '\t': - sb.append("\\t"); - break; - case '/': - sb.append("\\/"); - break; - default: - if ((ch >= '\u0000' && ch <= '\u001F') || (ch >= '\u007F' && ch <= '\u009F') || (ch >= '\u2000' && ch <= '\u20FF')) { - String ss = Integer.toHexString(ch); - sb.append("\\u"); - for (int k = 0; k < 4 - ss.length(); k++) { - sb.append('0'); - } - sb.append(ss.toUpperCase()); - } else { - sb.append(ch); - } - } - } - -// for (int i = 0; i < s.length(); i++) { -// char ch = s.charAt(i); -// if (String.valueOf(ch).equals(nl)) { -// if (escapeNewLn) { -// sb.append("\\n"); -// } else { -// sb.append("\n"); -// } -// } else -// sb.append(ch); -// -// } - } - - public List softCombine() { - List ls = new ArrayList(); - String f = ""; - for (String part : parts) { - if (f.isEmpty()) - f = "[\"\","; - else { - if (f.length() > 30000) { - ls.add(f + "]"); - f = "[\"\"," + part; - continue; - } - f += ","; - } - f += part; - } - if (!f.isEmpty()) - f += "]"; - ls.add(f); - return ls; - } - - private RawMessage combine() { - String f = ""; - for (String part : parts) { - if (f.isEmpty()) - f = "[\"\","; - else - f += ","; - f += part; - } - if (!f.isEmpty()) - f += "]"; - - if (f.isEmpty()) - f = "{\"text\":\" \"}"; - - combined = f; - return this; - } - - public RawMessage combineClean() { - String f = ""; - for (String part : onlyText) { - f += part.replace("\\\"", "\""); - } - combinedClean = f; - return this; - } - - public RawMessage show(Player player) { - return show(player, true); - } - - public RawMessage show(Player player, boolean softCombined) { - if (player == null) - return this; - if (combined.isEmpty()) { - this.build(); - combine(); - } - - if (!player.isOnline()) - return this; - - if (softCombined) { - for (String one : softCombine()) { - if (one.isEmpty()) - continue; - RawMessageManager.send(player, one); - } - } else { - RawMessageManager.send(player, combined); - } - - return this; - } - - public int getFinalLenght() { - String f = ""; - for (String part : parts) { - if (f.isEmpty()) - f = "[\"\","; - else - f += ","; - f += part; - } - if (!f.isEmpty()) - f += "]"; - return f.length(); - } - - public RawMessage show(CommandSender sender) { - if (combined.isEmpty()) { - this.build(); - combine(); - } - if (sender instanceof Player) { - show((Player) sender); - } else { - sender.sendMessage(this.combineClean().combinedClean); - } - return this; - } - - public String getRaw() { - if (combined.isEmpty()) { - build(); - combine(); - } - return combined; - } - - public void setCombined(String combined) { - this.combined = combined; - } - - public String getShortRaw() { - build(); - String f = ""; - for (String part : parts) { - if (!f.isEmpty()) - f += ","; - f += part; - } - return f; - } - - public boolean isDontBreakLine() { - return dontBreakLine; - } - - public void setDontBreakLine(boolean dontBreakLine) { - this.dontBreakLine = dontBreakLine; - } - - public boolean isFormatFrozen() { - return freezeFormat; - } - - public void freezeFormat() { - frozenFragment = new RawMessageFragment(fragment); - this.freezeFormat = true; - } - - public void unFreezeFormat() { - fragment = new RawMessageFragment(frozenFragment); - this.freezeFormat = false; - } -} diff --git a/src/main/java/com/gamingmesh/jobs/CMILib/RawMessageFragment.java b/src/main/java/com/gamingmesh/jobs/CMILib/RawMessageFragment.java deleted file mode 100644 index 6805338f..00000000 --- a/src/main/java/com/gamingmesh/jobs/CMILib/RawMessageFragment.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.gamingmesh.jobs.CMILib; - -import java.util.HashSet; -import java.util.Set; - -public class RawMessageFragment { - - private CMIChatColor lastColor = null; - private Set formats = new HashSet(); - private String font = null; - private String text = ""; - - public RawMessageFragment() { - } - - public RawMessageFragment(RawMessageFragment old) { - this.lastColor = old.lastColor; - this.formats = new HashSet(old.formats); - this.font = old.font; - } - - public CMIChatColor getLastColor() { - return lastColor; - } - - public void setLastColor(CMIChatColor lastColor) { - this.lastColor = lastColor; - formats.clear(); - } - - public Set getFormats() { - return formats; - } - - public void setFormats(Set formats) { - this.formats = formats; - } - - public void addFormat(CMIChatColor format) { - if (format.isReset()) { - this.formats.clear(); - this.lastColor = null; - return; - } - this.formats.add(format); - } - - public String getText() { - return text; - } - - public void setText(String text) { - this.text = text; - } - - public String getFont() { - return font; - } - - public void setFont(String font) { - if (font.startsWith(CMIChatColor.colorFontPrefix) && font.length() > CMIChatColor.colorFontPrefix.length()) - font = font.substring(CMIChatColor.colorFontPrefix.length()); - if (font.endsWith(CMIChatColor.colorCodeSuffix) && font.length() > CMIChatColor.colorCodeSuffix.length()) - font = font.substring(0, font.length() - CMIChatColor.colorCodeSuffix.length()); - this.font = font; - } -} diff --git a/src/main/java/com/gamingmesh/jobs/CMILib/RawMessageManager.java b/src/main/java/com/gamingmesh/jobs/CMILib/RawMessageManager.java deleted file mode 100644 index db9282c5..00000000 --- a/src/main/java/com/gamingmesh/jobs/CMILib/RawMessageManager.java +++ /dev/null @@ -1,89 +0,0 @@ -package com.gamingmesh.jobs.CMILib; - -import java.lang.reflect.Field; -import java.lang.reflect.Method; -import java.util.UUID; - -import org.bukkit.Bukkit; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class RawMessageManager { - - private static Object packet; - private static Method getHandle; - private static Method sendPacket; - private static Field playerConnection; - private static Class nmsChatSerializer; - private static Class nmsIChatBaseComponent; - private static Class packetType; - - private static Class ChatMessageclz; - private static Class sub; - private static Object[] consts; - - static { - Version version = Version.getCurrent(); - try { - packetType = Class.forName("net.minecraft.server." + version + ".PacketPlayOutChat"); - Class typeCraftPlayer = Class.forName("org.bukkit.craftbukkit." + version + ".entity.CraftPlayer"); - Class typeNMSPlayer = Class.forName("net.minecraft.server." + version + ".EntityPlayer"); - Class typePlayerConnection = Class.forName("net.minecraft.server." + version + ".PlayerConnection"); - nmsChatSerializer = Class.forName(getChatSerializerClasspath()); - nmsIChatBaseComponent = Class.forName("net.minecraft.server." + version + ".IChatBaseComponent"); - getHandle = typeCraftPlayer.getMethod("getHandle"); - playerConnection = typeNMSPlayer.getField("playerConnection"); - sendPacket = typePlayerConnection.getMethod("sendPacket", Class.forName("net.minecraft.server." + version + ".Packet")); - if (Version.isCurrentHigher(Version.v1_11_R1)) { - ChatMessageclz = Class.forName("net.minecraft.server." + version + ".ChatMessageType"); - consts = ChatMessageclz.getEnumConstants(); - sub = consts[2].getClass(); - } - } catch (ClassNotFoundException | NoSuchMethodException | SecurityException | NoSuchFieldException ex) { - Bukkit.getConsoleSender().sendMessage("Error {0} "); - Bukkit.getConsoleSender().sendMessage(ex.toString()); - } - } - - public static void send(CommandSender receivingPacket, String msg) { - if (receivingPacket instanceof Player) - send((Player) receivingPacket, msg); - else - receivingPacket.sendMessage(msg); - } - - public static void send(Player receivingPacket, String json) { - if (receivingPacket == null) - return; - if (!receivingPacket.isOnline()) - return; - if (json == null) - return; - - try { - Object serialized = nmsChatSerializer.getMethod("a", String.class).invoke(null, json); - if (Version.isCurrentHigher(Version.v1_15_R1)) - packet = packetType.getConstructor(nmsIChatBaseComponent, sub, UUID.class).newInstance(serialized, consts[1], receivingPacket.getUniqueId()); - else if (Version.isCurrentHigher(Version.v1_11_R1)) - packet = packetType.getConstructor(nmsIChatBaseComponent, sub).newInstance(serialized, consts[1]); - else if (Version.isCurrentHigher(Version.v1_7_R4)) { - packet = packetType.getConstructor(nmsIChatBaseComponent, byte.class).newInstance(serialized, (byte) 1); - } else { - packet = packetType.getConstructor(nmsIChatBaseComponent, int.class).newInstance(serialized, 1); - } - Object player = getHandle.invoke(receivingPacket); - Object connection = playerConnection.get(player); - sendPacket.invoke(connection, packet); - } catch (Exception ex) { - ex.printStackTrace(); - Bukkit.getConsoleSender().sendMessage("Failed to show json message with packets, using command approach"); - Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "minecraft:tellraw \"" + receivingPacket.getName() + "\" " + json); - } - } - - private static String getChatSerializerClasspath() { - if (!Version.isCurrentHigher(Version.v1_8_R2)) - return "net.minecraft.server." + Version.getCurrent() + ".ChatSerializer"; - return "net.minecraft.server." + Version.getCurrent() + ".IChatBaseComponent$ChatSerializer";// 1_8_R2 moved to IChatBaseComponent - } -} diff --git a/src/main/java/com/gamingmesh/jobs/CMILib/RawMessagePartType.java b/src/main/java/com/gamingmesh/jobs/CMILib/RawMessagePartType.java deleted file mode 100644 index 1194e75b..00000000 --- a/src/main/java/com/gamingmesh/jobs/CMILib/RawMessagePartType.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.gamingmesh.jobs.CMILib; - -public enum RawMessagePartType { - Text, HoverText, HoverItem, HoverEntity, HoverAchievement, ClickLink, ClickCommand, ClickSuggestion, ClickInsertion; -} diff --git a/src/main/java/com/gamingmesh/jobs/CMILib/TitleMessageManager.java b/src/main/java/com/gamingmesh/jobs/CMILib/TitleMessageManager.java deleted file mode 100644 index b69200d0..00000000 --- a/src/main/java/com/gamingmesh/jobs/CMILib/TitleMessageManager.java +++ /dev/null @@ -1,134 +0,0 @@ -package com.gamingmesh.jobs.CMILib; - -import java.lang.reflect.Constructor; -import java.lang.reflect.Field; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.util.logging.Level; - -import org.bukkit.Bukkit; -import org.bukkit.entity.Player; - -import com.gamingmesh.jobs.Jobs; - -public class TitleMessageManager { - private static Method getHandle; - private static Method sendPacket; - private static Field playerConnection; - private static Class nmsIChatBaseComponent; - - private static Constructor nmsPacketPlayOutTitle; - private static Constructor nmsPacketPlayOutTimes; - private static Class enumTitleAction; - private static Method fromString; - private static boolean simpleTitleMessages = false; - - static { - if (Version.isCurrentHigher(Version.v1_7_R4)) { - Version version = Version.getCurrent(); - try { - Class typeCraftPlayer = Class.forName("org.bukkit.craftbukkit." + version + ".entity.CraftPlayer"); - Class typeNMSPlayer = Class.forName("net.minecraft.server." + version + ".EntityPlayer"); - Class typePlayerConnection = Class.forName("net.minecraft.server." + version + ".PlayerConnection"); - nmsIChatBaseComponent = Class.forName("net.minecraft.server." + version + ".IChatBaseComponent"); - getHandle = typeCraftPlayer.getMethod("getHandle"); - playerConnection = typeNMSPlayer.getField("playerConnection"); - sendPacket = typePlayerConnection.getMethod("sendPacket", Class.forName("net.minecraft.server." + version + ".Packet")); - } catch (ReflectiveOperationException | SecurityException ex) { - Bukkit.getLogger().log(Level.SEVERE, "Error {0}", ex); - } - - // Title - try { - Class typePacketPlayOutTitle = Class.forName(getPacketPlayOutTitleClasspath()); - enumTitleAction = Class.forName(getEnumTitleActionClasspath()); - nmsPacketPlayOutTitle = typePacketPlayOutTitle.getConstructor(enumTitleAction, nmsIChatBaseComponent); - nmsPacketPlayOutTimes = typePacketPlayOutTitle.getConstructor(int.class, int.class, int.class); - fromString = Class.forName("org.bukkit.craftbukkit." + version + ".util.CraftChatMessage").getMethod("fromString", String.class); - } catch (ReflectiveOperationException | SecurityException ex) { - simpleTitleMessages = true; - } - } - } - - public static void send(final Player receivingPacket, final Object title, final Object subtitle) { - send(receivingPacket, title, subtitle, 0, 40, 10); - } - - public static void send(final Player receivingPacket, final Object title, final Object subtitle, final int fadeIn, final int keep, final int fadeOut) { - Bukkit.getScheduler().runTaskAsynchronously(org.bukkit.plugin.java.JavaPlugin.getPlugin(Jobs.class), new Runnable() { - @Override - public void run() { - - String t = title == null ? "" : CMIChatColor.translate((String) title); - String s = subtitle == null ? "" : CMIChatColor.translate((String) subtitle); - - if (Version.isCurrentEqualOrLower(Version.v1_7_R4)) { - ActionBarManager.send(receivingPacket, t + s); - return; - } - - if (simpleTitleMessages) { - receivingPacket.sendMessage(t); - receivingPacket.sendMessage(s); - return; - } - try { - switch (Version.getCurrent()) { - case v1_12_R1: - case v1_13_R1: - case v1_13_R2: - case v1_14_R1: - case v1_15_R1: - case v1_16_R1: - default: - receivingPacket.sendTitle(t, s, fadeIn, keep, fadeOut); - break; - case v1_9_R1: - case v1_9_R2: - case v1_10_R1: - case v1_11_R1: - case v1_8_R1: - case v1_8_R2: - case v1_8_R3: - Object packetTimes = nmsPacketPlayOutTimes.newInstance(fadeIn, keep, fadeOut); - sendPacket(receivingPacket, packetTimes); - if (title != null) { - Object packetTitle = nmsPacketPlayOutTitle.newInstance(enumTitleAction.getField("TITLE").get(null), ((Object[]) fromString.invoke(null, t))[0]); - sendPacket(receivingPacket, packetTitle); - } - if (subtitle != null) { - if (title == null) { - Object packetTitle = nmsPacketPlayOutTitle.newInstance(enumTitleAction.getField("TITLE").get(null), ((Object[]) fromString.invoke(null, ""))[0]); - sendPacket(receivingPacket, packetTitle); - } - Object packetSubtitle = nmsPacketPlayOutTitle.newInstance(enumTitleAction.getField("SUBTITLE").get(null), ((Object[]) fromString.invoke(null, s))[0]); - sendPacket(receivingPacket, packetSubtitle); - } - break; - } - - } catch (ReflectiveOperationException | SecurityException | IllegalArgumentException ex) { - simpleTitleMessages = true; - Bukkit.getLogger().log(Level.SEVERE, "Your server can't fully support title messages. They will be shown in chat instead."); - } - return; - } - }); - } - - private static void sendPacket(Player player, Object packet) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException { - Object handle = getHandle.invoke(player); - Object connection = playerConnection.get(handle); - sendPacket.invoke(connection, packet); - } - - private static String getPacketPlayOutTitleClasspath() { - return "net.minecraft.server." + Version.getCurrent() + ".PacketPlayOutTitle"; - } - - private static String getEnumTitleActionClasspath() { - return getPacketPlayOutTitleClasspath() + "$EnumTitleAction"; - } - -} diff --git a/src/main/java/com/gamingmesh/jobs/CMILib/Version.java b/src/main/java/com/gamingmesh/jobs/CMILib/Version.java deleted file mode 100644 index 4550eb14..00000000 --- a/src/main/java/com/gamingmesh/jobs/CMILib/Version.java +++ /dev/null @@ -1,108 +0,0 @@ -package com.gamingmesh.jobs.CMILib; - -import org.bukkit.Bukkit; - -public enum Version { - v1_7_R1, - v1_7_R2, - v1_7_R3, - v1_7_R4, - v1_8_R1, - v1_8_R2, - v1_8_R3, - v1_9_R1, - v1_9_R2, - v1_10_R1, - v1_11_R1, - v1_12_R1, - v1_13_R1, - v1_13_R2, - v1_14_R1, - v1_15_R1, - v1_16_R1, - v1_16_R2, - v1_16_R3, - v1_17_R1, - v1_17_R2, - v1_18_R1, - v1_18_R2, - v1_19_R1, - v1_19_R2, - v1_20_R1, - v1_20_R2, - v1_21_R1, - v1_21_R2, - v1_22_R1, - v1_22_R2; - - private Integer value; - private String shortVersion; - private static Version current; - - Version() { - try { - value = Integer.parseInt(name().replaceAll("[^\\d.]", "")); - } catch (NumberFormatException e) { - } - shortVersion = name().substring(0, name().length() - 3); - } - - public Integer getValue() { - return value; - } - - public String getShortVersion() { - return shortVersion; - } - - public static Version getCurrent() { - if (current != null) - return current; - - String[] v = Bukkit.getServer().getClass().getPackage().getName().split("\\."); - String vv = v[v.length - 1]; - for (Version one : values()) { - if (one.name().equalsIgnoreCase(vv)) { - current = one; - break; - } - } - return current; - } - - public boolean isLower(Version version) { - return getValue() < version.getValue(); - } - - public boolean isHigher(Version version) { - return getValue() > version.getValue(); - } - - public boolean isEqualOrLower(Version version) { - return getValue() <= version.getValue(); - } - - public boolean isEqualOrHigher(Version version) { - return getValue() >= version.getValue(); - } - - public static boolean isCurrentEqualOrHigher(Version v) { - return getCurrent().getValue() >= v.getValue(); - } - - public static boolean isCurrentHigher(Version v) { - return getCurrent().getValue() > v.getValue(); - } - - public static boolean isCurrentLower(Version v) { - return getCurrent().getValue() < v.getValue(); - } - - public static boolean isCurrentEqualOrLower(Version v) { - return getCurrent().getValue() <= v.getValue(); - } - - public static boolean isCurrentEqual(Version v) { - return getCurrent().getValue() == v.getValue(); - } -} \ No newline at end of file diff --git a/src/main/java/com/gamingmesh/jobs/Gui/GuiManager.java b/src/main/java/com/gamingmesh/jobs/Gui/GuiManager.java index 802cc569..ffa0c2ce 100644 --- a/src/main/java/com/gamingmesh/jobs/Gui/GuiManager.java +++ b/src/main/java/com/gamingmesh/jobs/Gui/GuiManager.java @@ -11,10 +11,6 @@ import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; import com.gamingmesh.jobs.Jobs; -import com.gamingmesh.jobs.CMIGUI.CMIGui; -import com.gamingmesh.jobs.CMIGUI.CMIGuiButton; -import com.gamingmesh.jobs.CMIGUI.GUIManager; -import com.gamingmesh.jobs.CMIGUI.GUIManager.GUIClickType; import com.gamingmesh.jobs.container.ActionType; import com.gamingmesh.jobs.container.Boost; import com.gamingmesh.jobs.container.CurrencyType; @@ -23,6 +19,12 @@ import com.gamingmesh.jobs.container.JobInfo; import com.gamingmesh.jobs.container.JobProgression; import com.gamingmesh.jobs.container.JobsPlayer; +import net.Zrips.CMILib.CMILib; +import net.Zrips.CMILib.GUI.CMIGui; +import net.Zrips.CMILib.GUI.CMIGuiButton; +import net.Zrips.CMILib.GUI.GUIManager; +import net.Zrips.CMILib.GUI.GUIManager.GUIClickType; + public class GuiManager { private Jobs plugin; @@ -306,8 +308,8 @@ public class GuiManager { i++; } - int guiSize = GUIManager.isOpenedGui(player) && GUIManager.getGui(player) != null ? - GUIManager.getGui(player).getInvSize().getFields() : Jobs.getGCManager().getJobsGUIRows() * 9; + int guiSize = CMILib.getInstance().getGUIManager().isOpenedGui(player) && CMILib.getInstance().getGUIManager().getGui(player) != null ? + CMILib.getInstance().getGUIManager().getGui(player).getInvSize().getFields() : Jobs.getGCManager().getJobsGUIRows() * 9; CMIGui gui = new CMIGui(player); gui.setTitle(Jobs.getLanguage().getMessage("command.info.gui.jobinfo", "[jobname]", job.getName())); @@ -456,8 +458,8 @@ public class GuiManager { i++; } - int guiSize = GUIManager.isOpenedGui(player) && GUIManager.getGui(player) != null ? - GUIManager.getGui(player).getInvSize().getFields() : Jobs.getGCManager().getJobsGUIRows() * 9; + int guiSize = CMILib.getInstance().getGUIManager().isOpenedGui(player) && CMILib.getInstance().getGUIManager().getGui(player) != null ? + CMILib.getInstance().getGUIManager().getGui(player).getInvSize().getFields() : Jobs.getGCManager().getJobsGUIRows() * 9; int backButton = Jobs.getGCManager().getJobsGUIBackButton(); CMIGui gui = new CMIGui(player); diff --git a/src/main/java/com/gamingmesh/jobs/ItemBoostManager.java b/src/main/java/com/gamingmesh/jobs/ItemBoostManager.java index 6cc6bdca..0b73ff0a 100644 --- a/src/main/java/com/gamingmesh/jobs/ItemBoostManager.java +++ b/src/main/java/com/gamingmesh/jobs/ItemBoostManager.java @@ -13,23 +13,30 @@ import java.util.Set; import org.bukkit.Color; import org.bukkit.enchantments.Enchantment; -import com.gamingmesh.jobs.CMILib.CMIChatColor; import com.gamingmesh.jobs.CMILib.CMIEnchantment; -import com.gamingmesh.jobs.CMILib.CMIMaterial; -import com.gamingmesh.jobs.CMILib.ConfigReader; import com.gamingmesh.jobs.container.BoostMultiplier; import com.gamingmesh.jobs.container.CurrencyType; import com.gamingmesh.jobs.container.Job; import com.gamingmesh.jobs.container.JobItems; +import net.Zrips.CMILib.Colors.CMIChatColor; +import net.Zrips.CMILib.FileHandler.ConfigReader; +import net.Zrips.CMILib.Items.CMIMaterial; + public class ItemBoostManager { private static final Map ITEMS = new HashMap<>(); private static final Map LEGACY = new HashMap<>(); - @SuppressWarnings("deprecation") - public static void load() { - ConfigReader cfg = new ConfigReader("boostedItems.yml"); + @SuppressWarnings("deprecation") + public static void load() { + ConfigReader cfg; + try { + cfg = new ConfigReader(Jobs.getInstance(), "boostedItems.yml"); + } catch (Exception e2) { + e2.printStackTrace(); + return; + } ITEMS.clear(); LEGACY.clear(); @@ -69,7 +76,12 @@ public class ItemBoostManager { } catch (IOException e1) { e1.printStackTrace(); } - cfg = new ConfigReader("boostedItems.yml"); + try { + cfg = new ConfigReader(Jobs.getInstance(), "boostedItems.yml"); + } catch (Exception e) { + e.printStackTrace(); + return; + } } Set keys = cfg.getC().getKeys(false); diff --git a/src/main/java/com/gamingmesh/jobs/Jobs.java b/src/main/java/com/gamingmesh/jobs/Jobs.java index 5538291b..4cc01326 100644 --- a/src/main/java/com/gamingmesh/jobs/Jobs.java +++ b/src/main/java/com/gamingmesh/jobs/Jobs.java @@ -18,42 +18,21 @@ package com.gamingmesh.jobs; -import com.gamingmesh.jobs.CMILib.RawMessage; -import com.gamingmesh.jobs.CMILib.Version; -import com.gamingmesh.jobs.CMILib.ActionBarManager; -import com.gamingmesh.jobs.CMILib.CMIChatColor; -import com.gamingmesh.jobs.CMILib.CMIMaterial; -import com.gamingmesh.jobs.CMILib.CMIReflections; -import com.gamingmesh.jobs.CMILib.VersionChecker; -import com.gamingmesh.jobs.Gui.GuiManager; -import com.gamingmesh.jobs.Placeholders.PlaceholderAPIHook; -import com.gamingmesh.jobs.Placeholders.Placeholder; -import com.gamingmesh.jobs.hooks.HookManager; -import com.gamingmesh.jobs.Signs.SignUtil; -import com.gamingmesh.jobs.api.JobsExpGainEvent; -import com.gamingmesh.jobs.api.JobsPrePaymentEvent; -import com.gamingmesh.jobs.commands.JobsCommands; -import com.gamingmesh.jobs.config.*; -import com.gamingmesh.jobs.container.*; -import com.gamingmesh.jobs.container.blockOwnerShip.BlockOwnerShip; -import com.gamingmesh.jobs.container.blockOwnerShip.BlockTypes; -import com.gamingmesh.jobs.dao.JobsDAO; -import com.gamingmesh.jobs.dao.JobsDAOData; -import com.gamingmesh.jobs.dao.JobsManager; -import com.gamingmesh.jobs.economy.*; -import com.gamingmesh.jobs.i18n.Language; -import com.gamingmesh.jobs.listeners.JobsListener; -import com.gamingmesh.jobs.listeners.JobsPayment14Listener; -import com.gamingmesh.jobs.listeners.JobsPaymentListener; -import com.gamingmesh.jobs.listeners.PistonProtectionListener; -import com.gamingmesh.jobs.selection.SelectionManager; -import com.gamingmesh.jobs.stuff.*; -import com.gamingmesh.jobs.stuff.complement.JobsChatEvent; -import com.gamingmesh.jobs.stuff.complement.Complement; -import com.gamingmesh.jobs.stuff.complement.Complement1; -import com.gamingmesh.jobs.stuff.complement.Complement2; -import com.gamingmesh.jobs.tasks.BufferedPaymentThread; -import com.gamingmesh.jobs.tasks.DatabaseSaveThread; +import java.io.File; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.Set; +import java.util.UUID; +import java.util.WeakHashMap; +import java.util.concurrent.CompletableFuture; +import java.util.logging.Logger; import org.bukkit.Bukkit; import org.bukkit.block.Block; @@ -64,11 +43,80 @@ import org.bukkit.entity.Player; import org.bukkit.event.HandlerList; import org.bukkit.plugin.java.JavaPlugin; -import java.io.File; -import java.sql.SQLException; -import java.util.*; -import java.util.concurrent.CompletableFuture; -import java.util.logging.Logger; +import com.gamingmesh.jobs.Gui.GuiManager; +import com.gamingmesh.jobs.Placeholders.Placeholder; +import com.gamingmesh.jobs.Placeholders.PlaceholderAPIHook; +import com.gamingmesh.jobs.Signs.SignUtil; +import com.gamingmesh.jobs.api.JobsExpGainEvent; +import com.gamingmesh.jobs.api.JobsPrePaymentEvent; +import com.gamingmesh.jobs.commands.JobsCommands; +import com.gamingmesh.jobs.config.BlockProtectionManager; +import com.gamingmesh.jobs.config.BossBarManager; +import com.gamingmesh.jobs.config.ConfigManager; +import com.gamingmesh.jobs.config.ExploreManager; +import com.gamingmesh.jobs.config.GeneralConfigManager; +import com.gamingmesh.jobs.config.LanguageManager; +import com.gamingmesh.jobs.config.NameTranslatorManager; +import com.gamingmesh.jobs.config.RestrictedAreaManager; +import com.gamingmesh.jobs.config.RestrictedBlockManager; +import com.gamingmesh.jobs.config.ScheduleManager; +import com.gamingmesh.jobs.config.ShopManager; +import com.gamingmesh.jobs.config.TitleManager; +import com.gamingmesh.jobs.config.YmlMaker; +import com.gamingmesh.jobs.container.ActionInfo; +import com.gamingmesh.jobs.container.ActionType; +import com.gamingmesh.jobs.container.ArchivedJobs; +import com.gamingmesh.jobs.container.BlockProtection; +import com.gamingmesh.jobs.container.Boost; +import com.gamingmesh.jobs.container.Convert; +import com.gamingmesh.jobs.container.CurrencyLimit; +import com.gamingmesh.jobs.container.CurrencyType; +import com.gamingmesh.jobs.container.DBAction; +import com.gamingmesh.jobs.container.FastPayment; +import com.gamingmesh.jobs.container.Job; +import com.gamingmesh.jobs.container.JobInfo; +import com.gamingmesh.jobs.container.JobProgression; +import com.gamingmesh.jobs.container.JobsPlayer; +import com.gamingmesh.jobs.container.Log; +import com.gamingmesh.jobs.container.PlayerInfo; +import com.gamingmesh.jobs.container.PlayerPoints; +import com.gamingmesh.jobs.container.Quest; +import com.gamingmesh.jobs.container.QuestProgression; +import com.gamingmesh.jobs.container.blockOwnerShip.BlockOwnerShip; +import com.gamingmesh.jobs.container.blockOwnerShip.BlockTypes; +import com.gamingmesh.jobs.dao.JobsDAO; +import com.gamingmesh.jobs.dao.JobsDAOData; +import com.gamingmesh.jobs.dao.JobsManager; +import com.gamingmesh.jobs.economy.BufferedEconomy; +import com.gamingmesh.jobs.economy.BufferedPayment; +import com.gamingmesh.jobs.economy.Economy; +import com.gamingmesh.jobs.economy.PaymentData; +import com.gamingmesh.jobs.economy.PointsData; +import com.gamingmesh.jobs.hooks.HookManager; +import com.gamingmesh.jobs.i18n.Language; +import com.gamingmesh.jobs.listeners.JobsListener; +import com.gamingmesh.jobs.listeners.JobsPayment14Listener; +import com.gamingmesh.jobs.listeners.JobsPaymentListener; +import com.gamingmesh.jobs.listeners.PistonProtectionListener; +import com.gamingmesh.jobs.selection.SelectionManager; +import com.gamingmesh.jobs.stuff.CMIScoreboardManager; +import com.gamingmesh.jobs.stuff.Loging; +import com.gamingmesh.jobs.stuff.TabComplete; +import com.gamingmesh.jobs.stuff.ToggleBarHandling; +import com.gamingmesh.jobs.stuff.VersionChecker; +import com.gamingmesh.jobs.stuff.complement.Complement; +import com.gamingmesh.jobs.stuff.complement.Complement1; +import com.gamingmesh.jobs.stuff.complement.Complement2; +import com.gamingmesh.jobs.stuff.complement.JobsChatEvent; +import com.gamingmesh.jobs.tasks.BufferedPaymentThread; +import com.gamingmesh.jobs.tasks.DatabaseSaveThread; + +import net.Zrips.CMILib.ActionBar.CMIActionBar; +import net.Zrips.CMILib.Colors.CMIChatColor; +import net.Zrips.CMILib.Container.PageInfo; +import net.Zrips.CMILib.Items.CMIMaterial; +import net.Zrips.CMILib.RawMessages.RawMessage; +import net.Zrips.CMILib.Version.Version; public class Jobs extends JavaPlugin { @@ -90,7 +138,7 @@ public class Jobs extends JavaPlugin { private static JobsManager dbManager; private static ConfigManager configManager; private static GeneralConfigManager gConfigManager; - private static CMIReflections reflections; + private static BufferedEconomy economy; private static PermissionHandler permissionHandler; private static PermissionManager permissionManager; @@ -229,12 +277,6 @@ public class Jobs extends JavaPlugin { return bpManager; } - public static CMIReflections getReflections() { - if (reflections == null) - reflections = new CMIReflections(); - return reflections; - } - public static JobsManager getDBManager() { if (dbManager == null) dbManager = new JobsManager(instance); @@ -764,8 +806,6 @@ public class Jobs extends JavaPlugin { HandlerList.unregisterAll(instance); - com.gamingmesh.jobs.CMIGUI.GUIManager.registerListener(); - if (Version.isCurrentEqualOrHigher(Version.v1_9_R1)) { pm.registerEvents(new com.gamingmesh.jobs.listeners.Listener1_9(), instance); } @@ -1284,7 +1324,7 @@ public class Jobs extends JavaPlugin { if ((time > System.currentTimeMillis() || bp.isPaid()) && bp.getAction() != DBAction.DELETE) { if (inform && player.canGetPaid(info)) { int sec = Math.round((time - System.currentTimeMillis()) / 1000L); - ActionBarManager.send(player.getPlayer(), lManager.getMessage("message.blocktimer", "[time]", sec)); + CMIActionBar.send(player.getPlayer(), lManager.getMessage("message.blocktimer", "[time]", sec)); } return false; @@ -1313,7 +1353,7 @@ public class Jobs extends JavaPlugin { if ((time > System.currentTimeMillis() || bp.isPaid()) && bp.getAction() != DBAction.DELETE) { if (inform && player.canGetPaid(info)) { int sec = Math.round((time - System.currentTimeMillis()) / 1000L); - ActionBarManager.send(player.getPlayer(), lManager.getMessage("message.blocktimer", "[time]", sec)); + CMIActionBar.send(player.getPlayer(), lManager.getMessage("message.blocktimer", "[time]", sec)); } getBpManager().add(block, cd); diff --git a/src/main/java/com/gamingmesh/jobs/PlayerManager.java b/src/main/java/com/gamingmesh/jobs/PlayerManager.java index 8831f461..fad88fd5 100644 --- a/src/main/java/com/gamingmesh/jobs/PlayerManager.java +++ b/src/main/java/com/gamingmesh/jobs/PlayerManager.java @@ -39,9 +39,6 @@ import org.bukkit.entity.Tameable; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.FireworkMeta; -import com.gamingmesh.jobs.CMILib.Version; -import com.gamingmesh.jobs.CMILib.ActionBarManager; -import com.gamingmesh.jobs.CMILib.CMIReflections; import com.gamingmesh.jobs.api.JobsJoinEvent; import com.gamingmesh.jobs.api.JobsLeaveEvent; import com.gamingmesh.jobs.api.JobsLevelUpEvent; @@ -64,6 +61,12 @@ import com.gamingmesh.jobs.hooks.HookManager; import com.gamingmesh.jobs.stuff.PerformCommands; import com.gamingmesh.jobs.stuff.Util; +import net.Zrips.CMILib.CMILib; +import net.Zrips.CMILib.ActionBar.CMIActionBar; +import net.Zrips.CMILib.Items.CMIItemStack; +import net.Zrips.CMILib.NBT.CMINBT; +import net.Zrips.CMILib.Version.Version; + public class PlayerManager { private final ConcurrentMap playersCache = new ConcurrentHashMap<>(); @@ -648,7 +651,7 @@ public class PlayerManager { if (player != null && (Jobs.getGCManager().LevelChangeActionBar || Jobs.getGCManager().LevelChangeChat)) { for (String line : message.split("\n")) { if (Jobs.getGCManager().LevelChangeActionBar) - ActionBarManager.send(player, line); + CMIActionBar.send(player, line); if (Jobs.getGCManager().LevelChangeChat) player.sendMessage(line); @@ -756,11 +759,11 @@ public class PlayerManager { for (String line : message.split("\n")) { if (Jobs.getGCManager().isBroadcastingLevelups()) { if (Jobs.getGCManager().BroadcastingLevelUpLevels.contains(oldLevel + 1) - || Jobs.getGCManager().BroadcastingLevelUpLevels.contains(0)) + || Jobs.getGCManager().BroadcastingLevelUpLevels.contains(0)) plugin.getComplement().broadcastMessage(line); } else if (player != null) { if (Jobs.getGCManager().LevelChangeActionBar) - ActionBarManager.send(player, line); + CMIActionBar.send(player, line); if (Jobs.getGCManager().LevelChangeChat) player.sendMessage(line); @@ -772,7 +775,7 @@ public class PlayerManager { if (player != null && Jobs.getGCManager().SoundTitleChangeUse) { try { player.getWorld().playSound(player.getLocation(), levelUpEvent.getTitleChangeSound(), levelUpEvent.getTitleChangeVolume(), - levelUpEvent.getTitleChangePitch()); + levelUpEvent.getTitleChangePitch()); } catch (Exception e) { // If it fails, we can ignore it } } @@ -792,7 +795,7 @@ public class PlayerManager { plugin.getComplement().broadcastMessage(line); } else if (player != null) { if (Jobs.getGCManager().TitleChangeActionBar) - ActionBarManager.send(player, line); + CMIActionBar.send(player, line); if (Jobs.getGCManager().TitleChangeChat) player.sendMessage(line); @@ -956,7 +959,7 @@ public class PlayerManager { // Check mainhand slot if (Jobs.getGCManager().boostedItemsInMainHand) { - jitems.add(getJobsItemByNbt(Util.getItemInMainHand(player))); + jitems.add(getJobsItemByNbt(CMIItemStack.getItemInMainHand(player))); } // Check offhand slot @@ -987,24 +990,24 @@ public class PlayerManager { private final String jobsItemBoost = "JobsItemBoost"; public boolean containsItemBoostByNBT(ItemStack item) { - return item != null && Jobs.getReflections().hasNbtString(item, jobsItemBoost); + return item != null && new CMINBT(item).hasNBT(jobsItemBoost); } public JobItems getJobsItemByNbt(ItemStack item) { if (item == null) return null; - Object itemName = CMIReflections.getNbt(item, jobsItemBoost); + Object itemName = new CMINBT(item).getString(jobsItemBoost); if (itemName == null || itemName.toString().isEmpty()) { // Checking old boost items and converting to new format if needed - if (Jobs.getReflections().hasNbt(item, jobsItemBoost)) { + if (new CMINBT(item).hasNBT(jobsItemBoost)) { for (Job one : Jobs.getJobs()) { - itemName = Jobs.getReflections().getNbt(item, jobsItemBoost, one.getName()); + itemName = new CMINBT(item).getString(jobsItemBoost + "." + one.getName()); if (itemName != null) { JobItems b = ItemBoostManager.getItemByKey(itemName.toString()); if (b != null) { - ItemStack ic = CMIReflections.setNbt(item, jobsItemBoost, b.getNode()); + ItemStack ic = (ItemStack) new CMINBT(item).setString(jobsItemBoost, b.getNode()); item.setItemMeta(ic.getItemMeta()); } break; diff --git a/src/main/java/com/gamingmesh/jobs/Signs/SignUtil.java b/src/main/java/com/gamingmesh/jobs/Signs/SignUtil.java index 2087052a..493bcb29 100644 --- a/src/main/java/com/gamingmesh/jobs/Signs/SignUtil.java +++ b/src/main/java/com/gamingmesh/jobs/Signs/SignUtil.java @@ -17,12 +17,13 @@ import org.bukkit.configuration.ConfigurationSection; import org.bukkit.configuration.file.YamlConfiguration; import com.gamingmesh.jobs.Jobs; -import com.gamingmesh.jobs.CMILib.CMIMaterial; -import com.gamingmesh.jobs.CMILib.ConfigReader; -import com.gamingmesh.jobs.CMILib.Version; import com.gamingmesh.jobs.container.Job; import com.gamingmesh.jobs.container.TopList; +import net.Zrips.CMILib.FileHandler.ConfigReader; +import net.Zrips.CMILib.Items.CMIMaterial; +import net.Zrips.CMILib.Version.Version; + public class SignUtil { private final Map> signsByType = new HashMap<>(); @@ -137,8 +138,14 @@ public class SignUtil { File f = new File(Jobs.getFolder(), "Signs.yml"); YamlConfiguration conf = YamlConfiguration.loadConfiguration(f); - ConfigReader reader = new ConfigReader(f); - + ConfigReader reader = null; + try { + reader = new ConfigReader(f); + } catch (Exception e1) { + e1.printStackTrace(); + } + if (reader == null) + return; conf.options().copyDefaults(true); reader.addComment("Signs", "DO NOT EDIT THIS FILE BY HAND!"); diff --git a/src/main/java/com/gamingmesh/jobs/actions/BlockActionInfo.java b/src/main/java/com/gamingmesh/jobs/actions/BlockActionInfo.java index a3e9aa1e..e03befe0 100644 --- a/src/main/java/com/gamingmesh/jobs/actions/BlockActionInfo.java +++ b/src/main/java/com/gamingmesh/jobs/actions/BlockActionInfo.java @@ -20,9 +20,10 @@ package com.gamingmesh.jobs.actions; import org.bukkit.block.Block; -import com.gamingmesh.jobs.CMILib.CMIMaterial; import com.gamingmesh.jobs.container.ActionType; +import net.Zrips.CMILib.Items.CMIMaterial; + public class BlockActionInfo extends MaterialActionInfo { public BlockActionInfo(Block block, ActionType type) { super(block.getType(), CMIMaterial.getBlockData(block), type); diff --git a/src/main/java/com/gamingmesh/jobs/commands/JobsCommands.java b/src/main/java/com/gamingmesh/jobs/commands/JobsCommands.java index 31d01f93..c0752b53 100644 --- a/src/main/java/com/gamingmesh/jobs/commands/JobsCommands.java +++ b/src/main/java/com/gamingmesh/jobs/commands/JobsCommands.java @@ -13,8 +13,6 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import com.gamingmesh.jobs.Jobs; -import com.gamingmesh.jobs.CMILib.ActionBarManager; -import com.gamingmesh.jobs.CMILib.RawMessage; import com.gamingmesh.jobs.container.ActionType; import com.gamingmesh.jobs.container.Boost; import com.gamingmesh.jobs.container.CurrencyType; @@ -23,9 +21,12 @@ import com.gamingmesh.jobs.container.JobInfo; import com.gamingmesh.jobs.container.JobProgression; import com.gamingmesh.jobs.container.JobsPlayer; import com.gamingmesh.jobs.container.Title; -import com.gamingmesh.jobs.stuff.PageInfo; import com.gamingmesh.jobs.stuff.Util; +import net.Zrips.CMILib.ActionBar.CMIActionBar; +import net.Zrips.CMILib.Container.PageInfo; +import net.Zrips.CMILib.RawMessages.RawMessage; + public class JobsCommands implements CommandExecutor { public static final String LABEL = "jobs"; @@ -123,13 +124,13 @@ public class JobsCommands implements CommandExecutor { } if (page < 1) { - ActionBarManager.send(sender, Jobs.getLanguage().getMessage("general.error.noHelpPage")); + CMIActionBar.send(sender, Jobs.getLanguage().getMessage("general.error.noHelpPage")); return true; } PageInfo pi = new PageInfo(7, commands.size(), page); if (page > pi.getTotalPages()) { - ActionBarManager.send(sender, Jobs.getLanguage().getMessage("general.error.noHelpPage")); + CMIActionBar.send(sender, Jobs.getLanguage().getMessage("general.error.noHelpPage")); return true; } diff --git a/src/main/java/com/gamingmesh/jobs/commands/list/archive.java b/src/main/java/com/gamingmesh/jobs/commands/list/archive.java index 5e9830f6..43c5ae3f 100644 --- a/src/main/java/com/gamingmesh/jobs/commands/list/archive.java +++ b/src/main/java/com/gamingmesh/jobs/commands/list/archive.java @@ -7,11 +7,12 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import com.gamingmesh.jobs.Jobs; -import com.gamingmesh.jobs.CMILib.RawMessage; import com.gamingmesh.jobs.commands.Cmd; import com.gamingmesh.jobs.container.JobProgression; import com.gamingmesh.jobs.container.JobsPlayer; +import net.Zrips.CMILib.RawMessages.RawMessage; + public class archive implements Cmd { @Override diff --git a/src/main/java/com/gamingmesh/jobs/commands/list/area.java b/src/main/java/com/gamingmesh/jobs/commands/list/area.java index c88116c9..d41d3f78 100644 --- a/src/main/java/com/gamingmesh/jobs/commands/list/area.java +++ b/src/main/java/com/gamingmesh/jobs/commands/list/area.java @@ -7,13 +7,14 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import com.gamingmesh.jobs.Jobs; -import com.gamingmesh.jobs.CMILib.CMIMaterial; import com.gamingmesh.jobs.commands.Cmd; import com.gamingmesh.jobs.config.RestrictedAreaManager; import com.gamingmesh.jobs.container.CuboidArea; import com.gamingmesh.jobs.container.RestrictedArea; import com.gamingmesh.jobs.hooks.HookManager; +import net.Zrips.CMILib.Items.CMIMaterial; + public class area implements Cmd { @Override diff --git a/src/main/java/com/gamingmesh/jobs/commands/list/blockinfo.java b/src/main/java/com/gamingmesh/jobs/commands/list/blockinfo.java index e5b086ec..121c4a01 100644 --- a/src/main/java/com/gamingmesh/jobs/commands/list/blockinfo.java +++ b/src/main/java/com/gamingmesh/jobs/commands/list/blockinfo.java @@ -3,12 +3,14 @@ package com.gamingmesh.jobs.commands.list; import org.bukkit.block.Block; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; + import com.gamingmesh.jobs.Jobs; -import com.gamingmesh.jobs.CMILib.CMIMaterial; -import com.gamingmesh.jobs.CMILib.Version; import com.gamingmesh.jobs.commands.Cmd; import com.gamingmesh.jobs.stuff.Util; +import net.Zrips.CMILib.Items.CMIMaterial; +import net.Zrips.CMILib.Version.Version; + public class blockinfo implements Cmd { @Override diff --git a/src/main/java/com/gamingmesh/jobs/commands/list/bonus.java b/src/main/java/com/gamingmesh/jobs/commands/list/bonus.java index 917d5d01..428282ca 100644 --- a/src/main/java/com/gamingmesh/jobs/commands/list/bonus.java +++ b/src/main/java/com/gamingmesh/jobs/commands/list/bonus.java @@ -2,10 +2,9 @@ package com.gamingmesh.jobs.commands.list; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; + import com.gamingmesh.jobs.Jobs; import com.gamingmesh.jobs.PlayerManager.BoostOf; -import com.gamingmesh.jobs.CMILib.CMIChatColor; -import com.gamingmesh.jobs.CMILib.RawMessage; import com.gamingmesh.jobs.commands.Cmd; import com.gamingmesh.jobs.container.Boost; import com.gamingmesh.jobs.container.CurrencyType; @@ -13,6 +12,9 @@ import com.gamingmesh.jobs.container.Job; import com.gamingmesh.jobs.container.JobsPlayer; import com.gamingmesh.jobs.hooks.HookManager; +import net.Zrips.CMILib.Colors.CMIChatColor; +import net.Zrips.CMILib.RawMessages.RawMessage; + public class bonus implements Cmd { @Override diff --git a/src/main/java/com/gamingmesh/jobs/commands/list/bp.java b/src/main/java/com/gamingmesh/jobs/commands/list/bp.java index eb4a13d8..368869a5 100644 --- a/src/main/java/com/gamingmesh/jobs/commands/list/bp.java +++ b/src/main/java/com/gamingmesh/jobs/commands/list/bp.java @@ -10,12 +10,13 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import com.gamingmesh.jobs.Jobs; -import com.gamingmesh.jobs.CMILib.CMIMaterial; -import com.gamingmesh.jobs.CMILib.Version; import com.gamingmesh.jobs.commands.Cmd; import com.gamingmesh.jobs.container.BlockProtection; import com.gamingmesh.jobs.container.DBAction; +import net.Zrips.CMILib.Items.CMIMaterial; +import net.Zrips.CMILib.Version.Version; + public class bp implements Cmd { @SuppressWarnings("deprecation") diff --git a/src/main/java/com/gamingmesh/jobs/commands/list/browse.java b/src/main/java/com/gamingmesh/jobs/commands/list/browse.java index 8bf0e2f4..d61197d5 100644 --- a/src/main/java/com/gamingmesh/jobs/commands/list/browse.java +++ b/src/main/java/com/gamingmesh/jobs/commands/list/browse.java @@ -7,11 +7,12 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import com.gamingmesh.jobs.Jobs; -import com.gamingmesh.jobs.CMILib.CMIChatColor; -import com.gamingmesh.jobs.CMILib.RawMessage; import com.gamingmesh.jobs.commands.Cmd; import com.gamingmesh.jobs.container.Job; -import com.gamingmesh.jobs.stuff.PageInfo; + +import net.Zrips.CMILib.Colors.CMIChatColor; +import net.Zrips.CMILib.Container.PageInfo; +import net.Zrips.CMILib.RawMessages.RawMessage; public class browse implements Cmd { diff --git a/src/main/java/com/gamingmesh/jobs/commands/list/demote.java b/src/main/java/com/gamingmesh/jobs/commands/list/demote.java index 1f4a2afe..fe08734a 100644 --- a/src/main/java/com/gamingmesh/jobs/commands/list/demote.java +++ b/src/main/java/com/gamingmesh/jobs/commands/list/demote.java @@ -4,11 +4,12 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import com.gamingmesh.jobs.Jobs; -import com.gamingmesh.jobs.CMILib.CMIChatColor; import com.gamingmesh.jobs.commands.Cmd; import com.gamingmesh.jobs.container.Job; import com.gamingmesh.jobs.container.JobsPlayer; +import net.Zrips.CMILib.Colors.CMIChatColor; + public class demote implements Cmd { @Override diff --git a/src/main/java/com/gamingmesh/jobs/commands/list/edititembonus.java b/src/main/java/com/gamingmesh/jobs/commands/list/edititembonus.java index 57783c9d..1d733502 100644 --- a/src/main/java/com/gamingmesh/jobs/commands/list/edititembonus.java +++ b/src/main/java/com/gamingmesh/jobs/commands/list/edititembonus.java @@ -7,15 +7,16 @@ import org.bukkit.inventory.ItemStack; import com.gamingmesh.jobs.ItemBoostManager; import com.gamingmesh.jobs.Jobs; -import com.gamingmesh.jobs.CMILib.CMIChatColor; -import com.gamingmesh.jobs.CMILib.CMIReflections; import com.gamingmesh.jobs.commands.Cmd; import com.gamingmesh.jobs.container.BoostMultiplier; import com.gamingmesh.jobs.container.CurrencyType; import com.gamingmesh.jobs.container.Job; import com.gamingmesh.jobs.container.JobItems; import com.gamingmesh.jobs.container.JobsPlayer; -import com.gamingmesh.jobs.stuff.Util; + +import net.Zrips.CMILib.Colors.CMIChatColor; +import net.Zrips.CMILib.Items.CMIItemStack; +import net.Zrips.CMILib.NBT.CMINBT; public class edititembonus implements Cmd { @@ -70,7 +71,7 @@ public class edititembonus implements Cmd { if (jPlayer == null) return false; - ItemStack iih = Util.getItemInMainHand(player); + ItemStack iih = CMIItemStack.getItemInMainHand(player); if (iih == null || iih.getType() == Material.AIR) return false; @@ -78,14 +79,14 @@ public class edititembonus implements Cmd { case add: if (jobitem == null) return false; - iih = CMIReflections.setNbt(iih, "JobsItemBoost", jobitem.getNode()); - Util.setItemInMainHand(player, iih); + iih = (ItemStack) new CMINBT(iih).setString("JobsItemBoost", jobitem.getNode()); + CMIItemStack.setItemInMainHand(player, iih); break; case list: break; case remove: - iih = Jobs.getReflections().removeNbt(iih, "JobsItemBoost"); - Util.setItemInMainHand(player, iih); + iih = (ItemStack) new CMINBT(iih).remove("JobsItemBoost"); + CMIItemStack.setItemInMainHand(player, iih); break; default: break; @@ -93,7 +94,7 @@ public class edititembonus implements Cmd { sender.sendMessage(Jobs.getLanguage().getMessage("command.bonus.output.topline")); - Object key = CMIReflections.getNbt(iih, "JobsItemBoost"); + Object key = new CMINBT(iih).getString("JobsItemBoost"); if (key == null) return true; diff --git a/src/main/java/com/gamingmesh/jobs/commands/list/editjobs.java b/src/main/java/com/gamingmesh/jobs/commands/list/editjobs.java index d71c5c11..c6ca7f8b 100644 --- a/src/main/java/com/gamingmesh/jobs/commands/list/editjobs.java +++ b/src/main/java/com/gamingmesh/jobs/commands/list/editjobs.java @@ -1,8 +1,12 @@ package com.gamingmesh.jobs.commands.list; -import com.gamingmesh.jobs.CMILib.CMIChatColor; -import com.gamingmesh.jobs.CMILib.ItemReflection; -import com.gamingmesh.jobs.CMILib.RawMessage; +import java.util.List; + +import org.bukkit.block.Block; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; +import org.bukkit.inventory.ItemStack; + import com.gamingmesh.jobs.Jobs; import com.gamingmesh.jobs.commands.Cmd; import com.gamingmesh.jobs.config.ConfigManager.KeyValues; @@ -10,14 +14,12 @@ import com.gamingmesh.jobs.container.ActionType; import com.gamingmesh.jobs.container.CurrencyType; import com.gamingmesh.jobs.container.Job; import com.gamingmesh.jobs.container.JobInfo; -import com.gamingmesh.jobs.stuff.PageInfo; import com.gamingmesh.jobs.stuff.Util; -import org.bukkit.block.Block; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; -import org.bukkit.inventory.ItemStack; -import java.util.List; +import net.Zrips.CMILib.Colors.CMIChatColor; +import net.Zrips.CMILib.Container.PageInfo; +import net.Zrips.CMILib.Items.CMIItemStack; +import net.Zrips.CMILib.RawMessages.RawMessage; public class editjobs implements Cmd { @@ -335,11 +337,11 @@ public class editjobs implements Cmd { String key = args[3]; switch (args[3]) { case "hand": - ItemStack item = Util.getItemInMainHand(player); + ItemStack item = CMIItemStack.getItemInMainHand(player); key = item.getType().name() + "-" + item.getData().getData(); break; case "offhand": - item = ItemReflection.getItemInOffHand(player); + item = CMIItemStack.getItemInOffHand(player); key = item.getType().name() + "-" + item.getData().getData(); break; case "looking": diff --git a/src/main/java/com/gamingmesh/jobs/commands/list/editquests.java b/src/main/java/com/gamingmesh/jobs/commands/list/editquests.java index 5e68f167..1c763243 100644 --- a/src/main/java/com/gamingmesh/jobs/commands/list/editquests.java +++ b/src/main/java/com/gamingmesh/jobs/commands/list/editquests.java @@ -13,21 +13,22 @@ import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import com.gamingmesh.jobs.Jobs; -import com.gamingmesh.jobs.CMILib.CMIChatColor; -import com.gamingmesh.jobs.CMILib.CMIEntityType; -import com.gamingmesh.jobs.CMILib.CMIMaterial; -import com.gamingmesh.jobs.CMILib.ItemReflection; -import com.gamingmesh.jobs.CMILib.RawMessage; -import com.gamingmesh.jobs.CMILib.Version; import com.gamingmesh.jobs.commands.Cmd; import com.gamingmesh.jobs.container.ActionType; import com.gamingmesh.jobs.container.Job; import com.gamingmesh.jobs.container.JobInfo; import com.gamingmesh.jobs.container.Quest; import com.gamingmesh.jobs.container.QuestObjective; -import com.gamingmesh.jobs.stuff.PageInfo; import com.gamingmesh.jobs.stuff.Util; +import net.Zrips.CMILib.Colors.CMIChatColor; +import net.Zrips.CMILib.Container.PageInfo; +import net.Zrips.CMILib.Entities.CMIEntityType; +import net.Zrips.CMILib.Items.CMIItemStack; +import net.Zrips.CMILib.Items.CMIMaterial; +import net.Zrips.CMILib.RawMessages.RawMessage; +import net.Zrips.CMILib.Version.Version; + public class editquests implements Cmd { @SuppressWarnings("deprecation") @@ -318,11 +319,11 @@ public class editquests implements Cmd { String key = args[4]; switch (args[4]) { case "hand": - ItemStack item = Util.getItemInMainHand(player); + ItemStack item = CMIItemStack.getItemInMainHand(player); key = item.getType().name() + "-" + item.getData().getData(); break; case "offhand": - item = ItemReflection.getItemInOffHand(player); + item = CMIItemStack.getItemInOffHand(player); key = item.getType().name() + "-" + item.getData().getData(); break; case "looking": diff --git a/src/main/java/com/gamingmesh/jobs/commands/list/entitylist.java b/src/main/java/com/gamingmesh/jobs/commands/list/entitylist.java index 49e6848a..7c890ce4 100644 --- a/src/main/java/com/gamingmesh/jobs/commands/list/entitylist.java +++ b/src/main/java/com/gamingmesh/jobs/commands/list/entitylist.java @@ -2,10 +2,12 @@ package com.gamingmesh.jobs.commands.list; import org.bukkit.command.CommandSender; import org.bukkit.entity.EntityType; + import com.gamingmesh.jobs.Jobs; -import com.gamingmesh.jobs.CMILib.CMIChatColor; import com.gamingmesh.jobs.commands.Cmd; +import net.Zrips.CMILib.Colors.CMIChatColor; + public class entitylist implements Cmd { @Override diff --git a/src/main/java/com/gamingmesh/jobs/commands/list/gtop.java b/src/main/java/com/gamingmesh/jobs/commands/list/gtop.java index 6c75e568..ffbb63d7 100644 --- a/src/main/java/com/gamingmesh/jobs/commands/list/gtop.java +++ b/src/main/java/com/gamingmesh/jobs/commands/list/gtop.java @@ -10,7 +10,8 @@ import org.bukkit.scoreboard.DisplaySlot; import com.gamingmesh.jobs.Jobs; import com.gamingmesh.jobs.commands.Cmd; import com.gamingmesh.jobs.container.TopList; -import com.gamingmesh.jobs.stuff.PageInfo; + +import net.Zrips.CMILib.Container.PageInfo; public class gtop implements Cmd { diff --git a/src/main/java/com/gamingmesh/jobs/commands/list/itembonus.java b/src/main/java/com/gamingmesh/jobs/commands/list/itembonus.java index 22dfe6e2..744efec8 100644 --- a/src/main/java/com/gamingmesh/jobs/commands/list/itembonus.java +++ b/src/main/java/com/gamingmesh/jobs/commands/list/itembonus.java @@ -17,9 +17,11 @@ import com.gamingmesh.jobs.container.JobItems; import com.gamingmesh.jobs.container.JobProgression; import com.gamingmesh.jobs.container.JobsPlayer; import com.gamingmesh.jobs.stuff.Util; -import com.gamingmesh.jobs.CMILib.CMIChatColor; -import com.gamingmesh.jobs.CMILib.CMIMaterial; -import com.gamingmesh.jobs.CMILib.RawMessage; + +import net.Zrips.CMILib.Colors.CMIChatColor; +import net.Zrips.CMILib.Items.CMIItemStack; +import net.Zrips.CMILib.Items.CMIMaterial; +import net.Zrips.CMILib.RawMessages.RawMessage; public class itembonus implements Cmd { @@ -36,7 +38,7 @@ public class itembonus implements Cmd { if (jPlayer == null) return false; - ItemStack iih = Util.getItemInMainHand(player); + ItemStack iih = CMIItemStack.getItemInMainHand(player); List items = new ArrayList<>(); diff --git a/src/main/java/com/gamingmesh/jobs/commands/list/iteminfo.java b/src/main/java/com/gamingmesh/jobs/commands/list/iteminfo.java index f109c180..60cde1ce 100644 --- a/src/main/java/com/gamingmesh/jobs/commands/list/iteminfo.java +++ b/src/main/java/com/gamingmesh/jobs/commands/list/iteminfo.java @@ -5,11 +5,14 @@ import org.bukkit.command.CommandSender; import org.bukkit.enchantments.EnchantmentTarget; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; + import com.gamingmesh.jobs.Jobs; -import com.gamingmesh.jobs.CMILib.Version; import com.gamingmesh.jobs.commands.Cmd; import com.gamingmesh.jobs.stuff.Util; +import net.Zrips.CMILib.Items.CMIItemStack; +import net.Zrips.CMILib.Version.Version; + public class iteminfo implements Cmd { @Override @@ -25,7 +28,7 @@ public class iteminfo implements Cmd { return true; } - ItemStack iih = Util.getItemInMainHand((Player) sender); + ItemStack iih = CMIItemStack.getItemInMainHand((Player) sender); if (iih == null || iih.getType() == Material.AIR) return true; diff --git a/src/main/java/com/gamingmesh/jobs/commands/list/join.java b/src/main/java/com/gamingmesh/jobs/commands/list/join.java index ec0d3535..d1e08c81 100644 --- a/src/main/java/com/gamingmesh/jobs/commands/list/join.java +++ b/src/main/java/com/gamingmesh/jobs/commands/list/join.java @@ -8,7 +8,8 @@ import com.gamingmesh.jobs.commands.Cmd; import com.gamingmesh.jobs.container.Job; import com.gamingmesh.jobs.container.JobProgression; import com.gamingmesh.jobs.container.JobsPlayer; -import com.gamingmesh.jobs.CMILib.RawMessage; + +import net.Zrips.CMILib.RawMessages.RawMessage; public class join implements Cmd { diff --git a/src/main/java/com/gamingmesh/jobs/commands/list/placeholders.java b/src/main/java/com/gamingmesh/jobs/commands/list/placeholders.java index aa66e984..7b7e41ec 100644 --- a/src/main/java/com/gamingmesh/jobs/commands/list/placeholders.java +++ b/src/main/java/com/gamingmesh/jobs/commands/list/placeholders.java @@ -5,11 +5,12 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import com.gamingmesh.jobs.Jobs; -import com.gamingmesh.jobs.CMILib.RawMessage; import com.gamingmesh.jobs.Placeholders.Placeholder.JobsPlaceHolders; import com.gamingmesh.jobs.Placeholders.Placeholder.JobsPlaceholderType; import com.gamingmesh.jobs.commands.Cmd; -import com.gamingmesh.jobs.stuff.PageInfo; + +import net.Zrips.CMILib.Container.PageInfo; +import net.Zrips.CMILib.RawMessages.RawMessage; public class placeholders implements Cmd { diff --git a/src/main/java/com/gamingmesh/jobs/commands/list/quests.java b/src/main/java/com/gamingmesh/jobs/commands/list/quests.java index 259d80c9..67a3d432 100644 --- a/src/main/java/com/gamingmesh/jobs/commands/list/quests.java +++ b/src/main/java/com/gamingmesh/jobs/commands/list/quests.java @@ -15,7 +15,8 @@ import com.gamingmesh.jobs.container.Quest; import com.gamingmesh.jobs.container.QuestObjective; import com.gamingmesh.jobs.container.QuestProgression; import com.gamingmesh.jobs.stuff.TimeManage; -import com.gamingmesh.jobs.CMILib.RawMessage; + +import net.Zrips.CMILib.RawMessages.RawMessage; public class quests implements Cmd { diff --git a/src/main/java/com/gamingmesh/jobs/commands/list/stats.java b/src/main/java/com/gamingmesh/jobs/commands/list/stats.java index 4fbfb7cf..2fcb9cec 100644 --- a/src/main/java/com/gamingmesh/jobs/commands/list/stats.java +++ b/src/main/java/com/gamingmesh/jobs/commands/list/stats.java @@ -4,11 +4,12 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import com.gamingmesh.jobs.Jobs; -import com.gamingmesh.jobs.CMILib.RawMessage; import com.gamingmesh.jobs.commands.Cmd; import com.gamingmesh.jobs.container.JobProgression; import com.gamingmesh.jobs.container.JobsPlayer; +import net.Zrips.CMILib.RawMessages.RawMessage; + public class stats implements Cmd { @Override diff --git a/src/main/java/com/gamingmesh/jobs/commands/list/top.java b/src/main/java/com/gamingmesh/jobs/commands/list/top.java index 58da0e8e..24c87c71 100644 --- a/src/main/java/com/gamingmesh/jobs/commands/list/top.java +++ b/src/main/java/com/gamingmesh/jobs/commands/list/top.java @@ -11,7 +11,8 @@ import com.gamingmesh.jobs.Jobs; import com.gamingmesh.jobs.commands.Cmd; import com.gamingmesh.jobs.container.Job; import com.gamingmesh.jobs.container.TopList; -import com.gamingmesh.jobs.stuff.PageInfo; + +import net.Zrips.CMILib.Container.PageInfo; public class top implements Cmd { diff --git a/src/main/java/com/gamingmesh/jobs/config/BlockProtectionManager.java b/src/main/java/com/gamingmesh/jobs/config/BlockProtectionManager.java index 6deb6099..a451adfd 100644 --- a/src/main/java/com/gamingmesh/jobs/config/BlockProtectionManager.java +++ b/src/main/java/com/gamingmesh/jobs/config/BlockProtectionManager.java @@ -9,10 +9,11 @@ import org.bukkit.World; import org.bukkit.block.Block; import com.gamingmesh.jobs.Jobs; -import com.gamingmesh.jobs.CMILib.CMIMaterial; import com.gamingmesh.jobs.container.BlockProtection; import com.gamingmesh.jobs.container.DBAction; +import net.Zrips.CMILib.Items.CMIMaterial; + public class BlockProtectionManager { private final HashMap>>> map = new HashMap<>(); diff --git a/src/main/java/com/gamingmesh/jobs/config/BossBarManager.java b/src/main/java/com/gamingmesh/jobs/config/BossBarManager.java index b2a7fdb9..4434d784 100644 --- a/src/main/java/com/gamingmesh/jobs/config/BossBarManager.java +++ b/src/main/java/com/gamingmesh/jobs/config/BossBarManager.java @@ -9,13 +9,14 @@ import org.bukkit.boss.BarStyle; import org.bukkit.boss.BossBar; import com.gamingmesh.jobs.Jobs; -import com.gamingmesh.jobs.CMILib.Version; import com.gamingmesh.jobs.container.BossBarInfo; import com.gamingmesh.jobs.container.Job; import com.gamingmesh.jobs.container.JobProgression; import com.gamingmesh.jobs.container.JobsPlayer; import com.gamingmesh.jobs.stuff.ToggleBarHandling; +import net.Zrips.CMILib.Version.Version; + public class BossBarManager { private Jobs plugin; diff --git a/src/main/java/com/gamingmesh/jobs/config/ConfigManager.java b/src/main/java/com/gamingmesh/jobs/config/ConfigManager.java index f238e77a..8d4e35df 100644 --- a/src/main/java/com/gamingmesh/jobs/config/ConfigManager.java +++ b/src/main/java/com/gamingmesh/jobs/config/ConfigManager.java @@ -37,12 +37,7 @@ import org.bukkit.inventory.meta.EnchantmentStorageMeta; import com.gamingmesh.jobs.ItemBoostManager; import com.gamingmesh.jobs.Jobs; -import com.gamingmesh.jobs.CMILib.CMIChatColor; import com.gamingmesh.jobs.CMILib.CMIEnchantment; -import com.gamingmesh.jobs.CMILib.CMIEntityType; -import com.gamingmesh.jobs.CMILib.CMIMaterial; -import com.gamingmesh.jobs.CMILib.ConfigReader; -import com.gamingmesh.jobs.CMILib.Version; import com.gamingmesh.jobs.container.ActionType; import com.gamingmesh.jobs.container.BoostMultiplier; import com.gamingmesh.jobs.container.CurrencyType; @@ -60,6 +55,12 @@ import com.gamingmesh.jobs.resources.jfep.ParseError; import com.gamingmesh.jobs.resources.jfep.Parser; import com.gamingmesh.jobs.stuff.Util; +import net.Zrips.CMILib.Colors.CMIChatColor; +import net.Zrips.CMILib.Entities.CMIEntityType; +import net.Zrips.CMILib.FileHandler.ConfigReader; +import net.Zrips.CMILib.Items.CMIMaterial; +import net.Zrips.CMILib.Version.Version; + public class ConfigManager { @Deprecated @@ -79,7 +80,16 @@ public class ConfigManager { } private void updateExampleFile() { - ConfigReader cfg = new ConfigReader(new File(Jobs.getFolder(), "jobs" + File.separator + EXAMPLEJOBNAME.toUpperCase() + ".yml")); + ConfigReader cfg = null; + try { + cfg = new ConfigReader(new File(Jobs.getFolder(), "jobs" + File.separator + EXAMPLEJOBNAME.toUpperCase() + ".yml")); + } catch (Exception e) { + e.printStackTrace(); + } + + if (cfg == null) + return; + if (!cfg.getFile().isFile()) return; cfg.load(); @@ -888,7 +898,14 @@ public class ConfigManager { Jobs.getPluginLogger().info("Done. Migrated jobs amount: " + jobFiles.size()); } - ConfigReader cfg = new ConfigReader("jobConfig.yml"); + ConfigReader cfg = null; + try { + cfg = new ConfigReader(Jobs.getInstance(), "jobConfig.yml"); + } catch (Exception e) { + e.printStackTrace(); + return false; + } + cfg.saveToBackup(false); cfg.header(Arrays.asList("-----------------------------------------------------", "Jobs have been moved into jobs subfolder", diff --git a/src/main/java/com/gamingmesh/jobs/config/GeneralConfigManager.java b/src/main/java/com/gamingmesh/jobs/config/GeneralConfigManager.java index 657a7b96..937a4df4 100644 --- a/src/main/java/com/gamingmesh/jobs/config/GeneralConfigManager.java +++ b/src/main/java/com/gamingmesh/jobs/config/GeneralConfigManager.java @@ -37,13 +37,14 @@ import org.bukkit.inventory.ItemStack; import com.gamingmesh.jobs.Jobs; import com.gamingmesh.jobs.CMILib.CMIEnchantment; -import com.gamingmesh.jobs.CMILib.CMIMaterial; -import com.gamingmesh.jobs.CMILib.ConfigReader; -import com.gamingmesh.jobs.CMILib.Version; import com.gamingmesh.jobs.container.CurrencyLimit; import com.gamingmesh.jobs.container.CurrencyType; import com.gamingmesh.jobs.resources.jfep.Parser; +import net.Zrips.CMILib.FileHandler.ConfigReader; +import net.Zrips.CMILib.Items.CMIMaterial; +import net.Zrips.CMILib.Version.Version; + public class GeneralConfigManager { public List BroadcastingLevelUpLevels = new ArrayList<>(); @@ -281,7 +282,14 @@ public class GeneralConfigManager { * loads from Jobs/generalConfig.yml */ private void loadGeneralSettings() { - c = new ConfigReader("generalConfig.yml"); + try { + c = new ConfigReader(Jobs.getInstance(), "generalConfig.yml"); + } catch (Exception e1) { + e1.printStackTrace(); + } + + if (c == null) + return; c.header(Arrays.asList("General configuration.", " The general configuration for the jobs plugin mostly includes how often the plugin", diff --git a/src/main/java/com/gamingmesh/jobs/config/LanguageManager.java b/src/main/java/com/gamingmesh/jobs/config/LanguageManager.java index b1b6ab31..d1b14514 100644 --- a/src/main/java/com/gamingmesh/jobs/config/LanguageManager.java +++ b/src/main/java/com/gamingmesh/jobs/config/LanguageManager.java @@ -7,9 +7,10 @@ import java.util.Iterator; import java.util.List; import com.gamingmesh.jobs.Jobs; -import com.gamingmesh.jobs.CMILib.ConfigReader; import com.gamingmesh.jobs.stuff.Util; +import net.Zrips.CMILib.FileHandler.ConfigReader; + public class LanguageManager { public final List signKeys = new ArrayList<>(); @@ -60,7 +61,13 @@ public class LanguageManager { f = new File(Jobs.getFolder(), "locale" + File.separator + "messages_" + lang + ".yml"); } - ConfigReader c = new ConfigReader(f); + ConfigReader c; + try { + c = new ConfigReader(f); + } catch (Exception e) { + e.printStackTrace(); + continue; + } c.copyDefaults(true); Jobs.getGCManager().getCommandArgs().clear(); diff --git a/src/main/java/com/gamingmesh/jobs/config/NameTranslatorManager.java b/src/main/java/com/gamingmesh/jobs/config/NameTranslatorManager.java index 4d2ad608..9c2b0991 100644 --- a/src/main/java/com/gamingmesh/jobs/config/NameTranslatorManager.java +++ b/src/main/java/com/gamingmesh/jobs/config/NameTranslatorManager.java @@ -1,7 +1,12 @@ package com.gamingmesh.jobs.config; import java.io.File; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; import org.bukkit.configuration.ConfigurationSection; @@ -10,15 +15,16 @@ import org.bukkit.entity.EntityType; import com.gamingmesh.jobs.Jobs; import com.gamingmesh.jobs.CMILib.CMIEnchantment; -import com.gamingmesh.jobs.CMILib.CMIEntityType; -import com.gamingmesh.jobs.CMILib.CMIMaterial; -import com.gamingmesh.jobs.CMILib.ConfigReader; import com.gamingmesh.jobs.container.ActionType; import com.gamingmesh.jobs.container.JobInfo; import com.gamingmesh.jobs.container.NameList; import com.gamingmesh.jobs.hooks.HookManager; import com.gamingmesh.jobs.stuff.Util; +import net.Zrips.CMILib.Entities.CMIEntityType; +import net.Zrips.CMILib.FileHandler.ConfigReader; +import net.Zrips.CMILib.Items.CMIMaterial; + public class NameTranslatorManager { private final Map listOfNames = new HashMap<>(); @@ -299,7 +305,13 @@ public class NameTranslatorManager { f = new File(tWordsFolder, "Words_" + lang + ".yml"); } - ConfigReader c = new ConfigReader(f); + ConfigReader c; + try { + c = new ConfigReader(f); + } catch (Exception e) { + e.printStackTrace(); + continue; + } c.copyDefaults(true); for (CMIMaterial mat : CMIMaterial.values()) { diff --git a/src/main/java/com/gamingmesh/jobs/config/RestrictedBlockManager.java b/src/main/java/com/gamingmesh/jobs/config/RestrictedBlockManager.java index f22a107e..be66c1d4 100644 --- a/src/main/java/com/gamingmesh/jobs/config/RestrictedBlockManager.java +++ b/src/main/java/com/gamingmesh/jobs/config/RestrictedBlockManager.java @@ -4,10 +4,12 @@ import java.util.HashMap; import java.util.Map; import com.gamingmesh.jobs.Jobs; -import com.gamingmesh.jobs.CMILib.CMIItemStack; -import com.gamingmesh.jobs.CMILib.CMIMaterial; -import com.gamingmesh.jobs.CMILib.ConfigReader; -import com.gamingmesh.jobs.CMILib.ItemManager; + +import net.Zrips.CMILib.CMILib; +import net.Zrips.CMILib.FileHandler.ConfigReader; +import net.Zrips.CMILib.Items.CMIItemStack; +import net.Zrips.CMILib.Items.CMIMaterial; +import net.Zrips.CMILib.Items.ItemManager; public class RestrictedBlockManager { @@ -21,7 +23,15 @@ public class RestrictedBlockManager { if (!Jobs.getGCManager().useBlockProtection) return; - ConfigReader cfg = new ConfigReader("restrictedBlocks.yml"); + ConfigReader cfg = null; + try { + cfg = new ConfigReader(Jobs.getInstance(), "restrictedBlocks.yml"); + } catch (Exception e) { + e.printStackTrace(); + } + + if (cfg == null) + return; cfg.addComment("blocksTimer", "Block protected by timer in sec", "Category name can be any you like to be easily recognized", @@ -33,7 +43,7 @@ public class RestrictedBlockManager { if (section != null) { for (String one : section.getKeys(false)) { if ((section.isString(one + ".id") || section.isInt(one + ".id")) && section.isInt(one + ".cd")) { - CMIItemStack cm = ItemManager.getItem(CMIMaterial.get(section.getString(one + ".id"))); + CMIItemStack cm = CMIMaterial.get(section.getString(one + ".id")).newCMIItemStack(); CMIMaterial mat = cm == null ? null : cm.getCMIType(); if (mat == null || !mat.isBlock()) { diff --git a/src/main/java/com/gamingmesh/jobs/config/ShopManager.java b/src/main/java/com/gamingmesh/jobs/config/ShopManager.java index 1e2cbdf9..323d3f4e 100644 --- a/src/main/java/com/gamingmesh/jobs/config/ShopManager.java +++ b/src/main/java/com/gamingmesh/jobs/config/ShopManager.java @@ -5,8 +5,8 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.UUID; import java.util.Map.Entry; +import java.util.UUID; import org.bukkit.Bukkit; import org.bukkit.Material; @@ -22,14 +22,7 @@ import org.bukkit.potion.PotionData; import org.bukkit.potion.PotionType; import com.gamingmesh.jobs.Jobs; -import com.gamingmesh.jobs.CMIGUI.CMIGui; -import com.gamingmesh.jobs.CMIGUI.CMIGuiButton; -import com.gamingmesh.jobs.CMIGUI.GUIManager.GUIClickType; -import com.gamingmesh.jobs.CMIGUI.GUIManager.GUIRows; -import com.gamingmesh.jobs.CMILib.CMIChatColor; import com.gamingmesh.jobs.CMILib.CMIEnchantment; -import com.gamingmesh.jobs.CMILib.CMIMaterial; -import com.gamingmesh.jobs.CMILib.Version; import com.gamingmesh.jobs.container.BoostMultiplier; import com.gamingmesh.jobs.container.Job; import com.gamingmesh.jobs.container.JobItems; @@ -39,6 +32,14 @@ import com.gamingmesh.jobs.container.ShopItem; import com.gamingmesh.jobs.stuff.GiveItem; import com.gamingmesh.jobs.stuff.Util; +import net.Zrips.CMILib.Colors.CMIChatColor; +import net.Zrips.CMILib.GUI.CMIGui; +import net.Zrips.CMILib.GUI.CMIGuiButton; +import net.Zrips.CMILib.GUI.GUIManager.GUIClickType; +import net.Zrips.CMILib.GUI.GUIManager.GUIRows; +import net.Zrips.CMILib.Items.CMIMaterial; +import net.Zrips.CMILib.Version.Version; + @SuppressWarnings("deprecation") public class ShopManager { diff --git a/src/main/java/com/gamingmesh/jobs/config/TitleManager.java b/src/main/java/com/gamingmesh/jobs/config/TitleManager.java index 5b018de6..301e6b28 100644 --- a/src/main/java/com/gamingmesh/jobs/config/TitleManager.java +++ b/src/main/java/com/gamingmesh/jobs/config/TitleManager.java @@ -7,10 +7,11 @@ import java.util.List; import org.bukkit.configuration.ConfigurationSection; import com.gamingmesh.jobs.Jobs; -import com.gamingmesh.jobs.CMILib.CMIChatColor; -import com.gamingmesh.jobs.CMILib.ConfigReader; import com.gamingmesh.jobs.container.Title; +import net.Zrips.CMILib.Colors.CMIChatColor; +import net.Zrips.CMILib.FileHandler.ConfigReader; + public class TitleManager { protected final List titles = new ArrayList<>(); @@ -43,7 +44,13 @@ public class TitleManager { void load() { titles.clear(); - ConfigReader c = new ConfigReader("titleConfig.yml"); + ConfigReader c; + try { + c = new ConfigReader(Jobs.getInstance(), "titleConfig.yml"); + } catch (Exception e) { + e.printStackTrace(); + return; + } c.copyDefaults(true); c.header(Arrays.asList( diff --git a/src/main/java/com/gamingmesh/jobs/container/ArmorTypes.java b/src/main/java/com/gamingmesh/jobs/container/ArmorTypes.java index e7f231bb..ef0b1d3a 100644 --- a/src/main/java/com/gamingmesh/jobs/container/ArmorTypes.java +++ b/src/main/java/com/gamingmesh/jobs/container/ArmorTypes.java @@ -2,7 +2,7 @@ package com.gamingmesh.jobs.container; import org.bukkit.inventory.ItemStack; -import com.gamingmesh.jobs.CMILib.CMIMaterial; +import net.Zrips.CMILib.Items.CMIMaterial; public enum ArmorTypes { HELMET(5), CHESTPLATE(6), LEGGINGS(7), BOOTS(8), ELYTRA(6); diff --git a/src/main/java/com/gamingmesh/jobs/container/Job.java b/src/main/java/com/gamingmesh/jobs/container/Job.java index e79dd816..f23aa96d 100644 --- a/src/main/java/com/gamingmesh/jobs/container/Job.java +++ b/src/main/java/com/gamingmesh/jobs/container/Job.java @@ -36,11 +36,12 @@ import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import com.gamingmesh.jobs.Jobs; -import com.gamingmesh.jobs.CMILib.CMIChatColor; -import com.gamingmesh.jobs.CMILib.CMIMaterial; import com.gamingmesh.jobs.actions.PotionItemActionInfo; import com.gamingmesh.jobs.resources.jfep.Parser; +import net.Zrips.CMILib.Colors.CMIChatColor; +import net.Zrips.CMILib.Items.CMIMaterial; + public class Job { private Map<ActionType, List<JobInfo>> jobInfo = new EnumMap<>(ActionType.class); diff --git a/src/main/java/com/gamingmesh/jobs/container/JobInfo.java b/src/main/java/com/gamingmesh/jobs/container/JobInfo.java index cc37bf12..f524a05d 100644 --- a/src/main/java/com/gamingmesh/jobs/container/JobInfo.java +++ b/src/main/java/com/gamingmesh/jobs/container/JobInfo.java @@ -19,9 +19,10 @@ package com.gamingmesh.jobs.container; import com.gamingmesh.jobs.Jobs; -import com.gamingmesh.jobs.CMILib.CMIChatColor; import com.gamingmesh.jobs.resources.jfep.Parser; +import net.Zrips.CMILib.Colors.CMIChatColor; + public class JobInfo { private ActionType actionType; private int id; diff --git a/src/main/java/com/gamingmesh/jobs/container/JobItems.java b/src/main/java/com/gamingmesh/jobs/container/JobItems.java index af30a41d..33d8e648 100644 --- a/src/main/java/com/gamingmesh/jobs/container/JobItems.java +++ b/src/main/java/com/gamingmesh/jobs/container/JobItems.java @@ -34,10 +34,11 @@ import org.bukkit.inventory.meta.LeatherArmorMeta; import org.bukkit.inventory.meta.PotionMeta; import org.bukkit.potion.PotionEffectType; -import com.gamingmesh.jobs.CMILib.CMIChatColor; -import com.gamingmesh.jobs.CMILib.CMIMaterial; -import com.gamingmesh.jobs.CMILib.CMIReflections; -import com.gamingmesh.jobs.CMILib.Version; +import net.Zrips.CMILib.CMILib; +import net.Zrips.CMILib.Colors.CMIChatColor; +import net.Zrips.CMILib.Items.CMIMaterial; +import net.Zrips.CMILib.NBT.CMINBT; +import net.Zrips.CMILib.Version.Version; @SuppressWarnings("deprecation") public class JobItems { @@ -124,7 +125,8 @@ public class JobItems { } item.setAmount(amount); - item = CMIReflections.setNbt(item, "JobsItemBoost", node); + CMINBT nbt = new CMINBT(item); + item = (ItemStack) nbt.setString("JobsItemBoost", node); } public String getNode() { diff --git a/src/main/java/com/gamingmesh/jobs/container/JobLimitedItems.java b/src/main/java/com/gamingmesh/jobs/container/JobLimitedItems.java index e5afe90c..3e7e9a7f 100644 --- a/src/main/java/com/gamingmesh/jobs/container/JobLimitedItems.java +++ b/src/main/java/com/gamingmesh/jobs/container/JobLimitedItems.java @@ -28,8 +28,8 @@ import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; -import com.gamingmesh.jobs.CMILib.CMIChatColor; -import com.gamingmesh.jobs.CMILib.CMIMaterial; +import net.Zrips.CMILib.Colors.CMIChatColor; +import net.Zrips.CMILib.Items.CMIMaterial; public class JobLimitedItems { private String node; diff --git a/src/main/java/com/gamingmesh/jobs/container/JobsPlayer.java b/src/main/java/com/gamingmesh/jobs/container/JobsPlayer.java index 973a067c..2878e9ae 100644 --- a/src/main/java/com/gamingmesh/jobs/container/JobsPlayer.java +++ b/src/main/java/com/gamingmesh/jobs/container/JobsPlayer.java @@ -32,9 +32,6 @@ import org.bukkit.Bukkit; import org.bukkit.entity.Player; import com.gamingmesh.jobs.Jobs; -import com.gamingmesh.jobs.CMILib.ActionBarManager; -import com.gamingmesh.jobs.CMILib.CMIChatColor; -import com.gamingmesh.jobs.CMILib.CMIMaterial; import com.gamingmesh.jobs.Signs.SignTopType; import com.gamingmesh.jobs.api.JobsLevelUpEvent; import com.gamingmesh.jobs.container.blockOwnerShip.BlockTypes; @@ -43,6 +40,10 @@ import com.gamingmesh.jobs.economy.PaymentData; import com.gamingmesh.jobs.resources.jfep.Parser; import com.gamingmesh.jobs.stuff.TimeManage; +import net.Zrips.CMILib.ActionBar.CMIActionBar; +import net.Zrips.CMILib.Colors.CMIChatColor; +import net.Zrips.CMILib.Items.CMIMaterial; + public class JobsPlayer { private final Jobs plugin = org.bukkit.plugin.java.JavaPlugin.getPlugin(Jobs.class); @@ -237,7 +238,7 @@ public class JobsPlayer { } if (data.isAnnounceTime(limit.getAnnouncementDelay()) && player.isOnline()) - ActionBarManager.send(player, Jobs.getLanguage().getMessage("command.limit.output." + name + "time", "%time%", TimeManage.to24hourShort(data.getLeftTime(type)))); + CMIActionBar.send(player, Jobs.getLanguage().getMessage("command.limit.output." + name + "time", "%time%", TimeManage.to24hourShort(data.getLeftTime(type)))); if (data.isReseted(type)) data.setReseted(type, false); diff --git a/src/main/java/com/gamingmesh/jobs/container/Schedule.java b/src/main/java/com/gamingmesh/jobs/container/Schedule.java index 3e82922f..a918a710 100644 --- a/src/main/java/com/gamingmesh/jobs/container/Schedule.java +++ b/src/main/java/com/gamingmesh/jobs/container/Schedule.java @@ -5,7 +5,8 @@ import java.util.Arrays; import java.util.List; import com.gamingmesh.jobs.Jobs; -import com.gamingmesh.jobs.CMILib.CMIChatColor; + +import net.Zrips.CMILib.Colors.CMIChatColor; public class Schedule { diff --git a/src/main/java/com/gamingmesh/jobs/container/Title.java b/src/main/java/com/gamingmesh/jobs/container/Title.java index 20bea30c..8d31ae1e 100644 --- a/src/main/java/com/gamingmesh/jobs/container/Title.java +++ b/src/main/java/com/gamingmesh/jobs/container/Title.java @@ -20,7 +20,7 @@ package com.gamingmesh.jobs.container; import org.bukkit.ChatColor; -import com.gamingmesh.jobs.CMILib.CMIChatColor; +import net.Zrips.CMILib.Colors.CMIChatColor; /** * Container class for titles diff --git a/src/main/java/com/gamingmesh/jobs/container/blockOwnerShip/BlockOwnerShip.java b/src/main/java/com/gamingmesh/jobs/container/blockOwnerShip/BlockOwnerShip.java index fd2471c6..c4250c83 100644 --- a/src/main/java/com/gamingmesh/jobs/container/blockOwnerShip/BlockOwnerShip.java +++ b/src/main/java/com/gamingmesh/jobs/container/blockOwnerShip/BlockOwnerShip.java @@ -15,276 +15,277 @@ import org.bukkit.metadata.FixedMetadataValue; import org.bukkit.metadata.MetadataValue; import com.gamingmesh.jobs.Jobs; -import com.gamingmesh.jobs.CMILib.CMIMaterial; import com.gamingmesh.jobs.config.YmlMaker; import com.gamingmesh.jobs.container.JobsPlayer; import com.gamingmesh.jobs.stuff.blockLoc; +import net.Zrips.CMILib.Items.CMIMaterial; + public class BlockOwnerShip { - private CMIMaterial material; - private BlockTypes type; - private String metadataName = ""; + private CMIMaterial material; + private BlockTypes type; + private String metadataName = ""; - private final Map<UUID, List<blockLoc>> blockOwnerShips = new HashMap<>(); + private final Map<UUID, List<blockLoc>> blockOwnerShips = new HashMap<>(); - private final Jobs plugin = org.bukkit.plugin.java.JavaPlugin.getPlugin(Jobs.class); + private final Jobs plugin = org.bukkit.plugin.java.JavaPlugin.getPlugin(Jobs.class); - public BlockOwnerShip(CMIMaterial type) { - // Type should be any type of furnace, smoker or brewing stand - if (type != CMIMaterial.FURNACE && type != CMIMaterial.LEGACY_BURNING_FURNACE - && type != CMIMaterial.BLAST_FURNACE && type != CMIMaterial.SMOKER && type != CMIMaterial.BREWING_STAND - && type != CMIMaterial.LEGACY_BREWING_STAND) { - throw new IllegalArgumentException("Material types should be any type of furnace, smoker or brewing stand"); - } - - material = type; - - switch (this.type = BlockTypes.getFromCMIMaterial(type)) { - case BLAST_FURNACE: - metadataName = "jobsBlastFurnaceOwner"; - break; - case BREWING_STAND: - metadataName = "jobsBrewingOwner"; - break; - case FURNACE: - metadataName = "jobsFurnaceOwner"; - break; - case SMOKER: - metadataName = "jobsSmokerOwner"; - break; - default: - break; - } + public BlockOwnerShip(CMIMaterial type) { + // Type should be any type of furnace, smoker or brewing stand + if (type != CMIMaterial.FURNACE && type != CMIMaterial.LEGACY_BURNING_FURNACE + && type != CMIMaterial.BLAST_FURNACE && type != CMIMaterial.SMOKER && type != CMIMaterial.BREWING_STAND + && type != CMIMaterial.LEGACY_BREWING_STAND) { + throw new IllegalArgumentException("Material types should be any type of furnace, smoker or brewing stand"); } - public BlockTypes getType() { - return type; + material = type; + + switch (this.type = BlockTypes.getFromCMIMaterial(type)) { + case BLAST_FURNACE: + metadataName = "jobsBlastFurnaceOwner"; + break; + case BREWING_STAND: + metadataName = "jobsBrewingOwner"; + break; + case FURNACE: + metadataName = "jobsFurnaceOwner"; + break; + case SMOKER: + metadataName = "jobsSmokerOwner"; + break; + default: + break; + } + } + + public BlockTypes getType() { + return type; + } + + public CMIMaterial getMaterial() { + return material; + } + + public String getMetadataName() { + return metadataName; + } + + public Map<UUID, List<blockLoc>> getBlockOwnerShips() { + return blockOwnerShips; + } + + public ownershipFeedback register(Player player, Block block) { + if (type != BlockTypes.getFromCMIMaterial(CMIMaterial.get(block))) { + return ownershipFeedback.invalid; } - public CMIMaterial getMaterial() { - return material; + JobsPlayer jPlayer = Jobs.getPlayerManager().getJobsPlayer(player); + if (jPlayer == null) { + return ownershipFeedback.invalid; } - public String getMetadataName() { - return metadataName; + int max = jPlayer.getMaxOwnerShipAllowed(type); + int have = getTotal(jPlayer.getUniqueId()); + + boolean owner = false; + List<MetadataValue> data = getBlockMetadatas(block); + if (!data.isEmpty()) { + if (!data.get(0).asString().equals(jPlayer.getUniqueId().toString())) { + return ownershipFeedback.notOwn; + } + + if (have > max && max > 0) { + remove(block); + } + + owner = true; } - public Map<UUID, List<blockLoc>> getBlockOwnerShips() { - return blockOwnerShips; + if (owner) + return ownershipFeedback.old; + + if (have >= max && max > 0) + return ownershipFeedback.tooMany; + + block.setMetadata(metadataName, new FixedMetadataValue(plugin, jPlayer.getUniqueId().toString())); + + if (!Jobs.getGCManager().isBrewingStandsReassign() && !Jobs.getGCManager().isFurnacesReassign() + && !Jobs.getGCManager().BlastFurnacesReassign && !Jobs.getGCManager().SmokerReassign) { + return ownershipFeedback.newReg; } - public ownershipFeedback register(Player player, Block block) { - if (type != BlockTypes.getFromCMIMaterial(CMIMaterial.get(block))) { - return ownershipFeedback.invalid; - } + List<blockLoc> ls = blockOwnerShips.getOrDefault(jPlayer.getUniqueId(), new ArrayList<>()); + ls.add(new blockLoc(block.getLocation())); + blockOwnerShips.put(jPlayer.getUniqueId(), ls); + return ownershipFeedback.newReg; + } - JobsPlayer jPlayer = Jobs.getPlayerManager().getJobsPlayer(player); - if (jPlayer == null) { - return ownershipFeedback.invalid; - } + public boolean remove(Block block) { + UUID uuid = null; + List<MetadataValue> data = getBlockMetadatas(block); - int max = jPlayer.getMaxOwnerShipAllowed(type); - int have = getTotal(jPlayer.getUniqueId()); - - boolean owner = false; - List<MetadataValue> data = getBlockMetadatas(block); - if (!data.isEmpty()) { - if (!data.get(0).asString().equals(jPlayer.getUniqueId().toString())) { - return ownershipFeedback.notOwn; - } - - if (have > max && max > 0) { - remove(block); - } - - owner = true; - } - - if (owner) - return ownershipFeedback.old; - - if (have >= max && max > 0) - return ownershipFeedback.tooMany; - - block.setMetadata(metadataName, new FixedMetadataValue(plugin, jPlayer.getUniqueId().toString())); - - if (!Jobs.getGCManager().isBrewingStandsReassign() && !Jobs.getGCManager().isFurnacesReassign() - && !Jobs.getGCManager().BlastFurnacesReassign && !Jobs.getGCManager().SmokerReassign) { - return ownershipFeedback.newReg; - } - - List<blockLoc> ls = blockOwnerShips.getOrDefault(jPlayer.getUniqueId(), new ArrayList<>()); - ls.add(new blockLoc(block.getLocation())); - blockOwnerShips.put(jPlayer.getUniqueId(), ls); - return ownershipFeedback.newReg; + if (!data.isEmpty()) { + try { + uuid = UUID.fromString(data.get(0).asString()); + } catch (IllegalArgumentException e) { + } } - public boolean remove(Block block) { - UUID uuid = null; - List<MetadataValue> data = getBlockMetadatas(block); - - if (!data.isEmpty()) { - try { - uuid = UUID.fromString(data.get(0).asString()); - } catch (IllegalArgumentException e) { - } - } - - if (uuid == null) { - return false; - } - - List<blockLoc> ls = blockOwnerShips.getOrDefault(uuid, new ArrayList<>()); - org.bukkit.Location blockLoc = block.getLocation(); - - for (blockLoc one : ls) { - if (one.getLocation().equals(blockLoc)) { - block.removeMetadata(metadataName, plugin); - ls.remove(one); - return true; - } - } - - return false; + if (uuid == null) { + return false; } - public int clear(UUID uuid) { - List<blockLoc> ls = blockOwnerShips.remove(uuid); - if (ls == null) - return 0; + List<blockLoc> ls = blockOwnerShips.getOrDefault(uuid, new ArrayList<>()); + org.bukkit.Location blockLoc = block.getLocation(); - for (blockLoc one : ls) { - one.getBlock().removeMetadata(metadataName, plugin); - } - - return ls.size(); + for (blockLoc one : ls) { + if (one.getLocation().equals(blockLoc)) { + block.removeMetadata(metadataName, plugin); + ls.remove(one); + return true; + } } - public List<MetadataValue> getBlockMetadatas(Block block) { - return block.getMetadata(metadataName); + return false; + } + + public int clear(UUID uuid) { + List<blockLoc> ls = blockOwnerShips.remove(uuid); + if (ls == null) + return 0; + + for (blockLoc one : ls) { + one.getBlock().removeMetadata(metadataName, plugin); } - public int getTotal(UUID uuid) { - List<blockLoc> list = blockOwnerShips.get(uuid); - return list == null ? 0 : list.size(); + return ls.size(); + } + + public List<MetadataValue> getBlockMetadatas(Block block) { + return block.getMetadata(metadataName); + } + + public int getTotal(UUID uuid) { + List<blockLoc> list = blockOwnerShips.get(uuid); + return list == null ? 0 : list.size(); + } + + public void load() { + YmlMaker f = new YmlMaker(Jobs.getFolder(), "furnaceBrewingStands.yml"); + YmlMaker f2 = new YmlMaker(Jobs.getFolder(), "blockOwnerShips.yml"); + if (!f.exists() && !f2.exists()) + return; + + if (f.exists()) { + f.getConfigFile().renameTo(f2.getConfigFile()); } - public void load() { - YmlMaker f = new YmlMaker(Jobs.getFolder(), "furnaceBrewingStands.yml"); - YmlMaker f2 = new YmlMaker(Jobs.getFolder(), "blockOwnerShips.yml"); - if (!f.exists() && !f2.exists()) - return; + f = f2; - if (f.exists()) { - f.getConfigFile().renameTo(f2.getConfigFile()); - } + String path = (type == BlockTypes.FURNACE ? "Furnace" + : type == BlockTypes.BLAST_FURNACE ? "BlastFurnace" + : type == BlockTypes.BREWING_STAND ? "Brewing" : type == BlockTypes.SMOKER ? "Smoker" : ""); - f = f2; + if (isReassignDisabled()) + return; - String path = (type == BlockTypes.FURNACE ? "Furnace" - : type == BlockTypes.BLAST_FURNACE ? "BlastFurnace" - : type == BlockTypes.BREWING_STAND ? "Brewing" : type == BlockTypes.SMOKER ? "Smoker" : ""); - - if (isReassignDisabled()) - return; - - ConfigurationSection section = f.getConfig().getConfigurationSection(path); - if (section == null) { - return; - } - - int total = 0; - for (String one : section.getKeys(false)) { - String value = section.getString(one); - List<String> ls = new ArrayList<>(); - - if (value.contains(";")) - ls.addAll(Arrays.asList(value.split(";"))); - else - ls.add(value); - - UUID uuid; - try { - uuid = UUID.fromString(one); - } catch (IllegalArgumentException e) { - continue; - } - - List<blockLoc> blist = new ArrayList<>(); - for (String oneL : ls) { - blockLoc bl = new blockLoc(oneL); - Block block = bl.getBlock(); - if (block == null) - continue; - - block.removeMetadata(metadataName, plugin); - block.setMetadata(metadataName, new FixedMetadataValue(plugin, one)); - - blist.add(bl); - total++; - } - - if (!blist.isEmpty()) { - blockOwnerShips.put(uuid, blist); - } - } - - if (total > 0) { - Jobs.consoleMsg("&e[Jobs] Loaded " + total + " " + path.toLowerCase() + " for reassigning."); - } + ConfigurationSection section = f.getConfig().getConfigurationSection(path); + if (section == null) { + return; } - public void save() { - YmlMaker f = new YmlMaker(Jobs.getFolder(), "furnaceBrewingStands.yml"); - if (f.exists()) { - f.getConfigFile().renameTo(new File(Jobs.getFolder(), "blockOwnerShips.yml")); - } + int total = 0; + for (String one : section.getKeys(false)) { + String value = section.getString(one); + List<String> ls = new ArrayList<>(); - f = new YmlMaker(Jobs.getFolder(), "blockOwnerShips.yml"); + if (value.contains(";")) + ls.addAll(Arrays.asList(value.split(";"))); + else + ls.add(value); - if (blockOwnerShips.isEmpty() && f.getConfigFile().length() == 0L) { - f.getConfigFile().delete(); - return; - } + UUID uuid; + try { + uuid = UUID.fromString(one); + } catch (IllegalArgumentException e) { + continue; + } - f.createNewFile(); - f.saveDefaultConfig(); + List<blockLoc> blist = new ArrayList<>(); + for (String oneL : ls) { + blockLoc bl = new blockLoc(oneL); + Block block = bl.getBlock(); + if (block == null) + continue; - if (isReassignDisabled()) { - return; - } + block.removeMetadata(metadataName, plugin); + block.setMetadata(metadataName, new FixedMetadataValue(plugin, one)); - String path = (type == BlockTypes.FURNACE ? "Furnace" - : type == BlockTypes.BLAST_FURNACE ? "BlastFurnace" - : type == BlockTypes.BREWING_STAND ? "Brewing" : type == BlockTypes.SMOKER ? "Smoker" : ""); - f.getConfig().set(path, null); + blist.add(bl); + total++; + } - for (Map.Entry<UUID, List<blockLoc>> one : blockOwnerShips.entrySet()) { - String full = ""; - - for (blockLoc oneL : one.getValue()) { - if (!full.isEmpty()) - full += ";"; - - full += oneL.toString(); - } - - if (!full.isEmpty()) - f.getConfig().set(path + "." + one.getKey().toString(), full); - } - - f.saveConfig(); + if (!blist.isEmpty()) { + blockOwnerShips.put(uuid, blist); + } } - public boolean isReassignDisabled() { - return (type == BlockTypes.FURNACE && !Jobs.getGCManager().isFurnacesReassign()) - || (type == BlockTypes.BLAST_FURNACE && !Jobs.getGCManager().BlastFurnacesReassign) - || (type == BlockTypes.BREWING_STAND && !Jobs.getGCManager().isBrewingStandsReassign()) - || (type == BlockTypes.SMOKER && !Jobs.getGCManager().SmokerReassign); + if (total > 0) { + Jobs.consoleMsg("&e[Jobs] Loaded " + total + " " + path.toLowerCase() + " for reassigning."); + } + } + + public void save() { + YmlMaker f = new YmlMaker(Jobs.getFolder(), "furnaceBrewingStands.yml"); + if (f.exists()) { + f.getConfigFile().renameTo(new File(Jobs.getFolder(), "blockOwnerShips.yml")); } - public enum ownershipFeedback { - invalid, tooMany, newReg, old, notOwn + f = new YmlMaker(Jobs.getFolder(), "blockOwnerShips.yml"); + + if (blockOwnerShips.isEmpty() && f.getConfigFile().length() == 0L) { + f.getConfigFile().delete(); + return; } + + f.createNewFile(); + f.saveDefaultConfig(); + + if (isReassignDisabled()) { + return; + } + + String path = (type == BlockTypes.FURNACE ? "Furnace" + : type == BlockTypes.BLAST_FURNACE ? "BlastFurnace" + : type == BlockTypes.BREWING_STAND ? "Brewing" : type == BlockTypes.SMOKER ? "Smoker" : ""); + f.getConfig().set(path, null); + + for (Map.Entry<UUID, List<blockLoc>> one : blockOwnerShips.entrySet()) { + String full = ""; + + for (blockLoc oneL : one.getValue()) { + if (!full.isEmpty()) + full += ";"; + + full += oneL.toString(); + } + + if (!full.isEmpty()) + f.getConfig().set(path + "." + one.getKey().toString(), full); + } + + f.saveConfig(); + } + + public boolean isReassignDisabled() { + return (type == BlockTypes.FURNACE && !Jobs.getGCManager().isFurnacesReassign()) + || (type == BlockTypes.BLAST_FURNACE && !Jobs.getGCManager().BlastFurnacesReassign) + || (type == BlockTypes.BREWING_STAND && !Jobs.getGCManager().isBrewingStandsReassign()) + || (type == BlockTypes.SMOKER && !Jobs.getGCManager().SmokerReassign); + } + + public enum ownershipFeedback { + invalid, tooMany, newReg, old, notOwn + } } diff --git a/src/main/java/com/gamingmesh/jobs/container/blockOwnerShip/BlockTypes.java b/src/main/java/com/gamingmesh/jobs/container/blockOwnerShip/BlockTypes.java index db2975a1..01ca623a 100644 --- a/src/main/java/com/gamingmesh/jobs/container/blockOwnerShip/BlockTypes.java +++ b/src/main/java/com/gamingmesh/jobs/container/blockOwnerShip/BlockTypes.java @@ -1,35 +1,37 @@ package com.gamingmesh.jobs.container.blockOwnerShip; -import com.gamingmesh.jobs.CMILib.CMIMaterial; +import net.Zrips.CMILib.Items.CMIMaterial; public enum BlockTypes { - BREWING_STAND("BREWING_STAND", "LEGACY_BREWING_STAND"), FURNACE("FURNACE", "LEGACY_BURNING_FURNACE"), SMOKER, - BLAST_FURNACE; + BREWING_STAND("BREWING_STAND", "LEGACY_BREWING_STAND"), + FURNACE("FURNACE", "LEGACY_BURNING_FURNACE"), + SMOKER, + BLAST_FURNACE; - private String[] names; + private String[] names; - BlockTypes() { - names = new String[] { toString() }; - } + BlockTypes() { + names = new String[] { toString() }; + } - BlockTypes(String... names) { - this.names = names; - } + BlockTypes(String... names) { + this.names = names; + } - public String[] getNames() { - return names; - } + public String[] getNames() { + return names; + } - public static BlockTypes getFromCMIMaterial(CMIMaterial type) { - for (BlockTypes b : values()) { - for (String name : b.names) { - if (name.equals(type.name())) { - return b; - } - } + public static BlockTypes getFromCMIMaterial(CMIMaterial type) { + for (BlockTypes b : values()) { + for (String name : b.names) { + if (name.equals(type.name())) { + return b; } - - return null; + } } + + return null; + } } diff --git a/src/main/java/com/gamingmesh/jobs/dao/JobsManager.java b/src/main/java/com/gamingmesh/jobs/dao/JobsManager.java index b2b18d54..9eec2651 100644 --- a/src/main/java/com/gamingmesh/jobs/dao/JobsManager.java +++ b/src/main/java/com/gamingmesh/jobs/dao/JobsManager.java @@ -3,7 +3,8 @@ package com.gamingmesh.jobs.dao; import java.io.IOException; import com.gamingmesh.jobs.Jobs; -import com.gamingmesh.jobs.CMILib.ConfigReader; + +import net.Zrips.CMILib.FileHandler.ConfigReader; public class JobsManager { private JobsDAO dao; diff --git a/src/main/java/com/gamingmesh/jobs/economy/BufferedEconomy.java b/src/main/java/com/gamingmesh/jobs/economy/BufferedEconomy.java index 0102c062..80ce4897 100644 --- a/src/main/java/com/gamingmesh/jobs/economy/BufferedEconomy.java +++ b/src/main/java/com/gamingmesh/jobs/economy/BufferedEconomy.java @@ -18,18 +18,6 @@ package com.gamingmesh.jobs.economy; -import com.gamingmesh.jobs.Jobs; -import com.gamingmesh.jobs.CMILib.ActionBarManager; -import com.gamingmesh.jobs.CMILib.Version; -import com.gamingmesh.jobs.api.JobsPaymentEvent; -import com.gamingmesh.jobs.container.CurrencyType; -import com.gamingmesh.jobs.container.JobsPlayer; -import com.gamingmesh.jobs.stuff.ToggleBarHandling; -import com.gamingmesh.jobs.tasks.BufferedPaymentTask; -import org.bukkit.Bukkit; -import org.bukkit.OfflinePlayer; -import org.bukkit.entity.Player; - import java.util.Collections; import java.util.HashMap; import java.util.Map; @@ -37,6 +25,20 @@ import java.util.UUID; import java.util.concurrent.BlockingQueue; import java.util.concurrent.LinkedBlockingQueue; +import org.bukkit.Bukkit; +import org.bukkit.OfflinePlayer; +import org.bukkit.entity.Player; + +import com.gamingmesh.jobs.Jobs; +import com.gamingmesh.jobs.api.JobsPaymentEvent; +import com.gamingmesh.jobs.container.CurrencyType; +import com.gamingmesh.jobs.container.JobsPlayer; +import com.gamingmesh.jobs.stuff.ToggleBarHandling; +import com.gamingmesh.jobs.tasks.BufferedPaymentTask; + +import net.Zrips.CMILib.ActionBar.CMIActionBar; +import net.Zrips.CMILib.Version.Version; + public class BufferedEconomy { private Jobs plugin; @@ -171,7 +173,7 @@ public class BufferedEconomy { } if (Jobs.getGCManager().ActionBarsMessageByDefault && serverTaxesAccount.isOnline()) { - ActionBarManager.send(Bukkit.getPlayer(serverAccountName), + CMIActionBar.send(Bukkit.getPlayer(serverAccountName), Jobs.getLanguage().getMessage("message.taxes", "[amount]", (int) (totalAmount * 100) / 100.0)); } } @@ -201,7 +203,7 @@ public class BufferedEconomy { payment.getPayment().putAll(jobsPaymentEvent.getPayment()); if (Jobs.getGCManager().UseServerAccount && !hasMoney) { - ActionBarManager.send(payment.getOfflinePlayer().getPlayer(), Jobs.getLanguage().getMessage("economy.error.nomoney")); + CMIActionBar.send(payment.getOfflinePlayer().getPlayer(), Jobs.getLanguage().getMessage("economy.error.nomoney")); continue; } @@ -271,7 +273,7 @@ public class BufferedEconomy { boolean showInActionbar = ToggleBarHandling.getActionBarToggle().getOrDefault(playerUUID.toString(), Jobs.getGCManager().ActionBarsMessageByDefault); if (showInActionbar) { - ActionBarManager.send(abp, message); + CMIActionBar.send(abp, message); } else { abp.sendMessage(message); } diff --git a/src/main/java/com/gamingmesh/jobs/i18n/Language.java b/src/main/java/com/gamingmesh/jobs/i18n/Language.java index cd73d1b1..cf551599 100644 --- a/src/main/java/com/gamingmesh/jobs/i18n/Language.java +++ b/src/main/java/com/gamingmesh/jobs/i18n/Language.java @@ -27,9 +27,10 @@ import java.util.regex.Pattern; import org.bukkit.configuration.file.FileConfiguration; import com.gamingmesh.jobs.Jobs; -import com.gamingmesh.jobs.CMILib.CMIChatColor; import com.gamingmesh.jobs.config.YmlMaker; +import net.Zrips.CMILib.Colors.CMIChatColor; + public class Language { public FileConfiguration enlocale, customlocale; diff --git a/src/main/java/com/gamingmesh/jobs/listeners/JobsListener.java b/src/main/java/com/gamingmesh/jobs/listeners/JobsListener.java index ddd9b0a0..28fe507c 100644 --- a/src/main/java/com/gamingmesh/jobs/listeners/JobsListener.java +++ b/src/main/java/com/gamingmesh/jobs/listeners/JobsListener.java @@ -66,10 +66,6 @@ import org.bukkit.permissions.PermissionDefault; import org.bukkit.plugin.PluginManager; import com.gamingmesh.jobs.Jobs; -import com.gamingmesh.jobs.CMILib.ActionBarManager; -import com.gamingmesh.jobs.CMILib.CMIChatColor; -import com.gamingmesh.jobs.CMILib.CMIMaterial; -import com.gamingmesh.jobs.CMILib.Version; import com.gamingmesh.jobs.Signs.SignTopType; import com.gamingmesh.jobs.Signs.SignUtil; import com.gamingmesh.jobs.Signs.jobsSign; @@ -81,9 +77,14 @@ import com.gamingmesh.jobs.container.JobLimitedItems; import com.gamingmesh.jobs.container.JobProgression; import com.gamingmesh.jobs.container.JobsArmorChangeEvent; import com.gamingmesh.jobs.container.JobsArmorChangeEvent.EquipMethod; -import com.gamingmesh.jobs.stuff.Util; import com.gamingmesh.jobs.container.JobsPlayer; +import net.Zrips.CMILib.ActionBar.CMIActionBar; +import net.Zrips.CMILib.Colors.CMIChatColor; +import net.Zrips.CMILib.Items.CMIItemStack; +import net.Zrips.CMILib.Items.CMIMaterial; +import net.Zrips.CMILib.Version.Version; + public class JobsListener implements Listener { private Jobs plugin; @@ -118,7 +119,7 @@ public class JobsListener implements Listener { return; Player player = event.getPlayer(); - if (Util.getItemInMainHand(player).getType() != CMIMaterial.get(Jobs.getGCManager().getSelectionTool()).getMaterial()) + if (CMIItemStack.getItemInMainHand(player).getType() != CMIMaterial.get(Jobs.getGCManager().getSelectionTool()).getMaterial()) return; if (!Jobs.getGCManager().canPerformActionInWorld(event.getPlayer().getWorld()) || !player.hasPermission("jobs.area.select")) @@ -370,7 +371,7 @@ public class JobsListener implements Listener { @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true) public void onLimitedItemInteract(PlayerInteractEvent event) { Player player = event.getPlayer(); - ItemStack iih = Util.getItemInMainHand(player); + ItemStack iih = CMIItemStack.getItemInMainHand(player); if (iih.getType() == Material.AIR) return; @@ -411,7 +412,7 @@ public class JobsListener implements Listener { if (meinOk != null) { event.setCancelled(true); - ActionBarManager.send(player, Jobs.getLanguage().getMessage("limitedItem.error.levelup", "[jobname]", meinOk)); + CMIActionBar.send(player, Jobs.getLanguage().getMessage("limitedItem.error.levelup", "[jobname]", meinOk)); } } diff --git a/src/main/java/com/gamingmesh/jobs/listeners/JobsPaymentListener.java b/src/main/java/com/gamingmesh/jobs/listeners/JobsPaymentListener.java index 29244ff1..4854d4df 100644 --- a/src/main/java/com/gamingmesh/jobs/listeners/JobsPaymentListener.java +++ b/src/main/java/com/gamingmesh/jobs/listeners/JobsPaymentListener.java @@ -18,24 +18,11 @@ package com.gamingmesh.jobs.listeners; -import com.gamingmesh.jobs.CMILib.*; -import com.gamingmesh.jobs.ItemBoostManager; -import com.gamingmesh.jobs.Jobs; -import com.gamingmesh.jobs.actions.*; -import com.gamingmesh.jobs.api.JobsChunkChangeEvent; -import com.gamingmesh.jobs.container.*; -import com.gamingmesh.jobs.container.blockOwnerShip.BlockOwnerShip; -import com.gamingmesh.jobs.container.blockOwnerShip.BlockOwnerShip.ownershipFeedback; -import com.gamingmesh.jobs.hooks.HookManager; -import com.gamingmesh.jobs.hooks.JobsHook; -import com.gamingmesh.jobs.stuff.Util; -import com.gmail.nossr50.config.experience.ExperienceConfig; -import com.gmail.nossr50.datatypes.player.McMMOPlayer; -import com.gmail.nossr50.util.player.UserManager; -import com.google.common.base.Objects; +import java.util.List; +import java.util.Map; +import java.util.UUID; +import java.util.concurrent.TimeUnit; -import com.google.common.cache.Cache; -import com.google.common.cache.CacheBuilder; import org.bukkit.Bukkit; import org.bukkit.GameMode; import org.bukkit.Location; @@ -45,7 +32,16 @@ import org.bukkit.block.BrewingStand; import org.bukkit.block.Furnace; import org.bukkit.block.data.Ageable; import org.bukkit.enchantments.Enchantment; -import org.bukkit.entity.*; +import org.bukkit.entity.Damageable; +import org.bukkit.entity.Entity; +import org.bukkit.entity.EntityType; +import org.bukkit.entity.HumanEntity; +import org.bukkit.entity.Item; +import org.bukkit.entity.LivingEntity; +import org.bukkit.entity.Player; +import org.bukkit.entity.Projectile; +import org.bukkit.entity.Sheep; +import org.bukkit.entity.Tameable; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; @@ -65,9 +61,9 @@ import org.bukkit.event.entity.SlimeSplitEvent; import org.bukkit.event.hanging.HangingBreakByEntityEvent; import org.bukkit.event.hanging.HangingPlaceEvent; import org.bukkit.event.inventory.BrewEvent; -import org.bukkit.event.inventory.InventoryAction; import org.bukkit.event.inventory.CraftItemEvent; import org.bukkit.event.inventory.FurnaceSmeltEvent; +import org.bukkit.event.inventory.InventoryAction; import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.event.inventory.InventoryMoveItemEvent; import org.bukkit.event.inventory.InventoryType; @@ -89,10 +85,45 @@ import org.bukkit.metadata.FixedMetadataValue; import org.bukkit.metadata.MetadataValue; import org.bukkit.permissions.PermissionAttachmentInfo; -import java.util.List; -import java.util.Map; -import java.util.UUID; -import java.util.concurrent.TimeUnit; +import com.gamingmesh.jobs.ItemBoostManager; +import com.gamingmesh.jobs.Jobs; +import com.gamingmesh.jobs.CMILib.CMIEnchantment; +import com.gamingmesh.jobs.actions.BlockActionInfo; +import com.gamingmesh.jobs.actions.BlockCollectInfo; +import com.gamingmesh.jobs.actions.CustomKillInfo; +import com.gamingmesh.jobs.actions.EnchantActionInfo; +import com.gamingmesh.jobs.actions.EntityActionInfo; +import com.gamingmesh.jobs.actions.ExploreActionInfo; +import com.gamingmesh.jobs.actions.ItemActionInfo; +import com.gamingmesh.jobs.actions.ItemNameActionInfo; +import com.gamingmesh.jobs.actions.PotionItemActionInfo; +import com.gamingmesh.jobs.api.JobsChunkChangeEvent; +import com.gamingmesh.jobs.container.ActionType; +import com.gamingmesh.jobs.container.ExploreRespond; +import com.gamingmesh.jobs.container.FastPayment; +import com.gamingmesh.jobs.container.JobItems; +import com.gamingmesh.jobs.container.JobProgression; +import com.gamingmesh.jobs.container.JobsPlayer; +import com.gamingmesh.jobs.container.blockOwnerShip.BlockOwnerShip; +import com.gamingmesh.jobs.container.blockOwnerShip.BlockOwnerShip.ownershipFeedback; +import com.gamingmesh.jobs.hooks.HookManager; +import com.gamingmesh.jobs.hooks.JobsHook; +import com.gamingmesh.jobs.stuff.Util; +import com.gmail.nossr50.config.experience.ExperienceConfig; +import com.gmail.nossr50.datatypes.player.McMMOPlayer; +import com.gmail.nossr50.util.player.UserManager; +import com.google.common.base.Objects; +import com.google.common.cache.Cache; +import com.google.common.cache.CacheBuilder; + +import net.Zrips.CMILib.CMILib; +import net.Zrips.CMILib.ActionBar.CMIActionBar; +import net.Zrips.CMILib.Colors.CMIChatColor; +import net.Zrips.CMILib.Entities.CMIEntityType; +import net.Zrips.CMILib.Items.CMIItemStack; +import net.Zrips.CMILib.Items.CMIMaterial; +import net.Zrips.CMILib.Items.ItemManager; +import net.Zrips.CMILib.Version.Version; public final class JobsPaymentListener implements Listener { @@ -100,13 +131,13 @@ public final class JobsPaymentListener implements Listener { private final String blockMetadata = "BlockOwner"; private final Cache<UUID, Double> damageDealtByPlayers = CacheBuilder.newBuilder() - .expireAfterWrite(5, TimeUnit.MINUTES) - .weakKeys() - .build(); + .expireAfterWrite(5, TimeUnit.MINUTES) + .weakKeys() + .build(); private final Cache<UUID, Entity> punchedEndCrystals = CacheBuilder.newBuilder() - .expireAfterWrite(10, TimeUnit.SECONDS) - .weakKeys() - .build(); + .expireAfterWrite(10, TimeUnit.SECONDS) + .weakKeys() + .build(); private Cache<UUID, Long> cowMilkingTimer; public JobsPaymentListener(Jobs plugin) { @@ -114,9 +145,9 @@ public final class JobsPaymentListener implements Listener { if (Jobs.getGCManager().CowMilkingTimer > 0) { cowMilkingTimer = CacheBuilder.newBuilder() - .expireAfterWrite(Jobs.getGCManager().CowMilkingTimer, TimeUnit.MILLISECONDS) - .weakKeys() - .build(); + .expireAfterWrite(Jobs.getGCManager().CowMilkingTimer, TimeUnit.MILLISECONDS) + .weakKeys() + .build(); } } @@ -176,7 +207,7 @@ public final class JobsPaymentListener implements Listener { if (resultStack.hasItemMeta() && resultStack.getItemMeta().hasDisplayName()) { Jobs.action(jPlayer, new ItemNameActionInfo(CMIChatColor.stripColor(plugin - .getComplement().getDisplayName(resultStack.getItemMeta())), ActionType.VTRADE)); + .getComplement().getDisplayName(resultStack.getItemMeta())), ActionType.VTRADE)); } else if (currentItem != null) { Jobs.action(jPlayer, new ItemActionInfo(currentItem, ActionType.VTRADE)); } @@ -199,7 +230,7 @@ public final class JobsPaymentListener implements Listener { newItemsCount--; if (resultStack.hasItemMeta() && resultStack.getItemMeta().hasDisplayName()) Jobs.action(jPlayer, new ItemNameActionInfo(CMIChatColor.stripColor(plugin - .getComplement().getDisplayName(resultStack.getItemMeta())), ActionType.VTRADE)); + .getComplement().getDisplayName(resultStack.getItemMeta())), ActionType.VTRADE)); else Jobs.action(jPlayer, new ItemActionInfo(resultStack, ActionType.VTRADE)); } @@ -216,7 +247,7 @@ public final class JobsPaymentListener implements Listener { Player player = event.getPlayer(); - ItemStack itemInHand = Util.getItemInMainHand(player); + ItemStack itemInHand = CMIItemStack.getItemInMainHand(player); if (itemInHand.getType() != Material.BUCKET && itemInHand.getType() != Material.BOWL) { return; } @@ -399,7 +430,7 @@ public final class JobsPaymentListener implements Listener { // Protection for block break with silktouch if (Jobs.getGCManager().useSilkTouchProtection) { - ItemStack item = Util.getItemInMainHand(player); + ItemStack item = CMIItemStack.getItemInMainHand(player); if (item.getType() != Material.AIR && Jobs.getBpManager().isInBp(block)) { for (Enchantment one : item.getEnchantments().keySet()) { @@ -438,7 +469,7 @@ public final class JobsPaymentListener implements Listener { return; if (Version.isCurrentEqualOrLower(Version.v1_12_R1) - && ItemManager.getItem(event.getItemInHand()).isSimilar(CMIMaterial.BONE_MEAL.newCMIItemStack())) + && CMILib.getInstance().getItemManager().getItem(event.getItemInHand()).isSimilar(CMIMaterial.BONE_MEAL.newCMIItemStack())) return; Player player = event.getPlayer(); @@ -696,7 +727,7 @@ public final class JobsPaymentListener implements Listener { Jobs.action(jPlayer, new PotionItemActionInfo(currentItem, ActionType.CRAFT, potion.getBasePotionData().getType())); } else if (resultStack.hasItemMeta() && resultStack.getItemMeta().hasDisplayName()) { Jobs.action(jPlayer, new ItemNameActionInfo(CMIChatColor.stripColor(plugin - .getComplement().getDisplayName(resultStack.getItemMeta())), ActionType.CRAFT)); + .getComplement().getDisplayName(resultStack.getItemMeta())), ActionType.CRAFT)); } else if (currentItem != null) { Jobs.action(jPlayer, new ItemActionInfo(currentItem, ActionType.CRAFT)); } @@ -723,7 +754,7 @@ public final class JobsPaymentListener implements Listener { if (resultItemMeta != null && resultItemMeta.hasDisplayName()) Jobs.action(jPlayer, new ItemNameActionInfo(CMIChatColor.stripColor(plugin - .getComplement().getDisplayName(resultItemMeta)), ActionType.CRAFT)); + .getComplement().getDisplayName(resultItemMeta)), ActionType.CRAFT)); else Jobs.action(jPlayer, new ItemActionInfo(resultStack, ActionType.CRAFT)); } @@ -1140,7 +1171,8 @@ public final class JobsPaymentListener implements Listener { try { // So lets remove meta in case some plugin removes entity in wrong way. lVictim.removeMetadata(Jobs.getPlayerManager().getMobSpawnerMetadata(), plugin); - } catch (Exception ignored) { } + } catch (Exception ignored) { + } return; } @@ -1155,7 +1187,7 @@ public final class JobsPaymentListener implements Listener { damageDealtByPlayers.invalidate(lVictimUUID); if (perc < Jobs.getGCManager().MonsterDamagePercentage) - return; + return; } } @@ -1332,7 +1364,7 @@ public final class JobsPaymentListener implements Listener { continue; Player p = (Player) one; - if (!Util.getItemInMainHand(p).getType().toString().equalsIgnoreCase("ARMOR_STAND")) + if (!CMIItemStack.getItemInMainHand(p).getType().toString().equalsIgnoreCase("ARMOR_STAND")) continue; double d = p.getLocation().distance(loc); @@ -1477,7 +1509,7 @@ public final class JobsPaymentListener implements Listener { if (Jobs.getGCManager().disablePaymentIfRiding && player.isInsideVehicle()) return; - Jobs.action(Jobs.getPlayerManager().getJobsPlayer(player), new ItemActionInfo(Util.getItemInMainHand(player), ActionType.EAT)); + Jobs.action(Jobs.getPlayerManager().getJobsPlayer(player), new ItemActionInfo(CMIItemStack.getItemInMainHand(player), ActionType.EAT)); } @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) @@ -1558,7 +1590,7 @@ public final class JobsPaymentListener implements Listener { CMIMaterial cmat = CMIMaterial.get(block); JobsPlayer jPlayer = Jobs.getPlayerManager().getJobsPlayer(p); - Material hand = Util.getItemInMainHand(p).getType(); + Material hand = CMIItemStack.getItemInMainHand(p).getType(); if (event.useInteractedBlock() != org.bukkit.event.Event.Result.DENY && event.getAction() == Action.RIGHT_CLICK_BLOCK && jPlayer != null && !p.isSneaking()) { @@ -1616,9 +1648,9 @@ public final class JobsPaymentListener implements Listener { report = true; if (report) - ActionBarManager.send(p, Jobs.getLanguage().getMessage("general.error.noRegistration", "[block]", name)); + CMIActionBar.send(p, Jobs.getLanguage().getMessage("general.error.noRegistration", "[block]", name)); } else if (done == ownershipFeedback.newReg && jPlayer != null) { - ActionBarManager.send(p, Jobs.getLanguage().getMessage("general.error.newRegistration", "[block]", name, + CMIActionBar.send(p, Jobs.getLanguage().getMessage("general.error.newRegistration", "[block]", name, "[current]", blockOwner.getTotal(jPlayer.getUniqueId()), "[max]", jPlayer.getMaxOwnerShipAllowed(blockOwner.getType()) == 0 ? "-" : jPlayer.getMaxOwnerShipAllowed(blockOwner.getType()))); } @@ -1630,14 +1662,14 @@ public final class JobsPaymentListener implements Listener { // Prevent item durability loss if (!Jobs.getGCManager().payItemDurabilityLoss && hand.getMaxDurability() - - Util.getDurability(Util.getItemInMainHand(p)) != hand.getMaxDurability()) + - Util.getDurability(CMIItemStack.getItemInMainHand(p)) != hand.getMaxDurability()) return; - // either it's version 1.13+ and we're trying to strip a normal log like oak, - // or it's 1.16+ and we're trying to strip a fungi like warped stem - if ((Version.isCurrentEqualOrHigher(Version.v1_13_R1) && (block.getType().toString().endsWith("_LOG") || block.getType().toString().endsWith("_WOOD"))) || - (Version.isCurrentEqualOrHigher(Version.v1_16_R1) && (block.getType().toString().endsWith("_STEM") || block.getType().toString().endsWith("_HYPHAE")))) - Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, () -> Jobs.action(jPlayer, new BlockActionInfo(block, ActionType.STRIPLOGS), block), 1); + // either it's version 1.13+ and we're trying to strip a normal log like oak, + // or it's 1.16+ and we're trying to strip a fungi like warped stem + if ((Version.isCurrentEqualOrHigher(Version.v1_13_R1) && (block.getType().toString().endsWith("_LOG") || block.getType().toString().endsWith("_WOOD"))) || + (Version.isCurrentEqualOrHigher(Version.v1_16_R1) && (block.getType().toString().endsWith("_STEM") || block.getType().toString().endsWith("_HYPHAE")))) + Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, () -> Jobs.action(jPlayer, new BlockActionInfo(block, ActionType.STRIPLOGS), block), 1); } } @@ -1707,7 +1739,7 @@ public final class JobsPaymentListener implements Listener { if (Jobs.getGCManager().payItemDurabilityLoss) return true; - ItemStack hand = Util.getItemInMainHand(p); + ItemStack hand = CMIItemStack.getItemInMainHand(p); java.util.Map<Enchantment, Integer> got = Jobs.getGCManager().whiteListedItems.get(CMIMaterial.get(hand)); if (got == null) diff --git a/src/main/java/com/gamingmesh/jobs/stuff/CMIScoreboardManager.java b/src/main/java/com/gamingmesh/jobs/stuff/CMIScoreboardManager.java index fcb98094..ad1f51af 100644 --- a/src/main/java/com/gamingmesh/jobs/stuff/CMIScoreboardManager.java +++ b/src/main/java/com/gamingmesh/jobs/stuff/CMIScoreboardManager.java @@ -13,11 +13,12 @@ import org.bukkit.scoreboard.DisplaySlot; import org.bukkit.scoreboard.Objective; import com.gamingmesh.jobs.Jobs; -import com.gamingmesh.jobs.CMILib.CMIChatColor; -import com.gamingmesh.jobs.CMILib.CMIReflections; -import com.gamingmesh.jobs.CMILib.Version; import com.gamingmesh.jobs.container.ScoreboardInfo; +import net.Zrips.CMILib.CMILib; +import net.Zrips.CMILib.Colors.CMIChatColor; +import net.Zrips.CMILib.Version.Version; + public class CMIScoreboardManager { private java.util.concurrent.ConcurrentMap<UUID, ScoreboardInfo> timerMap = new ConcurrentHashMap<>(); @@ -155,7 +156,7 @@ public class CMIScoreboardManager { } private static Class<?> getNMSClass(String nmsClassString) throws ClassNotFoundException { - return CMIReflections.getMinecraftClass(nmsClassString); + return CMILib.getInstance().getReflectionManager().getMinecraftClass(nmsClassString); } private static Object getConnection(Player player) throws Exception { diff --git a/src/main/java/com/gamingmesh/jobs/stuff/Debug.java b/src/main/java/com/gamingmesh/jobs/stuff/Debug.java deleted file mode 100644 index 79f0d903..00000000 --- a/src/main/java/com/gamingmesh/jobs/stuff/Debug.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.gamingmesh.jobs.stuff; - -import org.bukkit.Bukkit; -import org.bukkit.ChatColor; -import org.bukkit.entity.Player; - -public class Debug { - public static void D(Object... message) { - Player player = Bukkit.getPlayer("Zrips"); - if (player == null || !player.isOnline()) - return; - - String FullMessage = ""; - int i = 1; - ChatColor cl = ChatColor.GRAY; - for (Object one : message) { - i++; - if (i >= 2) { - i = 0; - if (cl == ChatColor.GRAY) - cl = ChatColor.WHITE; - else - cl = ChatColor.GRAY; - FullMessage += cl; - } - FullMessage += String.valueOf(one) + " "; - } - player.sendMessage(ChatColor.DARK_GRAY + "[CMID] " + ChatColor.DARK_AQUA + FullMessage); - } -} diff --git a/src/main/java/com/gamingmesh/jobs/stuff/GiveItem.java b/src/main/java/com/gamingmesh/jobs/stuff/GiveItem.java index 5db9267f..7a8bf7b1 100644 --- a/src/main/java/com/gamingmesh/jobs/stuff/GiveItem.java +++ b/src/main/java/com/gamingmesh/jobs/stuff/GiveItem.java @@ -10,8 +10,8 @@ import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.EnchantmentStorageMeta; import org.bukkit.inventory.meta.ItemMeta; -import com.gamingmesh.jobs.CMILib.CMIChatColor; -import com.gamingmesh.jobs.CMILib.CMIMaterial; +import net.Zrips.CMILib.Colors.CMIChatColor; +import net.Zrips.CMILib.Items.CMIMaterial; public class GiveItem { diff --git a/src/main/java/com/gamingmesh/jobs/stuff/PageInfo.java b/src/main/java/com/gamingmesh/jobs/stuff/PageInfo.java deleted file mode 100644 index c51932ff..00000000 --- a/src/main/java/com/gamingmesh/jobs/stuff/PageInfo.java +++ /dev/null @@ -1,98 +0,0 @@ -package com.gamingmesh.jobs.stuff; - -public class PageInfo { - - private int totalEntries = 0, - totalPages = 0, - start = 0, - end = 0, - currentPage = 0, - currentEntry = 0, - perPage = 6; - - public PageInfo(int perPage, int totalEntries, int currentPage) { - this.perPage = perPage; - this.totalEntries = totalEntries; - this.currentPage = currentPage < 1 ? 1 : currentPage; - - calculate(); - } - - public int getPositionForOutput() { - return currentEntry; - } - - public int getPositionForOutput(int place) { - return start + place + 1; - } - - private void calculate() { - start = (currentPage - 1) * perPage; - end = start + perPage - 1; - - if (end + 1 > totalEntries) - end = totalEntries - 1; - - totalPages = (int) Math.ceil((double) totalEntries / (double) perPage); - } - - public boolean isInRange(int place) { - return place >= start && place <= end; - } - - public boolean isEntryOk() { - currentEntry++; - return isContinueNoAdd(); - } - - public boolean isContinue() { - return !isEntryOk(); - } - - public boolean isContinueNoAdd() { - int entry = currentEntry - 1; - return entry >= start && entry <= end; - } - - public boolean isBreak() { - return currentEntry - 1 > end; - } - - public boolean isPageOk() { - return isPageOk(currentPage); - } - - public boolean isPageOk(int page) { - return (totalPages < page || page < 1) ? false : true; - } - - public int getStart() { - return start; - } - - public int getEnd() { - return end; - } - - public int getTotalPages() { - return totalPages; - } - - public int getCurrentPage() { - return currentPage; - } - - public int getTotalEntries() { - return totalEntries; - } - - public int getNextPageNumber() { - int page = currentPage + 1; - return page > totalPages ? totalPages : page; - } - - public int getPrevPageNumber() { - int prev = currentPage - 1; - return prev < 1 ? 1 : prev; - } -} diff --git a/src/main/java/com/gamingmesh/jobs/stuff/Util.java b/src/main/java/com/gamingmesh/jobs/stuff/Util.java index 5c199937..67a86f6c 100644 --- a/src/main/java/com/gamingmesh/jobs/stuff/Util.java +++ b/src/main/java/com/gamingmesh/jobs/stuff/Util.java @@ -34,10 +34,11 @@ import org.bukkit.potion.PotionType; import org.bukkit.util.BlockIterator; import com.gamingmesh.jobs.Jobs; -import com.gamingmesh.jobs.CMILib.CMIMaterial; -import com.gamingmesh.jobs.CMILib.Version; import com.gamingmesh.jobs.container.JobsWorld; +import net.Zrips.CMILib.Items.CMIMaterial; +import net.Zrips.CMILib.Version.Version; + public class Util { private static Map<UUID, String> jobsEditorMap = new HashMap<>(), questsEditorMap = new HashMap<>(); @@ -125,19 +126,6 @@ public class Util { } } - public static ItemStack getItemInMainHand(Player player) { - if (Version.isCurrentHigher(Version.v1_8_R3)) - return player.getInventory().getItemInMainHand(); - return player.getItemInHand(); - } - - public static void setItemInMainHand(Player player, ItemStack item) { - if (Version.isCurrentHigher(Version.v1_8_R3)) - player.getInventory().setItemInMainHand(item); - else - player.setItemInHand(item); - } - @SuppressWarnings("deprecation") public static ItemStack getSkull(String skullOwner) { ItemStack item = CMIMaterial.PLAYER_HEAD.newItemStack(); @@ -181,11 +169,6 @@ public class Util { return null; } - public static String firstToUpperCase(String name) { - name = name.toLowerCase().replace('_', ' '); - return name.substring(0, 1).toUpperCase() + name.substring(1); - } - public static Map<UUID, String> getJobsEditorMap() { return jobsEditorMap; } diff --git a/src/main/java/com/gamingmesh/jobs/CMILib/VersionChecker.java b/src/main/java/com/gamingmesh/jobs/stuff/VersionChecker.java similarity index 95% rename from src/main/java/com/gamingmesh/jobs/CMILib/VersionChecker.java rename to src/main/java/com/gamingmesh/jobs/stuff/VersionChecker.java index 76615fdd..22e8cf3a 100644 --- a/src/main/java/com/gamingmesh/jobs/CMILib/VersionChecker.java +++ b/src/main/java/com/gamingmesh/jobs/stuff/VersionChecker.java @@ -1,4 +1,4 @@ -package com.gamingmesh.jobs.CMILib; +package com.gamingmesh.jobs.stuff; import java.io.BufferedReader; import java.io.InputStreamReader; diff --git a/src/main/java/com/gamingmesh/jobs/stuff/complement/Complement.java b/src/main/java/com/gamingmesh/jobs/stuff/complement/Complement.java index 828b2520..02359a15 100644 --- a/src/main/java/com/gamingmesh/jobs/stuff/complement/Complement.java +++ b/src/main/java/com/gamingmesh/jobs/stuff/complement/Complement.java @@ -9,7 +9,7 @@ import org.bukkit.event.block.SignChangeEvent; import org.bukkit.inventory.InventoryHolder; import org.bukkit.inventory.meta.ItemMeta; -import com.gamingmesh.jobs.CMILib.CMIChatColor; +import net.Zrips.CMILib.Colors.CMIChatColor; public interface Complement { diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 8c395114..61f83d8d 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -5,6 +5,7 @@ version: ${project.version} api-version: "1.13" website: https://www.spigotmc.org/resources/4216/ authors: [Zrips, montlikadani] +depend: [CMILib] softdepend: [Vault, Essentials, MythicMobs, McMMO, mcMMO, WorldGuard, MyPet, PlaceholderAPI, EcoEnchants] commands: jobs: